Back to Projects
Stable DiffusionPythonTypeScriptPostgreSQLMinIO/S3FastAPIDjangoDockerAWS

Shrekify

AI-powered image transformation service that converts any photo into Shrek-style artwork using Stable Diffusion with ControlNet.

Shrekify project showcase 1
Shrekify project showcase 2
Shrekify project showcase 3

This project started as an assignment for a Generative Design course at my faculty, but I decided to take it a step further and build a full web application out of it. The goal was to take any photo and transform it into Shrek-style artwork using Stable Diffusion and ControlNet to ensure the original features remained recognizable.

The name is actually a bit of a joke; the idea is that you expect a typical 'prettyfying' filter, but instead, the app turns you into an ogre. To manage the high costs of cloud GPUs, I designed a hybrid system: a local FastAPI backend handles the heavy 'Shrekification' on my own hardware, while a lightweight Django-based Gallery app manages the web UI and metadata. There was no specific reason for choosing these frameworks other than wanting to try both and see which I preferred; it was my first time writing a backend in Python, and I've really grown to like it.

The two applications communicate via a REST API, allowing me to combine cloud accessibility with my own local GPU power. This was also my first time deploying to AWS—specifically using ECS and S3—and it was a great way to learn how to bridge the gap between heavy local ML models and cloud deployments.

While this project provided deep insight into how image generation works, it is by no means production-ready. The diffusion models themselves have improved so rapidly since then that these specific versions already feel quite dated, but I learned an incredible amount about the underlying technology and full-stack architecture.