Distributed Systems, DDD & Sane AI Adoption
I help teams design event-driven, domain-aligned systems with CQRS and event sourcing — and adopt AI across the SDLC without losing engineering judgment. Primary focus on messaging, observability, and long‑term system evolution.
Core Services
This is what I'm good at. If your problem isn't on this list, I'll tell you in the first call and point you at someone better.
AI-Assisted SDLC & Sane AI Adoption
Adopt AI across your software lifecycle without losing engineering judgment. Independent reviews of AI-generated systems and adoption strategies that make AI an amplifier for your engineers — not a replacement. Use AI for the boring 70% and guard the 30% where the engineering lives. I'm not theorizing — I spend my days inside a team building AI-SDLC tooling, and my side projects building my own. I've seen where it goes wrong from the inside.
Related reading: How AI Killed My Passion for Programming
DDD, Context Mapping & Event Storming
Strategic and tactical DDD to align software with business reality. Facilitation and modeling to clarify bounded contexts and integration contracts.
Distributed Systems Architecture
Design messaging‑heavy, resilient platforms using CQRS, event sourcing, and topology‑aware routing with strong delivery guarantees.
Modernization & Enablement
Evolve monoliths into modular systems and enable teams with strong engineering practices.
Architecture Validation & Due Diligence
Independent reviews and improvements targeting reliability, compliance, and operability across services.
Selected engagements
No logos, no name-dropping — but these were real systems with real stakes.
Entertainment platform, 50M+ users
Problem: a monolith serving tens of millions of players needed to become event-driven without a stop-the-world rewrite. What I did: led the architecture transition, establishing patterns for scalability, observability, and maintainability across teams. Outcome: a mission-critical distributed system running in production at that scale.
Distributed payment platform
Problem: a payment/billing platform needed traceability and audit-readiness without sacrificing throughput. What I did: designed a unified transactional model with event sourcing and decoupled service orchestration via messaging, running on 600+ Kubernetes pods handling millions of euros a month.
Banking web applications
Problem: customer-facing banking applications had to meet strict security and compliance requirements. What I did: built responsive interfaces integrated with banking APIs and payment systems in a regulated environment. Scale and stakes were real; I don't have a public outcome metric to quote here.
Technology Expertise
Boring technology, chosen on purpose.
Languages & FP
Scala (Cats/FS2), TypeScript, PHP
Messaging
Kafka, RabbitMQ, SQS/SNS, EventStore
Data & Storage
PostgreSQL, Redis, MongoDB, DWH
Cloud & IaC
AWS, Azure, Kubernetes, Terraform
Observability
OTEL tracing, Prometheus, Grafana
Tooling
CI/CD, GitHub Actions, Testing
How We Work Together
No methodology theater. Three steps.
Look
I read your code, your architecture docs, and your incident history before I form an opinion.
Work
Alongside your team, in your codebase, respecting the constraints you actually have.
Leave
You keep the skills, the docs, and a system your own engineers can explain. I'm not building a dependency on me.
Got a system nobody can fully explain?
Whether it grew that way over ten years or an AI generated it last sprint — I can help. First call is free and I'll tell you if I'm not the right person.