a stack

Cada ferramenta aqui mereceu o seu lugar.

Não andamos atrás de ferramentas só por andar. Este é o kit a que recorremos quando algo tem de ir para produção, escalar e continuar a ser um prazer de manter um ano depois, escolhido porque torna as coisas que importam mais difíceis de fazer mal.

01a linguagem

TypeScript

Cada linha que lançamos é tipada. Os tipos são os testes mais baratos que alguma vez vais escrever: apanham a renomeação que partiu tudo, o campo em falta e o estado impossível antes de um utilizador o fazer. Numa base de código pensada para durar mais do que a sua primeira versão, essa rede de segurança é a diferença entre mudar com confiança e adivinhar com cuidado.

Lançado em 89 projetos
typescriptlang.org
02a interface

React

O React é a nossa forma de pensar em interfaces: peças pequenas e honestas que se compõem em algo maior e continuam legíveis à medida que crescem. É a maneira mais testada em combate de construir uma UI na web, com um ecossistema e um mercado de talento que nenhuma alternativa iguala. Quando um produto tem de continuar a evoluir durante anos, essa longevidade vale muito.

Lançado em 71 projetos
react.dev
03a framework

Next.js

O Next.js é a nossa escolha por defeito para qualquer coisa a sério. Renderização no servidor para velocidade e posicionamento nas pesquisas, um router baseado em ficheiros que escala para além de uma centena de rotas sem virar esparguete, e uma única base de código que vai da página de marketing ao dashboard por trás do login. Conhecemo-lo a fundo, ao ponto de o levar até aos seus limites.

Lançado em 63 projetos
nextjs.org
04o runtime

Node.js

Uma só linguagem em toda a stack. O mesmo TypeScript que corre no browser corre no servidor, por isso não há troca de contexto, não há uma segunda equipa, nem lógica escrita duas vezes em dois dialetos. Para uma equipa pequena que entrega produtos completos, esse modelo mental único é uma vantagem silenciosa.

Lançado em 31 projetos
nodejs.org
05velocidade pura

Go

Quando um serviço tem de ser rápido e aguentar milhares de pedidos ao mesmo tempo, recorremos a Go. Compila para um único binário pequeno sem runtime para vigiar, o seu modelo de concorrência torna o trabalho em paralelo natural, e mantém-se legível durante anos porque a linguagem se recusa a ser esperta. É o que confiamos aos backends que carregam em silêncio o peso real.

Lançado em 6 projetos
go.dev
06inteligência

AI Integration

Construímos com grandes modelos de linguagem da mesma forma que construímos tudo o resto: com intenção. A parte difícil não está em chamar uma API, está em saber onde a inteligência ajuda mesmo e onde só acrescenta latência e risco. Já lançámos funcionalidades reais na plataforma da OpenAI e corremos modelos alojados através do Replicate, e somos sempre francos com os clientes sobre a fronteira entre o útil e o meramente vistoso.

Lançado em 14 projetos
platform.openai.com
07a camada de dados

PostgreSQL

Quando os dados têm de estar corretos, recorremos ao Postgres. Décadas de robustez, transações a sério, colunas JSON quando as queres e esquemas rígidos quando precisas deles, e um ecossistema de extensões que faz, sem alarido, o trabalho de três outros serviços. É a base de dados em que confiamos as coisas que mais importam: os teus clientes e o teu dinheiro.

Lançado em 21 projetos
postgresql.org
08sem servidor

SQLite

Nem todos os produtos precisam de um servidor de base de dados. O SQLite é uma base de dados relacional completa num único ficheiro, rápida e sem dependências, e é, em silêncio, a base de dados mais implementada do mundo. Recorremos a ela quando os dados devem viver perto do utilizador: numa aplicação de ambiente de trabalho, na edge, ou num produto local-first que continua a funcionar offline.

Lançado em 16 projetos
sqlite.org
09o estilo

Tailwind CSS

O Tailwind mantém o estilo honesto. As decisões de design vivem ao lado do markup que afetam, o build só inclui as classes que usas de facto, e uma equipa pequena e sénior mantém-se consistente em cem componentes sem uma folha de estilos gigantesca a sair de sincronia. Este site é feito assim, de cima a baixo.

Lançado em 80 projetos
tailwindcss.com
10a plataforma

Vercel

