The Stately Editor beta is now open for everyone! 🎉
🚀 A low-code visual editor for building app logic
🪄 Create executable diagrams and use them in code
Try the beta now at:
🔥 XState Tip
#3
🔥
XState is extremely powerful in
@reactjs
for orchestrating side effects and composing other hooks.
Here, we use a machine to coordinate moving to a '/login' screen after 3 seconds, using Next's useRouter hook.
Are you seeing complexity scaling out of control in your React app? You might need XState.
Here, we take a badly-built fetch and give it error handling, timeouts and exponential backoff 🤯 all with the visual builder!
FULL VIDEO:
Are you using useState?
Then you'll know that as components scale, both useState AND useReducer can feel like ticking time bombs 🧨💥
In this video,
@mattpocockuk
dives deep on the tradeoffs of each hook, and where XState can help.
Full 8-minute video:
🔥 XState Test v1 Alpha released 🔥
Do you want DRY, self-documenting tests without duplicated setup?
Get MAXIMUM coverage with minimal code by generating your test paths from a state machine.
Here's all the new goodness:
🥳 XState V5 is here!
More powerful, yet simpler (and smaller!)
Orchestrate *any* logic, from promises and observables to state machines and statecharts and everything in between.
Whatever your code is, XState will meet you where you’re at.
🚀 Stately Studio 1.0 is now live!
🤝 Teams & roles (Pro)
🔭 Visibility settings: public, unlisted, private (Pro)
ℹ️ Priority support (Pro)
📦 Projects-first editor view
⬆️ Export to JavaScript, TypeScript & more soon
➕ So many Editor improvements!
🎉 We’ve made it even easier to create and visualize state machines in seconds:
1️⃣ Install the XState
@code
extension.
2️⃣ Use the `xsm` snippet.
3️⃣ Visualize your new state machine inside VS Code.
🔥 XState Tip
#5
🔥
Are you in multi-step-form hell with useState/useEffect?
XState can make things a LOT easier by colocating all your logic into a single, visualizable spot.
Time to share our current state. We're excited to announce the Stately team that will be working on the mission of making application logic more visual, robust, and accessible.
Stay updated and get early access here:
👩💻🧑💻👇
XState on the backend?!
XState is not just a frontend library - it can run anywhere JavaScript runs.
With the waitFor helper, you can let XState handle any logic inside an async function. In this video,
@mattpocockuk
shows you the basics.
FULL VIDEO:
🔥 XState Tip
#1
🔥
You can tidy up your machine definitions massively by being on the lookout for things that _feel_ like promises in your machine.
If it looks like a Promise and quacks like a Promise, it's probably a promise.
Is XState good with TypeScript?
We've worked HARD on making the XState experience with TypeScript better.
If you use type generation, you can get AMAZING autocomplete and inference that's just not possible with TS alone.
FULL VIDEO:
XState is FANTASTIC for handling complex forms on the frontend.
Especially when combined with an existing lib like react-hook-form, you can build all sorts of async validation.
FULL VIDEO:
🚀 The XState CLI is now available on npm!
Use it to get all the features of typegen in any IDE environment or on your CI.
Install it now with npm install
@xstate
/cli
🔥 XState Tip
#2
🔥
Always transitions are most useful for two patterns:
1⃣ Creating Choice Nodes
2⃣ Making a 'leave this state when' condition
They're FOR SURE one of the most useful bits of a statecharter's toolkit.
🌤️ Stately Sky is here!
- Build and deploy your workflows to the edge in minutes
- Get all the benefits of XState V5 actors
- Play live with multiplayer support
💼 We’re hiring! Join our in-finite-ly awesome team and build the visual future of software development.
We’re a friendly diverse team, work fully remote and have a fantastic work-life balance.
Sound good to you?
✨ Find our
@statelyai
job listings at:
🔥 XState Tip
#4
🔥
History States are a powerful, but often misunderstood part of statecharts.
They can be useful for modelling 'physical-like' devices, such as remembering which buttons are pushed on a device that's turned off.
🎉XState’s TypeScript experience just got an enormous upgrade. We’ve released Typescript typegen to XState 4.29.0.
We’re eventually aiming for perfect types on all parts of XState’s API—and we've made a pretty good start.
📌Read our announcement post:
🧠 Learn XState in React with our official beginner’s guide.
🏁 Starting with setup! Before you start to build your todo list app,
@mpocock1
shows you how to set up your development environment:
This time tomorrow (Friday at 9AM ET) we’ll be livestreaming our Office Hours again.
We’re getting closer to releasing the new visualizer… want a chance to transition to the new one? Tune in!
Questions? Tweet us using
#StatelyOfficeHours
🪄 You can now import a state machine from a GitHub file, make changes in Stately Studio, and make a pull request back to GitHub without touching any code.
🆕 You asked for server-side workflow examples for XState… we’ve added 25!
Find them in the `next` branch (XState v5) in the XState repo, and browse the full list on our blog:
🎉 XState V5 beta is here!
🏁 Simplified terminology to learn concepts easier
✨ Power and flexibility with an actor-first approach
🔌 Reduced API surface area to get started faster
📚 Examples and docs to cover more use cases
This Friday at 9AM ET (this time tomorrow), our weekly Stately Office Hours will stream live on our YouTube channel.
Got any questions for the team? Want to share how you’re using XState? Join us live, or share your questions using
#StatelyOfficeHours
.
Every time I open
@statelyai
, I am blown away by the experience. Not many extremely useful dev tools are also just pure fun to play with. Here's one I made
@ReactRally
last year about conference attendance!
🔥 XState Test v1 Alpha released 🔥
Do you want DRY, self-documenting tests without duplicated setup?
Get MAXIMUM coverage with minimal code by generating your test paths from a state machine.
Here's all the new goodness:
🆕 “Just Use Hooks”! In
@kvmaes
’ first post on our blog, he explains how to use custom machine hooks to integrate XState machines into your React components.
🆕 We’ve released a huge update to Stately Studio:
🌈 Bring color to your flows!
📝 Design more logic on the canvas
🧩 Visual effects blocks
🔥 Refined statechart design
🎧 Hide the UI to focus
💪 Tags and built-in XState actions
🚚 Export to XState v5 beta
You don’t need a library for state machines… but you probably need state machines.
⬇️ Read
@DavidKPiano
’s case for state machines in this classic blog post
And we're happy to welcome
@LauraKalbag
, co-founder of , who will be working with us on Dev & Designer Relations! She’s been a dev & designer herself for over a decade, has given talks in 15 countries, and wrote the book Accessibility For Everyone 📘
Also excited to welcome
@AndaristRake
to the team! He has been helping to develop XState for the past 3 years and is also known for maintaining a package or two (or 100) 📦
This time tomorrow (Friday at 9AM ET), our weekly Stately Office Hours will stream live on our YouTube channel.
We’ll be giving you a preview of the new Visualizer! Got any questions? Features on your wish list? Use
#StatelyOfficeHours
And join us live:
🔎 You can now access all the key information about a state without opening any panels.
Tags, markdown descriptions, entry and exit actions, and invoked actors… all shown on the state and editable from the canvas 🎉
The Xata vibe is real at
@reactsummit
here in Amsterdam today.
Come join us at our shared booth with the wonderful
@statelyai
crew and hear about our serverless database and visualizing your application logic.
We have all the swag! Get some!
🥵 If complexity is scaling out of control in your React app, you might need XState.
@mattpocockuk
takes a badly-built fetch and gives it error handling, timeouts and exponential backoff… all using our
@statelyai
visual editor!
Welcome
@farzad_yz
to the dev team! He's been working with and giving talks on state machines and statecharts for years, and is going to help bring the visual tooling to the next level 📈
🧰If you’re a
@vuejs
fan, you should check out Vurian.
It’s a Vue 3 component library project by
@MayaShavin
for organizing components using state machines (and XState!)
🖼️ Have you tried putting images in your descriptions yet?
With our recent support for markdown in state and event descriptions, you can create fun machines like this:
🆕 🎉 Get started in the Stately Studio with our new video tutorials designed to help you learn the concepts and how-tos in bite-size videos! First up…
1️⃣ What are state machines and statecharts?
⬇️ Redux is half of a pattern.
@DavidKPiano
highlights some reasons why Redux is not a standalone pattern by comparing it to a fundamental, well-established pattern: the finite state machine.
🆕 We’ve got a stack of new features this week. Starting with…
Sources! Yes, you can now provide implementation source code for your actions, actors, and guards to get full bidirectional editing between the editor and your codebase 🎉
↪️ Coming soon… better self-transitions!
We know single states with many self-transitions is a common pattern in your state machines. Soon their transition arrows will be tidier and easier to read.
✨ When you’re working with a complex flow, sometimes you just want to get everything else out your way…
Hide the canvas grid and all the UI panels with just a few clicks or keyboard shortcuts.
We’d love to know what you think! What are the opportunities and challenges for using XState on the backend?
We’ll discuss XState and the backend in this week’s
#StatelyOfficeHours
on Friday.
✨ New (experimental) feature alert!
Coming from another state manager? Import your Redux or Zustand logic into the Stately editor, and we’ll handle the rest.
More libraries, DSLs, and languages to come!
🎉 Exciting news! On Monday,
@thesegunadebayo
and our very own
@farzad_yz
are kicking off a new livestream series building complex UI components using Stately Studio.
Starting with a draggable and resizable panel:
How about a sneak peek into one of our huge new features…?
🌤️ Stately Sky 🌤️
Read more about how we’ve worked together with
@partykit_io
to orchestrate Stately machines in the sky:
🎉 We’re delighted to welcome
@kvmaes
to the team!
Kevin is joining our team of engineers creating
@statelyai
tools and we’re really excited to work with him.
🔬 Stately Inspector is now available in beta!
Visualize the state of any application, frontend or backend, with state machines and sequence diagrams.
npm install
@statelyai
/inspect
🥳 A fantastic start to the week… please welcome
@andersmellson
to the
@statelyai
team!
Anders is joining our engineering team working on our Stately tools and we can’t wait to have his input.
🧜 If you ever wanted to share your diagrams to GitHub and GitLab, you’ll love our new export to Mermaid!
Get your state machine as Mermaid text or an SVG diagram with just two clicks:
👋 Did you transition to XState V5 yet?
It’s superpowered, simpler, and smaller. With Stately Studio support and a brand new Stately inspector coming very soon!
👥 Does your team need V4 -> V5 migration help or workshops to get up and running with XState V5?