Shiori

A native iOS client for shiori.sh

A SwiftUI app built on top of shiori.sh, Brian Lovin’s read-it-later bookmarking service. I took his web design as a starting point and built a native iOS client with Liquid Glass, iPad split-view, tweet rendering, and Apple Intelligence summaries.

Shiori on iPhone and iPad

Role

Design & Engineering

Timeline

March 2026

Stack

SwiftUI, Apple Intelligence

The Spark

I wanted to get back to Swift. The kind of craft work I got into with Tiller — native UI, platform conventions, an app that actually feels like it belongs on the device.

Brian Lovin had just launched shiori.sh, his read-it-later service. Clean API, no native iOS client. Weekend project.

Sixteen years ago I built Faveous because I couldn’t find my saved content across services. Now I’m building a native client for someone else’s version of the same problem.

Clean API, no native client. That’s a weekend project.

The Build

Built in a weekend with Claude Code and the Xcode MCP. I started from Brian’s web design, translated it to native iOS with Liquid Glass, then kept adding: iPad split-view, Mac sidebar navigation, home screen widgets, a share extension, on-device AI summaries via Apple Intelligence.

I didn’t open Figma once. SwiftUI was the design tool. Iterate in code, check the simulator, ship from Xcode. For something this size, separating design from implementation just slows you down.

The Details

Features that go beyond the web app.

On-device daily summaries

Apple Foundation Models generate a categorized digest of recent bookmarks, grouped by topic with highlights from each article. Entirely on-device, no API keys.

This feature also feeds into Daily Digest, my AI-generated podcast. The pipeline pulls links directly from the Shiori API every morning.

Daily summary view

Tweet & X post rendering

Saved a tweet URL? Shiori renders it inline with author, text, and thread context — no need to open the browser.

Tweet rendering in Shiori

Share extension

Tap share from Safari, Twitter, or any app — Shiori saves the bookmark in one tap. Runs in its own process with shared keychain auth.

Share extension in action

Weekend Well Spent

Shiori started as an excuse to write Swift. I use it every day now.