DevOps
44 achievements

Photo: batupehlivan / Pixabay 
Photo: Tyna_Janoch / Pixabay
-
Built the company's first observability dashboard
Developed and launched the company's first observability dashboard, providing real‑time system performance insights and data visualization on the large office TV.
-
Ran 10 PostgreSQL and MS SQL servers on Ubuntu
Designed, deployed, and maintained 10 PostgreSQL and MS SQL servers on Ubuntu Linux VPS, ensuring optimal server performance and reliability.
-
Wrote 1,000 RBAC rules to secure Linux servers
Enhanced data security by implementing 1,000 RBAC rules for developers, application instances, PostgreSQL, MS SQL, and other Linux servers, preventing unauthorized access; documented with Ansible automation.
-
Automated GIS SaaS deployment with GitHub Actions
Automated GIS SaaS application deployment, data processing, and reporting system using GitHub Actions CI/CD, Python, Bash, and SQL.
-
Automated delivery of 20 GIS data pipelines
Automated delivery of 20 GIS data pipelines and app data ETL processes, streamlining infrastructure automation and reporting.
-
Automated 100 critical data backups using Barman
Automated 100 critical data backups using Barman, Google Cloud, Bash, and Python, ensuring data integrity across databases.
-
Ran 20 Docker apps on Google Cloud and AWS
Deployed and maintained 20 Docker containerized applications, troubleshooting with Podman and Kubernetes, and managing R‑based apps on Google Cloud and AWS.
-
Managed 30 Ubuntu Linux VPS instances
Managed 30 Ubuntu Linux VPS instances, implementing disaster recovery strategies and ensuring optimal network configurations.
-
Cut operational risk with Grafana and Prometheus
Mitigated operational risks by implementing a monitoring dashboard using Grafana and Prometheus, improving system reliability.
-
Led a GIS map application to 10x revenue growth
Led the software development of a GIS map application, driving revenue growth by 10x and positioning the product as a primary data asset.
-
Automated SSL/TLS certs for 100 Docker apps
Automated SSL/TLS certificate creation for 100 Docker applications, ensuring secure connections across Ubuntu Linux hosts.
-
Streamlined CI/CD processes, saving 4,000 hours
Streamlined CI/CD processes, saving 4,000 hours by introducing automation in software development pipelines.
-
Saved 4,000 hours with GitHub and GitLab CI/CD
Streamlined data analysis and software development processes, saving 4,000 hours by introducing GitHub, GitLab, Bash, and Python CI/CD practices.
-
A tenth of the cloud bill, and nothing lost
Optimized budget costs 10 times with zero loss in productivity for an international client by reimagining the overall infrastructure, eliminating unnecessary services, and relocating from the AWS cloud.
-
Generated the API contract from the database out
Generated the API contract outward from the database — OpenAPI, a 44,076‑line typed TypeScript client, 61 mock handlers and the limits the UI enforces — with a guard at every hop that fails on drift.
-
Provisioned Azure infrastructure as code
Provisioned Azure infrastructure as code with Bicep — Container Apps, PostgreSQL Flexible Server, Front Door/WAF and networking — across the development, staging and production environments.
-
Built GitHub Actions CI/CD pipelines
Built GitHub Actions CI/CD pipelines with a distroless production frontend image and multi‑environment promotion.
-
Authored 578 go‑task automation targets
Authored 578 go‑task automation targets spanning native, Docker and HTTPS dev modes, linting, testing, database and deployment.
-
Owned end‑to‑end platform deployments to Azure
Owned end‑to‑end deployments of the platform to Azure, managing releases across development, staging and production environments.
-
Implemented backups and disaster recovery as code
Configured database backup retention as infrastructure‑as‑code, then audited the recovery position and documented the restore procedure — naming the remaining gaps rather than leaving them to be found during an incident.
-
Set a zero‑warnings bar across six languages
Set a zero‑warnings quality bar across six languages — Go, TypeScript, SQL, Python, Shell and Markdown — enforced by pre‑commit hooks.
-
Set the platform's founding technical decisions
Set the platform's founding decisions in the weeks after the repository opened in November 2025 — the layering, database‑first data access and the zero‑warnings bar — and they still hold nine months on.
-
Built the entire core infrastructure from scratch
As one of the first hires, designed and built the entire core infrastructure and supporting processes from scratch for a green‑energy SaaS startup, laying the foundation for rapid growth.
-
Automated team collaboration
Automated team collaboration, password management, task and time management, and built a semi‑automatic project‑showcase system, raising team productivity.
-
Built a test suite across Go, SQL and browser
Built a layered automated test suite — 981 Go tests, 543 frontend and browser specs, 494 SQL behavioural tests — with mutation testing, property‑based tests and an accessibility gate.
-
Built a 268‑check guard engine for the repo
Built the repository's guard engine — 268 registered commit checks, 277 lint rules and 15 custom ESLint rules — plus 146 tests of the guards themselves, so the build holds the standard, not review.
-
Built first‑party error monitoring and tracing
Built first‑party error monitoring and OpenTelemetry tracing rather than buying them — payload sanitising, spike and regression detection, symbolication and a synthetic heartbeat — behind 11 operator views.
-
1,022 migrations behind a schema drift gate
Kept the schema honest across 1,022 migrations with a CI gate that builds the database both ways — a fresh install, and an install plus every migration — and fails when the two disagree.
-
Ran a continuous security scanning programme
Established a continuous security programme — code scanning, DAST, dependency and vulnerability checks, SBOM generation, secret scanning and SHA‑pinned actions — alongside 21 written security audits.
-
Servers you can rebuild from scratch
Built the company's own infrastructure as 19 Ansible playbooks and 34 roles across 12,065 lines of YAML, converging a live host to a declared state with every play idempotent.
-
Made Ansible check mode tell the truth
Made check mode tell the truth across the whole platform after finding six probes deciding on a value the host never gave, because Ansible's command module reports success under --check while skipping the command entirely.
-
Added a one‑second preflight for secrets
Added a preflight play that runs the same code as the converge against operator‑local secrets in about a second, after a half‑applied production run died on its ninth task with the swap settings already written to the live host.
-
Your code on your own hardware
Deployed the company's own git forge on Soft Serve, private by default with no web panel and its SSH port bound to loopback behind a jump host, and made the landing page in front of it a build artefact of the main site rather than a hand‑kept copy.
-
Ran containers on Podman and Quadlet
Deployed a container plane on Podman and Quadlet under systemd rather than Docker, because Docker publishes container ports above the host firewall's own rules — and gave deploys an unprivileged user with one fixed command instead of root.
-
Built a 22‑linter commit gate
Built a commit gate of 22 one‑line linters plus five that earn a paragraph, with no warning tier and no inline suppressions permitted, covering HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, spelling, secrets and typography.
-
A safety net that no longer costs half an hour
Cut the site's browser‑driven quality gate from 1,636 seconds to 615 by scheduling its checks longest‑first through a worker pool bounded to four lanes, after measuring that alphabetical order cost 320 seconds against 224.
-
Linted the 10,242‑line quality gate itself
Brought 10,242 lines of quality‑gate JavaScript under a formatter and a linter after establishing it was the largest body of code in the repository and the only one nothing read, fixing 13 findings and suppressing none.
-
Held the generator to 981 tests and 92% coverage
Held the generator to 981 test cases at a 92% branch‑coverage floor with warnings treated as failures, and asserted idempotence by running the whole build pipeline twice from an empty file and requiring the second pass to change nothing.
-
Enabled every linter rule as an error
Selected every rule the Python linter has as an error, working through 1,815 findings to reach zero, with each of the few exemptions carrying a written reason and two of them backed by a checker instead of a comment.
-
Found the hooks and the gate disagreeing
Found the commit hooks and the quality gate running different checks while a document promised they were the same, by comparing the two lists in a test — the five that only ever ran by hand were the ones reading the CV prose.
-
Rehearsed the forge CI hook, found 2 defects
Rehearsed the forge‑side CI hook and found two defects unreachable by reading the file: a fallback that put an unresolvable argument on the hook's input, and git's own environment variable following the gate into the checkout and turning 19 tests red.
-
Took the test suite to 8.9 seconds
Took the test suite from six tests over a sixty‑second limit to 135 passing in 8.9 seconds by profiling the main thread and removing the two calls it sat inside for 3,989 samples out of 4,017.
-
Know the licence of everything you ship
Audited 644 Rust crates for licence compatibility on every build, and proved the check fires by rewriting one crate's licence and by moving the pinned core revision without regenerating.
-
Held 4 repositories to one history standard
Held four repositories to one history standard — conventional, emoji‑free, no attribution trailers, enforced by a commit‑message hook — alongside 48 instruction documents that govern how the work is done.
If this is the work you need done, the next step is a conversation.
Tell us the problem and we will tell you honestly whether we are the right people.
This work is part of what we offer as DevOps & CI/CD Automation, Technical Leadership & Consulting, Infrastructure as Code, Security & Access Management, Cloud Infrastructure & Migration, System Administration, Backend & API Development and Site Reliability & Monitoring.
Building something that needs this? Get in touch.

