I enjoy designing and building software systems that are simple to reason about, explicit in their behavior, and resilient over time.
My main interest is software architecture — understanding how systems should be structured, how their components interact, and how to keep complexity under control as they grow.
I'm particularly interested in backend engineering, asynchronous programming, APIs, distributed systems, and the engineering practices that make software maintainable rather than merely functional.
Software Architecture
Good architecture isn't about adding layers. It's about making the important things obvious.
I'm interested in:
- 🧱 System & software architecture
- 🔄 Event-driven and asynchronous systems
- 🧩 Modular design & separation of concerns
- 🔌 APIs, services & integrations
- 📐 Domain modeling & boundaries
- ⚙️ Concurrency and distributed systems
- 🧪 Testing strategies & software correctness
- 📈 Designing systems that can evolve without becoming fragile
| Area | Focus |
|---|---|
| ⚡ Async PHP | ReactPHP · AMPHP · concurrency |
| 🧩 APIs & Services | Slim Framework · REST · service design |
| 🛒 E-Commerce | WooCommerce · integrations · custom systems |
| 🧪 Testing | Unit testing · Mutation testing · test design |
| 🏛️ Architecture | Modularity · boundaries · system design |
I prefer software that is boring in the best possible way.
Less magic.
More understanding.
Explicit over implicit.
Simple over clever.
Small components.
Clear boundaries.
Test behavior.
Question complexity.
Build for change.
Design for longevity.
I believe good engineering is less about how much code we can write and more about how much complexity we can avoid.
I'm particularly interested in the intersection of:
Architecture × Concurrency × Simplicity × Correctness
and in exploring how these principles can be applied to build systems that remain understandable even as they become significantly more complex.
Architecture should reduce complexity, not relocate it.
Abstractions should earn their existence.
If you can't explain how it works, you probably don't understand it yet.
Software should be designed to survive its next requirement.





