Inspiration
A morning can stop fitting together even when every remaining task looks small. Two people share one bathroom, some work is already finished, and a fixed departure time leaves little room for an interruption. An assistant should preserve those facts and explain the available choices.
What it does
ReadyBy recovers a shared departure plan using reported progress, task dependencies and shared-resource limits. It previews exact changes and compares household-supplied alternatives before saving a reviewed choice.
The fictional example initially finishes at 07:59 against an 08:00 deadline. At 07:48, lunches and Alex’s bathroom task are reported finished, but the bathroom is unavailable until 07:52. Keeping Sam’s shower makes the earliest mandatory departure 08:05. Explicitly choosing the household’s three-minute wash restores 08:00 with zero buffer. Reloading preserves the chosen plan and progress.
How we built it
The official MCP Python SDK provides a real Streamable HTTP server implementing protocol 2025-11-25. The included JavaScript browser client initializes MCP, discovers tools and consumes their structured results. OR-Tools CP-SAT checks schedules; SQLite preserves revisions and drafts.
MCP tools can read state and create proposals, but cannot commit them. A separate review action applies one exact draft at its original revision and refuses stale or repeated applications. The solver distinguishes proven infeasibility from a feasible schedule or an inconclusive search.
This is the Alexa+ track’s locally runnable MCP-server route. No live Alexa+ connection, voice model, Amazon device or AWS deployment is claimed. No account, API key or paid service is needed to run it locally.
Challenges and what we learned
Preserving completed work required explicit state and revision handling. Recovery had to keep mandatory tasks and expose supplied alternatives rather than silently inventing permission to shorten them. An 08:00 result with zero buffer is fragile, so the UI shows that limit.
A real SDK onboarding issue was that a bare dict return annotation did not provide the expected structured result. Using dict[str, Any] with structured output resolved it. The full observed feedback and friction log are in docs/FEEDBACK.md. We do not invent feedback about Amazon services we did not access.
Verification
All 37 unittest methods passed on Windows/Python 3.14.3, including 35 small exhaustive scheduling-oracle cases, independent schedule checks, persistence/revision checks and real MCP HTTP calls. Browser checks confirmed interruption recovery, reload persistence and a discarded manual-duration-change preview.
The public demo is a continuous 68-second recording of the working local MCP browser client with explanatory captions. It uses fictional household data and is not a live Alexa+ voice or device demonstration.
Limits and next steps
This is a single-household local prototype with fictional data. Durations and completion are reported assumptions; tasks are not executed. Local CSRF protection is not production authentication or proof of human presence. Mobile use, real Alexa+ integration and customer benefit remain untested. Next steps are consenting-household tests of duration uncertainty and recovery usefulness.
AI assistance
OpenAI Codex assisted with implementation, tests, documentation and the live-demo recording. No manual-only authorship or personal code verification by Bryan is claimed.
Source, MIT licence and local run instructions: https://github.com/Furan666/readyby
The frozen source notes predate publication; references there to a private video or unpublished build describe that earlier snapshot.
Log in or sign up for Devpost to join the conversation.