Inspiration

Late nights, cluttered calendars and dense syllabi were the norm for us as students. It wasn’t that we didn’t care – we just couldn’t see what to prioritise. The idea for Athena came from that feeling: what if your own schedule could “talk back” and point out the trouble spots? We wanted a lightweight companion that could cut through the noise and say “this one needs attention.”

 What it does

Athena ingests your calendar events and syllabus documents, stores assignments in a database, then uses a Gemini‑powered AI to analyse your workload. It identifies high‑risk tasks (tight deadline + high weight + low confidence) and responds to your questions with clear, actionable advice. You can also mark work as completed, update priorities, and view overdue items via a simple web interface.

 How we built it

The backend is Node.js/Express with MongoDB for persistence. Multer handles uploads; pdf‑parse extracts text from syllabi. We wrapped Google’s @google/generative-ai client to talk to Gemini models and defined a custom “update_assignment_priority” tool the model can call. Front‑end is vanilla HTML/JS/CSS served from public. Configuration (API keys, DB URL) lives in a .env file loaded by dotenv.

 Challenges we ran into

Getting reliable text out of arbitrary syllabus PDFs required juggling several pdf-parse call styles and fallbacks. Debugging the AI model’s responses meant carefully constructing system prompts and handling function‑call output. We also wrestled with the usual dotenv hiccups (quotes in keys, restarting the server) and ensuring uploads cleaned up after themselves.

 Accomplishments that we’re proud of

A working end‑to‑end pipeline from calendar upload to AI‑driven analysis A custom tool declaration that lets Gemini proactively adjust priorities A lightweight UI that’s usable without any front‑end framework Successfully parsing real syllabus snippets into structured JSON

 What we learned

How to prompt and integrate a generative AI model in a backend service The importance of early validation when reading external files (ics, pdf) Environment variables don’t magically reload – always restart your process! Simple schema design can elegantly support both current and historical assignments via Mongo

 What’s next for ATHENA

Add real‑time calendar syncing (Google Calendar API) Improve course/assignment parsing with more robust NLP Add user accounts and persistent settings Extend the AI’s capabilities (study tips, time‑blocking suggestions) Polish UI/UX and deploy a demo for classmates

Share this project:

Updates