[{"data":1,"prerenderedAt":633},["ShallowReactive",2],{"project-42817439":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":45,"post_text":48,"what":49,"said":85,"maker_in_thread":212,"shape":223,"grid":227,"attempts":591,"same_week":596,"maker_shows":38,"maker_hidden":625,"reader_version":626,"card":627},"42817439","Lightpanda","An open-source headless browser in Zig","title","Show HN: Lightpanda, an open-source headless browser in Zig","https:\u002F\u002Fgithub.com\u002Flightpanda-io\u002Fbrowser","github.com","fbouvier",1737756932,2025,319,137,159,3837,5,"legend","dev_tools","headless browser","other",[21,24,25,26,27],"web scraping","zig","cdp","puppeteer","curious",-0.113,{"positive":31,"neutral":32,"mixed":33,"critical":34},6,32,2,13,53,{"idea":37,"performance":39,"execution":41,"design":42,"docs":43,"pricing":44},{"positive":38,"critical":18},1,{"positive":40,"critical":38},0,{"positive":40,"critical":33},{"positive":38,"critical":33},{"positive":40,"critical":40},{"positive":40,"critical":40},[46,40,46,46,38,46,46,47,40,40,40,38,40,46,40,40,46,46,18,18,38,38,38,46,40,46,38,38,46,38,38,40,46,46,46,38,46,47,18,38],3,4,"We’re Francis and Pierre, and we're excited to share Lightpanda (https:\u002F\u002Flightpanda.io), an open-source headless browser we’ve been building for the past 2 years from scratch in Zig (not dependent on Chromium or Firefox). It’s a faster and lighter alternative for headless operations without any graphical rendering.\n\nWhy start over? We’ve worked a lot with Chrome headless at our previous company, scraping millions of web pages per day. While it’s powerful, it’s also heavy on CPU and memory usage. For scraping at scale, building AI agents, or automating websites, the overheads are high. So we as",{"problem":50,"audience":56,"pricing":63,"motivation":64,"time_to_build":63,"stack":68,"openness":82,"stage":83,"team_size":84},{"value":51,"source":52,"evidence":53},"Chrome headless is heavy on CPU and memory for scraping, AI agents and automation","maker",[54],{"id":55},"post",{"value":57,"source":52,"evidence":58},"Developers doing web scraping, AI agents, and web automation",[59,60],{"id":55},{"id":61,"by":11,"text":62},"42812928","Author here. The browser is made from scratch (not based on Chromium\u002FWebkit), in Zig, using v8 as a JS engine. Our idea is to build a lightweight browser optimized for AI use…",null,{"value":65,"source":52,"evidence":66},"Previous company scraping millions of pages per day with Chrome headless was too heavy on CPU and memory",[67],{"id":55},[69,73,78],{"value":70,"source":52,"evidence":71},"Zig",[72],{"id":55},{"value":74,"source":52,"evidence":75},"V8 JavaScript engine",[76,77],{"id":55},{"id":61,"by":11,"text":62},{"value":79,"source":52,"evidence":80},"Netsurf libs for HTML parsing",[81],{"id":55},"open_source","beta","team",{"praise":86,"objections":99,"requests":137,"questions":166,"alternatives":185},[87],{"value":88,"source":89,"evidence":90},"Interesting project and cool tech","commenter",[91,95],{"id":92,"by":93,"text":94},"42820090","psanchez","I think this is a really cool project. Scrapping aside, I would definitely use this with playwright for end2end tests if it had 100% compatibility with chrome and ran with a…",{"id":96,"by":97,"text":98},"42820445","randomMatrix101","Very cool project, congrats guys!",[100,108,118,122],{"value":101,"source":89,"evidence":102},"Many websites fail or crash; the hello world example panics",[103,107],{"id":104,"by":105,"text":106},"42816664","frankgrecojr","The hello world example does not work. In fact, no website I've tried works. It's usually always panics. For the example in the readme, the errors are: ```…",{"id":61,"by":11,"text":62},{"value":109,"source":89,"evidence":110},"RAM savings may not hold on real-world websites",[111,115],{"id":112,"by":113,"text":114},"42814724","JoelEinbinder","When I've talked to people running this kind of ai scraping\u002Fagent workflow, the costs of the AI parts dwarf that of the web browser parts. This causes computational cost of the…",{"id":116,"by":113,"text":117},"42815163","The benchmark shows lower ram usage on a very simple demo website. I expect that if the benchmark ran on a random set of real websites, ram usage would not be meaningfully lower…",{"value":119,"source":89,"evidence":120},"AI costs dwarf browser costs, so browser efficiency matters little",[121],{"id":112,"by":113,"text":114},{"value":123,"source":89,"evidence":124},"Bot detection and captchas may block it",[125,129,133],{"id":126,"by":127,"text":128},"42816607","gwittel","Interesting. Looks really neat! How do you deal with anti bot stuff like Fingerprintjs, Cloudflare turnstile, etc? Maybe you’re new enough to not get flagged but I find this (and…",{"id":130,"by":131,"text":132},"42819592","stuckkeys","How does it do against captchas?",{"id":134,"by":135,"text":136},"42817524","zlagen","what do you think would be the use cases for this project? being lightweight is awesome but usually you need a real browser for most use cases. Testing sites and scraping for…",[138,145,152,159],{"value":139,"source":89,"evidence":140},"Robots.txt compliance and throttling by default",[141],{"id":142,"by":143,"text":144},"42815546","bityard","Please put a priority on making it hard to abuse the web with your tool. At a _bare_ minimum, that means obeying robot.txt and NOT crawling a site that doesn't want to be…",{"value":146,"source":52,"evidence":147},"Better web API coverage",[148,151],{"id":149,"by":11,"text":150},"42814894","The most important \"feature\" is to increase our Web APIs coverage :) But of course we plan to add others features, including - tight integration with LLM - embed mode (as a C…",{"id":61,"by":11,"text":62},{"value":153,"source":89,"evidence":154},"Selenium support",[155],{"id":156,"by":157,"text":158},"42818490","867-5309","does this work with selenium\u002Fchromedriver?",{"value":160,"source":89,"evidence":161},"Support for puppeteer-extra stealth plugin",[162],{"id":163,"by":164,"text":165},"42814729","dtj1123","Very nice. Does this \u002F will this support the puppeteer-extra stealth plugin?",[167,174,181],{"value":168,"source":89,"evidence":169},"Which JS engines were considered and why V8",[170],{"id":171,"by":172,"text":173},"42814730","sesm","Great job! And good luck on your journey! One question: which JS engines did you consider and why you chose V8 in the end?",{"value":175,"source":89,"evidence":176},"Does it work on Linux",[177],{"id":178,"by":179,"text":180},"42821198","msoad","Does it work nicely on Linux? I'm very curious about this",{"value":182,"source":89,"evidence":183},"How it handles anti-bot systems",[184],{"id":126,"by":127,"text":128},[186,191,198,205],{"value":187,"source":89,"evidence":188},"Chrome headless",[189,190],{"id":116,"by":113,"text":117},{"id":92,"by":93,"text":94},{"value":192,"source":89,"evidence":193},"WebKit via Playwright",[194],{"id":195,"by":196,"text":197},"42816943","nwienert","Playwright can run webkit very easily and it's dramatically less resource-intensive than Chrome.",{"value":199,"source":89,"evidence":200},"Camoufox and SecretAgent",[201],{"id":202,"by":203,"text":204},"42818518","bdhcuidbebe","How well does it compare to specialized headless scraper browsers, like camoufox (firefox based) or secret agent (chrome based)? Either should reduce your ram usage compared to…",{"value":206,"source":89,"evidence":207},"QuickJS-based Elinks",[208],{"id":209,"by":210,"text":211},"42863707","niutech","How about using QuickJS instead of full-blown V8? For example, Elinks has support for SpiderMonkey, QuickJS, MuJS: https:\u002F\u002Fgithub.com\u002Frkd77\u002Felinks\u002Fblob\u002Fmaster\u002Fdoc\u002Fecmascript.txt…",{"comments":213,"answered":214,"key":215},23,14,[216,217,220],{"id":61,"text":62},{"id":218,"text":219},"42815229","I believe it will be still significantly lower as we skip the graphical rendering. But to validate that we need to increase our Web APIs coverage.",{"id":221,"text":222},"42815171","The cost of the browser part is still a problem. In our previous startup, we were scraping >20 millions of webpages per day, with thousands of instances of Chrome headless in…",{"commenters":224,"max_depth":225,"maker_replies":213,"first_comment_mins":40,"lifespan_hours":226},87,10,109,[228,230,234,236,240,241,243,244,248,250,253,256,259,262,263,265,267,271,273,277,278,281,282,285,287,290,294,296,299,302,304,307,310,313,316,318,321,323,325,328,331,334,336,339,342,344,347,350,352,355,358,361,364,367,370,373,376,379,381,383,386,389,391,392,394,398,402,404,406,408,410,413,417,420,423,425,428,430,433,436,439,443,445,447,450,453,456,459,460,462,464,465,468,470,472,476,478,481,484,487,490,492,495,499,502,504,508,510,513,515,518,521,523,526,528,532,534,536,538,540,543,546,548,550,552,555,559,562,566,569,573,575,579,581,583,587,589],[61,40,40,229,11,38],"maker\u002Fneutral\u002Fidea",[231,40,46,232,233,40],"42814673","project\u002Fneutral\u002Fnone","toobulkeh",[112,40,40,235,113,40],"commenter\u002Fcritical\u002Fperformance",[237,40,40,238,239,40],"42815086","commenter\u002Fneutral\u002Fnone","refulgentis",[116,40,40,235,113,40],[218,40,40,242,11,38],"maker\u002Fneutral\u002Fperformance",[221,40,40,242,11,38],[245,40,40,246,247,40],"42815456","commenter\u002Fneutral\u002Fperformance","Tostino",[249,40,40,242,11,38],"42815601",[251,40,46,252,247,40],"42815636","project\u002Fneutral\u002Fidea",[254,40,40,246,255,40],"42819510","cxr",[257,40,46,242,258,40],"42816523","cush",[260,40,40,261,11,38],"42822006","maker\u002Fneutral\u002Fnone",[195,40,40,246,196,40],[264,40,40,246,11,38],"42817875",[202,40,46,266,203,40],"project\u002Fneutral\u002Fperformance",[268,40,38,269,270,40],"42820785","project\u002Fcritical\u002Fperformance","whatevaa",[178,40,46,272,179,40],"project\u002Fneutral\u002Fexecution",[274,40,40,275,276,40],"42818690","other\u002Fneutral\u002Fnone","radium3d",[209,40,46,266,210,40],[279,40,40,275,280,40],"42821064","szundi",[163,40,46,232,164,40],[283,40,46,261,284,40],"42814865","katiehallett",[171,40,18,286,172,40],"maker\u002Fpositive\u002Fnone",[288,40,40,289,11,38],"42814844","project\u002Fneutral\u002Fdesign",[291,40,18,292,293,40],"42819242","maker\u002Fpositive\u002Fdesign","ksec",[142,40,38,295,143,40],"maker\u002Fcritical\u002Fnone",[297,40,40,238,298,40],"42815962","gkbrk",[300,40,40,238,301,40],"42816001","tossandthrow",[303,40,40,238,298,40],"42816030",[305,40,40,238,306,40],"42816247","blacksmith_tb",[308,40,40,238,309,40],"42817655","benatkin",[311,40,40,238,312,40],"42821168","concerndc1tizen",[314,40,40,238,315,40],"42821462","cies",[317,40,40,238,312,40],"42821470",[319,40,40,238,320,40],"42816851","JambalayaJimbo",[322,40,40,275,312,40],"42821175",[324,40,40,275,301,40],"42822947",[326,40,38,327,143,40],"42816195","project\u002Fcritical\u002Fnone",[329,40,40,238,330,40],"42817082","randunel",[332,40,40,238,333,40],"42817684","samatman",[335,40,40,238,309,40],"42817693",[337,40,40,275,338,40],"42822351","calvinmorrison",[340,40,40,238,341,40],"42822787","GuB-42",[343,40,46,232,309,40],"42817710",[345,40,40,238,346,40],"42818942","cchance",[348,40,40,238,349,40],"42819438","xena",[351,40,40,238,346,40],"42826892",[353,40,40,238,354,40],"42819586","MichaelMoser123",[356,40,40,238,357,40],"42819872","holoduke",[359,40,40,238,360,40],"42821560","internet_points",[362,40,40,275,363,40],"42823348","andrethegiant",[365,40,40,238,366,40],"42822191","hombre_fatal",[368,40,40,238,369,40],"42822965","buzzerbetrayed",[371,40,40,275,372,40],"42823085","bsnnkv",[374,40,40,238,375,40],"42824195","mpalmer",[377,40,46,266,378,40],"42815780","afk1914",[380,40,40,242,11,38],"42815931",[382,40,46,232,349,40],"42815872",[384,40,46,232,385,40],"42840044","dolmen",[387,40,46,232,388,40],"42817053","danielsht",[390,40,40,261,11,38],"42817232",[156,40,46,232,157,40],[393,40,40,261,11,38],"42818497",[395,40,18,396,397,40],"42818771","project\u002Fpositive\u002Fnone","keepamovin",[399,40,46,400,401,40],"42820506","project\u002Fneutral\u002Fdocs","returnofzyx",[403,40,40,261,11,38],"42820685",[405,40,18,396,401,40],"42821631",[407,40,46,232,210,40],"42863671",[104,38,38,409,105,40],"project\u002Fcritical\u002Fexecution",[411,38,40,238,412,40],"42818479","lbotos",[414,38,38,415,416,40],"42819267","project\u002Fcritical\u002Fdesign","zelcon",[418,38,40,238,419,40],"42819795","hansvm",[421,38,38,409,422,40],"42819951","jbggs",[424,38,40,238,419,40],"42825474",[426,38,38,415,427,40],"42820734","IshKebab",[429,38,40,238,419,40],"42825560",[431,38,40,238,432,40],"42819912","igorguerrero",[434,38,40,238,435,40],"42820953","steeve",[437,38,40,238,438,40],"42821221","audunw",[440,38,46,441,442,40],"42820633","maker\u002Fneutral\u002Fexecution","krichprollsch",[92,33,46,444,93,40],"project\u002Fmixed\u002Fpricing",[446,33,40,286,11,38],"42820670",[448,46,40,275,449,40],"42814807","weinzierl",[451,46,40,275,452,40],"42816237","nicoburns",[454,47,40,275,455,40],"42817449","dang",[457,18,46,232,458,40],"42814613","cropcirclbureau",[149,18,40,229,11,38],[461,18,46,232,363,40],"42815642",[463,18,40,261,11,38],"42815763",[126,31,46,232,127,40],[134,466,38,467,135,40],7,"project\u002Fcritical\u002Fidea",[469,466,40,229,11,38],"42817824",[471,466,38,467,135,40],"42818994",[473,474,46,232,475,40],"42814620",8,"m3kw9",[477,474,46,289,284,40],"42814714",[479,474,46,232,480,40],"42815232","wiradikusuma",[482,474,40,483,11,38],"42815333","maker\u002Fneutral\u002Fdesign",[485,474,46,252,486,40],"42818211","codetrotter",[488,474,40,238,489,40],"42815363","chrisweekly",[491,474,46,232,385,40],"42815366",[493,474,38,467,494,40],"42816611","10000truths",[496,474,40,497,498,40],"42820627","other\u002Fneutral\u002Fidea","emporas",[500,474,40,275,501,40],"42822223","aniviacat",[503,474,40,275,498,40],"42823833",[505,506,38,327,507,40],"42815712",9,"cratermoon",[509,506,40,261,11,38],"42815905",[511,506,40,238,512,40],"42815954","jjcoffman",[514,506,40,261,11,38],"42816142",[516,506,40,238,517,40],"42816433","slt2021",[519,506,40,238,520,40],"42816507","sangnoir",[522,506,40,238,419,40],"42819824",[524,225,46,229,525,40],"42814859","Kathc",[527,225,46,229,284,40],"42814928",[529,225,46,530,531,40],"42817697","project\u002Fmixed\u002Fperformance","corford",[533,225,40,238,135,40],"42819004",[535,225,40,261,11,38],"42822064",[537,225,40,238,419,40],"42819804",[539,225,46,266,385,40],"42815319",[541,542,38,467,416,40],"42819259",11,[544,542,40,238,545,40],"42819495","tetris11",[547,542,40,238,416,40],"42819533",[549,542,40,238,255,40],"42819675",[551,542,40,229,11,38],"42820583",[553,542,40,238,554,40],"42824082","oever",[556,557,46,400,558,40],"42818910",12,"the__alchemist",[560,557,40,238,561,40],"42818972","AndyKelley",[563,34,18,564,565,40],"42822613","project\u002Fpositive\u002Fidea","evanjrowley",[567,214,46,252,568,40],"42816556","surfmike",[570,571,46,229,572,40],"42815545",15,"kavalg",[574,571,40,229,11,38],"42815694",[576,577,40,275,578,40],"42820720",16,"optixyt",[96,580,18,396,97,40],17,[130,582,46,232,131,40],18,[584,585,38,467,586,40],"42815357",19,"monkmartinez",[588,585,40,238,11,38],"42815492",[590,585,40,238,11,38],"42815565",[592,595],{"id":593,"t":594,"points":466,"comments":40},"42430629",1734354382,{"id":4,"t":12,"points":14,"comments":15},[597,601,606,611,616,621],{"id":598,"name":599,"points":600,"category":20},"42814110","Cs16.css",819,{"id":602,"name":603,"points":604,"category":605},"42800893","t4t",484,"consumer_social",{"id":607,"name":608,"points":609,"category":610},"42834648","DeepSeek My User Agent",360,"ai",{"id":612,"name":613,"points":614,"category":615},"42828833","Bagels",283,"productivity",{"id":617,"name":618,"points":619,"category":620},"42806616","video-starter-kit",268,"creative",{"id":622,"name":623,"points":624,"category":605},"42838875","Podcatcher",226,false,"v2",{"id":628,"name":5,"line":6,"ai":625,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":629,"top":18,"kw":630,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":631,"url":9,"mix":632,"praise":88,"objection":101,"sub":21},42817439,-0.11,[21,24,25,26,27],"3033133400010300335511130311311033313451",[31,32,33,34],1793991111520]