🧠 About the Project

Chalkboard was inspired by the frustration many students face when trying to manage multiple courses, deadlines, and time blocks efficiently. While calendar apps exist, none offered a smart, AI-integrated experience that could take a course outline and instantly turn it into a personalized academic planner.

Our goal was to reduce the friction between receiving a syllabus and getting organized — turning manual data entry into a one-click experience powered by large language models and Supabase.


Domain Issue

We intended to use the domain chalkboard4guelph.tech, but due to an unresolved issue with the .tech domain integration in the provided code, we were unable to complete setup. We’ve confirmed that the domain is available and are actively working to implement it as originally planned. Please consider chalkboard4guelph.tech as our intended submission for the domain prize category.

🛠️ How We Built It

  • Frontend: Built with React and React Router, using Tailwind CSS and PrimeReact for UI components.
  • Backend: Supabase was used for authentication, Postgres data storage, and row-level security (RLS) policies.
  • PDF Parsing & AI: Users can upload one or more course outlines as PDFs. These are sent to Google Gemini API, which extracts course names, lecture times, topics, and deadlines into structured JSON.
  • Database Insertion: The parsed JSON is automatically inserted into a relational schema with normalized tables for courses, user_courses, tasks, and study_blocks.
  • User Flow: After upload, users are redirected to a dynamic calendar that reflects their schedule, lectures, study sessions, and office hours.

🔍 What We Learned

  • How to extract structured data from unstructured text using LLMs (Gemini API).
  • Building clean database schema relationships using Supabase RLS with authenticated user control.
  • Handling multi-file uploads and batch inserting relational records with referential integrity.
  • Creating a fluid UX that balances manual and automated scheduling.

🚧 Challenges We Faced

  • Ensuring the AI returned consistently structured JSON despite differences in syllabus formatting.
  • Handling insert dependencies (e.g., needing course IDs before inserting user-course links and tasks).
  • Managing Supabase RLS policies securely while keeping inserts fast and user-specific.
  • Maintaining responsiveness and UI clarity for both auto-generated and manually added courses.

✨ Outcome

Chalkboard creates a personalized academic roadmap in seconds. Students can upload all their syllabi at once and walk away with a smartly organized study plan — no spreadsheets, no manual data entry, and no guesswork.

Built With

Share this project:

Updates