Architecture
Clear boundaries, predictable code, and decisions that scale.
About
Readable architecture, reliable data flows, and tooling that helps teams ship safely.
I like backend work where business logic, data consistency, and developer experience matter. I prefer lightweight DDD and pragmatic hexagonal architecture that keep systems easy to understand, extend, and operate over time.
Clear boundaries, predictable code, and decisions that scale.
Query-aware work with attention to response time and cost.
Static analysis, tests, and workflows that keep shipping quality under control.
Projects
Most of my professional work sits behind NDAs. These are the things I build in the open tools I needed, experiments I wanted to run, and ideas I wanted to ship.
Modern Docker-based starter kit for PHP applications built on FrankenPHP. Ships with automatic HTTPS, security-hardened defaults, multi-environment configs, and a web-based setup wizard for Laravel, Symfony, or Nette. CI/CD, DevContainer, and code quality tooling included out of the box.
# docker-compose.yml
version: '3.8'
services:
php:
build:
context: .docker/php
volumes:
- .:/var/www/html
networks:
- app-net
nginx:
image: nginx:alpine
ports:
- "443:443"
volumes:
- .:/var/www/html
- .docker/nginx:/etc/nginx/conf.d
- .docker/ssl:/etc/ssl/local
depends_on:
- php
networks:
app-net:
driver: bridge
Process modeling tool that turns business workflows into visual, versioned diagrams. Built to explore how LLM-assisted patterns can improve documentation and keep teams aligned without stale wiki pages.
AI Development
I use AI as a practical tool to speed up research, prototyping, debugging, and implementation. It helps me move faster, explore more options, and reduce repetitive work.
But AI is not the final authority. Every solution still needs to make sense from an engineering perspective — it has to be readable, maintainable, testable, and suitable for the actual problem. I validate the output through hands-on review, testing, and real development experience.
Claude Code is my pair programmer. I use it for exploration, boilerplate, and quick iterations — but I always review, refine, and own the final code.
I leverage AI for trade-off analysis and design exploration, then make the calls myself. AI accelerates the loop, never replaces the judgment.
Multi-step agent flows, MCP-connected tools, and custom automations that turn repetitive work into one command. Built, not just used.
Contact
If you want to discuss backend development, PHP, architecture, APIs, automation, or practical AI-assisted development, feel free to reach out.
Send an email