Full Stack Engineer & Educator
Building systems, sharing the journey.
I design and build high-performance web architectures while teaching the next generation of developers through technical writing and video content.

Archive
22
22 essays · 2024-2026
Series
1
1 series · 16 chapters · 2h 58min
Languages
pt-BR · en-US
Bilingual publishing
From the archive
View all 22 →- AI-Generated Dockerfile Broke Production: Alpine, Temporal, and musl vs glibcNode.jsDockerTemporalAICursorDevOpsVideoCareer12 min
- Wrong Node.js architecture: 4 anti-patterns I see in every codebaseNode.jsTypeScriptArchitectureBackendVideoOpinion14 min
- Promises in JavaScript: from zero to async/awaitJavaScriptTechnical14 min
The series

Data Structures in a Nutshell
A complete path through data structures in Node.js and JavaScript, written as reference chapters for study and practice.
16 chapters · 2h 58min · Mar 26, 2024 - Jun 14, 2024
Proof in code
When runtime detail is the product
In the Alpine post-mortem, the evidence is not an illustration: it is the Dockerfile line that moves the contract from musl to glibc.
Read the post-mortem →DockerfileBefore- FROM node:22-alpine AS runtime // muslAfter+ FROM node:22-bullseye-slim AS runtime // glibc

