===Profile Information
Name: Balaji Ramasubramanian
IRC nickname on Freenode: Balaji030698
GitHub Profile: https://github.com/Balaji-Ramasubramanian
Resume: [[ https://drive.google.com/file/d/10iKVPPDEpLx4rd5GIFMIffJPcvmZOIfF/view?usp=sharing | My Resume at Google Drive ]]
Location: Tamil Nadu, India
Time Zone: UTC +5:30 (IST)
Typical working hours: 8 AM to 10 PM during holidays, 5 PM to 12 AM during college days (UTC +5:30)
===Synopsis
Wikimedia Commons Images is the largest collection of free-use images. These images are being part of the Wikipedia, Wikibooks, Wikinews and many other Wikimedia projects. The repository contains millions of images across many categories. To promote Commons images through twitter platform, we have to create a Twitter bot similar to NYPLEmoji bot.
A user can simply tweet to our bot with an emoji and get a relevant image from Commons Image repository in the reply. This way, we can introduce a lot of people to the commons collection since emojis are language neutral. The project consists of the creation of a Twitter bot and relevant Wikidata for the Emojis. WikiData will be the data source for crowd-sourcing the relevant Images for each Emojis.
=====Possible Mentor: @ArielGlenn
=====Possible Co-mentor: @Dereckson
I am discussing regarding this project with them in [[ https://phabricator.wikimedia.org/T143593 | Fork NYPL emoji bot for Commons images (to give back 'similar' Commons images)]]
===Deliverables /* To be updated */
1. A Twitter bot which replies with a relevant Commons image when a user tweets it with an emoji.
2. Curated Wikidata pages with Image property values for the emojis
3. Pull request to the Commons Images web page of the Wikibase to include Twitter meta tags.
====Timeline /* To be updated */
| Period | Task|
| April 23 - May 14 | Community bonding. I would like to interact with other Wikipedia contributors and get to know them well. Along with that, I will acquire the relevant access to my accounts like ToolForge and Wikidata. |
| May 14 - May 21 |Download and set up the Wikibase and include the Twitter card meta tags on the Commons Image’s web page. In the end, I will be submitting a pull request to Wikibase(Unlike the core modules of this project, this has to be done on the existing PHP code of the Wikibase. Hence I am taking little longer to ensure I am doing it in the correct way). |
| May 22 - June 04 | Create the Wikidata for the emojis and build a basic version of the twitter bot for the first evaluation. |
| June 05 - June 9 | Deploy the initial Twitter bot version in ToolForge and test it for various scenarios. |
| June 09 - June 10 | Prepare for first evaluation and improve the documentation of the project. |
| June 11 - June 15 | First evaluation period. |
| June 16 - June 25 | Implement the feedback from first evaluation and make improvements to the initial version of the Twitter bot. |
| June 25 - July 02 | Improvise the Wikidata emoji page curation and test the improved Twitter bot for various scenarios. On successful test results, deploy the bot in ToolForge. |
| July 06 - July 08 | Prepare for the second evaluation and improve the documentation of the project. |
| July 9 - July 13 | Second evaluation period. |
|July 14 - July 19 | Implementing the feedback from the second evaluation. After the successful completion of the feedback implementations, Deploy the final beta version of the Twitter bot in ToolForge. |
| July 20 - Aug 02 | Introduce the Twitter bot to the Wikimedia community for feedback and implement the feedback. Measure and improve the performance and resource usage of the bot. |
| Aug 03 - Aug 05 | Prepare for final evaluation and improve the documentation of the project. |
|Aug 06 - Aug 14 | Submission of the project for final evaluation. |
===Participation
I will be publishing my source code on GitHub and communicate with my mentors through Phabricator, IRC, and E-mail. If the mentors want to communicate through other means like Skype and Hangouts, I am fine with it.
===About Me
I am Balaji Ramasubramanian from Tamil Nadu, India. I am pursuing my pre-final year in undergraduate Computer Science Engineering. I came across Google Summer of Code in a hackathon event. I will be on my holidays from May 15 to June end. After June I will be having college. But, there won't any exams until August. Hopefully, there won't any academically related hindrance for my project. I am applying for Wikimedia through GSoC alone. As of now, I don't have any plans for applying other organizations even in GSoC.
I am using Wikipedia for many years, It is my time to contribute back to the community through my skills.
===Past Experience
======Facebook Messenger chatbot - Smart Vaccine Reminder:
Improved healthcare services are an integral part of many smart cities solutions. To that effect, I created an open-source Facebook Messenger chatbot project which delivers the vaccine reminder messages to the corresponding parents before the due dates. To make better help parents keep up with the vaccination schedule and the hospitals to provide better services.
It provides a medium of communication friendlier for the user and another part of the project aims to provide a better integration for the hospitals. This project contains the following two modules
1. Facebook Messenger chatbot for parents.
2. Google Sheets add-on for hospitals/healthcare services/governments.
Facebook Messenger Bot: A Messenger chatbot using which the parents can be notified about the vaccination days for their kids. Using this chatbot, parents can register their kid details, check vaccination schedule and details about the vaccines. This module will auto-populate the vaccination schedule in the database based on the kid's DOB.
Google Sheet Add-on: Using this Google Sheet add-on, the corresponding service provider can view and modify the vaccination days of the kids.
Check the demo video [[ https://www.youtube.com/watch?v=-zKu5mbPXSI&t=37s | Here ]]
You can find the project at [[ https://github.com/Balaji-Ramasubramanian/smart-vaccine-reminder | my GitHub repository ]].
I have published this project with Apache 2.0 License. So, any healthcare service providers can make use of this project without any restrictions.
======UrlShorty Ruby Gem:
Developed a ruby gem with proper documentation to make use of the Google URL Shortener Service. Using this gem, any ruby project can shorten a long URL, expand the shorten URL and get analytics from their Google URL shortener account. During this project development, I gained experience in building Ruby gem and writing documentation for Ruby projects. You can find the Gem page [[ https://rubygems.org/gems/url_shorty | here ]] and source code in [[ https://github.com/Balaji-Ramasubramanian/UrlShorty | my GitHub repository ]]
Also, I have worked on a twitter bot for my hobby project.
===Any Other Info /* To be updated */
To showcase my ability to build this bot, I have developed a basic version of a similar Twitter bot for Giphy website. I had to choose Giphy for this task due to the lack of Twitter cards meta tags and relevant tags inclusion in Commons image currently. You can find the source code of this project in [[ https://github.com/Balaji-Ramasubramanian/giphy_emoji | my GitHub repository ]] and the Twitter bot [[ https://twitter.com/giphy_emoji | here ]]. I am testing it locally as of now. I will deploy the code in Heroku by next week and update it here.
=====Known issues:
1. Twitter API rate limit on reading mentions through Twitter API is currently 75 requests per 15 minutes. You can refer [[ https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-mentions_timeline | here ]]. It can be handled by code.
2. Unlike NYPL image web pages, Commons Image web pages lack the relevant meta-tags. Hence, Twitter won’t be showing the Twitter cards for the links and the tweets will contain just the links to the images. Twitter cards will provide better visibility to the tweets. So, I am planning to update the Commons web pages with relevant meta tags as part of this project.
3. [[ https://commons.m.wikimedia.org/wiki/Main_Page |Wikimedia Commons homepage ]] has the picture of the day with tweet option. Due to the absence of Twitter meta tags in the Commons image web page, those tweets are not shown as Twitter cards. Apart from our Twitter bot, adding meta tags to Commons images will enhance the tweet appearance of the Picture of the day tweets too.
I will make the project code modular in such as way that the bot can be extended to other platforms like Facebook Messenger and Slack in the future.