DAGs & Event Sourcing
Video & Resource Study Guide

March 2026 · Curated videos, conference talks, channels, and written resources for deep study

20+ Videos Conference Talks Graph Algorithms Anti-Pattern Warnings

Tier 1: Watch First — The Essentials

These 5 videos give you 80% of what you need. Watch in order.

#1 · Event Sourcing Origin Story

Greg Young — CQRS and Event Sourcing

Code on the Beach 2014 ~90 min

The canonical talk. Greg Young coined CQRS. Traces the concept back to double-entry accounting ledgers — events are older than computers. Many companies require new hires to watch this. Includes the iconic slide of a ledger entry being erased (you can’t — that’s why events are immutable).

▶ Watch on YouTube
#2 · Event-Driven Taxonomy

Martin Fowler — The Many Meanings of Event-Driven Architecture

GOTO 2017 ~50 min

Fowler breaks down four distinct patterns that people conflate under “event-driven”: Event Notification, Event-Carried State Transfer, Event Sourcing, and CQRS. Essential for knowing which pattern solves which problem. Without this vocabulary, you’ll conflate things that should be kept separate.

▶ Watch on YouTube
#3 · Your Repo’s Architecture, Explained

Gary Bernhardt — Boundaries

RubyConf 2012 ~33 min

THE foundational talk on functional core / imperative shell. Pure functions inside, I/O at the edges. This is literally what your core/ vs adapters/ separation implements. Bernhardt explains why this structure makes testing trivial, concurrency safe, and code changeable. This talk will feel like someone describing your repo’s architecture before it existed.

▶ Watch on YouTube
#4 · Event Sourcing Deep Dive

Greg Young — Event Sourcing

GOTO 2014 ~54 min

More technical depth than talk #1. Covers trade-offs, misconceptions, read models, object databases, accidental complexity, service buses, and the relationship between event sourcing and DDD. Watch after #1 to go deeper on the mechanics.

▶ Watch on YouTube
#5 · Graph Algorithms Masterclass

William Fiset — Graph Theory Algorithms

freeCodeCamp (Google engineer) ~7 hrs total (watch DAG sections: ~2 hrs)

Visual walkthrough of every graph algorithm. The topological sort, DAG shortest/longest path, and cycle detection sections are exactly what you need for your product graph. Skip to those chapters. Includes working Java source code and slides.

Source code: github.com/williamfiset/Algorithms

▶ Watch on YouTube

Tier 2: Practical Implementation

How to actually build it — anti-patterns, live coding, migration paths

#6 · Learn From Mistakes

Oskar Dudycz — Let’s Build the Worst Event Sourcing System!

NDC London 2024 ~58 min Search: “Let's Build the Worst Event Sourcing System Oskar Dudycz NDC London 2024”

Teaches every anti-pattern by building the worst possible system. You learn what NOT to do — often more valuable than best practices. Demonstrates that event sourcing is “not complex, it’s different.”

#7 · Build an Event Store on PostgreSQL

Oskar Dudycz — Let’s Build Event Store in One Hour!

NDC Oslo 2022 ~60 min Search: “Let's build event store in one hour Oskar Dudycz NDC Oslo”

Live-codes an event store from scratch using PostgreSQL. Shows the table design, append operations, and projection mechanics. Directly relevant to your Supabase approach.

Code: github.com/oskardudycz/EventStoreInOneHour

#8 · Migration Path

Oskar Dudycz — From CRUD to Event Sourcing

Devoxx Search: “Event-driven revolution CRUD to Event Sourcing Oskar Dudycz Devoxx”

Shows the practical migration path from a classical CRUD monolith to CQRS and event sourcing. Key insight: you do NOT need multiple databases or event sourcing from day one. Start with CQRS on a single database and add event sourcing later.

#9 · Types as Business Rules

Scott Wlaschin — Domain Modeling Made Functional

NDC / KanDDDinsky 2019 ~52 min YouTube ID: 2JB1_e5wZmU

“Make illegal states unrepresentable” — use the type system to encode business rules so incorrect code cannot compile. Maps directly to your models.py and specs.py. No F# knowledge needed.

All talks: fsharpforfunandprofit.com/ddd

#10 · 10-Year Retrospective

Greg Young — A Decade of DDD, CQRS, Event Sourcing

Virtual DDD

Retrospective from the person who coined CQRS — what worked, what didn’t, how thinking evolved over 10 years. Essential for avoiding mistakes the community has already learned from.

▶ Watch on YouTube

Tier 3: DAG Algorithms — Graph Theory Deep Dive

The computer science fundamentals behind your product graph

