Jason McAffee

JasonMcAffeeJason McAffee

Software engineer.
AI enthusiast. Musician.

Begin the survey

I build the whole thing.

My name is Jason McAffee, and I’m a software engineer and an AI enthusiast who likes building the whole stack rather than a layer of it.

That means the synthesizer and the DSP inside it, the agent that drives the interface and the adapter trained into the model behind it, and the video it renders along with the song playing over it.

All of it runs on one machine under a desk, including the models, the renders, the training runs, and the page you’re reading.

Visit the studio
1machine
Every model, render and page served from one desktop
29local services
Supervised side by side on that same box
45+DSP nodes
Built into every Chordical oscillator chain
0cloud inference
The demos below never leave the building

Things that run.

Four demonstrations, each one recorded off the machine that built it. Every model here is open weights and running locally, so nothing below makes a call to anybody’s cloud.

01

Chordical

A synthesizer that thinks in chords.

It’s a VST3 synthesizer and effects processor written from scratch in C++ on JUCE, and the front end is an infinite canvas. Every oscillator carries its own effect chain, so you can right-click anywhere, drop in another of the 45+ nodes, and wire them however you like. Any knob on any node can be modulated, so draw your own LFO shape, connect it to fine tune, then connect that same shape to five more knobs. There’s a chord engine that knows the theory, a pattern arpeggiator that plays out to any track in your DAW, and a warp engine that morphs waveforms per oscillator. In the demo, the voice you’re hearing is running live through Chordical’s own compressor, EQ, three-band splitter and limiter.

  • C++
  • JUCE 8
  • VST3
  • Real-time DSP
  • Infinite canvas
chordical.com
02

Voice-driven studio agent

Ask for it out loud, and the studio goes and builds it.

A local agent holding roughly forty tools over the studio’s own interface. In this demo it’s asked out loud for a photograph of a woman on a beach holding a glass bottle with a word written across it, then to turn the water crystal blue and the clouds sunset gold, then to replace the background entirely with a forest it describes and prompts for itself, and finally to turn the still into a talking video. It’s driving the real UI the whole way through, clicking, filling, navigating, waiting on renders, etc.

  • Speech to text
  • Tool calling
  • Local LLM
  • Image + video generation
03

Self-hosted assistant

It listens, it searches, and it answers in a voice I cloned.

llama.cpp for the model, Whisper for speech-to-text, and Chatterbox for the voice, all of it open source and all of it running locally. It’s name-activated, so it wakes on hearing "Sierra" and transcribes from there. Ask it what’s happening on CNN and it goes and reads the live page before it answers. IndexTTS2 came out ahead on raw voice quality, but it wanted far more VRAM than the difference was worth, so Chatterbox won the trade and shipped.

  • llama.cpp
  • Whisper
  • Chatterbox TTS
  • Voice cloning
  • Web search
04

Video to video

Your movement, someone else’s frame.

A source video drives a reference image. Canny edge detection pulls the outlines out of the footage, an IC-LoRA control adapter teaches LTX 2.3 to read those outlines, and the reference image then moves with them, mouth, expression, hands, etc. The reference frame is itself an edit of the video’s own first frame, made locally with Flux Klein 9B, because the closer the two start out the better the motion transfers. Stylized or photoreal, and fast enough to iterate on.

  • LTX 2.3
  • Canny control
  • IC-LoRA
  • Flux Klein 9B
  • ComfyUI

I write these up while it’s still fresh.

All articles

Two of them are on the App Store.

Both are written in React Native, both are free, and both do their work on the phone rather than on someone else’s server.

01

YogaJhana

A meditation timer built for keeping a practice, not starting one.

Set a length, pick an interval chime, and sit. YogaJhana keeps the timer out of the way, so you get a plain countdown, a bell when attention needs calling back, and ambient sound underneath it if you want that. What makes it worth reopening is what happens afterwards, which is that you rate the session, write a note, and watch the record build up over months. Every session stays on the device, and there’s no account, no sync, and nothing to switch off. It’s free, and free of advertising.

Store
Health & Fitness
Price
Free
Since
Nov 2022
Version
8
  • React Native
  • iOS
  • Local-only data
  • Ad free
View on the App Store
  • YogaJhana meditation timer counting a session
  • YogaJhana session history and ratings
  • YogaJhana session notes and settings
02

Chordical: Guitar Tuner

Tune by eye as well as by ear, because the note arrives as a field of light.

Pluck a string and the tone blooms into a real-time 3D visualizer you can orbit with a finger, while a needle and a cents readout tell you exactly how far off you are. Pitch detection is a native YIN implementation, so it locks on fast and holds steady on a low E as readily as it does on a ukulele A. The meter runs red to amber to green as you close in, input sensitivity is adjustable for a loud room, and it all gets processed on the phone, so there’s no recording and nothing is uploaded.

Store
Music
Price
Free
Since
Jul 2026
Engine
Native YIN
  • React Native
  • iOS
  • Native DSP
  • On-device audio
View on the App Store
  • Chordical tuner locked onto a low E with the 3D visualiser running
  • Chordical tuner settings and input sensitivity
  • Chordical tuner showing a D note in tune

Guitar, voice, and whatever the synth is doing that week.

Three singles are on Spotify, and two more live on YouTube, including a cover of At The Door. I’ve always liked how that song is stripped of drums, and it works with just a guitar and a voice.

Listen on Spotify
  • I Never Get Too Far

    Original. Written, played and recorded at home.

  • At The Door

    A cover of The Strokes. I’ve always liked how that song is stripped of drums, and it works with just a guitar and a voice.