Inspiration

Planning classes at UCLA is a notorious headache. Students cross-reference DARS PDFs, BruinWalk ratings, prerequisite chains, and enrollment windows across a dozen tabs, and one wrong move means a brutal quarter or a delayed graduation. We wanted to fix that.

What it does

Blueprint turns your DARS report into a balanced, quarter-by-quarter 4-year plan in seconds. It parses your completed courses and remaining requirements, generates a prerequisite-respecting schedule using AI, surfaces BruinWalk difficulty ratings to prevent workload spikes, and tells you exactly what to enroll in during first vs. second pass. Plans are interactive, drag and drop courses between quarters, ask the built-in AI what-if questions, and save multiple versions to your dashboard.

How we built it

Next.js 16 + React 19 frontend with Tailwind CSS. Firebase for Google authentication and Firestore plan persistence. OpenAI for DARS parsing and structured plan generation. BruinWalk scraped data for real difficulty ratings. Drag and drop via @hello-pangea/dnd.

Challenges we ran into

UCLA's DARS PDFs are notoriously unstructured. Extracting completed courses and remaining requirements required heavy prompt engineering iteration. Getting the LLM to strictly respect hard constraints (prerequisites, quarter availability) while also optimizing soft ones (workload balance) was genuinely difficult. Managing drag and drop state across quarters while keeping everything synced with Firestore also pushed our React state management.

Accomplishments that we're proud of

The workload balancing actually works. The AI produces schedules that consciously avoid stacking hard classes. We reduced a process that takes students hours into a single PDF upload. The UI feels polished enough that it doesn't look like it was built in 24 hours.

What we learned

How to guide LLMs to produce strictly structured JSON outputs that satisfy logical constraints. Deeper Next.js App Router patterns with server actions. How to wire Firebase Auth + Firestore into a real product cleanly and securely.

What's next for Blueprint

Real time UCLA enrollment data (seat availability, waitlists), support for double majors and minors, and a social layer so friends can coordinate taking classes together.

Built With

Share this project:

Updates