[{"data":1,"prerenderedAt":387},["ShallowReactive",2],{"project-44767775":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":47,"what":48,"said":89,"maker_in_thread":198,"shape":208,"grid":211,"attempts":348,"same_week":349,"maker_shows":39,"maker_hidden":379,"reader_version":380,"card":381},"44767775","browser-llm","WebGPU enables local LLM in the browser – demo site with AI chat","title","Show HN: WebGPU enables local LLM in the browser – demo site with AI chat","https:\u002F\u002Fandreinwald.github.io\u002Fbrowser-llm\u002F","andreinwald.github.io","andreinwald",1754143752,2025,145,54,514,3837,14,"notable","ai","browser llm demo","web_app",[24,25,26,27],"webgpu","browser llm","local llm","llama","mixed",-0.191,{"positive":31,"neutral":32,"mixed":33,"critical":34},4,13,0,11,28,{"execution":37,"performance":38,"idea":41,"design":43,"privacy":44},{"positive":33,"critical":31},{"positive":39,"critical":40},1,6,{"positive":42,"critical":33},3,{"positive":33,"critical":33},{"positive":33,"critical":33},[42,42,33,33,39,39,42,46,39,33,46,42,33,39,39,33,33,42,42,46,33,33,33,42,42,33,33,33,42,46,39,39,42,42,42,39,39,42,39,39],5,"Browser LLM demo working on JavaScript and WebGPU. WebGPU is already supported in Chrome, Safari, Firefox, iOS (v26) and Android.\n\nDemo, similar to ChatGPT https:\u002F\u002Fandreinwald.github.io\u002Fbrowser-llm\u002F\n\nCode https:\u002F\u002Fgithub.com\u002Fandreinwald\u002Fbrowser-llm\n\n- No need to use your OPENAI_API_KEY - its local model that runs on your device\n\n- No network requests to any API\n\n- No need to install any program\n\n- No need to download files on your device (model is cached in browser)\n\n- Site will ask before downloading large files (llm model) to browser cache\n\n- Hosted on Github Pages from this repo - secure, be",{"problem":49,"audience":55,"pricing":55,"motivation":55,"time_to_build":55,"stack":56,"openness":86,"stage":87,"team_size":88},{"value":50,"source":51,"evidence":52},"Run an LLM chat locally in the browser without an API key or installs","maker",[53],{"id":54},"post",null,[57,61,65,74],{"value":58,"source":51,"evidence":59},"JavaScript",[60],{"id":54},{"value":62,"source":51,"evidence":63},"WebGPU",[64],{"id":54},{"value":66,"source":51,"evidence":67},"Llama 3.2 1B model",[68,71],{"id":69,"by":11,"text":70},"44769112","Llama 3.2 1B",{"id":72,"by":11,"text":73},"44769190","Model used: Llama 3.2 1B (small). Quality hould be similar with running Ollama app with same small model.",{"value":75,"source":76,"evidence":77},"MLC web-llm library","commenter",[78,82],{"id":79,"by":80,"text":81},"44767991","maxmcd","Looks like this is a wrapper around: https:\u002F\u002Fgithub.com\u002Fmlc-ai\u002Fweb-llm Which has a full web demo: https:\u002F\u002Fchat.webllm.ai\u002F",{"id":83,"by":84,"text":85},"44769394","refulgentis","Entirely correct, c.f. LLM.ts. The bit to Show HN here, is about ~40 lines of code. Simple Typescript MVP of calling the library. (source: maintains an LLM client that works…","open_source","launched","unknown",{"praise":90,"objections":102,"requests":139,"questions":154,"alternatives":169},[91],{"value":92,"source":76,"evidence":93},"Fun demo and a good example of WebGPU's potential",[94,98],{"id":95,"by":96,"text":97},"44769160","echoangle","Fun demo but the model that's used seems to be pretty stupid: > What's the best way to get to space? >> Unfortunately, it's not currently possible for humans to travel to space…",{"id":99,"by":100,"text":101},"44770914","cat-whisperer","I've been following the development of WebGPU and its potential applications, and this demo is a great example of what's possible.",[103,115,125,132],{"value":104,"source":76,"evidence":105},"Answers from the small model are poor quality",[106,107,111],{"id":95,"by":96,"text":97},{"id":108,"by":109,"text":110},"44770117","wongarsu","The answer is still terrible for the model size. Maybe it's the 4 bit quantization, smaller models tend to react worse to that For reference, [1] is what stock quen3-0.6B would…",{"id":112,"by":113,"text":114},"44770929","AndrewDucker","I asked \"Why is the sky blue?\" and got back a response of \"coppia RR TalentDevExpressincer+'.\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F cha…",{"value":116,"source":76,"evidence":117},"Not working in Safari, which lacks WebGPU support",[118,122],{"id":119,"by":120,"text":121},"44785499","imatrix","Its not working. Loading model: waiting WebGPU error: WebGPU is NOT supported on this browser. Im on macOS and Safari.",{"id":123,"by":120,"text":124},"44785543","Same on iOS and mobile Safari - not working.",{"value":126,"source":76,"evidence":127},"Model download is about 500 MB, costly on mobile data",[128],{"id":129,"by":130,"text":131},"44768895","pjmlp","Not everyone enjoys unlimited data plans, and 500 MB is schon a lot.",{"value":133,"source":76,"evidence":134},"Integrated GPU is used, not the discrete one",[135],{"id":136,"by":137,"text":138},"44777982","201984","Any way to make this use my actual GPU instead of the terrible integrated one?",[140,147],{"value":141,"source":76,"evidence":142},"Load local GGUF model files instead of downloading to browser cache",[143],{"id":144,"by":145,"text":146},"44769817","apitman","Does anyone know why all of these WebGPU LLM demos have you download the models to browser storage rather than letting you open a gguf already on your local drive? I have several…",{"value":148,"source":76,"evidence":149},"Keep the text input always visible on screen",[150],{"id":151,"by":152,"text":153},"44767913","andsoitis","very cool. improvement would be if the input text box is always on screen, rather than having to manually scroll down as the screen fills.",[155,163],{"value":156,"source":76,"evidence":157},"Is this just a wrapper around web-llm?",[158,159],{"id":79,"by":80,"text":81},{"id":160,"by":161,"text":162},"44768857","swores","Is this correct? It doesn't seem so to me, either from the way it works or from what little of the code I've looked at... But I don't have time to do more than the quick glance I…",{"value":164,"source":76,"evidence":165},"Which model does the demo use?",[166],{"id":167,"by":168,"text":164},"44768683","cgdl",[170,174,184,191],{"value":171,"source":76,"evidence":172},"MLC web-llm demo chat",[173],{"id":79,"by":80,"text":81},{"value":175,"source":76,"evidence":176},"Ollama",[177,181],{"id":178,"by":179,"text":180},"44768551","asim","What's the performance of a model like vs an OpenAI API? What's the comparable here? Edit: I see it's same models locally that you'd run using Ollama or something else. So…",{"id":182,"by":11,"text":183},"44769135","Yes, its very similar to Ollama app, and Llama-3.2-1B model used",{"value":185,"source":76,"evidence":186},"Chrome Prompt API built-in Gemini Nano",[187],{"id":188,"by":189,"text":190},"44768720","scottfr","There is a Prompt API in development that's available in both Chrome and Edge to give access to a local LLM. Chrome extensions have access to it and I believe websites can…",{"value":192,"source":76,"evidence":193},"Hugging Face transformers.js",[194],{"id":195,"by":196,"text":197},"44770987","dataviz1000","Very cool! For some awesome examples of running different types of models in webgpu check out the examples folder here. https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers.js",{"comments":199,"answered":31,"key":200},7,[201,204,207],{"id":202,"text":203},"44769198","It works on small Llama-3.2-1B model, specially for less powerfull GPU devices",{"id":205,"text":206},"44768694","Also here https:\u002F\u002Fcaniuse.com\u002Fwebgpu",{"id":72,"text":73},{"commenters":209,"max_depth":46,"maker_replies":199,"first_comment_mins":210,"lifespan_hours":15},37,21,[212,214,217,219,220,223,225,227,228,231,235,239,242,244,248,251,254,256,257,260,263,265,269,272,273,274,275,276,281,284,287,289,292,295,298,300,303,306,309,313,314,317,318,322,323,325,326,328,332,335,338,341,342,344],[79,33,42,213,80,33],"project\u002Fneutral\u002Fexecution",[215,33,42,216,84,33],"44768533","maker\u002Fneutral\u002Fexecution",[160,33,33,218,161,33],"commenter\u002Fneutral\u002Fnone",[83,33,33,218,84,33],[221,33,33,222,161,33],"44774881","commenter\u002Fpositive\u002Fnone",[95,39,39,224,96,33],"project\u002Fcritical\u002Fperformance",[202,39,33,226,11,39],"project\u002Fneutral\u002Fperformance",[108,39,39,224,109,33],[229,39,42,226,230,33],"44770815","KTibow",[232,39,46,233,234,33],"44769819","project\u002Fpositive\u002Fidea","tomrod",[236,39,39,237,238,33],"44770391","project\u002Fcritical\u002Fnone","fooker",[240,39,33,218,241,33],"44770850","dragonwriter",[243,39,33,218,109,33],"44770856",[245,39,46,246,247,33],"44775074","project\u002Fpositive\u002Fperformance","khalic",[188,249,33,250,189,33],2,"other\u002Fneutral\u002Fidea",[252,42,42,213,253,33],"44768597","petermcneeley",[205,42,33,255,11,39],"project\u002Fneutral\u002Fdocs",[112,31,39,224,113,33],[258,31,39,224,259,33],"44773212","amelius",[261,31,33,218,262,33],"44775013","0points",[264,31,33,218,113,33],"44775055",[266,31,33,267,268,33],"44775665","other\u002Fneutral\u002Fnone","yahoozoo",[270,31,42,213,271,33],"44776780","gorkish",[72,46,33,226,11,39],[178,40,42,226,179,33],[182,40,33,226,11,39],[195,199,46,233,196,33],[277,278,33,279,280,33],"44769113",8,"other\u002Fneutral\u002Fperformance","om8",[282,278,33,218,283,33],"44769210","adastra22",[285,278,33,286,280,33],"44769430","commenter\u002Fneutral\u002Fperformance",[288,278,33,286,283,33],"44770009",[144,290,42,291,145,33],9,"project\u002Fneutral\u002Fdesign",[293,290,42,294,238,33],"44770407","project\u002Fneutral\u002Fprivacy",[296,290,33,297,145,33],"44771485","commenter\u002Fneutral\u002Fdesign",[299,290,33,297,238,33],"44773763",[301,290,33,218,302,33],"44776251","baobun",[304,290,33,218,305,33],"44779643","phatskat",[307,290,42,291,308,33],"44773202","ethan_smith",[310,311,33,267,312,33],"44771968",10,"gulan28",[99,34,46,233,100,33],[119,315,39,316,120,33],12,"project\u002Fcritical\u002Fexecution",[123,315,39,316,120,33],[319,315,33,320,321,33],"44790731","other\u002Fcritical\u002Fnone","owebmaster",[136,32,42,226,137,33],[167,18,42,324,168,33],"project\u002Fneutral\u002Fnone",[69,18,33,324,11,39],[151,327,42,291,152,33],15,[329,330,39,316,331,33],"44773503",16,"RagnarD",[333,334,39,224,130,33],"44768343",17,[336,334,33,337,11,39],"44768369","maker\u002Fneutral\u002Fprivacy",[339,334,42,226,340,33],"44768586","lukan",[129,334,39,224,130,33],[343,334,33,246,11,39],"44769167",[345,346,39,316,347,33],"44782647",18,"countfeng",[],[350,355,359,364,369,374],{"id":351,"name":352,"points":353,"category":354},"44787902","Kilopixel",1145,"creative",{"id":356,"name":357,"points":358,"category":20},"44807868","Kitten TTS",1003,{"id":360,"name":361,"points":362,"category":363},"44792005","Carbon",322,"web_saas",{"id":365,"name":366,"points":367,"category":368},"44747229","Mcp-use",155,"dev_tools",{"id":370,"name":371,"points":372,"category":373},"44801399","Whittle",141,"games",{"id":375,"name":376,"points":377,"category":378},"44745820","AgentMail",121,"infrastructure",false,"v2",{"id":382,"name":5,"line":6,"ai":379,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":383,"top":18,"kw":384,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":385,"url":9,"mix":386,"praise":92,"objection":104,"sub":21},44767775,-0.19,[24,25,26,27],"3300113510530110033500033000351133311311",[31,32,33,34],1794036679498]