Focusify
Know where your time goes. Speak it or type it — AI turns your day into a clean, categorized timeline.
Inspiration
Time is the one resource you can't get back, yet most of us have no real sense of where it goes. We'd finish a day "feeling busy" but unable to say what we actually did with it. Seeing where your time goes is the first step to taking it back — but every tracker we tried made logging the chore: Clockify leans on manual timers (wasting the time you're trying to save), Timely doesn't track on your phone, and Timing is slow on iOS.
So we flipped the problem: instead of making people fight a stopwatch, what if you could just say what you did and let an AI agent organize it? Capture as much of your time as possible, any way possible — voice, text, or (eventually) automatic background monitoring.
What it does
- Capture by voice or text — say "from 9 to 11 I worked on the API, then took a break," or type it.
- AI parsing — Claude turns messy natural language into structured time blocks with real start/end times.
- Automatic categorization — every activity is sorted into Work, Communication, Learning, Entertainment, or Break — no manual tagging.
- Hour-by-hour visualization — a clean, color-coded timeline, a weekly History view, and an Apps & Websites breakdown.
- Accounts, light/dark mode, and a polished branded UI.
How we built it
A full-stack app split across four focused tracks, integrated through a shared API contract:
- Speech-to-text: Deepgram transcribes recorded audio.
- AI agent: the Anthropic (Claude) API converts a transcript into categorized, time-stamped blocks — with a fast offline heuristic parser as a fallback.
- Frontend: Angular — dashboard, timeline, history, settings, dark mode.
- Backend: Node.js + Express, with Redis for storage (graceful in-memory fallback) and JWT auth.
and the day's total tracked time is simply $T = \sum_h d_h$ — the number rendered at the top of your dashboard.
Challenges we ran into
- Limited time — scoping an ambitious "track time any way possible" vision down to a working MVP.
- Privacy & permissions — native background monitoring on Mac/iOS needs heavy OS entitlements, so we shipped the AI capture methods first.
- Natural-language time parsing — "an hour," "until 9 pm," overnight spans, and shared AM/PM across ranges were all deceptively hard.
- Integration friction — merging four parallel branches meant rebases and conflicts (including one half-merged feature that briefly broke
main); a written API contract and smaller PRs kept us unblocked.
What we learned
- AI is a feature, not the whole product. The magic lived in the glue — good prompts, structured outputs, and graceful fallbacks — not the model alone.
- Contracts beat coordination. A shared API contract saved more time than constant syncing.
- Integrate early and often. Small, frequent PRs hurt far less than one giant end-of-hackathon merge.
- Design carries the demo. A consistent theme and thoughtful UX made the same features feel dramatically more compelling.
What's next for Focusify
- Background monitoring of Mac & iOS usage — auto-capture apps and sites, no logging required.
- Integrations — calendar, Strava, Apple Health.
- Import a schedule from an image as another capture method.
- App blocking during focus hours.
- Personalized AI categories that learn what "productive" means for you.
Built With
- angular.js
- anthropic-claude
- css
- deepgram
- express.js
- html
- jwt
- node.js
- redis
- rxjs
- scss
- typescript
Log in or sign up for Devpost to join the conversation.