MOMentum: A Context-Aware Personal AI OS
What if your AI noticed what you needed before you had to ask?
A personal AI prototype that combines tasks, location, routines, and device context to deliver timely guidance — not only chat replies.
Independent · UC San Diego × Y Combinator Hackathon · Idea in progress · FastAPI + RAG backend running locally
The problem
THE PROBLEM
Enough apps — not enough timing
Calendars know schedules, task apps know unfinished work, phones know location and screen time, wearables may know sleep. Those signals stay fragmented, so people still interpret everything manually.
MY ROLE & ACTION
What I built
- · Interactive mobile frontend with world widget, tasks, chat, and proactive nudge surfaces
- · FastAPI backend with /chat (RAG + Claude) and /nudge
- · Semantic memory via sentence-transformers + in-memory FAISS over personal knowledge chunks
- · Structured user-state schema for predictable prompt assembly
THE RESULT
Honest status
Functional interactive frontend live on GitHub Pages. FastAPI + RAG + Claude MVP implemented locally. Public demo falls back to offline replies until a hosted backend is wired. Not a production personal OS.
Interactive product demo
Product demonstration — personal context in the UI is simulated. Chat may use offline fallbacks on the public host.
Embedded local copy of the phone UI. Also available live on GitHub Pages.
Architecture
- 01
User & device signals
Tasks, location, battery, focus, sleep (often simulated in demo) · Simulated / planned
- 02
Context normalization
Structured state fields for predictable prompts · Partial
- 03
Query or nudge trigger
/chat from user · /nudge from state · Implemented locally
- 04
FAISS retrieval
Embed query → top-k personal chunks · Implemented locally
- 05
Prompt assembly
Role + state + retrieved memory + message · Implemented locally
- 06
Claude
Natural-language response / nudge · Implemented locally
- 07
Frontend
Interactive phone UI on GitHub Pages · Implemented
Technical concepts
Click a card to expand — each one says what it is, why it mattered, and what is still unverified.
Why it mattered here
Productivity tools fragment signals across apps. Useful guidance needs the current situation.
How I used it
The /chat and /nudge paths accept a message plus fields like location, battery, tasks_done, focus_score, and next_deadline.
Technical detail
Frontend builds a state object; FastAPI validates JSON and assembles a prompt with state + retrieved memory.
What can go wrong
Public Pages demo often uses simulated values because the live site still points BACKEND_URL at localhost.
Maturity
| Component | Status |
|---|---|
| Mobile interface | Implemented prototype |
| Chat UI + world widget | Implemented prototype |
| FastAPI server | Implemented (local MVP) |
| POST /chat + RAG | Implemented (local) |
| POST /nudge | Implemented (local) |
| sentence-transformers + FAISS | Implemented (in-memory) |
| Claude integration | Implemented (local) |
| Public Pages demo AI path | Demo fallback (localhost backend) |
| Live calendar / wearable / location APIs | Planned / simulated in UI |
| Production deployment | Not completed |
Example scenario
Situation · Home · 3/5 tasks done · focus 72 · screen time 2h 10m · lab report due Friday · slept 7h
User · “I just finished my homework. What should I do next?”
Retrieved (example) · Lab report due Friday · focuses better after a short walk · screen-time preference · recent completed homework
Factors considered · Deadline proximity, task completion, screen time, location — not private model chain-of-thought.
Response style · Suggest starting the lab report in a short focus block, or a brief walk first if screen fatigue is high — and explain why.
Limitations
- · Public Pages demo is not wired to a hosted Claude/RAG backend yet.
- · Location, biometrics, and many dashboard values are simulated.
- · Retrieval quality and nudge timing are not systematically evaluated.
- · Proactive systems can become intrusive without a quiet-mode policy.
What I learned
MOMentum pushed me past the chat box. A useful personal AI needs structured state, relevant memory, a retrieval layer, and a policy for when not to interrupt — plus a clear line between a compelling product experience and the infrastructure that makes it accurate and private.