Workshop · Tech note #01 · personal project

Darkover

A holographic voice assistant in your browser

Say “Hey Darkover”: the face is a WebGL hologram in the browser, and the brain runs on headless Claude Code or on Ollama on your local network. It searches the web, generates images, controls your phone and reads email through your tools.

Illustrative schematic: a wireframe holographic face labelled “Hey Darkover” connects to a “bridge Node.js” box that branches to “Claude Code headless” and “Ollama LAN”; dashed boxes mark ElevenLabs and DarkoverLearning as optional.
Illustrative schematic made for this post. Not a screenshot.

A face in the browser, a brain outside it

Say “Hey Darkover” and it wakes up, listens and acts. Darkover is a voice assistant with a holographic interface that runs in a web page. The face lives in the browser; the brain runs somewhere else.

That split has a practical upside: even a modest laptop can handle it, because the user’s machine only has to draw the interface.

Architecture

  1. Browser: wake word, microphone and the holographic interface in React + Vite + Three.js, with custom GLSL shaders.
  2. Node bridge: a light bridge between the page and the brain.
  3. Brain: Claude Code in headless mode or, as a fully local alternative, Ollama on a machine on the network.
  4. Actions: the brain acts through your tools.

What it does

Web search

Searches and answers by voice.

Image generation

Creates images on request.

Phone control

Acts on your phone through your tools.

Email reading

Reads your email when you ask.

These actions happen through your own tools, and some of them touch personal things like email and your phone.

Voice and memory

ElevenLabs, optional

With it, the voice is much better and transcription more accurate. Without it, Darkover uses the browser’s built-in speech and everything keeps working.

Long-term memory

It lives in a separate service, DarkoverLearning.

It’s the same principle as Coliseu IA: the add-on improves the experience, but it isn’t a dependency.

A setup without surprises

Voice assistants come with fiddly prerequisites. That’s why there’s npm run setup, which checks everything and explains in plain language what’s missing.

  • Node.js 20 or newer
  • Claude Code installed and signed in (or Ollama on the network)
  • Chrome or Edge in a real window
  • Optional: ElevenLabs

The other Darkover

If the name sounds familiar, that’s because Darkover is also the autonomous NPC player in Echoes of Aether, who plays by the same rules you do. There, it’s an agent inside an RPG; here, it’s a voice assistant. The two projects share the name and the idea of an agent that acts on its own.

Tech sheet

  • React
  • Vite
  • Three.js + GLSL
  • Node (bridge)
  • Claude Code headless
  • Ollama
  • ElevenLabs (opcional)
Status
Working product, with a detailed README and structured backlogs
Security
TLS configured
License
Custom license
Requirements
Node.js 20+, Chrome or Edge

Interested in voice assistants, WebGL interfaces or tool-using agents? Let’s talk.

Write to me