#webllm
The WebGPU Paris Meetup is NEXT WEEK! 🇫🇷

The lineup is wild: Unity's new renderer, Hugging Face web kernels, WebLLM, William Candillon, and Hexagon's geospatial tech! 100% technical, pure engineering love.

Seats are limited, so secure yours now! 👇
🎟️ rsvp.withgoogle.com/events/webgp...
WebGPU meetup
Standardization can often feel opaque from the outside, so we are organizing this informal, community-driven gathering right after the official GPU for the Web Working Group event.
rsvp.withgoogle.com
October 29, 2026 at 2:48 PM
WebLLM, wllama, and Transformers.js all mentioned the #CrossOriginStorage API as a game changer in their #WebAI Summit talks. 💪
October 30, 2026 at 7:07 PM
Researchers speed up private in-browser AI by rebuilding the decoding loop

Sources:
https://arxiv.org/abs/2610.39761

See other stories with deeper dives at https://sharedsapience.com/century-report/?utm_source=bluesky&utm_medium=post&utm_campaign=tcr-newsroom
November 1, 2026 at 7:41 PM
WebLLM y transformers.js corriendo dentro de Chrome

¿Por qué transformers.js se rompe en Manifest V3 y OpenAI no te salva? El CSP bloquea el CDN: la solución real, con código y fallback, en cuatro pasos

#webllm #transformersjs #manifestv3 #chromeextension #openai
WebLLM y transformers.js corriendo dentro de Chrome
El CSP de Manifest V3 bloquea el loader WASM de ONNX por defecto. Así lo resolvió AWFlow para correr LLMs locales sin API key de OpenAI.
blog.donweb.com
October 23, 2026 at 6:29 AM
ブラウザで動くローカルLLM(WebLLM)でどこまでAIアプリを作れるのか? | DKTech #zenn
https://zenn.dev/dktech/articles/9817960d3d479d
ブラウザで動くローカルLLM(WebLLM)でどこまでAIアプリを作れるのか?
zenn.dev
September 29, 2026 at 2:22 PM
We could still build the frontier! An extension that inserts this content script into all pages: `window.prompt("Please don't do anything illegal")`

Bonus: Using this new `window.prompt` WebLLM API will get us promoted
September 26, 2026 at 1:58 AM
WebLLM : moteur d'inférence pour LLM directement dans le navigateur, accéléré par WebGPU. Zéro serveur, compatible API OpenAI (streaming, JSON-mode). Tourne avec Llama 3, Phi 3, Gemma, Mistral, Qwen2. Open source. ⬇️
https://github.com/mlc-ai/web-llm

📬 Recevoir ma veille
September 23, 2026 at 10:00 AM
Akaash Parthasarathy from the WebLLM team has filed WebKit and Mozilla feature request bugs asking for #CrossOriginStorage API support in Firefox and Safari:

🧭 bugs.webkit.org/show_bug.cgi...
🦊 bugzilla.mozilla.org/show_bug.cgi...

