Example gallery

Every statechart shipped under examples/, drawn from its JSON with a link to the same machine in Stately.

Every machine under examples/, drawn from its JSON in the Stately style. The diagrams follow the site theme; Full screen opens a zoomable view and Open in Stately takes you to the same machine in the editor (a Stately account is needed there). The JSON next to each diagram is what the example runs unchanged.

async/basic

dataFetcher

Source: examples/async/basic/class_approach/with_logic_loader/data_fetcher/data_fetcher.json

sessionTimeout

Source: examples/async/basic/class_approach/without_logic_loader/session_timeout/session_timeout.json

trafficLight

Source: examples/async/basic/functional_approach/with_logic_loader/traffic_light/traffic_light.json

stopwatch

Source: examples/async/basic/functional_approach/without_logic_loader/stopwatch/stopwatch.json

async/complex

twoFactorAuth

Source: examples/async/complex/class_approach/with_logic_loader/two_factor_auth/two_factor_auth.json

foodDelivery

Source: examples/async/complex/class_approach/without_logic_loader/food_delivery/food_delivery.json

ciCdPipeline

Source: examples/async/complex/functional_approach/with_logic_loader/ci_cd_pipeline/ci_cd_pipeline.json

gameMatchmaking

Source: examples/async/complex/functional_approach/without_logic_loader/game_matchmaking/game_matchmaking.json

async/easy

lightSwitch

Source: examples/async/easy/class_approach/with_logic_loader/light_switch/light_switch.json

userPresence

Source: examples/async/easy/class_approach/without_logic_loader/user_presence/user_presence.json

taskStatus

Source: examples/async/easy/functional_approach/with_logic_loader/task_status/task_status.json

offerClaim

Source: examples/async/easy/functional_approach/without_logic_loader/offer_claim/offer_claim.json

async/features

loading-gate

Source: examples/async/features/deferred_unhandled_events/deferred_unhandled_runner.py

async/intermediate

apiFetcher

Source: examples/async/intermediate/class_approach/with_logic_loader/api_fetcher/api_fetcher.json

fileProcessor

Source: examples/async/intermediate/class_approach/without_logic_loader/file_processor/file_processor.json

authFlow

Source: examples/async/intermediate/functional_approach/with_logic_loader/auth_flow/auth_flow.json

videoTranscoder

Source: examples/async/intermediate/functional_approach/without_logic_loader/video_transcoder/video_transcoder.json

async/super_complex

lightBulb

Source: examples/async/super_complex/class_approach/with_logic_loader/smart_home/light_bulb_actor.json

smartHome

Source: examples/async/super_complex/class_approach/with_logic_loader/smart_home/smart_home.json

pathfinder

Source: examples/async/super_complex/class_approach/without_logic_loader/warehouse_robot/pathfinder_actor.json

warehouseRobot

Source: examples/async/super_complex/class_approach/without_logic_loader/warehouse_robot/warehouse_robot.json

collaborativeEditor

Source: examples/async/super_complex/functional_approach/with_logic_loader/collaborative_editor.json

ancillaryServiceActor

Source: examples/async/super_complex/functional_approach/without_logic_loader/flight_booking/ancillary_service_actor.json

flightBooking

Source: examples/async/super_complex/functional_approach/without_logic_loader/flight_booking/flight_booking.json

hybrid/manufacturing_line

assemblyLine

Source: examples/hybrid/manufacturing_line/manufacturing_line_async.json

qualityCheck

Source: examples/hybrid/manufacturing_line/quality_check_sync.json

integrations/agents_support_bot

supportBot

Source: examples/integrations/agents_support_bot/machine.json

host

Source: examples/integrations/agents_support_bot/tests/test_battle_288_scenario.py

host

Source: examples/integrations/agents_support_bot/tests/test_battle_289_scenario.py

integrations/django_approvals

approval

Source: examples/integrations/django_approvals/machine.json

integrations/eda_fulfilment

order

Source: examples/integrations/eda_fulfilment/machine.json

warehouse

Source: examples/integrations/eda_fulfilment/warehouse.json

