
Hi, I'm Pablo Montenegro
Full-stack developer based in Amsterdam, born and raised in Rio de Janeiro. I build things because something annoyed me, and then I write about it here, twice: once in English and once in Portuguese. I've been doing that since 2008, with a few long naps in between.
Things I built because something annoyed me

What annoyed me: Paying a monthly fee to log a squat.
Musclog
An offline-first workout and nutrition tracker. No servers, no account, no subscription. It also runs on a Game Boy Color.

What annoyed me: A blog being too much clicking and reading.
pablo.gg, the game
A top-down RPG version of this blog, hidden behind the Konami Code. Phaser, React and a map drawn in Tiled, with the posts waiting inside a book.

What annoyed me: Finding a place to rent in Amsterdam.
Home Finder
Free rental alerts for seven Dutch real estate websites. GitHub Actions does the scraping, a Google Form does the signup, and the infrastructure costs €0.

What annoyed me: Tailoring my resume for every job listing.
Resume Builder
Builds a resume from a spreadsheet or from a form generated out of a JSON Schema. A recruiter found it, and that's how I ended up in the Netherlands.

What annoyed me: Reading manga from right to left.
manga-converter
A Python script that uses OCR to flip manga pages and put the text back where it belongs, so they read from left to right.

What annoyed me: The default Magento 2 theme being a bit meh.
GameShop
A Magento 2 extension that turns my store into a retro RPG shop, shopkeeper and menus included. Vue, Tailwind, and custom REST endpoints.

What annoyed me: My 2010 Zelda timeline post was a wall of text.
Zelda timeline
So now it's an interactive timeline, from Skyward Sword to Tears of the Kingdom, with all three eras after the split.