community portalcustom web applicationpython3d prusa printers
The world leader in the production of personal 3D printers, Prusa Research, has decided to focus on building a community of 3D printing enthusiasts. People at Josef Prusa love open-source technologies, therefore they were impressed by our experience in web application development in Python. Together, we have created a portal where amateur enthusiasts share tens of thousands of models, help each other in acquiring a background in 3D printing or participate in design competitions.
Every month, Josef Prusa dispatches more than 11,000 3D printers from Prague all over the world. In order for new 3D community members to be able to print anything, they need - besides a printer - also a cartridge (a filament) and a correct model - a file in STL or 3MF format supplemented by instructions for printing in Gcode format.
Creating one´s own model requires experience, so beginners usually use models from experienced fellow printers. To support community development, Prusa Research decided to build a global PrusaPrinters portal, where any 3D enthusiast can
Manufacturer and seller of 3D printers and one of the fastest growing start-ups in Central Europe. Prusa Research manufactures and sells more than 11,000 printers per month to customers around the world. The company has been building a strong and active community of people who share models on the global PrusaPrinters.org portal, compete for the best design in various challenges and help each other in 3D printing.
At the beginning of the cooperation, we clarified the objective. It was a community portal developed using open-source technologies aimed at making it easier for those getting started. The portal must:
The most common format for 3D objects is STL. However, it does not contain printing data, so before printing it is necessary to manually process the model, to “slice” it. However, if the model’s creator adds Gcode files for different types of printers, you can print immediately after downloading the model without slicing.
We ran the requirements through careful technical analysis. One of the key benefits of this phase was the decision on how to approach the portal architecture.
We have reached for proven technologies fuelling applications such as YouTube or Instagram.
You can find out more about the tools and technologies we use at COex on the web technologies page.
We created a mixed team in which we involved Prusa Research employees. This speeded up communication and streamlined development. Both sides were constantly in control of the software being developed so that it would work as intended.
First request and technical analysis
Start of development
MVP development completed
Completion of version 1.0
First public version launched
Updating, maintenance, development
To be able to quickly display tens to hundreds of thousands of users and sites, we created a server implementation of map points clustering which uses the k-means algorithm in PostgreSQL. Thus, we have achieved a map loading speed that would not be possible using standard front-end solutions.
We also had to deal with the unexpected issue of location anonymization. When we created a preliminary map of all the printers, we expected that we would get the user's approximate location using the zip code of the delivery address, but we found that in countries like the United Kingdom or Singapore, you can tell the user's almost exact address from the zip code. Therefore, we applied a shift in the location's GPS coordinate in the map in a random direction, thus anonymizing the user data.
The first thousand users registered on the portal within hours of launch. Due to the
keen interest, we modified the mailing system so that in an extremely
short time they could send a significantly larger number of e-mails than we had
expected.
After 9 months, the community has grown to 44,000 users who have uploaded more than 10,000
3D models to the web application.
As of November 2021, the PrusaPrinters portal is used by 290,000 users
per month, with 143,567 members registered. There are
48,460 prints
to download.
In the future, Prusa Research and us plan to add new features to the community portal, such
as sharing, interaction, news feed and other social network elements. This will make the
transfer of experience and model sharing between 3D printing enthusiasts work even better.