So I thought about creating a tool that could help with this by closing the gap between the editor and the runtime. That’s why I created Wayflow.
The basic architecture is simple: you just need to create a graph (which is a JSON object) that the runtime knows how to run. The runtime doesn’t care where that graph is coming from, it just needs the right schema.
And with the help of the editor, you can create the graph, and then export it or directly save it on your backend in your database. And then when you want to execute it, you just hand it to the runtime.
The runtime can either stream the execution (which is useful for the editor), or give you the final result. How you execute the graph is up to you: through an API endpoint, a cron job, or any other way you want.
Wayflow comes with a number of built-in nodes like Input, Output, LLM, Image Generation, Array Operations, Conditional, ... and I spent a lot of time making sure they cover most of the common cases your app needs. But you can easily add your custom nodes that work for your specific app.
One of the main challenges (and one of the fun parts) was making it provider-neutral. So it’s not locked to a specific LLM provider. I did this by targeting the OpenAI-compatible API, which almost all frontier models support. The same thing for frameworks and libraries. It has zero dependencies and it’s framework-agnostic.
There are many things I didn’t cover here, like tool calling, converting full workflows into tools, human-in-the-loop, etc. You can read all about this in the docs.
One important thing I’d like to mention is that even though LLMs are a huge part of the workflows you create, they are completely optional. You can literally build any workflow (with the help of more custom nodes) with zero AI, for full deterministic execution.
You can try it in your browser (no signup, bring your own key) at https://wayflow.build. It’s also on npm (`npm install wayflow`), and the code is on GitHub (https://github.com/TahaSh/wayflow).
I hope this is something you’ll find helpful to use in your projects. Happy coding!