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.