Build your own JARVIS with 5 free tools: setup guide A developer published a setup guide for assembling a local, self-hosted AI assistant from five free components: Ollama running Qwen3 as the model backend, Open WebUI as the chat interface, faster-whisper for speech-to-text, kokoro-onnx for text-to-speech, and goose for MCP-based skills, with Obsidian Markdown notes as memory. The guide stresses that the pieces are separate tools the user must wire together, that no single JARVIS works out of the box, and that performance depends on hardware, recommending a small model such as qwen3:4b to start. It documents verified integrations between Open WebUI and Ollama and between goose and Ollama, and notes Open WebUI's built-in local Whisper for browser voice input. Commands checked on the official pages and READMEs on 30 Oct 2026. Star counts are from 29 Oct 2026. What you're building: a local AI assistant that has a brain Ollama + Qwen3 , a chat screen Open WebUI , ears faster-whisper , a voice kokoro-onnx , skills goose and memory Obsidian notes . Honest caveat: these are separate tools. You install them and wire them together yourself; none of this works as one JARVIS out of the box. Speed depends on your hardware, so start with a small model. Ollama: https://github.com/ollama/ollama https://github.com/ollama/ollama · MIT · 185K★ Qwen3: https://ollama.com/library/qwen3 https://ollama.com/library/qwen3 · Apache-2.0 macOS / Linux: curl -fsSL https://ollama.com/install.sh | sh Windows PowerShell : irm https://ollama.com/install.ps1 | iex Start with a small model: ollama run qwen3:4b - Ollama's local API runs at http://localhost:11434 . - Skip models tagged :cloud , because they don't run on your machine. https://github.com/open-webui/open-webui https://github.com/open-webui/open-webui · Open WebUI License BSD-3-style with a branding clause; free and self-hosted · 157K★ You need Python 3.12 . pip install open-webui open-webui serve - Open http://localhost:8080 http://localhost:8080 . - On first run you create a local admin account. It stays on your machine; there is no cloud signup. - With Ollama running, choose qwen3:4b in the model picker. To use Ollama on another machine, the README shows the OLLAMA BASE URL setting. https://github.com/SYSTRAN/faster-whisper https://github.com/SYSTRAN/faster-whisper · MIT · 26.3K★ · needs Python 3.9+ pip install faster-whisper python from faster whisper import WhisperModel model = WhisperModel "small", device="cpu", compute type="int8" segments, info = model.transcribe "audio.mp3", beam size=5 for s in segments: print s.text - It runs on CPU. On an NVIDIA GPU it needs CUDA 12 and cuDNN 9. https://github.com/thewh1teagle/kokoro-onnx https://github.com/thewh1teagle/kokoro-onnx · MIT · 2.8K★ · the Kokoro-82M model is Apache-2.0 pip install -U kokoro-onnx soundfile wget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files-v1.1/kokoro-v1.0.onnx wget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files-v1.1/voices-v1.0.bin python import soundfile as sf from kokoro onnx import Kokoro kokoro = Kokoro "kokoro-v1.0.onnx", "voices-v1.0.bin" samples, sr = kokoro.create "Hello, I am your assistant.", voice="af sarah", speed=1.0, lang="en-us" sf.write "audio.wav", samples, sr https://github.com/aaif-goose/goose https://github.com/aaif-goose/goose · Apache-2.0 · 55.9K★ curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download cli.sh | bash goose configure - There is also a desktop app: https://goose-docs.ai/docs/getting-started/installation https://goose-docs.ai/docs/getting-started/installation - In goose configure , pick Ollama as the provider. Your local models appear automatically, so no API key is needed. Cloud providers do need keys. - goose adds skills through MCP extensions. https://obsidian.md https://obsidian.md · free for all purposes, no sign-up needed · not open source - Download it from obsidian.md and create a vault a folder . - Your notes are stored locally as plain text Markdown files, so any tool that reads files can use them. - Sync and Publish are paid add-ons and you don't need them. - Open WebUI ↔ Ollama: verified Open WebUI README . Your Ollama models show up in its chat. - goose ↔ Ollama: verified goose provider docs . - Open WebUI voice no code : its audio docs docs.openwebui.com/troubleshooting/audio say speech-to-text uses a built-in local Whisper when the engine is left empty, and they describe its compute settings as faster-whisper's. So you can talk to it in the browser. In your own Audio settings you can also pick "Kokoro.js Browser " for a local in-browser voice. That is Kokoro running in the browser, not the kokoro-onnx package from step 4, which has no verified link to Open WebUI. - faster-whisper and kokoro-onnx ↔ goose: not verified. You'd write a small script that sends the transcribed text in and speaks the reply. - Obsidian ↔ goose or Open WebUI: not verified as a built-in link. The notes are plain markdown files, so point your tools at the vault folder.