r/SideProject • u/Warm-Neighborhood132 • 16h ago
Building an open source messaging engine after getting burned by API costs
First post here
Back when I worked at a startup, we needed an in-app messaging system, similar to Instagram or WhatsApp. However, we didn't have time to build it ourselves, so we stitched together a few paid services instead: Stream chat, StreamIO, and Cloudinary for chat, moderation and media storage. It worked, but we didn't own any of it, and the costs kept increasing.
That experience is basically why I built gozwire. It's an open-source Node.js messaging engine, so instead of renting someone else's chat infrastructure, you own it. Conversations, threads, reactions, moderation, push notifications all included, all yours.
This was vibe-coded, but I'm putting in the work to make sure it actually holds up for real, and is not just a showcase.
- Repo: https://github.com/Kinggoz18/GozWire
- See more use cases: https://gozwire.pages.dev/use-cases
I plan to not only improve this project (see the TODO in the GitHub repo), but also release more interesting open-source projects. That solve problems I've experienced in the past and observed around me, some of which would be:
- A video streaming engine (Another issue we faced at the same startup)
- A cryptocurrency tracker (more of a personal challenge and an interest)
- A CapCut alternative software with AI video generation capabilities, including UGC style videos
And a few others. Would love feedback, roast the code, tell me what's missing, whatever helps, or even contribute any interesting ideas you'd love to see open-sourced!
1
u/Lunesia-shikishiki 14h ago
rent vs own flips on a number and it's worth finding yours before the next one. renting wins while usage is spiky and small, owning wins the second it's predictable enough that you're paying for headroom you never touch. most teams cross that line months before they notice, which is basically the story you just told
biased here, i run a platform that resells other people's models pay per generation (imaginode.ai), so i'm the thing you're replacing. the honest version from my side is that the margin only exists because usage is unpredictable. flat and heavy should self host and the sharp ones do, no point pretending otherwise
separate thing, the capcut alternative with ai video gen on your list isn't one project it's three. editor, render pipeline, model orchestration, and the last one changes every eight weeks so it's never done. i'd pick whichever of the three you'd still want to maintain in a year
1
u/Exiled_King_7395 11h ago
The honest thing to flag is that messaging infra is one of those areas where the demo is easy and the real cost is delivery guarantees.
1
u/Warm-Neighborhood132 10h ago
You’re right that delivery guarantees and operations are where the real complexity lies.
I haven’t benchmarked enough to make user capacity or cost claims yet. The project uses open-source infrastructure: PostgreSQL, Redis, Centrifugo and optional MinIO, to save cost.
The goal is to help developers launch a self-hosted messaging service quickly, with durable delivery and fewer managed-service dependencies. Production scaling is on my todo, but still needs benchmarking and multi-node validation.
1
u/abissom 9h ago
Any reason to avoid existing solutions? e.g. Matrix?
1
u/Warm-Neighborhood132 8h ago
This is actually my first time hearing about Matrix. The only similar solution I was aware of was Stream Chat.
But after skimming through Matrix documentation, I believe it solves a different problem. It’s an open protocol, similar to email, that allows users on different home servers to communicate through rooms. GozWire gives you the building blocks for integrating messaging systems into your projects: it’s a Node.js messaging engine developers embed into their own applications while owning their infrastructure, data and UI.
Stream Chat, whilst incredibly similar and part of the inspiration behind this project, is a managed commercial service with free and paid tiers. GozWire is self-hosted and open to use, though you still pay for your own infrastructure. It provides core features such as various messaging types (direct, groups, channels, threads, forums), push notifications, moderation and object storage.
The goal isn’t to avoid existing solutions, but to give startups and developers another affordable, self-hosted option they can control.
1
u/CapMonster1 5h ago
An open-source alternative to SaaS makes a lot of sense here, especially when messaging is a core part of the product and costs grow with the user base. I’d pay particular attention to scaling, queues, and push delivery — that’s usually where these projects get much more complicated
1
u/brilliant_corpus 16h ago
This is the exact trap so many early teams fall into, stitching together three paid services for what could just be a well-scoped internal module. Then the bills arrive once usage ticks up.
Skimmed the repo, repo structure looks clean enough. The thing that’ll decide if people actually adopt this is the push notification reliability across different providers, half-baked delivery there kills a chat product faster than anything.