KRUSALOVORG

A platform for living AI personalities

Vekna

A platform for persistent AI personalities: versioned character blueprints, long-term memory, voice, and task execution on the user's computer through a separate local agent.

Role
Founder / Architect / Full-stack Developer
Period
2025—Now
Status
Active development
Team
Solo
Stack
Python · FastAPI · React · TypeScript · PostgreSQL · pgvector · Three.js · gRPC

At a glance

Problem

An AI character has to stay itself across sessions, remember the shared history, and still be allowed to run tasks on the user's computer — without turning into a security hole.

My contribution

I own the whole product: platform architecture, the FastAPI backend, the NeuroCore personality runtime, the React 19 frontend, the voice stack, and the desktop agent.

Result

A working platform in private alpha: text and voice flows, Persona Studio, the visual agent, and desktop execution.

Challenge

The problem

An AI character has to stay itself across sessions, remember the shared history, and still be allowed to run tasks on the user's computer — without turning into a security hole.

I split the system into strict layers: NeuroCore decides who is speaking and how the request is understood; the backend owns policy, jobs, and audit; the Desktop Agent only executes already-approved work. PostgreSQL is the source of truth, Dragonfly is ephemeral coordination, and object storage serves bytes directly instead of proxying them through Python.

What I owned

My role

I own the whole product: platform architecture, the FastAPI backend, the NeuroCore personality runtime, the React 19 frontend, the voice stack, and the desktop agent.

  • 01Platform architecture and the boundaries between runtime, policy, and execution
  • 02Python and FastAPI backend: API, WebSocket, job queues, audit
  • 03Memory and relationship model on PostgreSQL and pgvector
  • 04Persona Studio — a visual environment for building and versioning personalities
  • 05Voice stack: ASR, TTS, wake word, calls
  • 06Desktop Agent — a local executor with per-tool risk policies and confirmations

How it works

A personality as a runtime

An ordinary AI character is one long system prompt that falls apart by the third message. In Vekna a personality is taken apart: identity, character traits, beliefs, speech patterns, a reaction graph, voice, and behavioral boundaries. Each part is versioned separately, and Persona Studio gives you a visual environment to assemble, test, and publish that blueprint.

og

Memory that outlives the tab

Memory in Vekna isn't a message log. It's separate state scoped to each user–persona pair, with background consolidation in workers and semantic search through pgvector. A relationship is state too: it changes from real interactions, not from a slider in settings. That's why a character remembers the shared history and behaves differently with different people.

The right to act is its own layer

An assistant that can run commands on your computer is either very useful or very dangerous. So reasoning and execution are separated: the server plans tool calls, the backend owns policy and audit, and the Desktop Agent on the user's machine executes only already-approved work — each tool with its own risk policy and confirmation.

Engineering decisions

01

Personality runtime

A personality is a versioned blueprint instead of one oversized system prompt: identity, character traits, beliefs, speech patterns, a reaction graph, voice, and boundaries. Persona Studio lets you build, test, version, and publish those blueprints, and the AI co-author streams proposed edits without writing anything into the draft until the author applies them.

02

Memory and relationships

Memory is persistent and scoped to each user–persona pair, with background consolidation in separate workers. Semantic search runs on pgvector. A relationship is its own state that evolves from actual interactions rather than from a settings slider.

03

On-device execution

Reasoning stays on the server, execution stays on the user's machine. The Desktop Agent runs only approved tool calls, each with its own risk policy and confirmation gate. The microphone opens on wake word or push-to-talk — there is no always-on listening mode.

04

Processes and scaling

API, workers, and scheduler are separate processes: the API serves REST and WebSocket, workers drain a Dragonfly-backed job queue with retries and timeouts, and the scheduler plans periodic jobs. Without Dragonfly everything collapses into a single process, so local development needs no infrastructure.

Stack

Language
PythonTypeScript
Backend
FastAPIgRPC
Frontend
ReactThree.js
Database
PostgreSQLpgvector

Outcome

What we achieved

A working platform in private alpha: text and voice flows, Persona Studio, the visual agent, and desktop execution.

Private alpha
Product stage
Solo
Architecture and development
Voice + Text
Two conversation channels
pgvector
Semantic memory

Status

Current state

Private alpha at vekna.krusalov.org, preparing for a closed beta.

Next

What's next

Opening the beta, a plugin marketplace for the desktop agent, and further work on the visual agent.

Let's work together

Need a similar product?

Next project

Zion Trip

Mobile travel product: flights, hotels, transfers, and related services.