Skip to content

Case study · Built and run by our team

Vaflunia: An AI Assistant That Lives in Telegram

A private AI assistant that reads email, calendar, team chat and a task list, and reports in the chat app already open on the phone. Built and run by our team for our own work.

A Telegram chat with the Vaflunia assistant: the user types “Brief me” and gets an urgent overdue task, then critical emails including a customer with no heat and a thermostat recall notice
Ask “brief me” and the urgent items come first. Sample data for a fictional heating and plumbing company.
Ask “brief me” and the urgent items come first. Sample data for a fictional heating and plumbing company.
Industry
Professional ServicesHome Services
Project type
Personal AI assistant
Technology
Python · Claude API · Telegram Bot API · ChromaDB · SQLite · NiceGUI
Integrations
Gmail and Google Calendar · Slack · Telegram Bot API

The context

The business behind the brief

The person running a business checks an inbox, a calendar, a team chat and a task list, each in its own app, many times a day. The urgent item is usually in the one they have not opened yet.

Vaflunia is the assistant our team built for itself to fix that. She reads all four and reports in Telegram, so the question “what needs me today?” has one place to go.

The challenge

What the system needed to solve

  • 01

    Answer “what needs me today?” across email, calendar, team chat and tasks, on a phone, in one message.

  • 02

    Speak up when something needs attention without turning into another noisy feed.

  • 03

    Draft replies in the right voice, and never send anything without a tap from the person it speaks for.

  • 04

    Stay private: one person’s data, one authorised account, running on a machine we control.

The solution

From requirements to working software

Delivered functionality and implementation boundaries.

01

Telegram as the front door

There is no new app to install or learn. You message the assistant in Telegram the way you would message a colleague, from any phone or computer. The bot answers one authorised account only; anyone else gets a one word refusal.

02

One assistant, many tools

A Claude model with tool calling decides which systems to look in. “Brief me” reads the calendar, unread email, team chat mentions and the task board, and comes back with one summary that puts the overdue and urgent items first.

03

Nothing leaves without a tap

When you ask for a reply, she writes the draft and shows Send and Cancel buttons. Nothing is sent until you tap Send, and a cancelled draft stays in the drafts folder.

04

Quiet monitors

Email and team chat are checked every few minutes in the background. When someone mentions you in a channel, the message reaches your phone with who said it and where. Dismissed items stay dismissed, so the feed does not repeat itself.

05

Memory and a dashboard

Past conversations and notes are stored in a local search index, so she remembers context from last week. A small web dashboard on the same machine shows the morning briefing, alerts and the task board.

The assistant drafts an apology email to a customer and asks “Send this draft?” with Send and Cancel buttons
Drafts wait for a tap on Send. Sample data.
Drafts wait for a tap on Send. Sample data.
An alert in Telegram: a dispatcher mentioned the user in the dispatch channel about a third thermostat callback this month
A team chat mention, pushed to the phone. Sample data.
A team chat mention, pushed to the phone. Sample data.

Core functionality

What the product lets people do

  • Daily briefing across email, calendar, team chat and tasks, on request in Telegram
  • Email drafts with Send and Cancel buttons; nothing sends without a tap
  • Team chat mentions pushed to the phone within minutes
  • Task board she can add to, update and search by message, also shown on a desktop dashboard
  • Search across local documents by plain question
  • Locked to one authorised Telegram account

Technical implementation

Architecture and system boundaries

One Python service runs the Telegram bot, a small web dashboard and a scheduler for background checks. A Claude model with tool calling chooses which system to read; the tools reach email, calendar, team chat, local files and a task board kept in SQLite. Past conversations live in a local ChromaDB index. Sending email always goes through a Send button in Telegram, and the bot answers one authorised account only.

Documented technology

Python · Claude API · Telegram Bot API · ChromaDB · SQLite · NiceGUI

Business impact

The delivered outcome

  • One message replaces opening four apps to find out what needs attention
  • Team chat mentions reach the phone within minutes, wherever we are
  • No email goes out without a tap on Send
  • In daily use on our own work, covered by more than 130 automated tests

Let’s talk about the system you need.

Tell us where the current process breaks down. We can map the workflow, examine the integration requirements and define a practical scope for the build.

  • A mutual NDA is signed before project details are shared.
  • Scope is fixed in writing before any build starts.
  • You own the source code, the IP and the documentation at delivery.
  • Support plans are available and tailored on a discovery or technical call.