Published 2026-10-21 · 4 min read

Economic theory inside personal finance

Economic theories I only noticed one by one while building PFEx: whose constraint a budget is, whether pocketing money is a flaw or human nature, what saving is actually for. For each theory, one line on what it says, and one on the design call it became.

阅读中文版

A bookkeeping app is usually described in features: where you record, how it displays, which chart to draw. This post runs the other way. Only during development of PFEx did I notice that several economic theories had been at work the whole time. The calls were mostly gut decisions then; afterward I could see each one had taken a position on a theory. Below are a few, each told twice: what the theory says, and the one design call it became.

The budget constraint: the line sits next to the money

Economics starts with the budget constraint: income is limited, wants are many, and every purchase trades one want against the rest. Three thousand left at month's end: a keyboard, a weekend trip, a pair of shoes, and the money covers only two of them, so the third waits for next month. Buying one is giving up another; even buying nothing is a choice.

Bookkeeping software usually turns that line into a scolding: overspend, flash red. I did not want that. A constraint line should let you see what is left at a glance, not light up only in the moment you cross it.

So budgets in PFEx bind at two levels: account and global. Category budgets were dropped early. Saw the line into dozens of segments and every segment flashes red, yet you no longer know which line you are standing on. The closer the line sits to the actual money, the more real the constraint. The overspend warning exists; it speaks once, at the moment of placing the entry, about what this entry would do to the line. After that, the line stops talking.

Mental accounting: pockets are first-class citizens

Classical economics assumes money is perfectly fungible. Behavioral economics proved long ago that people do not run money that way: the same amount in a different pocket carries a different willingness to spend it. An 800 prize gets spent that same evening without a second thought; 800 missing from the paycheck is watched carefully for weeks. Identical money, two different feelings. The textbook calls this mental accounting, usually with one extra word: irrational.

Pockets are human nature, not a flaw. A tool that fights human nature does not survive. So pockets are the frame of PFEx: an account is a pocket; a planned budget cuts a pocket for one concrete thing, the money earmarked, settled only when the thing is done or the funds are spent, with no monthly cycle; transfers are split out from expenses, so money moved between pockets is not consumption. If money were truly fungible, those two would be one type. Splitting them is acknowledging the pocket.

Reason often fails to govern money; containers can. What economics should teach is not to erase mental accounting, but to add one more layer of awareness to each pocket.

Consumption smoothing: render "saved" as "lived"

Modigliani's life-cycle hypothesis: people save to smooth consumption across time, not to stack a number. Nobody wants to eat out for 300 a day in the first half of the month and instant noodles in the second; spreading consumption out is instinct. Saving is the same instinct run over a longer clock, so life keeps its rhythm in the months when income stops.

PFEx has no feature that encourages saving. What it offers is a readable coordinate: the net-worth curve and its daily candles. Read against the market, money moved between pockets is deliberately excluded; only money truly entering or leaving moves the line. That draws smoothing itself: how large a drawdown the curve absorbed, whether it was dragged along on the market's wildest days. Milestones are a ruler, not a reward, lighting up inside each currency's own denominations.

Utility cannot be measured, and no app will measure it for you. An app can only draw the rising and falling line as it is. The meaning column stays with the person.

Takeaways

  • These theories were no program drawn up before the code. They surfaced one decision at a time during development and were only visible afterward.
  • Each landing point is a single design call: budgets bound at account level, pockets as the frame, the curve that encourages nothing and merely lays the result out.
  • What we routed around: fungibility, rationality, and the obsession with a global optimum. Theory supplies the coordinate system, not the model answer.
  • In one line: its value is not solving your optimum; it is making every act of spending a more conscious one.
← PreviousSpending that is seen gets taken seriouslyNext →Two AI desks: one archives, one acts

Back to devlog · Back to PFEx