David Khourshid
where else to find them
website:https://stately.ai
github:davidkpiano
bluesky:davidkpiano.bsky.social
linkedin:davidkpiano
speakerdeck:davidkpiano
youtube:@Statelyai
devto:davidkpiano
what they talk about
all 16 in the filters
where they keep going back
- React Finland5 editions2018–2022
- React Alicante4 editions2019–2024
- React Summit2 editions2021–2024
all 31 in the filters
on a stage with
- Christian Alfonionce
- David Kopalonce
- Gerard Sansonce
all 11 in the filters
who talks about the same things
- Michel Weststrate30 talks
- André Staltz13 talks
- Farzad Yousefzadeh3 talks
- Adam Klein14 talks
- Ryan Florence11 talks
- Anton Gunnarsson2 talks
| title | conference | date |
|---|---|---|
| Goodbye Slop; Welcome Determinism | Agent Conf 2026 | 2026-09-17 |
Argues that replacing mega‑prompts with explicit state machines removes agent “slop” by separating deterministic rules from generative work and makes behavior… | ||
| Goodbye, useState | React Summit US 2025 | 2025-11-18 |
State management is easy, until it's not. Sure, useState() is fine for simple component state management – that's literally what it's for. But as our React… | ||
| Goodbye, useState | React Miami 2025 | 2025-04-17 |
Argues that apps outgrow plain useState and shows concrete replacements: keep non-rendering counters in refs, put UI state into the URL via query params or a… | ||
| Goodbye, useState | React Paris 2025 | 2025-03-20 |
Argues that useState should no longer be the default for growing apps and shows concrete alternatives: use server components and Suspense or TanStack Query to… | ||
| 2024 09 20 18 DAVID KHOURSHID - useWat | React Alicante 2024 | 2024-09-19 |
Demonstrates that useState batching makes sequential updates yield unexpected counts, that maps and sets don’t behave well in state without hacks, and that… | ||
| The Actor Model, Behind the Scenes | JSConf Budapest 2024 | 2024-06-26 |
Claims that actors are self-contained units with mailboxes that prevent race conditions and provide location transparency and fault tolerance. Code demos build… | ||
| Making State Management Intelligent | React Summit 2024 | 2024-06-14 |
Managing state in React is complicated. Humans are even more complicated. As developers, it's our job to deliver seamless and intuitive user experiences, but… | ||
| David Khourshid's Room | React Summit 2024 | 2024-06-14 |
-- no description -- | ||
| Making state management intelligent | Craft Conference 2024 | 2024-05-30 |
Claims that combining XState state machines, GPT-4 LLMs and reinforcement learning yields goal-oriented, explainable agents; demos include a guess-the-word… | ||
| DAVID KHOURSHID Making state management intelligent | React Alicante 2023 | 2023-09-28 |
Claims that combining state machines + reinforcement learning + GPT-4 makes UI agents that can plan and act, not just chat. Uses XState (xstate v5 beta and… | ||
| The two ways to manage state | JSHeroes 2023 | 2023-05-18 |
Argues there are two workable approaches—direct mutation for speed and indirect event-driven/statechart actors for maintainability—and shows concrete… | ||
| Making state management intelligent | Reactathon 2023 | 2023-05-02 |
Claim: combine LLMs and reinforcement learning to let app logic choose actions over a finite state graph, not just return text. Uses OpenAI (LLMs), agent… | ||
| Coding Complex App Logic, Visually | Øredev 2022 | 2022-11-08 |
Claim: modeling app flow as state machines avoids impossible boolean combos and lets code generate docs and tests. Demonstration builds a Lego checkout demo… | ||
| Using useEffect Effectively | React Advanced 2022 | 2022-10-21 |
Argues that useEffect is for ongoing activity effects (subscriptions, listeners) not for one‑off action effects, shows React 18’s double‑exec on mount (strict… | ||
| Adiós, useEffect: Managing Effects More Effectively | React Alicante 2022 | 2022-09-29 |
Argues useEffect often misleads: runs effects twice on mount in react 18 strict mode, causing surprising re‑runs and infinite loops. Recommends moving… | ||
| The two types of state management | React Finland 2022 | 2022-09-12 |
Claims that state libraries fall into easy vs simple categories and demonstrates on a concrete counter (clamped between 0 and 10) how useState, useReducer… | ||
| Coding Complex App Logic, Visually | RenderATL 2022 | 2022-06-01 |
Argues that using state machines and statecharts tames growing boolean sprawl (example: ambiguous isLoading/isError combos) by turning flows into executable… | ||
| Goodbye, useEffect | Reactathon 2022 | 2022-05-03 |
Argues that useEffect is commonly misused and should be limited to useEffect for synchronization; one-off “action” effects belong in event handlers or, better… | ||
| Making Application Logic Visually Collaborative | Infobip Shift 2021 | 2021-09-07 |
Argues that application logic becomes precise, testable and team-visible when extracted into executable diagrams backed by state machines, statecharts and the… | ||
| The State of XState | React Finland 2021 | 2021-08-30 |
XState announces concrete additions: a createModel helper that yields fully strongly typed context and events so TypeScript users stop duplicating generics, a… | ||
| The Visual Future of State Management | JSNation Live 2021 | 2021-06-09 |
This talk discusses the visual future of state management and the use of state machines and state charts. XState is introduced as a state machine and state… | ||
| XState: the Visual Future of State Management | React Summit Remote Edition 2021 | 2021-04-14 |
Argues that encoding state machines and statecharts in XState makes app behavior explicit and visual, not just conceptual, and that machines prevent impossible… | ||
| XState: the Visual Future of State Management | React fwdays'21 | 2021-03-27 |
State modeling with XState shows concrete wins: a real editable component is rebuilt from nested useReducer to a machine, then run with useMachine hook… | ||
| Introduction to statecharts | React Finland 2020 | 2020-05-28 |
Demo builds a working drag‑and‑drop using xstate and React and the sandboxed code is linked, not just abstract theory. It uses the useMachine hook, context for… | ||
| Everything is an Actor | React Finland 2020 | 2020-05-28 |
Argues that the Actor Model makes reactive apps simpler by modeling components as independent actors that communicate by messages, using mailboxes to guarantee… | ||
| Panel discussion about state management | React Finland 2020 | 2020-05-28 |
Panelists argue that the practical decisions matter: a prototype for visual-first code generation exists and aims to emit code from diagrams; Overmind… | ||
| Write fewer tests! Model-based testing in React | ReactConf AU 2020 | 2020-02-27 |
Proposes replacing manually written end‑to‑end tests with model‑based test generation using XState to model app states and transitions, wiring those abstract… | ||
| Mind-Reading with adaptive UIs | Agent Conf 2020 | 2020-01-23 |
Claims that UIs can “mind‑read” by modeling user flows and feeding transition metrics back into the app, and shows concrete tools and results: XState… | ||
| Crafting Stateful Styles | dotCSS 2019 | 2019-12-04 |
Argues that styling belongs to explicit finite state machines rather than scattered classes, using data-state attribute + data-transition to guarantee a single… | ||
| Mind-Reading with Intelligent & Adaptive UIs | ReactiveConf 2019 | 2019-10-30 |
Claim: represent the UI as an executable state model, measure transition frequencies, and adapt the UI in real time. Implements this with X State and a single… | ||
| Mind-Reading with Adaptive and Intelligent User Interfaces | Nordic.js 2019 | 2019-10-10 |
Claims adaptive UIs that actually predict and rewire flows using state machines/statecharts, feeding transition analytics into weighted graphs and decision… | ||
| Mind-Reading with Adaptive and Intelligent User Interfaces | React Alicante 2019 | 2019-09-26 |
Claim: adaptive UIs learn and personalize in real time by turning executable models into live behavior. Concrete tools: finite state machines and statecharts… | ||
| Crafting Stateful Styles with State Machines | CSSConf Budapest 2019 | 2019-09-25 |
Claims that finite state machines make styles maintainable, testable, and interactive by encoding component states as attributes and transitions; uses ARIA… | ||
| Write Fewer Tests! From Automation to Autogeneration | React Rally 2019 | 2019-08-22 |
Argues that exhaustive tests are auto-generated from a state-machine model so tests are created and regenerated when the model changes, not handwritten… | ||
| Formal Forms with State Machines | ReactNext 2019 | 2019-06-11 |
Forms become deterministic when modeled as statecharts that expose explicit transitions, guards, context and effects rather than ad‑hoc handlers. The talk… | ||
| The visual future of reactive applications with statecharts | HolyJS Piter 2019 | 2019-05-24 |
Shows a concrete claim: modeling UI logic as explicit statecharts yields automatically generated visualizations and exhaustive path-based tests instead of ad… | ||
| State of the Art User Interfaces with State Machines | Craft Conference 2019 | 2019-05-07 |
Finite state machines and statecharts model every UI state, ignore duplicate events (so clicking while searching fires no extra API calls), and expose missing… | ||
| Reactive State Machines and Statecharts | Uphill Conf 2019 | 2019-05-02 |
Argues that state machines and statecharts make application behavior explicit, claiming they eliminate entire classes of bugs, generate integration tests… | ||
| Mind Reading with Adaptive and Intelligent UIs in React | React Finland 2019 | 2019-04-24 |
Builds adaptive UIs as executable state machines, captures transition analytics, and uses XState React hook plus D3 visualizations to turn edge weights into… | ||
| Reactive State Machines and Statecharts | ReactiveConf 2018 | 2018-10-29 |
Claims that finite state machines and statecharts make complex UIs robust and testable, demonstrated with the library xstate v4 and RxJS; shows a declarative… | ||
| Panel discussion: State of the Art: Web Platform | ReactiveConf 2018 | 2018-10-29 |
Conversation reports concrete shifts: browsers reach parity so progressive web apps are practically deployable, state machines and Statecharts for UI logic… | ||
| State of the Art Web User Interfaces with State Machines | Full Stack Fest 2018 | 2018-09-03 |
Finite state machines and statecharts become concrete tools here: a JSON-modeled Flickr search, a tic‑tac‑toe machine, a visualizer and interpreter that run… | ||
| Reactive State Machines and Statecharts | React Finland 2018 | 2018-04-24 |
An end-to-end demo of modeling UI behavior as state machines and statecharts: a pure transition function that becomes a statechart interpreter, an interactive… | ||
| Behind the Illusions: Impossibly high-performance layout animations | CSSConf AU 2018 | 2018-03-20 |
Demonstrates concrete techniques to animate layout at 60 frames per second using measured deltas and transforms rather than top/left or height/width… | ||
| Simplifying Complex UIs with Finite Automata & Statecharts | JSConf Iceland 2018 | 2018-03-01 |
A declarative library called xstate models finite state machines and Harel statecharts and yields a live visualizer of every state, transition and missing… | ||
| Reactive Web Animations with RxJS | Nordic.js 2017 | 2017-09-07 |
Title promises practical results: code uses RxJS with DOM events, hammer.js for touch, requestAnimationFrame scheduling and a simple lerp smoothing reducer to… | ||
| Talking about Frameworks | JSDayES 2017 | 2017-05-12 |
Argues that more declarative frameworks let designers work directly in code so prototypes become part of the app and iteration cycles shrink, claiming closer… | ||
| Getting Reactive with CSS | CSS Conf EU 2017 | 2017-05-05 |
Combines CSS variables with reactive code to send a single numeric value from JS into CSS and drive layout, gradients, content and motion; implements touch… | ||
| Reactive Animations with CSS Variables | JSConf Iceland 2016 | 2016-08-25 |
Shows how CSS variables and RxJS combine to push event streams into style values: using event observables, element.style.setProperty, and a tiny glue library… | ||
| nothing matches | ||