I am Iván García Sainz-Aja

I am a programmer. I build tools to solve actual problems.

I model event-driven architectures, design API governance, and make good architecture visible and automatable.

I built tools like ZenWave SDK to help me think about software, talk about software, and validate software before writing any code... and then generate all the boring parts that are already present in the model.

With ZenWave Platform I explore these ideas further: making software architecture visible, navigable, and understandable for people, tools, and AI.

When I find something missing, I try to build it and contribute it back to the projects, specifications, and communities I depend on.

— Ivan Garcia Sainz-Aja
Ivan Garcia Sainz-Aja

Open Source

ZenWave Platform

Build and navigate the architectural world model of your business directly from your IDE, connecting APIs, schemas, domain models, business flows, and the services that implement them.

ZenWave SDK

Generate Spring Boot services, tests and documentation from domain models, business flows and API specifications.
The generated code speaks your domain language and provides consistent structure instead of repetitive scaffolding.

AsyncAPI Initiative

AsyncAPI TSC member and Ambassador. I contribute to AsyncAPI Studio, the VSCode Preview extension, Java and Kotlin generators, and tooling for provisioning Kafka and Schema Registry infrastructure. I also organized AsyncAPI Conference on Tour Madrid 2023.

Arcadia Editions

The Arcadia Editions Series

The Fictional Company I Built to Explore Event-Driven Architecture

A fictional board game retailer built to explore event-driven architecture end-to-end. Domain discovery, flow modeling, API generation, and running Spring Boot services - all in the open.

Latest Articles

View all
Five steps in a loop: Understand with experts, engineers, and agents; Model with ZFL; Generate with ZenWave SDK; Use with Arcadia Editions; Learn by feeding new understanding back.
#ddd#zenwave#architecture

A Software Engineering Hypothesis for the Age of Agents

· 15 min read

Agentic development makes software cheaper to produce. That does not reduce the need for software engineering. This is a public hypothesis: keep the understanding of the system explicit, generate what is already decided, then use the result from the customer's perspective and feed what you learn back into the model.

→ Read article
A client AsyncAPI spec points through a $ref URL to three possible provider contract targets: a pinned version, production, or main. The main branch is highlighted as the recommended integration reference.
#asyncapi#eda#ddd

AsyncAPI: Which Reference Strategy to Use and Why

AsyncAPI's $ref lets a client spec point to a provider spec without duplicating it. When that spec drives both application contracts and infrastructure provisioning, the URL behind the $ref is an important decision to answer. A pinned version, a environment alias, or the tip of main: each offer different trade-offs.

→ Read article

Hands-On Architecture

View all

Recent Talks

View all

Artículos en Español

Ver todos