Skip to content
JR Cottam

Notes

Search notes and jump to a post. Press ⌘K (Mac) or Ctrl+K (Windows) to open anytime.

Learnings from the field

Notes

Shipping more than ever—or just think you are? Let's measure it.

Every team thinks they're shipping fast. Most have no way to prove it. Here's a self-hosted dashboard architecture that turns GitHub, ADO, and Cursor data into one honest view.

Read (4 min) →

Build MCP Servers on Your Favorite Stack

MCP servers don't play nicely with Bun and Hono out of the box. Vercel's mcp-handler fixes that. Here's exactly how I set it up.

Read (4 min) →

Stream AI Responses in Production

Batch responses make AI feel slow. Streaming fixes the perception problem. Here's the pattern I use with Hono and the Vercel AI SDK.

Read (2 min) →

How I Actually Use Claude Code

Not as an autocomplete. Not as a search engine. Here's the workflow that makes it genuinely useful for production engineering.

Read (3 min) →

Cypress.io in a React App in Under 5 Minutes

How to install Cypress, write your first test, test UI interactions, and verify mobile layouts — all in a React app you can clone and run today.

Read (2 min) →

Progressive Image Loading with Cloudinary

How to use Cloudinary's real-time image transformations to serve low-quality placeholders before high-quality images load — reducing flicker, bandwidth, and perceived wait time.

Read (2 min) →

Running Nuxt in Parallel with Express

How to wire Nuxt and Express together so you get server-side rendering for the frontend and a real API layer on the backend — both in one Node process.

Read (1 min) →

Subscribe to my notes

Stay in the loop on what I'm building and thinking about.