Backend &
AI‑native
plumbing.

CS senior at Michigan. I build real-time voice systems, multimodal AI workflows, and the unglamorous production backends that make them work. Python, TypeScript, Go — bias toward shipping.

Ann Arbor, MI jackgaff@umich.edu github linkedin résumé
Portrait of Jack Gaffney
jack.gaffneymi · '26
§ 01

Currently running.

Building

mirage-mcp — making AI agentic coding more consistent & reliable.

github.com/jack-chaudier/mirage-mcp ↗

Reading
The Count of Monte Cristo cover art

The Count of Monte Cristo — Dumas

riveting. the dialogue sings.

Top 4 on Letterboxd
  1. 01Get Out
  2. 02Cool Hand Luke
  3. 03No Country for Old Men
  4. 04Aliens
§ 02

Work history.

§ 03

Things I've built.

— 2026 · in progress// wip

mirage-mcp

Consistency & reliability for agentic coding.

An MCP server exploring how to make LLM coding agents behave more deterministically — structured tool surfaces, tighter feedback loops, and repeatable edits so the agent gets the same answer twice.

jack-chaudier/mirage-mcp ↗
MCP TypeScript LLM agents tooling
— 2025 — 2026// live

Tether

Caregiver-controlled AI voice companion.

A Go API serving real-time WebSocket voice sessions backed by Amazon Bedrock (Nova). Post-call LLM pipelines transcribe, extract structured health insights, and surface next-call recommendations through a React admin dashboard with a prompt lab.

jackgaff/tether ↗
Go React PostgreSQL Bedrock WebSockets
— Pi Hacks, Mar 2026// multimodal

VulcanAI

Multimodal jobsite → branded PDF in <60s.

Jobsite photos (LLaMA vision) + voice intake (Deepgram) → branded daily construction reports (LLaMA 3.3). FastAPI/SQLAlchemy backend, React 19 frontend with drag-and-drop uploads and on-demand PDF export.

montben/VulcanAI ↗
Python FastAPI Deepgram LLaMA React
— 2026// voice

PGAI Voice Bot

Low-latency phone-based voice assistant.

Takes live phone calls via Twilio Media Streams, bridges bidirectional audio into Nova Sonic for turn-taking and speech, and drives an agentic loop over a product knowledge base. Same problem class as Tether, different stack, different constraints.

jack-chaudier/pgai ↗
Python Nova Sonic Twilio agent loop
— 2024 — 2025// systems

Ocean Microkernel

Memory, scheduling, and userspace from scratch.

An x86_64 microkernel with a Limine boot path, GDT/IDT setup, SYSCALL/SYSRET, a buddy allocator, 4-level paging, and slab allocation. Capability-based IPC keeps policy outside the kernel while preserving performance.

jack-chaudier/ocean-linux ↗
C11 x86_64 ASM Limine kernel
— 2024// 16ms budget

Game Engine

2D in C++17 / Lua, built to hold 60fps.

ECS-style architecture with Lua scripting hooks for fast gameplay iteration without recompiling. Careful memory layout to reduce allocation churn, sustaining 60 FPS at 10k+ entities under a strict 16ms frame budget.

jack-chaudier/fr-ocean-engine ↗
C++17 Lua SDL2 Box2D
§ 04

The stack.

Python TypeScript Go React Next.js FastAPI PostgreSQL Docker Swift Rust C++ C Lua SQL WebSockets REST LLM pipelines MCP multimodal transcription vision prompt iteration AWS Bedrock Twilio Deepgram Firebase Linux Git kernels allocators
Education · University of Michigan · B.S.E. Computer Science · May 2026 Coursework: OS · Embedded · Comp Org · AI · DS&A · Linear Algebra