Can You Explain Your Own App?
Nine areas. Two questions each: can you name it, and have you seen it yourself? Those look like one question. They are not.
Almost nothing goes wrong in an app like yours because somebody did not know. It goes wrong because somebody was sure — and had never opened the screen and read it.
one-time · instant download · yours to keep
01 — The problem
Nobody is caught out by what they know they do not know.
You would have answered the question
Ask somebody where the price a customer pays gets decided and they will tell you, without pausing. On the server. Of course on the server. They are describing what they meant to build, and they have never opened the file to see what is there now.
The tool has been changing things since
Whatever you set up on day one, something has been editing it for you ever since — settings toggled to make a thing work, a default accepted, a file rewritten. Memory of an intention and the state of a screen come apart quietly, and nothing announces it.
So the gaps you know about are the safe ones
If you cannot name something, it is already on your list; you will go and look when you need it. The dangerous rows are the ones you would scan straight past, because you are certain, and certainty is exactly what stops you checking.
02 — What's inside
Three questions per area. None of them a trick.
Whether it applies at all
If your app takes no money there is nothing to know about the money path. Those rows read DOES NOT APPLY, count against nothing, and are excluded from every number on the dashboard.
Whether you could name it
Could you say the answer out loud, right now, without opening anything? "I could work it out" is a no — and answering it as a no is not a mark against you, it puts the row in the honest middle.
Whether you have seen it yourself
Have you opened the actual screen or file and read what is there now? Knowing because the app behaves that way is a no. So is remembering setting it up.
The nine areas ship filled in, each with a specific thing to go and look at. Being generous with yourself only wastes your own ten minutes.
03 — The standard
Three rules it will not bend for you.
Being sure ranks worse than not knowing
GOING ON BELIEF sits BELOW CANNOT EXPLAIN IT, and that ordering is the whole sheet. A gap you admit to is already on your list. A belief you have never checked is one you will skip, confidently, every single time you scan the page — so it goes at the top instead. Set an area you cannot name to "yes" in the demo and watch the row get worse.
It names no product and sells you nothing
Every row tells you what to open. The sheet mentions no product anywhere, and that is checked mechanically rather than promised — the verifier scans the output and fails if a product name or a price appears in it. For several of the nine areas, going and looking is a ten-minute job you can do with what the row already tells you.
An answer you could not find is scored as the worst it could have been
Not a guess about what is likely — the worst, because an answer you cannot produce is not evidence. Stated that way it also cannot be gamed: writing cant_find can never get you a better result than telling the truth would have. Where an unfound answer could not have changed the row either way, it is not counted against you and the row says so.
04 — How it works
Ten minutes. Then go and open one thing.
01
Mark which of the nine areas your app actually has. Two or three usually do not apply, and those stop mattering immediately.
02
For each one left, answer whether you could name it right now, without opening anything. Be strict — this is the question that is worth something.
03
Then answer whether you have opened it and read it. Not set it up. Not watched the app behave. Opened it.
04
Open the one thing the sheet names. Then re-answer that row honestly, and see what the next one is.
05 — What you'll see
The worked example, live.
The nine areas, answered the way a lot of people would answer them. Try changing A-03 — which you cannot currently name — to say you can name it, and watch the row get worse rather than better. That single move is the argument this whole sheet makes.
Try it on the nine areas
Set A-03 to name it “yes” and watch it get worse. That is the whole sheet: admitting a gap is the better of the two, because it is the one you will actually go and close.
| Area | Applies | Can name it | Seen it yourself | Destination |
|---|---|---|---|---|
A-01 The browser line the decisions your app makes in the browser rather than on the server | YOU CAN EXPLAIN IT you can say what this is and you have seen it with your own eyes | |||
A-02 The rules on your tables which tables have row-level rules turned on, and what those rules say | GOING ON BELIEF you could say what this is, and you have never opened it and read it - this is the row you would skip | |||
A-03 Who is allowed to do what what stops one signed-in person opening somebody else's record | CANNOT EXPLAIN IT you could not say what this is, and you already know that | |||
A-04 The money path what your app does when the payment provider says a payment succeeded | DOES NOT APPLY your app does not do this, so there is nothing here to know | |||
A-05 Keys and secrets where each key lives, and which of them the browser can see | CANNOT EXPLAIN IT you could not say what this is, and you already know that | |||
A-06 Test mode and live mode which mode each service is in, on both the app side and the service side | YOU CAN EXPLAIN IT you can say what this is and you have seen it with your own eyes | |||
A-07 The shape of your data which tables have a column naming who a row belongs to | CANNOT EXPLAIN IT you could not say what this is, and you already know that | |||
A-08 Accepting changes what you would actually do to undo the last change you accepted | GOING ON BELIEF you could say what this is, and you have never opened it and read it - this is the row you would skip | |||
A-09 What you hold about people every field you store about a person, and why | GOING ON BELIEF you could say what this is, and you have never opened it and read it - this is the row you would skip |
Verdict
GOING ON BELIEF
Some of what you would tell somebody about this app, you have never checked.
Look at this first A-08 — Accepting changes: what you would actually do to undo the last change you accepted
6 of 9
areas you have not seen for yourself
67% of the areas listed
3
you would skip because you are sure
the ones this sheet exists for
3
gaps you already know about
already on your list
1
not worth your time
your app does not do these
Every row tells you what to go and open. Going and looking is free, and areas that read DOES NOT APPLY are never counted against you.
This is the live engine. 60 rows, the same formulas, in a file you keep Start Here tab that explains every answer in plain words Dashboard with the verdict, the counts, and what to fix first
Get the kit — $5906 — Who it's for
For the person who is about to say “of course I know how it works”.
Buy this if
- You shipped something real and are not sure where to start checking it.
- You have a mental model of how your app works and have not tested it against the screens.
- You want a triage that takes ten minutes, not nine separate afternoons.
- You would like to know which questions you can already answer, before spending money on any of them.
Skip it if
- You have already worked through the nine areas one at a time. This is the map, not the territory.
- You built it by hand, read every line, and know exactly what is there.
- You want a tool that inspects your project — this reads back what you tell it, and nothing else.
What this is not
This reads back what you tell it and nothing else. It scans nothing, connects to nothing, and sees no part of your project. It grades your own account of what you have looked at — never a person, and never the code. It is not a security audit, a scanner, or a test suite, and it is not legal advice. Every row names something to go and open, and going and looking is free.
07 — Works alongside
Where this sits.
Each area has a kit behind it, if you want the structured version. You do not need any of them to act on what this tells you.
The Browser Line Read-Off
$59A-01 · the decisions your app makes in the browser rather than on the server.
The Supabase RLS Read-Off
$69A-02 · which tables have row-level rules turned on, and what those rules say.
Logged-In Is Not Allowed
$59A-03 · what stops one signed-in person opening somebody else's record.
The Money Path Teardown
$69A-04 · what your app does when the payment provider says a payment succeeded.
The Keys & Secrets Sorting Drill
$49A-05 · where each key lives, and which of them the browser can see.
The Test Mode vs Live Mode Line-Up
$49A-06 · which mode each service is in, on both sides.
The Data Model Sanity Bench
$69A-07 · which tables have a column naming who a row belongs to.
The Accept-or-Revert Ladder
$59A-08 · what you would actually do to undo the last change you accepted.
What You Now Hold
$59A-09 · every field you store about a person, and why.
08 — Common questions
Before you buy.
Because a gap you know about is already on your list — you will go and close it. A belief you have never checked is one you will skip, confidently, every time you scan the page. Almost nothing goes wrong in an app because somebody did not know; it goes wrong because somebody was certain and had never opened the screen. The rows you would breeze past are the dangerous ones, so this sheet puts them at the top.
No. Producing the answer is the test — could you say it out loud, right now, without opening anything. "I could work it out" is a no, and answering it as a no is not a mark against you: it puts the row in the honest middle rather than at the top.
Only if you have gone back and read what is there now. Remembering setting something up is memory of an intention, and what is on the screen is the result — those come apart quietly, especially when a tool has been changing things for you since. Knowing because the app behaves the way you expect is also a no.
No. Every row tells you what to go and open, and the sheet names no product anywhere — that is checked mechanically, not just promised. Going and looking is free, and for several of the nine areas it is a ten-minute job you can do yourself with what the row already tells you.
Not at all, and it should not. If your app takes no money there is nothing to know about the money path. Those rows read DOES NOT APPLY and are excluded from every number on the dashboard — a sheet that padded its own list would make the figure at the bottom meaningless.
It is a ten-minute check, so quarterly is reasonable, and the useful moment is right after a stretch where you accepted a lot of changes. Answers move in both directions: things you have seen go stale, and things you had never looked at get looked at.
Get the Read-Off
Find out which questions you can already answer.
- One .xlsx — Start Here, Dashboard, Areas
- The nine areas filled in, with room for your own
- Ten minutes, honestly answerable in one sitting
- Names no product — every row says what to go and open