Technical Leadership & Consulting
A senior engineer in the room
Somebody on your side of the table when a supplier, a budget or an architecture decision needs a second informed opinion.

Photo: Pexels / Pixabay 
Photo: tungnguyen0905 / Pixabay
Selected work demonstrating this service.
-
One infrastructure plan for 14 departments
Designed a comprehensive infrastructure framework for a research institute impacting 14 departments, featuring flexible modules, unified data pipelines, and structured support strategies for long‑term adoption.
-
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.
-
Directed full‑stack GIS map development
Directed full‑stack GIS map development, overseeing PostgreSQL, Mapbox, ReactJS, and NodeJS to deliver an integrated solution.
-
Saved 4,000 hours growing a team from 2 to 18
Saved 4,000 hours by mentoring and growing a team from 2 to 18 members, optimizing workflows and fostering cross‑departmental collaboration.
-
Wrote 50,000 words of software documentation
Wrote 50,000 words of comprehensive software documentation utilizing Markdown in GitHub, Craft, and Confluence, thereby ensuring the retention of knowledge and the transparency of the process.
-
Led company growth from 4 to 14 employees
Led company growth from 4 to 14 employees by employing Agile methodologies and effective project management practices.
-
Led 30+ GIS projects from build to support
Led the development, deployment, and support of over 30 GIS projects, demonstrating expertise in PostgreSQL, Bash, Python, JavaScript, GDAL, ArcGIS, PostGIS, and Mapbox technologies.
-
Guided company projects through development
Guided the execution of numerous company projects, offering expert support in the software development phases.
-
Overhauled internal processes, saving 8,000 hours
Overhauled internal processes, saving 8,000 hours by improving software architecture, systems, and scheduling efficiency.
-
Streamlined CI/CD processes, saving 4,000 hours
Streamlined CI/CD processes, saving 4,000 hours by introducing automation in software development pipelines.
-
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.
-
Delivered analysis and regular progress reports
Delivered analysis and regular progress reports to the CEO, translating engineering KPIs and delivery status into decisions.
-
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.
-
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.
-
Ran development as 51 written initiatives
Ran the site's development as 51 written initiatives across 54 plan documents, each carrying its open boxes, its measurements and the decisions it declined — including six of eight agent‑readiness findings refused with the reason recorded.
-
Put the documentation under its own linter
Put the documentation under its own linter — a per‑file line budget that only ratchets down, an index requirement and a real‑path check — which found six of nine plans marked done while carrying unchecked boxes, and fourteen commit‑gating tasks named in no document.
-
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.
-
Wrote tests for the checkers themselves
Wrote tests for the checkers themselves after establishing that a checker fed only clean input will one day report clean because it read nothing — planting a misspelling to confirm the spell‑check finds it, and taking an id range from the database rather than from a number in the test.
-
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.
-
Adopted Swift 6 strict concurrency over C
Adopted Swift 6 complete strict concurrency with no actors, bridging a blocking C event loop to the main actor through one producer, one consumer and one ordering — after establishing that a task per event loses the ordering the interface depends on.
-
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.
-
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.

