NapkinNotes
AI-Powered EdTech Platform for Student Note-Taking and Collaboration
Project Overview
NapkinNotes is a full-stack EdTech platform built with Python Flask that transforms handwritten and digital notes into AI-powered study resources. The platform combines OCR technology, AI summarization, social features, and a comprehensive admin system to create a complete educational ecosystem for students.
Core Platform Features
- OCR text extraction from images, PDFs, and Word documents via Google Vision API and PyMuPDF
- AI-powered note and course summarization using Anthropic Claude API
- Multi-format file upload system (images, PDFs, DOCX, TXT — up to 32 per note)
- Social features: follow users, like/comment/rate/bookmark notes, activity feed
- User reputation system with levels from Beginner to Master
- Course-specific organization with test scheduling and automatic note locking
- Google OAuth integration alongside traditional email/password auth
- Full admin panel with user management, content moderation, and audit logging
- Email verification, newsletters, and SMTP notifications
- Rate limiting, CSRF protection, HTML sanitization, and session security
Technical Implementation
Backend
AI & Document Processing
Frontend
Security & Infrastructure
Key Features & Capabilities
OCR & Document Processing
Extracts text from images, PDFs, and Word docs with high accuracy
AI Summarization
Generates note and full course summaries from uploaded content
Social Features
Follow users, like/comment/rate notes, activity feed, reputation system
Course & Test Integration
Course organization with test scheduling and automatic note locking
Auth & Security
Email/password + Google OAuth, rate limiting, CSRF, audit logging
Admin Panel
User/content moderation, database management, site lockdown, audit logs
Development Journey
Ideation
Identified the need for an AI-powered note-taking platform that could help students transform messy handwritten notes into organized, searchable digital resources.
Development Phase
Built full-stack application with Python Flask, integrated Google Vision OCR for text extraction, and implemented Claude API for intelligent summarization.
Launch & Growth
Successfully launched at Princeton Day School with initial user base. Continuing to iterate on features based on user feedback.
System Architecture
Three-Tier Architecture
Database Models (18)
User & Social
5 modelsUser, UserFollow, UserReputation, Activity, SearchHistory
Notes & Content
9 modelsNote, NoteVersion, NoteDocument, Photo, Comment, Like, Bookmark, NoteRating, Tag
Academic
2 modelsCourse, CourseTest (auto note-locking during exams)
Admin & Security
2 modelsSiteLock (site lockdown), AuditLog (admin action tracking)
Impact & Future Development
Current Impact
NapkinNotes is actively used by students at Princeton Day School to digitize handwritten notes, generate AI summaries, and share study resources. The platform features a full social layer (follow, rate, comment), a comprehensive admin panel with audit logging, and automatic note locking tied to course test schedules.
Planned Features
- Collaborative real-time note editing
- Mobile application for iOS and Android
- AI-powered quiz generation from notes
- Expansion to additional schools and universities
- Study group formation and management features