Inspiration
We noticed a gap in the learning process: many students retain information better when writing by hand, but those notes often end up "trapped" in physical notebooks. We wanted to build a bridge that allows note-takers to keep their analog workflow while gaining the organization and searchability of a digital workspace.
What it does
VibeScribe is an AI-powered productivity tool that transforms handwritten notes into structured digital documents. Users upload a photo of their handwriting, and the app uses Gemini AI to OCR the text and convert it into clean, formatted markdown and downloadable PDFs. It features a history sidebar, allowing students to build a searchable digital library of their physical notes.
How we built it
The app is built on the PERN stack (PostgreSQL, Express, React, and Node.js) for a robust and scalable architecture.
Frontend: React with Tailwind CSS for a modern, responsive UI.
Backend: Express and Node.js handling image processing and AI integration.
Database: Prisma ORM with PostgreSQL for managing user document history.
AI/Storage: Google Gemini for handwriting analysis and Firebase for secure file storage and authentication.
Challenges we ran into
One of the biggest hurdles was managing the monorepo architecture and ensuring consistent communication between the frontend and backend, particularly with CORS and authentication headers. We also spent significant time fine-tuning the AI prompts to ensure that the markdown output correctly preserved the original structure of the handwritten notes. There were also many growing pains with creating correlations between users, their documents, and fetching them. Perhaps the biggest initial hurdle was learning Firebase and how to use it to both authenticate users, store files, and reference those in our database.
Accomplishments that we're proud of
We are proud of the seamless integration between the file upload and the AI generation. Seeing a messy handwritten page turn into a formatted document in seconds feels like magic. We also successfully implemented a secure authentication flow that keeps user data private and organized.
What we learned
This project was a deep dive into serverless architecture and AI orchestration. We learned the importance of robust middleware for authentication and how to handle complex data flows in a monorepo. We also gained experience in optimizing database queries to ensure the history sidebar loads instantly.
What's next for VibeScribe
Our roadmap includes adding AI-generated summaries and "quiz mode," where VibeScribe creates flashcards based on your scanned notes. We also plan to implement folder organization and a collaborative feature so students can share their digitized notes with study groups instantly.
Built With
- axios
- express.js
- firebase
- gemini
- javascript
- milkdown
- node.js
- pdfjs
- postgresql
- prisma
- react
- supabase
- typescript

Log in or sign up for Devpost to join the conversation.