u/dstpierre

Crazy how Go long-term maintainability is opposite of some other languages, my 7 y/o BaaS is un-archived
▲ 88 r/golang

Crazy how Go long-term maintainability is opposite of some other languages, my 7 y/o BaaS is un-archived

Probably the next episode topic in go podcast().

I open sourced StaticBackend in January 2020, in June 2024 I decided to archive the project since I did not reach enough traction. Seeing how Supabase got so many funding, I got discourage

Fast forward to January/February 2026 where I was still in need of a quick BaaS for testing 2 projects (SaaS) at the same time, so why not see how it feel to un-archive it and restart maintaining the project. The title might be a bit misleading, the archive period was 1.5 year, but the project is 7y, it was closed source before being open source.

Feel great, the v1.7 GitHub release adds some nice quality of live with the server-side functions, multi account for user, improved query parsing/field type assertion.

I've maintained 20 years old software in C# / .NET. It's doable, and SB isn't 10y yet, but with Go you typically do not have the same issues / situation I lived and heard other say, which are mainly, the tech debt is reaching a point where no matter the amount of tests (system and user) you have, deploying innevitably will mean something breaks somewhere. This seems to be a little bit more manageable in Go, not completely sure why exactly.

Another diff with Go is how comfortable it is to jump back into a project, even after 1.5 year. Old systems sometimes just do not require daily updates. A 15 years old production system need a decently good reason to change it, especially if the original programmers that worked on the system are not available anymore. I feel we do not have this as much in Go, the situation where "ho no, Bob is not there anymore, only them knew how to do X" or something. You just open the code and change it in Go.

I've been saying this for years in the pod, but this to me is truly where Go has its strongest strenght. It's not sexy, you only experience this after a very long time, but it's there and system are trustable and easy to maintained even if it's not your code.

What is StaticBackend exactly?

It's just a Go backend API that's re-usable in multiple projects that offers most of the feature a typical web application need on the backend, user management, database, blob storage, server-side function, schedule tasks, realtime event / pub-sub, etc.

When I initially built it I was tired of writing the same old code over and over for authentication, database querying, etc. It evolves to what it is now, which is a stable backend API that can easily be self-hosted and a full local development via the CLI that requires no extra service installed (i.e. you want to target Postgres, you don't need it in dev and when deploying the code just work because StaticBackend handle PostgreSQL, MongoDB, sqlite.

Un-archiving again showed me how Go is great at long term maintainability, it's a 7 years old project and instead of getting more complex with tech debt, well it's like the opposite with Go.

Github: https://github.com/staticbackendhq/core

Website: https://staticbackend.dev/

u/dstpierre — 3 days ago