Caso 02 Rails · MongoDB · GraphQL
Digitalize: da fundação do backend à liderança técnica
Concebi e desenvolvi a fundação e a maior parte do backend de uma plataforma para digitalizar processos internos. Com a plataforma em uso, assumi a liderança técnica da equipe que continuou sua evolução.
Contexto
O Digitalize é uma plataforma configurável de processos de negócio desenvolvida na Oxeanbits. Os currículos registram seu uso por organizações como Periodize, New Apostolic Church (NAK), BASF e pela própria Oxeanbits.
Esse trabalho aconteceu dentro da Oxeanbits, para clientes da empresa. Não se trata de contratos pessoais diretos meus com cada organização.
Problema
Processos internos costumam viver em planilhas, e-mails e etapas manuais que consomem tempo e dinheiro. Digitalizá-los um a um, com um sistema sob medida para cada fluxo, não escala.
A plataforma precisava ser configurável: atender processos diferentes a partir da mesma base, e continuar sustentável à medida que novos usos aparecessem.
Minha responsabilidade
Concebi e desenvolvi a fundação e a maior parte do código do backend, em Ruby on Rails com MongoDB e GraphQL.
Com a plataforma em produção, passei a liderar tecnicamente a equipe responsável por sua continuidade: decisões de arquitetura, revisão de código, padrões técnicos e alinhamento das prioridades de evolução.
Decisão
A base combina Rails, para regras de negócio e organização do backend, com MongoDB e GraphQL.
Lendo essa escolha hoje, ela conversa com a natureza do produto. Em uma plataforma em que cada processo tem campos e etapas próprios, um modelo orientado a documentos acomoda estruturas que variam de um caso para outro. Com GraphQL, telas e integrações diferentes pedem exatamente os dados de que precisam a partir de um mesmo esquema.
Alternativas e trade-offs
Análise atual, escrita para este site. Não é um registro das alternativas avaliadas na época.
- Flexibilidade tem custo. Um modelo de dados que aceita variação exige validação explícita, convenções de esquema e testes; caso contrário, "configurável" vira "imprevisível".
- Um banco relacional com estruturas genéricas seria outra rota possível. Ele facilita consultas entre entidades, mas tende a deslocar a complexidade para tabelas de metadados e junções difíceis de manter.
- GraphQL concentra a descoberta de dados no cliente, o que pede atenção a autorização por campo e ao custo das consultas.
Implementação
O trabalho aconteceu em duas fases, com responsabilidades diferentes.
Fundação
Modelagem dos dados em MongoDB, esquema GraphQL e organização do backend Rails que sustenta a configuração dos processos.
Maior parte do backend
Desenvolvimento das regras de negócio e da API que as telas e integrações da plataforma consomem.
Liderança técnica
Direção técnica da equipe na evolução da plataforma: revisão de código, decisões de arquitetura e manutenção dos padrões que permitem várias pessoas trabalharem sobre a mesma base.
Resultado
A plataforma passou a atender organizações diferentes a partir da mesma fundação, e a equipe seguiu evoluindo o produto sobre ela.
Métricas internas do repositório me registram como principal contribuidor individual em pull requests integrados, commits e alterações de código. São indicadores de atividade, não medidas de qualidade ou de impacto de negócio.