πŸ’‘ Inspiration

It all started the night before an exam. I wanted to go to the gym, but I also had to study β€” and my notes looked like an archaeological mystery. Between caffeine, panic, and pre-workout energy, I had a thought:

β€œWhat if my notes could just explain this stuff to me?”

That one late-night thought turned into NoteSage β€” an AI tutor that reads your handwritten notes, understands them, and literally talks back to you like your own personal professor. The goal? Make studying feel less like a chore and more like a conversation.

🧠 What It Does

NoteSage turns handwritten notes into an interactive, voice-powered learning experience. πŸ“ Upload an image of your notes or a screenshot. πŸ” The app uses OCR (Optical Character Recognition) to extract your handwriting into text. πŸ€– Gemini 2.5 Flash analyzes the text, understands the concepts, and generates a clean explanation. πŸŽ™οΈ ElevenLabs gives that explanation a natural voice, transforming your notes into an AI tutor that literally speaks to you. πŸ’¬ You can ask follow-up questions, and the tutor answers β€” both in text and voice β€” keeping the learning session conversational. πŸ” Auth0 handles user authentication, so you can log in, save your history, and replay explanations anytime. It’s like ChatGPT, your notebook, and your favorite podcast professor all fused into one.

πŸ› οΈ How We Built It

We built NoteSage using Next.js (Pages Router) with a full-stack approach β€” no extra backend, just API routes: /api/ocr β†’ runs Google Cloud Vision / Tesseract.js for text extraction. /api/explain β†’ calls Gemini 2.5 Flash for contextual, human-like explanations. /api/speak β†’ connects to ElevenLabs to convert text into voice. /api/auth β†’ integrates Auth0 for secure login and user history.

The UI is simple and fast β€” built with clean CSS (no Tailwind bloat). Users can upload notes, see recognized text, hear explanations, and chat with the AI tutor. We deployed the entire system on Netlify, making it quick to demo and scalable.

βš”οΈ Challenges We Ran Into

The Gemini SDK and Next.js Turbopack didn’t get along β€” we ended up using the REST API directly. OCR sometimes couldn’t handle messy handwriting (especially after a long day of note-taking). Getting ElevenLabs audio to sync with real-time responses took fine-tuning. Managing chat context while keeping responses short and natural required prompt engineering finesse.

And, of course, the classic hackathon struggle β€” balancing code, caffeine, and collapsing sleep schedules.

πŸ† Accomplishments That We’re Proud Of

We actually made our notes talk back β€” and they sound good. Successfully integrated three different AI systems (OCR, Gemini, and ElevenLabs) into one smooth pipeline. Built a fully functional conversational tutor with voice, context, and chat in less than 10 hours. Created something genuinely useful β€” a tool that could help students everywhere learn faster and smarter.

Managed to still get a workout in somewhere between debugging and deploying. πŸ’ͺ

πŸ“š What We Learned

AI systems work best when you design them like humans: each one doing what it’s good at. Prompt design matters β€” Gemini gives wildly different results depending on phrasing. ElevenLabs voices make explanations more immersive and easier to focus on. Chaining multiple APIs is like babysitting toddlers β€” patience, order, and retries are key. And most importantly: you can build something smart and fun even on zero sleep.

πŸš€ What’s Next for NoteSage

Integrating Gemini Vision to analyze handwritten equations, graphs, and diagrams. Letting users pick different voice personalities for their tutor (chill, hype, or sarcastic). Adding multilingual support, so students can learn in their preferred language. Launching a mobile app for learning on the go β€” study between sets at the gym. Introducing lesson summaries and quizzes generated from your notes to reinforce learning.

NoteSage: because sometimes your notes need to explain themselves before your professor does.

Built With

Share this project:

Updates