[{"data":1,"prerenderedAt":846},["ShallowReactive",2],{"project-46435308":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":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":46,"post_text":50,"what":51,"said":96,"maker_in_thread":209,"shape":221,"grid":224,"attempts":809,"same_week":810,"maker_shows":673,"maker_hidden":838,"reader_version":839,"card":840},"46435308","HackerBook","22 GB of Hacker News in SQLite","title","Show HN: 22 GB of Hacker News in SQLite","https:\u002F\u002Fhackerbook.dosaygo.com","hackerbook.dosaygo.com","keepamovin",1767114119,2025,730,221,37,3837,1,"legend","data","sqlite archive","web_app",[24,25,26,27,28],"hacker news","sqlite","wasm","offline archive","sharded database","curious",0.016,{"positive":32,"neutral":33,"mixed":18,"critical":34},16,35,14,66,{"execution":37,"idea":39,"performance":42,"design":44,"docs":45},{"positive":18,"critical":38},6,{"positive":40,"critical":41},9,0,{"positive":18,"critical":43},2,{"positive":18,"critical":38},{"positive":41,"critical":41},[47,41,41,41,41,48,48,47,47,18,48,47,47,41,18,48,41,48,41,49,41,41,18,18,47,48,43,43,48,43,18,47,18,49,48,49,41,48,47,48],5,3,4,null,{"problem":52,"audience":50,"pricing":50,"motivation":63,"time_to_build":50,"stack":67,"openness":93,"stage":94,"team_size":95},{"value":53,"source":54,"evidence":55},"Lets people browse and query all of Hacker News offline without downloading a full 22GB database","maker",[56,59],{"id":57,"by":11,"text":58},"46435316","Community, All the HN belong to you. When I made HN Made of Primes I realized I could probably do this offline sqlite\u002Fwasm thing with the whole GBs of archive. The whole dataset.…",{"id":60,"by":61,"text":62},"46436937","simonw","Don't miss how this works. It's not a server-side application - this code runs entirely in your browser using SQLite compiled to WASM, but rather than fetching a full 22GB…",{"value":64,"source":54,"evidence":65},"Maker wanted to keep HN data preserved offline and built it as a year-end gift to the community",[66],{"id":57,"by":11,"text":58},[68,73,77,83,89],{"value":69,"source":70,"evidence":71},"SQLite","commenter",[72],{"id":60,"by":61,"text":62},{"value":74,"source":70,"evidence":75},"SQLite compiled to WASM",[76],{"id":60,"by":61,"text":62},{"value":78,"source":54,"evidence":79},"Cloudflare Pages",[80],{"id":81,"by":11,"text":82},"46442020","Hey jacquesm! No, I just forgot to make it public. BUT I did try to push the entire 10GB of shards to GitHub (no LFS, no thanks, money), and after the 20 minutes compressing…",{"value":84,"source":54,"evidence":85},"Google BigQuery",[86],{"id":87,"by":11,"text":88},"46441390","You can see it now, forgot to make it public. - 1. download_hn.sh - bash script that queries BigQuery and saves the data to *.json.gz - 2. etl-hn.js - does the sharding and ID ->…",{"value":90,"source":54,"evidence":91},"Node.js ETL scripts",[92],{"id":87,"by":11,"text":88},"open_source","launched","unknown",{"praise":97,"objections":117,"requests":146,"questions":166,"alternatives":185},[98,106],{"value":99,"source":70,"evidence":100},"Clever sharded-file approach that avoids fetching the full database",[101,102],{"id":60,"by":61,"text":62},{"id":103,"by":104,"text":105},"46437180","tehlike","Vfs support is amazing.",{"value":107,"source":70,"evidence":108},"Fun and useful offline archive idea",[109,113],{"id":110,"by":111,"text":112},"46440119","kamranjon","It'd be great if you could add it to Kiwix[1] somehow (not sure what the process is for that but 100rabbits figured it out for their site) - I use it all the time now that I have…",{"id":114,"by":115,"text":116},"46439263","solarized","Beautiful ! 2026 prayer: for all you AI junkies—please don’t pollute H\u002FN with your dirty AI gaming. Don’t bot posts, comments, or upvote\u002Fdownvote just to maximize karma. Please.…",[118,129,139],{"value":119,"source":70,"evidence":120},"Site is slow to load and query performance is poor on large queries",[121,125],{"id":122,"by":123,"text":124},"46438133","dmarwicke","22gb for mostly text? tried loading the site, it's pretty slow. curious how the query performance is with this much data in sqlite",{"id":126,"by":127,"text":128},"46439282","kristianp","I tried \"select * from items limit 10\" and it is slowly iterating through the shards without returning. I got up to 60 shards before I stopped. Selecting just one shard makes…",{"value":130,"source":70,"evidence":131},"Does not work well on Firefox or Safari",[132,136],{"id":133,"by":134,"text":135},"46438509","Sn0wCoder","Site does not load on Firefox console error says 'Uncaught (in promise) TypeError: can't access property \"wasm\", sqlite3 is null' Guess its common knowledge that…",{"id":137,"by":11,"text":138},"46445527","No I've seen that error too, on Safari. I think it's related to the wasm being sent with wrong headers. CF pages _headers file should be ensuring correctness. Can you try busting…",{"value":140,"source":70,"evidence":141},"Design is hard to use on mobile",[142],{"id":143,"by":144,"text":145},"46443496","adamszakal","Is it a thing that the design is almost unusable on a mobile phone? The tech making this possible is beyond cool, but it's just presented in such a brutal way for phone users,…",[147,155,159],{"value":148,"source":70,"evidence":149},"Mobile-friendly layout",[150,151],{"id":143,"by":144,"text":145},{"id":152,"by":153,"text":154},"46446367","ComputerGuru","Awesome work. Minor bug\u002Fsuggestion: right-aligned text inputs (eg the username input on the “me” page) aren’t ideal since they are often obscured by input helpers (autocomplete…",{"value":156,"source":70,"evidence":157},"Offline archive packaging for Kiwix",[158],{"id":110,"by":111,"text":112},{"value":160,"source":70,"evidence":161},"Include comment scores in the archive",[162],{"id":163,"by":164,"text":165},"46440398","modeless","It's really a shame that comment scores are hidden forever. Would the admins consider publishing them after stories are old enough that voting is closed? It would be great to…",[167,178],{"value":168,"source":70,"evidence":169},"Where can the data be downloaded and is the repo public",[170,174],{"id":171,"by":172,"text":173},"46439002","KomoD","How do I download it? That repo is a 404.",{"id":175,"by":176,"text":177},"46439356","diyseguy","link no workie: https:\u002F\u002Fgithub.com\u002FDOSAYGO-STUDIO\u002FHackerBook",{"value":179,"source":70,"evidence":180},"Whether HN terms of use permit this",[181],{"id":182,"by":183,"text":184},"46438884","abetusk","Alas, HN does not belong to us, and the existence of projects like this are subject to the whims of the legal owners of HN. From the terms of use [0]: \"\"\" Commercial Use: Unless…",[186,190,196,202],{"value":187,"source":70,"evidence":188},"sql.js-httpvfs",[189],{"id":60,"by":61,"text":62},{"value":191,"source":70,"evidence":192},"sqlite-s3vfs",[193],{"id":194,"by":61,"text":195},"46438316","There was a UK government GitHub repo that did something interesting with this kind of trick against S3 but I checked just now and the repo is a 404. Here are my notes about what…",{"value":197,"source":70,"evidence":198},"PMTiles",[199],{"id":200,"by":61,"text":201},"46438869","PMTiles is absurdly great software.",{"value":203,"source":70,"evidence":204},"ClickHouse public HN playground",[205],{"id":206,"by":207,"text":208},"46436543","zX41ZdbW","The query tab looks quite complex with all these content shards: https:\u002F\u002Fhackerbook.dosaygo.com\u002F?view=query I have a much simpler database:…",{"comments":210,"answered":32,"key":211},45,[212,215,218],{"id":213,"text":214},"46442389","Hadn't seen PMTiles before, but that matches the mental model exactly! I chose physical file sharding over Range Requests on a single db because it felt safer for 'dumb' static…",{"id":216,"text":217},"46451807","What's a better way?",{"id":219,"text":220},"46444898","How would you store it?",{"commenters":222,"max_depth":40,"maker_replies":210,"first_comment_mins":18,"lifespan_hours":223},116,235,[225,227,229,232,234,237,241,243,245,248,250,252,254,256,259,262,266,269,273,275,277,279,283,286,290,291,294,295,297,300,302,304,307,309,312,315,318,321,324,328,330,333,335,337,341,344,346,348,352,353,356,360,363,365,369,371,373,376,379,382,385,388,391,394,397,399,401,402,405,408,410,413,415,418,421,424,427,430,434,437,440,443,445,447,449,451,454,457,460,462,465,468,471,474,477,481,484,487,489,493,495,497,499,501,503,505,507,509,512,514,517,519,521,524,526,530,533,535,538,541,543,546,548,550,552,554,556,558,561,564,566,568,569,571,573,576,579,582,585,588,590,592,593,596,598,601,603,605,607,609,611,613,617,621,623,625,629,633,635,639,641,645,648,652,655,659,661,664,666,668,672,674,677,679,682,684,686,688,691,693,697,700,703,705,708,710,713,715,717,718,720,722,724,726,728,731,734,738,741,743,745,748,751,754,757,760,762,764,766,769,772,774,776,779,781,783,785,787,790,793,795,799,801,803,806],[60,41,47,226,61,41],"project\u002Fpositive\u002Fexecution",[103,41,47,228,104,41],"project\u002Fpositive\u002Fidea",[230,41,47,228,231,41],"46438283","nextaccountic",[194,41,48,233,61,41],"project\u002Fneutral\u002Fidea",[235,41,41,236,61,41],"46438857","other\u002Fneutral\u002Fnone",[238,41,41,239,240,41],"46439019","commenter\u002Fneutral\u002Fnone","AceJohnny2",[242,41,41,236,61,41],"46439176",[244,41,41,236,240,41],"46439201",[246,41,41,236,247,41],"46439260","QuantumNomad_",[249,41,41,236,61,41],"46439389",[251,41,41,236,247,41],"46439456",[253,41,41,236,61,41],"46439502",[255,41,41,236,247,41],"46439517",[257,41,41,236,258,41],"46440133","bspammer",[260,41,41,239,261,41],"46446905","socialcommenter",[263,41,41,264,265,41],"46440877","other\u002Fneutral\u002Fidea","billywhizz",[267,41,41,264,268,41],"46438384","ericd",[270,41,41,271,272,41],"46438779","other\u002Fpositive\u002Fidea","Humphrey",[200,41,41,274,61,41],"other\u002Fpositive\u002Fnone",[276,41,41,274,272,41],"46438913",[213,41,41,278,11,18],"maker\u002Fneutral\u002Fexecution",[280,41,41,281,282,41],"46442637","other\u002Fcritical\u002Fdesign","hyperbolablabla",[284,41,41,236,285,41],"46443704","seg_lol",[287,41,41,288,289,41],"46446453","other\u002Fneutral\u002Fperformance","Diti",[216,41,41,239,11,18],[292,41,41,288,293,41],"46451878","monerozcash",[219,41,41,239,11,18],[296,41,41,264,231,41],"46440267",[298,41,41,264,299,41],"46442042","jtbaker",[301,41,41,236,231,41],"46460455",[303,41,41,236,299,41],"46484636",[305,41,48,233,306,41],"46439741","6510",[308,41,48,233,231,41],"46440253",[310,41,41,236,311,41],"46440334","omneity",[313,41,41,236,314,41],"46440826","__turbobrew__",[316,41,41,236,317,41],"46441135","mootothemax",[319,41,41,236,320,41],"46441269","tlarkworthy",[322,41,41,264,323,41],"46439622","ncruces",[325,41,48,326,327,41],"46441495","project\u002Fneutral\u002Fperformance","pdyc",[329,41,41,288,323,41],"46441797",[331,41,41,332,11,18],"46442672","project\u002Fneutral\u002Fnone",[334,41,41,236,323,41],"46448584",[336,41,41,239,11,18],"46451501",[338,41,47,339,340,41],"46440604","project\u002Fpositive\u002Fperformance","meander_water",[342,41,48,332,343,41],"46440801","amitmahbubani",[345,41,41,239,340,41],"46440808",[347,41,41,332,11,18],"46441363",[349,41,48,350,351,41],"46440874","project\u002Fneutral\u002Fexecution","sodafountan",[87,41,41,278,11,18],[354,41,47,355,351,41],"46442005","project\u002Fpositive\u002Fnone",[357,41,48,358,359,41],"46440982","project\u002Fneutral\u002Fdesign","maxloh",[361,41,41,362,11,18],"46441372","maker\u002Fneutral\u002Fnone",[364,41,41,358,11,18],"46441359",[366,41,18,367,368,41],"46444385","project\u002Fcritical\u002Fdesign","oblosys",[370,41,41,239,11,18],"46444417",[372,41,41,239,368,41],"46448008",[374,41,41,375,11,18],"46447113","maker\u002Fneutral\u002Fdesign",[377,41,48,233,378,41],"46449010","dzhiurgis",[380,18,41,236,381,41],"46438109","yread",[383,18,41,236,384,41],"46438763","jacquesm",[386,18,41,239,387,41],"46438826","Rendello",[389,18,41,239,390,41],"46441747","maxbond",[392,18,41,264,393,41],"46440677","hamburglar",[395,18,41,236,396,41],"46441989","rossant",[398,18,41,332,11,18],"46451414",[400,18,41,332,11,18],"46459339",[110,43,47,228,111,41],[403,43,41,236,404,41],"46441040","codazoda",[406,43,41,239,407,41],"46441554","endofreach",[409,43,41,239,111,41],"46441680",[411,43,47,412,407,41],"46458249","maker\u002Fpositive\u002Fnone",[414,43,41,226,11,18],"46458536",[416,48,41,264,417,41],"46437110","zkmon",[419,48,41,264,420,41],"46437541","jesprenj",[422,48,41,264,423,41],"46438024","mburns",[425,48,41,236,426,41],"46438728","rplnt",[428,48,41,264,429,41],"46437915","jhd3",[431,49,41,432,433,41],"46436853","other\u002Fneutral\u002Fexecution","Paul-E",[435,49,41,236,436,41],"46437287","s_ting765",[438,49,41,439,433,41],"46439535","commenter\u002Fneutral\u002Fperformance",[441,49,41,236,442,41],"46442456","Xyra",[126,47,18,444,127,41],"project\u002Fcritical\u002Fperformance",[446,47,41,439,323,41],"46439553",[448,47,41,239,11,18],"46442004",[450,47,41,239,323,41],"46448571",[452,47,48,326,453,41],"46440634","piperswe",[455,47,41,439,456,41],"46440741","lucb1e",[458,47,41,239,459,41],"46441799","faxmeyourcode",[461,47,41,439,69,41],"46443074",[463,38,48,332,464,41],"46438955","m-p-3",[466,38,41,236,467,41],"46439102","3abiton",[469,38,41,236,470,41],"46439141","xnx",[472,38,41,236,473,41],"46440727","gettingoverit",[475,38,41,239,476,41],"46442023","rolymath",[478,38,41,479,480,41],"46443517","commenter\u002Fneutral\u002Fdocs","dspillett",[482,38,48,332,483,41],"46440895","scsh",[485,38,48,362,486,41],"46441078","octoberfranklin",[488,38,41,332,11,18],"46441240",[490,491,41,236,492,41],"46443012",7,"WadeGrimridge",[494,491,41,236,492,41],"46443088",[496,491,41,239,11,18],"46443585",[498,491,41,239,492,41],"46443891",[500,491,41,239,11,18],"46444266",[502,491,41,239,492,41],"46447011",[504,491,41,239,11,18],"46451492",[506,491,41,362,11,18],"46453916",[508,491,47,412,492,41],"46553181",[510,491,41,236,511,41],"46443153","setnone",[206,513,48,358,207,41],8,[515,513,48,358,516,41],"46436728","embedding-shape",[518,513,48,358,207,41],"46441231",[520,40,41,236,442,41],"46442123",[522,40,41,271,523,41],"46443405","visarga",[525,40,41,367,11,18],"46443715",[527,528,41,264,529,41],"46436985",10,"sieep",[531,528,41,236,532,41],"46437303","ivanjermakov",[534,528,41,239,529,41],"46449183",[536,528,41,236,537,41],"46437663","fsiefken",[539,528,41,239,540,41],"46437806","Barbing",[542,528,41,239,537,41],"46440202",[544,528,41,239,545,41],"46437964","deskamess",[547,528,41,236,537,41],"46440223",[549,528,41,236,384,41],"46438776",[551,528,41,236,387,41],"46439099",[553,528,41,236,153,41],"46446334",[555,528,41,236,387,41],"46446960",[557,528,41,236,11,18],"46441249",[133,559,18,560,134,41],11,"project\u002Fcritical\u002Fexecution",[562,559,48,350,563,41],"46438754","coder543",[565,559,41,278,11,18],"46441245",[567,559,18,560,134,41],"46444684",[137,559,41,278,11,18],[175,570,18,560,176,41],12,[572,570,41,350,11,18],"46441576",[574,575,41,332,11,18],"46487080",13,[577,34,47,228,578,41],"46443346","7777777phil",[580,34,41,581,11,18],"46443447","maker\u002Fpositive\u002Fidea",[583,584,48,233,480,41],"46438681",15,[586,584,41,236,587,41],"46438810","thomasmarton",[589,584,41,350,11,18],"46441259",[591,584,48,350,480,41],"46443506",[163,32,41,236,164,41],[594,32,41,236,595,41],"46441193","pilingual",[597,32,41,362,11,18],"46441251",[599,32,41,236,600,41],"46441423","vunderba",[602,32,41,239,11,18],"46441430",[143,604,18,367,144,41],17,[606,604,41,375,11,18],"46443519",[608,604,18,367,144,41],"46446949",[610,604,41,375,11,18],"46451496",[612,604,47,412,144,41],"46496253",[614,615,48,332,616,41],"46440374",18,"3eb7988a1663",[618,619,18,367,620,41],"46438345",19,"spit2wind",[622,619,41,375,11,18],"46441339",[152,624,48,358,153,41],20,[626,627,41,236,628,41],"46442902",21,"RyJones",[630,631,48,350,632,41],"46438637",22,"layer8",[634,631,41,350,11,18],"46441267",[636,637,47,228,638,41],"46440946",23,"fouc",[640,637,48,233,404,41],"46441057",[642,643,48,233,644,41],"46443965",24,"rcarmo",[646,643,41,647,11,18],"46445532","maker\u002Fneutral\u002Fidea",[649,650,18,560,651,41],"46439422",25,"joshcsimmons",[653,650,18,560,654,41],"46439493","ra",[656,657,47,228,658,41],"46437009",26,"sirjaz",[660,657,41,236,11,18],"46441343",[171,662,48,663,172,41],27,"project\u002Fneutral\u002Fdocs",[122,665,18,444,123,41],28,[114,667,41,236,115,41],29,[669,670,41,236,671,41],"46442280",30,"DenisDolya",[57,673,41,581,11,18],31,[675,673,18,560,676,41],"46436422","carbocation",[678,673,41,362,11,18],"46436511",[680,673,41,236,681,41],"46436693","cess11",[683,673,41,236,537,41],"46436740",[685,673,41,236,61,41],"46436984",[687,673,41,233,11,18],"46441236",[689,673,41,236,690,41],"46439206","1vuio0pswjnm7",[692,673,41,236,690,41],"46440440",[694,673,47,695,696,41],"46436520","project\u002Fpositive\u002Fdesign","linhns",[698,673,41,239,699,41],"46436593","cobolcomesback",[701,673,18,367,702,41],"46436708","formerly_proven",[704,673,18,367,516,41],"46436741",[706,673,48,358,707,41],"46436892","agolliver",[709,673,48,358,616,41],"46436554",[711,673,48,326,712,41],"46442469","peheje",[714,673,48,326,616,41],"46445366",[716,673,48,362,384,41],"46438837",[81,673,41,362,11,18],[719,673,47,581,384,41],"46442399",[721,673,41,581,11,18],"46442838",[723,673,41,236,384,41],"46445106",[725,673,41,239,11,18],"46464308",[727,673,41,362,11,18],"46441229",[729,673,48,332,730,41],"46436488","wslh",[732,673,41,733,483,41],"46440941","other\u002Fneutral\u002Fpricing",[735,673,48,736,737,41],"46436571","project\u002Fmixed\u002Fnone","yupyupyups",[739,673,48,233,740,41],"46436803","abixb",[742,673,47,228,540,41],"46437753",[744,673,41,362,11,18],"46441334",[746,673,48,362,747,41],"46436910","fao_",[749,673,41,239,750,41],"46436999","rantingdemon",[752,673,41,239,753,41],"46437020","sundarurfriend",[755,673,41,239,756,41],"46437090","JavGull",[758,673,41,239,759,41],"46437628","naikrovek",[761,673,41,239,540,41],"46437775",[763,673,41,239,616,41],"46440370",[765,673,41,239,747,41],"46445444",[767,673,41,239,768,41],"46437234","deadbabe",[770,673,41,239,771,41],"46439722","ssl-3",[773,673,41,239,768,41],"46440428",[775,673,48,362,747,41],"46445435",[777,673,41,239,778,41],"46437091","walthamstow",[780,673,41,239,759,41],"46437479",[782,673,41,239,384,41],"46438809",[784,673,41,239,420,41],"46437523",[786,673,41,239,747,41],"46445450",[788,673,47,228,789,41],"46438107","Insanity",[791,673,48,332,792,41],"46437026","tevon",[794,673,41,236,483,41],"46437210",[796,797,48,326,798,41],"46435771",32,"asdefghyk",[800,797,41,326,11,18],"46435891",[802,797,41,236,798,41],"46440956",[182,804,41,805,183,41],33,"other\u002Fcritical\u002Fnone",[807,804,41,239,808,41],"46440176","tom1337",[],[811,816,821,825,829,834],{"id":812,"name":813,"points":814,"category":815},"46392910","Witr",526,"dev_tools",{"id":817,"name":818,"points":819,"category":820},"46417815","Z80-μLM",514,"ai",{"id":822,"name":823,"points":824,"category":815},"46400251","Ez FFmpeg",420,{"id":826,"name":827,"points":828,"category":20},"46442245","exopriors.com",397,{"id":830,"name":831,"points":832,"category":833},"46420453","balajmarius.com",284,"creative",{"id":835,"name":836,"points":837,"category":820},"46426624","Ensue Memory",202,false,"v2",{"id":841,"name":5,"line":6,"ai":838,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":842,"top":18,"kw":843,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":844,"url":9,"mix":845,"praise":99,"objection":119,"sub":21},46435308,0.02,[24,25,26,27,28],"5000033551355013030400115322321514340353",[32,33,18,34],1794036688430]