building
An AI Blessing Booth at Home for Ganpati

We wanted to do something different this year, and what we did was put an AI blessing booth inside our home for Ganpati.
Simple mechanics. You stand in front of the Ganpati, fold your hands for namaskar, and a camera catches it. A few seconds later Bappa’s blessing is on the TV, a personalised line for you, generated with AI. A few moments after that, your image is converted into an AI portrait in different styles, carrying the same blessing.
I took three or four days to build it. The deadline was Chaturthi and that day was not going to move, and like any Ganpati decoration, this one also ran overnight on the last night.
I made a couple of decisions early in the project which actually made this really difficult. First one was using an ESP32 camera module for capturing the image. Second was to run everything on my local laptop, an M5 MacBook Air with 24 GB RAM. The idea was not to use any cloud service, so that I don’t have to deploy anywhere or make an API call. The home network controls everything.
The second decision caused a lot of trouble, and that is where all the learning came from.
If you look at it, the design question was not about the AI. It was about how seamless the experience can become.
So we layered it. The plain blessing appears immediately, while you are still standing in front of Ganpati. Then it quietly gets replaced by the AI generated one. You get the blessing immediately, the portrait arrives later, or it may not arrive at all, and nobody is left standing there waiting.
That is the decision I am most happy about, because it had nothing to do with the model. It was about the hardware which I had.
I realised this around 7:30 in the night, when the guest flow was the highest. The queue broke somehow. People were capturing continuously, and at one point of time everything seemed to be at a standstill. No AI image was getting generated.
When I looked under the hood, my AI background removal model was taking 16 GB and the render worker needed up to 12 GB. My laptop had 24 GB.
That is where the failure happened. Too many people back to back, and the machine went into swap and stayed there.
The biggest surprise came when people started seeing their portrait on the TV, and how close the resemblance actually was.
Some were happy with it, some were not. Remember this was running on a local laptop model. With ChatGPT everybody is used to seeing their 90s portrait, but this was fun.
People loved it. And especially the ones who have a little bit of understanding started asking me what is under the hood.