Ponzi: A Finance App for Your House
There’s a few web applications I work on in my spare time. If you read this blog regularly, you’ve probably heard about some of them: Journey (an online questionnaire app), or ProCon (a convention registration system), for example. There’s one I use on a very regular basis that I’ve never blogged about, though: Ponzi.
The credit for coming up with the idea for this app actually belongs to my former roommate, Ian Adams. We used to use a whiteboard on the fridge for keeping track of intra-house debt, which we called “the debt board.” It’s the system almost all my friends have been using for some time – basically, it looks something like this:
Nat Ian Vik Nat X 130 Ian X Vik 21 X
So in this debt board, Vik owes me $21, and I owe Ian $130. It’s simple, it’s effective, and it’s an easy system to learn. However, keeping the debt board on the fridge has a few problems:
- There’s no audit trail – I might know that I owe Ian $130, but I don’t know why, and there’s no good way for me to find out. That also means that unless I keep a record somewhere else, I might forget what I already recorded and what I haven’t.
- If you’re dividing up a bill, you have to do some arithmetic in your head before writing it down. Not incredibly complicated arithmetic, but it can still be a bit of a pain. It’s also an order of magnitude more complex when dividing up a grocery bill, where some people might have personal items they don’t want to charge the house for.
- It’s easy to accidentally brush up against the debt board and erase it while walking by, and we were also constantly losing the whiteboard marker.
So anyway, Ian and I said, we’re both technologists. Clearly we can build a better debt board. We got as far as a database design, and then got stuck for awhile on the user interface, and then Vik showed up and informed both of us that we were being stupid geeks and the whiteboard worked fine, which was basically true.
So the project stayed dormant for quite some time, and then eventually Vik and I moved to Somerville with a new bunch of people, and Ian went his separate way. The new apartment had five housemates, not three, and tracking debt became much more complex. We quickly decided we wanted an online system for our finances, and that meant I should finish Ponzi.
And so, we’ve been using this thing for the past almost-a-year. Here’s how it looks:
As you can see, it mimics the “debt board” look, but it gives you a few other nice goodies: you can see your total balance (the sum of all your debts and credits) on the left hand side of the page. Also, you can see your separate balances with each of your housemates under the debt board, and if you settle debts, there’s an easy button to click to zero out your balance with them. In addition, Ponzi can track chore assignments on a monthly-rotating basis.
The best part, in my opinion, is the audit trail. If you click “Why?” next to the balance you have with your housemate, Ponzi will bring up this screen:
Basically, it’s an accounting-style ledger. You can see what transactions were entered when, and a running balance for the two of you for each one.
The most surprising thing about Ponzi is that thus far, it’s actually worked for us. It’s easy to enter debts, and the computer handles the math for you. Since everything is actually written down, there’s never any question about whether the amount shown is correct – you can actually go back and look for yourself to see why your balance is what it is. This eliminates a lot of the passive-aggression that some houses have surrounding money.
Recently, I added a new feature to Ponzi: multi-house support. That’s because a friend of mine asked if he could have a copy of Ponzi for his house. Rather than doing it that way, and having to maintain multiple copies of the app, I just added a feature to support multiple houses. Ponzi now knows who lives in what house, and automatically limits your view to only include your housemates.
Is it perfect? No, of course not. It doesn’t have some of the lofty features I’d originally intended:
- PayPal support – instead of mucking around with checks, just settle your debt electronically!
- iCalendar feeds for chores, so you can automatically be reminded of the sweeping, washing, and vacuuming you ought to be doing.
- Hell, the chores feature doesn’t even have a web interface for editing it yet – I just go into the database and fiddle the rows around.
But given how half-assed it is, and how little effort I actually put into coding and maintaining it, I’m actually pretty pleased with how it’s turned out.
Comments are closed.


4 or 5 years ago I completely brainstormed up a model to handle things like this, and to do things like automatically reduce the number of links. For example, in your first example, you can reduce the chain by routing the $21 from Vicky to Ian, and reduce your debt by $21. The benefit to this is that if people tend to share expenses somewhat evenly (each of you pays a different bill, you rotate who buys groceries, etc) you drastically reduce the number of transactions. I’d come up with models of entering in items, costs, and selecting an entirety or a subset of the stakeholders. I’d done all the logic, but because I’ve *never* coded a webapp (I’ve only tinkered with others here and there) I didn’t put it into any sort of production, especially as there were only 3 of us at the time.
I never thought to include a chore tracker though. That seems to me like it should be a separate app, unless there is a financial incentive attached.
I’m highly amused by the name you’ve chosen….
Hey- my house is thinking of using Ponzi to manage our bills and chores and such. Got a link?
Diana: Sure. It’s http://ponzi.natbudin.com. You can use your Festival of the LARPs password to log in.
I’m not sure whether I ever created a house in Ponzi for you guys – I know we’d been talking about it at one point. If it kicks you out, just IM me or something and I’ll set up the house for you.
Hey- it says “your account is not valid for this site”. I’m using the same email that’s in this comment…(dromeda at gmail dot com)???
OK, that means I have to make you guys a house. I’ll email you when I’ve done that.