At a high level, this is how it works:
WhatsApp is my main communication app and I didn’t want to add another chat app just for this one purpose.
To build the backend, I used a Javascript library called venom-bot - https://github.com/orkestral/venom. It’s good enough to handle basic text chat, but there are limitations. Being a free library, support is slow and I can’t send buttons for now, even though the function exists.
AI is used in two areas: intent recognition and entity extraction. I used GPT-3 as the engine. It’s incredibly powerful. The text is first classified as an intent, then time and subject entities are extracted.
Open AI API isn’t free, but it’s cheap for personal use. I used the same API to develop Pen Sakti, which has 20 active users. My monthly payment is still under $3.
Currently, my assistant has two actions:
The second action is easy to create. All events are treated as threads. Each thread will sleep until it’s time to send a reminder. However, there’s a limitation of 30 days for sleep time. Reminders won’t work for events that go beyond that time frame, but they’ll still be scheduled on Google Calendar.
Building the Google Calendar service was a bit tricky. I had to play around with the Google Console and permission settings. Since only a few people use this app, I didn’t have to go through the whole process of publishing the app on Google, adding them as testers was enough.
Since all of these services are built as single services, I have the flexibility to deploy them to multiple clouds. I experimented with a few combinations:
Building something that is beneficial to you and your family is incredibly fulfilling.
I’m already thinking of ways to extend the functionality of my AI Assistant. I have a few ideas in mind, like:
The possibilities are endless! I can’t wait to see what else I can come up with and how I can continue to make my life easier with this handy little assistant. Let’s see where this journey takes us!