Inspiration
Every "smart" health tracker assumes you're willing to buy a wearable first — a real cost barrier for a lot of people. We wondered if a regular laptop camera could do the same job, since skin actually changes color slightly with every heartbeat (rPPG). Once that worked, it felt natural to build an AI companion around it instead of just another number on a screen.
What it does
Vitaless reads your pulse and breathing through your webcam and turns that into a live wellness picture — heart rate, stress, focus, energy — updating continuously. Sage, the AI companion, talks to you about it using your actual numbers, and can walk you through a guided breathing routine whose pacing visibly slows or speeds up based on how you're really doing. Everything's logged over time into a real trends view, and you can optionally make an account to keep your chat history and preferences.
How we built it
One Next.js app handles both frontend and backend. A webcam clip goes to Presage's Physiology API for heart rate, respiration, and HRV; Gemini turns that reading into something Sage can say; ElevenLabs narrates it aloud; Tiger Data (TimescaleDB) stores every sample as a real time-series hypertable; MongoDB backs optional accounts.
$$ \text{stress} = \operatorname{clamp}{[0,1]}!\left(1 - \frac{\mathrm{HRV}{ms} - 20}{80}\right) $$
Challenges we ran into
Presage has no public docs for their real API, so we pulled their official Python package off PyPI and read the source to find the actual upload flow. Our webcam loop did not work many times, and it took a lot of updates to our repository to finally get it up and running. After it was working, it continued to run despite clicking off the tracker tab, which overloaded the site's memory and greatly slowed down site speeds. A Postgres library update also quietly broke our database connection over an SSL default changing. And the Fitbit Web API we were half-planning to use to gain more accurate data was way too complex to implement with the time frame we were given.
Accomplishments that we're proud of
Getting a genuinely undocumented sponsor API working end-to-end. We're just as proud of fixing all of the bugs that popped up with integrating the camera into our server/domain — every number Vitaless shows is a number Presage actually measured, or nothing at all (no fake data). We also caught a real memory leak from the camera running in the background on tabs that didn't need it, and fixed it, which allowed our site to run a lot smoother. We are proud of how our project came out. Although there is a lot of room for improvement, we think that we did a good job for our first-ever hackathon.
What we learned
Attending a hackathon for the first time, we were honestly pretty lost at the start. Actually building everything, both front and back end, step by step really helped us visualize what it's like to build websites, etc. None of us really had a clear picture of how object-oriented building really worked, and this was a great experience that taught us a lot. We also learned that building things, even with the help of AI, comes with a lot of trial and error. Nothing can be rushed, and nothing comes out perfect the first time around. It's important to keep trying to find improvements
What's next for Vitaless
Filling in the vitals Presage doesn't cover — sleep and blood oxygen — through Google's Health API and a connected Fitbit, holding to the same no-fabrication rule. We'd also want to calibrate the stress formulas against real people instead of a rough heuristic, and add the deployment polish that turns a hackathon demo into something people would keep open all day. We really strive to improve this project even beyond VTHacks and really shape it into something that people will use in their daily lives.
Log in or sign up for Devpost to join the conversation.