Inspiration

People lose hours every day to small repetitive chores: scheduling meetings, tracking expenses, and remembering follow-ups. These tasks are necessary but not meaningful.

What it does

RoutinePal is a Strands Agents SDK-powered agent that handles three high-frequency chores through natural language:

  • Schedule meetings
  • Log and summarize expenses
  • Create and complete reminders

How we built it

Python + Strands Agents SDK with Google Gemini 3.5 Flash as the model. Seven typed tools with JSON persistence. The model-driven agent loop decides which tool to call from the user's plain-language request.

Challenges we ran into

Learning the Strands SDK model-driven architecture and normalizing relative dates ("tomorrow", "Friday") into concrete values the tools can execute.

Accomplishments that we're proud of

A complete agent from zero to working in one day. Natural language reliably maps to the right tool, and every action is persisted for inspection.

What we learned

We learned how to build a model-driven agent with the Strands Agents SDK, define typed tools with clear contracts, and keep tool outputs deterministic with local JSON persistence. We also learned that relative dates need explicit normalization before they are passed to application logic, and that an agent demo is only convincing when each natural-language request produces an inspectable state change.

What's next for RoutinePal

Next, we plan to add calendar and expense-provider integrations, authentication and per-user storage, richer validation and confirmation flows for destructive actions, and a small test suite covering tool behavior, date parsing, and HTTP API responses. We also want to add deployment observability and make the demo easier to evaluate with seeded data and a reset action.

Built With

  • google-gemini
  • google-genai
  • python
  • strands-agents
Share this project:

Updates

Submission history