One Go binary: how we keep the server light
Before GoSosmed, our tooling was a collection of Python scripts and .bat files running as separate processes per platform. The outcome was predictable: RAM ran out, job status disappeared into stdout, and a crash meant lost work with no trace.
The decision: one Go binary
We rewrote the entire backend as a single static Go binary:
- Idle RAM under 80MB — a PRD target we measure, not a slogan.
- Cheap concurrency via goroutines — heavy work (browsers, media, ADB) is split into a runner process with explicit concurrency limits.
- A centralized job engine — every job has an event log; no more vanished status.
- Portable — all configuration via environment variables; moving from Windows to Ubuntu requires no code changes.
Principles we do not compromise
- No mock/dummy data in production code — empty means an empty state.
- No “done” claims without real validation in a browser or on a physical device.
- Every technical decision is recorded as an ADR that anyone can read.
The site you are reading follows the same philosophy: pure static HTML built by Astro — no heavy JavaScript, no external requests, fast on any hosting.
Curious where we are heading next? See the Roadmap.