Over the last 1.5 years since the pandemic began, we have seen an immense inclusion of social media in the running of our daily lives. A major reason for this is that as our lives became more and more restricted to the four walls of our homes, it became difficult for most people to find safe spaces to be themselves and social media provided so many voiceless people with the means and stage to express their thoughts and opinions.
So when I came across this hackathon, I felt that building a product that helps people keep a check on their emotional state and express it better on their preferred platforms would be a really fun idea. And that is exactly what I did!
What it does
Social Mojifier emojifies your selfie based on your predominant emotion and allows you to save and share it on your social media handles with the rest of the world! It's a fun little app to share how you're feeling with whoever you would like to out there in a really cool way.
How I built it
The technologies that I used to build this app are:
- Xamarin.Forms: to build a cross-platform app using C# (.NET) and XAML
- Azure Cognitive Services Face API: to analyse the emotions on the face of the user
- Skia: to add the emoji mapped to the predominant emotion on the user's face in their selfie
Challenges I ran into
The SkiaSharp library (.NET library for Skia) did not have an easy method of converting the drawn-on canvas to an image so that it could be shared on social media. Fortunately, after scouring through older GitHub issues and discussions, I was able to figure out a method to achieve my aim.
Accomplishments that I'm proud of
- Built a functioning app ready for distribution
I was able to get a working Android APK that people can download and use on their mobile phones right now. Just click here to get the APK now.
- Used a graphics library for the very first time
Graphics libraries have been a fear of mine for a while so I was glad to be able to use the SkiaSharp 2D graphics library and learn about how it functions.
- Got proper sleep and meals during the hackathon!
I did not sacrifice my sleep and meals and took care of my health properly, so that is definitely a massive win!
What I learned
I genuinely loved working with the Azure Cognitive Services Face API. While Azure is a go-to platform for me, this particular service was one I used for the first time and I was awed by seeing how powerful it really is.
Working with a graphics library also gave me a lot of insights into how 2D graphics work and how we can use this knowledge in our solutions. This was a big achievement for me as I have always been a little hesitant about this topic, and I definitely look forward to experimenting more in this space in the future.
What's next for Social Mojifier
Emotional health is definitely a very important component of our mental health, so I will be working on features to track the emotional health of users over time and provide insights on those so that this application can really assist people in taking care of themselves as well beyond having a bit of fun.