[▲ Vercel Community](/) · [Categories](/categories) · [Latest](/latest) · [Top](/top) · [Live](/live) [Open Source](/c/open-source/45) # Conduit: The Native Mobile Client for Self-hosted AI 389 views · 2 likes · 3 posts Tunap (@cogwheel0) · 2025-12-16 ### Why I Built This I’ve been self-hosting for a couple of years now, and when I set up Open-WebUI to replace commercial AI chat apps, I hit a wall: getting my family to actually *use* it. The PWA experience just wasn’t cutting it. No native integrations, clunky voice input, and it never felt like a “real” app. My family would default back to ChatGPT because it was just… easier. And I get it, if the UX isn’t there, nobody’s switching. So I built Conduit. The goal was simple: make self-hosted AI feel as polished as the commercial alternatives so there’s zero friction for non-technical users. Voice calls with your AI that show up in CallKit like a real phone call. Siri integration. Instant startup. The works. I shared it on [r/selfhosted](https://www.reddit.com/r/selfhosted/comments/1mo9w3t/built_a_native_openwebui_client_for_ios_android/) and the response blew me away, it clearly resonated with others facing the same “family adoption” problem. This is actually my second Flutter app (the first was [Luci Mobile](https://github.com/cogwheel0/luci-mobile) for OpenWrt router management), and building native experiences for self-hosted services has become a bit of a passion project. --- ### The Problem Open-WebUI is an incredible self-hosted AI interface, but accessing it on mobile has always meant dealing with a PWA that doesn’t feel quite native. No native integrations, no Siri integration, no proper voice calls with your AI, and no offline access to your chat history. ### The Solution Conduit bridges that gap with a truly native experience: **Voice Call Mode** — Have phone-style conversations with your AI. Speak naturally, hear responses read aloud, and chat completely hands-free. Full CallKit integration on iOS means your AI calls show up just like regular phone calls. **Real-time Streaming** — WebSocket-powered responses that feel instant. No waiting for the full response—watch it stream in character by character. **Privacy-First** — Zero analytics, zero telemetry. Credentials stored in native Keychain/Keystore. Your data stays between you and your server. **Deep System Integration** — Siri Shortcuts, Android Assistant triggers, home screen quick actions, share extensions, and iOS widgets. **Full AI Capabilities** — Vision models, RAG with document uploads, function calling/tools, and beautiful markdown rendering with syntax highlighting. ### Tech Stack * **Flutter** with Riverpod 3.0 for state management * **Dio + Socket.IO** for HTTP and real-time WebSocket streaming * **Flutter Secure Storage** for credential management * Clean architecture with feature-based organization ### What Users Are Saying > *“The UI is far superior to what OpenWebUI has as a PWA.”* — Google Play Review > *“UI is on par with ChatGPT app. Great app, dev is quick to fix bugs.”* — App Store Review > *“If you run an ollama server this app is not only free and open source but really polished and impressive!”* — Google Play Review ### Links * **GitHub:** https://github.com/cogwheel0/conduit * **Website:** https://conduit.cogwheel.app * **App Store:** https://apps.apple.com/us/app/conduit-open-webui-client/id6749840287 * **Google Play:** https://play.google.com/store/apps/details?id=app.cogwheel.conduit ### Grateful for Vercel Huge thanks to the Vercel OSS program for supporting this project! --- **License:** GPLv3 Would love to hear from others in the self-hosted AI community! If you’re running Open-WebUI, Ollama, or any compatible backend, give Conduit a try and let me know what you think. --- Amy Egan (@amyegan) · 2025-12-16 · ♥ 1 Such a good solution to the problem of non-techie family members needing an easier way :black_heart: Tunap (@cogwheel0) · 2025-12-17 · ♥ 1 Thank you, Amy! It's been incredibly fulfilling really.