# DevOps & CI/CD Automation

> Selected work demonstrating this service.

- [Automated GIS SaaS application deployment, data processing, and reporting system using GitHub Actions CI/CD, Python, Bash, and SQL.](https://software.engineer.company/portfolio/automated-gis-saas-application-deployment-data-processing-and-16/)
- [Automated delivery of 20 GIS data pipelines and app data ETL processes, streamlining infrastructure automation and reporting.](https://software.engineer.company/portfolio/automated-delivery-of-20-gis-data-pipelines-and-17/)
- [Overhauled internal processes, saving 8,000 hours by improving software architecture, systems, and scheduling efficiency.](https://software.engineer.company/portfolio/overhauled-internal-processes-saving-8-000-hours-by-38/)
- [Optimized budget costs 10 times with zero loss in productivity for the Saudi Arabia company by reimagining the overall infrastructure, eliminating unnecessary services, and relocating from the AWS cloud.](https://software.engineer.company/portfolio/optimized-budget-costs-10-times-with-zero-loss-56/)
- [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.](https://software.engineer.company/portfolio/built-a-request-schema-validation-contract-with-automated-61/)
- [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.](https://software.engineer.company/portfolio/as-one-of-the-first-hires-designed-and-86/)
- [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.](https://software.engineer.company/portfolio/built-a-layered-automated-test-suite-across-four-layers-94/)
- [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.](https://software.engineer.company/portfolio/built-first-party-error-monitoring-and-tracing-98/)
- [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.](https://software.engineer.company/portfolio/deployed-the-companys-own-git-forge-121/)
- [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.](https://software.engineer.company/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Mirrored the entire site as 777 Gemini documents and 777 Gopher documents off the same deployed tree, at zero bytes of change to the HTML.](https://software.engineer.company/portfolio/mirrored-the-site-to-gemini-and-gopher-137/)
- [Fixed a sitemap where 172 of 176 URLs shared one modification timestamp, by taking the date from git history after establishing that the export rewrites every file on every run.](https://software.engineer.company/portfolio/fixed-a-sitemap-with-one-shared-timestamp-140/)
- [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.](https://software.engineer.company/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [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.](https://software.engineer.company/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [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.](https://software.engineer.company/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Wrote a parser that reads the real 7,308‑line C header and verifies every call site, every enum constant and that every pointer‑owning class is final, after a hand‑written placeholder header let calls to three removed functions compile, link and crash.](https://software.engineer.company/portfolio/wrote-a-parser-that-verifies-every-ffi-call-site-157/)
- [Reached the half of the messaging core the application had never used — backup transfer, disappearing messages, message editing and resending, verified invitations, proxies and encryption policy — driving every test against the real library with no mocks.](https://software.engineer.company/portfolio/reached-the-unused-half-of-the-messaging-core-161/)

<https://software.engineer.company/services/devops-cicd/>
