Skip to content
Plain and Simple

Principles

What I hold to.

Seven rules the apps are held to, written specifically enough that they could be broken — a principle nobody has ever had to obey is a slogan. The story of why any of this exists is on the About page.

One job, done properly.
An app should be explainable in a sentence. If it needs a tour, a tutorial, or an onboarding flow, it has stopped being a tool and started being a product. I would rather ship something small that works than something broad that mostly works.
Your data goes somewhere you already own.
Not my servers, because there are none. Your journal syncs through your iCloud. Your step count goes to the Home Assistant already running in your house. This is the constraint everything else follows from — you cannot lose, leak, or sell what you never held.
No ads, no purchases, no subscriptions.
Every one of those exists to make leaving expensive. A subscription so you keep paying after the app stops being useful, ads so your attention pays the bill, a purchase gate so the free version is really a demonstration. Free to download and free to keep means you can walk away and nothing breaks. Where an app signs you in at all it is Sign in with Apple, locking the app to you rather than opening an account with me — I get no name, no email and no password, because there is nowhere to put one.
If I can’t say where your data goes in one line, it isn’t finished.
There is a table at /compare with a column per app, and its last row is a plain-language destination for each one. It is a real constraint, not a marketing page: an app that cannot fill in that line honestly does not ship. Vagueness in that row is a design failure, and the table is built so that a new app cannot quietly leave it blank.
While everyone else builds AI slop and charges for it, I build AI slop that’s free to anyone :)
Said with a smile, but there is a real point underneath. These apps were built fast, by one person, with modern tools doing a lot of the typing. That is not a secret and it is not an apology — it is the reason they can cost nothing. What I won’t do is use that speed as an excuse to charge a monthly fee for something that took a weekend.
You always know what an app is asking for, and what it already has.
Tools is the precedent. A tool declares what it will ask for, the shell asks for nothing, and a tool you have never opened never asks — the request arrives when you use the part that needs it, not when a screen appears. Three tests read the app's own source and fail the build: if permission code appears outside a tool, if the bundle declares a permission no tool asked for, or if something asks without you having pressed anything. The table at /compare then has a row for the camera, for Photos, for Health and for location, app by app.
I use everything I build.
Each app here started as something I wanted and couldn’t find, and I still use every one of them daily. It is the cheapest quality control there is: nothing survives that is annoying to live with.

If any of this turns out to be untrue in practice, that is worth knowing about — help@plainandsimple.app.