TextBook
Next.jsReactSupabaseTypeScriptTailwind CSS
All Projects2026 / Full Stack
CompletedFull Stack

TextBook

PDF library management and offline-first reading platform with student study tracking.

Next.jsReactSupabaseTypeScriptTailwind CSSRole: Full Stack Developer
01

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.

02

Problem & Approach

The Problem

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.

The Engineering Approach

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.

03

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.
04

Features & Deliverables

  • 01
    Cloud PDF Library & CategorizationImplemented

    Upload, organize, and search textbooks and research papers with subject tags.

  • 02
    Spatial Coordinate Sticky NotesImplemented

    Pin annotations directly onto specific PDF page coordinates that persist across viewports.

  • 03
    Offline-First SynchronizationImplemented

    IndexedDB client caching allowing document reading and note creation without active connectivity.

  • 04
    Student Progress AnalyticsImplemented

    Reading time logs, chapter completion tracking, and exportable PDF/Excel progress summaries.

05

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.

06

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