Project Info

Focusify

Devpost

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

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.

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • AngularIn code
  • AnthropicIn code
  • ExpressIn code
  • HTMLIn code
  • JavaScriptIn code
  • RedisIn code
  • SwiftIn code
  • TypeScriptIn code
  • CSSClaimed
  • Node.jsClaimed

8 of 10 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.

AI coding agents

  • Claude CodeCommits
  • CodexConfig
  • CursorCommits

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

584 KB

Source files

125

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars