Makley Software Engineer
Currículo
Performance & DevOps 2026

makley.com

Este portfólio — Astro, TypeScript e arquitetura em camadas, com praticamente zero JavaScript no cliente.

Meu papel
Design & Desenvolvimento
Contexto
Projeto pessoal
Categoria
Performance & DevOps
Representação abstrata da arquitetura em camadas deste portfólio.

Portfólio construído do zero com Astro e TypeScript, usando DDD, princípios SOLID e Atomic Design. Nenhum framework de UI é enviado ao navegador: toda a interatividade é feita com ilhas de TypeScript puro medidas em kilobytes.

Resultados

0 KB
de framework de UI Nenhum runtime React, Vue ou Svelte enviado ao navegador
WCAG AA
de contraste Verificado nos temas claro e escuro
100%
estático Pré-renderizado no build, servido direto da CDN

O problema

A maioria dos portfólios de desenvolvedor cai em um de dois extremos: ou é bonito e carrega centenas de kilobytes de JavaScript para renderizar texto estático, ou é rápido e não transmite nenhum cuidado com design. Um portfólio é, ele próprio, uma amostra de trabalho — se ele contradiz o que o currículo afirma sobre performance e acessibilidade, trabalha contra o próprio dono.

A solução

Astro gerando HTML estático, com interatividade implementada em ilhas de TypeScript puro — sem React, sem hidratação. Conteúdo modelado como domínio de verdade (entidades, value objects e repositórios), validado por schemas em tempo de build, e componentes organizados em Atomic Design. Transições entre páginas usam a View Transitions API nativa do CSS, sem roteador no cliente.

Principais desafios

  1. Entregar filtros, paleta de comandos, alternância de tema e animações de scroll mantendo o JavaScript enviado ao cliente na casa dos poucos kilobytes.

  2. Aplicar DDD em um site estático sem cair no excesso de abstração — cada camada precisa justificar a própria existência.

  3. Garantir que nenhuma animação prejudique a acessibilidade, respeitando prefers-reduced-motion e mantendo o conteúdo legível com JavaScript desativado.

  4. Suportar tema claro e escuro com contraste em conformidade com a WCAG em ambos, sem duplicar folhas de estilo.

Tecnologias utilizadas

  • Astro
  • TypeScript
  • CSS moderno
  • Atomic Design
  • DDD
  • Schema.org
  • View Transitions API

Decisões de arquitetura

O código é dividido em quatro camadas com dependências apontando sempre para dentro: domain (entidades e regras, sem nenhuma dependência de framework), application (casos de uso), infrastructure (adaptadores sobre as Content Collections do Astro) e presentation (componentes em Atomic Design).

Na prática, isso significa que trocar a origem do conteúdo — de arquivos locais para um CMS ou uma API — exige escrever um novo adaptador e nada mais. Nenhum caso de uso, página ou componente precisa mudar.

Performance como restrição de projeto

A regra que guiou o desenvolvimento foi simples: nenhuma funcionalidade justifica enviar um framework de UI para o navegador. Filtros de projeto, paleta de comandos e alternância de tema são resolvidos com TypeScript puro, delegação de eventos e CSS — o que mantém o custo de execução no cliente próximo de zero.

navegar abrir esc fechar