DEVELOPMENT LOG

How one person opens an exchange

Every release, every refactor, and every feature we removed on purpose, written down.

7 posts
2026-11-07

Spending that is seen gets taken seriously

While my car charges I often walk over to the snack shop next door and pick up something to eat. It never felt like much, until the months added up. What follows from that: why a month-end total cannot tell you where money went, why spending that looks reasonable one entry at a time only gives itself away in aggregate, and why the small stuff ended up with an index of its own.

Product DesignBookkeepingRead more →
2026-10-21

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.

ProductEconomicsRead more →
2026-10-14

Two AI desks: one archives, one acts

On 14 October PFEx gained a second AI role, the Settlement Desk. It and the Research Desk are two very different designs. The Research Desk is not real-time: it files one report whenever a period closes. The Settlement Desk is real-time: you talk to it any time. It grew from a chat box into a private finance agent with skills covering almost every data operation in the app, though it still files a draft and waits for approval before it writes.

AIProductArchitectureRead more →
2026-10-11

Desktop widgets: record straight from the home screen

The entry point for recording a transaction was buried at the bottom of the account detail page. I turned it into an Android home screen widget: one tap opens that account's record sheet, with buttons to switch accounts and a waterline tied to the account's budget.

AndroidWidgetsFlutterRead more →
2026-10-09

Redeem codes, and the background service I deleted on purpose

Two things shipped on 9 October: a redeem-code flow, and the removal of always-on background auto-booking. The first exists because mainland China cannot use Google Play, so store billing does not exist for those users; the second was me deciding that notification parsing could not be trusted.

AndroidSubscriptionsBackground ServiceRead more →
2026-10-01

The original concept: one person's finances as one market

PFEx stands for Personal Financial Exchange. Before the first line of code I had already written the whole setup: accounts as securities, balances as prices, net worth as the index, and a full page of things I chose not to build.

Product DesignBookkeepingArchitectureRead more →
2026-09-19

Between the idea and the app: a PRD

Before PFEx's first line of code there were documents. This is how I talked an idea through with AI into a PRD, split that PRD into components and milestones, and then built it week by week.

Product DesignAI CollaborationProcessRead more →