Robin
A personal AI assistant that lives in Telegram. It captures tasks, plans the day, sets reminders, drafts messages, organises notes and tracks follow-ups - built on OpenClaw with custom Python tools, a Llama model, and a paired device gateway. Test it with the bot or just message me in telegram and let the bot reply : @nicorobin489
- Role
- Sole engineer
- Year
- 2026
- Type
- AI, Backend, Systems
t.me/robins_assistant
Open
Telegram
Interface
Llama
Model
DigitalOcean
Host
Problem
Assistant apps want you to live inside them. I already live inside Telegram, and the things I actually lose track of - a task mentioned in passing, a follow-up, a reminder for tomorrow morning - happen in the middle of a conversation, not in a separate app I would have to remember to open.
Approach
Put the assistant where the messages already are. Robin runs as a Telegram bot on OpenClaw, with custom Python tools for the things I need it to do and a Llama model reading intent from plain language. Both English and Bengali. It is hosted on DigitalOcean rather than a managed assistant platform, so the tools, the model and the data stay mine.
The core journey
- 01Message the bot in plain language
- 02Llama reads intent from the message
- 03OpenClaw routes it to a registered tool
- 04Custom Python tool performs the action
- 05Reply comes back in the same chat
Custom tools, not a chat wrapper
The value is not the conversation, it is what the conversation can reach. Capabilities are registered as Python tools - capture a task, plan the day, set a reminder, draft a message, organise notes, track a follow-up - and the model picks the tool rather than producing text about it.
Device pairing over a private network
A /pair flow connects a device to the gateway. The gateway binds to loopback by default and is reached over Tailscale rather than being published to the open internet, which means the assistant can touch a machine without that machine having a public address.
Outcome
Running and in daily use. It is the first thing I built that I use every day without meaning to test it - the point at which a project stops being a demo.
What it taught me
- Meeting people in the tool they already use beats building a better tool they have to adopt.
- Binding a gateway to loopback and reaching it over a private network is a better default than exposing a port.