Make the hard product decisions easier to live with.

I work with product teams on the engineering work that shapes what they can ship: untangling systems, improving delivery, and building the parts that need to hold up in production.

When AI can remove friction from a team's workflow, I help introduce it deliberately — with the guardrails, context, and reliability it needs to be genuinely useful.


A senior engineer in your corner

I was CTO at Scandiweb, then a senior engineer at Graip.AI and Codenotary. I have led engineering teams, built complex product systems, and worked across Go, Kubernetes, security, and software at scale.


Today I work directly with teams building and evolving products. I can review a difficult architecture decision, strengthen a delivery plan, or work alongside your engineers when the hard part needs to be shipped — not just discussed.


Clear thinking over cleverness. Useful progress over impressive demos. Hands-on help when it matters.


Find me here:

Selected work

A few projects that show how I approach product systems: dependable infrastructure, engineering at scale, and products shipped end-to-end.

Go Agent Skill Runtime

Open-source Risor-based runtime with 114 built-in functions for building reusable AI agent skills. JSON-first output, skill packaging, zero glue code.

ScandiPWA — PWA for Magento 2

Open-source PWA storefront I authored and led. Shipped to production at enterprise e-commerce scale; case study covers the engineering decisions and tradeoffs.

Focus Schedule — iOS planning app

Indie SwiftUI app for blank-slate daily planning. End-to-end product: design, build, store launch, telemetry. Proof of shipping, not just advising.

More writing

Notes on product engineering, applied AI, and building dependable software in production.

How I help teams move forward

Clear, hands-on support for the work that determines whether a product can keep moving.

Product and architecture decisions

A focused outside read of the architecture, delivery plan, data flow, and tradeoffs before expensive decisions harden.

Hands-on engineering partnership

Senior support alongside your team for hard decisions, code review, infrastructure, and the engineering work that turns plans into shipped product.

AI-augmented team workflows

Find the repetitive, context-heavy work that slows a team down, then introduce useful AI assistance without creating a brittle new dependency.

Production readiness

Reliability, observability, deployment, security, and incident response that move teams from reactive to predictable.

Experience behind the work

Tech Lead
Mapon
January - August 2025

SDLCQA AutomationMicro-frontend

Implementing SDLC processes, transitioning QA to automated QA, and building a micro-frontend MVP.

Indie & Consulting
2023 - present

GoAgent infrastructureiOS / SwiftUIAstro

Product engineering, technical leadership, and indie work, including Go Agent Skill Runtime.

Go Agent Skill Runtime

Building a modern iOS app with SwiftUI

Software Engineer
Codenotary
2023 - 2024

GoVueJSDockerK8sPostgreSQLSolrNATS

Designed and shipped backend for SBOM management on a security-first supply-chain platform.

Senior Software Engineer
Graip.AI
2021 - 2022

GoDockerK8sTemporalDatabasesMicroservicesGRPCRabbitMQAzure

Built the platform around a document-processing AI core: workflows, services, integrations.

Team Lead
Dynatech
2020 - 2021

PHPDockerK8sMariaDB

Led the team through scaling challenges; introduced architecture and process improvements.

CTO | Team Lead | Full-stack Developer
Scandiweb
2015 - 2020

PHPJSMagentoPWAMySQLRedisAWSGCPDockerK8s

Engineering leadership across e-commerce builds for enterprise clients. Author of ScandiPWA, open-source PWA storefront for Magento 2.

Watch the talk: Modern PWA

Read the case study: PWA for Magento2

Webmaster
Claim Time Solicitors
2014 - 2015

HTMLPHPJSWeb Analytics

First professional engineering role — web stack, analytics, and day-to-day operations.

Building a product and need a senior engineering partner?

Book a 15-minute intro call. We will talk through what is getting in the way and whether I am the right person to help.