
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. Each session has an ending.

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.

Using it
Start News, Shorts or Long videos directly, or customize one before starting. For a different mix, choose a length and combine Articles, Long videos and Short videos however you want. Audio is grouped with articles. Pick a whole section, combine sections or leave out individual topics. Save setups you repeat, like ten minutes of news or a short-video break, for the next visit. A setup link opens those choices ready to start.
One item fills the screen and you swipe up for the next. A Next button does the same thing. Tap the article to read it as plain text, with no sidebars or “you might also like”. Back returns to its brief; a deliberate upward swipe at the bottom of the article continues to the next item. Hold an image to see it in full.
The session itself has no numerical countdown, unread count or progress bar. A short phrase tells you how much time remains. The controls follow what you’re doing: Next when you’re browsing, Back when you’re reading.

Shorts, full screen
A Shorts session fills the phone. The clip gets the whole screen, with one thin bar along the top for who posted it, how much is left, sound and captions. None of Otium’s controls sit on the video, so YouTube’s own captions are never cut off. There’s no Next button here: you swipe, and the next clip slides up dimmed and brightens into the video as it starts.
Clips play as you land on them, muted. The first one points out the sound button once, and after that sound and captions stay however you set them for the rest of the session. The menu holds the title and description, and a clip worth sending can go straight to your camera roll or into a message as the video itself, not a link. Turn full screen off to get the regular cards back.

After a session
When the time is up, finish the item in front of you; the next advance reaches the ending. Review session lists what you actually saw, with a bookmark beside each item for saving it to a collection. It also shows articles opened, videos played, skips and time spent. Those numbers describe the session; reopening an article afterward doesn’t change them.
You can extend the session or start another. Neither happens automatically.

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.
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.
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.
Screenshots use a demonstration library; dates and activity are illustrative.

