A Gemini-native chat UI that keeps your data in the browser
AMC WebUI wraps Google's multimodal API into a local-first React app with Python sandboxing, live artifacts, and enough toggles to satisfy a control freak.

What it does
AMC WebUI is a React 18 single-page app that talks to Google’s Gemini API first, OpenAI-compatible endpoints second. Chat history lives in IndexedDB by default; a Dockerized backend exists mainly for key-proxying and CORS relief. The UI covers the usual suspects—multimodal chat, image generation, voice input/output, screen sharing, and real-time streaming—plus a few less usual ones.
The interesting bit
The project ships a browser-based Python runtime via Pyodide, preloaded with numpy and pandas, which auto-installs scipy or scikit-learn on demand. That’s not a party trick; it means code execution happens without a server round-trip. The “Live Artifacts” feature auto-detects code blocks and renders them as interactive HTML previews, including Mermaid and Graphviz diagrams. The README also notes a strict pricing philosophy: cost estimates only appear when the stored metadata can “strictly and precisely” reconstruct official billing—otherwise you get an em-dash.
Key highlights
- Dual API paths: Gemini native mode gets the full feature set; OpenAI-compatible mode is deliberately limited to standard chat completions with isolated keys and model lists.
- Local-first by default: IndexedDB storage, BroadcastChannel tab sync, Web Locks API for write safety, and a full PWA shell with offline app opening.
- File handling with opinions: Browser-side audio compression, ZIP/folder drop parsing, and per-file-type toggles between Gemini Files API and base64 upload.
- Safety controls exposed: Five Google safety filter categories, each with five severity levels—exposed in the UI, not hidden behind defaults.
- Node 26 lock-in:
.nvmrc, CI, and Docker all enforce Node 26;engine-strictwill reject other versions at install time.
Caveats
- The Docker deployment is explicitly labeled “trusted self-hosted” only; the README warns it lacks auth, rate limiting, and tenant isolation for public exposure.
- OpenAI-compatible mode does not inherit Gemini’s tool chain—deep search, code execution, and image generation stay gated behind Gemini native mode.
- The README truncates mid-sentence during the MCP
stdiosection, leaving that feature’s scope unclear.
Verdict
Worth a look if you want a Gemini-centric UI with genuine local-first discipline and don’t mind the Node 26 constraint. Skip it if you need a hardened multi-user deployment out of the box, or if your workflow depends on OpenAI-compatible tool calling.
Frequently asked
- What is yeahhe365/AMC-WebUI?
- AMC WebUI wraps Google's multimodal API into a local-first React app with Python sandboxing, live artifacts, and enough toggles to satisfy a control freak.
- Is AMC-WebUI open source?
- Yes — yeahhe365/AMC-WebUI is open source, released under the MIT license.
- What language is AMC-WebUI written in?
- yeahhe365/AMC-WebUI is primarily written in TypeScript.
- How popular is AMC-WebUI?
- yeahhe365/AMC-WebUI has 887 stars on GitHub.
- Where can I find AMC-WebUI?
- yeahhe365/AMC-WebUI is on GitHub at https://github.com/yeahhe365/AMC-WebUI.