Skip to content
All work

Kaysea

A personal AI agent with a core, six modes, and a voice.

Kaysea's core in the desktop app. Tap it to open her full screen, or type below
Kaysea's core in the desktop app. Tap it to open her full screen, or type below

A desktop AI agent built around a live 3D core, with modes for world news, gaming, films, study and markets, backed by one agent API, a local voice service and an activity tracker.

The idea

Most assistants forget you the moment the tab closes. Kaysea is built for exactly one user, me, and she’s meant to know what I’m working on.

Her core

The desktop app opens on her core: an ice-blue 3D sphere of orbiting rings and live status text (listening, memory.load, graph.sync) around a wireframe centre. Tap it to open her full screen, or type below to talk. The same core follows you into every mode as a small docked panel, so she’s always one message away.

Six modes

Each mode turns the app into a tool for one part of my day:

  • World Monitor is a situation room: a live 3D globe with conflict, earthquake and news layers, live TV from CNN, Sky News, DW, Al Jazeera, Bloomberg and others, and feeds for world news, defence, Africa, markets and technology.
  • Game Mode reads my real Steam library and hours, shows playtime and friends, pulls gaming news and deals, and docks a 3D controller that detects an Xbox, PS4 or PS5 pad live. An AI coach is wired in, ready for when I connect the Claude API.
  • Movie Mode plays films straight off my PC, with shortcuts to Netflix, Prime Video, HBO Max, Disney+ and YouTube. Reading local files only works inside the Electron shell, since a browser tab can’t safely get filesystem access.
  • School Mode runs focus sessions: a 25-minute timer with short and long breaks, subjects, deadlines she keeps in view, and a timetable that can import a university calendar file.
  • Gamble Mode is a watch-only market terminal for Polymarket, forex and crypto. Execution is disarmed by design: no exchange connected and no keys stored anywhere in Kaysea.
  • Immersive Mode shows every mode as a hologram in 3D space. You swipe between them by dragging, scrolling, with the arrow keys, or with hand gestures through the camera (MediaPipe).

Shape of the system

Behind the interface it’s a monorepo on npm workspaces:

  • agent-api is the brain. Every client talks to it, so she behaves the same at my desk or on my phone.
  • desktop is the Electron app shown here, a React and Vite interface with the 3D scenes in React Three Fiber. The renderer is sandboxed and reaches the system only through a small, vetted bridge.
  • mobile is an Expo app for when I’m away from the laptop.
  • voice is a Python service in its own virtualenv, so I can talk instead of type.
  • activity-tracker is a small Node service that logs what I’m doing, which gives her context without me explaining it every time.

One npm start boots the lot, and a health-check script tells me which piece fell over.

What I learned

Splitting voice out into Python was the right call. The audio libraries there are years ahead of what Node has, and because it sits behind a local HTTP boundary, the JavaScript side doesn’t care what language it’s talking to.

The menu: six modes, theme settings, ambient motion and camera-based hand control
The menu: six modes, theme settings, ambient motion and camera-based hand control
World Monitor: a live 3D globe with conflict, quake and news layers, live TV channels and topic feeds
World Monitor: a live 3D globe with conflict, quake and news layers, live TV channels and topic feeds
School Mode: focus timer with breaks, subjects, deadlines and a weekly view
School Mode: focus timer with breaks, subjects, deadlines and a weekly view
Game Mode: Steam library, playtime, friends, gaming news and deals, with a 3D controller that detects your pad
Game Mode: Steam library, playtime, friends, gaming news and deals, with a 3D controller that detects your pad
Gamble Mode: a watch-only market terminal for Polymarket, forex and crypto. Execution stays disarmed and no keys are stored
Gamble Mode: a watch-only market terminal for Polymarket, forex and crypto. Execution stays disarmed and no keys are stored

Next project

Schoolstack

Records, classes and attendance for a single school.

ESC
↑↓ navigate↵ openBarclayXP