Inspiration Schoolwork lives in Google Classroom, but the experience is noisy: instructions get buried, due dates scatter across courses, and “what should I actually do tonight?” is harder than it should be. We wanted one place that respects real assignments from Classroom and helps students act on them—not another generic chatbot that ignores their syllabus.
What it does ClassFlow syncs courses and assignments, surfaces deadlines and context in a single dashboard, and layers AI on top of your actual work: readable summaries, study breakdowns, mini lesson cards, practice mode with a floating tutor, Kahoot-style quiz generation, grades tracking, and flows that tie back to Google (e.g. opening work where it already lives). It’s built to reduce tab-hopping and decision fatigue.
How we built it We used Next.js (App Router) for the web app and dashboards, Supabase for auth and data, and Google APIs for Classroom, Calendar, Drive, and Mail. AI features go through API routes (and Supabase Edge Functions / n8n where enrichment is orchestrated). The UI is React + Tailwind, with a shared layout, dynamic loading states, and client islands for heavy widgets (e.g. the tutor).
Challenges we ran into Keeping Google OAuth scopes, syncing, and RLS-lined data correct while the product grew; handling messy real-world assignment text (hydration, dates, bad JSON from models); schema drift between environments (e.g. columns like assignment_kind not everywhere); and separating real app bugs from browser extension console noise so we debug the right layer.
Accomplishments that we’re proud of Shipping an end-to-end loop: Classroom → dashboard → AI insights → practice without pretending the assignments are fictional; a tutor that uses page and assignment context; resilient enrichment and Kahoot flows with fallbacks; and a grades area that makes progress feel visible, not buried in Classroom.
What we learned Students (and demos) judge products in seconds: fast empty states, clear trust (“your real work”), and predictable AI behavior beat clever prompts. Investing in normalization and sanitization of model output pays off immediately in fewer crashes and less weird SSR. Ops reality—migrations, column presence, forced pushes—belongs in the checklist next to features.
What’s next for Classflow Deeper classroom analytics (patterns, time-to-complete, gentle nudges), smarter notifications that don’t spam, offline-friendly summaries, broader assignment types and rubric-aware hints, teacher- or school-facing views if we expand beyond the student core, and continuous tightening of latency and cost on AI paths so the product stays snappy at scale.
Built With
- featherless
- opencode
- vibecode
Log in or sign up for Devpost to join the conversation.