GENISAMA Software Download Screenshot & Diagram

GENISAMA Software Portal

Info

Web application to provide serial code registration and authenticated file download for AI startup

Technologies

JavaScript, AWS (Cognito, Lambda, DynamoDB, IAM, S3), Bootstrap, HTML/CSS, Java, Android

Date

June 2019

GENISAMA, a startup artificial intelligence company spun off from Michigan State University research, needed a solution to distribute software to their customers. This distribution needed to be authenticated and only available to customers with a valid serial code. Using serverless technologies from Amazon Web Services, I built a web application that allows for this.

First, a user creates an account. Along with their registration, they provide a serial number. Using Lambda and DynamoDB, these serial numbers can be verified and assigned uniquely to a user. Before the serial numbers are checked, the invisible reCAPTCHA v3 must be satisfied. This prevents spam, or bot attempts to guess a valid serial number. After registration, the user is prompted to verify their account with a confirmation code sent to their email through SES. Users may reset their password from this email address if needed. Once their account registration has been completed, the user is allowed to download their licensed software. Every file download is provisioned through Cognito and IAM, so the resulting download link is only valid for the provisioned user, and only temporarily.

With my software, GENISAMA can securely distribute their proprietary software exclusively to licensed customers. Built with modern web technologies, my solution is scalable, cost effective, and reliable.

After the completion of this project, I was contracted again to implement the Cognito authentication scheme from this application into an already existing Android application. This integration was simple using the AWS SDK and reCAPTCHA SDK for Android, nearly identical to its implementation in JavaScript.