explainer website idk why I made ts 😂: https://recompile-web.vercel.app/
What inspired me?
I'm gonna be so honest, being a CS student is hard 😢.
Always being online, this god-awful job market, ai taking our jobs, dynamic programming, and startup founders telling your they'll hire you in SF for a 30k salary to work 16 hrs per day and people defending it 😭. And if u aren't grinding, then just pack it up cuz it's over 😭.
This has really been affecting me personally, especially considering my lack of work life balance and god awful social life, and so I decided to build Recompile (which caused an all-nighter so I guess it was counter productive 😭).
What does it even do?
Most developers are one of two extremes. They either don't grind nearly enough and this job market fries them, or they work too hard and don't have any friends 😢. Recompile basically keeps us on track by making sure we're working hard, but not overdoing it and losing the best years of our life.
Your progress is represented by a cherry blossom (and a cool samurai). If you work hard, the tree grows, but if you don't rest, socialize and have fun, it dies. In order to keep it vibrant and alive, you need to adequately rest and have fun. Working hard and having fun cause the tree growing to its full size whilst also being vibrant and healthy. If you can do this, your samurai also gets some shiny armour while he rests in the shade.
basically just wanted to make the user take care of their tree, which is a direct representation of them caring for themselves
How did I build this?
This is the really cool part. Recompile is more than just a pretty frontend.
While you work, it lives passively in the dashboard and can be interacted with through a little icon beside your camera bump. Behind the scenes, this is what is happening:
Sensing (Presage)
- The Presage SmartSpectra SDK runs through your webcam, reading heart rate and breathing rate via rPPG (tiny color changes in your face that indicate biometrics surprisingly accurately).
- A calibration step during onboarding builds your personal baseline, so readings are relative to you.
- Every sensor passes through a single consent gate (your not being spied on lmao).
Cognitive Load Engine
- A weighted model fuses your vitals, context switching, coding telemetry, and time-on-task into one 0–100 "load" score.
- When the camera signal gets shaky, the weights automatically shift toward telemetry.
- Telemetry comes from everywhere: a key-free local git watcher (catches your commit in ~0.8s), your GitHub contribution history, Google Calendar, WakaTime, and VS Code save-bursts and test runs.
Multi-agent reasoning (Backboard)
- One shared-memory Backboard assistant with six role threads: sensor, analyst, voice coach, insights manager, break concierge, and voice companion. The sensor and analyst run in parallel every cycle.
- Once it has 3+ days of your history, the analyst starts routing to Gemini for deeper pattern analysis.
- Oooh and this is cool. When the agents decide you need a break, they don't interrupt you. Instead, the nudge waits for a natural stopping point (a git commit, a passing test run) and then appears. Never interrupting you if you're in the flow.
Voice
- Hold Control anywhere, anytime, and talk to Recompile. It replies out loud with ElevenLabs TTS, and the words ink onto the screen in sync with the audio.
- This voice agent has also been set up with some really cool tooling. Create/move/delete calendar events (with a 5-minute undo), summarize your Gmail, start a break, control the app, queue up Spotify, even draw you a walking-route map with a QR code so you can send it to your phone.
The rest
- Flow Shield detects when you're in deep focus and suppresses every interruption until you surface (DND while you are locked in).
- Decompile, the break companion, builds you an actual break program: live weather, nearby parks and cafés from OpenStreetMap with real Dijkstra-routed walking maps, local events, and music.
- Everything is stored in MongoDB Atlas with a local mirror, so your history and insights work even fully offline.
Challenges? (everything atp)
Where do I even start 😭.
- The Presage SDK would randomly freeze up. Took a while, but it was just the camera pipeline choking the main thread.
- The app got so damn LAGGY and I originally blamed the animations. It turned out to be one date-formatting function running nearly 700 times every time my heart beat registered (peak vibe coding 💀)
- And the art style. OMG I changed it like 4 times and wasted half a day trying to render the cherry blossom as a 3d intractable environment 😭.
Accomplishments!
- I personally think it's so beautiful 🤩 def some awesome frontend work! Really happy with the water paint aesthetic and animations.
- The full loop actually works, live: camera reads my pulse → load model says I'm fried → agents deliberate → nudge waits politely → I commit → toast on screen in under a second → gives me recommendations and helps me rest/socialize/have fun.
- I told it to "block half an hour for a walk" with my voice and it wrote a real Google Calendar event. Then I asked it to undo that change and actually deleted it.
- It never interrupts you mid-flow. It waits for a commit or a green test run — a natural stopping point — like a coworker with actual social awareness. I'm proud of that because no break timer on earth does it.
- Privacy is actual real and enforced. There's one consent gate every sensor must pass through, private data is managed locally (small local models running in background).
- Zero component libraries. The entire painterly aesthetic (the cherry blossom, the samurai, the notch companion) is hand-built canvas and SVG.
Points of Learning
- NEVER DO A HACKATHON SOLO SONION TS IS FRIED 😭
What's next?
- Downloadable (can't download of web-app rn cuz my api keys are all free-tier lmao)
- Somehow get Presage to run all-day without hogging your compute
- Team mode would be cool where teams can make sure no team member is overworked or burning out (obviously private data would be local)
- Pairing things like Apple Watch to enhance biometrics (I don't have one so couldn't)
- Windows/Linux support
Built With
- auth0
- backboard
- electron
- elevenlabs
- gemini
- githubapi
- gmailapi
- googlecalendarapi
- mongodb
- next.js
- node.js
- openstreetmap
- presage
- react
- spotifyapi
- typescript
- wakatime


Log in or sign up for Devpost to join the conversation.