Keep anything from anywhere in a couple of seconds. Keepli brings it back at just the right time.
Screens show the real product on a demonstration library.
Why
If you’re like me, every day you see more internet content than you could possibly get through. Most of it is ambient entertainment, but some things really stand out.
The good stuff can come in so many forms: a piece that inspires you, an article whose perspective you want to sit with, or a recipe you’d like to try out. So you bookmark a few posts, copy a link, leave a tab open, and plan to come back later.
The next day just brings more of the same. At best, your bookmarks stay scattered and dependent on your memory. And at worst, you’re closing out tabs that once felt full of promise.
Unfortunately, the realized value of most saved links rounds to zero. Keepli is my attempt to change that.
Keepli sits downstream of everywhere you see content. You choose what to keep. Keepli resurfaces it at the right place and time. As your interests move it moves with you, and the right Keep comes back before you thought to look for it.
How it works
Four things have to work, in order, for a bookmark to come back around.
Save in seconds with your share sheet, a pasted link, or even a bulk import. Classification resolves while you watch: subject, summary, read time, and more.
Every Keep is grouped in the right place, within a structure that maintains itself. Edits are optional.
The library. Every Keep lands under a living taxonomy covering subject area and intent.

Noticed and named. Keepli also notices related Keeps across the taxonomy. When a pattern emerges, like a purchase you’re comparing or a topic you’re circling, it gets a name and becomes a collection.

This is the key moment in the loop and there’s no single approach to it. Keepli serves a curated set as part of your daily schedule, an engaging feed for when you have downtime, and a nudge by notification when appropriate.
When you open the app. Home is a short, editorial daily set: a lead pick with its reason, the read you left midway, and a couple more picks that fit the day. It’s finite, and that’s deliberate.

When you have time to explore. The stream is a guided session through your own library. The Keep you’ve most recently engaged with comes back first, and each subsequent selection names the reason it’s next and lets you change direction as you see fit.
When you know what you’re after. Direct hits on your search come first, then related concepts follow below.

When something can’t wait. A time-sensitive or noteworthy Keep gets a nudge before its window closes.
A return only counts if you engage. Keeps open inside the app with your place remembered, and when a page won’t open in-app, a designed handoff guides you to the source.
Reads in place. Articles open as a clean read inside Keepli. A chart and an embedded tweet render right where they belong instead of bouncing you out to the source.

Plays in place. Watch or listen without leaving Keepli, with your place remembered.


Mark your engagement. Swipe right to mark a Keep as fully explored, or left to let it go. The list and the serving engine settle right back into place.
How it’s built
This has been my solo passion project for the last few months. Here are some of the parts worth asking me about:
Every addition and threshold calibration in the recommendation layer ships the same way:
This process once caught a refactor that had nudged a similarity score by 0.00005, just enough to cross the threshold that lets Keepli claim two of your saves are related. Past that line, I found that Keepli starts to draw connections that look wrong and kind of annoying. And with an app like this, one wrong claim vastly outweighs 10 decent ones. The refactor never shipped.
Each build cycle ends with a written verdict against one key metric (currently: sessions per week spent actually consuming saved content), with a baseline recorded before anything changed. What doesn’t move the needle gets killed.
What building it taught me
I use Keepli every day, and I’m still critical of it every day. It took a lot of iterations for me to naturally want to use an app that I built for myself.
A perfectly filed content library that nobody returns to is still a graveyard. Earning and sustaining attention is really difficult.
Keepli exists partly in response to and rebellion against the feeds. But in building a solution, I ended up repurposing some key mechanics: the one-gesture advance and the serving engine for the next thing up.
The web is really hostile. There are paywalls, bot walls, dead links, empty pages. AI is also too often confidently wrong. So guardrails exist everywhere: failure states, scheduled retry logic, kill switches on risky features.
Where it’s at
Live on TestFlight and part of my own daily routine. A very small circle of friends is testing it with me. I’m looking to release Keepli more broadly later this year.
Contact