Personal project

AIRI

AIRI is my personal desktop assistant project for practical local AI work on Windows. The product is intentionally opinionated: a hotkey-driven overlay, deterministic setup phases, sequential tool execution, and explicit approvals for sensitive actions so the assistant feels understandable while it is doing real work.

Overview

Project frame

Role

Product design, Electron architecture, renderer-main integration

Timeline

2026

Status

Windows-first local desktop assistant

Stack

  • Electron
  • React
  • TypeScript
  • llama-server
  • OpenAI-style SSE
  • Tool calling
  • Langfuse
  • Vitest

Case study

What defines it

Product frame

AIRI treats local AI as a usable desktop surface rather than a model wrapper with a chat box on top.

  • The primary affordance is a hotkey-triggered overlay that can switch between expanded and chip modes.
  • Boot flow is phase-based, so the app decides whether to show onboarding or the overlay based on real runtime readiness.
  • The architecture is explicit across renderer, preload, main process, and a local llama-server sidecar.

Interaction design

The interface is designed to make longer agent runs legible instead of magical.

  • Streaming separates reasoning and content so users can follow progress without losing the final answer.
  • Tool calls execute sequentially and transition into awaiting approval when actions become safety-sensitive.
  • Typed IPC keeps overlay state, focus events, approval dialogs, and runtime updates aligned between processes.

System depth

The project emphasizes auditability, bounded behavior, and recovery over novelty.

  • The first shipped tool slice covers search, host open, spreadsheet and document handling, memory, and desktop automation surfaces.
  • Local persistence covers conversations, logs, traces, and voice assets in formats that are easy to inspect after failures.
  • Langfuse tracing is opt-in, and critical runtime paths are covered with Vitest around hotkeys, run control, and tool flows.

Highlights

What shipped

A local-first Windows assistant built around an overlay UI, guided runtime setup, and approval-aware tool use instead of a generic chat shell.

  • Built dual overlay modes with hotkey-driven focus handoff and chip-on-blur behavior for low-friction invocation.
  • Implemented phase-based onboarding that checks runtime readiness before handing users into the overlay.
  • Separated streamed reasoning from final content and paused tool execution for approval on safety-sensitive actions.
  • Persisted conversations, memory, voice assets, logs, and session traces as human-readable JSON or JSONL with atomic writes.

AIRI is still evolving, so I present it as a case study instead of a public deploy.