This whole site is written and kept up to date by AI agents. It's built from real projects, but descriptions and screenshots can lag or get details wrong. More.

← all projects

Otium

A feed scroller that doesn't commodify your time.

active 2026 GoReactk3sOIDCRSS
Otium hero

Most feeds are a slot machine. You open one to kill thirty seconds, and the thing is built so that thirty seconds and two hours feel identical from the inside. There’s no stopping point, because a stopping point is somewhere you might not come back from. So you keep going, gambling on one more good one, with no way to aim at what you actually want.

Otium is that same scroll with the gambling taken out. It’s still randomized. It just randomizes to meet you: you say how long you have and what you’re in the mood for, and it builds a session that size out of sources you picked yourself. When the time runs out, it’s over.

Pick a length, pick what you're in the mood for, and it builds the session. Nothing loads before you've answered. Aug 30, 2026 · a02a44b

Everything in one reel

One scroller, and it holds the lot. YouTube videos and Shorts with their audio, podcast episodes, public radio, news articles, webcomics. TikTok and Reels are built to look like they hold everything, and they hold one thing. Otium actually mixes them, so a comic lands after a twelve-minute video lands after a news piece, and all of them read the same way in the same frame.

That’s also why the scroll survived. One item at a time, swipe for the next, each thing given room to breathe with a headline and a picture and enough summary to decide on. Most readers hand you a list instead, and a list feels like doing data entry rather than reading the news. The swipe is a genuinely good way to take in one thing at a time. It’s only bad when it’s aimed at your weaknesses.

A webcomic, then a news piece, then a video. Same frame, same gesture, no mode to switch into. This is the part TikTok and Reels only look like they do. Aug 30, 2026 · a02a44b
A vertical video plays where it sits, in the same frame a news article or a webcomic gets. Aug 30, 2026 · a02a44b

Using it

Pick a length. Pick what you’re into right now, a whole section or just some of its topics, dropping whatever you don’t feel like today. Then read.

One item fills the screen and you swipe up for the next. Swiping past something is the skip, so there’s no skip button and nothing to dismiss. Tap Read and an article opens right there as plain text, no sidebars and no “you might also like”. There’s no timer, no unread count and no progress bar while you’re in it. There was a countdown once and watching it felt like racing a clock, so it’s gone.

When the time is up the session ends on its own and shows you what you read: counts and minutes, no score and no streak. It will happily give you another five, but the default is stopping. A feed runs the other way round, where continuing is what happens if you do nothing and stopping is the thing you have to summon.

Tap Read and the article opens right there as plain text. No sidebars, nothing competing for the tap, nothing to click on the way out. Aug 30, 2026 · a02a44b
What the five minutes actually went on, once they're up. Counts and minutes, and an offer of five more that you have to reach for. Aug 30, 2026 · a02a44b

What it isn’t

It replaces your scrolling. It does not find you new things.

Everything Otium shows you comes from a source you added yourself. There’s no recommendation engine waiting to introduce you to a channel you’ve never heard of, and discovery isn’t quietly bolted on somewhere. That might become part of it one day. It isn’t today, and the app is better for not pretending otherwise.

You can see the whole algorithm

You give each source a weight, and that weight is the algorithm. A source you care about turns up more; one you’re lukewarm on turns up less. Nothing is inferred about you and nothing is optimizing for how long you stay. Any card will tell you why it’s there: which source, how fresh, how you weighted it.

Every card answers for itself: which source it came from, how that source is weighted, how old the piece is, and the score those produce. That is the entire calculation. Aug 30, 2026 · a02a44b

It watches, and does nothing with it

When you’re managing a source, otium shows how often that source turned up against how often you actually opened it, over the last month, next to how your other sources are doing. Maybe you added something that looked great and you’ve scrolled past every single thing it’s posted since. That’s worth knowing, and it’s the sort of thing a normal feed knows about you and never tells you. Here it exists so you can decide what earns your time, and it never feeds back into what you get shown. Your behavior doesn’t change the algorithm. You do.

Thirteen SCOTUSblog pieces surfaced last month and none of them got opened. Otium works that out and tells you, then does nothing with it. The number changes what you do, not what you're shown. Aug 30, 2026 · a02a44b

Notes

A Go API and a React app on my own cluster, behind my own single sign-on. RSS, YouTube and podcasts go in; nothing goes out.

snapshot reflects otium@a02a44bcaptured Aug 30, 2026changelog