One HTML file, a full ChatGPT client
A single-file, zero-build frontend that talks to OpenAI—and now DeepSeek, Gemini, and Claude too.

What it does
This is a pure-JavaScript ChatGPT interface packed into one index.html. Drop it on any static host, add your API key, and you have a fully functional chat client with markdown rendering, syntax highlighting, dark mode, voice input, text-to-speech, and session management. No build step, no dependencies to install, no framework to learn.
The interesting bit
The README spends more time on nginx and Caddy reverse-proxy configs than on the app itself—and that’s the point. The author treats the frontend as a triviality and focuses on the hard part: safely proxying multiple AI providers (OpenAI, DeepSeek, Gemini, Claude) through a single custom key, with gzip for SSE streams and socat tunnels for region-blocked servers. It’s a deployment guide wearing a chat UI as a hat.
Key highlights
- Single-file deployment: just
index.htmlplus optionalenv.jsfor API credentials - Multi-provider support via reverse proxy: OpenAI, DeepSeek, Gemini, Claude with unified key auth
- Voice input and speech output (Bing/Azure/system voices, with per-language recognition)
- PWA-ready with service worker, offline icon, and manifest
- HTML file encryption via a separate web tool—password-protect the frontend, though the proxy remains exposed
- Extensive customization: themes, shortcuts, typing speed, context limits, auto-read, prompt libraries
Caveats
- The “encryption” only obscures the HTML; API traffic and proxy endpoints are unaffected
- PWA updates require manual
sw.jsedits; renameindex.htmland you must patch the worker - Voice input is Chrome-only and requires HTTPS or localhost
- Several warnings about API key exposure over HTTP suggest the threat model is real
Verdict
Grab this if you need a quick, private ChatGPT frontend for personal use or a small team, especially behind an existing reverse proxy. Skip it if you want a managed SaaS, real multi-user auth, or a modern component framework—the value here is in the deployment patterns, not the UI architecture.