
Stop Writing Step Functions by Hand
If you've worked with Step Functions at any real scale, you know the concept is great — orchestrate services, handle retries, build resilient workflows. The problem has always been the authoring experience . You'd start with a CDK stack. Chain some constructs together with .next().next().next() . Scatter raw JSONPath strings everywhere. Hope that $.orderResult.Payload.body.items[0].price actually resolves to something when it hits production. When it doesn't? Enjoy your States.Runtime error in CloudWatch at 2am with zero useful context about which path expression is wrong. AWS introduced JSONata last year to replace JSONPath, and it's a massive improvement. But even with JSONata, you're still writing ASL by hand — still managing Arguments , Assign , Output fields, still wiring {% $states.input.whatever %} expressions throughout a JSON document that grows to hundreds of lines for any non-trivial workflow. I kept thinking: this is just a program. Control flow, data transformation, error
Continue reading on Dev.to
Opens in a new tab



