- We had to host a VPS, which many Roblox developers don't know about, or are not capable of setting up / paying since in Roblox, Roblox Servers are totally free and unlimited for your game, so most of them won't worry about it.
- We had to communicate with the VPS through Roblox luau server scripts and HTTPS SERVICE, and Roblox doesn't provide a direct way for the VPS to send data to the Roblox game servers, the only way to get data from the VPS, is to send a POST/GET request to the VPS, and get the results from that.
- A queue system from the VPS, so it can handle any amount of requests without slowing down / getting blocked by Roblox API.
- We had to write a script that edits Images based on the data the users have given (Python for us), and one of the difficulties we faced is that Fonts / Images that you put on the image will not be same size as shown in Roblox even if same Font Size / Font Type, Style, Weight you select, and this is due to a very complicated thing which I'll not explain here. That forced us to use 3 image-editing libraries at once, and adjust the horizontal / vertical scale, and the Text Thickness while trying our best to keep the quality intact. (One fully working formula for 40+ .ttf/.otf font files). Here an example both are Arial Regular Font Size 14:

The one on left is by Roblox Font System, and the one on right is generated by our Python Script, you see both are Arial Regular Size 14 but they look very different, and fixing it was pain. However, we ended up solving all the issues related to that. For Text Thickness issue From Miku:

- The next issue is you need a Roblox account to be able to upload shirts to Roblox, and Roblox automatically kicks you out of an account if it detects a different IP so we had to create a proxy in the VPS, and connect to it through our devices, login and finish the captcha (custom by Roblox), and then take the cookies and send it to the VPS, and make the VPS use the cookies for logging in.
- Roblox to prevent BOTS from creating shirts / clothes / etc, they've created a complicated captcha system that is required even for actions such as uploading a shirt, there isn't any documentation you can find on the internet about it, and there is no script you can find, so we had to write our own bypass script, and it took us a few days and it was really tedious and difficult.
- Multiple cookie system, using multiple roblox accounts instead of one to reduce the chance of being blocked by Roblox API, and be able to upload more
and many more...