You recompile your code. Never yourself.

[ RECOMPILE IS LISTENING ]
[ BUILT AT HACK THE 6IX 2026 · A BACKGROUND AGENT FOR DEVELOPER WELLNESS ]

recompile waits for the commit.hears your pulse rise.guards deep work.books the break.

It watches your vitals through the webcam and your work through the commits, fuses both into one honest load score — and only ever speaks at a natural boundary.

[ PRESAGE SMARTSPECTRA ] · [ BACKBOARD.IO ] · [ ELEVENLABS ] · [ AUTH0 ] · [ MONGODB ATLAS ] · [ GOOGLE CALENDAR ] · [ ELECTRON ] · [ GEMINI ROUTING ] ·
64[ BPM ]
15.4[ BR / MIN ]
47[ HRV MS ]
[ 001 · SENSE ] [ EVERY NUMBER REAL ]

It reads the instruments you ignore.

Your webcam becomes a contactless vitals monitor — pulse, breathing, HRV — through Presage SmartSpectra. Consented stream by stream, processed locally. Raw video is never stored.

[ LOAD ]82[ CRITICAL ]
[ SENSOR ]04:12:12

pulse +11 over baseline · 3h 41m without a boundary

[ ANALYST ]04:12:13

same curve as last Tuesday — the one that ended at 1am

[ VOICE COACH ]04:12:14

drafting: one sentence, direct, zero guilt

[ CONCIERGE ]04:12:15

already lining up the recovery — a nearby park, the weather

[ VERDICT — INTERVENE ]
[ 002 · REASON ] [ BACKBOARD — ONE SHARED MEMORY ]

The agents argue about one developer.

A Sensor digests your telemetry, an Analyst reasons over days of memory through Gemini, a Voice Coach chooses the words, and a Concierge lines up the recovery — while a Companion takes your spoken commands. Five role-threads, one shared memory graph, one load score.

~/dev/recompile
$ git commit -m "fix: the race, finally"
[ THE BOUNDARY ]
[ NUDGE HELD — 38 MIN ]
[ 003 · WAIT ] [ HOLDING — 38 MINUTES AND COUNTING ]

Then it waits for the boundary.

A nudge never lands mid-thought. It holds — tray dot breathing — until a commit, a merged PR, or a green test run says the thought is finished. Step away on your own and it says nothing at all.

Good boundary. Step away — the work will keep.

[ APPROVED — ONE TAP ][ UNDOABLE FOR 5 MINUTES — NEVER BOOKED ON ITS OWN ]
[ 004 · ACT ] [ COMMIT → NUDGE → CALENDAR ]

And then it acts in the real world.

Sustained risk earns more than advice: a recovery block, written onto your actual Google Calendar with one tap of approval. Undoable for five minutes. Never booked on its own.

[ NEXT — THE PRODUCT, UP CLOSE ]

Six instruments. One argument: step away on time.

[ THE PRODUCT, UP CLOSE ][ SCROLL — EACH INSTRUMENT ANSWERS ]
[ 001 ]

One honest number.

α·task + β·switching + γ·duration + δ·vitals, fused into a single load score. When the camera isn't confident, the weights redistribute — and the gauge says so instead of pretending.

[ COGNITIVE LOAD — GRADED, NEVER GAMED ]
[ 002 ]

A ring only rest can fill.

Load accrues rest debt; only real breaks pay it down — and a break taken at a boundary pays half again as much. The ring doesn't negotiate.

[ REST DEBT · BREAKS · MOOD ]
[ 003 ]

Your day, drawn in hairlines.

Sessions, commits, context switches, recovered minutes — one honest calendar that shows the shape of the day instead of scoring a streak.

[ SESSIONS · COMMITS · BREAKS ]
[ 004 ]

A check-in you can see.

When the day runs hot enough, Recompile speaks — and listens. The waveform on screen is the actual audio, stick by stick, not a decoration.

[ ELEVENLABS IN · ELEVENLABS OUT ]
[ 005 ]

Deep work, defended.

When flow is real — steady input, no switching, calm pulse — the shield seals: notifications held, nudges silenced. It dissolves the moment you commit.

[ FLOW SHIELD — DISSOLVES AT THE BOUNDARY ]
00[ SPONSOR APIS · ONE PIPELINE ]
00[ ROLE THREADS · ONE MEMORY ]
<0s[ COMMIT → BOUNDARY → NUDGE ]
0[ RAW FRAMES EVER STORED ]

You watch your tests, your types, your diffs — Recompile watches the only runtime you can't restart.

[ THE QUESTIONS WORTH ASKING ]

Why now?

Because the pauses are gone. Compile waits, doc lookups, the walk to a whiteboard — they were never breaks, but they worked like breaks. AI pair programmers erased them, and what's left is a flow state with no exits: hours that feel productive right up until they aren't.

We built Recompile because the tools that created this problem aren't going to solve it. Something has to sit outside the editor, watch the whole day, and know the difference between momentum and freefall.

Why not a break timer?

A timer knows one thing: that time passed. It doesn't know you're forty minutes into finally understanding the bug, and it doesn't know your pulse has been ten beats above baseline since lunch. So it interrupts exactly wrong, gets muted by Wednesday, and uninstalled by Friday.

Recompile earns interruptions. It fuses real vitals with real telemetry — commits, context switches, session shape — and then holds every nudge until a natural boundary: the commit, the merge, the green run. Interrupting at a boundary isn't an interruption. It's punctuation.

Why a desktop app, not another extension?

Because burnout doesn't happen inside VS Code. An extension sleeps when the editor closes — which is precisely when the story gets interesting. Recompile is a background process with a tray icon: sensing, scoring, and scheduling continue whether the dashboard is open, the editor is open, or neither is.

The editor extension exists — as a thin client. It mirrors the same live state and forwards save-bursts and green test runs. It owns nothing, so closing it changes nothing.

What about privacy?

Consent is a control panel, not a checkbox. Every stream — vitals, screen activity, calendar, voice, location — has its own toggle with a visible "on since" date, and nothing senses without a signed-in, consented session. Raw video never leaves your machine because it's never stored anywhere, including on your machine.

The rule holds wherever data moves. Webcam frames are read on-device and discarded frame by frame; your location is resolved inside the background process and never sent; and every cloud call has a local fallback, so the app keeps working — and stays honest — with no network at all.