Year: 2019 Duration: 6 Months
A wireless device that can be easy attached to any comercial shower. Can manage the consumption of the shower, and turn on/out the water flux after a programmed time on your paired smartphone.
If I could select the best and most valuable project of my file, so far it would be this one. Besides my work, I always wanted to be an entrepreneur, and launch a project and a company by myself. In 2018, I first met you my business partner and we have the idea of creating a device, that attached to any commercial shower, can control there time of the bath, temperature and give insights of your bath usage.
So, in January 2018 we started the first prototype using an ESP8266 microprocessor and electronic peripherals, where all the code to handle the connection generated by our microprocessor hotspot, the I/O logic to turn on coils, relays and other components was based in C++.
In this first prototype, the user had to connect in the WiFi hotspot generated by ESP8266 and access a plain HTML/AngularJS application routed by the microprocessor in a fixed IP. This simple SPA application was used by the user to set the duration of the bath, and control another variables. Here we faced one of the major and common problems for IoT companies and developers, how to make it accessible from anywhere with a better UI/UX.
I was researching and studying AWS since the beginning of 2017, and we decided to put all the infrastructure in AWS for this project. The main service used was AWS IoT Core, a MQTT broker for devices, which made us possible to establish communication between all the devices from anywhere, also with encrypted certificates to enhance security. The UI/UX part had improvements when we inserted the ESPTouch, an ESP8266 library that helps the user to connect the microprocessor in their own WiFi network, using UDP packets in the background, so it was a simple Android/IOS app where you just select your network and put the password.
With the enhancements, we got some interns and started to build the Android/IOS application for the users. Both of them were native, the authentication/authorization was done by AWS Cognito, allowing basic login through email, and social providers federated login. Each new device synced with IoT Core, was linked to an User account, granting that only him was able to access it. The data about the devices, logs, and additional info were saved in DynamoDb. The API layer for the microprocessors and mobile app, was based in API Gateway and Lambda( Python 3.7).
After one year we had the applications, devices in a good version to launch. Also, our electrical components and PCB were order from China, reducing our cost per unit, increasing the profit. We started with a B2B approach getting some customers, and at the same time we participated in many startup fund raising organizations, and after many feedbacks we pivoted to B2C, selling our product to gyms and hotels, because those customers were more aligned in reducing the water wastage, which is where we started to make good customers.
Another important application the we developed, was for managing all the devices, built with Spring Boot and React (Redux). Both of them were deployed in containers in Fargate. It was Spring Boot Microservices using Eureka as service discovery tool.
Another good point, was that we applied DevOps in almost of our assets and development flux. We had Terraform and Cloudformation scripts for automating our infrastructure, CI/CD pipelines on Jenkins.
Reaching September of 2019 we had already 10 customers, but unfortunately I got a very attractive proposal to work in Ireland as a Senior DevOps Engineer. So, I left the startup in this same month of 2019.