About

me

About Me

I design and build distributed systems using Kotlin and Java. Over the past two decades, my work has focused on payment systems, real-time trading platforms, SaaS backends, and messaging infrastructure.

My current interests center on building non-blocking services with Kotlin coroutines and integrating AI capabilities into backend systems using tools such as Koog, Spring AI, and LangChain4j. I focus on making these systems practical, observable, and maintainable in real-world environments.

Approach

I value:

  • Acceptance-test-driven development as a foundation for reliability
  • SOLID principles to keep systems adaptable over time
  • Simplicity in design, guided by Ockham’s razor
  • Clear boundaries and explicit control over system behavior

My work favors asynchronous, non-blocking architectures on the JVM, using coroutines to model concurrency, handle failures, and manage resource usage predictably.

Focus Areas

  • Designing systems that support rapid iteration without degrading maintainability
  • Applying structured concurrency to real-world backend services
  • Integrating AI capabilities while preserving testability and control
  • Building developer tooling and libraries that improve the Java and Kotlin ecosystems

Perspective

I approach software design as a balance between correctness, simplicity, and long-term evolution. Systems should be easy to reason about, straightforward to test, and resilient under change.