back
148 comments
I'm always curious what folks use for their database for things like this. Even though I like SQLite--a lot--my preference has become that the app is generally separate and mostly stateless. Almost always the data is the most important thing, so I like being able to expand/replace/trash the app infra at will with no worries.

Thought about maybe running a Postgres VPS, but I've enjoyed using neon.tech more than I expected (esp. the GUI and branching). I guess the thing that has crept in: speed/ease is really beating out my ingrained cheapness as I've gotten older and have less time. A SaaS DB has sped things up. Still don't like the monthly bills & variability though.

>Almost always the data is the most important thing, so I like being able to expand/replace/trash the app infra at will with no worries.

Have you used SQLite with Litestream? That's the beauty of it. You can blow away the app and deploy it somewhere else, and Litestream will just pull down your data and continue along as if nothing happened.

At the top of this post, I show a demo of attaching Litestream to my app, and then blowing away my Heroku instance and redeploying a clean instance on Fly.io, and Litestream ports all the data along with the new deployment:

https://mtlynch.io/litestream/

It's trivial to run mysql (or Perforce variant) or Postgres, with some minor caching for simple apps.

I'm not sure what you are hitting that would go past the capacity of a small vps.

Independent VPs for DB make sense, but if the requests are reasonably cached, you can get away with it (and beef up the backups) especially if it's something non-critical.

Spinning up a VPS for things like this is tempting to me too, but not having done significant backend work in over a decade my worry would be with administering it — namely keeping it up to date, secure, and configured correctly (initial setup is easy). What's the popular way of handling that these days?
I tested the app and found it awesome that it doesn't require account creation! You just get a private link, share it with the group, and when they open the link, it asks who they are to 'log in' as themselves. Of course, users could game the system by logging in as other members, but I think it's a compromise the developer made, knowing the user base and how frictionless it makes the user experience. Neat.
I've used this really neat website called when2meet[0] for community organizing heavily. You make an event, get a url and share it. Users choose their name and they can even add a completely optional password to prevent impersonation

I'm heavily inspired by it and working on an app for book clubs to host "elections" to choose their next book to read using a variety of voting systems (ranked choice, approval, scored, first past the post, etc).

[0] https://www.when2meet.com/

kittysplit.com has had this feature set for a decade. I try to promote it whenever I can
Re your question on saving costs: If you run it on a single Linux VPS, then I suspect you can get the costs down to 5-10$ per month.

One thing I find interesting is the growth chart: It's linear. But given that the app clearly has some traction, and is viral in nature, how come it isn't exponential?

I was thinking exactly this. I am the maintainer of ntfy.sh and my costs are $0 at the moment because DogotalOcean is paying for it 100% because it is open source. It would be around $100, though I must admit it's quite oversized. However, my volume is much much higher than what is described in the blog.

I suspect that the architecture can be improved to get the cost down.

It usually never is exponential, see e.g. https://longform.asmartbear.com/exponential-growth/ that shows examples from "hypergrowth" companies where it's perceived these companies grew exponentially, but the growth actually followed a more quadratic form. About halfway through the article, the author shows another model that's more likely to fit these growth patterns: logistic growth. After initial rapid growth, followed by a period of linear growth, it eventually flattens out, indicating it's at "carrying capacity", or "market saturation".
Same thought, I am absolutely blown away by how much vercel overcharges. I host a similar application on netcup (like hetzner) for 3$ per month, and when it was on HN, it easily handled over 10k requests per hour
Best I’ve been able to do is around $22 a month on DO, would love to hear alternatives that are cheaper
This is cool, dude. Thank you for sharing. Irrespective of the actual numbers I’m always curious how people fund projects like this.

One thing I’ve been interested in is the idea of decentralized handling for this. That is, the project is funded in and every month if its bills don’t get paid it dies. If it receives enough to go over it buys T-bonds for the appropriate duration and then burns them down over time.

Perhaps in the past it would have to be automated but I wonder if in the near future a limited AI agent could be the server and you leave him alone to do his thing.

The pay only what you use model is nice when your revenue also scales with use. For my projects I wish there were plans with higher fixed cost and risk only in availability and not in cost.
The only downside with that I've found is people and orgs tend to overestimate their future usage of X across the board, so profits rarely match expectations with pay-as-you-go, and tier-based pricing will easily overcome you by capturing more $$ from the market. Some notable exceptions are things like file storage where people tend to underestimate what they will need I find.
I love spliit and use it regularly. Like many times per week.

One thing that drives me crazy is it works really poorly on slow mobile connections. I'd really love to try to add local first or offline first support but I know it would be a significant change. However, even just caching pages like the add expense page would be a nice improvement.

