Inspiration

As students, we’ve all had that moment where a Canvas assignment slips by unnoticed. Between classes, extracurriculars, and everything else going on, it’s easy to lose track of deadlines. We wanted to create something reliable that would step in as a reminder system so students never miss another assignment.

What it does

StudyBuddy connects to Canvas and Google Calendar, then sends students daily text reminders about upcoming assignments and events. The messages are crafted with custom AI prompt, so they feel more personal and helpful than a generic system notification, making it easier to stay organized and on top of deadlines.

How we built it

We used the Canvas API to pull assignments, Google OAuth and Calendar API to bring in personal events, and a Node.js backend with node-cron to schedule reminders every day. Textbelt handles SMS delivery to phones, while the OpenAI API makes the reminder texts more natural and engaging.

Challenges we ran into

We ran into some challenges while setting up the webhooks for the text message response API. The main issue was getting the webhook endpoint to properly receive and process the incoming requests, and sometimes the messages weren’t being delivered, or the payloads didn’t match what we expected. Debugging involved checking both the server configuration and the webhook settings to make sure everything was aligned.

Accomplishments that we're proud of

We’re proud that we pulled together Canvas, Google Calendar, AI, and SMS into one working system in just a few hours. The moment we saw the first reminder text come through to a real phone was a big win and it showed that StudyBuddy could actually be useful for students like us.

What we learned

We learned a lot about integrating APIs, especially around OAuth flows, scheduling jobs with node-cron, and managing different data sources. We also got practice in balancing technical functionality with user experience, making sure the AI-generated messages were concise and clear for SMS.

What's next for StudyBuddy

Going forward, we’d like to support other learning management systems and also let students customize how and when they get reminders. We’re also planning to explore additional delivery methods like push notifications or WhatsApp/Telegram.

Share this project:

Updates