DEV Community

Cover image for Building StlFactory - a platform for generating custom 3D models
Erika Heidi
Erika Heidi

Posted on

Building StlFactory - a platform for generating custom 3D models

GitHub “Finish-Up-A-Thon” Challenge Submission

This is a submission for the GitHub Finish-Up-A-Thon Challenge

What I Built

I built a platform called StlFactory for small 3D print shops and individual users to create customized STL models to print at home. The inspiration was "Canva", but for creating 3D models.

StlFactory main view

Demo

The project is live at https://stlfactory.net. Here's a quick demo video - and yes, I added a keychain model especially for DEV:

The Comeback Story

The project started as just a public GitHub repository with customizable OpenSCAD models and some glue bash scripts to generate customized STLs.

Screenshot of github repo and README: camboaLabs/stlfactory

Since I started building these programmatic 3D models one year ago, I wanted to create "an interface" for final users. I never got to actually work on it (until now) because I knew it would be a lot to cover, and I wasn't confident about how the backend would work to process the OpenSCAD model rendering. Disclaimer: Copilot helped me figure out all the details.

I built a backend in Python to turn the models into an API. I built a frontend in Laravel because that's the framework and language (PHP) that I'm most comfortable with, and it would allow me to build even faster using Copilot. So we went from a CLI-only experience to an online platform where users can create accounts and generate custom 3D models to print at home - no need to know about CAD, OpenSCAD, or even the command line interface.

My Experience with GitHub Copilot

GitHub Copilot helped me define the "contract" for the project with two independent parts (frontend in Python and backend in PHP). Then, we started building together every feature. The full application was built with prompts. Yeah, I maxxtokened during the last 2 weeks of May building this app.

Copilot also helped me define a plan for production. I already knew what I wanted (GCP / Google Cloud Run with workers for the render queues, Google S3-compatible storage), so I was very direct with my prompts. Took some back-and-forth to configure service accounts, but I was able to get everything up and running with a live domain in a couple days.

Of course, this infra is not very cheap! But I really wanted to learn and experiment with a more complex setup. My plan is to offer a subscription model, with some models being available for free. To gauge interest, I decided to start with a closed beta. Users can register for free and request beta access to try out the premium features. Copilot also helped me plan and implement the closed beta feature.

Wrapping Up

I am very satisfied with the result of this experiment and quite impressed with what I was able to build in this short period, and Copilot helped me all the way through the process.

Disclaimers

A few disclaimers: I am part of the GitHub Stars program, but I didn't have any privileged information about this DEV challenge. In fact, I only found out about it a few days ago - this motivated me to finally ship it. I am happy for this opportunity to share about my project, even if it doesn't qualify for the challenge =) cheers and good luck to all participants!

Top comments (0)