Conf-Count
  • Partner: Knoldus (Internal Project)

  • Technologies Used: Rust, Cargo, AWS (S3, Rekognition), MongoDB

  • Domain: IOT

About Conf-Count

Conf-Count is a Conference Monitoring System in Rust that uses AWS services like S3 and Rekognition, to get the similarity score of two images sent through the Rust application. The overall goal of this project is to monitor the conference attendees and keep track of all the conferences held in an organization.

This project is based on Image Recognition, where all the registered user's image is compared with the present user's image using AWS Rekognition Service.

If any registered user is unable to attend the conference, so his conference status will remain Absent and an Email is sent to that user along with his Status and Talk Content.

The Challenge

The major problems which we faced were as follows:

  • Interaction with AWS Rekognition using Rust.
  • Triggering Raspberry Pi Camera Asynchronously.
  • Handling Multipart in Rust

Our Solution

Interaction with AWS Rekognition was quite difficult through Rust Programming because it throws an error related to Runtime, so we provide Tokio runtime (tokio::runtime::Runtime) and spawn that Rekognition thread into (futures::sync::oneshot::spawn) method to work with CompareFaces API of Rekognition service.

Triggering RPi camera asynchronously was not the right decision, because asynchronous lets the program works with the previously captured image because it's an asynchronous task and a new image is still in process. So we decided to make this triggering camera synchronous so that we can get the current image always.

Handling Multipart was not that easy as we think, so we decided to club the (futures::stream) and (actix-web::multipart) to handle the multipart request.

Architecture

Knoldus conf-count case study IOT

Business Benefits

The benefits of working with Conf-Count manifolds the followings:

Keep track of all the conferences.

It depends on the highly reliable AWS services.

Portable and adjustable as per requirements.

Quick response time.

Updates of conferences.

Email service along with the talk content.

Conf-Count is an open-source project. You can find the source code here.

All contributions are welcome. If you want to contribute, please create a GitHub issue and raise a pull request.

Get In Touch:

If you are looking to build this or similar solution (IOT with Rust), please get in touch or send us an email at hello@knoldus.com Knoldus has proven expertise in building reactive products with Scala, Functional Java ecosystem using Lightbend platform and solving big data challenges leveraging Apache Spark platform.

Relevant Resources:

cs-background

A health technology company digitizes the aging and caregiving platform with the help of Knoldus API solution.

cs-background

Improve patient care experience while meeting the highest standards of security and compliance

cs-background

How Zillion drastically reduces the processing time from hours to seconds with the 5X of load

Trusted by innovative organizations, big and small.
Awards and Recognitions
Upcoming Event:

Join Asia's premier Big Data, Functional and Reactive programming event of the year Register Now!