As freshmen in University this year, we realized that Telegram was super popular, not simply because of its stability, but Telegram also has many great features that other messaging apps lack, such as the ability to have bots, games, and stickers.
We really liked how stickers were a form of self-expression, and a way to store and share memories. Stickers make bonding experiences more fun, and both group chats and private chats have never been the same without them.
However, making stickers by yourself was difficult. First, you couldn't do it on your phone, because there was no simple way to resize images and send them in the right format. Secondly, you needed skills in image editing software in order to crop away background from photos. Finally, in case you haven't given up at this point yet, you'd still need to trawl through endless menus and options when dealing with Telegram's Sticker creator.
This was a tedious process, so we created Stitch to save you time and make creating memories fun.
What it does
Stitch is simple to use. Send Stitch any photo, and he will automatically crop out the background, resize your image to the appropriate dimensions, and add it to your very own sticker pack!
It's so easy -- that's all we have to say!
How we built it
python-telegram-bot wrapper for connecting with Telegram's API. The background removal is done using OpenCV, numpy, and Python Image Library for edge detection + image manipulation.
Challenges we ran into
We were very new to making Telegram bots, so figuring out the documentation and wondering how everything worked altogether took a while.
Oh, looking for a place in school to use was pretty tricky.
Accomplishments that we're proud of
A prototype at least!!!!
What we learned
- How to make a Telegram bot, specifically using ConversationHandlers to make things easier
- Simple image processing
What's next for Stitch
- Improve the image recognition algorithm to be able to crop out more complex subjects and backgrounds. We were considering the rembg tool (which uses more advanced trained models) but integration was a challenge.
- Actually host the bot on a server somewhere, and this would probably require Docker or something that can handle filesystem read/writes for the image manipulation.
- Perhaps a bit more functionality like editing already-made sticker packs, or customizing the emojis and the cropping intensity.