{"podcast":{"title":"devtools.fm: Developer Tools, Open Source, Software Development","slug":"devtools-fm","podcast_index_feed_id":3745116,"rss_url":"https://anchor.fm/s/dd6922b4/podcast/rss","website_url":"https://devtools.fm","image_url":"https://d3t3ozftmdmh3i.cloudfront.net/staging/podcast_uploaded_nologo/37046549/ce6a315e5ecf42d2.jpeg","author":"Andrew Lisowski, Justin Bennett","episode_count":172,"summary":"A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).","last_synced_at":null,"page_url":"https://stenobird.com/podcast/devtools-fm"},"episode":{"title":"Joel Griffith - Browserless","slug":"joel-griffith-browserless","published_at":"2026-02-16T06:07:57+00:00","page_url":"https://stenobird.com/podcast/devtools-fm/joel-griffith-browserless","show_page_url":"https://stenobird.com/podcast/devtools-fm","url":"https://podcasters.spotify.com/pod/show/devtoolsfm/episodes/Joel-Griffith---Browserless-e3f5an6","audio_url":"https://anchor.fm/s/dd6922b4/podcast/play/115566758/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2026-1-16%2F418184315-44100-2-e1aa1ae595d97.m4a","summary":"Browser automation is notoriously difficult to scale due to infrastructure dependencies and fragile environments. Joel Griffith explains how Browserless simplifies this by providing a managed service and BrowserQL to turn the web into a queryable API.","meta_description":"Learn how Browserless solves the complexities of headless browser scaling and introduces BrowserQL for SQL-like web data extraction.","key_points":["Main idea: Browser automation is shifting from a testing-centric focus to a data-extraction utility via managed cloud browsers","Practical takeaway: BrowserQL allows developers to use a GraphQL-inspired language to structure web data without managing complex Node.js environments","Failure mode: Running headless browsers locally or in custom Docker containers often leads to 'dependency hell' with mismatched Node or Ubuntu packages","Main idea: The 'internet as an API' concept bridges the gap for legacy systems that lack modern REST endpoints","Practical takeaway: Leveraging AI to solve 'boring' automation problems can significantly accelerate development workflows"],"chapters":[{"start_ms":60000,"title":"From Jazz Trumpet to Browserless CEO","summary":"Joel discusses his transition from a professional musician to an engineer driven by the need to solve personal automation problems."},{"start_ms":520000,"title":"The Infrastructure Burden of Headless Browsers","summary":"An exploration of why managing Playwright or Puppeteer at scale is difficult due to fragile environment dependencies."},{"start_ms":1210000,"title":"Turning the Web into an API","summary":"The philosophy behind BrowserQL and using structured, SQL-like queries to extract data from sites without official APIs."},{"start_ms":1695000,"title":"Simplifying the Developer Experience","summary":"How Browserless abstracts away complex asynchronous logic like promises and race conditions for the end user."},{"start_ms":2385000,"title":"The Ethics and Economics of Web Scraping","summary":"A discussion on the tension between open data access and the security/legal concerns of automated scraping."},{"start_ms":2865000,"title":"Automation in the Age of AI","summary":"Reflections on how AI-generated code and new automation tools are rapidly changing the software development landscape."}],"topics":["Browser Automation","Web Scraping","Headless Browsers","BrowserQL","Cloud Infrastructure","Playwright","Puppeteer","Data Extraction","Software Engineering"],"duration_seconds":3103,"processing_state":"processed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/devtools-fm/episodes/joel-griffith-browserless/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/devtools-fm/joel-griffith-browserless.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}