Blog

  • The Living Library: A Full-Stack JavaScript Odyssey

    Explore the web stack as a poetic, orchestrated system of archives, couriers, and libraries—using Drizzle, React Query, Zustand, and more.

    October 9, 2024

  • Inspect Building Case Study

    Rewriting legacy city inspection workflows with Leaflet and Node.

    November 20, 2023

  • WCAG & Visual Hierarchy

    Building accessible UIs with semantic HTML and Tailwind.

    May 11, 2025

  • Accessibility Wins

    How minor tweaks like ARIA labels and color contrast drive big UX improvements.

    March 26, 2025

  • Dynamic Class Assignment in React with Template Literals

    Learn how to use template literals to dynamically assign classes in React for flexible, reusable components.

    June 3, 2024

  • Taming Tailwind

    A practical guide to mastering Tailwind CSS for clean, efficient, and scalable front-end development. Learn how to structure utilities, maintain design consistency, and optimize developer workflow with Tailwind.

    January 13, 2025

  • Actors, Scripts & APIs: A Gentle Guide to Next.js Components

    How Next.js components—static, client, and fetchers—work together to build fast, accessible apps.

    April 2, 2025

  • Three.js + Canvas

    Rendering structural energy data in browser with WebGL.

    2025-05-08