PrototypeLocal Alexa+ simulation
Watt If
A local Alexa+ simulation for rearranging three optional evening chores. A Strands agent running Qwen reads the request, the PeakShift planner checks the times, and a calendar file unlocks only after the person approves the plan.
- Who it helps
- Someone fitting a few flexible household chores around an evening, in a fictional scenario.
- What I owned
- The interface, the agent integration, the constraint review, recovery for failed requests, and approval tied to one plan revision, all built on the existing PeakShift planner.
- When
- September 2026 · redesigned October 2026
- Stack
- Python, Strands Agents, Qwen, Ollama, JavaScript, CSS, ICS
- Checked
- Repository and demo video checked October 21, 2026. In the demo, three real requests to the model produce a valid plan, a blocked conflict and a correction.

The October redesign: an evening theme around Thorvaldsen's Night. 
The planner: a checked timetable, what it respects, and approval. The model was offline here, so the manual controls are in use.
Screenshots of the local app, October 21, 2026. Marble relief: Night (1815), Bertel Thorvaldsen; photograph by Thorvaldsens Museum via Wikimedia Commons, CC0.
The problem
Evenings change: dinner moves, laundry has to finish first, the e-bike needs a charge, and noisy chores have to stop by bedtime. A chat assistant can read an exact 9 pm start as “not before 9 pm”, or leave the old timetable on screen after a request fails, and the person approves a plan that doesn't match what they asked for.
My scope
I designed the interface and built the Strands and Qwen integration, the constraint review, recovery for failed requests and the approval flow around the existing PeakShift planner. The October redesign pairs a dark evening theme with a paper-colored timetable that's easy to read.
Constraints
- Only three optional chores (a dryer, a dishwasher and an e-bike charger), with fictional household data.
- An exact start isn't the same as a not-before time. Times that conflict get an explanation, never an approvable calendar.
- A failed request keeps the person's words, and the previous plan can't be approved as its answer.
- Everything runs locally, and the manual controls keep working when the model is offline.
Approach
- The agent turns the request into supported constraints, and the deterministic planner checks the timetable before anything reaches the approval step.
- The timetable sits next to a plain list of what the plan respects (quiet time, exact starts, allowed windows, skipped chores), so the person can check how their words were read.
- Unresolved requests survive errors and reloads. The person can retry, or replace the request with manual times they've reviewed.
- Manual controls use the same planner, and changing them turns approval off until a new preview is ready.
- Approval is tied to one proposal and revision. It unlocks an .ics download and never starts an appliance or edits a calendar on its own.
Key decision
Keep reading, checking and approving separate
A fluent answer doesn't prove a schedule fits. The agent reads the request, the exact planner checks whether it fits, and the person approves one specific revision. Keeping the steps apart also lets the manual planner work while the model is down, and stops an old proposal from being approved by accident.
Validation
- 58 local tests passed for the October 21 version.
- Three real requests to a Qwen model, over a temporary SSH connection to a rented GPU, produced a valid plan, a blocked conflict and a correction, with two approved calendar downloads.
- The screenshots show the redesign and the manual planner with the model offline. The demo video, not the screenshots, shows the model requests.
Result
A working local prototype that turns supported requests into checked chore schedules, keeps unresolved requests, and exports a calendar only after approval. The October 21 version and its demo video are public.
Limitations
- It simulates an Alexa+ experience: no live Alexa or device connection, and no hosted app.
- Loads, prices and forecasts are fictional. The modeled numbers aren't measured savings, and leaving a chore out means less work, not better efficiency.
- The scheduling is PeakShift's existing planner. I didn't write a new scheduling algorithm.
- It understands a deliberately small set of phrasings. The manual controls cover the rest.