BookOS is a workspace for people who read to think, not just finish.
A single place where PDFs, highlights, notes, and reading progress live together, so the act of reading doesn't scatter across five tools that don't talk to each other.
Reading tools optimise for consumption. Almost none optimise for what happens after.
Ask anyone who reads seriously and you get the same silhouette of a workflow: PDFs downloaded to a Downloads folder, highlights made in a reader with no export path, notes typed into Notion or Apple Notes and immediately disconnected from the passage that inspired them, and a vague, uncomfortable sense of never really finishing anything.
The tools people use are fine at their one job. Stitched together they leak everywhere: context is lost, the highlight and the thought that followed it live in different apps, and there is no honest signal of what has actually been read versus what is sitting open in a tab.
Ten conversations before writing any product spec.
I ran ten interviews with people who read for work or research: PhD students, self-taught engineers, a lawyer, two founders, and a couple of avid non-fiction readers. The brief was blunt: walk me through the last thing you tried to read properly, and show me where it broke.
The same three patterns showed up in almost every conversation:
- Storage was a graveyard. Everyone had a folder of PDFs they meant to read. Nobody had a system for what they had actually read.
- Highlights died on the page. The moment of "this is important" almost never made it into anything they could later act on.
- Progress was invisible. "Am I actually reading regularly?" was a question nobody could answer honestly. Streaks in habit apps felt like theatre; nothing tracked the real thing.
None of this was surprising in isolation. What was interesting was the emotional shape: readers were quietly disappointed in themselves for a workflow that was actually the product's fault.
One environment, not five — where the highlight, the note, and the progress are the same object.
The thesis I committed to: if reading, highlighting, note-taking, and progress all lived in one workspace with shared primitives, the friction I heard about would mostly evaporate. Not because any single feature was novel, but because the seams between them would stop existing.
The bet had a cost. It meant building a reader inside the browser rather than integrating with an existing one. It meant designing a data model where a highlight was never just text; it always carried its source, its position, and any notes tied to it. And it meant resisting the very tempting pull to just build a nicer Notion template.
The MVP has to earn one habit, not ten.
The single behaviour I wanted the MVP to earn was: open BookOS, read something, close BookOS — and feel a small sense of forward motion. Everything got measured against that.
In:
- An in-browser PDF reader that felt reasonable, not clever.
- A cloud-synced library so nothing lived on one device.
- Highlights, and notes attached to those highlights.
- A reading dashboard with progress and streaks — framed as neutral facts, not pressure.
Cut, on purpose:
- Social features, sharing, public profiles — nothing that would pull the product toward performance.
- AI summarisation of books. Tempting; wrong direction. Reading is the point.
- A general note-taking app. Notes live in BookOS only when they came from something you read.
- EPUB, audio, articles — a v2 conversation, not a v1 one.
A working build, honestly rough in places.
- Reader. A PDF reader in the browser with keyboard-first navigation and selection-to-highlight.
- Library. Every document synced to the cloud, resumable from any device, with a real sense of "here's what I own" instead of a Downloads folder.
- Highlights & notes. Notes are always attached to the passage that provoked them. Open a highlight, see the note; open a note, jump to the passage.
- Dashboard. Reading time, progress across the library, and a streak — but written to be a mirror, not a scoreboard. Missing a day never says "you broke your streak"; it just shows the gap.
Where I actually earned the PM title on this one.
Streaks as facts, not pressure. Every habit product I looked at punishes lapsed users. The interviews made it obvious that guilt was already the main emotion around unfinished reading — the product should not add to that. So the streak in BookOS never says you failed. It shows what happened. That single framing choice removed a whole class of dark patterns.
Notes belong to passages, not to books. This was the most argued decision internally (with myself). Free-floating notes are easier to build. But every user I interviewed described their thought as being about a specific thing they'd just read. Enforcing that link at the schema level cost some flexibility and bought a lot of coherence.
What I'd redo: I under-scoped onboarding. The first-run experience assumes you already have a PDF you want to import, which is the exact moment most people bounce. A "here's a starter document to try the highlight flow" would have doubled activation. It's fix #1 in the next milestone.
From workspace to learning engine.
The next milestone turns highlights and notes into something you can actively revisit, not just archive. Spaced review over your own highlights, generated only from passages you actually marked, with the source always one click away. The design principle stays the same: nothing the product tells you should exist without evidence in something you read.
Alongside it, the onboarding fix from above, and a serious pass on the reader's perceived speed. Everything else stays cut until those three earn their keep.