Inspiration
I built StudyPilot because I’ve lived this problem as a student. Managing my time was a real struggle, and it became a heavy burden when everything came at once: assignments, exams and deadlines all landing in the same week. In those moments the hardest part wasn’t the studying itself, it was deciding what to do first and feeling behind before I had even started. I wanted something I could simply talk to, like saying “I fell behind, fix my schedule,” and have it sort out the plan for me. A voice assistant like Alexa+ felt like the natural place for that, so I built StudyPilot as a tool any student can use when the workload piles up.
What it does
StudyPilot is an Alexa+ study planner that turns deadlines into a daily plan. You can:
- Add tasks in plain English: “I have a physics lab due Friday, about 45 minutes.”
- Ask “What should I study tonight?” and get a plan that fits your available time.
- Say “I fell behind” and have overdue work rescheduled across the coming days within your daily limit.
- See a week-at-a-glance workload chart that warns you about overloaded days.
- Tell it your habits once (“I can study 90 minutes a day, mostly in the evening”) and have it remember them between sessions.
- Paste a syllabus and have every deadline extracted and added automatically.
How I built it
StudyPilot is a self-hosted MCP server (spec 2025-11-25, Streamable HTTP) written in Python with FastAPI and the official MCP Python SDK. It exposes 10 tools: add, list, update, complete and delete tasks, plan the day, reschedule overdue work, a weekly overview, saved preferences, and syllabus import. Amazon Bedrock does the language work. A chat endpoint passes the MCP tool list to Nova Pro through the Converse API, so the model decides which tools to call, sometimes chaining several in one request. A second Bedrock call powers the syllabus import, turning messy text into structured tasks. Tasks and preferences persist between sessions. Since a live Alexa+ device wasn’t needed for this track, I built a web-based Alexa+ simulator with live task cards and a weekly workload chart. It talks to the same MCP server that any MCP-compatible assistant could use. The code is open source under the MIT license.
Challenges I ran into
- Choosing a Bedrock model. My first choices failed in different ways: a speech model that doesn’t support text chat, a model unavailable to my account, plain model IDs that needed an inference profile, and Claude models blocked by a Marketplace payment check. I wrote a script that tested each model and found Nova Pro reliable for tool use.
- A model that invents things. When a user clicked Import without pasting anything, Nova made up a syllabus and the tool imported 13 fake tasks. I fixed it by validating input in the tool and telling the model never to invent arguments.
- Tasks the model couldn’t find. Deleting “the History essay outline” failed because the tool wanted internal IDs. I changed the tools to match by title, and to ask which one when several match.
- SDK and credential surprises. The newest MCP SDK renamed its main class, which broke tutorials, so I pinned to the 1.x line. A hidden newline in a pasted AWS secret caused a confusing error until I trimmed the values.
Accomplishments that I am proud of
- A complete, working MCP server with 10 tools that follows the 2025-11-25 spec.
- A multi-step agentic flow: one sentence (“I fell behind”) makes the assistant chain tools and reschedule my whole week.
- State that persists across sessions, so the assistant remembers how I study.
- Building and shipping it solo, with a polished simulator, in a short time.
What we learned
Tool descriptions matter as much as tool code, because the model reads them to decide what to do. Models can invent tool arguments, so every tool needs its own validation. I also learned how Bedrock’s Converse API maps onto MCP tool schemas, and how much smoother things go when tools accept natural references like a task’s title instead of an ID.
What's next for StudyPilot: an Alexa+ study planner
- Spaced-repetition reminders and exam countdowns.
- Calendar sync so plans appear alongside classes and events.
- Voice input and output, since voice is where Alexa+ shines.
- Multi-user accounts and authentication, so a deployed server can serve many students.
Built With
- amazon-bedrock-(nova-pro)
- built-with:-python
- fastapi
- javascript
- mcp-python-sdk
Log in or sign up for Devpost to join the conversation.