The idea isn't new
A bookmark app that pulls every link you save into one place — instead of one in Instagram, one in Facebook, one in TikTok, one in Notes, and so on — has been done before. I'm not pretending otherwise.
The real reason I built it
My wife. She saves things constantly — cooking recipes, design ideas, the next place we should try for dinner — scattered across whichever app she happened to be in at the time. And then, when she actually needs the saved bún bò recipe or the address of that café in District 3, she has no idea which app it lives in.
So I built her an app where everything she saves ends up in one library. That's the whole motivation. Saved exists because my wife kept losing her own bookmarks, and I wanted to give her a single place to find them again.
Why the first version leans into recipes and places
Once everything is in one library, the next problem shows up fast: the saved post is still a link. To use the recipe, you have to open the original post, scroll past the intro, dodge the ads, and copy the ingredients into a notes app. That's annoying.
So the first version of Saved focuses on one feature that makes the library actually useful: when you save an Instagram or TikTok cooking post into the Recipes category, Saved automatically extracts the recipe — title, ingredients, steps — and shows it as a clean, readable card. Same idea is coming for places: save a restaurant link, get the address and a map pin.
Everything else still works as a normal bookmark. Save anything from anywhere, pick a category, and it lands in your library with a tidy preview card.
How it's built
A quick tour for the technically curious. Saved is a SwiftUI iOS app with a small FastAPI backend on Google Cloud Run. The pipeline:
-
You share or paste a URL and pick a category. The share extension
writes the item as
.pendinginto a shared SwiftData store — no network work in the extension itself. -
When the main app next comes to the foreground, the ingestion
service routes the item. Recipes from Instagram or TikTok go to
Apify to fetch the post content, then to Claude (with a cached
system prompt and a forced
save_recipetool) to extract structured ingredients and steps. - Everything else hits a self-hosted metadata endpoint that pulls OpenGraph, oEmbed, and JSON-LD — title, description, thumbnail, site name.
-
The item flips to
.readyand appears in the library under the category you picked.
Cost-wise: the generic save path is free (Cloud Run free tier plus outbound HTTP). A recipe save runs about $0.007 — Apify to scrape plus a cached Claude call. That keeps the fixed monthly cost at zero and the variable cost low enough that I can afford to let my wife save as many bún bò recipes as she wants.
What's next
Places extraction is the next big one — same shape as recipes, but for restaurants and locations. After that, shared folders so my wife and I can save into the same Recipes library without messaging each other links.
If any of this sounds useful — for you, your partner, or whoever in your life keeps losing their own bookmarks — Saved is free on the App Store. I'd love to hear what breaks.