<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: davidkpiano</title><link>https://news.ycombinator.com/user?id=davidkpiano</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 18 May 2026 08:44:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=davidkpiano" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by davidkpiano in "Show HN: Statewright – Visual state machines that make AI agents reliable"]]></title><description><![CDATA[
<p>Pretty cool. Looks like stately.ai but catered towards agentic state machine workflows. Really interesting!</p>
]]></description><pubDate>Tue, 12 May 2026 18:47:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48112568</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=48112568</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48112568</guid></item><item><title><![CDATA[New comment by davidkpiano in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>This would be the closest: <a href="https://github.com/GnomesOfZurich/scxml/" rel="nofollow">https://github.com/GnomesOfZurich/scxml/</a></p>
]]></description><pubDate>Mon, 27 Apr 2026 08:12:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47918971</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47918971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47918971</guid></item><item><title><![CDATA[New comment by davidkpiano in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>I loved this talk!</p>
]]></description><pubDate>Sun, 26 Apr 2026 19:04:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47912923</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47912923</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47912923</guid></item><item><title><![CDATA[New comment by davidkpiano in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>P lang is close: <a href="https://github.com/p-org/P" rel="nofollow">https://github.com/p-org/P</a></p>
]]></description><pubDate>Sun, 26 Apr 2026 15:52:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47911264</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47911264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47911264</guid></item><item><title><![CDATA[New comment by davidkpiano in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>There is also @xstate/store for simple event-driven stores and atoms; just as simple as Zustand + Jotai: <a href="https://stately.ai/docs/xstate-store" rel="nofollow">https://stately.ai/docs/xstate-store</a></p>
]]></description><pubDate>Sun, 26 Apr 2026 15:32:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47911122</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47911122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47911122</guid></item><item><title><![CDATA[New comment by davidkpiano in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>The next version of XState will be much more ergonomic, with a reduced API surface area, lower learning curve, and much easier for devs (and agents) to author.<p>But at the same time, frontier models are <i>very</i> good at writing XState.</p>
]]></description><pubDate>Sun, 26 Apr 2026 11:56:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47909613</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47909613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47909613</guid></item><item><title><![CDATA[New comment by davidkpiano in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>Statecharts are still getting some traction! XState has over 4 million weekly npm downloads. Animation tools like Rive & LottieFiles heavily advertise state machine capabilities. AI tools like LangGraph are built on state machine foundations.<p>It'll take some time for those apps/tools to realize the full potential of statecharts, but it's a good start.</p>
]]></description><pubDate>Sun, 26 Apr 2026 11:55:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47909608</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47909608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47909608</guid></item><item><title><![CDATA[New comment by davidkpiano in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>Glad to see statecharts still getting attention!<p>I created XState, a JS/TS library for authoring, executing, and visualizing state machines/statecharts: <a href="https://github.com/statelyai/xstate" rel="nofollow">https://github.com/statelyai/xstate</a><p>I've been working on it for 10+ years. The main thing I've learned is that statecharts are most valuable when they're treated as executable behavior, not just documentation.<p>That doesn't mean you need to use them everywhere or model everything with them. They're most useful when you have behavior where the answer to "what happens next?" depends on both the current state & the event. A statechart can act as an oracle for questions like: "Given I'm in this state, when this event happens, what is the next state, and what effects should run?"<p>I'm close to releasing an alpha of the next major version of XState, focused on better ergonomics, type safety, and composability, as well as a new visualizer/editor.<p>There's also an open-source basic statechart visualizer here: <a href="https://sketch.stately.ai" rel="nofollow">https://sketch.stately.ai</a><p>For the formal/spec side, SCXML is worth reading: <a href="https://www.w3.org/TR/scxml" rel="nofollow">https://www.w3.org/TR/scxml</a><p>Also worth reading the original paper by David Harel: <a href="https://www.weizmann.ac.il/math/harel/sites/math.harel/files/users/user50/Statecharts.pdf" rel="nofollow">https://www.weizmann.ac.il/math/harel/sites/math.harel/files...</a></p>
]]></description><pubDate>Sun, 26 Apr 2026 11:52:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47909586</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47909586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47909586</guid></item><item><title><![CDATA[New comment by davidkpiano in "Show HN: Gapless.js – gapless web audio playback"]]></title><description><![CDATA[
<p>Really appreciate you using XState!</p>
]]></description><pubDate>Tue, 03 Mar 2026 11:01:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47230739</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=47230739</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47230739</guid></item><item><title><![CDATA[New comment by davidkpiano in "Show HN: Browser based state machine simulator and visualizer"]]></title><description><![CDATA[
<p>Really cool! Love the XState-inspired API ;-)</p>
]]></description><pubDate>Sun, 08 Feb 2026 02:53:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46930894</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=46930894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46930894</guid></item><item><title><![CDATA[New comment by davidkpiano in "I like Svelte more than React (it's store management)"]]></title><description><![CDATA[
<p>Re: atoms + learning curve, this is why XState Store exists, which supports both XState-style state updates and atoms: <a href="https://stately.ai/docs/xstate-store" rel="nofollow">https://stately.ai/docs/xstate-store</a><p>I also like the approach of Svelte, and realize that sometimes a full state machine isn't needed. I don't think that atoms should be used everywhere, since updating state freely without guardrails just leads to disaster long-term.</p>
]]></description><pubDate>Sun, 01 Jun 2025 14:22:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44151094</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=44151094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44151094</guid></item><item><title><![CDATA[New comment by davidkpiano in "XState – State machines for state management in JavaScript"]]></title><description><![CDATA[
<p>Thank you for the kind words! I somewhat agree that it is complicated and overly engineered for many applications that don't need all of the statechart features, and that it has a sizable learning curve.<p>I plan on greatly simplifying it for the next major version, mostly to be more idiomatic and flexible without sacrificing the state machine principles.</p>
]]></description><pubDate>Mon, 23 Dec 2024 11:43:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=42493708</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=42493708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42493708</guid></item><item><title><![CDATA[New comment by davidkpiano in "Finite State Machine Designer"]]></title><description><![CDATA[
<p>I remember this! It was one of my inspirations for creating a hierarchical state machine editor [0] and a state machine library with a visualization layer [1].<p>[0] <a href="https://state.new" rel="nofollow">https://state.new</a>
[1] <a href="https://github.com/statelyai/xstate">https://github.com/statelyai/xstate</a></p>
]]></description><pubDate>Mon, 12 Aug 2024 14:00:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=41224448</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=41224448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41224448</guid></item><item><title><![CDATA[New comment by davidkpiano in "Ask HN: Open-Source Alternative to Bland.ai"]]></title><description><![CDATA[
<p>Hey thanks for linking, I'm still working on this and hope to have a beta release soon!<p>Stately Agent is a completely open-source library for creating (LLM) agents that adhere to state machines.</p>
]]></description><pubDate>Mon, 20 May 2024 20:53:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=40420245</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=40420245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40420245</guid></item><item><title><![CDATA[New comment by davidkpiano in "Show HN: I built an online state machine editor"]]></title><description><![CDATA[
<p>How does this compare to the state machine editor on <a href="https://state.new" rel="nofollow">https://state.new</a> ?</p>
]]></description><pubDate>Sun, 19 May 2024 15:08:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40407427</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=40407427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40407427</guid></item><item><title><![CDATA[New comment by davidkpiano in "Ask HN: Best Event-Driven Finite-State Machine Learning Resources"]]></title><description><![CDATA[
<p>There are a lot of resources on finite state machines, especially in TypeScript, here: <a href="https://stately.ai/docs/state-machines-and-statecharts" rel="nofollow">https://stately.ai/docs/state-machines-and-statecharts</a></p>
]]></description><pubDate>Tue, 19 Mar 2024 13:01:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=39755272</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=39755272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39755272</guid></item><item><title><![CDATA[New comment by davidkpiano in "UI = f(statesⁿ)"]]></title><description><![CDATA[
<p>(Creator here) Thank you for the mention!</p>
]]></description><pubDate>Sat, 17 Feb 2024 00:08:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=39404731</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=39404731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39404731</guid></item><item><title><![CDATA[New comment by davidkpiano in "Python 3.13 Gets a JIT"]]></title><description><![CDATA[
<p>Oh hey it's me!</p>
]]></description><pubDate>Wed, 10 Jan 2024 14:53:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=38939524</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=38939524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38939524</guid></item><item><title><![CDATA[New comment by davidkpiano in "Show HN: Octopus – a directed acyclic graph for app development"]]></title><description><![CDATA[
<p>You don't need to define every possible state. A state machine can serve as a higher-level structure of some of the states (statuses, modes) of parts of your app, for ease of structuring logic. But you can also create a single-state state machine and represent non-finite data as "external state".</p>
]]></description><pubDate>Fri, 15 Dec 2023 16:04:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=38655453</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=38655453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38655453</guid></item><item><title><![CDATA[New comment by davidkpiano in "XState v5 Is Here"]]></title><description><![CDATA[
<p>XState creator here!<p>I love that use-case. We have plenty of developers & companies using XState on the backend, and one of our main goals for XState v5 was to enable more backend use-cases, with custom & composable actor logic, deep persistence, inspection APIs, and actor-first statechart features for modeling more complex actor-actor interaction.<p>Ultimately, we'd love to be an open-source alternative to AWS Step Functions.</p>
]]></description><pubDate>Sat, 02 Dec 2023 01:58:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=38495095</link><dc:creator>davidkpiano</dc:creator><comments>https://news.ycombinator.com/item?id=38495095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38495095</guid></item></channel></rss>