services

Boring infrastructure, exciting products.

I take projects from "works on my laptop" to reproducible, observable, and boring — in a good way. Remote-first, async-friendly, small commits.

NixOS architectures

Reproducible servers as code

NixOS flake-based server builds with devenv dev shells, sops-nix secret management, declarative systemd units, and sane deploy flows (rsync / nixos-rebuild switch / disk images).

  • ✅ Single-host and small-fleet NixOS declarations
  • ✅ devenv + git-hooks for local DX
  • ✅ sops-nix secrets wired into systemd services
  • ✅ Declarative Postgres, S3, reverse-proxy, TLS

DevOps & SRE

Ship fast, sleep well

CI/CD pipelines, container builds, monitoring, and backup strategy for self-hosted and cloud workloads. Prefer boring, observable infrastructure over clever, opaque stacks.

  • ✅ GitHub Actions / Gitea Actions pipelines
  • ✅ Docker + NixOS service hardening
  • ✅ Grafana / Prometheus dashboards
  • ✅ Logs, alerts, backups, and restore drills

Programming

Full-stack product engineering

TypeScript-first product work in SvelteKit and Next.js. Prisma + Postgres models, clean module boundaries, typed APIs, tests that actually get run.

  • ✅ SvelteKit & Next.js 15 (App Router)
  • ✅ TypeScript in strict mode
  • ✅ Prisma + PostgreSQL data modelling
  • ✅ Vitest + Playwright test strategy

AI engineering

Practical, not buzzword

LLM-assisted features that respect privacy: structured extraction, tool-calling agents, local/sovereign models, RAG, and evaluation harnesses.

  • ✅ Structured LLM extraction & codegen
  • ✅ Local-first / sovereign inference
  • ✅ RAG pipelines with garbage-in-garbage-out guardrails
  • ✅ Prompt contracts with Zod validation

process

How I work

    01

    Discovery

    I map your goals, constraints, and the current state of your stack. Often this already saves weeks of meandering.

    02

    Architecture

    Small written plans, diagrams and concrete ADRs. Not a 60-page PDF nobody reads.

    03

    Implementation

    Declarative configuration, clean interfaces, working code. Every change pushed through reviewable and reproducible pipelines.

    04

    Handover

    Documentation and a runbook. When I leave, the system is still understandable — that is the whole point.

Have something that keeps falling over?

Tell me what it is. I'll tell you straight whether Nix, containers, or a decent cron job is the answer.

Get in touch