AI Memory — Client and Project Knowledge for a Digital Agency
A Telegram bot that keeps isolated memory for every client and project. It pulls in meeting transcripts, Notion, and Gmail automatically. Any question about project history takes seconds, and comes with a link to the source.
- Client
- Digital Agency
- Location
- Ukraine
- Channel
- Telegram
- AI Model
- Claude (Anthropic)
// Problem
Agency context lives in four disconnected tools
Every client leaves a trail in four places: Notion documents with briefs and revisions, Gmail threads, Slack discussions, and Krisp or Meet transcripts from calls. None of these tools knows about the others.
A PM spends 30–40 minutes before every meeting trying to remember where things left off. A designer joining mid-project needs two weeks to get up to speed — reading old threads, pinging colleagues. A month later nobody remembers exactly what was promised to the client, and roughly 30% of those promises quietly slip through the cracks.
Standard ChatGPT doesn't remember across sessions. Notion AI only searches Notion. A shared team AI chat mixes clients up with each other. The team needs separate memory for each client and project — and it has to live where they already talk.
// Solution
A Telegram bot with isolated memory for each client
We built a system that collects all of the agency's context into a single index — isolated at the client and project level — and serves it through the Telegram interface the team already uses.
Isolated memory per client
Every client and every project is a separate store. The bot never mixes context between clients and never blends details from different projects.
Transcripts pulled in automatically
Recordings from Krisp, Meet, and Zoom flow into the vector index as soon as the call ends. Nothing to upload by hand.
Semantic search with sources
"What did we promise client X about deadlines?" — an exact quote, with a link to the transcript, document, or email thread. You can always check.
Pre-meeting brief
Run /prep client-x and get a short context pack: current status, open questions, promises made, recent decisions. Three minutes instead of forty.
// Why not ChatGPT or Notion AI
We tried the off-the-shelf tools. And dropped them.
Our first move was to put the whole team on Notion AI or a corporate ChatGPT account. We tested both. Neither covered how an agency actually works.
Notion AI only searches Notion. But the context is in Slack and Meet.
70% of the decisions that matter get made out loud on calls and in Slack threads, not in formal Notion docs. Notion AI simply can't see them, so it answers from outdated briefs.
ChatGPT forgets between sessions. And mixes clients up.
A shared team account means one shared context for everyone: information about client A leaks into answers about client B. Separate accounts per person mean the memory isn't shared between colleagues.
Without sources you can't check anything with the client.
The AI says "we promised the 15th." Fine — where? Without a link to a specific point in a transcript or an email, that's just a claim. Every answer our system gives comes with a sourced quote.
Nobody is going to open a separate dashboard.
Any tool that needs its own tab dies within two weeks. That's why the interface is Telegram — the same window where 90% of internal communication already happens.
// Technology
Tech stack
The stack was chosen for two things: enough context length to work with full transcripts, and memory isolation at the database level.
Why Claude?
We chose Claude for its 200K-token context window — long enough to load a client's entire history in a single request without losing details in retrieval. It also handles Ukrainian-language transcripts reliably and summarizes long calls well.
// Key capabilities
What the system can do
Memory isolation
A separate store for each client and project. No context leaks between clients.
Auto-summary after every call
The bot posts a short summary and a list of promises to Telegram as soon as the meeting ends.
Voice queries in Telegram
Ask out loud on your way to a meeting — the bot transcribes, searches, and answers.
Follow-up reminders
The bot remembers every promise made to a client and reminds the team ahead of each deadline.
Source-linked quotes
Every answer links to the specific transcript fragment, email, or Notion page.
Native Ukrainian
Works with Ukrainian-language transcripts and answers in Ukrainian only.
// Results
What changed after launch
self-reported — the agency's own internal tool
| Metric | Before | After |
|---|---|---|
| Onboarding onto a project | 2 weeks | 2 days |
| Meeting prep | 30–40 minutes | 3 minutes |
| Finding a project fact | 15 minutes of manual searching | 10 seconds, with a source |
| PM admin time per week | ~20 hours | ~5 hours |
| Client promises lost | ~30% slipped between calls | 0% — captured automatically |
The team stopped keeping client context in their heads. Any project fact is ten seconds away in Telegram, with a link to the transcript or document. Onboarding a new designer or PM now takes two days instead of two weeks. Promises to clients no longer slip between calls.
Ready to start?
A quick audit to pinpoint where you're losing time and money right now — and whether AI can fix it
