← Back to blog

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

  1. No mock/dummy data in production code — empty means an empty state.
  2. No “done” claims without real validation in a browser or on a physical device.
  3. 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.