Changelog

v3.8.008-17-2026

  • add build-time tweet snapshots so embedded posts render without client-side fetches
  • cache tweet media locally and validate snapshot data before rendering
  • retry interrupted snapshot responses, bound media downloads, and preserve malformed responses for debugging
  • fix tweet dates, video controls, and snapshot schema edge cases
  • add a site-wide search lightbox with keyboard navigation and a clear action
  • index notes, books, writing, poetry, films, artifacts, skills, websites, and people
  • add literal Unicode-aware matching with correct case folding and visible match boundaries
  • crop result snippets on grapheme boundaries so emoji and combined characters stay intact
  • open the first item automatically when entering a content section
  • prevent an empty-panel transition when switching tabs
  • consolidate the Skills catalog
  • add visual field guides and diagrams to the Liminal Thinking note
  • add August links, two design reflections, new books, and new people

v3.7.007-31-2026

  • add a monthly links hub with one entry per month and dates derived from each file
  • route monthly links through nested list and reader panels
  • add canonical /notes/links/[month] URLs and network-level redirects for legacy links
  • clear nested link state when navigating between sections
  • validate old links routes before redirecting them
  • add a nested Bible study structure for sermon notes
  • add the Love Is essay
  • add the Git worktrees artifact
  • add technology readings, Kranzberg's laws, and Liminal Thinking notes
  • add July links and recent books, films, websites, quotes, and people
  • adjust content-panel controls and clarify list metadata
  • reduce non-title heading sizes in prose

v3.6.006-22-2026

  • rename Reference to Artifacts and add summaries and tables of contents to artifact readers
  • add zoomable image previews to long-form content
  • add article preview cards to tweet embeds
  • add poster previews to the Films list
  • add bookshelf cover images
  • add iframe demos for the iframe explainer artifact
  • add the config microsite to Playground
  • add the Internet Field Notes guestbook
  • add the Learning to Learn artifact
  • add my Chinese name and pronunciation popover to the About page
  • add the Dear Nenny note and new book, film, website, and people entries
  • remove Supabase auth middleware from public routes
  • improve responsive sizing for the Design Map and Altitude demos

v3.5.006-01-2026

  • add the Choose Your Altitude essay with a table of contents, scroll spy, diagrams, and three interactive demos
  • add the Detour case study with an embedded product preview
  • add the a16z Design Engineer Fellowship page and fullscreen playground entry
  • extend keyboard navigation across tabs and adjacent panels with Shift + arrow keys
  • parse inline markdown recursively inside link labels
  • add responsive layouts for writing readers, demos, and embedded previews
  • allow writing preview panels to collapse
  • share one resizable shell across list panels and keep resize handles aligned and draggable
  • add a command-key chat hint and new chat icon
  • add the monorepo explainer and iframe explainer references
  • add a people directory for designers and engineers I admire
  • add motion-driven Colophon transitions and fix its panel layering
  • add an ESLint flat config for the web app

v3.4.005-18-2026

  • expand floGPT with voice input, a recording waveform, custom caret, compact message bubbles, and a broader first-person prompt
  • add chat suggestions and a keyboard shortcut hint
  • filter draft notes and skills from production builds
  • add design tokens for typography, motion, shadows, and z-index layers
  • replace the custom select menu with Base UI and polish shared buttons
  • add inline favicons, copy buttons for code blocks, and writtenBy authorship metadata
  • add the Playground section with interactive note demos and fullscreen previews
  • add the Skills section with generated skill pages and GitHub source links
  • add custom cached tweet embeds with image and video support
  • make the content panel resizable and allow double-clicking resize handles to restore their default widths
  • add an animated 404 page with typed text and a progressive content reveal
  • add the Colophon popover to the footer
  • add Reference pages for canvas rendering, agentic coding tools, inline favicons, and custom hooks

v3.3.005-14-2026

  • add floGPT - a chat panel that answers questions about Flo in first person
  • spiral loader animation (Lottie) plays while the response generates
  • system prompt includes background, writing, origin, cities lived in
  • tokenize chat font sizes as --text-chat-body and --text-chat-user
  • fix CSS import ordering in globals.css - move all @imports to top to satisfy Tailwind v4
  • add Building floGPT note

v3.2.005-04-2026

  • extract ListItemButton and IconButton as shared UI components
  • refactor all list views to use ListItemButton (notes, writing, poetry, films, bookshelf)
  • replace raw icon buttons with Button variant="icon" in content panel and mobile menu

v3.1.003-17-2026

v3.012-12-2025

  • refactor content architecture from HTML strings to structured AST nodes
  • fix SSR hydration issues by removing DOMParser dependency
  • add type-safe content rendering with TypeScript definitions
  • improve debuggability with inspectable structured data
  • create architecture documentation

v2.811-24-2025

  • fix navigation flicker by using shared layout
  • add panel width persistence to localStorage
  • fix routing state initialization
  • add keyboard navigation easter egg (Shift + Up/Down to cycle through content)
  • add visual indicator for currently selected item
  • apply tighter letter-spacing on all headings
  • replace grey hover colors with subtle brown tones
  • remove dividers from list pages (notes, writing, poetry)
  • fix hydration error caused by localStorage panel widths
  • adjust reader spacing (tighter eyebrow-to-heading gap)
  • increase sidebar minimum width to prevent bookmark ribbon overflow

v2.711-19-2025

  • add "want to read" bookshelf section
  • add genre tags for books
  • add genre filter to bookshelf controls
  • add collapsible bookshelf sections

v2.611-15-2025

  • add bookshelf filter and sort controls
  • sticky bookshelf controls with divider
  • custom scrollbar styling

v2.511-13-2025

  • init dynamic og images
  • refactor app page to be server side
  • add nested bullet parsing

v2.411-02-2025

v2.310-31-2025

  • polaroid photo component
  • .webp img optimization script

v2.210-28-2025

  • init changelog
  • init rss

v2.110-27-2025

v2.010-26-2025

  • init