← Projects

GOFI

An assistant I built for myself that runs 100% locally on my machines

status
building
stage
running · updating everyday
stack
Python · Django · Ollama · React · SwiftUI · Tailscale
GOFI screeshot

What it is

Geniusly Organised Facilitating Intelligence. It's the assistant I built for myself that runs distributed across my machines.

It answers out loud when I talk to it and shows every machine's status. It can open a shell on each machine or speak in another room, and it remembers what I tell it. It answers as a character whose one purpose is to make my life easier.

Why

I've always loved Tony Stark and what made him so cool was JARVIS. I wanted to make my own.

How it works

One always-on laptop at home runs the server: Django, the tools, and a local model through Ollama. Every other device talks to it over Tailscale,.

Machine What it does
HP laptop (Ubuntu, GTX 1650 Ti) Server, worker, local model, the git server
Two MacBooks GOFI.app, a SwiftUI app to actually interact with it
iPhone A web page for on the go
Raspberry Pi 5 Speaks GOFI's lines through a Bluetooth speaker in another room

Speech is the one fork in a request. In GOFI.app, the Mac transcribes on-device in about 0.2 s. On the page, the audio goes to Whisper on the server, which takes about 1.8 s for a 3 s clip. After that both paths are the same: one model answers, and Kokoro voices the reply a sentence at a time. My calendar and contacts are the only part that lives outside the house, because they're Apple's.

Where it's at

Currently, it's on v4.01: I can talk to GOFI and it can answer questions based on my projects, set up my calendar and update my contacts.

Links

I've kept the code private as GOFI holds sensitive info about me.