
Status
ConcluídoCriado em
Visualizações
Tecnologias
Tags
Meu Portifólio CMS com Agentes de IA
Portfólio bilingue de alta performance com Next.js 16, governança taxonômica por agentes autônomos e isolamento Zero-Trust.
Contexto e Desafio de Engenharia
Plataformas tradicionais de gestão de portfólio e Sistemas de Gerenciamento de Conteúdo (CMS) costumam sofrer com arquiteturas estáticas acopladas, redundância taxonômica crônica (tags duplicadas ou semânticas idênticas criadas de forma desordenada) e falta de resiliência no processamento assíncrono de dados.
O desafio no desenvolvimento deste ecossistema bilingue de altíssimo desempenho foi unificar o gerenciamento de conteúdo dinâmico (projetos, artigos técnicos, currículos estruturados) a barramentos de Inteligência Artificial Generativa e esteiras de hiperautomação. Para tal, era imperativo sanar problemas críticos de engenharia de software: isolamento rigoroso de sessões administrativas, sincronização de cookies no Edge, latência de renderização de gráficos estruturados complexos, gerenciamento de estado de cache na borda e evitação de duplicação taxonômica por agentes de IA operando de forma concorrente em bancos relacionais.
Engenharia da Arquitetura e Divisão de Camadas
1. Apresentação, Rendering e Animações de Baixa CPU (Client-side & Edge)
- Core Framework: Construído sobre o Next.js 16 utilizando React 19 Server Components e o modelo de App Router. A interface apresenta uma arquitetura bilingue nativa governada pelo
next-intldiretamente no nível de roteamento. O estado do lado do cliente é otimizado através do TanStack Query para gerenciar estados complexos de servidor e mutações assíncronas de dados. - Design System & Canvas 2D: A estética ultra-premium implementa variáveis HSL customizadas sob o Tailwind CSS 4 e animações fluidas via Framer Motion. O plano de fundo generativo imersivo (FlowingLights) é executado diretamente em um elemento HTML5 Canvas 2D. O algoritmo calcula trajetórias de partículas ao longo de curvas cúbicas de Bezier tridimensionais (
getBezierXY), utilizando um loop otimizado porrequestAnimationFramecom decaimento alfa programático e filtros de ruído SVG para mitigar custos de CPU, entregando uma excelente métrica de Largest Contentful Paint (LCP). - LRE (Localization & Rendering Engine): Incorporação de um componente customizado
MermaidRendererpara processar diagramas de arquitetura de software complexos sob demanda. O renderizador utiliza portais do React (createPortal) para visualização imersiva em tela cheia, controle de zoom físico dinâmico, pan bidimensional via mouse/teclado com manipulação doviewBoxdo SVG e exportação em fluxo binário nativo para downloads.
2. Persistência Baseada em RLS e Modelagem Relacional (Supabase & PostgreSQL)
- Modelagem de Internacionalização: A persistência é estruturada sob um banco PostgreSQL gerenciado no Supabase, utilizando modelagem relacional normalizada com isolamento de metadados em tabelas satélites de internacionalização (
project_translations,article_translations,category_translations,tag_translations) vinculadas por restrições de integridade referencialON DELETE CASCADE. - Zero-Trust Data Isolation: A governança de dados adota Row-Level Security (RLS) habilitada nativamente em todas as tabelas (como
profiles,projectsearticles). A segurança é aplicada através de políticas SQL estritas que distinguem o acesso público anônimo das operações transacionais de mutação restritas a perfis autenticados (TO authenticated USING (auth.uid() = author_id)). - Mutação e Atomicidade: Transações de concorrência de leitura e escrita (como incremento de acessos globais) são delegadas a rotinas armazenadas no banco (RPCs) como
increment_project_viewseincrement_article_views, garantindo consistência atômica.
3. Camada de IA & Automação Distribuída (LangChain & n8n)
- Motor Cognitivo: A esteira de inteligência artificial é orquestrada na API Route administrativamente protegida
/api/admin/ai/route.tsintegrada ao módulo core de agentes autônomossrc/lib/ai/agent.ts. O ecossistema implementa um agente de tomadas de decisão cognitivas baseada em LangChain (ChatOpenAI gpt-4o-mini). Este agente é dotado de ferramentas programáticas especializadas (create_technology,create_tag) tipadas via Zod para inspecionar, criar e traduzir dinamicamente taxonomias no banco de dados. - Loop de Execução Autônomo: O fluxo de raciocínio é gerenciado por um loop de execução com tolerância de até 10 iterações assíncronas para chamadas de ferramentas concorrentes (
while (response.tool_calls ... iterations < 10)), consolidando os resultados em um JSON estruturado estrito. Integrações transacionais orientadas a eventos (como o formulário de contato do usuário final) são desacopladas da camada principal do Next.js via chamadas assíncronas assinaladas a webhooks distribuídos no n8n (WEBHOOK_CONTACT_URL), garantindo resiliência operacional e escalabilidade elástica.
Destaques Técnicos e Desafios Superados
- Taxonomia Autônoma via Agente de IA (
runSuggestTagsAgent): Desenvolvimento de um mecanismo de prevenção de duplicação taxonômica. Antes de gerar novas associações para um projeto ou artigo, o agente LangChain consome um dump contextualizado do banco de dados em tempo real. Se uma tecnologia ou tag relevante já possuir um slug cadastrado no Supabase, o agente adota o ID correspondente. Caso contrário, invoca as ferramentas em segundo plano para realizar a inserção atômica, gerando simultaneamente as traduções correspondentes na tabelatag_translations. - Resiliência do Estado de Caching no Next.js (ISR): Implementação de cache com granularidade fina através da API nativa
unstable_cache. Consultas de leitura de alto custo (como as junções relacionais) são retidas em memória sob tags declarativas ('projects','articles','resume_data'). A invalidação de cache opera em tempo real e de forma segura por meio da API Route/api/revalidate/route.ts, que recebe requisições autenticadas pós-mutações no painel administrativo e aciona o métodorevalidateTag(tag), garantindo propagação instantânea de dados com zero desperdício de requisições ao PostgreSQL. - Visualizador Mermaid com Interatividade Avançada (Portals & Viewport Math): Criação de um visualizador interativo complexo (
MermaidRenderer) capaz de higienizar a sintaxe de diagramas de arquitetura, renderizar SVGs vetoriais dinamicamente no lado do cliente e encapsulá-los em um contêiner customizado com suporte a zoom in/out inercial via transformações matemáticas (scaledWidth/scaledHeight). A UI resolve quebras de layout usando Portais React, o que isola o fluxo HTML original da viewport global e evita oscilações de layout (Cumulative Layout Shift - CLS). - Gerenciador de Galeria com Drag-and-Drop Inercial & Upload Concorrente: Desenvolvimento do componente
GalleryManagerintegrando as bibliotecas@dnd-kit/coree@dnd-kit/sortable. O gerenciador oferece ordenação visual e por teclado acessível baseada em sensores físicos (PointerSensor,KeyboardSensor), atualizando o campo sequencialdisplay_orderno banco por meio de mutações atômicas estruturadas. O fluxo é integrado a um barramento de upload paralelo com validação de MIME-type e restrição de arquivos na borda (max 5MB), direcionando os blobs em tempo real para os buckets do Supabase Storage. - Edge Middleware de Segurança e Sincronização de Sessões (
middleware.ts): Implementação de um middleware em nível de Edge que intercepta requisições protegidas/adminde forma otimizada. O interceptor sincroniza cookies de autenticação do cliente e do servidor (createServerClientda suíte@supabase/ssr), atualizando o payload de cookies da requisição e da resposta simultaneamente viacookies.setAll, resolvendo conflitos de internacionalização ao extrair o locale dinamicamente através do matcher e protegendo rotas contra acessos não autorizados por meio de redirecionamentos transparentes com parâmetros de retornoredirectTo.
Resultados e Impacto de Engenharia
- Eficiência Operacional Extrema: Redução de 99% no tempo gasto na gestão e formatação manual de taxonomia e mídias de projetos graças ao agente autônomo e ao painel integrado com drag-and-drop.
- Latência de Leitura Sub-Milissegundo: As páginas públicas são pré-renderizadas e servidas a partir de caches otimizados na borda com invalidação ISR atômica sob demanda, mitigando drasticamente os custos transacionais de banco de dados.
- Acessibilidade e Experiência Premium: Obtenção de scores excelentes em auditorias de Core Web Vitals através de micro-interações fluidas a 60fps, animações otimizadas em Canvas 2D e total adaptabilidade responsiva bilingue.
- Robustez de Segurança de Nível Enterprise: Vazamento zero de credenciais administrativas devido ao isolamento total promovido pelo Edge Middleware e políticas de RLS Zero-Trust no banco de dados.