Home

Armadillo Additive Manufacturing

Titanium 3D printing order management for customers and admins.

See it live: https://armadilloadditive.com

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

Process

Design

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.

Development

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.

CAD file viewer

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.

Screenshots

Upload form Qoute form

Handoff

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.

Conclusion

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.