Projeto autoral · produto SaaS
FreeFlow
Gestão de projetos que conecta tarefas, dependências, horas e finanças para pequenas equipes e consultorias.

Problema: entrega e finanças em ferramentas separadas
Profissionais independentes e pequenas equipes costumam acompanhar tarefas em uma ferramenta e horas, orçamento e custo em planilhas. Fica difícil saber se um projeto atrasado também está ficando caro.
O FreeFlow organiza projetos por modo (desenvolvimento, suporte ou geral), com quadro Kanban, fluxo visual de dependências, checklists, registro de horas, ciclos e um financeiro gerencial por projeto.
Decisão: monorepo com regras de domínio compartilhadas
O projeto é um monorepo Bun com a interface React/Vite, a API Elysia e pacotes compartilhados para schema do banco (Drizzle), contratos da API e regras de domínio puras. A mesma regra de negócio vale no navegador e no servidor, e os tipos atravessam as duas pontas.
As decisões de arquitetura estão registradas em ADRs, como a separação entre financeiro gerencial e cobrança real e a topologia de deploy.

Equipes, acesso e colaboração
A API organiza os dados por workspace, com equipes e controle de acesso por papel. A autenticação usa Better Auth com sessão em cookie HttpOnly e limite de requisições.
Comentários com menções geram notificações, e as atualizações chegam à interface por Server-Sent Events. Uma integração MCP permite que agentes de código consultem e atualizem tarefas do projeto.

Qualidade e entrega
O CI no GitHub Actions bloqueia a integração em caso de falha de lint, tipos, migrações ou testes, e também gera a imagem Docker da API. Os testes cobrem interface (Vitest e Testing Library), API e integração com PostgreSQL, incluindo uma matriz de permissões.
O frontend roda na Vercel e a API na Railway, com o banco em rede privada. O deploy de produção tem smoke test após a publicação e caminho de rollback.
Desenvolvimento em parceria com IA
Desenvolvi o FreeFlow sozinho, trabalhando com Claude Code e Codex. Eu defino o produto, o escopo de cada sprint, as decisões de arquitetura e os critérios de aceite; os agentes implementam a partir desses planos, e eu reviso e integro cada entrega.
O processo é documentado no repositório: ADRs, planos de sprint com Definition of Done e um arquivo de regras para os agentes. Na última sprint, três sessões do Claude Code trabalharam em paralelo, cada uma em seu worktree, com arquivos sob responsabilidade de cada frente, migrações em fila e integração só por pull request. O CI barra o que não passa em lint, tipos e testes, independentemente de quem escreveu o código.
Situação atual
O núcleo funciona ponta a ponta em produção. Sem cadastro, o app abre em modo demonstração: dá para criar projetos que ficam salvos no navegador ou explorar um projeto de exemplo com quadro, dependências e painel financeiro. Contas, equipes e sincronização usam a API, em acesso antecipado.