Some weeks back, we built Primo, the AI assistant inside
@thepromptlab_ai website.
Itβs already functional there, with its own personality, conversation flow and AI infrastructure.
So when I decided I wanted Primo inside our Telegram community, I had a choice:
Build another bot from scratch with another personality...
Or figure out how to make the same Primo work in another environment.
I chose the second.
The first step was understanding what we already had.
I connected ChatGPT to my Lovable workspace, where The Prompt Lab website lives.
From there, I could inspect the existing Primo implementation: the files, AI logic, personality instructions, chat routes, persistence and the way the website communicates with the AI.
I didn't want to guess how Primo worked. I wanted to work from the actual implementation.
Then I created a new bot through Telegram's BotFather.
But creating the bot wasn't the hard part.
A Telegram bot is basically just the interface.
The real question was:
How do I connect that interface to the same AI system already powering Primo on the website?
This is where ChatGPT + Lovable became useful.
Instead of manually rebuilding everything, I used ChatGPT to reason through the existing Lovable project and then send the implementation instructions directly into Lovable.
Lovable could work with the actual project files, while I used ChatGPT to plan the architecture, inspect what already existed and tell Lovable what needed to change.
The architecture we started moving toward was basically:
Primo AI Core
β
Website Primo
β
Telegram Primo
Same personality.
Same AI foundation.
Different interface.
The goal is not to create βanother Telegram chatbot.β
It's to make Primo portable.
We then built the Telegram side inside the existing Prompt Lab backend.
Telegram sends a message β our webhook receives it β the backend passes the conversation into Primo's AI logic β Primo generates the response β the response is sent back through Telegram.
We also added conversation storage so Telegram isn't just a dumb message relay.
There were a few things to account for:
β’ Telegram webhook delivery
β’ Bot authentication/secrets
β’ Conversation memory
β’ Duplicate Telegram updates
β’ Private chats vs group mentions
β’ Response formatting
β’ Keeping the website Primo working exactly as it already does
And importantly, the Telegram version needed its own context rules because it obviously shouldn't have access to the same website-specific information a logged-in website user might have.
The stack/workflow ended up looking roughly like:
ChatGPT β planning, inspection & implementation instructions
Lovable β builds/edits the Prompt Lab application
Supabase β stores Telegram conversations
Telegram Bot API β delivers messages
Primo AI core β personality + intelligence
The Prompt Lab website β the original home of Primo
Different tools, one system.
And this is where the build currently stands.
The Telegram backend has been implemented and the existing website Primo is still intact.
The remaining step is connecting the actual Telegram bot token, registering the webhook and testing the full message flow end-to-end.
And of course... Lovable credits decided to finish right when we got to that part π
So I'm currently paused until the credits reset.
Once they're back, I'll finish the webhook connection, send Primo its first Telegram message and see how the whole thing behaves in the wild.
I'll update you guys when we get there.