INDEPENDENT PRODUCT / MOBILE APPLICATION

Save It

I wanted my saved links to be easier to come back to, not just easier to collect.

Save It is a local-first link library that brings links from different apps into one place, organized around what someone wants to do with them later.

Explore Save It
Save It library with recent links, an Inbox, and intent-based Spaces
Save It · Library

Saving Was Easy. Coming Back Wasn't.

I'd save a useful LinkedIn post, a YouTube video, a recipe on Instagram, or a place I wanted to visit. Each one made sense at the moment. Later, they were scattered across different saved lists.

The frustrating part wasn't always finding a particular link. Sometimes I had time to watch something, read, cook, or explore somewhere, but no simple way to browse everything I'd saved for that moment.

I didn't want another folder system to maintain. I wanted to start with a different question:

LinkedInA useful post
YouTubeA video for later
InstagramA recipe. A place to visit.
Browser bookmarks · Open tabs
Return by intent
WatchReadCookExplore
From separate saved lists to the moment you want to use them.

What do I feel like doing today?

That question shaped Save It.

Organized Around Intent

A restaurant, a recipe, and a video can all come from Instagram. But they belong to different moments in someone's day.

That's why I organized Save It around Spaces.

One sourceDifferent intentions
Instagram
A restaurantPlaces
A recipeRecipes
A videoWatch
Spaces follow what a link is for, rather than where it came from.
Recipes Space with saved dishes and custom Spaces including Japan Trip and Home Refresh
Browse by intentRecipes and custom Spaces
Saved coffee maker in the Home Refresh Space with a Change control for moving the link
Keep controlA link’s destination can be changed
PlacesSomewhere to go
RecipesSomething to cook
WatchSomething to watch
Read LaterSomething to read
ProductsSomething to consider
Custom SpacesA space of your own

An editorial map of Spaces

Places, Recipes, Watch, Read Later, Products, and custom Spaces give saved links a destination based on what someone wants to do, rather than where the link came from.

I kept saving separate from organizing. A link can be captured through the Share Sheet without choosing a category first.

AI-assisted classification handles the initial placement. When the destination isn't clear, the item stays in the Inbox instead of being forced into the wrong Space.

Moving a link is an explicit correction. I keep that choice separate from automatic placement, while repeated corrections can inform future suggestions from the same domain. Those suggestions can still be wrong, so manual organization remains part of the experience.

Unclear destination?
Keep it in the Inbox.

Automation handles the repetitive work. The user keeps control.

Capture First. Classify Second.

A simple save action shouldn't depend on an AI response or a stable internet connection.

That product decision shaped the architecture.

Capture

Local
  1. NativeShare Extension
  2. Pending captureApp Group
  3. Local LibraryFlutter + SQLite

Saved locally. Enrichment runs independently.

Enrichment

Network-assisted
  1. Saved Link
  2. MetadataCloud-assisted classification
  3. Space or InboxManual organization stays available
The Share Extension stores the capture in the App Group. When Save It opens or returns to the foreground, the app imports pending captures into its local library. AI categorization does not hold up the initial save.

I built the capture flow with a native Swift Share Extension. App Groups transfer the captured information to the Flutter application, where SQLite manages the local link library.

Saving and understanding a link are separate operations.

The initial capture works through local storage. Metadata enrichment and cloud-assisted AI categorization happen independently, so network delays don't have to become failed saves.

The same separation applies to the business model. Saving, browsing, and manual organization remain available without Pro. AI categorization is an additional capability, not a requirement for keeping a personal library.

For example, a restaurant link can be saved from the Share Sheet before its destination is known. The extension's “Saved to Inbox” message confirms capture; placement is decided in the app. If classification cannot place it, or the free allowance has been used, it stays in the Inbox and can still be moved manually.

The intelligence should improve the experience, not become a dependency for using it.

Ahmet Yasir Demir / Contact

Let’s talk.

A project, a collaboration, or a question. Your message comes straight to me.

Sent privately to dydemiryasir@gmail.com. Want a reply? Include your email above.