Inspiration 💡 💡 💡
With the ongoing exponential rise of social media, our team came up with the idea of having an application that helps users get the most out of their posts. InSight is a web application that helps all its users get the most out of their social media accounts and helps people who are socially inactive, increase their social media presence.
What it does 💻💻💻
Starting off, InSight offers two types of accounts: Basic and Premium. With Basic, the user is given an option to upload any picture of their choice. Our application will then analyze the given picture based on many factors, such as quality, content, faces, facial expressions, setting, and much more. Depending on all these factors, InSight gives a personalized recommendation - such as hashtags, suggestions on how to edit the picture, and a final score that helps the user get a better insight into their picture and bring them one step closure to get on the trending list of their social media accounts. Finally, our application also allows the user's to post the image on their favorite social media platforms directly through our website using HootSuite API.
With Premium, the user is provided with a completely hands-free experience. They no longer need to go through the process of scanning their images one by one to choose the right one. InSight will do it for them. Premium users can link their google drive/gallery to our application. Then, the website scans through the google drive/gallery and chooses the best picture automatically. Premium users get personalized recommendations and reminders to post on a daily basis, moreover, they get unlimited picture re-uploads.
Challenges we ran into 🛑🛑🛑
Authentication Issue: To use Hootsuite API, a user needed to have a Hootsuite account, to get the "code" parameter and to finally get the access token. This posed a huge problem as we didn't want to manually type in the access key every time. To prevent this we used a refresh token instead of an access token. We stored a refresh token on google firestore and whenever the user made a new post we used the refresh token to get a new access token, thus removing the need of typing it manually
Connecting Social Media: Hootsuite API doesn't allow the user to add their own social media, the social media needs to be linked via the Hootsuite dashboard. This still poses an issue as this means users can only post to the social media we have linked to our Hootsuite dashboard.
Accomplishments that we're proud of 💪💪💪
One of the other things we are extremely proud of is our idea and its execution. Our web application can effectively recognize images and their features: blurry, faces, food, etc. Our unique application also gives hashtags that are unique to each individual picture. This gives users a sense of personalized touch while they are uploading a picture of their choice. We are also able to give specific recommendations on how to improve the picture uploaded. We have also managed to give users an option to choose between the two different types of features available at InSight (Basic and Premium), keeping in mind the future goals of InSight that will be discussed in the later sections.
What's next for InSight 📈📈📈
- Right now all users can use a Premium Account for free, so we want to add a payment method along with an option of 5 days free trial
- We plan to make a Mobile app, and make the InSight a perfect Social Media assistant by including a daily recommendation system that guides users by computing a posting pattern based on their recent posts which have done well.
Tech Stack 📚📚📚
- For the frontend we used Angular.js
- For the backend we used Node.js
- We used the Hootsuite Api to allow the user to directly post from our website
- We used Google's Vision and Auto ML Api's for scoring our image based on several features like quality, content, faces, facial expressions, etc.
- Deployed backend on Google Cloud App Engine and Google Cloud Function
- Stored user's google drive image/gallery in Firebase storage
Social media is a fast growing platform and in todays world everybody wants to create social presence and be known by everyone. We believe our product , will indeed attract many users and they would like try our web app for sure.
Our website provide some basic features to all users ,but we are pretty sure users would like to get an Insight premium which would require the to a pay monthly subscription. The basic account will only upload images only a certain number of times after they will be required to purchase a Premium account that provides them:
- Unlimited image uploads
- Hands-free uploads
- Get more personalized recommendation