#11 · Clear Hand-Drawn Explanations

Abdul Bari — Graph Traversals, Topological Sort

Abdul Bari (YouTube Channel) 15–40 min per video

Search his channel for: “Topological Sort”, “Graph Traversals BFS DFS”. Exceptionally clear hand-drawn diagrams, slower-paced, deeper explanations. 500K+ students. Universally recommended on Reddit and LeetCode for graph algorithm fundamentals.

▶ Visit Channel
#12 · Formal Proof

MIT 6.006 Lecture 14 — DFS, Topological Sort

MIT OpenCourseWare · Erik Demaine ~50 min Search: “MIT 6.006 Lecture 14 Depth First Search Topological Sort”

The gold standard academic treatment. Proves that a DAG has no back edges in DFS and that reverse finishing order gives a valid topological ordering. If you want to understand why the algorithm is correct, not just how it works, this is the lecture. Also covers edge classification: tree edges, back edges, forward edges, cross edges.

OCW: ocw.mit.edu — Lecture 14

#13 · DAGs in the Real World

MIT Missing Semester — Version Control (Git)

MIT CSAIL ~80 min YouTube ID: 2sjqTHE0zok

Explains Git bottom-up as a DAG data structure. Commits are nodes, parent pointers are edges. Branches are just references into the DAG. Merging creates nodes with two parents. The best real-world DAG example — a system you already use daily.

Course: missing.csail.mit.edu — Version Control

#14 · DAG Interview Problems

NeetCode — Course Schedule I & II

NeetCode (YouTube) ~10–15 min each Search: “NeetCode Course Schedule”

LeetCode 207 and 210 — the classic DAG problems. “Is this graph a DAG?” (cycle detection) and “give me a topological ordering.” Clean Python walkthroughs. These are two sides of the same coin: if you can detect cycles, you can topologically sort, and vice versa.

Course: neetcode.io — Topological Sort

#15 · Comprehensive Graph Series

Striver (take U forward) — Graph Series

take U forward (YouTube) 43 videos, 15–30 min each

Key videos: “Topological Sort using DFS”, “Kahn’s Algorithm”, “Shortest Path in DAG.” The shortest path video demonstrates using topological sort to find shortest paths in O(V+E) — the practical application most tutorials skip. Code in Python, Java, C++.

Website: takeuforward.org — Graph Series

Tier 4: Domain-Driven Design & Architecture

How to model your ERP domain and structure your aggregates

#16 · The Best Ongoing Channel

Derek Comartin — CodeOpinion (entire channel)

CodeOpinion (YouTube) Short, practical videos

The single best ongoing YouTube channel for event sourcing + CQRS. Key videos to watch:

  • “CRUD-Sourcing is Why Your Event Streams Are Bloated” — the #1 anti-pattern. If you model events as NameChanged instead of CustomerRelocated, your streams become meaningless noise.
  • “Event Sourcing Do’s and Don’ts” — practical guardrails
  • “Projections in Event Sourcing: Build ANY Model You Want!” — the read-model mechanism that makes ES practical for business systems
  • “Event Sourcing vs Event Driven Architecture” — they are NOT the same thing
  • “Greg Young Answers Your Event Sourcing Questions” — clears up common confusion
▶ Browse All Videos
#17 · Aggregate Design for Distributed Systems

Vaughn Vernon — Reactive DDD: Modeling Uncertainty

Avanscoperta, Milan 2018 · InfoQ

Key insight: “Query less; Event more.” Shows how to handle distributed system uncertainty using DDD + reactive patterns. Extends aggregate design into distributed contexts. Also read Vernon’s “Effective Aggregate Design” 3-part PDF series — the definitive guide.

▶ Watch on InfoQ
#18 · DDD Vocabulary Refined

Eric Evans — Language in Context (DDD Europe 2019 Keynote)

DDD Europe 2019 Search: “Eric Evans Language in Context DDD Europe 2019”

The DDD originator explains bounded context types (bubble context, quaint context, patch-on-patch) and refines the vocabulary of DDD itself. Essential for your ERP domain modeling — knowing where to draw the boundaries between your tools.

#19 · Martin Fowler on Event Sourcing

Martin Fowler — Event Sourcing (YOW! 2016)

YOW! Conferences ~28 min Search: “Event Sourcing Martin Fowler YOW 2016”

Concise presentation from the Chief Scientist at Thoughtworks. Connects event sourcing to broader enterprise patterns from a higher architectural perspective. Good for zooming out after the deep dives.

Tier 5: Advanced — Decider Pattern & Product Modeling

Functional event sourcing and graph-based product configuration

#20 · Your decision_logic.py, Formalized

