← Previous · All Episodes · Next →
LLM junk food w/ Justin Duke S3E2

LLM junk food w/ Justin Duke

· 58:34

|
Justin Duke, who runs Buttondown, calls himself a "radical LLM centrist." About two-thirds of Buttondown's merged code comes from LLMs, but he still pushes back on the most extreme software factory takes. He and Matt talk about why most "factories" are only tuned for throughput and why so much agent work is snacking: low effort and low value. They also get into the rise of fake third-party services, and whether Kanban is a warning about borrowing manufacturing ideas without the principles behind them. Plus: a huge pile of regexes, CI that rejects PRs without screenshots, and why Buttondown's Storybook has quietly become its staging server.

Mentioned in this episode
  • Snacks are cheaper and tastier than ever: Justin's post on how LLMs make low-effort, low-value work very tempting. You get the rush of 15 merged PRs and no effect on customers. It pairs well with his Be careful what you make easier.
  • PlanetScale's self-improving database: Both teams feed PlanetScale's Insights and schema recommendations to agents that open PRs, some of which merge automatically. It's close to a free lunch, though Justin argues it's also where the factory metaphor breaks, since real factories don't improve themselves.
  • Linear Customer Requests: Justin's favorite little-used Linear feature. You link issues to customers along with their revenue, so "who's asking for this, and does it change whether they churn?" gets answered before an agent starts on the backlog.
  • Plain: Buttondown's support tool. Instead of sending every thread to an LLM classifier the way Plain would like, they use a "staggeringly terrifying" pile of regexes that's easy to improve over time. Matt's team went the same way, with LLMs writing the regex instead of being the classifier.
  • StrongDM's Digital Twin Universe: This is the software factory's take on the manufacturing "digital twin." StrongDM had agents build clones of Okta, Jira and Slack from their public API docs so they could run thousands of test scenarios an hour.
  • Miniflare vs. stripe-mock: What matters most in a fake service is keeping state. Cloudflare's local simulator remembers what you did. With Stripe's mock, if you create a customer and then list customers, you get an empty list.
  • Litmus / Email on Acid: Testing email rendering still means somebody keeping a headless Windows XP box running. Now it's much cheaper to build that kind of internal tool yourself.
  • Storybook + Buttondown's demo site: Buttondown's "storybook maximalist" setup has stories for every page, component and transactional email, all snapshot tested. The public demo site with realistic data covers everything else, so they barely use their old staging server.
  • Rails forensics skill for CVE-2026-66066: After the Active Storage image-upload RCE, known as KindaRails2Shell, 37signals released agent skills that check whether you were vulnerable and whether you were actually exploited. A small team would never have done that kind of investigation before.
  • The productivity paradox: Justin asks why GDP hasn't grown with technology. His test for LLMs is what they let you do that your people and budget couldn't do three years ago.

Thank you to this season’s sponsor Laravel Cloud. Laravel Cloud is expanding beyond PHP to host your Rails, Node, or Django apps. For early access to the best place to host your app, email haley@laravel.com and mention YAGNI

Subscribe

Listen to YAGNI using one of many popular podcasting apps or directories.

Apple Podcasts Spotify Overcast Pocket Casts
← Previous · All Episodes · Next →