From the very start of the project, we knew that working with fairly new technology would be highly unpredictable. In the end, we built several prototypes and iterated almost daily. What did that look like in practice?
Once we had chosen the AI image-processing model best suited to our needs, one of the first difficulties was fine-tuning it so that it would reliably:
- convert photos into coloring pages without adding elements of its own, altering existing elements, or removing them;
- stick to the chosen coloring-page style.
The next challenge was protecting the brand image, that is, making sure people inclined to troll couldn’t generate coloring pages containing nudity, violence, or other inappropriate content. Here we relied on an ML model that classifies such content (so-called NSFW, “not safe for work”), which we used as a filter. An additional layer of protection was a filter that caught photos featuring competitors’ branding. For this, we turned to a LoRA-type AI model, which we trained to detect such photos with greater precision.
However, the most important issues involved the RTX 4090 graphics cards the app needed to run. How do you properly balance coloring-page generation time (both blank and colored) against the number of cards? How do you secure access to these incredibly popular cards without spending astronomical sums on them? Sounds complicated? It was! We opted to rent them and developed a mechanism that automatically purchased and spun up additional cards during periods of heavy traffic, all while keeping generation time under 10 seconds and staying within budget!