NOTE my video URL doesn't seem to showing up on my dashboard. In case this problem persists, please use this URL: https://vimeo.com/1097499489/3cb742a3ca

Inspiration

Home care companies need to audit hundreds - thousands of visit logs per week to comply with regulation. This task takes approx 10 hours per week; time that could be better spent servicing existing customers or acquiring new ones.

What it does

Care Classifier uses AWS Bedrock to classify and summarise visit logs. This reduces the time spent auditing them and also adds new insights - the summaries - that were not done before.

How we built it

The app implements a robust event driven architecture to handle high workloads. A JSON file of visit logs is uploaded to an S3 bucket which triggers a message on an SNS topic. Two Python lambdas - a classification and summary lambda - are invoked. The source code leverages a concurrent runtime to classify logs as efficiently as possible. The results are then put into a DynamoDB for persistence.

Challenges we ran into

Originally I assumed that two lambdas would be able to listen to the same object create events on S3. However, this turned out to be incorrect and I had to pivot to the object create triggering an SNS message which in turn triggers the lambdas.

I also initially considered using Step Functions but found this to be too steep a learning curve to execute.

Accomplishments that we're proud of

This is the first time that I have uses SNS. For some reason I had a false impression that it was a difficult service to use but this was false. Also, I haven't used AWS in a while so getting everything spun up with IAM controls while being rusty was a good achievement

What we learned

Amazon Q, the AWS console and docs have gone through significant UX / quality improvements since the last time I used AWS! I also learned that Step Functions have a nice UI to build systems; wasn't able to use successfully though.

What's next for Care Classifier

Continue investigating AWS as a viable option to deploy this solution (currently I have explored Azure for this) and see how to make the solution even more scalable with Step Functions.

Built With

  • bedrock
  • dynamodb
  • lambda
  • python
  • s3
  • sns
Share this project:

Updates