ToXMon/browsrgemma

🧠 Gemma 4 multimodal AI running 100% client-side in your browser β€” private, free, no server. Hosted on Akash Network.

TypeScript

0

7 commits

updated Apr 3, 2026

See the code

README

🧠 BrowserGemma

Gemma 4 multimodal AI running 100% in your browser. Private, free, no server, no API.

Deploy on Akash Powered by transformers.js Hosted on Akash License: MIT

✨ What is this?

BrowserGemma is a demo of Google's Gemma 4 multimodal AI (text + vision) running entirely client-side in your browser via WebGPU (with WASM fallback). No data ever leaves your device. No API keys. No server.

The entire frontend is hosted on the Akash Network β€” a decentralized cloud. This means:

  • πŸ”’ Privacy-first: All inference happens on YOUR device
  • 🌐 Decentralized: Hosted on the Akash supercloud, not Big Tech
  • πŸ’° Free to use: No API costs, no accounts
  • ⚑ Fast: WebGPU gives 10-100x speedup over WASM on supported browsers
  • πŸ“± Installable: Add to home screen as a PWA

πŸš€ Try It

Note: First load downloads the model (~hundreds of MB), then it's cached by your browser. Requires Chrome/Edge (latest) for WebGPU. Falls back to WASM on other browsers.

πŸ“Έ What can it do?

  • πŸ–ΌοΈ Image description β€” Upload any image and ask about it
  • πŸ’¬ Multimodal chat β€” Multi-turn conversation with images
  • 🎨 Art analysis β€” Identify styles, emotions, techniques
  • πŸ“Š Chart reading β€” Extract data from visualizations
  • πŸ˜‚ Meme explanation β€” Upload memes and get AI humor analysis

πŸ› οΈ Tech Stack

LayerTechnology
AI ModelGemma 4 E2B (ONNX, quantized)
Inferencetransformers.js (WASM + WebGPU)
FrontendVite + React + TypeScript + Tailwind CSS v4
HostingAkash Network (decentralized cloud)
ServingNginx (static files)

πŸ—οΈ Architecture

Your Browser                    Akash Network
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  React UI            β”‚       β”‚  Nginx       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚       β”‚  (static     β”‚
β”‚  β”‚ transformers.jsβ”‚  │◄──────│   HTML/JS/   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚ HTTP  β”‚   WASM)      β”‚
β”‚  β”‚ β”‚ Gemma 4    β”‚ β”‚  β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚  β”‚ β”‚ (WebGPU/   β”‚ β”‚  β”‚
β”‚  β”‚ β”‚  WASM)     β”‚ β”‚  β”‚       HuggingFace CDN
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  │◄──────│  ONNX Model  β”‚
β”‚                      β”‚ HTTPS β”‚  Weights      β”‚
β”‚  πŸ”’ Zero data leaves β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚     your device      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key insight: The Akash server only serves static files. ALL AI inference runs in your browser. Model weights are downloaded directly from HuggingFace's CDN and cached locally.

πŸ“¦ Local Development

# Clone
git clone https://github.com/toxmon/browsrgemma.git
cd browsrgemma

# Install
npm install

# Dev server
npm run dev

# Production build
npm run build

🐳 Docker Build

docker build -t toxmon/browsrgemma:0.1.0 .

☁️ Deploy on Akash

Option 1: One-Click (via Cloudmos Console)

  1. Go to console.akash.network
  2. Click "Deploy"
  3. Paste the deploy.yml contents
  4. Fund with AKT and deploy

Option 2: CLI

# Install Akash CLI (if needed)
# See: https://akash.network/docs/getting-started/cli/

# Create deployment
akash tx deployment create deploy.yml --from $KEY --chain-id akashnet-2 --fees 5000uakt

# View bids
akash lease list

# Send manifest to provider
akash provider send-manifest deploy.yml <LEASE-ID>

Option 3: Build & Push Your Own Image

# Build
docker build -t your-dockerhub-user/browsrgemma:0.1.0 .

# Push
docker push your-dockerhub-user/browsrgemma:0.1.0

# Update deploy.yml image field, then deploy

πŸ’° Cost

Akash hosting for a static site: ~$0.01-0.05/month in AKT. Essentially free.

πŸ“± PWA

BrowserGemma is a Progressive Web App. On mobile:

  1. Open the site in Chrome/Safari
  2. Tap "Add to Home Screen"
  3. It launches like a native app

🎯 Why This Matters

  • Privacy: Your images and text never leave your device. No server logs, no data collection.
  • Accessibility: AI that works offline after first load, no API keys needed.
  • Decentralization: Proves that AI demos don't need centralized hosting.
  • Performance: WebGPU enables real-time inference that was impossible in browsers a year ago.

πŸ™ Credits

πŸ“„ License

MIT


Built with ❀️ β€” Powered by transformers.js + Akash Network

Contributors

ToXMon

7 commits

ToXMon/browsrgemma

