Experience
Oct 2024 – Present
Senior Software Engineer, Backend & Platform — Catches
Early-stage AI start-up (B2B try-on and media generation). Day job: backend APIs and infrastructure. In practice: helping bring up the platform across the whole stack, from the data warehouse to company-wide AI enablement.
Platform & architecture
- Go-to engineer for requirements gathering and systems design on cross-team projects: regularly asked into other teams' design sessions, and designed and helped spec the systems they build on.
- Designed the media-generation core of the platform: set its architecture and principles, held them through review, and moved render traffic onto it with a parity suite against the previous renders.
- Built the asset-pipeline versioning system: a generalised versioned-asset model and the registration API the content pipeline publishes through. Designed and built bulk render and AI job handling end to end, with live progress.
- Largest contributor to the .NET backend, author of over half its current code across APIs, services, consumers, data and tests.
- Built a hermetic black-box test environment for rapid AI and API correctness testing: it catches breaking API changes before they ship, so the team can react early, deliver faster and move towards continuous deployment. Top author of the release and CI pipeline.
- Also: led an API migration from Go to .NET; layered configuration; audit logging with PII redaction; notifications; entitlements; accounts and tenants.
Infrastructure & shared services
- Built monitoring as code in Terraform: 5xx and latency monitors, alert routing and a standard dashboard for every platform environment; redesigned the RabbitMQ queue monitors to cut alert noise.
- Driving cross-team ownership of shared services (RabbitMQ, monitoring): team-owned queue definitions with alerts routed to the owning team. Provisioned GCP infrastructure (storage, load balancers, DNS, Kubernetes consumers).
Data
- Founded the company data warehouse: dbt on BigQuery, medallion conventions, CI/CD, docs and a Lightdash semantic layer; a render-job cost model; platform-telemetry ingestion (Pub/Sub to BigQuery) with its Terraform. A dedicated data engineer now builds on these foundations.
Admin Portal
- Rebuilt the Admin Portal from first principles in the shared Next.js monorepo and wrote most of it; other engineers now build on its architecture. Over a hundred routes covering tenant, user and role administration, product and render management, and platform settings.
- A highly reusable MVVM/SPA-style architecture: most routes are shared components that work as soon as new models are added, so new areas come up quickly. Designed AI-skill-first, so other team members can add their features as fast as possible. Removed its server actions after real-user monitoring showed the latency cost.
Agentic engineering & enablement
- Authored ~30 agent skills across the backend platform, the Admin Portal and the company plugin repo, so engineers can work quickly in familiar and unfamiliar codebases alike: from API, data and messaging conventions to a spec-gated, eval-tested feature workflow. Includes a skill-authoring standard and a drift check that keeps agent guidance in step with the code.
- Built the company's Claude plugin platform: lint-gated, versioned per plugin and published org-wide to Claude Code and Claude Desktop. Now being picked up across the company: the first plugin from another engineer has already shipped.
- Wrote a cost-routing skill that sends agent work to the cheapest model that can do the job.
C#/.NET, ASP.NET Core, EF Core, Aspire, Go, PostgreSQL, RabbitMQ, Redis, Terraform/GCP, dbt/BigQuery, Next.js/React, Datadog, Claude Code.