May 15, 2022
About the project
Armadillo Additive Manufacturing is a Titanium 3D printing company which focuses on medical- and aerospace-grade manufacturing.
I designed and built a web dashboard to let customers and admins create and manage print orders, including a custom invoice flow.
The main functionality of the web app includes:
- Customers can create orders including uploading CAD files
- View uploaded parts in an interactive 3D file viewer
- Admins can create quotes and invoices
- Admins can send order status updates
- Two marketing pages including a Spanish translation
I designed mockups for the marketing pages, device and dashboard pages in Figma. I went through several iterations with the client to identify a style that worked well for the marketing and app pages.
After settling on the design, I built the app using Elixir, Phoenix, TailwindCSS, Alpine.js, and PostgreSQL.
I built an interactive 3D file viewer using Three.js which supports STL files. Customers and admins can preview uploaded files and even interact with them to pan and zoom around the uploaded part.
I built a custom quote and invoicing workflow using Stripe.
I deployed the app and database using Fly.io. I also used AWS for object storage and email.
After thorough testing and a multi-month support period, I documented the app architecture and tech stack and handed off the code and all other info needed to maintain and operate the web app.
This was a great opportunity to learn Elixir and Phoenix, as well as learn a ton more about Stripe. This was a very form- and file-heavy app that required handling images, videos, and CAD files. It also included a good amount of email work to handle notifications between customers and admins.