Pular para o conteúdo
veidjz

Engenharia

Este site é um meta-portfólio: as mesmas decisões de engenharia que uso em produto aparecem aqui, em escala menor e pública. O objetivo é mostrar stack, qualidade e limites, não inventar projetos.

Stack

Monorepo com pnpm: Next.js (App Router) em apps/web e design system em packages/ui. TypeScript em todo o workspace. CSS com tokens e CSS Modules; tema light e dark via data-theme, com preferência do sistema e toggle.

  • React e TypeScript no site e no design system
  • Sem Turborepo no MVP: workspaces pnpm bastam nesta escala
  • Deploy do site e do Storybook em serviços Railway separados

Design system

Componentes nomeados em @veidjz/ui (Heading, Text, Link, Layout, Button e tema). Stories ficam ao lado do componente. O catálogo público está em ui.veidjz.com.

  • Tokens alinhados à identidade visual (vinho, light suave e dark)
  • Testes de componente com Vitest e Testing Library
  • Baseline visual Playwright contra o Storybook estático no CI

Qualidade

A qualidade entra no caminho do merge, não só no discurso. O comando pnpm quality cobre lint, typecheck e testes unitários; Playwright cobre smoke do site e snapshots do DS.

  • Biome (format + lint) e ESLint com jsx-a11y
  • Typecheck com tsc em cada pacote
  • E2E de rotas MVP com Playwright e axe (WCAG 2 A/AA) no CI
  • Lefthook em pre-commit, commit-msg e pre-push

Acessibilidade

Semântica primeiro; ARIA só quando necessário. Light e dark precisam permanecer legíveis. O CI bloqueia violações axe nas páginas do site.

  • Lint de a11y no código (Biome + eslint-plugin-jsx-a11y)
  • Smoke axe nas rotas MVP e nos casos
  • Toggle de tema com persistência e respeito a prefers-color-scheme

Entrega

GitHub Actions roda qualidade, E2E/axe e testes visuais. O Railway publica veidjz.com (site) e ui.veidjz.com (Storybook) a partir do mesmo repositório.

  • Uma PR aberta por vez; commits atômicos
  • SEO com metadataBase, Open Graph, Twitter, robots e sitemap
  • OG image e ícone dedicados (sem retrato nas shares)

Conteúdo e limites

Copy alinhada ao perfil profissional aprovado. Só fatos e histórias publicáveis.

  • Sem métricas privadas nem telas internas
  • Sem inventar projetos ou repositórios
  • Experiência com IA como contexto de produto, não como AI Engineer

Voltar ao início