Inspiration
I got into 3D printing a couple years ago and fell in love with the ability to design things on a computer and turn them into physical objects. As I got deeper into 3D printing, I learned about OpenSCAD and parametric models, and I really liked the blend of programming and 3D printing. I'd been thinking about ways to make parametric prints more accessible when I came across https://bracket.engineer, a site that lets you design parametric 3D printable brackets entirely in your browser. I knew I wanted to build something using this technology, and I was inspired to build GPXTrack.xyz, which for me is a perfect blend of things I enjoy - 3D printing, programming, and outdoor activities!
What it does
GPXTrack.xyz lets you turn GPX activity files (GPS data from runs, rides, hikes, or outdoor activities) into custom 3D prints!
How I built it
Bolt.new helped me work really quickly to build the project. I used Bolt.new to port an OpenSCAD model of a GPX track to a Manifold CAD (JS) model. Then I used Bolt to combine the Manifold CAD model with the open-source base from Bracket.Engineer so I'd have a simple framework for a website in Vite. From there, I asked Bolt to write an import mechanism for GPX files. There were other challenges along the way like fonts and UI styling, but I got faster with Bolt as I continued iterating on the project, and ended up with something I'm really pleased with!
Challenges I ran into
The biggest challenge was definitely getting 3D fonts to work in my model with Manifold CAD. I viewed the text as a critical component, but Manifold doesn't natively include any text handling. Bolt.new helped me research and learn enough about how fonts are stored that we came up with, and then implemented a plan to extract the font paths from an open source web font and use these paths to extrude 3D text in a Manifold CAD model!
What I learned
Over the course of the project, I think my biggest learning was how to collaborate with AI to build things effectively. Over time, I grew more precise with my language, and learned to develop a plan with the AI before generating code. I found that working on a plan first ensures we're aligned about what we're going to build, so we don't need to waste time going down the wrong path or undoing things later.
What's next for GPX Track.xyz
https://GPXTrack.xyz is online, and I plan to keep it up so people can use it! It's open source on GitHub, so I hope to also find ways to collaborate with others to make it better over time!
Built With
- bolt
- html
- javascript
- manifoldcad
- netlify
- three.js
- ts
- vite

Log in or sign up for Devpost to join the conversation.