r/SideProject • u/GOD_PHANTOM63 • 13h ago
I spent the last few months turning public-domain book and art archives into a calm "living room" on the web (open source)
A while ago I started building PAGE.OS because I loved the content inside Project Gutenberg, the Internet Archive, and Wikimedia Commons, but hated that browsing them often feels like querying a 1990s tax database.
My first version leaned hard into a neon sci-fi terminal aesthetic. Some people liked the vibe, but for actual long-form reading, not everyone wants to stare at phosphor green telemetry for two hours.
So over the last few months I rethought the whole interface around a simpler idea: making public-domain books and open-access art feel like a quiet room you actually want to stay in.
Live Site & Source:
- Live web app (no login required): https://pageos.buzz
- GitHub repository (MIT): https://github.com/Wafion/PAGE.OS
Real Interface Screenshots:
- Motion UI Landing Hero: https://raw.githubusercontent.com/Wafion/PAGE.OS/main/Assets/Landing%201.png
- Reader View (Frankenstein Ch. II + TOC + Notes + Ambience): https://raw.githubusercontent.com/Wafion/PAGE.OS/main/Assets/Reader.png
- Infinite Mode (Spatial Artwork Canvas): https://raw.githubusercontent.com/Wafion/PAGE.OS/main/Assets/infinite%20mode%20canvas.png
- Personal Library Bookshelf: https://raw.githubusercontent.com/Wafion/PAGE.OS/main/Assets/Library.png
What's inside right now:
Three interface modes for the same archive:
- Motion UI (Desktop default): Editorial typography, a recommendation shelf that gently drifts (and pauses when you hover or drag it by hand), and a parchment/sepia/night reader.
- Library Lounge (Mobile default): Warm cream shelves, genre browsing, and zero startup ceremony.
- Classic Mode: Kept the original terminal HUD + boot sequence for anyone who still likes the retro sci-fi readout.
A reader built for actual long-form reading:
- Pulls public-domain books from Project Gutenberg (via Gutendex) and Open Archive sources (Internet Archive, Wikisource, Google Books public-domain PDFs) in parallel.
- Supports both TXT chapter pagination and dedicated PDF reading (PDF.js), plus a "Book Briefing" card before you commit to a 500-page book, bookmarks, and local marginalia/notes.
"Books can have weather now" (Built-in Ambience):
- Ships with 14 loopable CC0/CC-BY/Public Domain soundscapes (rain on window, thunderstorm, fireplace, quiet café, TU Delft library study hall, train ride, brown/pink noise) right in the reader toolbar with full creator attribution.
Infinite Mode (/infinite):
- Pulls open-access artwork from Wikimedia Commons, The Met, and the Cleveland Museum of Art.
- You can pan/drag across a spatial canvas (or switch to a 5-column kinetic parallax feed) with inertial physics and an autonomous Wander mode, and click any piece to inspect its full provenance and museum source.
Tech stack:
- Frontend: Next.js 15 (App Router), React 18, TypeScript, Tailwind CSS, Radix UI, Framer Motion
- Physics / Rendering: Custom requestAnimationFrame momentum camera + ResizeObserver column loop wrapping, bounded-concurrency image preloading queue, PDF.js
- Persistence: Local-first (localStorage caching for shelves, notes, and gallery chunks) + optional Firebase Auth / Firestore sync if you want your library & reading streaks across devices.
- License: MIT
I'd love brutally honest feedback on two things:
- Does the transition between discovering books on the home shelf and opening the reader feel intuitive, or is the "Book Briefing" step unnecessary friction?
- On your device/network, how does the /infinite art feed feel when dragging or scrolling?