Back to Desk

Field Notes

2025–2026

Things built, and the notes taken while building them. Cameras that watch you study, GPU kernels written by hand, a poker solver you can check against the textbook, and a voice agent that answers the phone. Newest entries first.

Field work

Field work
4 entries
No. 01

Computer vision · Personal model

Caught

A desk camera that learns your bad habits and, at the end of the week, shows you the chart.

Caught runs all day on a Mac's built-in camera. It never uploads anything and never stores video. It notices when you pick up your phone, slouch, stare at your lap, chew your nails, rub your eyes, yawn, doze, fidget, eat, drink, look away or leave, and each one becomes an episode with a start, an end and a confidence. A local dashboard shows today's timeline, the week's heatmap, streaks and one uncomfortable bar chart. It does not nag.

  • Python
  • MediaPipe
  • YOLO11n
  • PyTorch (Metal)
  • FastAPI
No. 02

Systems · GPU kernels

LLM Inference Engine

Llama 3 running on Apple Silicon with no PyTorch, no MLX and no llama.cpp.

An inference engine written from scratch for Apple Silicon. It loads a GGUF model file, tokenizes with a Llama 3 byte-level BPE tokenizer, runs the transformer and generates text. The CPU reference path came first, then Metal GPU kernels compiled at runtime, so the whole thing builds with Command Line Tools alone. The target model is Llama 3.2 3B Instruct, and llama.cpp is the reference for both correctness and speed.

  • C++20
  • Metal
  • Objective-C++
  • GGUF
No. 03

Game theory · Solver

Kuhn Poker Solver

A Nash equilibrium solver whose every claim can be checked against a closed-form answer.

Counterfactual Regret Minimization applied to Kuhn poker, with an exact exploitability measurement and a dashboard for watching an equilibrium converge, playing against it, and being coached on every decision. Kuhn poker was chosen for one reason: its Nash equilibria are known in closed form, which turns every result into something checkable against ground truth rather than against a previous run.

  • TypeScript
  • Python
  • Next.js
  • CFR+
No. 04

Voice AI · Agent

AI Receptionist for Dental Clinics

A voice agent that handles the whole call, not just a script.

A patient calls in, the agent works out what they want through real-time speech recognition, checks the schedule or verifies their insurance, and books the appointment, all without it feeling like a robot reading options at you. The hard part was making it actually sound like a conversation: knowing when someone is done talking instead of just pausing, and keeping the response fast enough that there is no awkward gap.

  • Real-time speech recognition
  • Voice pipeline
  • Scheduling integration
  • Insurance verification

Earlier entries

Earlier entries
3 entries