










Yesterday in Houston. Tight game, Brazil came back from 1-0 deficit to win 2-1 in injury time. Our first Round of 32 match this year was a very good one.











Yesterday in Houston. Tight game, Brazil came back from 1-0 deficit to win 2-1 in injury time. Our first Round of 32 match this year was a very good one.
People kept asking me in the last months if I was “ready for the World Cup”.
But I wasn’t.
The polla wasn’t ready. We hadn’t gotten our sticker album… Of course I got “ready” on time. But all the questions made me think of Maslow’s Hierarchy of Needs so I made this. Share if you feel similarly!







We arrived to this Houston game ready to see Portugal – a favorite to win the tournament. They didn’t look good, especially Cristiano Ronaldo; but the kids got to see him in person which they really wanted.
This marks the end of the first phase for me. At least as far as attending matches in person is concerned.

We attended Sweden vs Tunisia at Estadio BBVA in Monterrey aka the most beautiful stadium in the world home of the best team in the planet. Lots of goals: the game ended 5-1 to Sweden.






I was incredibly lucky to kick off the 2026 FIFA World Cup by attending the opening match on Thursday. Getting to the Azteca was a nightmare. Everything else was incredible: the stadium, the crowd, the company, the cheers, the view, the opening musical show with the exception of the that 🤮 band from Guadalajara. The game itself was alright – Mexico should have scored one more and that undeserved red card to Montes may prove costly; but three points is three points.











Few people know this, but in every single last polla, entering the scores for the matches was a manual process. When I tell this to people, they find it hard to believe.
It wasn’t that terrible. A few friends volunteered to help and were given special access to do that. And it was almost guaranteed that at least one of us was watching every match anyway. No big deal.
But of course, beyond the manual work, it was always a technical challenge for me to be able to automate it. In 2022 I got very close, but didn’t quite finish it.
I am happy to say that for the all-new, microservices-based Polla 2026, Automatic Score Updates functionality was just pushed to the server!

I am using football-data.org to as the data source. The implementation is as simple and stateless as I could make it. Seems right.
Of course, the big problem is that I cannot test it for real before the FIFA World Cup starts. And once it starts, should anything goes wrong, I won’t be able to do anything about it until at least several hours later.
Well, I will be able to pause it, as you can see in the screenshot. This is why I added the ability to pause it.
Hope it goes well. 🤞
It’s hard to believe that 20 years have passed since I wrote and ran the first polla. This post goes into the technical details of the application.
The first polla was a monolithic PHP application written from scratch. Instead of using a database and in order to keep things simple, it stored all data in text files (bad idea). I didn’t even use source code control (bad idea). Regardless, it worked well and was a big success.
For each subsequent polla, I took the last polla’s source code as a starting point and make large improvements. Using a database, responsive design (the first polla predates iPhone!), invitations, filters, tournament winners, and lots of small tweaks all over the place.
But one of the reason these things even exist is that it allows me to learn to use things that I don’t get to play with in my day job (I’m a software engineer, but I don’t work on web-related things). Making another PHP monolithic application in 2026 would not teach me anything as was no fun. Thus, I took on the giant project of rewriting Polla 2026 from scratch during my scant free time using modern technologies and best practices. Insanity? Yes.
This is a high-level description of the new polla, which uses individual services orchestrated using Docker Compose:
I am also relying on a few external services, many of them I just learned about and all of them very cool:
This was a huge undertaking that required me to learn a bunch of neat things. It goes without saying that there is no way in hell I could have pulled this off without the help of GitHub Copilot and its excellent integration with VSCode. It’s a massive accelerator! I was able to rewrite the full system using things I never used before, and add many improvements (not finished yet) that were not part of the previous pollas nor of my original plan. The speed at which changes can be made makes it almost addictive. Visually, it looks better than ever. I am super pleased how things are turning out.
I hope all the effort is worth it, I don’t run into major bugs, and lots of my friends join in the fun.

FIFA World Cup 2026 is here, and you know what that means: a new Polla! Following the massive success of Polla Qatari, this new polla is a brand new application hopefully will be bigger than ever.
For those keeping track: The first polla was 20 (!) years ago. Madness. And many of you have played in all of them. Thank you! Can’t wait for this one.
The last time I ran the Cap10k was in 2018 (2019 was cancelled).
After that, my bad knee got more messed up, I had surgery, and the doctor told me to quit running.
Eight years later, and not through my own initiative, I was again signed up for the race. Except this time my kids are running with me for the first time and – not only did I not train – I have literally not run in years.
With the excuses out of the way…

Historical times:






I happened to be in Mexico City the weekend of the re-opening of the Azteca Stadium prior to the World Cup 2026, for the México vs Portugal friendly. I happened to be sitting very close to Gianni Infantino. So of course I got close to him to snap a photo.
A week later, my buddy Chore sent me this screenshot:

While I am no longer featured in FIFA’s front page, the note persists. Unfortunately they cut off the top of my head.

This is the photo we snapped from a slightly different angle.



