David K 🎹
@DavidKPiano
Making state machines at @statelyai · prev. @Microsoft · I play piano
We're making it even easier to create state diagrams. ➡️ state . new
Things I wish were table-stakes in every web app: - Typing auto-focuses main input - Enter submits forms - Esc closes modals - Validation on blur, not while I'm typing - Let me decide whether a link opens in a new tab or not What else?
Coding on a long flight without wifi is the perfect detox from AI handholding and skill atrophy
I'm building my own MCP client, and of course I'm doing it the hard way by using in-browser LLMs (npm.im/@mlc-ai/web-llm) and seeing how far I can get with those. Pretty remarkable it works at all honestly. I do not know how doing this well would be possible without XState.
Ever try debugging state without events? "Events give you the why," and that's everything when your app breaks at 2AM. New episode with @davidkpiano, founder of @statelyai YT: buff.ly/RocY5ik Apple: buff.ly/yyVPUs9 Spotify: buff.ly/lPbriv2
When do AI coding assistants hit a wall for you? For me, when working on open-source libraries, they hit a wall pretty quickly unless you're writing tests or docs. Even then, they need hand-holding.
I don't understand LinkedIn Am I supposed to accept or ignore all these invitations?

going through the photos for the latest Web Dev Challenge and discovered a new meme format
Vibe coding? Try vibe understanding the generated code before you tab tab tab or press accept first
I hate to break it to you boolean-lovers, but not even number parity is binary.
did you know you can use 1 and 0 instead of booleans? follow pirate software for more programming tips
Looking for a workflow SDK that can do more than workflows? We're building a tldraw starter kit with nodes, ports, wires, and everything else
NEW: the latest Web Dev Challenge is streaming for everyone! @algolia asked 3 teams of devs to imagine what UX in an AI-native web app might look like. featuring @DavidKPiano, @shshaw, @technicallynadi, @aguywhocodes, Syscily, and Camille, with @chuckm codetv.link/wdc/s2e6
🔥 Build apps that don’t break as they grow @davidkpiano’s new course teaches real patterns for managing complexity in React & Next.js: 🔄 Replace useEffect clutter 🧱 Normalize state ⚡ Use event-driven design State Management at Scale → frontendmasters.com/courses/react-…
"Nobody I know uses ______" - Person who knows a few dozen people
If getting your Node app up and running isn't just 2 steps: npm install npm start (or npm run dev) Why?
Imagine that, a few years ago, you got tired of build steps and checks in your codebase, so you remove TypeScript. That one (seemingly) small decision just made it so no AI agent can reliably contribute code in that codebase. Great work. I bet you feel smart now.