• The more you build, the more you’ll need to understand

    The more you build, the more you’ll need to understand

    I remember when I started studying computer science. At that time, I was very eager to try new stuff. I still am. I also remember there was a lot of discussion about which Linux distro to use. I tried many of them: I tried SuSE, I tried Mint and, at one point, I decided to try Gentoo.

    Gentoo, for those who don’t know about it, was a very unique concept because you would build every single thing for your machine. You compiled everything from the ground up.

    I remember it would take hours and days to get a minimal UI working, and this was without even thinking of building things like OpenOffice, which were giant pieces of software. Since everything was built from the ground up, you had to get your system built piece by piece, which involved a lot of manual command-line typing: setting up the system, configuring it, and so on.

    It was a learning experience, but it was also frustrating. From time to time you would get an error after hours of compilation where you would need to go back and try to figure out what was broken and why it didn’t work. At that time, the community was strong enough for you to be able to navigate these problems by yourself and that provided a fantastic learning experience.

    That’s where most of my terminal foundations came from, and I still rely on those skills, it paid dividends in my life.
    I’ve used this skills set up a very high-performing WordPress sites on very cheap systems. and while that article is very old and certainly outdated, the concept behind it is still valid.

    These days, I happen to interact frequently with AI, and during these holidays I leveraged AI to build a couple of things for myself.
    I realized that the knowledge I do have is still helpful, because AI was making some errors here and there, and I was able to spot them, understand them, and figure out why something was broken.

    I’m now starting to believe that moving forward, leveraging AI will lead to greater performance and greater speed, but we’ll still need two critical things whenever we build something.

    The first, as developers, is understanding: having at least a partial understanding of the technologies involved.
    Not because it’s useful as applied knowledge, we might not even apply them directly since AI will become even better in the future, but as directive knowledge
    Something that is critical for tying pieces together, as well as seeing the flaws in AI’s code and proposals.
    To get that, we need to embrace the somewhat painful and kind of boring, compared to “just building it with AI”, slow work of practicing and learning the technologies from the ground up. Working step by step, failure by failure.
    This goes hand in hand with leveraging AI more and learning how to delegate more, and better, work.

    The second thing, I plan to write more about it, is knowing what to build and what not to build.
    That is another key component of every software-building cycle that will need more attention in the future.

    So if there’s anything I hope the next years will give people, including me, it’s: the passion, the time, and the willingness to pursue learning things from the ground up, to understand systems/technologies and how they connect to each other and to use them as a foundational tool to better direct their work as AI takes even a more prominent place in our daily work life.

    PS: Related to this article is the concept of Mental Maps


  • Books I read in 2025

    Books I read in 2025

    2025 was a very interesting year for me because I wasn’t used to reading anymore, at least not as much as I had in the past. I remember that when I was a kid, I used to read a lot of fiction books. Eventually, I stopped reading fiction and moved on to more business-related and self-help books, and I read a lot of them over time.

    One thing I realized after reading so many of them, and something I’ve described many times,is that consuming streaming content is not that useful by itself.
    What you need to do when you go through one of these growth books is actually apply what you learn, and apply it fully for some time, to see results. Otherwise, you’re just consuming content; you’re not experiencing it, and you’re not really learning.

    That is one of the reasons why I reduced the amount of reading I did in the growth area. I also moved to some specific podcasts, depending on what I wanted to learn and what I wanted to apply. In that sense, 2025 was a key year for me.

    I started reading again thanks to The Expanse series. I was a big fan of the TV show, and I really wanted to know how it ended. So I decided to start from book one and read them all. That reignited my interest in reading, and I’m so glad it did, because I started reading a lot more books than I ever anticipated.

    Here are the books I read last year, I hope you’ll find some ideas on what to read next:

    1. The Expanse series
    2. Children of Time series
    3. Tomorrow tomorrow tomorrow
    4. The Overstory
    5. The border trilogy (book 1 & 2)
    6. Radical Candor

    The Expanse series

    The Expanse was the series that made it possible for me to get back into reading entirely. I’ve read all nine books on Kindle. Besides loving the story what really stood out to me was that every chapter took about five to seven minutes to rad. That meant I could start reading anytime, anywhere, because I knew a chapter would wrap up within that short window, that got me into reading again. So if you’re on the fence and you might like a sci-fi book, give the Expanse a go.

    For those who don’t know what The Expanse is, it’s a space opera placed in the future with three main factions: The belt, which is people living in space across some asteroid belt, Mars and Earth. I loved all the characters so much, so deep, funny and human.

    What made it especially beautiful to me is that I don’t like stories with a 100% evil enemy and I really appreciated that in The Expanse, most, if not all, of the characters are doing what they do for reasons and goals you can understand. Even when they side with what you might call the bad guys, you can see why it’s happening. You understand their point of view, and you might even side with them from time to time.

    My take: 10/10 would recommend.

    Children of Time series

    Coming from The Expanse, I wanted to stay a little longer in the space genre because I wasn’t sure whether I liked The Expanse so much because of the genre itself or because of the writing. Many people suggested reading some of Adrian Tchaikovsky’s work. He’s mostly known for The Martian and other books, and I saw the Children of Time series recommended multiple times, so I decided to read it.

    While I wouldn’t say it’s the most engaging book, the concept was mindblowing.
    At the core of this sci-fi book is the question of how species can evolve and interact when there is no shared language to connect them, starting entirely from scratch. The idea of intertwining humanity with contact between humans and species that might be derived from other evolved animals was unexpected, even more so when you tie it with traveling across space.

    It’s a series I would recommend, even though it gets a little slow at times and some parts might not be as interesting. But, overall, the concept is pure genius. Loved it.
    PS: If you don’t like spiders, this is not a book for you.

    My take: 8/10 would recommend.

    Tomorrow tomorrow tomorrow

    After reading the Children of Time series, I decided to take a break from sci-fi. Tomorrow, and Tomorrow, and Tomorrow is a story about two people creating video games. It’s a story about life, how you grow, how you connect with people, how you love them, and how you lose them. It’s a story about grief.

    I could say all the things about the story itself, but what makes it incredibly engaging and so beautiful to read is the writing style. The writing style is something I have never seen anywhere else. It’s absolutely fantastic. It flows like water, you won’t notice is there, but it will keep you on the book for the whole time.
    I can see why this is a very popular book, because the writing is so good that it grabs you even if the story itself isn’t usually the kind you might love.

    My take: 10/10 would recommend.

    The Overstory

    I also had another book that was highly recommended to me, which is The Overstory by Richard Powers. I didn’t know what to expect, and I started reading the book without understanding where it was going. For the first nine to ten chapters, I actually felt really lost .

    It’s a story about nature, about trees, about the world, and about how we, as humans, are obviously part of the problem. To me it tries to depict life itself in a story arc that moves around nature.

    I decided to buy a physical copy for my daughter because I think it’s a story that can change your perspective on how you live and how you interact with the world, specifically around how we should preserve our world.

    I felt it was slow at times, and at times it was really hard to understand where the story was going. And yet, it was touching on so many levels. It left something within me that I will carry for my entire life and I won’t look at a tree in the same way as I did before.

    My take: 9/10 would recommend.

    The border trilogy (book 1 & 2)

    Switching genre again, I started The Border Trilogy by Cormac McCarthy, which is a kind of modern Western. I read book one and book two in 2025, and I’m finishing book three now.
    There are two things that make McCarthy’s writing style particularly interesting.

    The first is that he doesn’t use double quotation marks for dialogue, which makes it incredibly hard to understand who’s speaking. The second is that some dialogs of the book are in Spanish, because the story takes place along the Mexican border. This creates an unusual “flow” when you read, as if there are no stops when people talk together, and “time” continues, just like in real life.

    In some moments there aren’t that many conversations between characters, because there are long walks and extended moments of horse-riding from one place to another, where the characters don’t encounter anyone.

    Reading these books (the third one is different) feels like traveling alone in a new city: you don’t know anyone, and you’re just being in a place you’ve never been before.

    Characters ride horses from one place to another for days and weeks, and the descriptions of everything they see along the way are always different and new. McCarthy finds different words to describe the things they encounter on these rides, the sunsets they see, the tacos they eat, everything is the same, yet always different.

    It’s like entering a different world, a cruel world, maybe, but not cruel as in a horror movie, more like how life is sometimes cruel and we can’t find a reason for it.

    My take: 10/10 would recommend.

    Radical Candor

    Radical Candor is the only business/growth book that I read in 2025.

    The book talks about the concept of radical candor, which means being candid about what you think while at the same time being very empathetic, so the other person knows that you care about them. I would say this is a book on communication and on managing people, but more than that it’s a book on how you stay true to yourself and honest with others without being a terrible human.

    There are many tools in the book, but in my opinion, it’s very easy and simple to agree with those ideas. Applying them, though, is a very personal journey. The book won’t be enough, in my opinion.It will be a starting point of you trying, failing, and trying again, and even that might not be enough.

    So read it knowing that this is a piece of the puzzle. That’s my suggestion, because depending on where on the journey you are, this will be something that will take months, even years, to practice and get to the level described there.

    My take: 8/10 would recommend.


  • The end of waiting

    The end of waiting

    I think it was Instagram that first introduced the concept: removing the “waiting” part from our actions in the app.

    Before that, the standard pattern in UI design was simple: you clicked a button and waited until the action was completed. This pattern likely existed because it was reasonable to assume users wanted immediate confirmation that an action was finished, deleted, or errored out.

    But over time, we realized that many actions aren’t that critical. As we started moving faster, we wanted the application to just “take care of it”.
    We only really wanted to know if things went wrong. Since errors represent a tiny fraction of the workflow, the trade-off made sense.

    Optimistic UIs

    Optimistic UIs started to become more common. You’d upload an image, and the app would let you continue as if it were already done, processing the heavy lifting in the background.

    This was a paradigm shift. You could either force a user to wait seconds, or even minutes, depending on complexity, or you could let them move forward. By not blocking the user, the interface allowed for a continuous flow of action.

    The second wave of waiting

    I believe we are seeing a second wave of this pattern now with AI agents.

    Right now, interacting with AI often feels like the “pre-Instagram” era of the web.
    Every time you ask an AI something, you’re stuck waiting for the application to finish “thinking” and applying that thought. In software development specifically, this often means you can’t touch a repository while the AI is working on it.

    How are tools solving this? We are starting to see the emergence of parallel workspaces:

    • Cloud Agents: Tools like OpenAI Codex provide cloud-based agents to delegate actions without locking up your local environment. (Jules does the same for Gemini, although not as tightly integrated as Codex)
    • Virtual Workspaces: Git applications like GitButler are exploring separate virtual “workspaces” (they call it Virtual Branches) where agents can act independently, allowing you to build multiple features simultaneously (
    • Visual Workflows: In image editing, apps like Freepick or “FloraFauna” offer an UI similar to Zapier/n8n to allow you to chain AI workflows together so they process multiple tasks at once.

    Intentional Multitasking

    The true power of AI is its ability to let people do more by relying on the one thing only humans can provide: valuable attention and review.

    Currently, most AI interfaces tie you to a single chat. If you want to multitask, you have to manually open new tabs, and even then, the context doesn’t always follow making it harder to move quickly .

    The goal is intentional multitasking: a scenario where the user is not blocked by a loading spinner and can continue working without losing focus.

    Focus better, focus more

    I’ll close with a story. Many years ago, I worked on project where every edit required a full rebuild. That rebuild took two to five minutes, during which the entire editor was blocked.

    In those five minutes, we would lose all context and the focus. We became less efficient, less focused, and ultimately less creative.

    The ability to run multiple commands while maintaining focus will be one of the challenges for many products since now we can do more, but we should leverage these new skills while not losing the focus and, instead, by enhancing the focus itself so we can do more things, better.


  • Giving Your 100%

    Giving Your 100%

    Today I saw a recital from my kid. There were children of different ages playing different kinds of music and songs in this mid‑year experiment they did around music.

    What was interesting to me was watching how these kids approached the challenge, because each of them experienced it differently. You could easily spot the kids who were perfectly capable of doing the singing, the clapping, whatever was assigned, but who were bored because it wasn’t challenging enough. You could also see the ones slightly below the required capability, yet so passionate that they lit up the scene. And then there were the kids who didn’t believe in what they were doing and performed with no enthusiasm.

    What fascinated me most was how they looked when you watched them. The task was the same for everyone.
    Some were clearly more capable than others. Yet, from the outside, the kids who truly believed in what they were doing, who were passionate and put 100% of themselves,imperfections included, into the task, really shined.
    They stood out on a completely different level. You could also spot the ones who didn’t believe or trust what they were doing; their output was below average even though their skills were above average.

    While the results of those slightly below average in skill might not have been exceptional, their energy and passion made a difference. They were more entertaining, more interesting, more human than those who didn’t put in the effort.

    As adults, when we grow up, we tend to step back. We hold ourselves back from fully expressing ourselves. We push less, show up less, and sometimes do the bare minimum.
    We may have similar reasons, but one common issue,at least for me, is the fear of being judged as stupid, overly enthusiastic, or out of place. Yet that’s exactly what’s valuable: seeing differences, seeing passion, seeing what each of us brings with our unique capabilities, skills, emotions, feelings, and the knowledge we’ve gained through life.

    It’s perfectly reasonable to say, “This doesn’t interest me; I don’t want to put my 100% into it,” whether at work or in life. That’s fine.

    But if something is valuable to you and you’re still not showing up fully, it’s reasonable to ask yourself why. Is it not motivating, not interesting, not challenging, not fulfilling? Do you not believe in the mission? Whatever the reason, build awareness around what’s valuable and what you need to get to the point where you’re not just on stage doing the bare minimum to pass the test, but showing what you’ve got and believing in it.

    Every time I think about this, a post from Derek Sivers comes to mind about followers. In the post, you see a person dancing with full energy.
    At one point someone joins, and then it becomes a movement. You need both the follower and the leader, but both of them must give 100% to the world, to fully work and build a movement.

    It’s not important who you are in that story.
    What matters is understanding what drives you and what might be holding you back from giving your full 100%.


  • Nature and us

    Nature and us

    It’s hard to put into words how beautiful nature is, even harder to describe what you get by being immersed into nature.

    I think it’s even more amplified when you don’t have any choice but to surrender to it, when the cellular connection is not working, when there’s nobody to talk to, and you don’t have anything else to do.

    In those moments, locked into nature, you’re only left with that old need to just enjoy the moment, to live through those boring and seemingly useless minutes and hear/see/smell life itself through nature.

    Couple of years ago I did a family trip to a place I knew very well, close to home. It’s in the mountains, the cellular connection is unstable and there are some small walkable paths in the forests. Some are easier, some are harder.

    We intentionally chose a time when there would be almost no one walking around.
    The cool thing about traveling to somewhere where you already know everything about the place is that you don’t need a schedule.

    You wake up and figure out the day. You can walk around, do some light trail walking, or just chill.
    There is no need to do something, plus having the smartphone hardly usable made it even more valuable to me as I was enjoying those boring times when I had nothing to do but wait.

    And yet, and still, there’s something that fascinates me from the contrast I feel from how, as humans, we build stuff in nature. Even more so when I’m standing alone in front of them.

    The photo from this post was taken in one of those moments, coming back from a walk with my family, and the 5G towers were standing silently in front of me, at the top of the hill.

    Looking at that photo now, I can’t help but thinking back to the “Electric State” book, from Simon Stålenhag, but with less robots.


  • The space between things

    The space between things

    The waiting in front of the traffic light, looking at the motionless pedestrian stripes that await our steps.

    The void before our turn comes at the post office, between one number and the next. In the silence amidst a thousand different voices, each with its own thoughts and its life that rushes away like a swollen river.

    Today, these waits seem heavier than ever, as if the space between them has become unbearable, as if waiting were a problem. As if the void, which has always existed, is now an uncomfortable housemate, one we neither want to see nor hear.

    Everything must happen immediately. And if it doesn’t happen, we absolutely must have something to do, to act, to get something in return: endorphins, joy, sadness, excitement. That void cannot just be empty, it must have a purpose or satisfy us.
    As if we were in control of a direction, even when the direction of what we see and listen to, of videos of strangers on the other side of the world, depends on others, on algorithms shaped by our hunger, algorithms that mimic the color of our desires.

    What is it about that void that scares us? Of that silence that welcomes us when we are alone where the world moves around us, with people walking, talking, thinking, and acting, each with another world, a broken heart, a fear of being seen and accepted, with a scream hidden under the skin that just wants a hug but in the end it’s easier to scroll past another raw news story, another funny reel, another exciting photo.

    To be elsewhere so the void doesn’t exist, so that the moment where we are entirely alone, with ourselves, forced to be in the world, is annihilated. And everything becomes a continuous flow, a Panta Rei but without awareness of it, without presence, flowing cuddled by a river we did not choose, watching a sky whose colors we do not recognize.

    I don’t know if this applies to everyone. I know that sometimes, in that void and in that silence, I am afraid of feeling everything.
    All the complexity of the world and of my feelings, which overflow and blur together, preventing me from understanding what is happening. Hate, joy, fear, emotion, affection, loneliness, their borders disappear and become a loud, powerful orchestra whose sound speaks to me from the depths, but whose words I do not comprehend.

    And the temptation to scroll again is always strong, the temptation to lower my head and look at another story, read another news item, watch another video. To lose myself, to not feel, to not listen, to not be there, in that moment.

    And yet, I remember.

    I remember myself, waiting on the rough sofa of the house, and the scent of the schiacciata in the oven taking shape and flavour with the oil, and how sweet that wait was.

    I remember waiting for a friend’s visit, and how that void was full of infinite energy and emotion, of trepidation and anxiety.

    I remember watching the streetlights on winter evenings, with my breath fogging the glass, watching the car lights as if I could distinguish those of my mother’s car, and waiting, counting them, and then running to hug her and smelling the fresh scent of winter mixed with the smell of smoke on her long, dark coat.

    Since when did these voids lost the emotions that accompany every wait? The trepidation for what will happen, that potential energy that reminds us that anything can still happen and that the void is just the prelude to another, beautiful, new beginning?

    The space between things is still the same. The void and its molecules have not changed. But we… we did.

    (this is the translated version of my original Italian post)


  • Backfilling a Project hidden Knowledge is finally Possible

    Backfilling a Project hidden Knowledge is finally Possible

    Sometimes you join a project and realize you don’t know the best practices there. It’s a new project, either new in general or new to you because you’ve joined a new team or started helping on a different codebase. This has happened to me quite a few times.

    When that happens, a few things can occur.
    First, the documentation might be up to date, which is great. But from time to time the documentation might not be aligned with the latest standards. This can happen for more mature projects, or when a project is in the very early stages and best practices are still evolving.

    In those moments I ask myself, “What are the best practices?”
    I either try to follow the framework’s recommended practices, or, if I have more experience with a specific framework ,I mix the framework’s best practices with my own learnings, experience, and judgment.

    Recently I realized we can actually backfill that information, thanks to AI.
    You may have heard me mention AI before and that’s because I use it daily for product work and coding, and I think it offers many opportunities to change how we work, no surprise I’m bringing it up again here.

    Where do a project’s best practices live?

    Whenever we interact on a pull request and comment that something is not quite right or should be done differently, we are implicitly documenting an expectation, a behaviour.

    A PR comment might say, “You did it this way, but the way we prefer to approach this for this project or our goals is different.” That information lives in the pull request, but it is sometimes not translated into the formal documentation. For many reasons, bandwidth, speed, whatever, we might not move those comments into the docs.

    That information, though, can be used to document the latest best practices on a project and there are two main ways to do this.
    The first is through deep research. The second is through MCPs and the CLI toolings.

    Deep research

    Deep research is a way for AI to think more deeply about a topic, search widely, and create a detailed document based on what you ask.

    If your project is open source or your repository is publicly available, this is especially powerful: you can ask the tool to review the repo, check comments from code owners in the last 50, 100, or 200 pull requests, and use that information as the source to gather the latest best practices for that codebase.

    This can produce documentation of the current recommended approach to development and the things to pay attention to (please don’t trust the output without checking it, but it’s a good starting point.
    Most tools call this “deep research.”: Perplexity, ChatGPT, Claude, or Gemini should support this and it’s all a matter of finding the right prompt.

    Deep research might take minutes (even 20 minutes sometimes), but it’s so powerful for this use case.

    MCPs and the CLI

    The other approach is to use MCPs and command-line tools to gather information about a private project.

    MCP stands for Model Context Protocol, and it’s a way for AI tooling to interact with external systems to retrieve information.

    For example, the MCP for GitHub would allow you to query pull requests and comments. You can do something similar if you’re running AI locally with Claude Code/Open AI Codex by asking it to use the GitHub CLI to gather PR information and comments.

    In this case you prompt the tool to analyze the PRs, but you must craft the prompt slightly differently depending on whether you use an MCP integration or CLI commands to fetch the data.

    Once the research is finished, you have a baseline that tells you what’s currently used, what’s considered best, and how to approach implementation.

    I personally find this very helpful when approaching new codebases.
    Even if you have multiple contributors, you can use this method to identify different points of view and align everyone on the same page.

    A last note: AI tooling are changing quickly, so if you revisit this content later, check the current best practices and available tools.


  • Can AI Count Puzzle Pieces? The September 2025 test

    Can AI Count Puzzle Pieces? The September 2025 test

    There are many ways of testing the usefulness and power of an AI.
    Currently, there are good examples of, for example, trying to draw stuff, create programs, and so on and so forth.

    I would like AI to increase their ability to help humans via better detection of visual information. This can make a big difference for people who have temporary or not temporary impaired visual abilities, as well as being a time saver.

    When I was on vacation a couple of weeks ago, we found an old puzzle, and we tried to finish it with my daughter. At first it was very hard, because I couldn’t find the pieces.
    Yet, the puzzle was simple, with only 200 pieces, so why couldn’t I find the pieces?

    Turns out, some pieces were missing.

    And so with this in mind, I figured, could AI help me? (Spoiler: it didn’t. Go to the end to see the rankings).

    I decided that this could be a good test to try from time to time with current state-of-the-art models and see how they rank, by using the same image (of that puzzle), with the same prompt (kind of what Simon Willison does with Pelicans :), but less fancy).

    The image

    The image makes it clearly difficult to count stuff, mostly because the background is noisy and not clear.
    But that’s the whole concept. And why is this interesting? Because we want it to be difficult, we don’t want an easy test.

    Also, I’m intentionally not writing the number of the pieces because, as you may know, AI can be trained on this information (but feel free to count them, just don’t write the number in a comment 😀 )

    If I’ll ever see that they have been trained on the actual number to give the result, I will use a different puzzle.

    The prompt is the same for every tool

    Count the puzzle pieces in this photo
    

    The replies

    Gemini 2.5 Pro

    Based on a careful count of the image, there are approximately 251 puzzle pieces visible.


    Breakdown of the Count

    • Assembled Pieces: There are 41 pieces that have been assembled at the bottom of the image.
    • Loose Pieces: There are approximately 210 loose pieces scattered across the rest of the table.

    Counting the exact number of loose pieces is challenging due to them overlapping, but 251 is a very close estimate.

    Gemini 2.5 Pro reply

    Claude 4.1 Opus

    I’ll carefully count the puzzle pieces scattered across this patterned surface.

    Let me systematically go through the image, counting the visible puzzle pieces by color:

    Pink pieces: Scanning across the image, I can count approximately 45-50 pink puzzle pieces of various sizes scattered throughout.

    Light blue/gray pieces: There appear to be approximately 25-30 light blue or gray colored pieces.

    Cream/beige pieces: I can identify approximately 20-25 cream or light beige colored pieces.

    Yellow pieces: There are several distinct yellow pieces that appear to be from a different puzzle or section, approximately 8-10 pieces.

    Along the bottom: There’s a connected row of pieces forming a partial border, which contains approximately 15-20 pieces.

    Adding these together, I count approximately 120-135 individual puzzle pieces in total visible in this image.

    The pieces appear to be from at least one or possibly multiple puzzles, with the majority being pink, blue, and cream colored pieces scattered across what looks like a decorative tablecloth or surface with a vintage pattern featuring cherries and other designs.

    Claude 4.1 Opus Reply

    GPT 5 High Reasoning

    Approximately 240 puzzle pieces are visible in the photo (including the connected edge strip at the bottom). There may be a small ±5 margin due to overlaps and limited zoom.

    If you want an exact count, share a higher-zoom image or let me annotate/mark as I count.

    Results & Scoring

    Here are the results for each model

    • Gemini 2.5 Pro: 210 pieces
    • Claude 4.1 Opus: 120-135 pieces
    • GPT-5 High Reasoning: 240 pieces

    And our question is:
    Can AI Count Puzzle Pieces (September 2025)
    Well, turns out they can’t. All models failed to count, or get actually really close to the actual count with something that could be considered a valid answer.

    Which model came closer to the result?
    Gemini 2.5 Pro was the model that approximated the count better, although it should be noted that this is a 200 piece puzzle, and therefore it was still super-wrong.

    So, considering this, here are the rankings (no winner, yet)

    1. Gemini 2.5 Pro
    2. Claude 4.1 Opus
    3. GPT-5 High Reasoning

    We’ll see if things improve in the future.


  • Building Effective Mental Maps in Projects

    Building Effective Mental Maps in Projects

    Have you ever started a new project and felt like you were dropped into a dense fog, unable to see more than a step ahead?
    That’s how most journeys into the unknown begin, whether you’re learning a new skill, tackling a complex problem at work, or exploring a fresh domain. At first, everything is blurry and uncertain. But as you move forward, the fog lifts, revealing the landscape piece by piece.

    This is how I think about building expertise: not as a sudden leap, but as a gradual act of mapping out unfamiliar territory. I call these “mental maps.”
    Unlike mind maps, which are creative tools for brainstorming, mental maps are your internal compass, a living, evolving sense of where you’ve already been, what you understand, and what’s still hidden in the mist.

    In this piece, I’ll share how I build my mental maps, why they matter, and how they’ve helped me transform confusion into clarity, one step at a time.

    What is a mental map?

    Many years ago, I was playing the game StarCraft. Each match began with the entire map shrouded in darkness and in the fog. You had no clue where the enemies lurked, where resources were hidden, or what dangers awaited. Every move your units made revealed a little more of the terrain, but also exposed you to new threats. The thrill of discovery was matched by the constant risk of the unknown.

    That’s exactly what building expertise feels like to me. With every question asked and every problem solved, a bit more of the fog lifts, the map of your understanding becomes clearer and that inner compass you have about the project starts working.

    Whenever I work on something, I operate like a unit moving through the map. Initially, everything is blurry and the map is foggy, I might understand the overall domain of the project, but I would hardly be able to answer questions about it. I may be able to take educated guesses based on my experience and previous knowledge, but if this is a new domain, everything will be foggy.

    Whenever I encounter a problem, I dive in and start clearing away the fog. Whether I’m solving a technical challenge or trying to understand how a system works, each exploration reveals a new piece of the map.

    Over time, my knowledge becomes more refined, and I start to visualize the map in my mind.

    Note: I'm not good at "actual visualization" in my mind, but while I can't visualize something, I am somehow able to keep all this complexity in my mind, ready and easy to navigate as if I'm trying to remember how to get from point A to point B in my hometown. 

    Once I have enough awareness of the project elements, I can make quicker decisions and spot potential problems or roadblocks if we go one route versus another.

    Why forming a mental map is important

    Why is forming a mental map so important?

    • It allows you to make faster, more confident decisions.
    • You can spot potential problems or opportunities before they arise.
    • It helps you communicate more clearly with your team.

    I believe that the ability to visualize a project as a map, to have an internal awareness of what the project entails, is crucial for tackling complex problems.

    For example, if I’m working on developing a new feature for an app, this skill gives me an intuitive understanding, within its limits, of the consequences and impacts of decisions, as well as new ways to proceed.
    This intuition is instinctual, so once the map is formed, I don’t need to think about it too much. If the map wasn’t formed, I would need to explore to discover first, to have an actual understanding of what a choice would imply.

    For instance, if someone asks me, “Can we have a feature that programmatically adds tasks to our board?” and I haven’t formed an opinion in my mental map, I wouldn’t be able to answer right away.
    But if I already have a mental map with enough information, the answer comes instantly.

    Obviously, there’s a downside: we’re not perfect, and I may be wrong (also, this kind of intuitive thinking might be reminded of System 1 thinking, from Thinking Fast and Slow, and you would be correct.).
    The main advantage is having an internal overview of the project’s status and making quicker decisions.

    This is why I think mental maps are extremely important for everyone. I don’t know if everyone thinks this way, but I believe it’s a valuable skill in the toolset. There will be times when you’re asked to understand where you are in your work. It might be easy to say what you’re doing now, but having a good understanding of all the things and ramifications of a project might not that quick.
    In fact, sometimes you discover the gaps in your analysis only afterward because you didn’t explore or form the map properly.

    Building a useful map

    One approach I take to build a meaningful map is to avoid focusing on the same work repeatedly, therefore expanding my scope.

    For example, if our goal, as I mentioned, was to find ways of programmatically adding tasks to the board (let’s assume we’re doing a task manager), I would move across different codebases or project areas to understand the project’s limits, boundaries, and potential issues.
    Only after “navigating” the scenario, not just by skimming topics but by going into it, would I then start forming the brain connections needed to have “the map”.

    Similarly, you might want to do some discovery on what approaches you could take to the scheduling of the tasks. That, again, will form a piece of the map, letting you know beforehand some of its limits or the challenges you’ll face.

    Take a moment to think about your current project or role.
    Where is your own mental map crystal clear, and where is it still foggy?
    What’s one unexplored area you could investigate this week to expand your understanding?

    Two more things

    Getting the full map might not be worth your time.

    We only have a limited amount of time; therefore it’s important to stay focused and prioritize properly. Whenever I try to form the map, I will focus my attention on my goal while also trying to find ways to expand my knowledge of the project, prioritizing work I’m not familiar with but that I can accomplish within the time I have.

    I do this naturally because I’m curious, not because I was planning to proceed this way.
    But while I was looking back at this approach I realised it was one of the principles behind how I form my mental maps.

    The map is not the territory

    This concept of mental maps might give you the idea that you know everything because the intuition feels instantaneous, but that doesn’t mean you’re right.

    You might have not navigated all the problems, you might lack skills in some areas, or there may still be small areas of the map that are foggy.
    The problem with foggy areas is that you sometimes don’t know they’re there. That’s why, when overseeing a project, it’s important to push yourself into different areas of the work. This way, you can identify possible foggy areas and recognize that there’s something you don’t know about topic X, Y, or Z, which you need to explore.

    The next time you feel lost in a new project, remember: you’re not lost, you’re just mapping. The fog will clear, one step at a time.
    Keep exploring.


  • Beyond Self-Learning: How AI Adapts to You

    Beyond Self-Learning: How AI Adapts to You

    One of the reasons I’m particularly excited about AI is how it can transform learning. But first, let’s understand what AI can do in this context.

    One of the powers of AI, for example, is being language-agnostic. You can have content that’s in English, hand it over to AI, and then ask questions about this content in a different language.
    Let’s say you ask questions in Italian; you’ll get answers related to that English content in Italian. This is part of how AI works and how it is structured and, to me, one of its most useful qualities.

    What’s even more interesting is that now we’re starting to see AI avatars, AI voices, and interactive AI models.
    How does that apply to learning?

    When you want to learn (self-learn, specifically) something, you might go to YouTube or search Google or go to a dedicated site for course , and it can take a while to find the right approach—because not every approach works for everyone.

    For example, you might learn better through videos, while others might prefer to learn specific topics related to design through PDFs and books.

    But you might not always get the format you want. Sometimes you’re lucky enough to have a writer or video maker who creates content the way you like. However, as you probably learned during your school years, you don’t get to choose your teacher. You might choose the school or some of the subjects, but the teacher is a matter of luck, often times.

    In this regard, I personally see a big shift in how AI can transform personalized learning, beyond what self-learning is today.
    Right now, you check out different courses, videos, and websites to learn something—whether it’s woodworking, programming, design, or video making. Over time, since AI can ingest content from any language and of any type, it can create material relevant to that information in a different language or style.

    Here’s an example of how I learned something through an unusual approach: Over time, I accumulated a lot of knowledge about backpack fabrics because I like backpacks, I enjoy traveling, and I like optimizing things. Gradually, I gained knowledge about fabrics.
    How did I gain that knowledge?
    By spending time in forums, reading Reddit, and so on. I realized that this sort of slow, ongoing consumption worked for me as a slow learning curve. I didn’t even know I was learning.

    I began to wonder if I could learn something new in that same format.
    So, I asked Claude to create Twitter/X threads on certain topics.
    I started by trying to learn about large language models. Every day, I would receive 20 tweets about large language models.

    Claude making up Twitter/X threads on LLMs

    Now, obviously, hallucinations are a problem, so be mindful of trusting AI entirely. But the point I’m making is that once you know what works for you in terms of learning, you can adapt and use AI to learn new skills in the way that suits you best.

    Do you need a video? In the future, you could ask AI to create a video course for you. You could have content written as an exchange between two people in podcast form—NotebookLM is already doing this. You could structure it as a Twitter thread, as I mentioned. All these opportunities are right in front of us.

    What is being asked of us now is to start understanding the way you personally learn. Once you have deeper introspection about how you learn best, how you understand things, and how you get excited about learning, you can apply that style to any topic you want and get a personalized learning experience.

    Not all the tools are at this stage yet. If we think about creating a video course, we might still be a bit behind compared to anything that a chat interface can create. But we’re not that far off. So, keep this in mind when you begin learning something new—there may be opportunities for you to learn better and faster.