I love the idea of this but, given the traffic numbers, this could run on a $4 Digital Ocean droplet and have the same result. They've burnt over a grand just to use vercel. Maybe I'm just older but I don't understand the logic here. A basic VPS, setup once, would have the same result and would be neutral in cost (it's how I run my own little free apps). Maybe the author is lucky enough that $100/mo doesn't really affect them or they're happy for it to pay for the convenience (my assumption).
Running a database accessed that many times on a $4 Digital Ocean droplet? I'd be very curious to see that ;)

The web hosting costs basically nothing. Most of the cost comes from the database.

This is a fantastic app. Thanks for sharing the breakdown.

If banks would get their head out of their ass, this would be a native feature with ach/zelle/fednow as the backbone. Organizer creates group in bank app and can invite other users which may have different bank accounts. Payment requests satisfied through 1-click. No more manually checking if Cashapp/bank accounts/venmo have received payment then checking off the expense in third party app

What they need is a payment provider integration so you can ACH or credit card pay immediately. That can also be a monetisation option for them.
There are dozens of other apps that do that already, and I don't think this one needs to follow. Staying open source, free, and convenient for cash transactions is better in my opinion.
You just invented money laundering
I'll email this to you, but you could save a ton of money using a serverless database solution like Supabase or NeonDB.
Can anyone tell me what tool can i use to track website visit statistics?
They use Plausible. There are a few alternatives: https://alternativeto.net/software/plausible-insights/
I would considering Firebase for database (best effort/cost ratio I found) or self-hosting the db.
Would be interesting to see how this compares to https://splid.app/
Well this is opensource for one.
Do I read something wrong, or does the stats amount to ~400 daily visitors with ~2500 page views per day? That's about ~1.7 requests per minute... And they pay $115/month for this?

I'm 99% sure I'm reading something wrong, as that's incredible expensive unless this is hosting LLM models or something similar, but it seems like it's a website for sharing expenses?

I think this is just the natural conclusion of the new generation of devs being raised in the cloud and picking a scalable serverless PaaS like Vercel as the default option for any web app.

A more charitable reading is that they pick the technologies that the jobs they want are hiring for, even if they don’t make sense for this simple application.

Yeah, I'm confused too. Running some sort of VPS would totally do the job, no?
I've been going down the VPS rabbit hole lately since I have some toy projects I want to host and really don't like the unpredictable pricing model of these "pay as you go" providers like Vercel. E.g. I really love Supabase but it's hard to justify jumping straight to the $25/month plan in combination with Vercel costs.

I was surprised how extremely easy it is to get set up with Coolify on a Hetzner VPS, which has preset install options for NextJS + Supabase + Posthog + many others. And I get the standard autodeploy on commit functionality. The open-source versions are missing some features, and I don't get the slick Vercel admin interface, but for a pet project it works great. I'm also by no means a sysadmin expert, but with ChatGPT it's pretty easy to figure things out now.

The inefficiency is bonkers but understandable. I could host this app for like ~$60/year, generously, with little to no devops work. It's painful to see the creator paying out of pocket for such a great project because the Vercel marketing introduced such massive inefficiencies to the ecosystem.

Even less when I pay for a dedicated machine running all of my hobby projects. Gratuitous Kamal 2 plug. Run your personal projects all on one machine.

Where would you host this for $60 a year?
So that's how vercel makes their money.
That’s, and a bunch of twitter “indie hackers” who get traffic spikes that result in hundreds of dollars bills. Seriously, just get a VPS
Their marketing team needs a raise.
For reference, 100 dollars a month gets you this bare metal server on hetzner: Intel® Core™ i9-13900, 64 GB DDR5 ECC, 2 x 1.92 TB

... Should be more than enough to handle 2 requests per minute, could probably handle 100x of that.

Yet another testimony to how utterly few people are willing to pay for what they use in the abuse system called "open source". People, start charging for your work, and leave the freeloaders behind!

> A short disclaimer: I don’t need donations to make Spliit work. I am lucky enough to have a full-time job that pays me enough to live comfortably and I am happy to give some of the money I earn to the community.

And this is why open source will finally die, because being comfortably employed while still having surplus time and energy to work for free is an increasingly rare thing among the younger generations.

A better way to "give back to the community", instead of making open source software, would be to purchase software from other indie developers.

Not to be "that guy" but...

To clarify some confusion in this thread, it might be helpful to distinguish "open source" (the application) from "free" (this hosted instance of the application). Munging the two together might lead to some incorrect conclusions. Running a "free" application for others is going to have certain costs. The cost of running an "open source" application is going to depend entirely on the resources that application consumes, which, if run privately, might be a lot less.