Episode Summary
In this episode, Martin and Adam explore how AI is making programming accessible to kids again, the importance of centralized issue tracking in Git repositories, and lessons learned from completing a 210-slice event sourced project. They discuss Martinâs experience teaching his son Roblox development using Claude Code, Adamâs 2018 conversation with Linus Torvalds about issue tracking, and how event modeling makes even last-minute feature requests trivial to implement.
Main Discussion Points
- Teaching Kids with AI - How AI tools bring back the joy of simple, immediate feedback for young programmers
- Event Modeling Roblox Games - Starting game development with event modeling, even for kids
- Linus Torvalds on Issue Tracking - Seven years after Adamâs conversation, Torvalds is publicly addressing unified Git issue tracking
- 210-Slice Project Completion - Martinâs massive legal tech project wraps up stress-free thanks to event modeling
- Template Engine in 4 Hours - Last-minute requirement solved elegantly with CQRS architecture
- Context Centralization - Why scattering information across tools kills AI effectiveness
Teaching Kids Programming: The AI Revolution
Martin started his sonâs school vacation with a Roblox game development project, and guess what they did first?
âGuess what was the first thing we did when we planned the game? We did event modeling. Yeah, we did. My son didnât like it. So, he wanted to get into coding, but he got the idea.â - Martin
Why AI Changes Everything for Kids
Adam shares his sonâs perspective on learning programming:
âHeâs smart. He sort of saw AI around the corner. He goes, âI donât know if Iâm going to go, you know, youâre not going to force me to memorize all this stuff.â So heâs, you know, just I just showed him some like the Yatsi game I vibe coded and he was like, âOh yeah, Iâm going to vibe code my own stuff.ââ - Adam
The problem AI solves:
âThere was a small enough instruction set. There wasnât like a thousand different JavaScript frameworks. There wasnât like a hundred different languages to choose from. On the Commodore 64, well, you only had basic or assembly. And thatâs all and thatâs what everyone uses and the instruction set is small and you just go and build.â - Adam
Martinâs Experience Teaching
âWe have big plans. We have big plans with the game. Heâs using AI. Heâs talking to Claude Code and everything and heâs building the game and it works beautifully well. It brought back what I felt when I started programming as a kid.â - Martin
The transformation:
âYou want to see something, you ask AI how to do that. It shows you and I personally I learn a lot by that. Just it gives you the code, you look at the code and you immediately realize, okay, this is how this platform works. If you would start from scratch with this, it would have taken us a week to just get this thing going. Now we have a running game after two hours or so.â - Martin
The Abstraction Layer Advantage
âInstead of scouring Google for 4 hours which can turn someone off entirely from programming. Itâs like why do I need to research all of this? I want to see this happen and you can jump in at the abstraction layer you most comfortable with.â - Adam
Linus Torvalds and the Git Issue Tracking Problem
Adam reveals a fascinating connection between a 2018 conversation and current developments.
The 2018 Conversation
âI had a discussion with Linus Torvalds in 2018 that now heâs publicly talking about finally. I met him at the Linux summit in Vancouver in 2018. I sat together with him to discuss this and waited for him to finish up his notes.â - Adam
What they discussed:
âI basically just talked about Git and version control systems with him. I told him that Git is the reason to finally organize projects properly. Weâre specifically talking about issue tracking. I said look wouldnât it be better if we just had a common format just like a readme file but an encoded standard way to have the issues travel with the repo.â - Adam
The Problem with Current Tools
Current issues with dispersed information:
- Issue tracking in Jira, GitHub Issues, Bugzilla, Redmine, etc.
- Information dies when services close
- Context disconnected from code changes
- No single source of truth
Adamâs vision:
âGetting everything you know doing a git pull and a fetch youâre getting all of the stuff from upstream including any changes any new bugs etc. And usually, you know, issue trackers are additive only. Itâs an accounting system. So, itâs built for event sourcing.â - Adam
Torvaldsâ Current Stance
From a recent video Adam discovered:
âIâd love to see more bug tracking stuff. Everybody is doing that. Iâd love to see that be more unified because right now itâs very fragmented where every single hosting site does their own version of it. I do wish there was a more unified thing where bug tracking and issues in general would be something that would be more shared.â - Linus Torvalds
Adamâs reaction:
âOnce Linus Torvalds sees it as a problem, itâs going to get fixed. And itâs going to get fixed like he fixed source control, which is awesome. Iâd like to think I had a little bit of something to do with that because someone talked to him for half an hour about the problem.â - Adam
Event Modeling for Issue Tracking
How event modeling solves the issue tracking problem differently.
Bugs as Visual Artifacts
âThe way we track bugs is on the event model. I have a bug layer on an event model where if you turn that layer on you can see just how many bugs. They put spots on the different parts of the event model. So it looks like your system is sick and the bugs are the little red dots.â - Adam
In Mural, bugs are comments:
âItâs in the form of comments. Anything unresolved is an open bug. These issues you can see physically on the board are part of the core workflow, which means theyâre higher priority. You have a lot more context than just guessing like oh itâs a high severity bug.â - Adam
Automatic Context
All these questions are answered instantly:
- Which part of the system?
- Which component?
- What workflow?
- Steps to reproduce?
âYou have all that context the minute you look at your event model. A doctorâs looking at a patient and you can see thereâs a measles outbreak here. Thereâs a lot of problems here on in this area. This workflow is causing issues.â - Adam
The 210-Slice Project: Lessons Learned
Martin shares insights from completing his largest event modeling project.
Project Scale
- 210 slices total
- 4 developers
- 2 stakeholders
- Legal tech domain (document management)
- Built on PostgreSQL with Axon Framework
The Experience
âI really have to say, the longer I work with event modeling, the more relaxed these projects become. This was such a relaxing project. There was absolutely no stress at all. At any point in time, we knew exactly what to do. This was really beautiful.â - Martin
The Last-Minute Template Engine
One week before launch, a new requirement emerged:
âThe stakeholder came up with one last requirement before the launch. Guess what this requirement was? Oh, by the way, I didnât mention that before. We need templating. We need a template engine and the users need to be able to upload templates with placeholders and basically they need to have access to all information available in the platform.â - Martin
This would normally break a project:
âThat is something that typically breaks your architecture because you couldnât plan for it. One developer said, okay, we have this beautiful CQRS architecture. We have all this information already available in tables. Letâs just query all those tables. This would have broken the project immediately overnight.â - Martin
The Event Sourcing Solution
Time to implement: 4 hours
âFor us it was a 4-hour thing building the whole templating engine. In a normal architecture this would have broken the project. No way you can realize these requirements where you need access to all information, reporting dashboards and stuff like that. Itâs really hard to implement them if you canât plan for them and they always come.â - Martin
The approach:
âOur solution was so simple. We had these templates and we had these template variables in those templates and each and every template variable became one read model. We had about 20 variables. Okay, letâs build 20 read models. We have four developers. Letâs distribute it, four hours and we were done.â - Martin
Why Traditional Systems Fail Here
âIf you introduce it wrongly and you access all this information, you suddenly you canât change anything because you change one table and your whole templating is broken and you donât even realize it.â - Martin
With immutable events:
âYou have information in its purest form and therefore I can transform it to whatever I need. You donât have information in its purest form and itâs subject to abstractions because you thought that this schema was good to represent it. Youâve poured cement around your feet.â - Adam
The Context Problem: Why AI Needs Centralization
Martin observes a troubling trend:
âJust in the last few weeks Iâve been thinking about this because what I see more and more is people getting a little bit crazier about MD files in the repo. Put a lot of information into markdown files in the repo. This really gets a little bit crazy and the interesting thing is most of that information is redundant because itâs already available in Confluence. Itâs available in your bug tracker.â - Martin
The problem:
âWhat people now doing is they take this information that is available anyways and put it back into the repo writing tons and tons of markdown files so AI can access it. This is far from ideal. If you look at certain repos this already becomes total chaotic. You have tons and tons of markdown files and this doesnât make any sense to me. Itâs like Confluence in your git repo.â - Martin
Adamâs take:
âAI is kind of forcing the hand of people to say you need a single source of truth. Now what are you going to do? Make an MCP server for all the crap that you have? It wonât work. I donât want an MCP server for this that or the other. I want it to not be an issue at all.â - Adam
Martinâs Solution: Slice Files in Git
âWhenever I work on a new slice or if I work on a bug on a slice, I make an export. My event modeling toolkit allows me to export the event model and what gets created in the repo is a slice file for each and every slice. So whenever there is a change in a slice a new .slice file is exported which is just JSON.â - Martin
The benefits:
âIf I have a bug I know exactly which slices were affected by this bug. The bug fix is one commit and I have three new slice files. So in my history I see exactly okay this was this bug, these slices were affected. This was the state of the slice back then. So basically I have the whole history of the event model in my git history. If you now ask Claude something, the whole context is available.â - Martin
Automatic bug resolution:
âIf you have a slice that has a bug because you referenced that slice, but then in your work you actually replace the slice with something else. Your automation could say, âHey, youâve deleted a slice that used to exist because youâre fundamentally changing it.â It can say did you in fact remove the problem in this bug? You can say yes. Okay. So now it can automatically just close the bug for you.â - Adam
Additional Topics
The Event Modeling Book Update
Adam continues progress with his ghost writer:
âI had another meeting with my ghost writer on Friday. One of the things is where what is the booklet supposed to be. I decided to have just something that answers the quick questions that we keep hearing on the discord. How do you do an automation? Where should the data be? That same style that handbook is written for domain driven design by Eric Evans.â - Adam
Two-phase approach:
- Quick reference booklet (like Eric Evansâ DDD Reference)
- Full book with stories behind decisions
Event Modeling Clones
Martinâs perspective on alternative approaches:
âI saw a lot of these event modeling clones coming up all a little bit different with different names. Whenever I ask almost always itâs like okay they didnât really understand event modeling or they did not even try. Changing it always comes with a cost. Almost always it gets much more complicated.â - Martin
Why event modeling works:
âEvent modeling works because itâs so simple. Thatâs the only reason why itâs so powerful. Thatâs the reason why Iâm using it. I like simple stuff. I like things that are simple. Whenever you introduce new concepts, it gets more complicated. There is a reason why event modeling is like event modeling. You work with it for what 10 years until you made it a thing. It didnât come from nowhere. It came out of practice.â - Martin
Adamâs evolved perspective:
âI donât care at this point. I think youâre newer to event modeling where it still irritates you. Believe me, it was a lot worse 8 years ago. It hasnât killed event modeling because it was a lot worse and all those things are there, but theyâre not encroaching on event modeling.â - Adam
Old Tech Books and AI
Adam on CSS learning:
âJust before this AI stuff, I bought a really good book on how to walk you through all of the latest stuff on all the nice effects and animations and web pages. And it just became totally not necessary almost overnight. Not the book is bad, but these different libraries will be totally gone or replaced by something better in a matter of five years.â - Adam
Martin agrees:
âThatâs a good thing. The industry made that a necessity. Just too many people producing too many frameworks too often and it was stifling people.â - Martin
Key Takeaways
-
AI Lowers the Programming Entry Barrier - Kids can jump in at any abstraction layer and get immediate feedback without drowning in framework research
-
Event Model Before Coding - Even for simple Roblox games, starting with an event model provides structure that makes AI more effective
-
Issue Tracking Belongs in Git - Linus Torvalds agrees with Adamâs 2018 vision - issues should travel with the repository
-
Bugs on the Event Model - Visual representation provides instant context about severity, workflow, and reproduction steps
-
Event Sourcing Handles the Unexpected - A 210-slice project absorbed a major template engine requirement in just 4 hours
-
Pure Events Enable Flexibility - When data is in its immutable form, any transformation becomes trivial
-
Context Must Be Centralized - Scattering information across tools kills AI effectiveness and creates redundant markdown chaos
-
Slice Files in Git History - Exporting slices as JSON files provides complete event model evolution context for AI
-
Event Modeling Simplicity is the Power - Resist the urge to complicate with new concepts; simplicity is what makes it work
-
No Special Database Needed - Even a 210-slice system runs fine on PostgreSQL with proper architecture
Join the Agentic Engineer Program
Apply Spec-Driven Development Hands-On - Event Modeling, Event Sourcing, and AI Engineering with autonomous agents.
