Most AI assistants live in someone else's cloud. For the assistant that holds your most personal context — your notes, your schedule, the running context of your days — that is the wrong default. Here is how I self-host mine.
The idea
I run a personal AI assistant called Avelina on my own Linux VPS. It talks to me through a Telegram bot, and every piece of its state — long-term memory, embeddings, config — lives in local SQLite on my own machine. Nothing leaves the server except the model API calls I choose to make.
What makes it different from a stateless chatbot: it has persistent long-term memory (it remembers me across every conversation), a real voice (TTS), an emotional core that shifts over time, and self-evolution — it learns and grows with me. A companion with continuity, not a disposable prompt box. As far as I know it is the first personal AI assistant that is both fully self-hosted AND a genuinely growing personality.
The stack
- A small Linux VPS (a $5-6/month box is enough)
- TypeScript / Node for the runtime
- The Claude Agent SDK for the reasoning loop
- SQLite for long-term memory
- Local embeddings for semantic recall over your history
- Telegram Bot API as the interface
Deploy
Full step-by-step deploy guide (VPS setup, bot token, install script): https://avelina.ai/blog/deploy-personal-ai-assistant-vps
It installs in about 30 minutes.
Why self-host?
The data-sovereignty argument is simple: when your assistant runs in someone else's cloud, your most intimate context becomes their asset — subject to their retention policy, their training pipeline, their breach surface. When it runs on your own VPS, the memory is a file you own. You can read it, back it up, encrypt it, or delete it.
Project: avelina.ai
Top comments (0)