Sarthi.
Voice-and-photo life coach · a ChatGPT app over MCP · nothing estimated is saved without your tap
“‘Had two rotis and a long walk, spent 340 on lunch.’ One sentence, four trackers updated — and not one guess saved without asking.”
Life-tracking apps die from friction: every entry is a form. An LLM removes the friction but adds a worse problem — it will happily invent a calorie count or a price and save it as fact.
Let the model parse, never let it commit. Anything estimated becomes a confirm card. In the ChatGPT version, confirming is a tool only the app UI can call: each card carries an HMAC token the model never sees, so the model can't confirm on the user's behalf.
The choices that mattered, with the reasoning at the time.
- Confirm is app-only
Seven MCP tools, but confirm_entry can only be called from the MCP Apps panel. The model can propose all it likes; only a person's tap writes.
decision · 01 - Verifiers can only demote
Code checks each number against the user's own words. A second model pass may downgrade a value to "estimate", never upgrade one to "fact".
decision · 02
3rd place at the OpenAI DevDay Community Hackathon 2026. Snapshot undo, idempotent writes, a 38-table schema that runs on SQLite or Postgres, 348 tests, and an eval that asserts zero silent wrong writes.
- OpenAI DevDay Community Hackathon
- 3rd
- silent wrong writes (eval)
- 0
- tests
- 348