Inspiration

On Time started with the smart lights in my own home, and with friends who use smart lights and timers to save energy or fit their routines. Twice a year the clocks change and every season sunset moves, but our lights and timers always need someone update them by hand.

What it does

On Time is a conversational add-on for Alexa+ that runs your lights on a smarter schedule. Like Alexa Hunches, it notices patterns, but it goes further. It knows where you live, so routines can follow sunrise and sunset through the seasons. It eases routines through Daylight Saving Time 15 minutes a day instead of jumping an hour. And it learns your habits. Before it changes anything, it checks in with you, shows the evidence, and waits for a yes.

How we built it

I built On Time as a Model Context Protocol (MCP) server in Python, following MCP spec 2025-11-25 over Streamable HTTP, with Claude Code as my pair programmer. Alexa+ add-on tools are partner-only, so I demo it in Simulated On Time for Alexa+: a browser page built in HTML, CSS, and JavaScript that is a real MCP client, with voice, chat, and on-screen cards (MCP Apps). Claude Haiku 4.5 on Amazon Bedrock chooses which tools to call, and an offline agent runs the same demo without AWS. Sunrise and sunset come from the home’s location, and all time math is done in UTC, so Daylight Saving changes are handled correctly. 215 automated tests cover spec compliance, the schedule math, and full conversations.

Challenges we ran into

There is a friction log to document the technical challenges. Notably, the concept was challenged by setting up Amazon Bedrock in a new AWS account: the models were listed, but every call failed until the use-case form, the right AWS project, and a quota increase were in place. The test cases also required expansion to prove out the agentic support and include across samplings from locations from different geographical regions. Live testing on Bedrock showed the AI asking questions too late and getting time math wrong, which was addressed by having the server provide exact answers and adding tests for each case.

Accomplishments that we're proud of

The concept works, and the interface is easy to navigate. In the final live test, all 55 steps were answered by Claude on Amazon Bedrock, and nothing changes without the user saying yes. I’m also proud of the experience gained working with AI agents within the AWS ecosystem.

What we learned

Testing locally made the work faster: a local server and an offline agent let me test every feature without AWS, then check the Bedrock integration separately. I learned to build the test plan from the design, so every feature has a test. And an AI agent is more reliable when the server does the calculations and the model just words the answer.

What's next for On Time

Moving from the simulation to real-world testing with a smart bulb or plug, and connecting to a real Alexa+ device once the add-on tools open to developers.

Built With

Share this project:

Updates

Submission history