Ismael Celis's wroclove.rb 2026 single-speaker talk, originally submitted as 'Event Sourcing and the Actor Model in Ruby' and renamed before delivery to 'Building Reactive Systems with Ruby and Event Sourcing' because his experimentation had moved away from actors. Presents two conceptual issues with typical web development — the 'model depth' issue (entity-relationship modelling producing ever more coupled graphs) and the 'execution context' issue (artificial split between controllers and background jobs) — then argues for modelling around commands and events instead. Introduces a donations-app demo (campaigns, donations, notifications, email-verification workflow, payment processing) and walks through two experimental Ruby libraries he is building. Cidurial: a Rack app on Falcon with command structs (typed data objects), a DSL for command-handler blocks, Phlex-based page classes that subscribe to commands, and a Datastar-powered SSE connection that morphs server-rendered HTML patches into the DOM. Uses fiber-based asynchronous worker fibers inside Falcon to pick up commands from a store, run handlers and publish to a pub/sub interface, yielding CQRS and real-time multiplayer/streaming UIs with Brotli-compressed SSE (>80% ratios on HTML). Demos include a tap-card donation, a Ruby-LLM chat (multiplayer for free), a cinema seat-booking app, and a streaming progress bar with an activity feed. Sourced: a web-agnostic event-sourcing library with commands (intent), events (past facts), a Decider class (state + evolve + command blocks), reactions (event → new command) — e.g. PaymentStarted → Stripe call → ConfirmPayment, a Projector superclass writing read-models to any store, and a test harness using given/when/then reactor specs. Sourced includes a runtime that correlates commands and events (enabling request-ID-rooted workflow tracing and a time-travel debugging UI), a web dashboard to stop/restart/replay reactors (rebuilding a projection by resetting offsets), parallel replay with per-stream ordering, Prism-based static analysis producing workflow diagrams, autonomous-services execution where each decider/projector runs at its own pace, durable execution by construction (each event snapshots the last successful step), and Dynamic Consistency Boundaries — events are not tied to a single stream but queried by attribute to build virtual streams per decision. Companion 'Event Lane App' toy generates the diagrams shown. Cidurial and Sourced integrate by swapping Cidurial's built-in store/dispatcher for Sourced's, so web commands flow through the event-sourced runtime. Q&A covers deciders as state machines over many inputs (answered via DCB), event storage (he's used Postgres then switched to SQLite; an audience member confirms Postgres works well in production), race conditions and locking (claim mechanism similar to Solid Queue), and error handling (reframe domain errors as events; reserve true exceptions for technical failures, with exponential backoff and eventual reactor de-registration).