cd /news/ai-tools/build-your-own-jarvis-with-5-free-to… · home › topics › ai-tools › article
[ARTICLE · art-162026] src=gist.github.com ↗ pub= topic=ai-tools verified=true sentiment=· neutral

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.

by read3 min views2 publishedOct 30, 2026

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 · MIT · 185K★ 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 · 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 .
  • 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 theOLLAMA_BASE_URL setting.

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 · 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 · Apache-2.0 · 55.9K★

curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash
goose configure

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.

── more in #ai-tools 4 stories · sorted by recency
── more on @ollama 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/build-your-own-jarvi…] indexed:0 read:3min 2026-10-30 · —