-
-
Knovi Landing page
-
Knovi Auth Page
-
Knovi Dashboard
-
Discover Page — Student Cards
-
Discover Page — Student Profile Panel
-
Chat Page
-
AI Learning Room — AI Teaching
-
AI Learn — Subject/Study Sessions/Saved Resources/ Learning Path Browse
-
AI Learning Room — Checkpoint Question
-
Progress Page
-
Mobile View — AI Learning Room
-
Mobile View — Dashboard
Inspiration
Students often get stuck studying alone — not because help doesn’t exist, but because it’s hard to find a clear path from “I don’t understand this” to “I can prove I understand this.”
I wanted one place where an AI tutor teaches concepts step by step, and classmates can challenge each other on what they both actually learned.
That idea became Knovi.
KnoAI is the teacher. Peers are practice partners through chat and fair Quiz Battles — not peer tutors replacing the AI.
What Knovi Does
Knovi is a full-stack student learning platform built around curriculum-aware AI tutoring and peer challenges.
The core experience is the KnoAI Learning Room. Students move through a curriculum hierarchy — subject → topic → concept — set how familiar they are with the idea, and enter a guided session. KnoAI teaches step by step, checks understanding, supports practice, reteaches when needed, and helps students work toward mastery. Math is rendered with KaTeX so expressions stay readable.
Knovi also lets students:
• Discover classmates with learning overlap • Chat in real time • Start 1-v-1 Quiz Battles on shared learned concepts (same timer length for both, independent answers, results after the last question) • Track progress with XP, levels, streaks, badges, and certificates • Save useful AI explanations • Browse courses and tutorials
The goal is simple: learn with AI, then test what you learned with peers.
How I Built It
Knovi uses a React + Vite frontend and a FastAPI backend with PostgreSQL.
Frontend: React, React Router, custom CSS, KaTeX for math, and WebSockets for live chat and challenge updates.
Backend: FastAPI, SQLAlchemy, Pydantic, WebSockets, and PostgreSQL. Supabase provides the database and storage. Cloudflare Pages hosts the frontend; Railway hosts the backend.
AI: Google Gemini as the primary provider, with Groq as a fallback.
A major design choice was making learning state-driven instead of treating the AI like a normal chatbot. Sessions have server-controlled phases (teaching, practice, evaluation, reteaching, completion). The backend stays authoritative for important transitions so progress stays consistent across refreshes and reconnects.
Challenges I Faced
The hardest part was making the AI learning experience behave like a real learning system, not a chat window.
I had to:
• Keep questions and practice tied to what was actually taught • Preserve learning progress across refreshes • Handle multiple session states cleanly • Let the backend own critical transitions
I also had to connect many systems in one product: authentication, curriculum data, AI generation, real-time chat, challenges, progress tracking, and deployment.
Debugging the interaction between the React frontend, async FastAPI backend, database, and AI services was a large part of the work.
Accomplishments that I'm proud of
• Built entirely solo at 15 years old, using AI tools to assist implementation while owning all product decisions and architecture. • A working curriculum-aware AI Learning Room with guided teaching and practice • Server-driven learning phases instead of free-form chatbot replies • Peer Quiz Battles based on concepts both students have learned • Real-time chat and discovery for classmates • Progress tracking (XP, streaks, badges) wired into learning activity • A deployed full-stack product students can try in the browser
What I Learned
Building an AI product is much more than sending prompts to a model.
The application around the model matters just as much: state management, validating AI output, reliable database flows, failure handling, and keeping the experience understandable when something goes wrong.
I also deepened my experience with full-stack development, WebSockets, PostgreSQL, separate frontend/backend deployment, and designing an interactive learning UX.
What's Next
Make KnoAI more adaptive to each student's strengths and struggles — personalising the teaching approach based on what they find difficult
- AI Voice Room — a voice-based learning session where KnoAI teaches through audio, making learning feel more natural and accessible, especially for students who learn better by listening than reading
- Group Learning Rooms — multiple students enter the same KnoAI session together, KnoAI teaches the concept to the whole group, asks each student to explain it back, and the group challenges each other together. The social pressure of learning with peers makes understanding stick better
- Richer challenge feedback — weak topics, review suggestions, and personalised study recommendations based on challenge performance
- Deeper curriculum coverage and learning analytics so teachers and students can track progress over time
- Stronger notification and retention loops so learning stays consistent
- Complete the peer Quiz Battle system
- finish the real-time battle flow,
- result comparison, and XP rewards
- for challenge winners
Note: The peer Quiz Battle / Challenge system is partially implemented — the matching and session flow are functional but the full battle experience is still being refined. All other features shown in the gallery are fully working.
I want Knovi to stay clear: AI teaches, peers challenge, progress is earned.
AI Usage Disclosure
AI tools - Claude, Chatgpt, Kiro and Grok were used during development for brainstorming, UI design and implementation, debugging, learning technical concepts, and assisting with implementation.
I focused on understanding the code and the product decisions behind it.
AI is also part of the finished product architecture: Google Gemini is the primary AI provider for tutoring and generation, with Groq as a fallback.
Technologies
- React
- Vite
- FastAPI
- Python
- PostgreSQL
- SQLAlchemy
- Supabase
- Google Gemini
- Groq
- WebSockets
- Firebase Authentication
- Cloudflare Pages
- Railway
Built With
- cloudflare
- fastapi
- firebase
- gemini
- groq
- javascript
- katex
- postgresql
- python
- railway
- react
- sqlalchemy
- supabase
- vite
- websockets
Log in or sign up for Devpost to join the conversation.