Our team consists of Aryahvishwa Babu (Computer Science, Sophomore), Kousthubh Veturi (Computer Science, Sophomore), and Siddhant Jain (Computer Science, Sophomore). We were inspired by the universal struggle every UMD student faces: balancing classes, studying, extracurriculars, health, and career goals while trying to actually graduate on time. Traditional planners only show your class schedule, but they don't help you optimize your entire college experience. We wanted to build something that takes a simple text prompt about your goals and commitments, then intelligently generates a holistic weekly schedule that includes not just classes from the UMD.io API, but also study blocks, gym time, club meetings, career prep, and healthy sleep schedules—all optimized around your personal goals.

We built TerpPlanner using Next.js 14 and React with TypeScript for type safety, styled with Tailwind CSS for a clean, modern, responsive interface. The backend leverages the UMD.io API to pull real course data (schedules, buildings, professors) and the Gemini API to process natural language prompts from users. Once Gemini parses the user's goals and availability, we use Claude (Anthropic's AI) to generate optimized scheduling code that intelligently places activities throughout the week, considering class locations, time conflicts, and realistic workload distribution. Our biggest challenge was ensuring the AI understood complex scheduling constraints—like not scheduling gym time immediately after back-to-back classes in different buildings, or balancing heavy course loads with adequate study time. We solved this by iteratively refining our prompts to both AI models and building conflict-detection algorithms that validate the generated schedules before displaying them to users. Through this project, we learned how to effectively chain multiple AI models together, architect secure API integrations with environment variables, and design user experiences that translate complex data into actionable insights.

Built With

Share this project:

Updates