Skills

What I work with, and how it fits together: from designing the system to keeping it running on a server.

DevOps · Full Stack
HOW I SHIP

From whiteboard to a running container

Every product goes through the same loop and the same deploy framework: nothing reaches the server without passing CI, and nothing stays there without passing its health check.

  1. Think
    1. 01
      Design

      System design, data model, user flows and roles

      Figma · ER models · RBAC
    2. 02
      Plan

      Numbered docs, API contracts and a phase plan

      Markdown docs · API contracts
  2. Build
    1. 03
      Develop

      APIs, web panels and mobile apps on one backend

      NestJS · Next.js · Flutter
    2. 04
      Test

      Path-filtered CI: lint, unit and e2e on real Postgres

      GitHub Actions · e2e
  3. Ship
    1. 05
      Dockerise

      Multi-stage images, one tag per commit

      Docker · Buildx · GHCR
    2. 06
      Deploy

      Private network, SSH, migrate, Compose up

      Tailscale · SSH · Compose
  4. Run
    1. 07
      Verify

      Health checks and endpoint probes; auto-rollback on failure

      healthchecks · rollback
    2. 08
      Operate

      Nightly backups, restore drills and runbooks

      systemd timers · pg_dump
WHERE IT RUNS

Self-hosted, end to end

My own products run on an Arch Linux server I manage myself. Two paths go through it: one for users, one for releases.

REQUEST PATH
  1. User
    browser / app
  2. Cloudflare
    DNS · TLS
  3. Tunnel
    no open ports
  4. Caddy
    reverse proxy
  5. Containers
    API · panels
  6. Data
    Postgres · Redis
RELEASE PATH
  1. git push
    main
  2. Actions
    CI · build
  3. GHCR
    sha-tagged images
  4. Tailscale
    SSH in
  5. Compose
    backup · migrate · up
  6. Verify
    or roll back
TOOLKIT

What I work with

01

DevOps & Infrastructure

Linux servers I set up, secure and keep running — client VPSes at work and my own Arch Linux server at home.

servers
Linux (Ubuntu, Arch)BashSSHVPS managementsystemdProcess & performance monitoring
containers
DockerDocker ComposeMulti-stage buildsHealthchecks
network
NginxCaddyReverse proxyLoad balancingSSL/TLSDNSCloudflare TunnelTailscale
02

Deployment & CI/CD

Pipelines that test only what changed, build images once and deploy them with a way back if anything fails.

pipelines
GitHub ActionsCI/CD pipelinesGHCRAutomated build & deployProduction releases
safety
Automatic rollbackBackups & restore drillsRunbooksSecrets & environment setup
ops
Server configurationMonitoring & troubleshootingHTTP/HTTPS
03

Full Stack Development

One backend, many surfaces: APIs, web panels and mobile apps designed around the same data model.

backend
NestJSNode.jsPHPREST · JWTBullMQ
frontend
Next.jsReactAngularTypeScriptTailwind CSSBootstrap
mobile
FlutterAndroidOffline-first sync
data
PostgreSQLPrismaRedisSupabaseEntity modellingRole-based access
04

Product, Design & Tools

Where I started: shaping flows and systems before writing code, and leading the team that builds them.

product
System designUX strategyUser flowsPrototypingTeam leadershipERP & HRMS systems
tools
VS CodeFigmaPhotoshopAfter EffectsPremiere Pro