First Place for Best Education Hack 🏆
We set out to create a tool that helps students build and improve notes collaboratively, not just take better notes individually. Our goal is to streamline the note-taking process, make studying more effective, and turn a class’s collective knowledge into personalized feedback.
The magic of High Note grows as more students contribute. Every note added strengthens the class dataset, making the comparative analysis more thorough and the AI feedback more insightful. Students can then see:
What they nailed,
What they missed,
And how their notes stack up against the crowd.
It’s not just about taking notes, it’s about learning together.
What it does
High Note is an AI-powered study assistant that helps students take their note-taking game to the next level. Whether you’re preparing for a test, reviewing a lecture, or just comparing notes with friends, High Note makes studying smarter and more collaborative.
Students can create or join sessions (aka lobbies) for specific classes and upload or paste in their notes. Once submitted, High Note uses advanced Natural Language Processing (NLP) to extract key concepts and compare them with notes from other students in the same session.
It then builds a personalized AI-powered feedback dashboard that:
📊 Evaluates the quality of your notes
📚 Highlights key concepts you covered well
⚠️ Suggests important concepts you missed and additions
💡 Identifies areas for improvement
🌟 Identifies your strengths as a note-taker
And the best part?
It generates a personalized "High Note" — a copy of your original notes, intelligently annotated and enhanced with suggestions and concepts pulled from your peers’ notes, so you can study better, faster, and more effectively.
How We Built It
High Note is powered by a full-stack blend of modern tools and AI services to create a seamless, intelligent note-enhancement experience.
Backend
We built our backend using FastAPI, which gave us a lightweight, high-performance framework to handle API routes, file uploads, and session management.
User-submitted notes are processed with RAKE (Rapid Automatic Keyword Extraction) to extract key concepts.
We then extract key concepts from the entire class dataset stored in MongoDB, and run a comparative analysis between the individual notes and class-wide concepts.
Two dynamic semantic similarity thresholds are calculated and applied:
- One filters out duplicate ideas within student notes.
- The other identifies whether concepts between users' notes and the class dataset match closely enough to count as the same "topic."
🧠 AI Integration
We integrated Google’s Gemini API (Flash 1.5) to analyze extracted concepts, providing:
- Concept hierarchy and relationships
- Learning gaps and missing ideas
- Personalized study recommendations
The Gemini model helps us enhance the user's notes and generate what we call a "High Note" - a refined, annotated version of their original content.
Frontend
Our frontend is built with React and Tailwind CSS, allowing us to create responsive UI components and smooth navigation across views.
Users can create/join lobbies, upload notes, view dashboards, and receive live feedback, all within a sleek interface.
Authentication & UX
We implemented protected routes to ensure only authenticated users can access sessions, submit notes, and view AI-generated feedback.
Each note submission contributes to the collective learning dataset, continuously improving feedback quality for everyone.
Output & Feedback
After analysis, users can download their High Notes, enriched with improved structure, missed concepts, and insights.
Every new submission feeds back into our MongoDB database, helping improve class-wide suggestions over time.
Challenges we ran into
Deployment. We ran out of time to be able to deploy and were only able to have our amazing idea running locally.
One of the biggest challenges was integrating the High Note annotation system with our NLP pipeline. We had to design it in a way that allowed Google Gemini to generate feedback based on class-wide concepts, without accidentally repeating or summarizing the user’s own notes — this required careful prompt engineering and smart data separation.
We also had to:
Tune semantic similarity thresholds to avoid false positives or overly generic matches.
Align our React frontend with our FastAPI backend to ensure real-time concept analysis and feedback rendering.
Work with RAKE, MongoDB, and Gemini all in the same flow while keeping performance responsive.
And, of course, navigating a team project in a high-pressure environment meant dealing with last-minute bugs, Git merges, and sleepless decision-making.
Accomplishments That We're Proud Of
We built a fully functional NLP pipeline that extracts, compares, and enhances notes — all in one weekend.
Created a seamless React + FastAPI full-stack integration from scratch.
Managed real-time note processing and feedback generation, without relying on pre-made tools or templates.
Pulled it off with great team communication, even when our repo was a little... chaotic.
And hey, we didn’t sleep, but we shipped something awesome.
What We Learned
Frontend-first planning matters. Starting backend logic too early without syncing with frontend components cost us time.
Setting up protected routes and user auth early helps prevent late-stage issues with session access.
Using Gemini AI requires clear prompts and strict input-output formatting — great prompt design is half the battle.
Realized the power of semantic thresholds in NLP — too strict, and nuance gets lost; too loose, and everything matches everything.
What's Next for High Note
Deployment: Our top priority is getting this online and shareable for students everywhere.
Smarter AI Prompts: Enhancing Gemini feedback with more structured explanations and interactive suggestions.
Compare with school readings and documents
Analyze Job Descriptions and Resume's
UI Polish: Improving usability, adding onboarding steps, and expanding session management tools.
Built With
- css
- fastapi
- gemini
- javascript
- mongodb
- natural-language-processing
- protected-routes
- python
- rake
- react
- sentence-transformers
- user-auth
Log in or sign up for Devpost to join the conversation.