🧠 Gemma 4 multimodal AI running 100% client-side in your browser β€” private, free, no server. Hosted on Akash Network.

TypeScript

0

7 commits

updated Apr 3, 2026

See the code

README

🧠 BrowserGemma

Gemma 4 multimodal AI running 100% in your browser. Private, free, no server, no API.

Deploy on Akash Powered by transformers.js Hosted on Akash License: MIT

✨ What is this?

BrowserGemma is a demo of Google's Gemma 4 multimodal AI (text + vision) running entirely client-side in your browser via WebGPU (with WASM fallback). No data ever leaves your device. No API keys. No server.

The entire frontend is hosted on the Akash Network β€” a decentralized cloud. This means:

  • πŸ”’ Privacy-first: All inference happens on YOUR device
  • 🌐 Decentralized: Hosted on the Akash supercloud, not Big Tech
  • πŸ’° Free to use: No API costs, no accounts
  • ⚑ Fast: WebGPU gives 10-100x speedup over WASM on supported browsers
  • πŸ“± Installable: Add to home screen as a PWA

πŸš€ Try It

Note: First load downloads the model (~hundreds of MB), then it's cached by your browser. Requires Chrome/Edge (latest) for WebGPU. Falls back to WASM on other browsers.

πŸ“Έ What can it do?

  • πŸ–ΌοΈ Image description β€” Upload any image and ask about it
  • πŸ’¬ Multimodal chat β€” Multi-turn conversation with images
  • 🎨 Art analysis β€” Identify styles, emotions, techniques
  • πŸ“Š Chart reading β€” Extract data from visualizations
  • πŸ˜‚ Meme explanation β€” Upload memes and get AI humor analysis

πŸ› οΈ Tech Stack

LayerTechnology
AI ModelGemma 4 E2B (ONNX, quantized)
Inferencetransformers.js (WASM + WebGPU)
FrontendVite + React + TypeScript + Tailwind CSS v4
HostingAkash Network (decentralized cloud)
ServingNginx (static files)

πŸ—οΈ Architecture

Your Browser                    Akash Network
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  React UI            β”‚       β”‚  Nginx       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚       β”‚  (static     β”‚
β”‚  β”‚ transformers.jsβ”‚  │◄──────│   HTML/JS/   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚ HTTP  β”‚   WASM)      β”‚
β”‚  β”‚ β”‚ Gemma 4    β”‚ β”‚  β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚  β”‚ β”‚ (WebGPU/   β”‚ β”‚  β”‚
β”‚  β”‚ β”‚  WASM)     β”‚ β”‚  β”‚       HuggingFace CDN
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  │◄──────│  ONNX Model  β”‚
β”‚                      β”‚ HTTPS β”‚  Weights      β”‚
β”‚  πŸ”’ Zero data leaves β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚     your device      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key insight: The Akash server only serves static files. ALL AI inference runs in your browser. Model weights are downloaded directly from HuggingFace's CDN and cached locally.

πŸ“¦ Local Development

# Clone
git clone https://github.com/toxmon/browsrgemma.git
cd browsrgemma

# Install
npm install

# Dev server
npm run dev

# Production build
npm run build

🐳 Docker Build

docker build -t toxmon/browsrgemma:0.1.0 .

☁️ Deploy on Akash

Option 1: One-Click (via Cloudmos Console)

  1. Go to console.akash.network
  2. Click "Deploy"
  3. Paste the deploy.yml contents
  4. Fund with AKT and deploy

Option 2: CLI

# Install Akash CLI (if needed)
# See: https://akash.network/docs/getting-started/cli/

# Create deployment
akash tx deployment create deploy.yml --from $KEY --chain-id akashnet-2 --fees 5000uakt

# View bids
akash lease list

# Send manifest to provider
akash provider send-manifest deploy.yml <LEASE-ID>

Option 3: Build & Push Your Own Image

# Build
docker build -t your-dockerhub-user/browsrgemma:0.1.0 .

# Push
docker push your-dockerhub-user/browsrgemma:0.1.0

# Update deploy.yml image field, then deploy

πŸ’° Cost

Akash hosting for a static site: ~$0.01-0.05/month in AKT. Essentially free.

πŸ“± PWA

BrowserGemma is a Progressive Web App. On mobile:

  1. Open the site in Chrome/Safari
  2. Tap "Add to Home Screen"
  3. It launches like a native app

🎯 Why This Matters

  • Privacy: Your images and text never leave your device. No server logs, no data collection.
  • Accessibility: AI that works offline after first load, no API keys needed.
  • Decentralization: Proves that AI demos don't need centralized hosting.
  • Performance: WebGPU enables real-time inference that was impossible in browsers a year ago.

πŸ™ Credits

πŸ“„ License

MIT


Built with ❀️ β€” Powered by transformers.js + Akash Network

Contributors

ToXMon

7 commits

Languages

TypeScript

90.1%

HTML

4.1%

JavaScript

2.7%

Dockerfile

1.6%

CSS

1.5%