tony@sala.dev:~/about $ cat README.md

# Tested, plain code you can run yourself.

I'm Tony Sala, a software engineer with 12+ years of building and running production systems, mostly in PHP and Laravel: banking, pensions, higher education and, most recently, regulated health-tech, where a bug isn't just an inconvenience and "it works on my machine" isn't evidence.

I care about three things: tests that prove the code works, code plain enough that the next person can read it, and owning the infrastructure it runs on. I've worked on contract since 2022, and take on websites, web apps, Android apps, backends and the infrastructure under them.

Five rules I actually work by.

Not a manifesto. These are the habits behind the code I ship every day.

  1. Code without tests is not production-ready.

    I need to know it works, not guess. Tests are written with the code, run on every change, and document what it does.

    $ ship # refuses if a test fails
  2. Explicit over implicit. Simple over clever.

    Strict types, honest names, flat code. If an implementation is hard to explain, it's the wrong one.

    declare(strict_types=1);
  3. Small, reversible steps.

    Ship daily, in changes small enough to review in one sitting, each one a single command away from rolled back.

    $ ship --rollback
  4. Valid by construction, immutable by default.

    If an object exists, it's valid. Changing state returns a new value instead of quietly mutating the old one.

    final readonly class Email
  5. You own everything: code, infrastructure, accounts.

    Repositories, cloud accounts, domains and deploy pipelines are in your name and documented, so you can carry on without me.

    $ git remote -v # origin: your-org

Career, newest first.

$ git log --oneline --since=2014 · select a row to expand
  • A live console for a 4-node k3s cluster: a Rust (axum) API, a Svelte 5 UI, gRPC agents on every node, WebSocket updates and GitOps with Flux. Its own ship pipeline builds, proves, goes live and walks 176 pages with a design check, with one-command rollback. About 1,100 commits and roughly 4,300 tests across Rust, web and Kotlin.

    $ ship && ship --rollback

    read the Substation case study →

I run my own software.

The homelab

A 4-node Kubernetes (k3s) cluster running software I wrote: a Rust API, a Svelte web UI, gRPC agents on every node and GitOps with Flux. It's where I try things before I'd recommend them to anyone.

nodes 4/4 ready
[K3S][FLUX][RUST][GRPC]

Building my own tools

A ship pipeline that builds, proves, imports and goes live, then walks 176 pages with a design check, with one-command rollback. Android apps shipped from the same pipeline. A Telegram agent and alerting with quiet hours.

tests ~2,700 rust · ~1,100 web · ~440 kotlin
[SVELTE][KOTLIN][CI/CD][LLM]

$ kubectl get nodes # the case study has the full story →

Need someone to own it end to end?

Tell me what you're building. I reply personally.

NORMAL /about available UK · remote tony@sala.dev updated
available Start a project →