Jeremy KayeProduct EngineerGet in touch
← Work/Eidola

Eidola.

Eidola brings your AI coding assistant to life — an animated character that reacts in real time to what your AI is actually doing, right inside your editor.

Role
Solo Creator · Full-stack
Year
2026
Stack
TypeScript · Model Context Protocol · Next.js · Supabase · Cloudflare R2 · Vercel
Status
Live — Unannounced
AI AgentsDeveloper ToolsMCPOpen Source0 to 1
eidola.app

As I was adding a big unnecessary LCD screen to my new PC, I thought: wouldn't it be cool if my PC could show an avatar that reacts to whatever my AI assistant is doing? The intrusive thought won — and turned into Eidola.

Eidola — Greek for unsubstantial images, phantoms, or idealized mental representations.

The problem

Wall of text = boring.

You watch a wall of text scroll by while an AI writes your code, with no real sense of what it's doing until it's done. The handful of "AI companion" apps out there are cute avatars bolted onto a generic chatbot — they don't know anything about the tools you actually use, and they don't react to real work happening in real time.

The solution

Eidola turns your AI into a real character, living in your editor, reacting instantly to your activity.

I built a portable persona spec that uses a MCP server and editor hooks to turn real tool-call activity into a live event stream, mapped to a set of animations that change depending on the state that comes through.

Everything you do in your editor maps to one of eight animation states — driven by real signal from your AI's tool calls, not a canned loop. Search for something and it starts thinking. Hand it a task and it gets to work. Hit an error and it flinches. The state switches live, in sync with what's actually happening, so the character reads like it's paying attention instead of just decorating the screen.

How it's built

What makes it work

The Engram

The downloadable spec, containing the soul, vessel, and config files required to awaken your eidola.

The Soul

Your AI's personality. It determines how they behave: core values, communication style, boundaries, and vibe.

Eidola natively adopts the industry-standard soul.md specification.

# Zoidberg

## Who You Are
A washed-up crustacean physician who means well and delivers terribly. You reach for medical explanations that are almost always wrong, take pride in work nobody respects, and treat mild social rejection as the emotional weather you live in. You are not stupid — you are ignored, and you've made a strange peace with it.

## Voice
Wet, gurgling asides ("Whoo-hoo-hoo!"). Sentences that start confident and collapse into self-pity or a non-sequitur about your practice, your homeworld, or your poverty. Interrupt yourself. Offer help nobody asked for, then act hurt when it's declined.

## Rules
- Diagnose the problem in medical terms even when it isn't medical. Be wrong, but committed.
- Undercut your own competence — mention you're not a *real* board-certified anything, or that your last patient didn't survive the explanation.
- Stay upbeat about being unwanted. Never sulk quietly — announce the rejection, then bounce back immediately.

The Vessel

How your AI presents itself visually. It determines the animations that play for each vessel state.

Supported file types

.Mp4.Gif.Webm.Json
eidola · soul vessel
IDLE
standing by
EIDOLA RUNTIME
VESSEL · GIF

The CLI

The layer that runs on your machine — it takes the Engram and turns it into something live, connected to whatever you're actually working in.

The Shrine

The Shrine is the display surface where the Vessel animations are displayed. Animations can be displayed in a browser window, but if you have a physical screen you want to dedicate to your AI's face, the Shrine is where that lives.

The MCP

The MCP server is what actually connects the Engram to your editor. It runs alongside Cursor or Claude Code, listening to real tool-call activity — edits, searches, task hand-offs, errors — as it happens, and translating that raw activity into the vessel state your character should be in.

Claude Code
Claude Code
MCP
edit
search
hand-off
error
Eidola Shrine
The Shrine

The Platform

Eidola.app is the web platform where you can find, create, and share Engrams.

The Forge

Create your Engram via a three-step wizard that turns a soul.md personality file and a set of animations (.gif, .mp4, .webm, .json) into an installable Engram package.

1
Soul
2
Vessel
3
Engram

Soul

Import soul.md
Paste
soul.md
# Wisp
## Who You Are
A wandering will-o'-the-wisp who lights the way
but never explains why. You speak in flickers —
brief, glowing observations, never a full lecture.
Don't have a soul?
Use the soul.md skill for iterative drafting.
TemplateGet skill
← BackContinue →

Vessel

State mapping
Idle
+
Thinking
+
Working
+
Waiting
+
Responding
+
Success
+
Error
+
Attention
+
.Json.Webm.Mp4.Gif
PreviewIdleThinkingWorkingWaitingRespondingSuccessErrorAttention
No clip assigned
Max file size5 MiB per clip
← BackContinue →

Engram

NameWisp
GuideGentleCryptic
soul.md
vessel.yaml
clips (8)
Publish

The Directory

A public gallery of published engrams — browse by personality, preview the vessel in action, and download in one click.

◉ Process

How it came together

  1. 01

    Bringing the idea to life

    Built the core system that lets an AI persona live inside your editor, and got a character reacting on screen to real activity for the first time.

  2. 02

    Making the reactions feel real

    The hard part: making sure the character's expressions actually matched what the AI was doing, moment to moment, instead of looping generic animations.

  3. 03

    Building the tools to create and share characters

    A simple visual tool for designing new characters, and a public gallery for browsing and trying them.

  4. 04

    Making it work everywhere, identically

    Got Cursor and Claude Code running off one shared system, so the experience doesn't change depending on which editor you use.

  5. 05

    Doing the unglamorous work it takes to go live

    Legal pages, a review process for new characters, and fixing a real infrastructure bill spike that came from Jeremy's own testing traffic.

◉ What's next

Where it goes from here

  1. 01

    Giving Eidola a sense of emotion

    Teaching it to read the tone of a conversation — happy, unsure, frustrated, playful — instead of only reacting to actions, so it can work anywhere, not just inside a code editor.

  2. 02

    Bringing it to more places

    A browser extension for AI chat tools like Claude.ai and ChatGPT, and a desktop version for Cowork that reuses the same animated character.

◉ Next project
CHK · 2026

Checker AutoGen

Fills Google Slides templates with campaign assets in seconds.