TypeScript como contrato
Tipos estritos, opcionais exatos e acesso indexado defensivo bloqueiam ambiguidade antes da build.
BUILD FILE. 001 / SELF-DIAGNOSTIC
A estética abre a conversa. Este dossiê mostra o que existe abaixo dela: renderização, orçamento, degradação, segurança e contratos de entrega.
SYSTEM LENSES. 00 / PRODUTO → CÓDIGO
Produto, arquitetura de sistemas e IA aplicada são ângulos da mesma prática: transformar uma pergunta em algo que possa ser usado e avaliado.
PRODUCT ENGINEERING / ACTIVE LENS
O código começa no problema, atravessa uma vertical completa e volta como sinal de produto.
hypothesis -> vertical_slice -> signal -> iterationSINAL OBSERVADO07 produtos / mobile, operação, fintech, automação e jogos
DELIVERY TRACE. 01 / REQUEST → EVIDENCE
A rota entrega semântica e navegação antes do JavaScript. Movimento e ferramentas chegam como aprimoramento progressivo com fronteiras pequenas.
Metadados, conteúdo semântico e JSON-LD nascem junto da rota, sem depender da hidratação.
Vinext e Vite resolvem páginas, estilos e módulos antes da publicação; o sanitizador inspeciona a saída.
CSS, JavaScript e fonte recebem nomes imutáveis; mídia responsiva mantém cache próprio e dimensões explícitas.
Nove ilhas pequenas adicionam busca, movimento e controles sem tomar posse do conteúdo principal.
semantic route → sanitized build → immutable assets → bounded enhancementPERFORMANCE BUDGET. 02 / COMPLEXIDADE COM LIMITE
Valores medidos no último artefato local. Os tetos vivem no código e fazem a verificação falhar quando uma mudança ultrapassa o combinado.
BUILD SNAPSHOT / SERVER 1330.9 KB / SEM WEBASSEMBLY
CLIENT ISLANDS. 03 / O QUE HIDRATA — E POR QUÊ
Cada ilha tem uma responsabilidade estreita e um caminho sem JavaScript. O fallback é parte do desenho, não uma mensagem de erro.
| # | MÓDULO | RESPONSABILIDADE | SEM JAVASCRIPT |
|---|---|---|---|
| 01 | SignalField | campo generativo em canvas | composição visual estática |
| 02 | ParticleLogo | marca reativa em partículas | wordmark estático e legível |
| 03 | LabInterface | progresso, TOC e spotlight | âncoras e leitura linear |
| 04 | CommandPalette | busca e salto por teclado | navegação e links nativos |
| 05 | EngineeringConsole | lentes técnicas em abas | primeira lente legível |
| 06 | ProjectLens | filtro por capacidade | catálogo completo |
| 07 | BlueprintToggle | inspeção visual da grade | interface editorial padrão |
| 08 | CopyLink | cópia contextual de URL | URL canônica navegável |
| 09 | PrintBrief | atalho para impressão/PDF | impressão nativa do navegador |
ADAPTIVE UI. 04 / O AMBIENTE TAMBÉM É INPUT
Preferências do sistema alteram apresentação e movimento sem exigir um menu paralelo. A informação continua disponível em todos os modos.
prefers-reduced-motionupdate: slowprefers-reduced-transparencyprefers-contrast: moreforced-colors: activeprintTHREAT MODEL. 05 / MENOR SUPERFÍCIE ÚTIL
O portfólio não precisa de câmera, cookies ou scripts de terceiros. As políticas de resposta transformam essa ausência em uma fronteira verificável.
CSP fecha arquivos na própria origem e bloqueia atributos executáveis; o bootstrap inline exigido pelo runtime permanece como custo documentado.
POLICY / ENFORCEDFrame ancestors, frame source e X-Frame-Options impedem uso silencioso da interface em terceiros.
POLICY / ENFORCEDCâmera, microfone, geolocalização, pagamento, USB e browsing topics permanecem desativados.
POLICY / ENFORCEDSem cookies, analytics, fontes remotas, pixels ou conexões de fundo no portfólio institucional.
POLICY / ENFORCEDKNOWN LIMIT / SCRIPT-SRC MANTÉM UNSAFE-INLINE PARA O BOOTSTRAP DO RUNTIME / SCRIPT-SRC-ATTR NONE
DECISION LEDGER. 06 / CONTEXTO → ESCOLHA → CUSTO
Quatro ADRs curtos registram por que a implementação tomou este caminho, o que ficou de fora e qual evidência mantém cada escolha honesta.
O portfólio precisava combinar narrativa longa, descoberta por busca e ferramentas interativas sem transformar cada página em uma aplicação cliente.
STATIC HTML / 09 ISLANDS / NO-JS FALLBACKSPartículas e transições ajudam a comunicar laboratório e tecnologia, mas podem competir com leitura, bateria, CPU e preferências do visitante.
BOUNDED CANVAS / DPR CAP / ADAPTIVE MOTIONCases densos precisam revelar detalhes progressivamente sem esconder conteúdo de teclado, tecnologia assistiva ou ambientes sem hidratação.
NATIVE DISCLOSURE / SEMANTIC METER / KEYBOARD PATHRecrutadores, leitores e crawlers precisam verificar autoria, projetos e qualidade, enquanto um portfólio institucional não precisa vigiar comportamento.
PUBLIC CONTRACTS / 0 TRACKERS / SAME-ORIGIN CSPQUALITY PIPELINE. 07 / FAIL THE BUILD
A revisão vai do dado editorial à resposta HTTP. Cada etapa reduz uma classe diferente de surpresa antes de a versão ser considerada pronta.
schema / content / SEO / docsinstância, dados e descoberta sincronizados
PASSTypeScript / ESLint / contrastezero erro e zero aviso
PASSfidelidade / hashes / rollbackderivados íntegros e recuperáveis
PASSVinext / sanitizer / budgetsartefato limpo e dentro do teto
PASSHTTP / semântica / headersrotas e políticas verificadas
PASSlinks públicos / audit npmdependências e portas conferidas
PASSCONTRACT BOARD. 08 / ÚLTIMO CORTE
Tipos estritos, opcionais exatos e acesso indexado defensivo bloqueiam ambiguidade antes da build.
ESLint e regras JSX/ARIA falham tanto em erro quanto em aviso; acessibilidade não fica para o fim.
Os pares informativos auditados passam WCAG AA, com adaptações próprias para contraste e cores forçadas.
Nenhum analytics, cookie, fonte remota ou conexão de fundo entra na experiência institucional.
Nove módulos próprios ficam isolados e abaixo do orçamento de 28 KB; conteúdo útil chega antes deles.
Sitemap, JSON-LD, RSS, canonicals e JSON Schema conectam páginas, cases, escrita, autoria e contrato.
BUILD HISTORY. 09 / QUATRO CORTES
Um release log curto da própria interface. Cada corte adicionou uma capacidade verificável sem apagar a decisão que veio antes.
Paleta, Sora, frasco e linguagem de laboratório ganharam uma composição editorial responsiva.
TOKENS / ICONS / STATIC ROUTESHome, Experimentos e Zero foram separados; blog, sitemap, RSS e dados estruturados abriram descoberta.
MULTI-PAGE / SEO / WRITINGCases ganharam mapas, trade-offs, traces, falhas e briefing imprimível para leitura de recrutador.
07 CASES / BRIEF / COMMANDSBudgets reais, incident drills, superfícies legíveis por máquina e o próprio build ficaram inspecionáveis.
QUALITY / RESILIENCE / JSONBUILD FILE / OPEN FOR INSPECTION