Ir para o conteúdo
Marcos Soares

Criador do Vivo de Código

Marcos Soares

Fullstack Developer · CEO da Agência Poti

Fullstack Developer e CEO da Agência Poti. Mais de 20 anos construindo arquiteturas cloud-native com React, Next.js e sistemas distribuídos. Parceiro comercial do estúdio iellou design. Fundador do Vivo de Código.

21+

anos de experiência

82

artigos publicados

6

tecnologias core

Artigos publicados

82 no total

CSS3, CSS4 ou CSS5? Qual é a versão atual do CSS em 2026

CSS4 existe? E CSS5? Entenda por que o CSS não tem mais uma versão única, como Snapshot, Baseline e Interop se relacionam e veja nove capacidades modernas funcionando em uma única interface sem JavaScript de estado.

11 de set. de 202622 min de leituraFrontend

Memory Leaks em JavaScript: Diagnóstico, Causas Reais e Correção

Heap crescendo sem parar, RSS estável até o OOM kill, listeners órfãos e closures que seguram DOM inteiro. Um roteiro técnico para diagnosticar vazamentos de memória em Node.js e no browser com heap snapshots, allocation timeline e código corrigido.

11 de set. de 202613 min de leituraBackend

Event Loop, Microtasks e Macrotasks: O Modelo de Execução do JavaScript

O event loop não é uma fila única. Entenda a ordem exata de execução entre microtasks, macrotasks e as fases do Node.js, com código que prova cada comportamento.

9 de set. de 202611 min de leituraBackend

Debugging Mental: Como Investigar Bugs em JavaScript Sem Depender do Console.log

Console.log é a muleta mais popular do ecossistema JavaScript. Conheça breakpoints condicionais, logpoints, debugger nativo, source maps e técnicas de investigação que resolvem bugs em minutos, não em horas.

7 de set. de 202614 min de leituraBackend

Cascade Layers do CSS: Como Dominar a Especificidade Sem Gambiarras

Cascade Layers resolvem o problema estrutural de especificidade que !important e seletores inflados nunca resolveram. Veja como organizar a cascata do seu projeto com @layer, definir prioridade entre camadas e eliminar conflitos de estilo de vez.

4 de set. de 202611 min de leituraReact

CSS-in-JS vs CSS Modules vs Vanilla CSS: Qual Estratégia de Estilização Escolher em 2025

Comparação técnica entre CSS-in-JS, CSS Modules e Vanilla CSS com critérios concretos de performance, DX e manutenção. Sem falso equilíbrio: cada abordagem tem um contexto onde vence.

2 de set. de 202612 min de leituraReact

Animações de Scroll com CSS Puro: animation-timeline e scroll() na Prática

Como usar animation-timeline e scroll() para criar progress bars, fade-ins e parallax com CSS puro. Código funcional, anti-patterns reais e a matriz de decisão para saber quando abandonar o JavaScript.

26 de ago. de 202614 min de leituraReact

Migrações de Banco de Dados com PostgreSQL: Prisma Migrate vs Drizzle Kit

Comparação operacional entre Prisma Migrate e Drizzle Kit para migrações PostgreSQL: setup, workflow de desenvolvimento, deploy em produção e os anti-patterns que quebram seu banco.

19 de ago. de 202613 min de leituraBackend

Busca Semântica com Embeddings em Next.js

Implemente busca semântica real em Next.js usando embeddings da OpenAI, pgvector no PostgreSQL e Route Handlers. Código funcional, trade-offs claros e anti-patterns que destroem performance.

14 de ago. de 202612 min de leituraNextjs

Edge Functions vs Serverless: O Que Muda na Prática

Edge Functions e Serverless Functions resolvem problemas diferentes. Este post compara latência, runtime, limitações de API e casos de uso concretos para você decidir onde colocar cada parte da sua lógica.

12 de ago. de 202613 min de leituraInfra

Clean Architecture no Frontend React: Separando Concerns de Verdade

A maioria dos projetos React mistura regra de negócio com componente visual. Separar concerns de verdade exige camadas com contratos claros, não pastas com nomes bonitos.

10 de ago. de 202614 min de leituraReact

Socket.IO do Zero: Chat Completo com Salas, Typing Indicator e Histórico de Mensagens

Implemente um chat funcional com Socket.IO, Node.js e TypeScript: salas isoladas, indicador de digitação com debounce, histórico persistido no PostgreSQL e tratamento de erros que não quebra em reconexão.

7 de ago. de 202615 min de leituraBackend