At that time, social media was buzzing with the trend of "checking spiritual guides" (khodam). This sparked an idea in my mind to create a bot that could replace this trend, but instead of checking spiritual guides, the bot interprets the meaning of viewer’s name.
Then, I did some research to see if it's possible to capture chat messages from TikTok live streams via an API. It turns out that it is possible through Tikfinity, which already provides a WebSocket that returns all events such as chat, gifts, follows, etc.
I then created the bot using NextJS and OpenAI. So, whenever a user asks about the meaning of their name, OpenAI will generate a response and provide the answer.
But then I realized just answering name meanings might get boring, so I came up with a new idea—why not add a character and use Text-to-Speech (TTS) to make it more lively? Now, the bot doesn’t just interpret names, but can also answer all kinds of general questions, speaking the answers aloud.
I then did some research on Text-to-Speech (TTS) solutions. Suno Bark and Tortoise looked promising because they can generate casual accents, but unfortunately, they don't support Indonesian yet. In the end, I decided to use Applio TTS because it’s simple and also allows for custom voice options through their training feature.
I decided to add an anime character to make the experience more vibrant and engaging. The character brought a fun, visual element to the bot, making it more relatable for the audience. However, at the time, I had no idea how unpredictable and sometimes toxic anonymous user questions could be. I initially thought the questions would stay lighthearted and fun, but quickly realized that with anonymity comes a lot of unexpected or inappropriate questions.
I tried to block certain keywords and even banned some users, but it didn’t seem to work effectively. Despite my efforts, inappropriate and sexual questions kept coming up. It became clear that simple filtering wasn’t enough to maintain the positive environment I wanted. So, I decided to change bot’s character.
I decided to switch the character from an anime figure to a robot, which felt like a better fit for anonymous environment and hoping there will be decrease number of sexual question, like who want to ask robot to open their clothes right?
This also gave me the perfect opportunity to learn Three.js and Blender, allowing me to create a more dynamic and visually engaging bot. At the same time, I explored tools like Flowise and Zep Memory, which made it possible to store each user’s conversation in one session. This way, interactions felt more personal and familiar, as if the bot could "remember" previous chats and build a stronger connection with the users.
Overall, it was a fun project that allowed me to learn new skills along the way. From coding with NextJS, exploring Flowise, make animation 3D in Blender and implementing TTS technology.