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.
I build my local stack from php_starter_kit. If you want the template, click through.
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. Pohromadě is the live product I host. The rest are open code samples — architecture, tests, and delivery you can inspect.
A production SaaS I designed, built, and host. Membership, events, QR payments, and Android in one system. Real associations use it. I own the domain, delivery, and operations.
// CreateOrderHandler.php
final class CreateOrderHandler
{
public function __construct(
private OrderRepository $orders,
) {}
public function __invoke(
CreateOrder $command
): OrderId {
$order = Order::place(...);
$this->orders->save($order);
return $order->id();
}
}
A time-boxed coding sample: current Symfony 8, hexagonal architecture, and tests. How I approached it is in the README.
Process modeling with Laravel, React, and MCP, plus a Docker demo. It shows I ship more than a pure backend.
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