Inspiration

An unfortunate reality as a college student is, there are just days when you can't focus. When you start to check your homework, you see:

Some teachers post their homework on their website. Some teachers post it on Canvas. Some teachers need you to pay for an online textbook to do the homework. You end up taking twenty minutes just to find out your task will take another hour.

This friction compounds. Your clubs use slack, discord, text messages to communicate. Your schedule is on google calandar, but your PR's are on GitHub. This low-value busywork interrupts flow massively. But is also the perfect thing to automate. If these logistics didn't exist, you get back half of your limited mental energy.

What it does

Here is a basic idea of how a user interacts with Blindly(elaborated in our video):

When you land on Blindly, sign in with Google, connect your Canvas account with your API key. This setup is one time. From there, Blindly pulls your Google Calendar events and Canvas assignments into one view—what's due, when you're free, what needs attention. You can add tasks manually for anything Canvas doesn't know about and Blindly treats them the same as synced assignments. Hit generate and Gemini builds your daily schedule. Give it a prompt like "focus on coding today" or "light day, just readings" and it adapts. It looks at deadlines, assignment types, and your available time blocks, then slots work sessions where they make sense. Click an assignment and Blindly's agent takes over. For a coding assignment, it can navigate to your course website, finds the assignment page, pulls the starter code from GitHub, creates a project folder on your machine, writes a README with the assignment details, and opens VS Code. For a physics textbook assignment, it opens your textbook to the right section. The agent figures out what the task needs and sets it up accordingly. Close your laptop, take a break, come back whenever. Blindly shows you where you left off and what's next.

How we built it

Frontend: Next.js Backend: Next.js API routes, MongoDB AI: Google Gemini 2.5 Auth: NextAuth.js with Google OAuth

When a user signs in, NextAuth handles Google OAuth and stores the session in MongoDB. When they connect Canvas, we save their API key to MongoDB and fetch their courses and assignments from the Canvas API. When they view their day, we pull events from Google Calendar and assignments from Canvas and merge them into one view. When they add a task manually, it writes to MongoDB and gets treated the same as any synced assignment. When they hit generate, Gemini takes their tasks, deadlines, and free time blocks and returns an optimized schedule. When they click an assignment, Gemini acts as an agent. It browses the course website, finds the assignment details, and figures out what to do next. For a coding assignment, it can find the GitHub starter code, creates a project folder, and launches VS Code. For a reading, it can open the textbook. When they come back later, we pull their saved plan and progress from MongoDB and show them where they left off.

Challenges we ran into

We had small scale problems like database name mismatch, api routes not pointing to the right place or not being set up properly in .env on different machines. Our entire backend was initially built with a version of Python that caused major dependency errors and required a major rewrite to work on other systems. These were frustrating, but are part of the typical building experience.

Undeniably, large scale problems arose quickly in initial development. These were hard to work around. Things like agnatically navigating the web are very prone to hallucination and you have to create limitations on the level of depth you allow, as AI can hallucinate links, or extrapolate information beyond what is actually given. This was much harder to work around, since we wanted to of course automate as much as possible. Our solution was a very carefully engineered prompt to the Gemini API.

Accomplishments that we're proud of

The end-to-end flow is real. You sign in, see your assignments, click one, and end up in VS Code with a project folder and README ready to go. The agent navigates real course websites and handles the messiness of academic web infrastructure. We built this in under 24 hours. Authentication, calendar sync, Canvas integration, AI scheduling, agentic browsing, local file creation, VS Code launching. All wired together. We built something we want to use. This started because we were frustrated with our own workflow. It ends with a tool we're keeping after the hackathon.

What we learned

Agentic AI must be used cautiously and its inconsistencies can destroy a flow really quickly, so it's powerful as long as you limit its scope and are very precise with prompt engineering.

Large full-stack projects can get very finicky with dependencies fast, and in the future if possible we would want to containerize with Docker and just have everyone working on the codebase use a Dockerfile.

Built With

Share this project:

Updates