Over the weekend I was talking with a high-level executive coach. Smart person. Real deal. Halfway through the conversation, they offered me a spot in their group program — a dozen people, regular group sessions, accountability framework, the whole package.
I passed.
Not because it wasn’t valuable. It clearly was. But the price point was higher than I wanted to commit to, and the weekly time requirement was more than my schedule could absorb right now. So I said thanks, thought about it for about 20 minutes, and then opened Claude Code.
Here’s what I built instead.
The idea that sparked it
The coaching conversation had been happening over text. Just back-and-forth messages, advice trickling in throughout the day. What struck me about that format wasn’t the content — it was the delivery mechanism.
You don’t go get it. It comes to you.
That’s a fundamentally different experience than opening ChatGPT and typing a question. When a message shows up on your phone unprompted, your brain processes it differently. There’s a social reflex that kicks in. Someone reached out. Someone is thinking about you and your goals. Even if intellectually you know it’s a bot, the messenger app context does something to the accountability equation that a browser tab simply doesn’t.
So the question became: could an AI agent replicate that dynamic? Not just a chatbot that answers questions, but something that runs persistently, thinks about your situation in the background, and reaches out to you when it has something worth saying?
The build: research first
The first thing I did was ask Claude Code to go do research. Not write code — just go learn things. I sent it out to find scientific papers, behavioral research, and business frameworks on what actually makes executive coaching effective. What questions do good coaches ask? How do they maintain accountability? What cadences work? How do you help someone stay focused on priorities without becoming a nag?
It ran for about 20 minutes, pulling from multiple sources, organizing findings into a structured research document. The output was genuinely useful — not just “here are some coaching tips” but a breakdown of the behavioral psychology behind why coaching works, what distinguishes great coaches from mediocre ones, and the specific techniques that show up consistently in the research.
That document became the knowledge base for everything that followed.
From research to software plan
Once the research was solid, I asked it to turn those findings into a software plan. Here’s what that plan centered on:
A Telegram bot as the interface. Not a web app. Not a new chat window you have to go find. A bot that lives in your existing messaging app, alongside your other conversations, and behaves like a contact in your phone. This was non-negotiable from the start — the whole point was that the interface creates accountability, and that only works if it’s somewhere you already check.
Proactive scheduling. The research consistently highlighted a morning check-in as one of the highest-leverage interventions in any coaching relationship. What are your top three things to accomplish today? Simple question, but when asked by a person (or something that feels like a person), it creates a kind of micro-commitment that the end of the day will test. The bot would send this every morning, unprompted.
Evening accountability. Paired with the morning check-in is an end-of-day follow-up. Did you accomplish those three things? If not, what got in the way? This is where accountability becomes real. It’s easy to type your priorities and then ignore them. It’s harder when something is going to ask you about them later.
A memory system. This was the piece that made everything else worth building. A good coach remembers what you told them last week. They notice patterns. They connect what you said in January to something you’re struggling with in March. Without memory, a coaching bot is just a fancy prompt. With it, the conversations compound. I asked for a SQLite database and a system that would pull relevant context into each interaction — what goals had been discussed, what came up in recent check-ins, what had been going well or poorly.
What it does, concretely
The resulting application is straightforward in structure but surprisingly capable in practice. It runs as a persistent background process on my computer. When it starts up (configured to launch on login), it connects to Telegram and starts listening. A scheduler runs alongside it.
Every morning, before I’ve opened a browser, there’s a message waiting:
Good morning. What are your three most important things today?
I type back. The conversation might go a few exchanges. The bot has context from previous days, so it might note that one of the things I mentioned connects to a goal we discussed earlier in the week, or ask whether the thing I said was blocking me last Thursday got resolved.
At the end of the day, there’s a follow-up. At the end of the week, a slightly longer check-in. The system also has a lightweight internal process that evaluates whether anything in my recent history is worth proactively surfacing — something that’s been flagged multiple times, a deadline approaching, a thread that went quiet. Most days it decides there’s nothing urgent to interrupt with. Occasionally it sends something.
That’s the whole system. It’s not complicated. But the experience of using it is substantially different from anything I’ve tried before.
Why this actually works
Here’s the thing about accountability: it’s a social phenomenon. The research makes this clear. People keep commitments better when they feel that someone is tracking. It doesn’t matter much whether the tracker is a person, a journal, or a piece of software — what matters is the sense that your stated intentions have a witness.
Web apps and chatbots fail at this because they require you to initiate. You have to go there, open it, decide to engage with your goals. That friction is small in theory and enormous in practice. The days you need accountability most are the days you’re least likely to open the accountability app.
A Telegram bot sidesteps this entirely. It comes to you. The interface is indistinguishable from a message from a real person. On some level your brain doesn’t fully process the distinction, and that’s exactly the point.
After a few days of using this, the morning question has started to feel like a real thing I need to respond to. The end-of-day check-in has made me more honest with myself about what actually got done. I’ve written before about the challenge of maintaining focus — this is the most practical solution I’ve found.
The bigger shift
I keep coming back to one observation from this project: at the end of it, I felt like I’d hired a coach. Not built an app. Hired someone.
That reframe is worth sitting with. There’s a long history of software built around the idea of helping people with productivity, goal setting, and accountability. Most of it has failed to change behavior in any meaningful way because it treats the problem as an organizational challenge. Here’s a system to track your goals. Here’s a dashboard. Here’s a way to categorize your tasks.
What actually changes behavior is a relationship. Someone who asks how it’s going, remembers what you said, and expects you to show up. Software has historically been incapable of this because it’s reactive — it waits for you.
The combination of a persistent agent, a messenger interface, and a memory system produces something that isn’t quite software and isn’t quite a relationship. It’s something new. And it works because it targets the actual mechanism of accountability rather than building another dashboard nobody opens.
Building something like this
If this sounds useful, the pattern is reproducible. You’re not building anything exotic. The components are:
A Telegram bot (the interface — python-telegram-bot library handles this in about 50 lines). A scheduler (APScheduler or a simple cron-like structure) for proactive messages. A memory layer (SQLite is more than sufficient — just store conversations and let the agent summarize and retrieve them). A knowledge base (the research Claude Code collected became the system prompt that shapes every interaction). A persistent process (a simple Python script set to run on startup, or a systemd service if you want something more robust).
The whole thing lives in a folder on your computer. No hosting required. No subscriptions. Accessible anywhere through Telegram.
Claude Code handled the research, the architecture, and the implementation in a single session. The approach I use for building with AI — research first, then architecture, then implementation — works especially well for projects like this because the research phase directly shapes the software design.
Software that runs forever
There’s something that becomes obvious once you build one of these persistent agents and live with it for a few days: this is a fundamentally different category of software.
We know command-line tools, web apps, desktop apps, and mobile apps. These are all things you go get when you need them. They sit in a menu or a browser tab or an app drawer, waiting to be opened.
Persistent agents are different. They run in the background. They monitor things. They decide when something requires your attention. They interrupt you only when warranted. The interface is a chat — a format your brain associates with people, not programs.
This is where more software is going. Not apps you download — agents you deploy. Processes that run on your hardware (or in the cloud), maintain memory across months of interaction, and have access to tools that let them actually do things on your behalf. The executive coach is a simple example. The same architecture could monitor your business metrics and alert you when something looks off. It could track your health data and notice patterns before you do. It could manage a process — customer follow-ups, content scheduling, financial reporting — and only surface the items that genuinely need your judgment.
The paradigm shift isn’t about AI getting smarter. It’s about software becoming proactive. That transition is happening fast enough that most people haven’t noticed it yet, but once you’ve lived with a persistent agent for a week, you’ll wonder why all your software was passive.
I passed on the coaching program. A few hours later I had a coach. That’s the most interesting part of all of this — not the technology, but what becomes possible when the barrier to building drops to nearly zero.
