Blog
Notes on TypeScript, Next.js, SQL, Go, and the craft of building fast, pragmatic web products.
blog posts
GLM rose in price… and changed everything
Introduction A while ago GLM was my favorite “hack”: decent quality, very low cost and a couple of technical details that made it perform more than it cost. But it took a jump in price and, well, it c...
Top 3 alternatives to Claude Code (2026) + cheap + 3x usage
Introduction I spent months using Claude Code. I loved it… until in the middle of the sprint it stopped. Between back and forth, I ended up spending more than $500 and the worst thing was not the mone...
I made an app… and now people all over the world use it (but no one pays)
A while ago I was bitten by the bug to put together a tool for a very specific pain: removing silences from videos without having to open a heavy editor. I started with a small script in ffmpeg, I pre...
China 2025 changed my life
A chronological brain dump, with real tips and real experience How difficult to start talking about my trip to China. There is too much to tell. This is a chronological account of my trip in Septemb...
5 things you have to do in 2026 to avoid leaving your server exposed.
Lately I have received several messages like “they opened my VPS” or “they entered me via SSH and I don't know how.” I'm not going to sell you smoke: if you self-host, basic security is not optional. ...
Basic security for your self-hosted server (2026) | SSH, Firewall, Updates and Backups
If you self-host something (a VPS, a small server at home, Docker, Coolify, Caddy, Traefik), there is a security floor that you have to cover no matter what. I have been asked a lot: “What is the mini...
I got tired of paying for lead tools and I created my own
Desde hace meses vengo renegando con las herramientas de lead generation. Te prometen oro, pero entre planes “Pro”, límites raros y features bloqueadas, terminás pagando cada mes sin tener control rea...
Magnetic keyboard for programming? Keychron H2 HE
Introduction I got curious about magnetic switches and brought the Keychron H2 HE to the table. I did a short unboxing and put it face to face with my Lofree Flow, which I have been using every day to...
Advanced n8n workflows - scraper, IF, merge, loops
In this video I went deep into n8n in “level 2” mode: e-commerce scraping, conditionals with IFs, merges to join branches, loops for pagination and handling of multiple items without everything explod...
Your first workflow in n8n (Discord + Cron) - 2
Lately they have been asking me for something very practical from n8n, so I sat down with a mate and recorded this step by step so that you can build your first workflow from scratch. The idea is simp...
How to install n8n with Docker (the easiest way) - 1
I had been receiving many questions like: “Hey, how do I start with n8n without breaking anything on my machine?” So I started recording the simplest and fastest way: Docker. Seriously, in two command...
Claude Code for only 3 USD
Lately I've been using Claude Code a lot to code faster, but the official subscription hits your pocket. So I started to test if there was a legal way to pay less… and yes: with the z.ai API you can u...
From Next.js to PHP in 1 day (with AI) 🚀 140KB → 4KB
I had my personal site in Next.js. It was fine, modern, all nice... but for a super simple page it was too much motor for so little bike. I got bit by the optimization bug and set myself a challenge: ...
Next.js Hacks 2 - Use Discord as a Logger
Lately I have been complaining about paid logging services: expensive, overkill for small projects and on top of that you don't always look at them. So I thought: what if I just send everything to a D...
You have to go to Japan
Una de las buenas cosas de estar en europa es estar cerca de muchos destinos. Uno idealiza que se muda, y va estar buscando gangas para viajar, pasajes a 50 euros y todo eso. Pero en mi caso no termin...
5 Apps that I ALWAYS install on all my macs
Every time I start a Mac from scratch I have a ritual: I grab a mate, open the checklist and start installing these five apps. They are not “cool apps” to fill out, they are the ones that save my day ...
Nextjs server actions in depth
Next.js Server Actions offer us a very powerful way to handle mutations and server logic directly from our React components. This makes the lines between client/server a little blurred, but does it in...
5 useful things you can do with your home server (and one I don't recommend)
Lately they wrote to me a lot: “Hey, I have a mini PC… what can I do with this?” So I started to compile the 5 things that give you the most value if you have a home server, plus one that I would not ...
This is how I built a home server with a €97 mini PC
A while ago I wanted to try if with very little money you could build a decent home server. I came across a mini PC for €97 and said: done, challenge accepted. In this video I decided to turn it into ...
How to have your server at home - Homemade self hosting
Lately they have been writing to me a lot asking how I set up my “home datacenter”: what I use, how I keep it online and how I deal with the ISP. So I sat down to organize the entire idea, from end to...
I built an AI app for architects in 4 hours (and it works!)
I set a 4-hour timer, prepared a mate, and challenged myself: can I build a full-stack app that generates images with AI for architecture students, from end to end, in one afternoon? I loved the idea ...
This is how I leave my Mac ready to program from scratch (2025)
Every time I pick up a new Mac, the same thing happens to me: I want to be ready to work in less than an hour, without wasting time with a thousand windows or strange configurations. That's why I put ...
Record EVERYTHING your users do (with Clarity) - put it in nextjs
For a while I wanted to bring something simple, free and that gives value to your touch. Microsoft Clarity is exactly that: a “put and see” to understand how your users navigate, with heat maps and se...
Unboxing MacBook Air M4 for programming – and that keyboard?
Today I gave myself the pleasure: I opened a MacBook Air M4 and brought it to the battle desk to see if it really is “the” computer for developers in 2025. I did a very simple unboxing and focused on ...
How I Built SenseiPress - A DIY WordPress Hosting
A while ago I came across a question that I couldn't get out of my head: what if I set up my own WordPress hosting? Not a generic one, not one overloaded with cPanel and a thousand options that no one...
Computer Science 100% remote - uopeople
I already enrolled in UoPeople and I put together this video to tell you, without fuss, how it works to study CS 100% online there: requirements, costs, courses, validity of the degree, calendar and e...
Operating Systems - Hardware Abstraction, Concurrency, Middleware and Beyond
I'm reading this book about operating systems and I thought it was interesting - although they remain as personal notes - to summarize the teachings a little. An operating system is software that uses...
Context, Redux and Zustand in Next.js - Which one to use and when?
There was a situation at work where a project in React (React without anything else, the old way, with Webpack) began to need some way to maintain a \"global\" state. We needed to access user informatio...
The combo of emigrating as a dev
(cover photo: Having coffee in Ghirardelli Square, San Francisco) I made it a goal to write a little every day, at least 500 words. I think that writing and creating non-GPT content (what is the name ...
Next.js + next-intl - Learn Internationalization in 10 Minutes
Have you ever kicked the i18n for “later” and it ended up being left for never? It happened to me a thousand times. That's why I put together this short video where, in 10 minutes, I ready a Next.js a...
I renewed my desktop and PC - This is how my aesthetic setup turned out 🎨✨ - Dev Blog
Lately I had been working on a “Frankenstein” desk that I put together with what I had. It worked, but it was a visual mess and didn't invite me to sit down and concentrate. So I took a weekend to do ...
How to migrate wordpress to docker - From NGINX and FPM to Coolify
For a while now I have been migrating things to Docker to have neater and more replicable deployments. I had a WordPress that ran on a VPS with NGINX + PHP-FPM, and I was interested in moving it to Co...
Migrate NGINX & PHP-FPM to Coolify
A step by step guide on how I migrated my Wordpress from NGINX and PHP-FPM to Coolify
Migrate your WordPress (on vps) to coolify with docker
Configurar una nueva instancia de WordPress con MariaDB Muy facil en este caso. Simplemente es hacer click en Projects -> add -> crear el proyecto -> add resource -> wordpress with amariadb Migrar ...
Lucky Times
How I got lucky and got a macbook pro for free.
Roman Numerals
A fun problem to practice general logic and problem solving.
Palindrome
It seems knowing the built in methods goes a long way.
Two Sum
My first attempt at leet code, and it was a mess, well not really right?.
Sqlite vs Postgres - Which is best for you? -
Every time I show a new project the same question appears: “Do I use SQLite or Postgres?” And yes… the easy answer is “it depends”, but I wanted to go further and measure it in real scenarios. In this...
You don't need Vercel! Self-Host Coolify + Nextjs (or any other tech) in 5 minutes and more!
Lately I have been hearing a lot “without Vercel you can't deploy Next.js”. Post: there is no vendor lock-in. If you want, you can self-host it on a VPS and that's it. In this video I show you how to ...
Deploy with Docker and Ubuntu in 5 minutes (and more) - Nginx and Certbot
Today I bring you a super practical step by step so that you have a VPS with Ubuntu ready to receive your app in containers, served by Nginx and with SSL from Let's Encrypt. I put it together because ...
This free tool will EXPLODE your productivity - Fabric
Short and short: I was trying Fabric and it blew my mind. It is an open source tool that converts prompts and flows with AI into reusable “patterns” from the terminal. Zero smoke: you install it, give...
Create a fast backend with ExpressJS
I started this video because many times we want to build a backend for an idea or an MVP and we get lost in giant “boilerplates”. Here I'm going to keep it simple: Pure Express, clear structure and mi...
Slack Cell Architecture
The architecture of slack cells, I found this article very interesting because it talks about a fairly complex problem that slack had. It all starts from the promise they have that in a year Slack can...
From Payo to Pesos safely and quickly. Hello Belo!
The fastest and most convenient way to convert your Payoneer dollars to pesos for me today is through the integration with Belo. Although I recommend, as soon as you can, open an account in the USA Th...
Open bank account in the USA
As I mentioned in the post on how to start collecting in USD, the next step after using Payoneer is to open a bank account in the United States. This is based on my opinion, and as I already establish...
WordPress Deploy to Cloud Compute
After doing a lot of research, there isn't really a good solution for free WordPress hosting. Really everyone has a con, or they don't allow you SSL Well, there is an answer to this. Since there are...
How to start charging in USD
The start: Finding the contractor job You already found that contracting job, you finally made the leap into the void, which gives so much uncertainty, but ultimately you are ready to get paid in USD....
How to host your node and react application on your own VPS (2/2)
How to host your Node + React app on your own VPS (2/2) In this second part we finish the deployment: we put free HTTPS with Let's Encrypt, we leave Nginx fine as a reverse proxy, we test the app live...
How to host your node and react application on your own VPS (1/2)
How to host your Node + React app on your own VPS (Part 1) In this video I proposed something that several had been asking me for: building a full stack app (Node + React + Mongo) on my own VPS, witho...
Javascript Arrays
In this tutorial you will be able to see 8 methods applicable to arrays in Javascript that will help us work better with them. Filter, map, some, includes, every, forEach, reduce, find Part 1 1.Fil...