Launching today
D3 Kata
Practice DDD, CQRS & Event Sourcing in Ruby with AI feedback
1 follower
Practice DDD, CQRS & Event Sourcing in Ruby with AI feedback
1 follower
Practica Domain-Driven Design, CQRS y Event Sourcing con Ruby a través de 30 katas progresivas con feedback de IA en tiempo real. Desde Aggregates hasta Event Sourcing aplicado a Rails.



Payment Required
Launch Team / Built With




Hey Product Hunt!
I'm Mateo, a Ruby on Rails developer. I built D3 Kata because I was frustrated with how hard it is to actually practice Domain-Driven Design.
Every DDD resource out there is either a 500-page book with Java examples or a conference talk that stays at the theoretical level. When I sat down to apply Aggregates, CQRS, or Event Sourcing to a real Rails app, I was on my own — no structured exercises, no feedback loop, no way to know if I was doing it right.
So I built the thing I wished existed: 30 progressive coding katas focused entirely on DDD patterns, applied to Ruby on Rails, with AI-powered feedback on every solution you submit.
How it works:
Pick a kata with real-world context (e.g., modeling a ShoppingCart aggregate)
Write your Ruby solution in the built-in editor with syntax highlighting and starter code
Submit and get an AI-generated score + concrete suggestions to improve your DDD implementation
6 modules, from fundamentals to advanced patterns:
Aggregates — modeling boundaries, protecting invariants
Value Objects — immutability, equality by value
Domain Events — publishing facts, implementing handlers, Bounded Contexts
CQRS — separating commands from queries, Read Models, projections
Event Sourcing — state as a sequence of events, Event Stores, aggregate rebuilds
Functional Ruby — Monads, Railway Oriented Programming, dry-rb patterns applied to DDD
Pricing: One-time payment of $29, lifetime access. No subscriptions.
The first katas in each module are free — so you can try it before committing.
🎁 For the PH community: Use code PRODUCTHUNT for 20% off ($23 instead of $29).
I'd love to hear from you — what's been your biggest struggle when trying to apply DDD to a real project?
Thanks for checking it out!