• create an online platform for ordering customized heavy duty guardrails; a typical online shopping platform was not a good fit for it because each guardrail may have lots of variants, each variant having a different price and delivery costs;
  • solve the pricing problem - come up with an algorithm for calculating the price for each variant of each guardrail;
  • keep the running costs low;
  • used Kotlin + Spring for the backend;
  • used Redis as the non-persistent data store;
  • used AWS services for integration: S3 for storage, Lambda + SES for sending e-mails;
  • AWS resources deployed using CDK;
  • backend is hosted on DigitalOcean, but can be easily ported to other cloud providers (no vendor-lock);
  • the VM on which the app is hosted is configured using Ansible playbooks;
  • used React + Material UI for the interface;
  • UI is hosted on Netlify.