A Zero-Dependency PWA Chat UI for Chrome’s Built-in Gemini Nano
Hello everyone,
I’m excited to share a project I’ve been working on: chrome_ai_ui—a modern, feature-rich Progressive Web App (PWA) designed to provide a seamless chat interface for Chrome’s built-in Gemini Nano model.
My goal was to create the most private and performant chat experience possible by using the native Chrome AI API directly, without any external servers or frameworks.
Why This Project is Unique
- Zero Dependencies: The entire application is built using pure vanilla JavaScript, HTML, and CSS, ensuring minimal overhead and blazing-fast performance.
- Privacy-First PWA: All conversation history and data are stored locally using IndexedDB. There are no external API calls, servers, or tracking.
- Feature-Rich UI: Despite the “zero dependency” constraint, it supports multi-turn conversations, live streaming responses, dark/light themes, and persistent chat history.
- Multimodal File Support: The app can upload and process multiple files (images, text files like JSON/CSV/Markdown) in a single message, with live previews before sending.
Seeking Feedback
I am currently refining this as a robust prototype and would greatly appreciate any feedback from the Google AI developer community, especially regarding:
- Chrome API Integration: Are there any optimizations or best practices I missed when interfacing with the built-in Gemini Nano API?
- Architecture: Thoughts on the vanilla JS MVC architecture and the separation of concerns (especially in
ChatService.jsvs.ChatApplication.js). - UX/Feature Prioritization: Based on your experience with Gemini, which features from the Roadmap (e.g., Voice Input/Output, Plugins) would you recommend prioritizing next?
Thank you for taking a look!
- GitHub Repository: https://github.com/arif891/chrome_ai_ui/
- Live Demo (Requires Chrome 139+ and Flag Enabled): https://aichat-blush-seven.vercel.app