Inspiration
Three of us, Atishay, Karthik and Amaan, transferred from California community colleges to a CSU or UC. The fourth, Shivendra, works in the admissions office at Texas State University, where he answers transfer questions every day: will my credits count, what's the equivalent course here, can I even transfer? We've seen this problem from both sides of the desk.
At community college, advising usually meant sitting with a counselor while they looked up ASSIST or the IGETC list. It never felt personal. Every computer science major Atishay met at De Anza was taking the same classes in the same order, and almost nobody could say why they were taking them. Not everyone moves at the same pace, and not everyone can get straight A's for two years and land at the university they want.
Then you transfer, and you arrive as a junior somewhere you know nothing about. Many internships and programs close their applications in August and September, exactly when your first semester starts. You don't know the professors, the classes, the clubs or the culture, and you're trying to keep your grades up at the same time. Many transfer students spend their first semester or two just figuring out the new campus, and by the time they've found their footing, graduation is close.
We wanted one place that gets students there prepared: personal, in order, and with time to make the most of it.
What it does
Hindsight is a transfer planner: one place for a student's path through college, from the first class at community college to graduation.
- Credits. Upload a transcript and Hindsight checks every course against the official ASSIST agreement for the year you took it, then shows what each university requirement still needs. For our sample student, that recovers MATH 30, MATH 31 and ECON 1A, which count only under the 2023–24 agreement.
- General education. Cal-GETC or IGETC progress area by area, from the college's own ASSIST lists. ASSIST doesn't track this for you.
- Plan. A term-by-term plan through transfer and graduation that respects sequences and unit limits, plus a printable education plan to bring to a counselor.
- Schedule. Upload your class schedule to see your week and your free time. Classes you're taking count as in progress.
- Opportunities. Research, campus jobs, clubs, hackathons, funding and more across 10 categories, ranked against your majors and interests, each with a one-line reason and a source link. "Fits Your Week" shows only what falls in your free time.
- University. What to expect at your new campus (orientation, housing, getting around, first-semester tips), written only from the university's own pages, with every item cited.
- Ask Hindsight. Questions answered from your own records, with numbered sources.
Credits, GE and community-college terms work for any of California's 116 community colleges and every university it has ASSIST agreements with. No school is hardcoded. The full plan through graduation, the University guide and the opportunities feed cover San José State first.
How we built it
We started from the questions a transfer student actually asks, in the order they ask them: What counts? What's left? What do I take next? What's worth my time this week? What's my new campus like? Each question became a page. Three rules guided every decision:
- Official sources make the decisions. Credit matches come from ASSIST agreements and deterministic code, never from a model's guess. The model reads documents and explains results.
- Every claim is cited. A credit match, a GE area or a housing deadline always links to where it came from.
- No school is hardcoded. Any community college and any university it has agreements with, chosen in the same order ASSIST uses.
We worked in parallel branches, one per feature, merged through pull requests. After each round we tested full student journeys: a high-school senior, a mid-way transfer student and a student managing an ed plan.
- App: React, TypeScript and Vite for a laptop-first PWA; FastAPI (Python) with Supabase/Postgres; shared contracts in TypeScript, mirrored in Pydantic.
- ASSIST: we read the public site's own API and cache agreements and GE lists, so every match is reproducible and links back to its agreement.
- Claude (Anthropic): reads transcripts and class schedules into rows the student confirms, writes the one-line "why this fits you" reasons, answers Ask Hindsight with citations, and wrote the University guide. For the guide, Claude has to copy a supporting quote for every item, and code drops any item whose quote or numbers aren't on the page it cites.
- Apify: the Cheerio Scraper fetches campus calendars, student-org feeds, hackathon listings and the official pages behind the University guide. Small per-site extractors clean them up. A missing date stays empty instead of being guessed.
- Factory Droid SDK: a background operator runs each campus scan, checks every source's health and self-heals. If a site redesign breaks a source, Droid reads the fetched page, patches only that source's extractor, and rescans to confirm the fix. Permissions are deny-by-default: five campus-scoped tools, edits limited to the broken extractors, at most four per run, and every patch logged as a diff for a human to review. Droid never commits code.
Challenges we ran into
- Getting data out of ASSIST. This was our first wall: scraping ASSIST simply didn't work, because its pages are built in the browser and the data sits behind session tokens. We worked out how the site's own pages call its API and read agreements the same way, with caching. Then we found that agreements differ from year to year, which became the year-of-course rule.
- The user flow. A transfer plan has to feel as trustworthy as something from an institution, but there's so much information that it's hard to know where to begin. Our first versions showed everything at once, and some pages ran over ten screens long. We rebuilt every page to lead with the next decision and keep the details one click away.
- Unpublished years. At one point, 22 of 50 universities showed no majors because they hadn't published 2026–27 agreements yet. Now we fall back to the latest published year and tell the student which year we used.
- Never making things up. The University guide's quote check threw out items that sounded right but weren't on the page.
- Giving an agent real permissions, safely. The SDK's switch for disabling tools also removes Droid's file-editing tool in the current version, so we enforce permissions with our own approval handler.
- No hardcoding. We started with one college and one university, then refactored to a campus registry so every pair works. A test now fails the build if a school name appears in the app code.
Accomplishments that we're proud of
- It works end to end. Upload a transcript and get matched credits, GE progress, a term-by-term plan and a printable ed plan, for any California community college.
- The year-of-course rule: credits a student would lose under the current agreement are recovered under the one that applied when they took the class.
- Everything is cited, from a credit match to a housing deadline.
- A self-healing scraper that's actually locked down.
- 648 backend tests, plus browser checks on every page.
What we learned
- The hard part of transfer isn't finding the data. It's interpreting it for one student, in the right order.
- Deterministic code makes the decisions; language models read and explain. That split made everything checkable.
- Lead with the next step. Students need what's next, with the details a click away.
What's next for Hindsight
Our north star: Hindsight is where a student lands before they land at a university. We want it to become the operating system for a student's path through college.
- Compare schools: one transcript against several universities, side by side.
- Application timeline: UC TAG, UC and CSU applications, ADT and financial-aid deadlines, built from your transfer term.
- Your first semester, planned before it starts: the internships, programs and deadlines that open in August and September, surfaced while you're still at community college.
- Calendar sync and a weekly digest of what's worth your time.
- More campuses with full plans, University guides and opportunity feeds.
- Counselor sharing: send your plan to your counselor and get comments back, so appointments go to the hard questions.
Built With
- anthropic
- apify
- assist.org
- claude
- docker
- factory-droid
- fastapi
- node.js
- postgresql
- python
- react
- render
- supabase
- typescript
- vite
Log in or sign up for Devpost to join the conversation.