A minimal reader for long-form content. Strips away everything — ads, sidebars, distractions — and gives you the text, beautifully set.
typeset started as a question: what if reading on the web felt like reading a book? Not the content, but the experience — quiet, focused, deliberately paced. The project became an exploration of what you can build when distraction is your enemy.
Every reading app I tried had the same problem: before you could read, you had to configure. Font size. Line height. Background color. Column width. It felt like buying a chair and being handed a bag of bolts.
I made a decision early on: typeset would have no settings panel. One typeface. One measure. One background. If you don’t like it, that’s probably fine — you’re not the user. This sounds arrogant. It might be. But it also meant every design decision became a craft decision, not a preference default.
The measure — the width of a line of text — turns out to be the variable that matters most. Too wide and your eyes lose the line. Too narrow and your brain can’t build momentum. The sweet spot is somewhere between 55 and 75 characters.
I spent two weeks just adjusting this. Two weeks on a number. At the end of it I understood, viscerally, why typographers talk about measure the way musicians talk about tuning. It’s not optional. It’s the thing.
The best typography is invisible. It disappears into the act of reading. You feel it only when it’s wrong.
The technical challenge wasn’t the reader — it was the parser. Getting clean text from arbitrary web pages is an unsolved problem, and every site is a different kind of broken. Tables of contents masquerading as body text. Embedded tweets inside paragraphs. Comment sections that start before the article ends.
I settled on a layered approach — a chain of heuristics that passes content through progressively more aggressive filters. Most articles get clean enough on the first pass. Edge cases get a second opinion from a readability scoring function.
Building typeset taught me more about typography than any book or course. The constraints were strict enough to force real understanding, and the immediate feedback — open a page, see if it reads well — kept theory grounded in practice.
The most useful lesson was about opinions. Not having them is a design failure. Every tool that tries to please everyone ends up serving no one. typeset knows what it is. That’s the design.
Gallery