Inspiration
As students, we’ve all felt the frustration of manually entering assignment deadlines and exam dates into our calendars every semester. It’s a small task that often gets overlooked - and when it does, the result is last-minute cramming, missed deadlines, and stress. We wanted to tackle this common pain point by building a tool that automates the process and helps reduce procrastination. Inspired by our own academic struggles, we envisioned a smarter way to stay on top of coursework by using the power of AI to plan ahead. With CoursePilot, students no longer have to rely on memory or sticky notes - they can focus on learning while we handle the logistics.
What it does
CoursePilot helps students take control of their semester by transforming course outlines into a personalized calendar and study plan. The app allows users to upload a course outline for any class, and it intelligently parses the document to extract key deadlines like assignment due dates and exam schedules. Using Google’s Gemini API, CoursePilot automatically integrates these events into the student’s personal Google Calendar. But it doesn’t stop there - CoursePilot also analyzes the student’s existing schedule and generates a customized study plan, scheduling focused sessions in between other commitments. It’s like having an AI-powered academic assistant that helps students plan smarter, avoid procrastination, and achieve better outcomes.
How we built it
We built CoursePilot using React for the frontend and JavaScript for the core application logic. For text extraction from uploaded course outlines, we used pdf.js to parse PDF content. The extracted content is then sent to Google Gemini, where it processes the document and returns structured information such as assignment names, types, and due dates. We then connect to the Google Calendar API via OAuth to insert the parsed events and planned study sessions directly into the user’s calendar. Gemini also helps us analyze the user’s availability and determine the optimal times for study sessions, minimizing overlap with existing commitments.
Challenges we ran into
One of the biggest challenges was ensuring accurate parsing of course outlines, which come in a variety of inconsistent formats. Getting clean and structured information from PDFs proved tricky, and required careful prompt engineering with Gemini. We spent a significant amount of time experimenting with different prompt structures to improve extraction accuracy, especially for detecting subtle details like weightings and multi-part deadlines.
Another major hurdle was working with the Google Calendar API. Specifically, we struggled with access token expiration—tokens would expire every hour, which prevented us from maintaining a stable connection to the user’s calendar. This issue wasn’t immediately obvious and was difficult to debug, costing us valuable time as we tried to understand why calendar access kept failing. After much trial and error, we finally resolved it and successfully established calendar integration.
We also had to simplify our scope to build a functional MVP within 24 hours while still showcasing the AI-driven core features, prioritizing usability and clarity over extra features we initially planned.
Accomplishments that we're proud of
We’re proud that we were able to create a working prototype that goes from course outline upload to calendar scheduling—all within a single interface. Our integration with Google’s Gemini and Calendar APIs works seamlessly and demonstrates the real-world potential of AI in automating everyday student tasks. We also managed to turn a frustrating pain point into a clean, user-friendly app that could truly help students stay organized and motivated.
Even more meaningful to us is the fact that this was our very first hackathon experience. None of us had prior experience participating in a hackathon, yet we were able to build something functional and impactful in just 24 hours. We tackled a problem that we’ve personally struggled with throughout our university careers, and it’s incredibly fulfilling to have created a solution that could genuinely help others like us. Along the way, we gained technical skills, explored new tools, experimented with AI integration, and some of us even picked up new programming languages. The learning curve was steep, but the experience was incredibly rewarding.
What we learned
Throughout the development process, we learned how to effectively use AI for practical scheduling tasks, how to work with Google’s APIs under time constraints, and how to build around unpredictable inputs like course outlines, which often come in inconsistent formats. We spent time refining our prompt engineering with Gemini to improve the accuracy of extracting important information from PDF documents—something none of us had ever done before.
We also dove into the complexities of OAuth and calendar integration, learning how to manage access tokens, scopes, and user authentication securely. One of the most valuable lessons came from debugging the persistent access token expiration issue, which taught us the importance of persistence, clear documentation reading, and detailed logging in solving integration challenges.
This was our first hackathon, and we gained a deep appreciation for balancing ambition with realistic scope in a high-pressure, time-limited environment. We picked up new technologies and tools on the fly, and for some team members, even learned new programming languages during the process. Beyond the technical knowledge, we grew as a team—learning how to collaborate efficiently, divide responsibilities, and adapt quickly when things didn’t go as planned. The experience was intense, but it pushed us to grow as developers and problem-solvers.
What's next for CoursePilot
We hope to continue developing CoursePilot beyond the MVP stage. A top feature of ours is to integrate the user's Google Calendar within the app interface, so students can see their live updated schedules and quickly verify if events were added correctly. We also plan to enhance the PDF preview feature so that users can view the complete course outline document rather than only the first page. This will make it easy to refer to important course information without exiting the app. Another major step is opening CoursePilot to everyone. It is now only open to test users due to Google's OAuth verification requirements that limit the access. Finishing that project will allow us to open the platform up to more students.
Log in or sign up for Devpost to join the conversation.