Inspiration
College in India is chaotic. Notes get shared in WhatsApp groups, buried in personal drives, or scribbled in notebooks that never leave the room. With 40 million+ students across thousands of colleges, there's no shared knowledge layer — every batch starts from scratch.
We wanted to fix that. Not with another file-sharing tool, but with an actual agent that could do something with those notes — search them intelligently, teach from them, quiz you, and remember where you struggle.
What it does
Notely is a full-stack agentic academic platform built for Indian college students.
Upload: Students upload notes as text or photos. Gemini Vision OCR extracts and auto-classifies the content (subject, topic, semester, title) before it hits the database. Every note gets a quality score, vector embedding, and is instantly searchable.
NoteBot — the agent: A Gemini 2.5 Flash powered conversational agent that doesn't just answer questions. It:
- Runs semantic search over the entire notes database using MongoDB Atlas Vector Search
- Generates flashcards, quizzes, and summaries on demand from real student-uploaded notes
- Builds a 24-hour personalized study plan based on your upcoming exam
- Activates Emergency Exam Mode — a structured crisis plan when you're cramming the night before
- Remembers your weak and strong topics across sessions and adapts its responses accordingly
Community: Upvoting, quality badges, a live leaderboard, and a comment system make contribution feel rewarding, not like homework.
How we built it
The entire stack runs on Google Cloud:
- Backend: FastAPI on Cloud Run, fully containerized via Docker
- AI Brain: Gemini 2.5 Flash via Vertex AI — both the agentic chat loop and the OCR pipeline
- Database & Search: MongoDB Atlas as the primary database, with Atlas Vector Search powering semantic note retrieval. The official MongoDB MCP Server is bridged into the agent's tool loop, giving NoteBot live, read/write access to the Atlas cluster during every conversation
- Embeddings:
text-embedding-004via Vertex AI — every note gets a 768-dimension vector on upload - Frontend: A single-page app served statically, with zero frameworks — just clean HTML/CSS/JS
The agent loop is custom-built: Gemini reasons over the student's query, decides which tool to call (search, quiz, flashcard, leaderboard, study plan), executes it against MongoDB, and returns a structured, helpful response — all in one turn.
Challenges we ran into
Making the MCP bridge production-safe: The official MongoDB MCP Server is designed for local development. Running it reliably inside a Cloud Run container required building a custom async subprocess bridge that spawns the MCP process at startup, keeps it alive, and routes tool calls to it during the agent loop. Getting this stable under cold-start conditions was the hardest technical challenge.
Vector Search cold starts: Atlas Vector Search indexes need a warm-up period. We handled this with automatic retry logic and graceful fallback to keyword search when the vector index wasn't ready.
OCR reliability: Gemini's JSON output for handwritten notes occasionally returns null for fields like semester. We built a regex-based fallback parser to handle malformed responses so uploads never silently fail.
Quality scoring without human labels: We designed a rule-based quality scoring system (checking for structure, keyword density, length, formatting) that runs instantly on upload — no ML model needed, no training data required.
What we learned
MongoDB Atlas Vector Search is genuinely powerful once it clicks. The ability to store, index, and query embeddings in the same database as your operational data — without a separate vector store — massively simplifies the architecture. The MCP server made it possible for our agent to interact with the database conversationally, which felt like a real unlock.
We also learned that "agentic" doesn't mean complex. The most impactful agent behaviors — personalized memory, adaptive study plans, emergency exam mode — came from clean tool design and thoughtful prompting, not from complicated orchestration frameworks.
What's next
- Push notifications for exam reminders
- Multi-language support (Hindi, Marathi, Tamil) for broader reach
- Teacher dashboard for verified note uploads
- Expanding beyond India to any university system
Built With
- css
- docker
- fastapi
- gemini2.5flash
- google-cloud
- googlecloudrun
- html
- javascript
- mongodb
- mongodbatlas
- mongodbatlasvectorsearch
- mongodbmcpserver
- ocr
- python
- text-embedding-004
- vectorembeddings
- vectorsearch
- vertexai
Log in or sign up for Devpost to join the conversation.