There is a version of SFMe that has twelve screens, four onboarding flows, a settings menu with thirty options, and a dashboard packed with charts. I built that version. Then I deleted most of it.
Simplicity is a discipline because complexity is always easier in the short term. When you are not sure what a user needs, you add more. More options. More data. More screens. It feels like thoroughness, but it is usually just deferred decisions.
The test I use
Every time I add something to SFMe, I ask: if this was not here, would a student miss it? Not “would it be useful” — useful is a low bar. Would its absence be felt? Would someone actually notice?
Most features do not pass that test. Most interface elements do not pass that test. The things that remain after asking that question are the things that genuinely matter.
Accounting taught me this
I study Accounting and Finance, and there is something in that training that shapes how I think about design. In accounting, everything has to justify its presence. You do not add a line to a balance sheet unless it represents something real. I try to design the same way.
A button that is not doing real work is not neutral — it costs attention. It costs the user a moment of processing, of deciding, of recovering. Every element on a screen has a price. The question is whether it is worth paying.
Complexity is free to add. Simplicity has to be earned.
What this looks like in practice
For SFMe, it meant cutting our onboarding from five screens to two. It meant removing the “categories” feature in the first version entirely, even though every budgeting app has one, because we were not confident it was solving the right problem yet. It meant accepting that a simpler product shipped is more valuable than a complete product that never is.
We will add things back when students tell us they need them. Not before.