Beta [bey-tuh]
noun.
: the second letter of the Greek alphabet (β, B).
: Computers., the phase of hardware or software development in which a product is tested in the environment for which it was designed.
Quick Recap:
Stay in touch w/ Friends
We are building a simple v0.1 of BetterFriend app by using chatbot to remind people their loved one’s birthday with AI.
My telegram bot got BANNED 😕
A few days ago, I created a new telegram account with my Indonesian number. The process of creating a telegram bot is quite easy. We simply go through a chatbot called “@BotFather”, and telegram automatically creates a bot that ties directly to the phone number that’s used to create it.
When they froze my Telegram number for reasons unknown and undisclosed, the bot disappeared with it. When I tried it again, it says it no longer exist.
This is very concerning for multiple reasons, but the main reason is that I can no longer publish this Beta for people to try. If it’s just 1-2 people using it to remind them the birthdays of their friends, and one day it disappears, I can do my best to support. But if it’s any more than that, it’s just a ticking bomb waiting to explode.
Again, this goes back to the platform risk that we discussed here:
WhatsApp never even approved my bot. Telegram didn’t require any approval, it was fast to set up and free, but quickly banned it for reasons unknown.
It looks like I need to build this natively on iOS or Android if I want to offer it to others.
Of course there have been many cases where Apple iOS / Google have banned apps that don’t follow the guidelines, but the approval process is quite standardized at this point. I trust and hope that they have a better and more transparent process.
To complete my learnings, I actually created another bot with another number of mine, change the bot token in Vercel Environment Variable setting, pointed it to my back-end and database, and redeployed it.
It worked! After all the only thing that was affected was the “front-end” in this case. I simply swapped it out.
Then I implemented Trigger.Dev which is necessary for the Severless Architecture of Vercel to have for scheduling things or running things in the background.
It’s basically an API for Cron Job. Here’s a better explanation:
A cron job is basically a robot timer for your computer or server.
In plain terms:
You tell the robot: “Do this task at this time, and repeat on this schedule.”
It will run that task automatically — even if you’re not there.
Why it’s useful: It’s like setting a repeating alarm clock, but instead of ringing, it runs code or commands for you.
In my context, this is what I set up:
“Every day at 8:00 in the user’s timezone, check the database for birthdays and send a Telegram message.”
So this was very cool to see. I now have a scheduled automation with my database that can send messages. If it can send messages, it can do anything. Send reminders, call someone, take notes, create an image - anything we can imagine.
Next Step!
So here’s the good news and bad news - I’ve decided not to share the Beta with the world, because of the risks mentioned above.
I can’t afford to have any of you guys store your important birthdays just to wake up one day and have them all taken away.
It’s more clear than ever before that I need to build a native, End-to-End encrypted
iOS and Android app both for myself and others who want to manage their personal relationships better. I’m more excited and prepared than ever before to build it, but I also know the work that is required for this.
I’ve decided to cut the Project #1 short and take the remaining few days to review and plan for the Project #2! One of the things that we have to recognize as founders is when to stop. In this case it’s obvious that the original direction of the project is no longer feasible due to platform risks. Time to move on.
I am reviewing what I’ve learned and my priorities for the next few days and I will announce project #2 on Day 39.
See ya tomorrow!
(⚡️BetterFriend Project Day 8 - 38)