Hacker News new | ask | show | jobs
by tombert 829 days ago
I occasionally need to loan people money, and usually they need to pay me back in multiple payments, sometimes over several months.

Being a proper geek, my first inclination was to build a web app to keep track of that and so the people I am loaning cash to can also view their balance, but I realized that would involve maintaining state and login creds and a bunch of other variables I haven’t even considered, and maintaining this app would become a second, unpaid job.

Then I thought “I could just use a Google sheet and share it”, which is what I ended up doing. It’s easy to set permissions, I don’t have to worry about hosting, I can have it do any amount of arithmetic and light programming that I might need, as well as being automatic and reactive as I add information. It will be slower than something I would write in C obviously, but realistically for something involving budgeting the time savings will be on the order of milliseconds.

I love spreadsheets. They provide a gateway to programming for non-programmers, and they provide a low-effort means of playing with data.

6 comments

I think you told your experience based on the "spreadsheets are all you need" title. I don't know if you know this, but it's a play on the "Attention Is All You Need" 2017 paper by Google which introduces transformers, the building block of LLMs.
That's what I get for not fully reading the article. Thanks for the reference, I have some reading material tonight.

Still, I meant everything I said about spreadsheets :)

Now I noticed it does say so at the bottom of the page...
Tangential but I've been thinking about building a real-estate calculator after my first homebuying experience, something that will provide you with a total cost of ownership, points bydowns and other useful metrics about a home purchase. Rather than jumping into a web app to start building, I've been prototyping it in Excel. I found it really cool for prototyping this type of app, I built my entire "MVP" in about an hour and now just evaluating all the "features" I've added before committing to transplanting this into a webapp.
Yeah, at this point for a lot of the more "number heavy" things I do, my first version is generally in Google Sheets to get a rough prototype and to make sure my math is basically correct, and then a port to Julia.

The hyper-interactive nature of spreadsheets makes them kind of genuinely fun to tinker with. You can see results immediately, and you have enough logic (even in just the vanilla cells, not even counting JS or VBA) to implement a lot of algo stuff.

Well said. This can go even further by defining JavaScript code as functions in a sheet. For example, if someone pays you back, you click a checkbox in the corresponding cell, and it runs your code to send them a thank you email.
Discernment is an earned virtue. Knowing when to build and when to borrow is akin to a great filter in builder culture, congrats on making it through
I do think that there's sometimes value in reinventing the wheel. Sometimes your goal is to figure out how a wheel works, or you think you have a better design for a wheel, etc.

In this case, I don't think anything I'd do is going to be revolutionary, and I don't think I would have learned at that much, so Google Sheets was great.

Aye - your discernment is strong ;)
How do you deal with people who don't pay back in time or ever? What's your favourite tool for dealing with such situations?
Mentioned in a sibling reply, but the money I loan is to either close friends or family members or in-laws. I know them well enough to know that "not paying me back" really isn't on the table.

In regards to "not paying on time", these are friends and family, so it's not like I'm going to go break their kneecaps or anything; if they're a bit short on the payment date we just push it back.

Its not an unpaid job. Presumably you are charging interest. You just dont have the scale of a bank to make money changing anything close to market rates.
These are family members and/or in-laws, I'm not charging interest to them, so if you count inflation it's actually costing me money.

So it would absolutely be a second unpaid job, but I'll admit that I didn't specify why.