Migration successful!
Goodbye WordPress!
TL;DR. I moved my eight-year-old WordPress-on-DigitalOcean robotics-tools site (mesh cleaner, model viewer, IKFast generator) to a containerized Cloud Run setup. About fifty people a month still use the tools, so the goal was preserving what works and future-proofing it, not rebuilding for its own sake.
During my master’s in robotics, I built a few small tools for the parts of model and robot work I kept doing by hand: mesh cleanup, 3D model viewing, inverse-kinematics generation. I Dockerized them and exposed them via WordPress on DigitalOcean, originally as a way to tighten my own research loop, then opened up because a few other people seemed to want them.
Eight years later, the site was still running. To my surprise, over fifty people a month still used the tools. It was time to give the site some attention, without disrupting existing users.
What started as a cleanup became a migration to Google Cloud Run. Each tool was already containerized and stateless, so the move was mostly mechanical: I split the services into separate Cloud Run deployments, cleaned up the code, and put a budget guardrail in place that stops serving if my monthly budget is hit. The free tier on Cloud Run is generous enough that the tools should keep working for a long time without me touching them.
The original toolbox is still available, now as separate Cloud Run services with the same URLs.
Find the tools under Projects:
- 🔧 Mesh Cleaner Clean and process 3D mesh files for physics-based simulations.
- 🧿 Model Viewer Visualize 3D models and robots directly in your browser.
- 🤖 IKFast Generator Generate analytic inverse-kinematics solvers from
.daefiles using OpenRAVE’s IKFast.
These tools were the part of my master’s I went back to constantly: computing inertial properties for dozens of objects, cleaning up meshes for simulations, and later, during my research assistantship, generating inverse-kinematics solvers for robot manipulators. Worth the time it took to package them properly back then.
If you’re still using any of these—thank you. I hope the migration went smoothly. If not, feel free to reach out and let me know what’s broken.
For nostalgia, here’s a little album of the old site: