Overview
TextBook is an academic document and reading management platform designed for students and educators. It unifies cloud PDF storage, offline-first reading capabilities, spatial coordinate-based sticky notes, and student performance tracking into a cohesive web application.
Problem & Approach
Students frequently lose annotations across disparate PDF reader apps, lack centralized tracking for their revision milestones, and struggle to study when internet access is intermittent.
Engineered a Next.js application backed by Supabase (PostgreSQL and Authentication), incorporating coordinate-anchored note overlays on PDF canvas pages and client caching for offline reading.
System Architecture
- Frontend Application
- Next.js App Router, TypeScript, Tailwind CSS, and PDF.js canvas rendering.
- Database & Auth
- Supabase PostgreSQL with Row Level Security (RLS) and storage buckets for PDF files.
Features & Deliverables
- 01Cloud PDF Library & CategorizationImplemented
Upload, organize, and search textbooks and research papers with subject tags.
- 02Spatial Coordinate Sticky NotesImplemented
Pin annotations directly onto specific PDF page coordinates that persist across viewports.
- 03Offline-First SynchronizationImplemented
IndexedDB client caching allowing document reading and note creation without active connectivity.
- 04Student Progress AnalyticsImplemented
Reading time logs, chapter completion tracking, and exportable PDF/Excel progress summaries.
Technical Challenges
ProblemAccurately anchoring sticky notes to dynamic PDF page dimensions across zoom levels and mobile viewports.
Resolution:Stored annotation coordinates as relative percentages rather than absolute pixels, re-computing screen positions during canvas viewport redraws.
Contributions & Takeaways
My Contributions
- Designed and built the full-stack Next.js application and Supabase database schema.
- Implemented the coordinate-based PDF annotation system using PDF.js.
- Engineered the offline caching logic and student analytics export modules.
Key Learnings
- Relative coordinate scaling is essential when persisting interactive overlays on variable-zoom document viewers.
- Supabase Row Level Security simplifies multi-user document privacy without complex custom middleware.
Interested in discussing this project or working together?
Get in touch