I've been writing code since I was 10 and never really stopped. I work mostly on the web, and I write here about the things I want to understand properly.
12Years coding
22Years old
59Articles published
15Tools curated
How I got here
I started messing with software development in 2013, purely as a hobby, and decided fairly early that it would be my profession. I was 10 at the time — that's 12 years of writing code.
I've worked at several companies since, mostly in web development, though the job has also taken me through mobile apps and desktop solutions. Along the way I've met technologies from this decade and technologies older than I am, and both taught me something worth keeping.
What I enjoy most is the part underneath the framework: why a data structure behaves the way it does, what a protocol actually asks of you, where an abstraction stops paying for itself.
This blog is where I write that down, in English and Portuguese, mostly so I'm forced to understand it well enough to explain it.
Trajectory
The path from a Minecraft server to writing software for a living.
20132013
A Minecraft server and a scripting plugin
At 10 years old I wanted custom systems and commands on my server, so I learned logic, events, variables and conditions inside Skript. That was the gateway — and where I found out I actually enjoyed this.
Wanting to go past what Skript could express pushed me into writing actual plugins, and from there into the language itself: types, the JVM, and my first real contact with software design.
20222022
First job in the industry
The hobby became the profession. Web development took the front seat, but the work also stretched into mobile apps and desktop solutions.
20232023
A RESTful API written in Clipper
Clipper was released in 1985 and has no abstraction for any of this, so building a complete API from scratch meant reading the RFCs and understanding, byte by byte, what actually happens when a request reaches a server.
20232023
Near real-time sales aggregation
Software that aggregates sales from thousands of markets and puts the numbers on the client's phone in near real time. The hard part was working around the limits of the legacy stack by making it coexist with newer technology instead of rewriting everything.
20242024
An RPA orchestrator
An orchestrator for Robotic Process Automation with a log of everything that happens, from the trigger to the end of the run. Managing, starting, stopping and auditing each automation stopped being guesswork.
20242024
AI-assisted credit analysis
Software that scores how safe it is to extend credit to a given customer, using AI to read their documents, registration data and history before it answers.
20252025
Credit bureau reporting, and clearing it
A feature that streamlines reporting defaulters to the Brazilian credit protection bureaus, and clears the record automatically the moment the customer settles the debt.
20252025
Collections for outstanding invoices
Software that runs collections on outstanding invoices: who has been contacted and through which channel, status updates when payment lands, and generation of the payment methods most used in Brazil.
20262026
This blog
Started as a place to write down what I was studying in depth — data structures, Go, the things that are easier to understand once you have to explain them. Bilingual from day one.
Stack
I don't marry a tool — the domain is what carries over. Here's what I work across, with the tools I've used as examples, not a ranking.
Languages
TypeScript·JavaScript·Java·Go
Backend & APIs
Node.js·Spring Boot
Frontend
React·Next.js·Tailwind CSS
Databases
Relational·Non-relational·In-memory / cache
AI & LLMs
OpenAI·Anthropic·MCP·RAG·Agents·Embeddings
Infrastructure
Linux·Kubernetes·Docker·Vercel
Messaging & queues
Kafka·RabbitMQ
Observability
Grafana·Prometheus·Datadog·Sentry·OpenTelemetry
CI/CD & tooling
Git·Bash·GitHub Actions·GitLab CI
Beyond the code
A few things that explain more about how I think than a list of technologies would.
01
A game was my first IDE
I got into programming to bend a Minecraft server to my will. I wanted custom systems, commands and mechanics, so I picked up Skript and learned events, variables, conditions and control flow without ever realising I was learning to program. The feedback loop was instant and the motivation was entirely mine — a better teacher than any course, and the reason I later went deep into Java for real.
Clipper predates almost everything we take for granted, and it has no abstraction for HTTP — no framework, no router, no request object. Building a full RESTful API on top of it meant reading the RFCs and implementing the protocol by hand, byte by byte. It taught me more about how the web actually works than any modern stack ever could: when nothing is hidden, you don't get to skip the part where you understand it.
03
I like tools enough to criticise them
I'm genuinely fond of every tool I use — and I think that's exactly why I'm quick to point out their flaws. The more you know a technology, the more you see where it leaks. Not having a darling doesn't mean drifting, though: I made a deliberate bet on one stack — the TypeScript web ecosystem — to build a career on and go deep, while keeping the freedom to reach for whatever a problem actually needs. Right trade-off over trendy, always.
What I write about
The most recent articles, if you'd rather read than scroll.
Data Structures
Graphs
Learn how graphs model relationships between nodes. Explore directed, weighted and cyclic graphs, and how adjacency lists and matrices trade space for lookup speed in Go.
·22 minutes read
Read more→
Data Structures
Heap
Learn how a weaker invariant answers "what is the smallest right now". Explore the Priority Queue ADT, sifting up and down, the tree that fits in an array with no pointers, and why build-heap is O(n).
·24 minutes read
Read more→
Data Structures
Balanced Trees
Learn how rotations put a floor under a binary search tree. Explore the balance factor, AVL's four cases, why libraries chose red-black, and what balancing costs.