integrations/fastapi_orders

order

Source: examples/integrations/fastapi_orders/machine.json

order

Source: examples/integrations/fastapi_orders/machine_v2.json

integrations/flask_wizard

wizard

Source: examples/integrations/flask_wizard/machine.json

integrations/sqlalchemy_orders

order

Source: examples/integrations/sqlalchemy_orders/machine.json

recipes/apscheduler_timers

trial

Source: examples/recipes/apscheduler_timers/machine.json

recipes/circuit_breaker_retry

fetchQuote

Source: examples/recipes/circuit_breaker_retry/machine.json

recipes/feature_flag_rollout

rollout

Source: examples/recipes/feature_flag_rollout/machine.json

recipes/form_wizard

signup

Source: examples/recipes/form_wizard/machine.json

recipes/slot_filling

booking

Source: examples/recipes/slot_filling/machine.json

recipes/stripe_webhooks

subscription

Source: examples/recipes/stripe_webhooks/machine.json

recipes/task_queue_workers

shipment

Source: examples/recipes/task_queue_workers/machine.json

recipes/websocket_reconnect

socket

Source: examples/recipes/websocket_reconnect/machine.json

sync/basic

loginForm

Source: examples/sync/basic/class_approach/with_logic_loader/login_form/login_form.json

userAuth

Source: examples/sync/basic/class_approach/without_logic_loader/user_auth/user_auth.json

charCounter

Source: examples/sync/basic/functional_approach/with_logic_loader/character_counter/character_counter.json

stopwatch

Source: examples/sync/basic/functional_approach/without_logic_loader/stopwatch/stopwatch.json

sync/complex

fileUploader

Source: examples/sync/complex/class_approach/with_logic_loader/file_uploader/file_uploader.json

iotFirmwareUpdate

Source: examples/sync/complex/class_approach/without_logic_loader/iot_firmware_update/iot_firmware_update.json

streamingService

Source: examples/sync/complex/functional_approach/with_logic_loader/streaming_service/streaming_service.json

onlineQuiz

Source: examples/sync/complex/functional_approach/without_logic_loader/online_quiz/online_quiz.json

sync/easy

fanController

Source: examples/sync/easy/class_approach/with_logic_loader/fan_controller.json

toggleSwitch

Source: examples/sync/easy/class_approach/without_logic_loader/toggle_switch/toggle_switch.json

lightSwitch

Source: examples/sync/easy/functional_approach/with_logic_loader/light_switch/light_switch.json

vendingMachine

Source: examples/sync/easy/functional_approach/without_logic_loader/vending_machine/vending_machine.json

downloadManager

Source: examples/sync/easy/pythonic_approach/builder_style/download_manager.json

sync/features

checkout

Source: examples/sync/features/active_state_ids_and_value/active_state_ids_and_value_runner.py

editor

Source: examples/sync/features/history_shallow_deep/history_shallow_deep_runner.py

toggle

Source: examples/sync/features/pure_api/pure_api_runner.py

light

Source: examples/sync/features/subscribe/subscribe_runner.py

fetch

Source: examples/sync/features/tags_and_meta/tags_and_meta_runner.py

sync/intermediate

thermostat

Source: examples/sync/intermediate/class_approach/with_logic_loader/thermostat/thermostat.json

podcastPlayer

Source: examples/sync/intermediate/class_approach/without_logic_loader/podcast_player/podcast_player.json

docEditor

Source: examples/sync/intermediate/functional_approach/with_logic_loader/document_editor/document_editor.json

shoppingCart

Source: examples/sync/intermediate/functional_approach/without_logic_loader/shopping_cart/shopping_cart.json

sync/super_complex

Audio recording with websocket

Source: examples/sync/super_complex/class_approach/with_logic_loader/audio_recording_with_web_socket/audio_wizard.json

installWizard

Source: examples/sync/super_complex/class_approach/with_logic_loader/install_wizard/install_wizard.json

ECommerceFulfillment

Source: examples/sync/super_complex/functional_approach/with_logic_loader/ecommerce_fulfillment.json