-
-
Zenora AI Tutor: Ask questions, get personalized explanations from Google Gemini, track wellness, and use integrated Pomodoro timer.
-
Active learning through practice: AI generates custom flashcards and exercises based on your weak areas.
-
Generate custom quizzes on any topic instantly. Get immediate feedback, detailed explanations, and earn points while tracking your progress.
-
Our unique feature: Wellness Tracking. Check your mood, take breathing breaks, and prevent burnout.
-
Comprehensive analytics dashboard tracking learning metrics and wellness data. AI-powered insights help you learn smarter and stay motivated
💡 Inspiration
Picture this: It's 2 AM. You've been studying for 6 hours straight. Your eyes hurt, your brain is foggy, but you keep going because "good students don't take breaks." You ace the practice test... then burn out completely before the actual exam.
This was me. This is millions of students.
We built Zenora because we realized something critical: Students don't just need better grades - they need better wellbeing. According to research, 75% of college students report feeling overwhelmed, and burnout is the #1 reason students quit learning.
Traditional AI tutors focus only on academic performance. They answer questions, generate quizzes, but completely ignore the human behind the screen. What if an AI could care about your mental health as much as your test scores?
That's when we realized: learning isn't just about what you know - it's about how sustainably you can learn it.
🧠 What It Does
Zenora is the first AI learning platform that tracks your wellbeing, not just your grades.
Core Features:
1. AI Tutor Chat 🤖
- Ask questions on any topic
- Get detailed, student-friendly explanations
- Conversational learning powered by Google Gemini AI
2. Socratic Testing Mode 🎯 (Our Innovation!)
- Traditional AI: Answers YOUR questions (passive learning)
- Zenora: Asks YOU questions (active learning)
- You explain concepts in your own words
- AI evaluates how well you understand - not just right/wrong
- Personalized feedback, motivation, and hints
- Based on the Socratic Method - proven to increase retention by 90%
Research shows that active recall (explaining concepts) leads to retention rates of \( R = 0.9 \) compared to passive reading at \( R = 0.1 \), where \( R \) represents retention coefficient.
3. Wellness Tracking 💚 (Unique!)
- Mood check-ins throughout study sessions
- Burnout prevention alerts
- Breathing exercises and break reminders
- Because we care about you, not just your GPA
4. Smart Study Timer ⏱️
- Pomodoro technique integration (25 min focus + 5 min break)
- Tracks study sessions and break time
- Gamified with streak tracking
- Prevents burnout through healthy study habits
5. Progress Analytics 📊
- Questions asked
- Quizzes completed
- Topics explored
- Study time tracked
- Visualize your learning journey
6. Gamification System 🏆
- Points for every activity
- Badges for milestones
- Level-up system
- Motivational feedback that keeps you engaged
🛠️ How We Built It
Tech Stack:
Frontend:
- React.js - Component-based UI architecture
- Tailwind CSS - Rapid, responsive styling
- Lucide React - Beautiful iconography
- CSS Animations - Smooth micro-interactions
Backend:
- Node.js + Express - RESTful API server
- MongoDB + Mongoose - NoSQL database for flexible data storage
- Google Gemini AI (
gemini-1.5-flash-8b) - Advanced natural language understanding
Development Tools:
- Git & GitHub - Version control
- Postman - API testing
- VS Code - Development environment
System Architecture:
┌─────────────────┐ REST API ┌─────────────────┐
│ React Frontend │ ←───────────────→ │ Express Backend │
│ (Port 5173) │ JSON over HTTP │ (Port 5000) │
└─────────────────┘ └─────────────────┘
│
│ Mongoose ODM
↓
┌─────────────────┐
│ MongoDB Atlas │
│ (Database) │
└─────────────────┘
↑
│ API Calls
┌─────────────────┐
│ Google Gemini │
│ AI Service │
└─────────────────┘
Key Implementation Details:
AI Prompt Engineering:
const socraticPrompt = `You are a Socratic tutor. Generate 5 progressive
questions about ${topic} that test deep understanding.
Questions should go from basic recall to critical thinking.`;
Answer Evaluation Algorithm:
The evaluation score \( S \) is calculated as:
$$S = 0.4C + 0.3M + 0.2L + 0.1D$$
Where:
- \( C \) = Correctness (0-100)
- \( M \) = Completeness (0-100)
- \( L \) = Clarity (0-100)
- \( D \) = Depth (0-100)
Conversation Context Management:
// Store last 5 messages for context
const context = messages.slice(-5).map(m => ({
role: m.role,
content: m.content
}));
// Send to AI with context
const response = await gemini.generateContent({
contents: [...context, newMessage]
});
Development Timeline:
| Time | Focus Area |
|---|---|
| Hour 0-8 | Research, planning, MERN setup |
| Hour 8-20 | AI chat, Socratic mode, quiz generation |
| Hour 20-32 | Wellness tracking, timer, gamification |
| Hour 32-40 | Testing, bug fixes, UI polish |
| Hour 40-48 | Documentation, demo, deployment |
💪 Challenges We Ran Into
1. Evaluating Free-Text Answers is Complex
The Challenge:
Unlike multiple-choice questions with binary right/wrong answers, evaluating free-text explanations requires understanding nuance, context, and depth.
Our Solution:
We designed a multi-dimensional evaluation system:
const evaluationPrompt = `
Analyze this student answer across 4 dimensions:
Question: "${question}"
Student Answer: "${userAnswer}"
Evaluate (0-100 each):
1. Correctness: Is the core concept right?
2. Completeness: Did they cover all key points?
3. Clarity: Is the explanation clear and logical?
4. Depth: Did they go beyond surface level?
Return JSON with scores, feedback, strengths, areas to improve, and a hint.
`;
Result: Students get constructive feedback like "You explained the concept well but missed mentioning edge cases" instead of just "75% correct".
2. Managing Multi-Turn Conversation Context
The Challenge:
Gemini AI is stateless - it doesn't remember previous messages. Each request is independent.
Our Solution:
Implemented conversation memory system:
- Store full chat history in MongoDB
- Send last 5 messages as context with each new request
- Session IDs to track unique conversations
- Timestamp-based session expiration (30 min inactivity)
javascript const Chat = new mongoose.Schema({ userId: String, sessionId: String, messages: [{ role: String, content: String, timestamp: Date }], context: String });
Result: Seamless conversations where AI remembers what you discussed!
3. Preventing AI Hallucinations
The Challenge:
AI can generate plausible-sounding but incorrect information. In education, accuracy is critical.
Our Solution:
Multiple safety layers:
- Low temperature setting (0.3) for factual content, higher (0.7) for creative
- Explicit prompts: "Be accurate. If unsure, say 'I'm not certain about this'"
- Disclaimer on responses: "AI-generated - verify important facts"
- User feedback system to flag incorrect answers
- Fact-checking mode (future): Cross-reference with reliable sources
javascript const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash-8b", generationConfig: { temperature: 0.3, // Lower = more factual topP: 0.8, topK: 40 } });
4. MongoDB Atlas Connection Issues
The Challenge:
Initial deployment failed due to IP whitelist restrictions on MongoDB Atlas.
The Journey:
- Local MongoDB (dev) ✅
- Atlas with IP whitelist → Connection refused ❌
- Whitelist specific IPs → Still issues in different networks ❌
- Whitelist all IPs (
0.0.0.0/0) for hackathon ✅
Lesson Learned: For production, use environment-based IP rules + VPN for security.
5. Time Management & Scope Creep
The Challenge:
48 hours goes FAST. We had ambitious plans for 15+ features.
Our Approach:
Created a priority matrix:
| Feature | Impact | Effort | Priority |
|---|---|---|---|
| AI Chat | High | Medium | ✅ Must Have |
| Socratic Mode | Very High | High | ✅ Must Have |
| Wellness | High (Unique!) | Medium | ✅ Must Have |
| Timer | Medium | Low | ✅ Should Have |
| Social Features | Medium | Very High | ❌ Cut |
| Video Integration | Low | High | ❌ Cut |
Result: Focused on features that make us unique, not just complete.
6. Making AI "Feel" Intelligent
The Challenge:
Early versions felt like a glorified search engine, not an intelligent companion.
Our Solution:
Added personality and empathy:
- Encouraging language: "Great question!", "You're making progress!"
- Contextual responses: References previous questions
- Adaptive difficulty: Adjusts explanation complexity based on user level
- Humor (subtle): "Even Einstein struggled with this - you're in good company!"
Before:
Q: "What is recursion?"
A: "Recursion is when a function calls itself."
After:
Q: "What is recursion?"
A: "Great question! Recursion is like those Russian nesting dolls -
a function that calls a smaller version of itself. Think of it as
breaking big problems into identical smaller ones. Want an example?"
🎓 What We Learned
Technical Insights:
1. Prompt Engineering is an Art, Not Science
We spent hours refining prompts. Small wording changes = massive output differences.
Example:
- ❌ "Explain recursion" → Dry, textbook answer
- ✅ "Explain recursion like a patient tutor to a curious student" → Engaging, clear answer
Key Learning: Specificity + context + tone instructions = better AI responses.
2. State Management at Scale
Managing simultaneous states (timer running, chat active, quiz in progress, wellness check-in) was complex.
Solution: React Context API + localStorage for persistence.
const AppContext = createContext();
const AppProvider = ({ children }) => {
const [timer, setTimer] = useState(loadFromStorage('timer'));
const [chat, setChat] = useState(loadFromStorage('chat'));
const [wellness, setWellness] = useState(loadFromStorage('wellness'));
// Persist to localStorage on change
useEffect(() => {
saveToStorage('timer', timer);
}, [timer]);
return (
<AppContext.Provider value={{ timer, chat, wellness }}>
{children}
</AppContext.Provider>
);
};
3. Performance Matters for UX
Initial load: 3.5 seconds 😱
After optimization: 1.2 seconds ✅
Techniques used:
- Code splitting with
React.lazy() - Lazy loading components
- Image optimization
- Memoization with
useMemoanduseCallback
4. Error Handling is Not Optional
AI APIs fail. Networks timeout. Users do unexpected things.
Every API call now wrapped in:
try {
const response = await geminiAPI.call();
return response;
} catch (error) {
console.error('AI Error:', error);
return {
fallback: true,
message: "I'm having trouble thinking right now. Please try again!"
};
}
Product Insights:
1. Differentiation > Feature Completeness
Initial thought: "Let's build ALL the features!"
Reality: Better to be uniquely good at one thing than mediocre at everything.
Our wellness tracking makes us memorable. That's worth more than 10 generic features.
2. User Feedback is Gold
We tested with 5 students mid-development. Their feedback:
- "Finally, an AI that doesn't make me feel like a machine!" → Validated wellness approach ✅
- "Can I use voice input? Typing is slow" → Added to roadmap 📝
- "The AI responses are too long" → Adjusted max tokens ✅
3. Learning Science > Gut Feelings
We researched educational psychology:
- Active Recall: 2x better retention than passive reading
- Spaced Repetition: Learning curve follows \( R(t) = e^{-t/S} \) where \( S \) is spacing interval
- Immediate Feedback: Crucial for learning reinforcement
Built features based on research, not assumptions.
4. Demo Video = 50% of Your Grade
Judges see your video before trying your app. If the video doesn't hook them in 10 seconds, they skip.
Our approach:
- Start with relatable problem (burnout)
- Show the "WOW" feature (Socratic mode) early
- Keep it under 3 minutes
- End with clear call-to-action
Hackathon Meta-Learnings:
1. Document As You Build
Writing README and Devpost at the end = nightmare. Should've done it incrementally.
2. Deploy Early, Deploy Often
We deployed 6 hours before deadline and found bugs we didn't catch locally. Deploy early for buffer time!
3. Sleep Matters
Tried to pull all-nighter → Made silly bugs at 4 AM → Fixed them after 3-hour nap.
Lesson: 6 hours of smart work > 12 hours of tired work.
🚀 What's Next for Zenora
Immediate (Next 2 Weeks):
- [ ] Voice Input - Ask questions by speaking (accessibility++)
- [ ] Mobile App - React Native version
- [ ] Multi-Language Support - Hindi, Spanish, French, Mandarin
- [ ] Dark/Light Mode Toggle - User preference
Short-Term (Next 2 Months):
- [ ] Spaced Repetition System - AI schedules review sessions
- [ ] Collaborative Study Rooms - Learn with friends in real-time
- [ ] Teacher Dashboard - For educators to track student progress
- [ ] Subject-Specific Modes:
- Math Solver with step-by-step solutions
- Code Debugger for programming
- Essay Reviewer with constructive feedback
Medium-Term (Next 6 Months):
- [ ] Emotion AI - Detect frustration/confusion through text patterns
- [ ] Personalized Learning Paths - AI generates custom curricula
- [ ] Peer Matching - Connect students who can help each other
- [ ] Integration with LMS - Canvas, Moodle, Google Classroom
- [ ] Calendar Integration - Auto-schedule study sessions
- [ ] Notion/Obsidian Sync - Export notes seamlessly
Long-Term Vision (1-2 Years):
- [ ] Mental Health Partnerships - Integrate with counseling services
- [ ] Research Initiative:
- Measure learning outcomes (retention after 1 week, 1 month)
- A/B test: Socratic vs. traditional methods
- Publish findings on AI-assisted active learning
- [ ] University Partnerships - Pilot programs at 10 universities
- [ ] Mobile-First Redesign - PWA for offline learning
- [ ] AR Study Mode - Visualize concepts in 3D space
Moonshot Ideas:
- [ ] EEG Integration - Detect actual focus levels via brain waves
- [ ] VR Study Environments - Immersive learning spaces
- [ ] AI Study Groups - Multiple AI personas debate topics
- [ ] Blockchain Credentials - Verifiable learning achievements
🌟 Impact & Vision
The Problem We're Solving:
75% of students experience burnout. Traditional education prioritizes grades over wellbeing, creating a toxic cycle:
- Student studies hard
- Feels stressed/overwhelmed
- Burns out
- Performance drops
- Studies even harder (repeat)
Our Solution:
Zenora proves you can ace your exams AND take care of your mental health. We're not just building an AI tutor - we're building a compassionate learning companion.
By 2030, We Envision:
Quantitative Goals:
- 🎯 1 million students using Zenora globally
- 🎯 50% reduction in self-reported burnout among users
- 🎯 20% improvement in average retention rates
- 🎯 100 university partnerships worldwide
Qualitative Goals:
- Shift education culture from "grades at all costs" to "sustainable learning"
- Normalize mental health check-ins in academic settings
- Prove that AI can be empathetic, not just intelligent
Research We'll Contribute:
- Published papers on AI + active learning effectiveness
- Open-source datasets on learning patterns (anonymized)
- Best practices guide for AI in education
Our North Star:
"Every student deserves to learn without burning out."
We measure success not just by grades improved, but by students who stay healthy, motivated, and curious.
💖 Built With Love
This project represents our belief that education technology should be human-first, not feature-first.
To every student who's ever:
- Studied until 3 AM and felt guilty for sleeping
- Felt overwhelmed by endless coursework
- Wondered if they're "not smart enough"
- Sacrificed mental health for grades
This is for you. You deserve better. 🌟
🙏 Acknowledgments
- CS Girlies Community - For creating this inclusive, empowering hackathon
- Google Gemini Team - For providing accessible, powerful AI
- Learning Science Pioneers:
- Dr. Barbara Oakley (Learning How to Learn)
- Dr. Cal Newport (Deep Work)
- Research on Socratic method and active recall
- Beta Testers - 5 students who gave honest, invaluable feedback
- Open Source Community - React, Node.js, MongoDB teams
- Coffee - Lots and lots of coffee ☕ (and tea 🍵)
📜 License & Credits
- Code: MIT License (open source after hackathon)
- AI Service: Google Gemini API
- Icons: Lucide React
- Fonts: Inter (Google Fonts)
Built in 48 hours with passion, caffeine, and a vision for better education. 🚀
"Learn smarter, not harder. Learn sustainably, not burnout-fully."
— Team Zenora
🌐 Try It Live | 💻 View Code | 📹 Watch Demo
#AIForGood #EdTech #MentalHealth #HackathonProject #CSGirlies2025
Log in or sign up for Devpost to join the conversation.