Show HN: Lightpanda, an open-source headless browser in Zig

Overview & Goals

  • Lightpanda is a headless, non-Chromium/WebKit browser written in Zig, using V8.
  • It targets AI-centric workloads: LLM training, agents, scraping, SERP, and general web automation.
  • Major design choice: no graphical rendering; focus on DOM, XHR, Fetch, and other Web APIs over time.

Performance & Resource Usage

  • Claims of ~10x lower RAM and faster startup than headless Chrome; attributed largely to skipping rendering.
  • Some argue benchmarks on trivial pages are misleading and that real-world, JS-heavy sites may erase the advantage.
  • Others note even if AI compute dominates cost, browser efficiency still matters at scale (tens of millions of pages/day).
  • Concern that adding missing Web APIs and features may increase resource usage over time; maintainer expects gains to mostly persist.

Compatibility & Web APIs

  • Currently supports only a subset of APIs; many real sites fail or crash.
  • Goal is Chrome-like coverage while remaining lightweight.
  • No current work on bypassing bot detection; likely to trigger existing fingerprinting/anti-bot solutions as it matures.

Use Cases & Headless vs Headful

  • Proposed uses: AI agents, scraping dynamic sites, e2e testing, large-scale crawls, embedding in other apps, potential WASM/Cloudflare Workers.
  • Some testers report crashes on common sites; project acknowledged as work-in-progress.
  • Headless is seen as necessary for large-scale, server-side workloads; others note headful automation plus VNC/Xvfb can avoid captchas but doesn’t scale nicely.

Ethics, robots.txt, and Abuse

  • Strong debate about enforcing ethical crawling:
    • One side wants mandatory robots.txt compliance and throttling with no override.
    • Others call that “crippling” or akin to DRM, arguing tools should empower users and that abuse will just move to forks.
    • Compromise suggestions: sane defaults, easy but explicit opt-out, layered defenses on the server side.

JS Engine, Embedding & Licensing

  • V8 chosen for maturity and documentation; future support planned for lighter engines like QuickJS/Kiesel and potentially non-JIT modes.
  • Plans for C ABI and WASM embedding to use Lightpanda like a library.
  • Licensed AGPL to keep cloud modifications open; underlying JS runtime is Apache 2.0. Some question if AGPL may limit adoption.

Architecture Choices

  • Question raised: why not fork Chromium and strip rendering?
  • Response: rendering is too entangled in Chromium; starting from scratch offers cleaner architecture and easier LLM integration, at the cost of long-term standards maintenance.