Project Doorbell: Retrospective v1

Project Doorbell: Retrospective v1

This blog post is the conclusion of Project Doorbell v1, and I would like to share the process and actions that took me to the finish line for this side project.

As a part of the series Project Doorbell you can check out the other parts:

Part 1 a light introduction to Amazon Rekognition, the AI service that will identify people.

Part 2 is about the setup taken to run the project and some essential parts to connect AWS S3 with AWS Step Function by Amazon EventBridge.

Part 3 is about the integration of Amazon API Gateway WebSocket with Rust.

Recap

The pandemic time has been a game-changer for me. Working from home allowed me to manage my time like never before. So, with time in my hand, thanks to the no running from home to the office, from the office to the school, I decide to follow a personal technical path. I started getting AWS Certifications, and I wrote about here. Then, after what we can call an upgrade or refined knowledge of skills, I looked at programming languages and had my eyes on two Golang and Rust.

I decided on the latter because:

I started using GitHub where there are a few types of projects:

  • hello world examples
  • thoughts on some aws services
  • performance tests against languages
  • small projects like the doorbell

And last but not least, I started practising writing articles. I used this platform not as a teaching moment because I cannot do it but to express what I have in my mind to build up a network of virtual companions to share ideas with.

Retrospective

  • Project Doorbell has been a good opportunity to build something more than hello world.
  • Allow me to use Issues and Project in GitHub
  • I involved a friend, introducing him to the world of Rust
  • Started with the simpler case of comparing face
  • Added a negative path of face not match
  • Added another negative path when the system cannot recognise a face
  • Refactoring time, extracting code #29 and 31
  • Optimise for 3ms

Add-ons

I have in mind to send back Audio from a mobile app to the doorbell, maybe using a combination of services like Amazon Transcribe and Polly. Still, except for integrating these services, I think the implementation is very similar to what I did until now.

audio.jpeg

Another possible option is to have a smart letterbox integrated where a scanner will read the text and send it to the owner as a preview.

Conclusion

I think this is the end of Project Doorbell. I may implement or refactor something, and I cannot tell. What counts is that it was fun and kept me interested. I will use AWS AI Managed services to explore new services and opportunities to show off some hello world examples or mini-projects. I will write down my impressions, but as they said

Let the chips fall where they may