Writing
Build logs and incident write-ups. The answer comes first.
-
Replacing my scraping layer with Tavily Extract and Crawl
Tavily Extract and Crawl replaced the fetch-and-parse stage of an ingestion pipeline. Serper still handles discovery. Everything after the URL list is now one API call instead of code I maintain.
-
Rebuilding the portfolio for mobile: a week of decisions
A desktop-first site does not become a mobile site with breakpoints alone. I split layouts by page, kept one data source, built design tokens without a component library, and cut anything a phone visitor would not use.
Follow along with the RSS feed.