2026-06-07 08:00:00
Ideas come cheap. That’s why my backlog of project ideas keeps growing - there is only so much time and energy.
The recent agentic AI advancements are changing that equation. All of a sudden, projects I long relegated to an uncertain future can now be brought to fruition with a single human pair of hands (read, mine).
A good example of this is vivotime.net. There is no way I could have made it a reality on my own in such a short amount of time, in the midst of my routines and demanding job. AI changed all that. A success story in my book.
My backlog does not only consist of new projects, but also improvements to older ones that ended up getting outdated, or had missing features I long wanted to add.
So in a single weekend I grabbed three of my older longstanding projects, and gave them an overhaul.
I grabbed this now 2 year old project, and gave it a new life with:

You might be thinking: “That’s cool and all, but I already have LM Studio + Anything LLM, Ollama and OpenClaw”. Those are incredible, but this project offers two unique things:
This one was relatively simple. The pipeline was broken for this almost 6 year old project, and the site stopped updating. It is now back online, hardened against rogue errors, like image previews not loading and crashing the build.
Presentation is improved on larger screens as well, with a simple simple change to constrain the max width of the site’s contents.
It is better than ever: https://lopespm.com/hackernews-daily/

There is a nifty user optimization where certain images are presented via their WebP proxy, delivering much smaller file sizes (25-35% lighter than PNG).
The problem is that image editors tend to work best when exporting and working with PNGs and JPEGs, so before, I would need to go through each image, one by one, and export them to WebP via the terminal. This was infrequent enough to make me postpone its automation, but also frequent enough to be annoying.
That is now a relic of the past. Presenting, a completely ordinary script that batch converts PNGs and JPEGs to WebP. Simple utility, high utility value.
I want to eventually revamp Survival Ball, but there is a problem: AI alone won’t cut it, since proper game design iterations, testing and porting it to Mac and Windows are some of the most time consuming tasks.
If I don’t find the time and energy to tackle it, there are other projects itching to come to life, which don’t suffer as much from the above problems. I’ll keep you posted!
2026-05-01 08:00:00
I’ve consumed several Acquired episodes, and one I found particularly interesting was about Nintendo, where they describe how lateral thinking shapes how to company thinks about their products: instead of always going after the new shiny thing that still has several unknowns and will need time to iterate on, know and perfect, use instead cheaper, already established technologies / materials and come up with new ways to use them1
Today LLMs, vibe / agentic coding, and other new technologies are all at rage. This means that a lot of humanity’s headspace is directed towards these new technologies, but there is still an immense unexplored space for the already established tools and technologies that were not fully exploited and combined. For example:
The most important thing at the end of the day is: are these solutions solving a real problem? Are they generating value? Their end user likely doesn’t really care how something was implemented behind the scenes, they just need something to solve their problems.
“Lateral Thinking with Withered Technology” is a defining product design philosophy popularized by Nintendo engineer Gunpei Yokoi. The philosophy posits that mature, well-understood, and inexpensive technology—”withered technology”—can be used in creative new ways (“lateral thinking”) to create innovative, successful products, rather than relying on expensive, cutting-edge hardware.↩
In the spirit of the article, the associated social media thumbnail was created using my favorite open source tool of all time: Blender. It still puzzles me how such a high quality tool is free and open source. I’m grateful for it. Without it, Survival Ball might not have even come to fruition.↩
2026-03-22 08:00:00
There is something interesting about our psyche, or at least mine. Simple and concise rules, when applied for a long time, are much harder to break1 than rules which make room for exceptions, or rules that are broad or ambiguous.
Let me give you an example: I never have desserts at my work office’s canteen. No exceptions. This makes my decision process straightforward: “Should I have a dessert? No. Move on. Nothing to see here”. I’ve been able to maintain this habit for 5 years. If I want a dessert, it will need to be elsewhere, like during a dinner night out.
If I would allow myself for a dessert only now and then, I am pretty confident it would derail my sugar consumption, since “every now and then” would be dictated by how much will power would be available on any given day, and there are days where I just have too much going on and will power is at short supply.
A single dessert at the canteen would break the streak, allowing for optionality to creep in, and deliver me to my limited will’s mercy.
I’ve been consistently accumulating several of these simple rules / habits throughout the past years, which allowed me to build strong foundations, move closer to the type of person I want to be, achieve what I want to achieve, and sustain a high output for a significant amount of time. Here is a list of the most impactful ones:
These simple rules were a boon for me to implement consistent habits, and the reasons why I think they kept working so well are:
They are all so ingrained in my life that if any of them slip, something starts to feel off and uncomfortable, just like any other deep habit or routine that gets halted.
Give them a try. There are rules and obsessions worth having.
Streaks are powerful, so it comes as no surprise that they are a textbook gamification strategy. Take Duolingo, which has a streak feature. Let’s say you use Duoling for seven days in a row, then you have a streak of length seven and if you don’t use it on the eighth day it goes down to zero, so it’s just a counter of how many days you’ve done it in a row. As of April 2025, there were 8 million people who were daily active users with a streak longer than 365 so we have 8 million daily active users that haven’t missed a day over the previous year.↩
2026-02-21 08:00:00
I once struck up a conversation with someone during one of my trips where I told them that there wasn’t a prescriptive way of organising work at the company I was working on at the time. We were not dogmatic in using kanban, scrum, lean or waterfall, we used whatever worked best for the problem at hand, many times resulting in a mix of these approaches, and even changing them mid-project.
Leads and people in the ground were trusted to take ownership and organize accordingly.
My interlocutor, with a disdained grin said “You do that? You don’t do Scrum?”. One could almost hear the “pff, ridiculous” undertone.
I still stand by it. You should not be dogmatic about it in scenarios where the problems keep changing and there is a constant need to adapt. At some point, all companies need to adapt to overcome competition, changing consumer behaviours, regulations, etc. The only thing that really changes between companies is how much time it takes for that change cycle to happen.
It is sensible to have a stable and institutionalised process across a company, when these cycles are long and harmony between people and departments is valued highly, but that same approach in a fast changing environment will the company’s death kneel, crumbling under its own comfortable rigidness.
Overall, the world is moving faster and faster, specially with the ongoing revolution of AI that is slowly creeping through many branches of our society, and the increasing amount of people entering the labor market.
On one of the latest projects I was involved in, where requirements would change very rapidly, and product market fit was crucial to first understand, having bulky processes would have done more harm than good. What actually worked was:
To this day I cringe when thinking about that conversation.
There is not a silver bullet. Processes are like tools. You should use the right one for the right job, combining them when necessary. You wouldn’t use a jackhammer to drive a simple nail.
Don’t be a process zealot. Use it as a means to an objective.
2026-02-20 08:00:00
The average human body consumes energy at a rate of approximately 100 watts
GPT-4 took about 50 GWh of electricity to train.
It takes 3,170 times more energy to train a model than to raise a human to 18 years old.
GPT-4 is really good at specific tasks, but is nowhere near as generically inteligent or able to function efficiently and adaptively within the real world. GPT-4 can’t even drive a car.
This suggests that just scaling existing models will not be enough to reach real AGI. New fundamental breakthroughs are still required to get there.
2026-01-19 08:00:00
Launched vivotime.net, a website focused to help you make the most of your limited life, with ideas aligned with your goals.

