Pitch: Estou construindo um orquestrador de fluxos tipo n8n, mas em Elixir
Comecei a desenvolver o FusionFlow para entender na prática como funciona um engine de workflows.
A referência são ferramentas como n8n, Make e Zapier mas a implementação é em Elixir + Oban.
A motivação inicial foi estudar arquitetura construindo algo real.
Queria modelar coisas como:
- execução assíncrona
- controle de estado
- retries
- persistência
- idempotência
- filas e orquestração
A proposta é que ele seja no-code: criação de fluxos via interface visual, sem exigir programação do usuário final.
Ao mesmo tempo, quero permitir criação de nós customizados usando Python e JavaScript, para que desenvolvedores possam estender o sistema sem precisar escrever Elixir.
Estou pensando o projeto para ser:
- cluster-ready desde o início
- orientado a eventos
- tolerante a falhas por arquitetura
- preparado para rodar muitas execuções concorrentes
Também estou considerando incluir:
- colaboração em tempo real na edição dos fluxos
- agentes de IA como parte nativa do sistema (com estado e supervisão)
- versionamento interno de workflows (histórico, snapshot, rollback)
O projeto é Open Source (licença MIT) e o código está disponível no GitHub. Se quiserem dar uma olhada ou contribuir (mesmo que em estágio inicial), o repositório está aqui: https://github.com/pedrohfonseca81/fusion_flow
A dúvida é:
Faz sentido tentar evoluir isso para algo além de um projeto de estudo?
Vocês veem espaço para um orquestrador realmente nativo da BEAM, com esse tipo de proposta?
Ou hoje as soluções existentes já resolvem o problema de forma suficiente?
Queria ouvir a opinião de quem já trabalha com automação, Elixir ou sistemas distribuídos.