I've been deep in the AI agent space for the last few months. Organizing meetups, testing frameworks, talking to builders. At some point I realized I was spending more time evaluating agents than actually using one that worked for me.
So I built Eva. She's a personal AI assistant that lives in Telegram. No app to download, no tab to keep open. Just a contact in a messaging app I already use every day, on every device.
Here's how I got there.
My first instinct was to go with open-source tooling. I started with OpenClaw, an agentic AI framework we've been exploring in the Porto community. The appeal was obvious: full flexibility, no vendor lock-in, community-driven.
And it delivered on flexibility. But flexibility without direction is just complexity. I found myself spending more time configuring the framework than getting actual work done. For someone building products and running a company, the setup cost was too high relative to the output.
OpenClaw taught me what I valued: modularity, the ability to add new capabilities on demand, and transparency into what the agent is doing. I carried those lessons forward.
Next, I tried the opposite end of the spectrum. Off-the-shelf AI assistants. Claude, dedicated agent platforms, various "personal AI" products.
They work. For generic tasks, they work well. But the moment I needed something specific to my workflow, I hit walls:
The core problem: pre-built agents are designed for the average user. I'm not the average user. Neither are most founders, operators, or power users who actually need an AI assistant to do real work.
The decision to build my own agent came down to a simple realization: it's actually cheaper and more contextualized to build exactly what you need.
Not cheaper in the "I'll spend 200 hours and save $20/month" sense. Cheaper because:
1. No wasted features. Every capability Eva has exists because I needed it. No bloat.
2. Deep context. Eva knows my schedule, my tools, my preferences. She's not a general-purpose assistant trying to be everything to everyone.
3. Compound value. Every new tool I add makes the whole system more valuable. Pre-built agents don't compound the same way because you don't control the architecture.
Eva is a Telegram bot. Under the hood, she connects to any LLM via OpenRouter, stores conversation history in Supabase, and has a growing set of tools.

The stack is Python, deployed on Railway. The whole thing runs for a few dollars a month.
This was a deliberate choice. Most "AI assistants" are web apps you have to navigate to. That's a destination model. You go to the AI when you remember to.
Eva also works on WhatsApp, which matters if that's where your life happens. But Telegram has fewer constraints for bot development and richer API capabilities, so that's where I run her daily.
Telegram inverts the destination model. Eva is a contact in the app I already have open. She's ambient. When I need something, she's right there between my group chats and channels. No context switching, no new tab, no app to open.
Voice notes make this even more natural. I can talk to Eva while walking, driving, or cooking. She responds with voice. It feels like texting a very capable friend, not using a product.
| Phase | What worked | What didn't |
| OpenClaw | Modularity, transparency, community ethos | Setup cost too high for personal use |
| Pre-built agents | Polished UX, zero setup | No customization, no real memory, high monthly cost |
| Eva (custom) | Deep context, extensible, ambient interface | Requires building and maintaining it yourself |
The key insight: I didn't throw away what I learned. Eva uses the flexibility principles from OpenClaw (modular tools, transparent architecture) with the safety and reliability of managed integrations like Composio. Best of both worlds.
Not everyone. If Claude or ChatGPT handle your needs, use them. They're great products.
But if you find yourself repeatedly hitting the same limitations, if you need deep integration with your specific tools, if you want an assistant that gets better over time because you control the architecture, then building your own is worth considering.
The barrier is lower than you think. With Python, a Telegram bot token, an LLM API, and a database, you can have a working personal agent in a weekend. Making it great takes longer, but the foundation is surprisingly simple.
I'm dogfooding Eva daily. Every morning starts with her briefing. Every time I hit a limitation, I either add a tool or improve an existing one.
When the architecture stabilizes and I stop restructuring the core, I'll keep improving it in the open. The repo is live at github.com/hypermari0/eva if you want to check it out, fork it, or contribute.
If you're interested in this space, I talk about AI agents and personal AI at events like Agents Day in Portugal. Come say hi.
────────
Mario Alves is CEO & Co-founder of LayerX, an AI studio based in Porto, Portugal. He builds AI-powered products and occasionally writes about what he learns along the way.