Inspiration
Every day I open a class routine PDF just to find one class: which room, what time, who teaches it. Students also miss campus events like seminars and hackathons, or discover too late that an event clashes with a class. I wanted to simply ask, out loud, and get the answer.
What it does
Campus Buddy is a voice-first schedule assistant for university students, built as a simulated Alexa+ experience in the browser, in English and Bangla.
- Ask "When is my next class?" and it answers out loud with the time, room and teacher.
- Ask about assignments, exams, teachers and rooms.
- Ask about campus events (seminars, workshops, contests, hackathons). It warns you when an event clashes with one of your classes.
- Ask in Bangla and it replies in Bangla, with Bangla times and digits.
- The class routine is my real department routine (CSE, sections 69_D, D1, D2). Assignments, exams and events are sample data.
How I built it
- Web app: plain HTML, CSS and JavaScript. No server, no database, no API keys. A chalkboard-themed UI with an animated opening page.
- Voice: the browser's Web Speech API for speech recognition (English and Bangla) and spoken replies.
- Brain:
engine.js, a rule-based engine that matches intents and looks up answers in one editable data file (data.js). The same code runs in the browser and in Node.js. - MCP server: the same engine is exposed as a self-hosted MCP server (Streamable HTTP, stateless) built with the official MCP SDK, with eight read-only tools such as
next_class,upcoming_eventsandcheck_event_clash. Tests call every tool with the official MCP client. - Built with AI assistance: I built it with Claude (Anthropic's AI coding assistant), and I reviewed, tested and corrected details such as course names, teacher names and dates.
Challenges
- Bangla voice input failed silently at first. I added clear error messages and a Bangla vocabulary for course and event names.
- Keyword matching can misread words (for example, the Bangla word for "tomorrow" appears inside "morning"), so I match whole words and added tests.
- Many browsers have no Bangla speech voice, so the app shows text and says so.
Accomplishments
A working assistant that answers real questions about my own routine, in two languages, with event clash warnings, plus an MCP server any agent can call.
What I learned
Voice features depend heavily on browser support, and a simple, well-tested rule engine can be enough for a focused assistant.
What's next
Replace sample data with live data from a university portal, add more phrasings, and test the MCP server with a real Alexa+ device. This project has not been tested on a real Alexa+ device.
Built With
- claude
- css
- github
- html
- javascript
- mcp
- model-context-protocol
- node.js
- web-speech-api
- zod
Log in or sign up for Devpost to join the conversation.