Skip to main content

Beyond HTTP, Part 2: Two-Way Streets

· 9 min read
Pere Pages
Software Engineer
A browser window on the left and a server on the right joined by a broad channel carrying amber arrows flowing right and teal arrows flowing left at the same time, showing full-duplex two-way traffic

In Part 1 the server learned to talk without being asked — but the browser could still only listen. A chat, a multiplayer game, a collaborative editor: these need both sides speaking freely over one connection. This is Part 2 of the series, and it's about the browser's true two-way channels — WebSockets, the workhorse, and WebTransport, its modern successor.

Beyond HTTP, Part 1: When the Server Speaks First

· 11 min read
Pere Pages
Software Engineer
A server on the left streaming a one-way flow of glowing message arrows toward a browser window on the right, with a small notification bell above it

Plain HyperText Transfer Protocol (HTTP) has one stubborn rule: the browser asks, the server answers, and then the line goes dead. So how does a chat notification, a live score, or a stream of tokens from a language model reach a page that never asked again? This is Part 1 of a three-part tour of the browser's networking beyond request–response — and it starts with the three ways a server can reach you.

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

· 14 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.

What Actually Happens Before (and After) the Cloudflare "Verify you are human" Checkbox

· 13 min read
Pere Pages
Software Engineer
Editorial illustration of a request being intercepted and filtered at a global edge network before reaching an origin server

You've seen this screen a thousand times: a dark page, the domain name in bold, "Performing security verification", and a lonely checkbox with the Cloudflare logo. It feels like a speed bump, but there's a surprisingly rich pipeline behind it — and, importantly, none of it runs on the website's own servers.