Domain Discovery & Technical Consulting

Great software starts with understanding the problem—not jumping to solutions. My approach combines domain exploration techniques like Event Storming 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 code or choosing frameworks, I focus on understanding your business domain, the problems you're solving, and the value you're creating. This business-first mindset leads to solutions that are technically sound and strategically aligned.

How I Work

🎯

Domain Discovery Workshop

Clarifying requirements and aligning teams around a shared understanding

Duration: 1–2 days

What you get:
  • Facilitated Event Storming session
  • Visual domain map with bounded contexts
  • Prioritized list of risks and unknowns
  • Summary with next-step recommendations
🏗️

Architecture Review & Roadmap

Gaining clarity on system structure and modernization paths

Duration: 1–2 weeks

What you get:
  • Current-state architecture assessment
  • Pain points and technical debt hotspots
  • Target architecture vision with phases
  • Decision log with trade-offs documented
🔄

Legacy Modernization Sprint

Extracting, decoupling, or migrating legacy components safely

Duration: 2–4 weeks

What you get:
  • Extraction seams and integration points
  • Incremental migration strategy
  • Proof-of-concept implementation
  • Knowledge transfer sessions
🎓

Team Enablement Program

Leveling up on DDD, Clean Architecture, or Kotlin

Duration: Flexible (half-day to multi-week)

What you get:
  • Customized workshop agenda
  • Hands-on exercises with real code
  • Reference materials and documentation
  • Follow-up Q&A sessions

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 free discovery call to understand your challenges and see how I can help.

Contact Me