My Hair Done is a Web application that aims to streamline the process of getting a haircut for both independent professionals and customers.


For Professionals, the application is a platform to manage their bookings and availability and to publish their portfolio and style characteristics so that customers looking for a professional specialised in a given style or location can find a match easily. For customers, the app helps them on 3 different fronts: 1st The AI Hairstyle builder helps users to try different haircut styles & 2nd, the app helps them find professionals that match their hairstyle choice and finally, schedule appointments with any professional in the platform through the app.


My Hair Done was built as a Cloud Native application with backend & Frontend decoupled to allow for a mobile app expansion in the future. The backend was built in NodeJS using the REST architecture while the Frontend was built using ReactJS and it communicates with the backend as an API using HTTP Calls.


To streamline the development process and publishing of iterative updates, a full CI/CD pipeline was implemented using GitHub and AWS Development Services (CodeDeploy/CodePipeline).


The application infrastructure is also hosted in AWS using managed services where possible to streamline the application development and reduce operations cost. Both Backend and Frontend are hosted in an auto-scaling group of EC2 instances with load-balancers. The backend connects to a MySQL database hosted in AWS RDS.


The application also leverages AWS SES for mailing tasks and AWS SQS where queueing between services is necessary. Other AWS services such as Route53 (DNS), Certificate manager (HTTPS) are also being used.