August 24, 2026 · Written by David

A buyer told me he wouldn't use my app. Here's what I shipped.

The most useful message I got after launch was the one telling me the app didn't work.

Not long after Standro went up on the App Store, a customer emailed me. He had paid for the app, installed it, used it for a bit, and concluded he couldn't use it. Not because it was broken. Because of something I had never thought about.

The app told him when the next reminder would happen. It never told him how long he had.

"Next reminder at 14:35." That was the whole display. If you want to know how much time that leaves you, you look at the clock, you do the subtraction, and you get a number. He did that a few times, decided it wasn't worth doing a dozen times a day, and wrote to tell me so.

He was right. That's the annoying part.

Why I hadn't noticed

I built the app for myself first, which is the standard origin story for small Mac apps and also the standard trap. I had been running the same interval for months. I knew, without looking, roughly where I was in the cycle. The end time was enough for me because I already carried the rest of the information in my head.

Someone opening the app for the first time carries nothing. They see a timestamp and have to convert it. Every single time. It's a small tax, but it's a tax you pay on every glance, and glances are the entire interaction with an app like this.

I had shipped my own familiarity as a feature. It took a stranger to point at it.

Most people don't write

This is the part I keep thinking about. Writing that email took him effort. He had to find the address, describe the problem clearly, and hit send, all for an app that cost less than a coffee. Almost nobody does that.

What people do instead is quit. They uninstall. They ask for a refund. They leave three stars with no text, or no stars at all, and you never learn why. From where I sit, that looks like nothing. A number that didn't move.

So when one person takes the trouble to explain the problem, the reasonable assumption is that he isn't the only one who hit it. He's the only one who told you. That message wasn't a complaint. It was free research from the one customer willing to do it.

What shipping it looked like

Version 1.2 put the time remaining first. The main window now leads with the countdown, in plain minutes, and keeps the end time underneath as the secondary detail. The menu bar menu shows the same number. There's also an option to put the countdown next to the menu bar icon, off by default, because not everyone wants another number living up there.

A few decisions inside that, for anyone who cares about the details. It counts in whole minutes and never in seconds, because a ticking second counter is exactly the kind of watched feeling I built this app to avoid. Below a minute it just says "less than a minute" rather than counting down to zero. And it recalculates from the system clock instead of decrementing a number, so closing the lid for two hours and opening it again shows the right value immediately instead of a stale one.

None of that is hard. It's an afternoon of work and a week of second-guessing the wording. The point is that it went from "a customer told me" to "it's in the app" in days, not quarters.

Apple approved the update in August. I emailed him back to say it was live. He thanked me. And then, in the same message, he asked for something else.

The second ask

He uses the sit/stand mode, where the app alternates sitting and standing phases on a rhythm you set. His problem: he'd come back from a break, in the middle of a phase, with the cycle in a state that no longer matched what he was actually doing. He wanted to switch posture on the spot and have the timer start a fresh phase from that moment.

My first reaction was that this was a small preference thing. Then I thought about it for a day and realised it was the same class of problem as the first one. The cycle ran on the app's clock, and had no way to accept that the human in front of it had just done something the clock didn't know about. Coming back from lunch is not an edge case. It happens every day.

Version 1.3 adds one line to the menu bar menu. In sit/stand mode it reads "Switch to standing" or "Switch to sitting", depending on where you are, and clicking it flips your posture and restarts the phase on the new duration. If you use the plain reminder instead of the sit/stand cycle, the same line reads "Restart period" and simply starts your interval again from now.

The same release adds a week view to the reminder history, which came from a different itch entirely: the monthly calendar was fine for looking back, and useless for looking at today. That one nobody asked for. It's in review with Apple as I write this.

The loop is the whole advantage

I don't have much to offer against apps built by real teams. They have designers, QA, support staff, localization, budgets. I have evenings.

What I do have is a very short line between a customer noticing something and that thing being different. There's no roadmap to renegotiate, no quarter to wait for, no product manager to convince, no ticket to age quietly in a backlog. The person reading the email is the person writing the code. That's the entire structural advantage of building small, and it's worth more than any feature list.

In fairness, the slow part isn't me. It's the review queue and the fact that I still have to be reasonably sure I haven't broken anything. But even with that, days beats quarters.

I don't build everything people ask for

This is where these stories usually turn into "listen to your users" and I'd rather not. Most requests I get, I don't build. Not because they're bad ideas, but because a small quiet app stays small and quiet by saying no to a lot of reasonable things. Every setting you add is a setting every future user has to walk past.

These two got built because they cleared the same three bars. They fixed something about a job the app already claimed to do, rather than adding a new job. They were small enough to add without a new preferences pane. And they fit the way the app is supposed to feel, which is calm and out of the way. A request can be perfectly sensible and still fail all three.

The countdown is a good example of the first bar. The app's one job is telling you where you are in a cycle. It was doing that badly. That's not a feature request, that's a bug with good manners.

If you bought something and it annoys you

Tell whoever made it. Especially if it's small software from one person. You will not hurt their feelings anywhere near as much as watching a refund come through with no explanation attached.

Two emails from one customer turned into two releases of Standro in about a month. He paid $2.99 and got, in effect, a small amount of product direction. I got an app that's noticeably better at its own job. That trade seems fine to me.

I still don't know if he's using it. I hope so. Either way it was the most useful email I've had all year.

Try Standro

A quiet stand reminder for Mac, with the time remaining right where you can see it. $2.99 once.

Download for Mac