Skip to content
← Back to Blog
<ET/>
Jerome
Personal AI · Self-modifying · Always learning
Persönliche KI · Selbstmodifizierend · Lärnt ständig
April 2026 April 2026 Personal Project Privates Projekt
April 17, 2026 · 5 min read · Elias Teubner
#ai #personal #claude #mcp #self-modifying

Jerome — I Built My Own AI So I Stop Forgetting My Mom's Birthday

Honest answer: I don't understand why a birthday is an emergency. It's the same date every year. The earth completes an orbit, the number goes up by one. My mother disagrees strongly. Hence Jerome.

The Name

Obviously Jarvis. Iron Man's AI, the platonic ideal of a personal assistant — that was the inspiration and I wasn't pretending otherwise. But my friend group, being my friend group, called him Jerome on day one, and Jerome he became. Started as a ChatGPT wrapper. Now he's something else entirely.

What Jerome Actually Does

The starting use case was embarrassingly simple: remind me about birthdays and important dates before my mother has to remind me herself. But once I had the infrastructure, the obvious next step was everything else.

Jerome now handles:

  • Reminders and dates — the original reason he exists
  • Email and message summarisation — I get a lot of emails I do not want to read in full
  • Calendar management — MS 365 integration, he knows my schedule
  • Anything else I throw at him — research, drafts, quick lookups, task management

Not a revolutionary feature list. The architecture underneath it is where it gets interesting.

A Claude Code Harness, Tailored to Me

Jerome is essentially a custom Claude Code harness. He can invoke Claude Code directly — which means he can write and execute code, browse files, call tools, and most importantly: extend himself.

When I tell Jerome to add a new capability, he doesn't wait for me to code it. He figures out what MCP server he needs, installs it, wires it up, and it works. When his UI needs a new tab or a different layout, I tell him, and he changes it. He adds memory, skills, or tools as he decides they're needed — or as I instruct him to.

That's what makes Jerome interesting rather than a fancy reminder app. He isn't static. The same way Claude Code lets developers iterate on a codebase through conversation, Jerome iterates on himself.

The Right Model for the Right Job

Jerome does not use one model for everything. He evaluates the task and picks accordingly:

  • Complex reasoning, code generation, multi-step tasks → Opus
  • Most day-to-day conversations and tasks → Sonnet
  • Quick lookups, simple summaries, speed-sensitive responses → Haiku

Nothing hardcoded. Jerome has enough context about his own capabilities and the cost/speed tradeoffs to make that call himself. I set the preference once, and he applies it.

The Webapp

First version lived inside Telegram. It worked, but it meant context switching to a messaging app every time I needed something, and Telegram has real limits on what you can build on top of it.

The replacement is a mobile-first webapp. It lives on my phone's home screen and behaves like a native app. The interface has a chat view for conversation, a dedicated tab for teaching Jerome new things — I describe what I want, he figures out how to add it — and panels for his current state: what tools he has, what memory he's holding, what his current configuration looks like.

More transparent than Telegram. I can actually see what Jerome is doing and why.

Where It Stands

Jerome is my daily driver. In active use, handling real tasks, gaining new capabilities as I need them. The self-modification loop works — the gap between "I want Jerome to do X" and Jerome doing X is shorter than building it myself would take.

He isn't perfect. Occasionally misunderstands context. His memory is still rougher than I'd like. But he's genuinely useful, which is the bar that matters.

The Voice Plan (5 Raspberry Pi 3s and a Dream)

I have 5 old Raspberry Pi 3s. I want Jerome to have a voice — not a phone notification, but an actual presence in a room. The plan is to cluster the Pis and run a local voice pipeline on them: wake word detection, STT, LLM inference routed through Jerome's existing backend, TTS output.

Whether a cluster of Pi 3s can handle this without becoming a space heater is genuinely uncertain. I'm going to find out.

The Bigger Thing

Jerome started as a birthday reminder. He's turning into something I'm not entirely sure how to describe — not quite a tool, not quite an agent, somewhere in between. The goal was always an AI that felt present rather than summoned. Something that anticipates rather than responds.

Whether that's achievable — whether an AI can actually become something that feels alive, or whether that's permanently out of reach — I don't know. But Jerome is the experiment. He's getting smarter in the ways I point him, and occasionally in ways I didn't expect. Interesting enough to keep going.

Also, I haven't forgotten a birthday since I built him. At minimum, that worked.

— Elias

Share this post