Inspiration

An interruption — a phone call, a knock at the door — can break a routine's flow and make the next step unclear. Most checklists either restart from the top or quietly lose your place. Resume explores a simpler alternative: keep each step's state visible and make recovery reversible.

What it does

Choose a sample departure, focused-work, or end-of-day routine. Resume tracks completed, pending, and set-aside steps separately. You can pause, ask "where was I?", continue one step at a time, undo a mistake, set a step aside (which never marks it done), and export a checkpoint you own, then explicitly restore it in a fresh session. A small local classifier handles short typed commands; when it is unsure — including negations like "not done" — it asks instead of guessing, and nothing changes.

How we built it

Resume is an Alexa+ experience simulation built on a self-hosted MCP server (MCP 2025-11-25, Streamable HTTP with JSON responses), written with the Python standard library only. The browser page acts as an actual MCP client: it sends initialize, tools/list, and tools/call to four narrow tools — routine_state, routine_start, routine_turn, and routine_restore. A small local intent classifier maps typed phrases to the routine state machine. No Alexa device, speech service, cloud model, or household control is connected, and no data leaves the machine.

How we tested it

  • Official MCP Python SDK 2.3.0 interoperability check passes: initialize, tools/list, ping, tool calls, error codes, session isolation, and checkpoint restore.
  • 52 automated Python tests (routine rules, HTTP security, MCP wire protocol, regressions) and five client-logic checks.
  • Demo flow, keyboard focus, and narrow-screen layout checked in a real browser. Not yet done: screen-reader and zoom testing, or a user study.
  • Reviewed release: commit 37bd263 on main (application code at 2f343e5).

Challenges we ran into

  • Keeping typed commands safe: negations and hypotheticals ("not done", "I will do it later") must never advance a step.
  • Making Undo trustworthy: actions that change nothing no longer create undo points, so Undo always reverses the last real change.
  • Interoperability: the official MCP SDK 2.x renamed client APIs, so our test runner needed updates. We also fixed a Windows-only connection reset when the server rejected a request before reading its body.

What we learned

Narrow, explicit tool schemas make an assistant's allowed actions easy to inspect and test, and reversibility (undo, set aside, checkpoints) is what makes it comfortable to hand a routine to an assistant.

Limits

Resume is a prototype, not a production service. Session state is in memory and expires after inactivity or a server restart unless a checkpoint is exported. The classifier supports a limited set of short typed requests; there has been no participant study or measured-outcome evaluation. This submission is a simulation, not a connected Alexa device.

Built With

Share this project:

Updates

Submission history