Selected work, 03
Stretch, a budget app on sale now.
Stretch answers one question: how much can I spend before my next payday and still cover my bills? It runs on your phone with no account and no bank login. The first version went on sale the day after I started it, and I have kept improving it since.
115tests the money math passes before any release
12bank statement formats it reads
0servers holding anyone's money data
See it run
Open the demo. It runs the real app with made-up numbers, so you can tap through it without buying anything. The paid version is in the NoFussApps shop on Etsy.


Sep 252026, on sale. First sale on October 2.
Where your numbers go
The dashed line is the whole privacy story. There is no arrow that crosses it going out.
The choices, and why
-
No server and no account.
People who buy budget tools do not want to hand over a bank login. So there is nothing to log in to. The app is a set of files your phone saves, and it keeps working with no signal. The cost is real: your numbers do not follow you to a second device on their own.
0logins, 0 bank connections
-
Money is counted in whole cents.
Computers get decimals slightly wrong. Ten cents plus twenty cents can come out as a hair over thirty. In a budget app that is a bug a user sees. Every amount inside Stretch is a whole number of cents, and it only becomes dollars when it is drawn on the screen.
A rule every part of the app follows
-
The math never looks at the clock.
"Until payday" depends on what day it is. If the math read today's date by itself, a test could pass on Monday and fail on Friday. So today is always handed in. That one rule is why every money rule can be tested against any date I choose.
115tests, run before every release
-
A failing test blocks the release.
The deploy script runs the tests first. If one fails, it stops and nothing ships. A budget app that is wrong by a dollar has no reason to exist, so this is not left to memory.
Checked by the script, not by me
-
An offline app still has to update.
An app that works with no signal does it by keeping its own copy of every file. Left alone, that copy never changes, and a buyer keeps last month's version forever. Each release stamps its own name on the saved copy, so the phone drops the old one on the next visit.
One stamp per release
What broke
-
I built the first version for myself.
Version one worked the way I budget. It quietly held back $50 as a cushion. Setup asked for one bill. It assumed you are paid twice a month. Each of those was wrong for someone who is not me, and the first one changed a person's number without telling them.
I rebuilt setup from what buyers of other budget tools praise and complain about. It now walks through nine steps, asks about every bill, and offers five ways to be paid. Nothing that changes your number is applied without asking.
Sep 242026, the day before launch
What I would do next
- Moving to a new phone means saving a backup file and loading it by hand. It works, and it is one more thing to remember.
- You download the bank file yourself. A format Stretch does not know falls back to a screen where you point at the columns.
- Sales are early. One product on sale shows I can finish and ship. It does not yet show that many people want it.
Each of these is a real gap today.