Skip to main content

8 posts tagged with "tooling"

View All Tags

Generating Blog Covers and Social Cards With an Image MCP Server for Claude Code

· 13 min read
Pere Pages
Software Engineer
A blog post cover being assembled from a title card and an AI-generated illustration

Every post on this blog needs two images that do completely different jobs: a social card that has to earn a click in a feed, and an inline hero that opens the article. This post is about how the blog makes both — a typographic default that costs nothing, an opt-in artificial-intelligence (AI) cover that costs about four cents, and the little Model Context Protocol (MCP) server that wires an image model straight into Claude Code. The cover above was made by that exact pipeline.

How JavaScript Bundlers Work: A Field Guide from 2012 to 2026

· 14 min read
Pere Pages
Software Engineer
Editorial illustration of scattered code modules flowing along conveyor belts into a funnel that outputs a few neat, bundled packages

Bundlers are the most invisible critical infrastructure in frontend development. Every npm run dev and every continuous-integration (CI) pipeline runs through one, yet most of us only think about them when something breaks or when a migration guide lands in our feed. This post is an attempt to fix that: what a bundler actually does under the hood, how we got from script tags to Rust toolchains, which tool owns which niche today, and where the whole thing is heading.

How to Test Open Graph Tags Locally Before You Deploy

· 4 min read
Pere Pages
Software Engineer
A social link-preview card being checked on a laptop before publishing, joined by a local tunnel to social platform icons

https://ogp.me/

Testing Open Graph locally is a bit deceptive: your browser can see localhost, but Facebook, LinkedIn, Slack, Discord, X/Twitter, etc. cannot.

The best workflow is:

1. Check the HTML locally
2. Expose localhost with ngrok
3. Test the public URL in real social preview/debugger tools

Chrome plugins are useful for fast feedback, but the final validation should happen through a public HTTPS URL.

Building a Personal CLI Tool Without Global Node, npm, or TypeScript

· 4 min read
Pere Pages
Software Engineer
A handcrafted command-line tool assembled from small parts on a workbench beside a terminal emitting a custom command

I wanted a tiny CLI tool for a very specific workflow: take an image and expand its canvas to 1200x630, centered, without resizing the image itself. Useful for Open Graph images.

But the interesting part was not the image logic. The interesting part was this constraint:

I do not want global Node, npm, pnpm, TypeScript, or tsx.

That changes the setup.