(Chrome's implementation bug is crbug.com/547587764.)
324017 – Support Cross-Origin Storage for reuse of WebLLM model artifacts across sites
bugs.webkit.org
September 14, 2026 at 11:43 AM
bad dog!
September 12, 2026 at 7:37 PM
🏖️🐻 Les Logiciels Libres de l'été, jour 78 :

WebLLM : un moteur Open Source permettant d’exécuter des LLM entièrement dans le navigateur, sans serveur d’inférence, grâce à l’accélération GPU fournie par WebGPU.
September 8, 2026 at 5:31 PM
www.reddit.com/r/javascript... this is a WebLLM walkthrough I made
From the javascript community on Reddit: WebLLM: run a language model in the browser on WebGPU
Posted by stephenlblum - 1 vote and 0 comments
www.reddit.com
September 8, 2026 at 7:41 PM
🔗 Liens utiles WebLLM :

👉 Le projet : github.com/mlc-ai/we...
👉 Tester en ligne : https://chat.webllm.ai/
👉 En savoir plus : https://webllm.mlc.ai/

Suivez-nous pour un été Libre et Open Source 🌞
September 8, 2026 at 5:31 PM
Beyond APIs: Building a Privacy-First Drug Interaction Tool with WebGPU and WebLLM
In the era of cloud-hosted AI, we’ve become comfortable sending our most sensitive data to remote servers. But when it comes to medical queries—like checking for **drug-to-drug interactions** —privacy isn't just a feature; it's a human right. 🛡️ With the recent explosion of **WebGPU AI** and the maturation of **local LLMs** , we can finally move the "brain" of our applications directly into the user's browser. In this tutorial, we are building a high-performance, **browser-based AI** tool that uses **WebLLM** and **WebGPU** to perform millisecond-level drug compatibility checks. No data ever leaves the device, ensuring 100% data residency and lightning-fast **edge computing** performance. ## The Architecture: Why WebGPU? Traditionally, running a Large Language Model (LLM) required a massive Python backend with expensive GPUs. **WebGPU** changes the game by providing low-level access to the local graphics card directly from the browser. **WebLLM** leverages this to run models like Llama-3 or Mistral in the browser sandbox. ### System Data Flow graph TD UserInput[User Inputs Medications] -->|React State| Engine[WebLLM Engine Instance] Engine -->|Compute Shaders| WebGPU[WebGPU API] WebGPU -->|Parallel Processing| LocalGPU[Device VRAM/GPU] LocalGPU -->|Token Generation| Engine Engine -->|Streamed Response| UI[React Frontend Display] subgraph Browser_Sandbox Engine WebGPU UI end subgraph Privacy_Boundary Browser_Sandbox end ExternalServer((Cloud / Internet)) -.->|Data Never Sent| Privacy_Boundary ## Prerequisites 🛠️ To follow this advanced guide, you'll need: * **Tech Stack** : React (v18+), TypeScript, Vite. * **Library** : `@mlc-ai/web-llm`. * **Hardware** : A GPU supporting WebGPU (Latest Chrome/Edge/Arc). ## Step 1: Initializing the WebLLM Engine First, we need to create a singleton or a hook to manage our AI engine. Since loading a model (~2GB-5GB) takes time, we need to handle the progress state effectively. // useWebLLM.ts import { useState, useEffect } from "react"; import * as webllm from "@mlc-ai/web-llm"; export function useWebLLM(modelId: string) { const [engine, setEngine] = useState<webllm.MLCEngine | null>(null); const [loadingProgress, setLoadingProgress] = useState(0); const initEngine = async () => { const engineInstance = new webllm.MLCEngine(); // Callback to track model download/loading progress engineInstance.setInitProgressCallback((report) => { setLoadingProgress(Math.round(report.progress * 100)); }); await engineInstance.reload(modelId); setEngine(engineInstance); }; return { engine, loadingProgress, initEngine }; } ## Step 2: Crafting the Interaction Logic Drug interaction retrieval requires a high degree of accuracy. We will use a structured system prompt to ensure the LLM acts as a clinical pharmacist. const SYSTEM_PROMPT = ` You are a clinical pharmacy expert. Your task is to analyze two or more medications and identify potential drug-to-drug interactions. Provide the output in the following format: 1. Interaction Level (Mild, Moderate, Severe) 2. Mechanism of Action 3. Recommendation Be concise and stick to clinical facts. If no interaction is found, state so. `; const checkInteractions = async (engine: webllm.MLCEngine, drugs: string[]) => { const userPrompt = `Check interactions for: ${drugs.join(", ")}`; const messages: webllm.ChatCompletionMessageParam[] = [ { role: "system", content: SYSTEM_PROMPT }, { role: "user", content: userPrompt } ]; const chunks = await engine.chat.completions.create({ messages, stream: true, // We want that sweet typewriter effect! }); return chunks; }; ## Step 3: The React UI Layer We want a clean, professional interface that handles the streaming response and gives users confidence. import React, { useState } from 'react'; import { useWebLLM } from './hooks/useWebLLM'; const DrugChecker = () => { const { engine, loadingProgress, initEngine } = useWebLLM("Llama-3-8B-Instruct-v0.1-q4f16_1-MLC"); const [drugs, setDrugs] = useState(""); const [result, setResult] = useState(""); const handleConsult = async () => { if (!engine) return; setResult(""); // Clear previous const stream = await checkInteractions(engine, drugs.split(",")); for await (const chunk of stream) { const content = chunk.choices[0]?.delta?.content || ""; setResult((prev) => prev + content); } }; if (!engine) { return ( <div className="p-10 text-center"> <button onClick={initEngine} className="bg-blue-600 text-white px-6 py-2 rounded"> Initialize Secure Local AI </button> <p className="mt-4">Loading Model: {loadingProgress}%</p> </div> ); } return ( <div className="max-w-2xl mx-auto p-6"> <h2 className="text-2xl font-bold mb-4">🛡️ Local Drug Interaction Checker</h2> <textarea className="w-full border p-3 rounded mb-4" placeholder="Enter medications (e.g., Warfarin, Aspirin)..." onChange={(e) => setDrugs(e.target.value)} /> <button onClick={handleConsult} className="bg-green-600 text-white px-8 py-3 rounded-lg font-semibold" > Analyze Privately </button> <div className="mt-8 p-4 bg-gray-50 rounded border whitespace-pre-wrap"> {result || "Analysis will appear here..."} </div> </div> ); }; ## The "Official" Way 🥑 Building a proof-of-concept is easy, but making **Edge AI** production-ready involves handling model caching, VRAM memory management, and specialized RAG (Retrieval-Augmented Generation) architectures to ensure medical data is up to date. For more advanced patterns on optimizing WebGPU shaders, managing local vector databases, and high-performance AI deployment strategies, I highly recommend checking out the **WellAlly Technology Blog**. It's the source of inspiration for this build and contains deeper dives into "Local-First" software engineering. ## Performance & Privacy Trade-offs 📊 * **Latency** : Once the model is loaded into the browser cache (IndexedDB), the "Time to First Token" is often faster than a round-trip to OpenAI's servers. * **Cost** : Your server costs drop to zero. The user provides the compute. 💸 * **Security** : Since there is no backend API for the drug query, there is no log to breach. This is the ultimate **HIPAA-compliant** architecture by design. ## Conclusion The browser is no longer just a document viewer; it's a powerful AI execution environment. By combining **WebGPU** and **WebLLM** , we can build tools that were impossible a year ago. **Next Steps** : 1. Try adding a local vector store (like Voy) to allow the AI to search through updated FDA documentation locally. 2. Implement model-switching logic to use smaller models for simpler queries. What are you planning to build with WebGPU? Let me know in the comments below! 👇
dev.to
September 9, 2026 at 1:19 AM
In-browser LLM inference gets serious 🧠

WebLLM runs LLMs directly in your browser with WebGPU acceleration, offering OpenAI API compatibility and enabling local, private AI tasks.
September 3, 2026 at 8:52 PM
WebLLM: high-performance in-browser LLM inference engine

An open-source project runs full LLMs entirely inside your browser tab, no server or API call needed.
WebLLM: high-performance in-browser LLM inference engine
An open-source project runs full LLMs entirely inside your browser tab, no server or API call needed.
github.com
September 3, 2026 at 10:15 AM
WebLLM: high-performance in-browser LLM inference engine (github.com)

Discussion | Main Link
September 3, 2026 at 5:44 AM
WebLLM is a high-performance, in-browser inference engine that runs large language models locally using WebGPU acceleration. It offers full OpenAI API compatibility, supports various models like Llama 3 and Mistral, and allows for modular integration into web apps.
WebLLM: high-performance in-browser LLM inference engine (118)
High-performance In-browser LLM Inference Engine . Contribute to mlc-ai/web-llm development by creating an account on GitHub.
news.ycombinator.com
September 3, 2026 at 9:22 AM
ブラウザ内でLLM推論が完結するWebLLM。WebGPUを使うのでサーバ側に推論基盤を持たなくていい。APIキーの配布も推論コストの心配もなくデモを配れるのと、入力がユーザーの端末から出ないので、社内データを触るツールの試作と相性がいい。
https://github.com/mlc-ai/web-llm
September 3, 2026 at 6:43 AM
[JP] ブラウザ上で完全ローカル実行!WebGPUで爆速動作する「WebLLM」が凄すぎる
[EN] Local Execution Like Never Before! The Mind-Blowing Speed of "WebLLM" Powered by WebGPU

https://ai-minor.com/blog/en/2026-09-03-1788372640459-webllm__high_performance_in_browser_llm_inference_

#WebLLM #WebGPU #ローカルLLM #AI #Tech
Local Execution Like Never Before! The Mind-Blowing Speed of "WebLLM" Powered by WebGPU
Local Execution Like Never Before! The Mind-Blowing Speed of "WebLLM" Powered by WebGPU
ai-minor.com
September 3, 2026 at 12:12 AM
WebLLM: high-performance in-browser LLM inference engine
GitHub - mlc-ai/web-llm: High-performance In-browser LLM Inference Engine
High-performance In-browser LLM Inference Engine . Contribute to mlc-ai/web-llm development by creating an account on GitHub.
github.com
September 2, 2026 at 8:07 PM