StudyTransit
Find your flow. AI-powered study space discovery and focus sessions for students.
Created by Noel Negron & Zaryaab Khan
Built for TreeHacks 2026.
Inspiration
We kept seeing students at Columbia wander between libraries, check crowdedness, and lose focus before actually studying. Its often that at school, especially during midterms, we spend almost 30 minutes looking for seats at school that actually sitting down and studying. We wanted to cut that friction: a single app to discover the right space, lock in with a focus timer, and track progress with streaks and exam prep. StudyTransit brings discovery, focus, and accountability into one flow, so you spend less time hunting and more time studying.
What It Does
StudyTransit helps University students discover the right study spaces, stay focused with a timer, and track progress with streaks and exam prep—all in one app.
| Page | Description |
|---|---|
| Home | Browse Columbia libraries with live occupancy data. See Best Bet Now for the least crowded library, personalized using known user preferences. Rate spaces (1–5) on crowdedness to contribute crowd-sourced data. |
| Discover | Set preferences: intensity (deep/steady/social), noise level (silent/busy/buzz), group size, session length. Describe needs in plain text. AI recommends 3–5 study spaces with personalized reasons. |
| Lock In | Pick task type (exam/reading/writing/project), energy level, and your current space. Run a focus timer. Rate your focus after each session and get AI coaching tips. |
| Stats | Weekly dashboard: study streak, focused minutes, completed sessions. Set weekly goals. Add exams manually or upload a syllabus PDF to extract dates and study topics. Get AI insights and exam-specific tips. |
How We Built It
React + Vite SPA with React Router. Libraries and study spaces are stored in Firebase (collection Libraries with subcollection spaces per library). Sessions, exams, ratings, and weekly goals live in LocalStorage. Claude is preferred for AI; OpenAI is fallback. PDF parsing uses pdfjs-dist, then Claude extracts exam dates and study topics. Discover uses getAISpaceRecommendations for AI-curated space matches (with rule-based demo fallback when no API key).
Challenges We Ran Into
- Syllabus parsing – PDFs vary a lot. We used text extraction plus Claude to get exam dates and topics, with fallback "recommended" topics when parsing failed.
- Claude from the browser – CORS and direct-browser access required some setup. We iterated on prompts and models until AI responses were consistent.
- Scope – Balancing AI features (recommendations, syllabus parsing, insights, tips) with a simple UI. We cut or simplified features to keep the core flow clear.
Accomplishments That We're Proud Of
- End-to-end flow – Discovery → Lock In → Stats, all working together.
- AI integration – Multiple AI touchpoints (recommendations, syllabus parsing, study tips, weekly insights) with fallbacks when the API key is missing.
- Exam workflow – Upload a PDF, get exams and study to-dos, and check them off as you go.
- Clean, themed UI – Columbia University branding with consistent footer nav and modals.
What We Learned
- AI works well for structured tasks (parsing syllabi, summarizing stats, generating tips) when prompts are clear and outputs are constrained.
- LocalStorage is enough for a demo; sessions, exams, and ratings persist without a backend.
- Small UX choices (shorter demo timer, simpler reflection, no clutter) make the app feel calmer and easier to use.
What's Next for StudyTransit
- Campus integration – Real library occupancy or space availability from schools outside of Columbia.
- Backend + auth – Sync sessions and exams across devices and users.
- Virtual study rooms – Zoom integration for one-click group study links.
- Mobile app – Native experience for on-the-go discovery and focus.
Tracks We Are Applying To
We are in the Education track (sponsor: Zoom). TreeHacks 2026 Education Grand Prize.
StudyTransit fits the Education track by:
- Helping students find the right study spaces (libraries, quiet rooms, group areas)
- Lock In focus timer for productive study sessions
- Stats dashboard with streaks, exam deadlines, and AI-powered study tips
Tech Stack
- Frontend: React 18, Vite 6, React Router 6
- Data: Firebase Firestore (libraries, spaces, capacity)
- AI: Anthropic Claude (primary), OpenAI (fallback). Demo mode when no API key.
- PDF: pdfjs-dist for syllabus text extraction + AI for exam/topic parsing
- Charts: Recharts for space occupancy trends
- Persistence: LocalStorage for ratings, focus sessions, exams, goals
Try It
cd react-app
npm install
npm run dev
Built With
- anthropic
- firebase
- javascript
- jsx
- react
- vite

Log in or sign up for Devpost to join the conversation.