This app is inspired by some personal virtual assistant app. As we know, now there's a lot of personal virtual assistant app like Siri, Alexa, Google Assistant, etc who can help us to do many things. We can give command using voice/text and the assistant will give the feedback with information/action.

What it does

In this project we gonna build a virtual personal assistant who can control our IoT Device to Watering the plants in the front garden. We will combine a few technology such as NLP, IoT, SpeechAPI, ETC.

How I built it

I use several components, in general, there are 2 components


  • ESP8266 (Microcontroller)
  • DHT 22 (Humidity and temperature sensors)
  • Relay module (Starts / Stops the pump) ### Software
  • Typescript
  • NodeJS
  • MQTT
  • Docker
  • MongoDB
  • Boostrap 4 ## Challenges I ran into

There are several problems that I encountered when starting to create this project,

  • How to train the NLP model with
  • How to create a fade-in animation when the data is received by the frontend without JQuery
  • How to communicate between IoT Devices with API Server
  • How to make IoT devices Receive and execute command via MQTT

Accomplishments that I'm proud of

  • Train Indonesian NLP models with
  • Make IoT devices able to perform several commands such as turning on the pump. ## What I learned
  • Use the SpeechAPI API in a modern web browser
  • How the asynchronous system works with MQTT

What's next for Build Smart Assistant with to Manage IoT Device

This application isn't perfect, we can add several features such as

  • Manage Mulitple IoT Device (Add, Delete, and Update)
  • Visualize Active/Not Active of IoT Device
  • Build the mobile version


Share this project: