I've been building phone cases in OpenSCAD. Here's a Pixel 3a case printed in safety orange PLA+.
The model uses OpenSCAD's customizer. Punch in measurements, receive phone case.
I have a version with Joycon rails as well. Unfortunately Joycons work like crap on Android. Most emulators...