Overview
NapkinNotes is a full-stack AI-powered platform that turns raw class notes into organized, searchable study resources. Built for Princeton Day School students, it combines optical character recognition, Claude-driven summarization, and a peer-to-peer social layer into a single collaborative learning ecosystem.
Students upload notes in any format — handwritten scans, PDFs, Word documents, or plain text — and the platform extracts, processes, and summarizes the content automatically. Course-level organization with test-date-driven auto-locking keeps study materials structured, and a student marketplace with in-person meetup scheduling extends the platform beyond notes.
Under the hood: 100+ Flask routes, 22 SQLAlchemy models, AWS S3 storage with presigned URLs, PostgreSQL, Redis-backed rate limiting, OWASP-aligned audit logging, and a full admin panel with user impersonation, DB backup/restore, and site-wide lockdown controls.
Core Features
OCR Extraction
Google Cloud Vision API and PyMuPDF extract text from handwritten scans, printed documents, and complex PDF layouts. python-docx handles Word files; extracted text is persisted for search and summarization.
AI Summarization
Claude API (Anthropic SDK) generates concise, structured summaries of extracted note content, distilling key concepts and definitions for efficient studying.
Multi-Format Upload
Supports images, PDFs, DOCX, and TXT files with batch uploads per note. Files are stored on AWS S3 and served via short-lived presigned URLs.
Social Layer
Follow classmates, like and comment on notes, bookmark study materials, and browse a personal activity feed.
Course & Test Scheduling
Notes are organized by course. Admins register test dates; the platform automatically locks course notes and unlocks them two days before each test to prevent academic-integrity issues.
Site-Wide Lockdown
SiteLock lets admins freeze platform access during sensitive windows (e.g. school exams) with a custom message and scheduled unlock date.
Marketplace
Peer-to-peer student marketplace with categories, photo galleries, listing favorites, and seller-buyer messaging. Listings can be marked sold and moderated from the admin panel.
In-Person Meetup Scheduling
Buyers propose a time and pick from curated on-campus meetup locations. Sellers accept, counter, or complete transactions, with email notifications at each step.
Authentication
Dual auth via Authlib Google OAuth and email/password registration with bcrypt hashing, token-based email verification, and Flask-Login session management.
Admin Panel
Full admin suite: user management, note/comment moderation, marketplace oversight, course and test scheduling, DB backup/restore, user-alias impersonation mode, and OWASP-aligned audit logging of every sensitive action.
Tech Stack
Backend
AI & Processing
Cloud & Delivery
Security & Auth
Frontend
Architecture
22 SQLAlchemy models organized across 5 domains power the entire platform.
Users & Social Graph
2 models
Accounts with OAuth + email-verification state and the follower graph.
Notes & Content
6 models
Core note entity with multi-file attachments, tags, bookmarks, and search-history tracking.
Engagement
3 models
Peer feedback surface: comments, likes, and a unified activity feed.
Courses & Access Control
4 models
Course catalog, test-schedule-driven auto-locking of notes, full site lockdown support, and OWASP-aligned audit trail.
Marketplace
7 models
Student-to-student marketplace with photo galleries, messaging, favorites, curated meetup points, and structured meetup-request workflow.
Development Timeline
Ideation & Design
Identified the need for a centralized note-sharing platform at PDS. Designed the database schema and wireframed the core user experience.
Development Sprint
Built the full-stack Flask application from scratch: OCR ingestion, Claude-powered summarization, auth, social graph, and admin tooling.
Launch & Growth
Deployed to production at napkinnotes.net with 80+ regular users and 170+ uploaded notes. Continuous iteration based on user feedback, performance optimization, and feature expansion including the student marketplace and in-person meetup scheduling.