Inspiration
Getting a family ready for tomorrow means connecting school notices, calendar events, and all the preparation those commitments require. A weekend trip needs packing before departure. A school notice may contain something a parent needs to bring or complete.
We built ReadyTomorrow to connect those details and help families act on them through conversation.
What it does
ReadyTomorrow is a working Alexa+ experience simulation delivered as a web application.
Families can:
- Bring calendar events, school dates, and preparation tasks into one plan.
- Extract proposed tasks and events from pasted school notices, with supporting source quotes.
- Add and edit family events, including multi-day trips.
- Link preparation tasks to events and detect preparation scheduled after an event begins.
- Ask the assistant about the plan, propose changes, and mark specific tasks complete.
- Review proposed changes before confirming them, then undo the latest supported change.
- Read a daily briefing, with optional spoken playback and text fallback.
Seven WebMCP tools let compatible browser agents read the plan and propose changes through the same review workflow.
A complete family scenario
Our demonstration follows a fictional family preparing for a Denver trip.
One assistant request proposes three tasks linked to the trip: pack bags, charge headphones, and check travel documents. Packing is deliberately scheduled after departure, so ReadyTomorrow flags the timing conflict.
One confirmation saves all three tasks. One undo removes that batch while preserving the trip.
We then recreate the tasks and move packing to the previous day. The review shows the exact change, preserves the trip link, and clears the late-preparation warning after confirmation.
How we built it
We built the interface with React, TypeScript, Tailwind CSS, and Vinext/Vite. Cloudflare Workers runs the server, while Cloudflare D1 and Drizzle ORM persist the plan and change history.
OpenRouter powers structured assistant proposals. Shared validation checks proposed actions against the saved plan before applying them.
Manual edits, assistant proposals, and WebMCP tools use the same action system. Revision checks reject stale proposals, and transactional writes keep a batch together. Retrying confirmation of the same proposal does not apply it twice.
The project is publicly available under the MIT License.
Challenges we ran into
Conversation becomes more demanding when it can change saved information. We needed to validate item identifiers, preserve event links, and make every proposed change understandable before saving it.
We also had to distinguish assistant batches from individual browser-tool calls, and ensure previews could display tasks linked to events created within the same proposal.
External services introduced real limitations. School refresh can require a dated calendar snapshot, and the browser speech service returned a network error during rehearsal. We kept these states visible and preserved typed input.
Accomplishments and verification
We verified a live assistant proposal containing three linked tasks, one confirmation that saved the batch, and one undo that removed it without deleting the trip.
We also verified conflict resolution, browser-agent task completion, and change history with separate proposal, confirmation, and undo timestamps.
The finishing checks included 23 passing automated tests, lint, TypeScript checking, and a local production build. Our verification report records both successful checks and observed failures.
The demonstration uses fictional family data isolated from the family's saved plan.
What we learned
Useful conversational assistance needs clear connections between requests and saved actions. Showing the proposed change, explaining conflicts, and providing recovery made the experience more useful.
We also learned to distinguish implemented capabilities, automated tests, and behavior verified in a real browser.
Current limitations
This is an Alexa+ web simulation, not a native Alexa integration.
Successful microphone transcription was not verified in the rehearsal browser. Optional dictation fills an editable message, and sending remains a separate action.
School data may use a clearly dated snapshot when refresh fails. Continuous Google Calendar synchronization is not implemented. Undo covers the latest supported reviewed change, rather than every historical operation.
The demo video is an edited walkthrough of actual browser captures with separate AI-generated narration.
What's next
We want to validate the workflow with more families, improve calendar refresh reliability, verify speech input across supported browsers, and explore shared caregiver planning.
Built With
- cloudflare-d1
- cloudflare-workers
- drizzle-orm
- openrouter
- react
- tailwind-css
- typescript
- vinext
- vite
- zod
Log in or sign up for Devpost to join the conversation.