Domain Discovery & Technical Consulting

I believe great software starts with understanding the problem, not jumping to solutions. My approach combines domain exploration techniques like Event Storming and Domain-Driven Design with pragmatic engineering to deliver software that truly serves your business.

My Philosophy

Technology is a means to an end, not the goal itself. Before writing any code or choosing any framework, I focus on deeply understanding your business domain, the problems you're solving, and the value you're creating. This business-first mindset leads to solutions that are not only technically sound but also aligned with your strategic goals.

How I Can Help

🎯

Domain Discovery & Event Storming

I facilitate workshops that explore your business domain, uncover hidden complexity, and align teams around a shared understanding. Event Storming sessions help identify bounded contexts, domain events, and system boundaries—before any code is written.

🏗️

Architecture Consulting

Strategic architecture reviews and design sessions. I help you make informed decisions about system boundaries, integration patterns, and modernization paths—always grounded in your business context and constraints.

🔄

Legacy Modernization

Safe, incremental strategies for untangling legacy systems. I specialize in identifying seams, decoupling dependencies, and creating migration paths that minimize risk while delivering continuous value. Legacy is not a problem to fix—it's an asset to evolve.

🎓

Team Enablement & Workshops

Hands-on workshops on DDD, Clean Architecture, Kotlin, and engineering best practices. I focus on knowledge transfer so your team can own and evolve the solutions independently.

How We Work Together

  • Discovery call — Understanding your context, challenges, and goals
  • Domain exploration — Event Storming or other collaborative modeling sessions
  • Solution design — Architecture and approach tailored to your constraints
  • Iterative delivery — Regular check-ins, adjustments, and knowledge sharing
  • Handover — Documentation, training, and ensuring your team is self-sufficient

Frequently Asked Questions

What is Event Storming and why do you use it?

Event Storming is a collaborative workshop format for exploring complex business domains. It brings together developers, domain experts, and stakeholders to visualize the flow of events in your system. I use it because it rapidly builds shared understanding, uncovers hidden assumptions, and identifies boundaries—all before writing any code.

Do I need to know DDD to work with you?

Not at all. Domain-Driven Design provides useful concepts and vocabulary, but my goal is to solve your problems, not to impose a methodology. I'll introduce DDD concepts where they add value and keep things pragmatic throughout.

What technologies do you specialize in?

I specialize in Kotlin, Java, and Spring Boot on the JVM. However, I've found that most architectural challenges and business problems are technology-agnostic. The principles of good design, domain modeling, and system decomposition apply regardless of the tech stack.

Can you help with our legacy system?

Absolutely—this is where I thrive. Legacy systems often power core business value, so I approach modernization with respect and care. I'll help you identify safe extraction points, create incremental migration strategies, and ensure the transition is low-risk and value-driven.

Do you work remotely?

Yes, I collaborate with clients across Europe and beyond. I'm based in Poland (CET timezone) and flexible with meeting schedules. For workshops like Event Storming, I can work both remotely (using digital tools like Miro) or on-site, depending on your preference.

What does a typical engagement look like?

It varies based on your needs. It might be a focused 2-day Event Storming workshop, a multi-week architecture review, or ongoing advisory support. We'll define the scope together during our initial conversation, ensuring the engagement delivers clear value.

How do you charge for your services?

I typically work on a day-rate or project basis, depending on the engagement type. Discovery calls are free—let's talk about your situation and I'll provide a transparent proposal with clear deliverables.

Ready to explore your domain?

Let's start with a discovery call to understand your challenges and see how I can help.

Schedule a Call