🛠️ Building PubMan: Solving the Pain of Multi-Site 3D Model Publishing
When you're a 3D designer actively sharing your creations across platforms like Thingiverse, Printables, and MakerWorld, you quickly realize how manual—and frankly painful—the whole process can become.
Every new design means rewriting descriptions, uploading the same files over and over, managing tags, tweaking formats, and generating platform-specific links. And when one of those designs needs to be updated? Double the work. Sometimes triple.
That’s where PubMan started: as a tool I desperately wanted for myself.
🔧 Where It Began
I was managing a growing number of 3D designs, publishing them on multiple platforms. A change to a single model’s geometry—say, moving a feature slightly or fixing a tolerance—meant:
- Re-exporting STL or 3MF files
- Opening slicers like PrusaSlicer or Bambu Studio to prep platform-specific packages
- Re-uploading images, replacing text, regenerating links (including affiliate codes that vary per platform)
- Then repeating that entire process for each site.
It was annoying. And worse—it made me avoid updating my models, even when I should.
💡 The Vision for PubMan
What if there were a dashboard that worked like a source-of-truth for your designs? A central space where you draft your model once—name, description, files, tags, images—and then push it out to wherever you want?
That was the idea behind PubMan:
- 📂 Draft a design once with all necessary assets
- 🚀 Push it to Thingiverse (initially)
- 🔄 Update designs after publishing
- ✅ See at a glance where everything has (or hasn't) been published
🧱 First Build Decisions
I started with a desktop-first mindset. Why?
- Most designers are working from their local file systems with large STL/3MF files.
- Dragging and dropping images/files is just better on desktop.
- I wanted cross-platform support (macOS, Linux, Windows).
So I chose:
- Electron for the shell
- Next.js for the frontend (yes, inside Electron—it works well)
- SQLite for lightweight local storage
- TypeScript for safety and maintainability
🧪 MVP Scope: Thingiverse First
I limited the first real integration to Thingiverse, just to prove the concept. That included:
- Authenticating the user
- Creating a new Thingiverse draft from PubMan
- Mapping PubMan metadata to Thingiverse’s format
- Detecting if a design had changed since it was published
- Adding a “Sync” button to push updates
🔄 Post-MVP: What’s Next?
As of now, Thingiverse support is functional. But Printables and MakerWorld are right behind.
Future plans include:
- Support for affiliate link templates per platform
- Platform-specific description overrides
- Auto-generating preview images from design metadata
- Version tracking and changelog integration
- Eventually: batch operations, templated design setups, and publish scheduling
🤝 Built by a Designer, for Designers
I didn’t build PubMan for the sake of building something. I built it to eliminate a friction point in a workflow I care about—and I think other 3D designers do too.
If you’re a creator juggling multiple platforms, give it a try and let me know what you think. Feedback is not only welcome, it’s vital.
Let’s make publishing painless.
—
Jason Lewallen
Founder, DrawnToDigital & Creator of PubMan