Back to Projects
Building·Since Feb 2026

Smart Todo

Talk at it, get structured tasks back. FastAPI, Firestore, and a PWA that works offline.

Next.jsFastAPIFirestoreClaude APIVisit LiveRepo
Smart Todo

Why I built it

Most todo apps want one item per submission. My actual habit is dumping a sentence — “finish the report, call the dentist, grab the dry cleaning” — and wanting it split into three items without three separate taps. So the chat is the primary way in: I write a sentence, the assistant asks which list if it's ambiguous, and the items land where they belong.

Smart Todo's dashboard, showing today's tasks grouped by list

Multi-item entry

The assistant does tool-calling against the todo API rather than just generating text that looks like a task list — it can create a list, add items to it, mark things complete, all from one message. That part works well for a single action.

Where it actually breaks

Multi-step chains are the weak point. I asked it to create a new list and then add three items to it, and it announced the plan, created the list — and stopped there. The items never got added; I had to do that by hand. The tools work individually; chaining them reliably across a multi-step instruction is the thing I still need to fix, not the thing I'm going to pretend already works.

Offline by design

It's a PWA with a service worker, because a todo app that goes blank without signal is worse than useless — it's useless at exactly the moment you needed it. Firestore and Cloud Run handle sync once you're back online.

What I'd tell someone building this

Test the multi-step tool calls before the single-step ones look convincing enough to move on. A demo that nails “add one task” will make you assume “create a list and add three things to it” works the same way. It doesn't, and I found out the way you'd expect — by trying it in front of someone else.

Next.js · FastAPI · Firestore · Claude API