I grew up in a working-class neighborhood on the edge of São Paulo, and a computer was the most interesting thing in the house by a wide margin. I remember the specific feeling of sitting in front of one, the rest of the room going quiet and unimportant. My parents set limits and I spent a good part of my childhood getting around them — at first for the extra screen time, plainly, and then more and more because a lock is a thing you are supposed to be able to understand. That has been the shape of it ever since: less interested in using the machine than in knowing what it is doing underneath.
I wrote my first real code in 2013, in a technical program in web development, and it took immediately. That I could build something out of nothing and shape it exactly the way I pictured it was the most control I had ever had over anything. That carried me to university on a full scholarship, which for someone from where I am from was not a small thing — it was proof the door actually opened.
A friend told me around then that the beauty of learning is that no one can take it away from you. It is one of the few lines of that kind I have never managed to get cynical about, probably because it turned out to be literally true: the money, the title, the company all proved detachable, and the understanding did not.
The work eventually took me out of Brazil. Italy first, which was the initial shock of how much bigger and stranger the industry was than the version I had seen from home. Then a year in Ireland on an international team at Rithum, and after that a stretch in France.
That is most of why my projects speak six languages — English, French, Portuguese, Italian, Spanish, Japanese. It also reads well on a portfolio, and I am not going to pretend that counts for nothing, but it is not where the habit came from. Having lived inside a few of these languages, a site that only works in one now feels unfinished to me.
For years my portfolio was the only public record of anything I had made, and it only ever showed the finished object — never the reasoning under it, the arguments with myself, the versions I threw away, the part that is actually the work. I wanted somewhere that could hold that too.
This blog is where that goes. It runs on Next.js and React, with Tailwind for the parts of the interface I am particular about, and a self-hosted Strapi backend on AWS. Over the coming months I want to write the architecture down properly — how the pieces actually fit, not the version that fits on a project card.
What I like is the whole of it: the interface where the details matter, the backend behind it, the database under that, and the seams where they meet. I compose with tools more than I use them. And none of it is ever finished — software just sits at different stages of not being finished, which is either freeing or exhausting depending on the week.
I have been doing this for over a decade and I still feel slightly out of step with how most people relate to it, which I have stopped treating as a problem to fix. This is where I will write it down. The foundation is laid; now it's time to build.