# credits
© 2026 Kof Twenty Two. All rights reserved.
built with ♥ by james maes and the q's (qqq, qRun, qBits, qStudio)
~/kof22·©2026·git:ec62f12·api·rssContact·
~·~/blogs·~/projects·~/personal·~/about·api·~/admin·~/stream
Skip to content
james@kof22:~$
Home~
Blogs~/blogs
Field NotesIdeas Into Systems
Projects~/projects
Kof22 WebsitesQQQ Framework
Personal~/personal
PhotographyCarsWood WorkingMetal Working
About~/about
Stream~/stream
Home~
Blogs~/blogs
Field NotesIdeas Into Systems
Projects~/projects
Kof22 WebsitesQQQ Framework
Personal~/personal
PhotographyCarsWood WorkingMetal Working
About~/about
Stream~/stream
james@kof22:~/projects/software/jarvis: a macos voice assistant prototype$

Jarvis: a macOS voice assistant prototype

An alpha personal macOS assistant with a Swift host and rendered HUD; native code owns machine interaction.

in progress

Concept illustration of an audio waveform flowing into a macOS assistant interface.
Concept illustration for the project.

~/image$ Image viewer

Concept illustration for the project.Esc to close
ActivityOverviewGalleryCode

An ambient assistant has to connect model reasoning to a real machine without letting an attractive interface become the owner of everything. Jarvis explores that boundary as a personal macOS application with a native host and a rendered HUD.

CTO to Human: keep authority near the operating system

The project is explicitly for one user on one machine and remains in alpha development. Its public code is a place to study the design, not a claim that the application is a finished general-purpose assistant.

A Swift host owns machine interaction and agent state. A webview provides the visual surface. Separating those responsibilities gives the project a clear place to reason about permissions, failures and the effects of a requested action.

Engineer to Engineer: a typed boundary around the view

The documented architecture combines native Swift packages with React and React Three Fiber in WKWebView. A protocol-versioned JSON bus is the defined Swift/JavaScript boundary. Packages separate the agent loop, voice, memory, tools, replay and boot-health behavior; repository boundary checks enforce parts of that separation.

Local memory uses SQLite search/vector components, while the model-provider interface includes a hosted provider and an Ollama fallback. The repository describes local voice and memory processing separately from hosted model inference. A local subsystem should not be mistaken for a claim that every turn stays offline.

The Jarvis repository records the architecture and ongoing typed-API migration. This journal follows the mechanisms that connect an expressive interface to a controlled native runtime.

Jarvis

Collection
Software projects
Status
in progress
View on GitHub