During the past years I’ve been wrestling with the idea of building a website that could be:
Turns out that ticking all boxes proved to be incredibly hard, but somewhere around 2025 I noticed how hard it was to come up with good ideas of how to use my free time to the fullest. Turns out that even though there were tons of exciting things to do in the world, not all were aligned with my ideals.
On the other hand, time here on Earth is very limited, and in between busy lives and distractions, opportunities, time and energy pass in an instant. We’ve been given a beautiful gift, and we should honour it.
Hence the idea to build vivotime.net. It shows you, without any sugar coating, how much life time you are predicted to have left, and then according to your goals, it suggests a series of meaningful ideas that you can allocate and manage for the time you have left. That’s it.
Vivotime.net was implemented using Laravel, Livewire, picoCSS and a sqlite database. Stripe is used for processing payments. I’ve tried to make it as lean as possible. No need for an overpowered MySQL database, or using tailwind, react, vue, or any other (default) technology du jour that would not serve the site’s purposes.
Docker is used to containerize the website, including the nginx web server. Deploying the website is as easy as running a bash script, and setting up the dev environment is likewise a script execution away. Pure bliss.
There is something beautiful about keeping things contained to their essence, with nothing more, nothing less than what is required.
As a result of having only a few moving parts, maintaining the website has been a breeze.
I’ve liberally used Copilot, most of the time with Opus 4.5. There is no way I could have finished this website in such a short (hourly) time span, considering that I’ve worked on it sporadically during some free hours on weekends or after a busy work day.
There is something to be said about coding on these limited time slots, something that I would have found much more challenging before LLMs, given that I would have needed continuous large time blocks just to get all context, system designs and best practices loaded into my head. AI makes the warm up process much easier, and of course, it is a powerful code machine that can produce high quality code, if directed correctly.
Vivo Time was built to be simple and to do a limited set of things, but do them right.
First, you need to introduce your year of birth, and optionally your sex, health status, relationship status, if you have children or not, and your occupation. These are used to provide an increasingly accurate estimation of how much time you might have left, and to provide you with relevant objective suggestions (for example, if you already have children, the “Start a Family” objective will not be presented).

Moreover, if you do not want the above information to be saved and associated to your account, you can enable this privacy setting in your account settings:

Then you are presented with a list of objective suggestions, which you can allocate or hide from the list. Each allocated objective decreases the amount of useful time left.

Afterwards you can manage your objectives by changing their allocation or visibility status, and you can also search for more specific objectives you have in mind.

That’s it! Let me know your thoughts about it!