My posts on design.

I write about anything and everything that interests me.

Hands guide three sequential interface cards from image selection to a completed checkmark.

How Dropbox, DoorDash, Airbnb and Stripe designed their MVPs

Early UI and founder stories from Dropbox, DoorDash, Airbnb, Stripe, Zapier, and Product Hunt. What to design first, reuse, and leave for later.

Gold coins and a clock spiral into a deep blue vortex.

How to scope a SaaS project you can afford to finish

How I approach SaaS scope and pricing as a former agency owner and current freelancer, and what to ask when budgeting for design and development.

Illustration of a woman arranging portrait photographs on a green table, surrounded by plants and paper.

How to hire a freelance designer who can deliver

A founder’s guide to hiring a freelance designer: check real contributions, constraints, working fit, and delivery before committing to the work.

Seven colorful app icons float over a pastel sunset and ocean, including home, coffee, book, paper plane, binoculars, and sun.

How to generate animated icons with TypeScript

How I replaced my Lordicon nav icons with seven animated sprite icons drawn in TypeScript, rendered with sharp, and played on a canvas.

Pixel-art blue orb floats above a reflective lake beneath a starry, moonlit sky, with cursor.

How to build an interactive Grok Bot-like avatar

Build a Grok Bot-like avatar with SVG, Astro, and React. Add cursor tracking, expressive eyes, protective winks, and natural idle animations.

Framed mosaic-style painting of a coastal village beneath a warm sunset, with a cursor visible.

Building a Smooth Pixelation Reveal Effect with Canvas

How I built a high-performance, interactive pixelation effect for image transitions using HTML5 Canvas and custom easing interactions.

A vintage film reel unspools frames of blue pixel ghosts against a starry purple-orange background.

How to generate animated pixel art with AI and Python

How I built a pixel-perfect animated hero section using Midjourney, a custom Python processing pipeline, and Astro View Transitions.

HTML code on a dark screen points toward a hand cursor and bright blue interface.

Why I spent weeks perfecting a TOC component

A deep dive into building a Table of Contents component with sophisticated visual debugging and pixel-perfect active state detection.