- Protocol Engine: Built with
@modelcontextprotocol/sdk(TypeScript) implementing standard JSON-RPC 2.0 contracts with dual Streamable HTTP and Server-Sent Events (SSE) transports. - 5 Expressive MCP Tools: Designed strict JSON Schema contracts for
get_tasks,add_task,create_study_plan,update_progress, andget_course_progresswith rich parameter validation. - Adaptive Time Allocation Engine: Study sessions dynamically partition available time ( T_{\text{total}} ) into ( n ) deep-work sprints and ( (n-1) ) restorative intervals: $$T_{\text{total}} = \sum_{i=1}^{n} t_{\text{sprint}, i} + \sum_{j=1}^{n-1} t_{\text{break}, j}$$ Assignments are prioritized based on course weight ( W_{c} ), task urgency ( U_{t} ), and remaining time until deadline ( \Delta t ): $$\text{Priority Score} = \frac{W_{c} \times U_{t}}{\max(1, \Delta t_{\text{hours}})}$$
- Local-First Database: Powered by Node 22 native
node:sqlitein Write-Ahead Logging (WAL) mode with sub-millisecond execution times. - Web Companion Dashboard: Built with React 18, Vite, and Tailwind CSS, featuring an intelligent in-memory fallback layer for serverless cloud deployments on Vercel.
Challenges we ran into
- Conversational Time Estimation & Granularity: Converting a student’s natural phrasing ("I only have an hour and a half before dinner") into structured, pedagogically sound focus cycles required rigorous MCP tool schema definitions and prompt alignment so Alexa's tool-selection model reliably returned valid numerical values.
- Streaming Protocol & SSE Compliance: Implementing real-time synchronization between Alexa's remote invocation and our local web dashboard required building a dual-mode transport layer supporting both stateless POST requests (
/mcp) and stateful Server-Sent Events (/mcp/sse). - Zero-Config Cloud Tunneling: Ensuring Alexa could communicate securely over HTTPS with our local development machine without requiring commercial domain registrations or credit cards was solved using Cloudflare Quick Tunnels (
cloudflared).
Accomplishments that we're proud of
- True Zero-Friction Workflow: A student can walk into their dorm room, never touch a keyboard or smartphone screen, and completely organize their evening's coursework and study timers purely by talking.
- Instantaneous Response Latency: Thanks to native SQLite in WAL mode and efficient JSON-RPC dispatching, Alexa receives tool execution payloads in under 10ms.
- Bridging Voice with Visual UI: Solving the "blind voice" problem by pairing Alexa's spoken dialogue with a synchronized, live companion dashboard that automatically visualizes active timers and course progress rings.
What we learned
- The true power of the Model Context Protocol (MCP): decoupling conversational AI reasoning from business logic creates an extensible architecture where voice assistants act as genuine autonomous agents rather than glorified smart switches.
- Designing voice UX requires strict conciseness: spoken responses must convey priority and actionable numbers without overwhelming the student's cognitive load.
- Local-first architectures offer unprecedented speed and data privacy for personal academic data.
What's next for Study-Mate
- 📅 LMS Calendar Integration: Direct two-way synchronization with Canvas, Blackboard, and Google Calendar via additional MCP tool integrations.
- 🧠 Cognitive Fatigue Detection: Tracking task completion velocity over time to proactively suggest longer restorative breaks when focus efficiency drops: $$\text{Focus Efficiency } (\eta) = \left( \frac{T_{\text{verified focus}}}{T_{\text{scheduled}}} \right) \times 100\%$$
- 🔔 Proactive Audio Check-ins: Allowing Alexa to gently check in when a Pomodoro sprint completes to log immediate feedback on assignment difficulty.
Built With
- alexa
- cloudflare-tunnels
- express.js
- json-rpc
- mcp
- model-context-protocol
- node.js
- react
- rest-api
- server-sent-events
- sqlite
- tailwind-css
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.