Building Our First IoT Product - Part 1
It’s funny how building a product make you feel out of your comfort zone.
I don’t if you ever heard about the impostor syndrome. You may have experienced it your first day at university or in your first job. You just don’t feel legitimate.
It hit again for me when I started going after our first product.
Nothing wrong with that. With each new experience comes some uncertainty and I’m sure we’ll come comfortable with that along the way. Meanwhile, I will “fake it until I make it”.
First step: Dodging a pain point to fulfil a need
In Kiev, we found ourselves in an Airbnb where the automate check-in was performed automatically.
In front of the door, we just dialed the apartment owner. He recognized us through his camera & automatically unlocked the key lock with an app.
We’ve been in a lot of trips before COVID. And we found it amazing. If you’re thinking a bit. Most times the owner has to be here in person to welcome you.
It’s not big of an hassle but you need to coordinate with the guests when they arrive or have someone to replace you.
Although, we found the experience to be greatly improved: we wanted to go further…
Is it possible to automate the full check-in process?
Give it a thought: a smart camera with cloud software is all we need right ? The camera would authentify guest when they’re in front of the door thanks to its software. The validation would trigger a flow that could either open a connected door or keylock. Did we just replace human ?
2. Does it already exist ?
Yes and no. We found out a very cool brand-named Nest. Nest is a smart doorbell that records 24:7 and send automatic alerts in identified scenarios such as packages pick-ups ect..
It isn’t exactly our scenario like but it does the job. You have alert and an an application. On top of that there’s more: there is a lot of complementary hardware such as the Nest Hub.
What another product would bring ? An alternative and a cheaper price.
3. Building the product - Iterations
In everything we do at Ai Of The Tiger: we make sure we don’t reinvent the wheel. We’re familiar with Azure. We’re making sure to be using PaaS services & a camera devices that would be plug and play for this kind of scenario.
For the PaaS services, after a quick think what appears obvious was:
- IoT Hub. Well this is the hub: it will receive the telemetry of the devices and will help us connect with other services.
- Blob Storage to record & store video for you to access.
- Cognitives API especially Visage
- IoT Edge to make our functionality available on the edge.
- Video Live Analytics on The Edge
- Azure Media Services
- On the long term, a WebApp to create a cool app for end users.
- Or a Power App
- Logic Apps
- Event Grid
4. Our Targeted architecture (1st version):
In short, Live Video Analytics would record on the edge what's happening in front of the camera (when a guest arrives). It will then sent it to the cloud services Azure Media Services for analysis. Analysis would be extended through the cognitive API "visage" that would recognize the guest or not.
- If it is recognized, it populates a validation event that triggers a logic app informing the owner that his guest has arrived or opening the connected key lock.
- If it isn't, it sends an error event alerting that somebody is in front of the door.
All this information will be available through a WebApp/Mobile App for the end user to check in real time.
On the second hand, we would establish a cold path that with Blob Storage. Azure Machine Learning would be use from the stored video to help us establish AI of a new kind based on the usage.
Last but not least, our application will have to be registered into Azure Active Director for B2C to use at a personal and non organizational level.
5. Next steps are:
Ordering the IoT Development Kit of our choice. We'll let you know which one.
Confronting our targeted architecture thoughts with expert.
What we would like is to remove the dependency with have with Cloud Services & make sure everything can run on the edge.