Max

Blog

Jul 8, 2026

SEO and GEO Notes for Freelance Developers: Getting Found by Google and by AI

SEO gets you found on Google; GEO (Generative Engine Optimization) gets you cited when ChatGPT or Perplexity answers "recommend me a developer." How the two divide labor, and what to actually do — using homework I just did on this very site as the example.

  • SEO
  • GEO
  • Freelance
  • Structured Data
Jul 4, 2026

Some Thoughts on Using Claude Fable

This blog system, the dragon animation wiring, even this post itself — a lot of it came out of a running conversation with Claude Fable. Notes on what that actually felt like.

  • Claude Fable
  • AI
  • Claude Code
  • Vibe Coding
Jan 12, 2026

Next.js Static Export in Practice: One Codebase, Deployed to GitHub Pages and Vercel

How I turned a Next.js 15 App Router project into a fully static export and published it to both GitHub Pages and Vercel from a single repo — plus the pitfalls along the way.

  • Next.js
  • Static Export
  • GitHub Pages
  • Vercel
Dec 8, 2025

Putting a 3D Dragon on a Web Page with React Three Fiber: Performance and Mobile Trade-offs

How the flying dragon in my hero section works — compressing a GLB from 32MB to 1.8MB, flight paths, prefers-reduced-motion, and keeping it smooth on mobile.

  • React Three Fiber
  • Three.js
  • WebGL
  • Performance
Nov 3, 2025

Think Before You Build: Planning a Landing Page vs. a Corporate Website

Many clients open with 'I need a website,' when what they actually need may be a single page. On goals, content, budget, and maintenance — the essential planning differences between the two.

  • Freelance
  • Landing Page
  • Planning
  • SEO
Oct 6, 2025

Built to Work Without Signal: Field Notes on Offline-First PWA Design

Lessons from building the reporting system for Taiwan Trail Stewardship: no signal in the mountains, but an offline-first PWA lets users browse and report anyway, syncing when connectivity returns.

  • PWA
  • Service Worker
  • Offline
  • Drupal
Sep 15, 2025

A Web Performance Checklist, Starting from Core Web Vitals

What LCP, CLS, and INP each measure, why Google factors them into search ranking, and the practical checklist I run through on every optimization project.

  • Performance
  • Core Web Vitals
  • SEO
Aug 20, 2025

One Set of Styles for Dark and Light: Driving Your Color Scheme with CSS Variables

No duplicated styles, no JavaScript toggle — extract your palette into CSS variables and let prefers-color-scheme follow the system automatically. This very site works that way.

  • CSS
  • Dark Mode
  • Design System