Fazemos deploy na Vercel porque lançar devia ser aborrecido. Cada push ganha o seu próprio URL de preview, cada release reverte-se com um único clique, e uma rede edge global põe o teu site perto dos teus utilizadores sem termos de alugar servidores para andar a tomar conta. Permite a um pequeno estúdio funcionar com a fiabilidade de um muito maior.

Lançado em 42 projetos
vercel.com
11a cloud

AWS

Quando um projeto cresce para além das opções convenientes por defeito, é para a AWS que vai. Armazenamento de objetos que nunca se enche, filas e funções que escalam até zero e de volta, e a mesma infraestrutura em que confiam as maiores empresas do mundo. Recorremos a ela quando a escala, o alcance ou a conformidade fazem dela a ferramenta certa, e não o reflexo automático.

Lançado em 18 projetos
Live Memories+17 outros
aws.amazon.com
12a edge

Cloudflare

A Cloudflare fica à frente das coisas que precisamos de ter rápidas e seguras. Uma CDN global, DNS que resolve em milissegundos, e uma camada de segurança que absorve o tráfego que nunca queres que chegue à tua origem. Tanto para um site de marketing como para uma API, é o desempenho e a proteção mais baratos que há.

Lançado em 24 projetos
cloudflare.com
13no telemóvel

React Native

Quando um produto pertence ao ecrã inicial, o React Native deixa-nos construí-lo com a mesma cabeça do React e lançá-lo para iOS e Android a partir de uma só base de código. Sem protótipo descartável e sem uma segunda equipa numa segunda linguagem, apenas uma app a sério que partilha lógica com o produto web ao seu lado.

Lançado em 8 projetos
OptimoPockly+6 outros
reactnative.dev
14a nova aposta

TanStack Start

TanStack Start é a aposta moderna que já começámos a lançar. Encaminhamento com tipos, carregamento de dados de primeira classe e renderização da página completa no servidor, criado por quem está por trás das bibliotecas de queries e de routing em que todo o ecossistema React já se apoia. Recorremos a ele em projetos novos onde queremos o router e a camada de dados com tipos de ponta a ponta.

Lançado em 4 projetos
tanstack.com
15conteúdo, depressa

Astro

Para sites centrados em conteúdo, onde a velocidade é o produto, o Astro é difícil de bater. Por defeito quase não envia JavaScript, por isso um site de marketing ou um conjunto de documentação carrega instantaneamente mesmo num telemóvel cansado, e só insere uma ilha interativa onde uma delas justifica o seu lugar. Construímos o BIMFab assim, e pontua nos noventa e altos em cada análise do Lighthouse.

Lançado em 6 projetos
BIMFab+5 outros
astro.build
16em três dimensões

Three.js

3D em tempo real no browser, escrito à mão em GLSL e WebGL. Não há aqui vídeo nem nada pré-renderizado, apenas matemática a correr na tua placa gráfica sessenta vezes por segundo. Tudo o que se move neste site, as nuvens, o globo, cada badge lá em cima, foi feito assim, porque uma coisa feita de luz sente-se diferente de uma coisa feita de pixels.

Lançado em 9 projetos
Cada forma em movimento neste site. Vê como são feitas.threejs.org
17os dados, desenhados

D3.js

Quando um gráfico feito de prateleira não chega, o D3 deixa-nos desenhar os dados ao milímetro. É o motor por trás da maior parte das visualizações de dados que já admiraste na imprensa financeira, com controlo sobre cada eixo, transição e pixel. Recorremos a ele quando a história escondida nos números merece mais do que um gráfico de barras por defeito.

Lançado em 5 projetos
d3js.org
18no ambiente de trabalho

Electron

Há ferramentas que pertencem ao ambiente de trabalho, com o sistema de ficheiros, menus nativos e um ícone na dock. O Electron deixa-nos lançar aí sobre a mesma stack web, para que um produto possa abranger browser e ambiente de trabalho sem uma equipa nativa à parte. Já construímos e lançámos uma app Electron a sério, não uma página web disfarçada.

Lançado em 4 projetos
Optimo+3 outros
electronjs.org
o essencial

As ferramentas valem o que valem as mãos que as seguram.

Uma stack não constrói um produto. O critério é que constrói: saber de que ferramenta o trabalho precisa de facto, e quando a escolha aborrecida e comprovada é a certa. Este é o kit em torno do qual ganhámos a nossa experiência, e é assim que construímos trabalho que importa.