Everyone around me is building RAG wrappers, autonomous research agents, “Chat with your PDF” clones. I went the other way. I built a highlighter.
Not because autonomy is wrong. Because for the kind of work I actually do - reading research papers, long-form essays, dense technical books - I don’t want an AI that reads for me. I want one that reads with me.
That distinction sounds small. It changed every decision I made while building Highlyt.
The problem with “read for me”
Most AI reading tools optimize for one thing: give me the answer, hide the document. Paste the PDF, get a summary, get a TL;DR, get citations. The document is treated as a source of truth to be compressed away.
This works for information retrieval. It fails for thinking.
When I read a paper carefully, I’m not hunting for an answer. I’m deciding what’s worth remembering, what contradicts something I read last month, what question this raises that I want to come back to. That’s not summarization. That’s annotation - the oldest reading technology there is.
Stop asking “what does this document say?” Start asking “what do I want to remember from this document, and how does it connect to everything else I’ve read?”
Those are different problems. They need different tools.
The framework I actually used: Capture > Organize > Retrieve
Every reading tool I’ve ever used gets the hierarchy wrong. They optimize for organization - folders, tags, graphs, spaced repetition - when capture is still broken.
Here’s the order that actually matters:
1. Capture. If capture friction is above zero, nothing else matters. You’ll stop highlighting. I stopped highlighting in Kindle months ago because exporting highlights required a desktop app. I stopped highlighting in half a dozen PDF readers because the highlight survived one app update and died at the next.
2. Organize. Only once capture is invisible do you earn the right to think about structure. Colors, tags, links, collections. Most tools ship this first and wonder why nobody stays.
3. Retrieve. And only once organization is working do you ship search, graph views, exports. Retrieve is where most AI reading tools start - and it’s why they feel hollow. They’re solving the third problem before the first one works.
I built Highlyt in that order on purpose. Upload is direct from browser, resumable, never fails mid-chunk. Highlights sync instantly across devices and survive app updates. That’s the entire first phase - months of it - before I touched a graph view.
If capture is broken, your tool is a demo.
The coordinate system story (what actually went wrong)
The most humbling week of building Highlyt was the week I learned PDFs don’t have a single coordinate system.
I shipped highlights that worked perfectly in testing. Users on different zoom levels reported highlights drifting - landing two lines below the actual text, or on the wrong word entirely. On different screen sizes, the same highlight would appear in a different spot on the page.
I spent three days writing elaborate patch code. Offset calculators. Zoom-aware corrections. Device-pixel-ratio math. Every fix broke a different case.
The actual fix, once I found it: store all highlight coordinates at scale=1 (the PDF’s native coordinate space), and scale them on render. That’s it. One sentence. One architectural decision I should have made on day one instead of patching for a week.
The lesson isn’t “PDFs are hard.” The lesson is: when your patch code is growing faster than your feature code, stop patching. The problem is the coordinate system, not the edge cases. Go fix the foundation.
I think about this pattern everywhere now. Most “bug fix” sessions are actually foundation problems wearing a costume.
Why this matters beyond me
Reading used to be solitary. Then annotation made it asynchronous - you could read what Darwin scribbled in the margins of a book a hundred years later. Now it’s becoming something else again: a live, back-and-forth activity between you and an LLM that can actually read alongside you.
Watch how you already use Claude or ChatGPT. You read a paragraph, paste it into the chat, ask a question, get an answer, go back to the document. That loop is multiplayer reading. It’s just that the tools haven’t caught up to the loop.
Most PDF readers still assume you’re reading alone. Most AI tools still assume you want a summary instead of a conversation. The space in between - annotation that flows into AI conversation without copy-paste — is where the next generation of reading tools will live.
That’s the bet Highlyt makes. The highlight isn’t just a visual mark. It’s a piece of context that should be callable, typed, and queryable by whatever LLM you already talk to. The reading tool doesn’t need to have its own AI. It needs to make your highlights first-class context for the AI you already pay for.
What I’d tell someone building in this space
A few things I believe more strongly now than when I started:
The interface matters more than the intelligence. An LLM that can read anything but has no notion of “what the user cared about on page 42” is worse than a dumb highlighter that remembers.
Typed beats free-text every time. A link that says
contradictsis queryable. A tag that says “important” is noise. Forcing yourself to pick from a small set of meanings is a feature, not friction.Capture first, always. If a user abandons your tool after three uploads, no amount of graph visualization will save you.
Ship the boring parts. Sync, export, backup — the things nobody posts about — are what separate a side project from a tool people trust with their thinking.
The tool
Highlyt is at highlyt.app. It’s a PDF reader with semantic color-coded highlights, a typed knowledge graph, and MCP integration so Claude and ChatGPT can read your highlights directly. If you already live inside an LLM and read a lot, it was built for you.
FAQ
What is Highlyt?
A reader tool with color-coded semantic highlights, a typed knowledge graph, and MCP integration so Claude and ChatGPT can read your highlights as context.
How is it different from Readwise or Obsidian?
Readwise syncs highlights but has no knowledge graph or MCP server. Obsidian has a graph but isn’t a PDF reader. Highlyt is the first tool that combines color-coded PDF highlighting, typed highlight links, and native MCP access for LLMs.
Why is MCP integration a big deal?
MCP (Model Context Protocol) lets AI tools like Claude and ChatGPT read from your data sources directly. Instead of copy-pasting highlights into a chat, the LLM pulls them from Highlyt as typed, structured context.
What is “multiplayer reading”?
Reading used to be solitary. Annotation made it asynchronous. Reading with an LLM - asking questions as you go, letting the AI pull your own notes back - is a new, live form of collaborative reading.
What’s the biggest lesson from building Highlyt?
When your patch code grows faster than your feature code, stop patching. The problem is almost always a foundation decision, not the edge cases you’re fixing.