Jeremie Chassaing — Deciders: Composition for Aggregates

DDD Europe 2021 Search: “Jeremie Chassaing Deciders DDD Europe 2021”

Three pure functions: decide(command, state) → events, evolve(state, event) → state, and initialState. This IS your decision_logic.py pattern formalized. Both functions are pure — same inputs always produce same outputs.

Blog: thinkbeforecoding.com — Functional Event Sourcing Decider

#21 · Bill of Materials as a Graph

Neo4j — Graph Data Modeling & Bill of Materials

Neo4j GraphAcademy (free course)

How to model products, BOM hierarchies, and shared components as graphs. Nodes = entities (products, parts, customers), edges = relationships (CONTAINS, DEPENDS_ON). The US Army, Caterpillar, and Lockheed Martin use graph databases for BOM management. Your DAG product model is this pattern on Postgres.

Free course: graphacademy.neo4j.com — Modeling Fundamentals

BOM example: neo4j.com — Top 10 BOM Use Cases


Channels to Subscribe To

ChannelWhat You GetBest For
CodeOpinion (Derek Comartin)Ongoing event sourcing, CQRS, architectureShort, practical, real-code videos
GOTO ConferencesClassic Greg Young, Martin Fowler talksFoundational theory
NDC ConferencesOskar Dudycz’s practical talksLive-coding, anti-patterns
William FisetGraph algorithms with visual walkthroughsAlgorithm understanding
Striver (take U forward)Comprehensive graph algorithm seriesProblem-solving, interview prep
Abdul BariClear, hand-drawn CS explanationsFundamentals, slow-paced depth
Kurrent (Event Store)EventStoreDB training and webinarsEvent store internals

Written Resources Worth Bookmarking

📄
Vaughn Vernon — Effective Aggregate Design (3-part PDF) The definitive guide: design small, reference by identity, use eventual consistency
📝
Oskar Dudycz — event-driven.io (blog) Extensive library of practical event sourcing articles
💻
PostgreSQL Event Sourcing Reference Implementation Full reference using PostgreSQL as event store · LISTEN/NOTIFY for projections
💻
Marten — PostgreSQL as Event Store (.NET) Mature library turning PostgreSQL into a full event store with projection support
💻
Emmett — PostgreSQL Event Store for Node.js Dudycz’s newer project · Same approach in TypeScript
📝
Scott Wlaschin — DDD Talk Hub Slides, videos, and code for all DDD-related talks
📝
Chassaing — Functional Event Sourcing Decider The canonical Decider pattern reference · decide / evolve / initialState
📄
Neo4j — Graph Database vs Relational Database Decision framework for when to use graphs vs relational
💻
William Fiset — Algorithms (GitHub) Source code and slides for the freeCodeCamp graph theory course
📄
MIT Missing Semester — Version Control Git explained as a DAG data structure · Course page with notes
💻
Dudycz — EventSourcing.NetCore (GitHub) Running code examples and tutorials for event sourcing
📝
SoftwareMill — Event Sourcing on Relational Databases Trade-offs of PostgreSQL vs specialized event stores

Recommended Watch Order

The Optimal Study Path
  1. Greg Young — CQRS and Event Sourcing (#1) — The foundational “why”
  2. Martin Fowler — Many Meanings of Event-Driven (#2) — The taxonomy
  3. Gary Bernhardt — Boundaries (#3) — Your repo’s architecture explained
  4. William Fiset — Graph Algorithms (#5) — DAG sections only (~2 hrs)
  5. Greg Young — Event Sourcing (#4) — The deep dive
  6. CodeOpinion — CRUD-Sourcing (#16) — The #1 anti-pattern to avoid
  7. Oskar Dudycz — Worst Event Sourcing System (#6) — Learn from mistakes
  8. Oskar Dudycz — Build Event Store in One Hour (#7) — PostgreSQL internals
  9. Scott Wlaschin — Domain Modeling Made Functional (#9) — Types as business rules
  10. Oskar Dudycz — From CRUD to Event Sourcing (#8) — The migration path
  11. Greg Young — A Decade of DDD, CQRS (#10) — The retrospective
  12. Chassaing — Deciders (#20) — The pattern behind your decision_logic.py
Time estimate

Videos #1–#5 = ~5 hours. That covers the essential theory. Videos #6–#12 = ~8 more hours for practical depth. Total study time: ~13 hours to go from zero to expert-level understanding of both DAGs and event sourcing as they apply to your ERP/MIS system.


DAGs & Event Sourcing — Video & Resource Study Guide · March 2026
Curated conference talks, algorithm tutorials, channels, and written resources