Voltar para o site
Arquitetura e tecnologia

Decisões técnicas que sustentam o seu produto.

Decisões tomadas no início influenciam manutenção, segurança e evolução. Estas são as tecnologias que operamos em produção — e o critério por trás de cada escolha.

19
Tecnologias em produção
8
Camadas cobertas
Código claro
Para evoluir depois
Integrações
Escolhidas pelo contexto
Camada por camada

Frontend & Web

Interfaces que carregam rápido em qualquer dispositivo e se mantêm legíveis para quem for evoluí-las depois.

Next.js

Framework React full-stack com App Router, Server Components e streaming nativos.

Por que usamos

Permite reunir páginas, componentes de servidor e rotas de aplicação no mesmo projeto quando isso simplifica a manutenção.

React

Biblioteca declarativa de UI baseada em componentes com Virtual DOM e Concurrent Mode.

Por que usamos

Componentes reutilizáveis ajudam a manter comportamento e acabamento consistentes entre telas.

TypeScript

Superset fortemente tipado do JavaScript com análise estática e inferência avançada.

Por que usamos

A verificação estática encontra incompatibilidades antes do deploy e documenta os contratos do código.

Tailwind CSS

Framework CSS utility-first com design tokens nativos via variáveis CSS (v4).

Por que usamos

Utilitários e variáveis CSS permitem aplicar o design system sem repetir folhas de estilo por componente.

Mobile

Aplicativos nativos para iOS e Android a partir de uma base de código única, sem duplicar equipe nem manutenção.

React Native

Framework para apps nativos iOS e Android com componentes React e bridge nativa.

Por que usamos

Permite compartilhar parte da modelagem e da experiência React entre web e aplicativo.

Expo

Plataforma gerenciada para React Native com SDK unificado, EAS Build e OTA updates.

Por que usamos

Organiza builds e distribuição de aplicativos React Native com um fluxo documentado.

NativeWind

Tailwind CSS para React Native via StyleSheet otimizado.

Por que usamos

Mantém uma linguagem de estilos próxima da usada nos projetos web.

Backend & APIs

APIs tipadas de ponta a ponta: o contrato entre servidor e interface é verificado em tempo de compilação, não em produção.

Hono

Framework web compacto compatível com diferentes runtimes JavaScript.

Por que usamos

Útil para APIs pequenas quando portabilidade entre runtimes é mais importante que um framework completo.

Node.js

Runtime JavaScript assíncrono de alta performance para serviços de background e integrações.

Por que usamos

Adequado para integrações, scripts e serviços que precisam do ecossistema JavaScript.

Banco de Dados

Dados com integridade relacional e acesso tipado, com migrações versionadas — sem alteração manual em banco de produção.

Supabase

PostgreSQL gerenciado com Auth, Storage, Realtime e Edge Functions integrados.

Por que usamos

Reúne PostgreSQL gerenciado e serviços de autenticação, armazenamento e eventos quando o escopo precisa deles.

Drizzle ORM

ORM TypeScript com API próxima de SQL e suporte a migrations.

Por que usamos

Mantém esquema e consultas próximos do TypeScript sem esconder o funcionamento do SQL.

CMS

Conteúdo editável pelo cliente sem depender de desenvolvedor, com estrutura versionada junto do código.

Sanity

Headless CMS com Content Lake, Portable Text e Studio customizável em React.

Por que usamos

É uma opção para projetos que realmente precisam de edição de conteúdo por painel.

Pagamentos

Cobrança online com padrão de segurança PCI delegado ao provedor: dados de cartão nunca transitam pela aplicação.

Stripe

Plataforma completa de pagamentos com Checkout, Billing, Connect e Radar anti-fraude.

Por que usamos

Oferece fluxos prontos para pagamentos, assinaturas e plataformas quando o projeto precisa deles.

DevOps & Deploy

Publicação automatizada com verificação antes de cada entrega e ambiente reproduzível — o que roda aqui roda em produção.

Vercel

Plataforma de deploy Edge com CDN global, preview branches e Analytics integrado.

Por que usamos

Facilita previews por alteração e publicação de aplicações compatíveis com a plataforma.

TurboRepo

Orquestrador de build com cache incremental e paralelização automática de tarefas.

Por que usamos

Reaproveita o que não mudou entre entregas e evita repetir um build completo sem necessidade.

Docker

Containerização de workloads com imagens otimizadas e compose para ambientes locais.

Por que usamos

Ajuda a reproduzir serviços locais com versões e configurações declaradas.

GitHub Actions

CI/CD nativo com matrix builds, cache de dependências e deploy automatizado.

Por que usamos

Executa verificações automatizadas definidas no próprio repositório.

Design & UI System

Sistema de design com componentes acessíveis por padrão, garantindo consistência visual à medida que o produto cresce.

shadcn/ui

Biblioteca de componentes React acessíveis construídos sobre Radix UI e Tailwind CSS.

Por que usamos

Componentes ficam no código do projeto e podem ser adaptados sem importar uma camada visual fechada.

Figma

Ferramenta de design colaborativo com componentes, variables e prototipagem avançada.

Por que usamos

Variáveis, componentes e inspeção ajudam a registrar decisões de interface antes da implementação.