Problem
My partner and I have a French bulldog named Hanx. She generates a specific domestic debate on a semi-regular basis: when did we last give her a bath? We never knew. We'd argue about it, give up, and let her keep going until sitting with her on the couch felt genuinely unpleasant. Then we'd bathe her and reset the clock - which we also never tracked.
I wanted an app for this. Not a reminder app, because I didn't know how often she needed bathing - it depended on how much she'd been running around outside. Not a habit tracker, because daily or weekly logging doesn't work for something with that kind of rough, irregular cadence. Not a to-do list, because there's no real deadline. I just wanted to tap something and see: it's been 23 days.
The problem generalized immediately. Same pattern for changing bed sheets, cleaning the oven, servicing the car, checking in with a friend I hadn't seen in a while. Things that need doing, but resist a schedule. Not frequent enough for a streak counter, not concrete enough for a calendar event.
The gap between "habit tracker" and "calendar reminder" is where a lot of real life actually happens - and no app was sitting in it.
Process
Before building, I mapped the existing apps. I found 15 across a spectrum from sobriety streak counters (Days Since: Quit Habit Tracker, 18K ratings) to generic event counters (Countdown Days Since & Until, 2.3K ratings) to quiet utility apps with small but loyal followings (Last Time Tracker, 609 ratings).
The category falls into three clusters. The first and largest by volume is gamified streak apps - built primarily around sobriety tracking, with streak counters and achievement systems at the core. My target user isn't in that group. The second cluster is subscription-heavy habit trackers: comprehensive tools with monthly fees, calendars, analytics, and everything else. Their negative reviews tell a consistent story - too many features, subscription resentment, feature-gating that punishes existing users. The third and smallest cluster is the quiet utility niche: apps that just show you how long it's been, no pressure, no judgment.
That third cluster is where Ago fits. And it had a visible opening: the most established player in it, Last Time Tracker (609 ratings, 4.6 stars, pay-once $2.99), hadn't been updated since approximately 2019. Reviews from 2024-2026 are explicit - users loved the app, relied on it for years, and were actively looking for a replacement before iOS updates broke it.
| App | Calm | Beautiful | Pay-once | Maintained |
|---|---|---|---|---|
| Last Time Tracker | ✓ | - | ✓ | - |
| SinceWhen | ✓ | - | - | - |
| Wheneri | ✓ | - | - | - |
| Streaks | - | ✓ | ✓ | ✓ |
| Ago | ✓ | ✓ | ✓ | ✓ |
Next, I pulled 500+ App Store reviews across the five biggest apps, sorted by helpfulness. Three things came out of it consistently.
First: this category carries emotional weight that productivity apps don't. People track sobriety milestones, a deceased dog's age, the last time they saw someone they love. When apps in this category lose data, reviews don't describe frustration - they describe grief. That set the bar for data safety.
Second: backdating - logging something that happened yesterday or last week - is an unmet need across every app. "Is there a way to input something that happened yesterday?" shows up verbatim across multiple review corpora. Nobody had built it well.
Third: per-item interval notifications ("remind me if it's been more than 14 days since I watered the plants") is the most requested feature in the category and the most poorly implemented one.
I also pulled five Reddit threads manually across r/productivity, r/ProductivityApps, and r/adhdwomen. The oldest thread describing exactly the Ago use case was from 2016. Same problem, same apps failing to solve it, a decade later.
On the design side, I kept a living HTML design system document in sync with the code throughout development - color tokens, type scale, spacing, and component specs in one place. That document is what I referenced when reviewing implementation against intention.
Decisions
Calm as the product
The dog bath situation clarified what Ago should and shouldn't be. We never failed at bathing Hanx by breaking a streak - we just didn't have a neutral way to see the fact. What we needed wasn't a counter we could fail, it was an honest answer: it's been 23 days.
That framing ruled out a lot of what competitors build. No streaks - missing a log shouldn't feel like failure. No achievement systems. No nudges framed as "don't break the chain." No copy that implies you're behind. Every word in the app is written around one principle: show the elapsed time accurately, let the user decide what to do about it.
The design language follows the same logic. Large readable number, muted palette, no flashing overdue states beyond a clear color shift. One thing came up consistently in the reviews: users don't want to feel judged by their own app. "I get angry at notifications and rebel against my own authority." That's not a niche user psychology - it's how most people feel about reminders. Building against it wasn't a constraint, it was the product.
Calm is a product decision, not a style choice.
"For things that don't fit a calendar"
Every competitor in the category frames around habits, sobriety, milestones, or countdowns. None frame around the gap between those categories - the recurring-but-irregular task that resists a fixed schedule.
That framing had a direct consequence for how reminders work. When you log something done, the deadline resets from that date - not from when it was originally scheduled, not from when you forgot. From when you actually did it. This is what Todoist and Apple Reminders both get wrong: a missed recurring task doesn't restart from completion, it just accumulates.
A thread from r/adhdwomen made this concrete: when you miss a monthly task and eventually get to it late, the reminder should restart from when you actually did it, not from the original schedule. Several people in the thread said the same thing independently. Ago's notification model works exactly this way - deadline days always count from last done.
The gap between "habit" and "calendar event" is where a lot of real life actually happens.
Pay-once at $4.99
The subscription resentment in this category isn't subtle. Days Since - Track Memories sits at 3.4 stars largely because it moved previously-free features behind a paywall. Since: Day Counter, the most feature-complete app in the space, gets regular one-time purchase requests despite charging $49.99 lifetime. Last Time Tracker's $2.99 pay-once pricing is essentially invisible as a complaint driver - users describe it as "best two dollars I ever spent."
Most competitors
$3–50
per year, or $49.99 lifetime
Ago
$4.99
once, yours forever
I chose $4.99 deliberately. Lower ($2.99) now reads as the price of an abandoned app - Last Time Tracker set that association. Higher ($6.99+) generates sticker shock in a niche where the review data showed a clear price ceiling around $5. The free tier gives users three real items before asking for anything, which means anyone who hits the paywall has already seen value.
Pay-once also serves as a trust signal. The phrase "bait and switch" appears across category reviews more than almost any other. A clean one-time unlock is a promise - it's the opposite of what users are angry about.
Backdating built before any user asked
Every app in the 500-review corpus had users asking the same thing: can I log something that happened yesterday? Or last week? "I forgot." "I only log it the morning after." "I wanted to start it from when I actually quit." No app had built it into v1. Most hadn't built it at all.
I shipped it in v1.0. From the item detail screen, "Log for a different date" opens a date picker with a minimum of one day after the last log and a maximum of yesterday. An undo toast handles miskeys. It's not buried in settings - it's on the main detail view because the review data showed it wasn't an edge case, it was a normal behavior that every competitor was missing.
This wasn't driven by my own use - I hadn't needed backdating yet when I built it. It was a direct read from competitor reviews. If every app in a category misses the same thing and users ask for it in every single review corpus, it's a baseline expectation that nobody has met - not a feature request to consider for later.
Grid to list, and one tap to log
The first shipped version used a 2-column card grid. It looked clean. It was also wrong for the job. The home screen's primary function is comparison - you want to scan elapsed times and see at a glance what's been neglected. A grid forces lateral eye movement; you're jumping between columns instead of reading down a single line. Switched to full-width single-column rows. 7-8 items visible at once instead of 4, and the elapsed number on every row is left-aligned at the same position - one vertical scan tells you everything.
The sort default matters for the same reason. Overdue-first sounds obvious, but it creates anxiety in an app built around calm - every open feels like a task list of failures. The default is longest-elapsed-first instead: you see what you've left longest, not what you've "failed." Overdue sort is available one tap away for users who want it.
The log-done interaction is the highest-frequency action in the app, so it lives on the card itself - a check button on the right edge, no need to open the item first. Every other app in the category requires tapping into a detail screen before you can log. That's one extra tap on the thing you do most often.
After logging, there's no confirmation dialog. Confirmation dialogs interrupt the flow at exactly the moment it should feel satisfying. Instead: an undo toast appears for 4 seconds. Same safety net, zero friction on the happy path. The card holds its position for 650ms after the checkmark animation before re-sorting - enough time to see the number reset before the list rearranges, so you don't lose your place.
Every extra tap on the most common action is a small tax on every session, forever.
Show the output, not a tutorial
The onboarding is four slides. No feature tour, no permission request upfront, no "here's how Ago works" wall of text. The first thing you see is a large typographic "23 days" - the app's output, distilled. The second slide shows items you might track, animated as cards. The third shows what a notification looks like when something's actually overdue. The fourth transitions directly into the app.
The first-launch prompt is "What's the last thing you did?" - not "Add your first item." One framing asks you to engage with the concept; the other asks you to perform a UI action. Most people know something they haven't done in a while. Giving them that as the entry point means the app has value the moment they finish onboarding, not after they've spent time setting it up.
Notification permission isn't requested on launch. It comes up the first time you set a deadline - contextually, at the exact moment where it's obvious why the app needs it. Asking on cold launch is almost always a mistake. There's no reason for the user to say yes yet.
Show the product. Ask for things only when there's a reason.
Outcome
Ago launched on the App Store in June 2026. In the first 24 hours, 200+ downloads - mostly driven by a giveaway thread on r/GenAiApps where I offered 20 Pro codes. The more interesting signal was the comments: people describing exactly the use case (water filters, dog care, vehicle maintenance), not people hunting for free codes. The product found its audience on day one.
The launch is soft and iOS-only - no press, no paid marketing, no launch spike to manufacture. The plan is the same as Recipe Fox: find the people who already have the problem and show up when they're talking about it.
Two things I'd do differently.
First: start the marketing asset work earlier. Screenshots, App Store copy, and Product Hunt graphics all happened in the final week before submission - work that was squeezed into time that should have been for settling and polishing the product itself.
Second: think harder about the growth mechanic before launch, not after. Last Time Tracker's 609 ratings after several years is the honest benchmark for what this category produces without something that drives word-of-mouth. A home screen widget showing elapsed time is the closest equivalent I can see - the thing people screenshot and share. It's next on the post-launch backlog, but it would have been better to have it at launch.
The clearest confirmation the problem was real: finding Reddit threads from 2016 where people described looking for exactly this app and couldn't find it. The gap had existed for a decade. It still existed when Ago shipped. That's the right problem to be solving.