← BACK TO HOME

A black compact computer and a mechanical keyboard form a minimal terminal workspace

Joris – my own AI assistant

SERIES · 17 PARTS

From a teenage dream to a conversation partner of my own: my personal experience of building a local AI assistant, its first words, long pauses and the next steps.

JorisSERIESPART 4 OF 17

Before it acts, it has to ask me

The skill system gave my assistant new capabilities. Controlling music, searching the web, checking the weather: much of this was exactly what I had wanted. It also took me further from my original idea of a completely local application. I needed to decide where my assistant required my permission. And I learned that a convincing answer was no proof that an action had actually taken place.

JorisSERIESPART 5 OF 17

My assistant's personality

My assistant sometimes claimed to have completed things that had never happened. I wanted to be able to rely on its answers. So I began explaining more clearly what it was, what purpose it should serve, and which boundaries it needed to respect. Along the way, it also gained something I called its “personality.”

JorisSERIESPART 7 OF 17

Now the answer stayed visible

The web application gave my assistant a face. It also let me present information differently. Weather, the time, and system states no longer had to pass through the console as text or appear briefly in a spoken answer. They could have a place of their own.

JorisSERIESPART 8 OF 17

I wanted it to remember

Widgets let information remain visible. But that didn't settle what my assistant should retain. Continuing a conversation, reminding me of something later, and giving me an overview of the day were different tasks. Each needed a place of its own.

JorisSERIESPART 9 OF 17

My widgets became the Signal Desk

The first widgets had shown how useful visible information could be. News, stocks, and crypto brought more sources into the application. Individual displays developed into the Signal Desk. Along the way, I needed to keep track of what the data actually said—and what the language model was allowed to make of it.

JorisSERIESPART 10 OF 17

A message to my assistant

My assistant now had a web interface, widgets, and a Signal Desk. The next addition didn't need to show more on screen. With Telegram, a message from my phone could reach the same assistant. That also raised a new question: who would be allowed to send it requests through this channel?