-
-
Index page / Landing page
-
Log in / Sign in page
-
Gemini generated Flashcard related to the syllabus
-
Uploading the syllabus
-
Ai (Gemini) Makes sure it has the right syllabus
-
The tablemode which allows the students to lock in without any distractions
-
Progress / Leaderboard
-
Games to make studying fun (Has to be a session or 3-6 people)
-
The Gemini AI also gives you questions to work on together once the session is active.
-
Once you enter a room
-
The progression of what the AI has learnt through you / Topics completed by you
-
Join a room
-
Create a room
Inspiration
We built CampFire around a familiar problem: studying together often turns into scrolling together. Even when everyone stays focused, it can be hard to tell whether we actually understand the material. Our idea was to combine phone-free focus with the Feynman technique—explaining a concept in your own words to reveal what you understand and what still needs work.
What it does
CampFire brings group study into one shared space. Students can:
- Create rooms, invite teammates, and organize their syllabus into a learning map.
- Explain topics and answer Gemini-generated follow-up questions to check their understanding.
- Use Tabledown, a shared focus timer that runs while everyone’s last recorded phone position is face-down.
- Answer syllabus-based questions together, with each participant submitting their own answer.
- Play Spark Round, The Ember Riddle, and Two Truths, One Lie, or review generated flashcards.
- Hear questions, feedback, and revealed riddle clues through optional ElevenLabs narration.
- Track progress through topic statuses and a room leaderboard. Auth0 provides a login flow with Google sign-in, while profiles and study data remain in Supabase. ##How we built it We built the frontend with React, Vite, and Tailwind CSS, using a shared design system with light and dark themes. Supabase handles the database, persistent sessions, and Realtime updates. Google Gemini powers syllabus analysis, teach-back evaluation, questions, games, and flashcards. ElevenLabs adds optional narration through a server-side API route. We integrated Auth0 through a server-side identity bridge that preserves the UUID-based profiles our other features already depend on. Provider secrets stay on the server, and Vercel hosts the frontend and API routes together. Our four-person team worked across features, coordinating shared schemas and integration changes. ##Challenges we ran into One major challenge was handling phone sensors in a browser. Permission requirements, unreliable readings, and phones going to sleep made shared focus tracking more complicated than a simple orientation check. We added explicit permission controls, manual simulation, and persistence of the last reported state. AI generation introduced another challenge: large documents, slow responses, rate limits, and inconsistent output. We improved validation, error handling, and generation workflows so failures wouldn’t erase useful progress. Authentication also required careful integration. Auth0 identities had to coexist with Supabase’s existing UUIDs and access policies. Deployment settings and callback addresses exposed differences between environments, and cross-browser sign-in remains an area we’re refining. ##Accomplishments that we're proud of We brought focus tracking, collaborative learning, and AI feedback into one working study experience. We’re especially proud of making the quizzes syllabus-based, keeping answers accountable to each participant, and adding voice as an optional enhancement that never blocks the text experience. We also improved the interface through repeated testing: clearer questions, readable themes, better spacing, simpler game controls, and persistent focus timing across navigation. ##What we learned We learned that integration deserves as much attention as individual features. A login screen opening doesn’t prove that the complete authentication flow works, and a feature working locally doesn’t guarantee it works in production. We also learned to design around uncertainty. Sensors can stop reporting, AI services can be unavailable, and audio can fail. Clear fallback states and preserved progress make those limitations manageable. Most importantly, we learned that useful collaboration needs deliberate rules—not just a shared screen. ##What's next for CampFire Our next priorities are improving Safari and mobile sign-in reliability, making phone setup simpler, and strengthening focus-session synchronization across devices. We also want to improve question quality, give students clearer explanations of their mistakes, and add spaced repetition to flashcards. Longer term, we’d like to test CampFire with real study groups and use their feedback to decide which features genuinely help them learn.
Built With
- auth0
- css
- device-orientation-api
- elevenlabs-api
- git
- github
- google-gemini-api
- google-oauth
- html
- javascript
- lucide-react
- node.js
- pdf-lib
- postgresql
- react
- react-router
- react-testing-library
- sql
- supabase
- tailwind-css
- typescript
- vercel
- vite
- vitest
Log in or sign up for Devpost to join the conversation.