Profile Information
Name: Chaitanya Mittal
IRC nickname on Freenode: chtnnh
Web Profile: https://www.github.com/chtnnh
Resume
Location: Dubai, AE
Typical working hours: 18:00 - 02:00 (UTC+4)
Synopsis
- Short summary describing your project and how it will benefit Wikimedia projects
The proposal elaborates on a scoring system that will be based on Yahoo!'s open_nsfw model. By optimizing memory usage of the deep neural network, the goal will be to achieve upload time classification of images as NSFW or SFW. This threshold can be determined by wiki admin.
The immediate use cases for this model are as follows:
- Allow patrollers to curb vandalism that comes in the form of upload of nsfw images to articles that do not require them.
- Allow end users to choose whether or not they want to see an NSFW image even if it relevant to the article.
The model would also allow for greater moderation and further work on NSFW/SFW content on Wikis across WikiMedia.
- Possible Mentor(s): @Halfak
- Have you contacted your mentors already? Yes!
Deliverables
| Days/Dates | Milestone/Deadline/Subtask Accomplished |
|---|---|
| Apr 27 - May 17 | Community bonding period: spend time interacting with analytics team at WikiMedia, understand common practices and norms |
| May 18 - May 24 | Experiment with API implementation of open_nsfw, documenting results in agreed format with mentor. |
| May 25 - May 31 | Benchmark API performance and streamline POST requests to achieve higher performance |
| Jun 1 - Jun 7 | Investigate existing Machine Vision code in WikiMedia to help streamline integration of API into codebase |
| Jun 8 - Jun 14 | Begin integrating API code into existing machine vision code at WikiMedia |
| Jun 15 - Jun 19 | Phase 1 Evaluations |
| Jun 22 - Jun 28 | Complete integrating API with WikiMedia code |
| Jun 29 - Jul 5 | Deploy in test environment, testing and performance benchmarking |
| Jul 6 - Jul 12 | Test feedback and Performance improvements discussed with mentor |
| Jul 13 - Jul 17 | Phase 2 Evaluations |
| Jul 18 - Jul 19 | API code re-integrated with code including test feedback and performance improvements |
| Jul 20 - Jul 26 | Deployment into test, performance benchmarking and tesing |
| Jul 27 - Aug 2 | Deployment into production |
| Aug 3 - Aug 9 | Performance monitoring, Documentation |
| Aug 10 - Aug 24 | Final Evaluation |
In addition to code, I plan to start a blog on my portfolio website where I will write about my work on this project once every two weeks. This will help with documentation as well as give certain exposure to WikiMedia AI projects.
Participation
In terms of participation, I plan to communicate mainly through four channels: Phabricator for documented information, IRC for general queries, Zulip for task specific queries and Email for official communication regarding progress.
As far as source code is concerned, I have learnt that the best way to share code is through commits. But in cases where this is not the best option, services like https://codeshare.io could be handy.
About Me
Hi! I am Chaitanya Mittal, an undergrad in Computer Science and Engineering currently in my first year. I am an algorithmic coder and machine learning enthusiast. I have the distinction of qualifying to the Asia Regionals of the ACM ICPC 2018. I have worked with the Mozilla Foundation and the Mifos Foundation previously, though only for a short period of time. I am an open source enthusiast and truly believe in the power it holds to influence the world.
In particular though, I have fallen in love with WikiMedia's vision, "Imagine a world where we can all share freely in the sum of all knowledge" and the fact that it stays true to that. In the spirit of free knowledge and collaborative code, I believe WikiMedia leads by example.
The time frame for the project is from mid May to mid August. I will have summer break from June going on until August end. I will only have minor college engagement during the first two weeks of the project and I will strive to not let it affect my enthusiasm towards the project in any way.
I am eligible for GSoC and am applying with this project.
What does making this project happen mean to you?
Having relied on WikiMedia since childhood, without even realizing it, I understand the role that WIkiMedia plays and has been playing in shaping how knowledge is shared around the world. The successful completion of this project would help improve the way the world obtains information. It would help make their experience safer and a little more pleasant.
It would help a 19 year old realize that collaboration can lead to great things. This is what making this project happen means to me.
Past Experience
Having actively worked in open source for a year now, I have looked for a welcoming community working towards a cause I could relate with. In this process, I have encountered multiple projects (Mozilla, Mifos), developers and tasks. Although it is difficult for me to quantitatively describe this experience, I can affirm that it has helped me become a better developer, I have helped with some tasks here in the WikiMedia community as well!
T245068 is the first task that I have completed.
T246438, T246663 are tasks I am currently working on with @Halfak and have made significant progress in, as of the writing of this proposal.
At a personal level, I actively program competitively and keep myself up to date on the latest machine learning algorithms being developed. I love both Python and C although competitive programming does make me use C++ quite often. I am a native Linux and Bash user and prefer coding in vim or VisualStudio Code.
Any Other Info
References: T214201
Related Projects/Microtasks:
- Implement UI for showing NSFW images when relevant to an article
- Add user preference for storing whether user want wikis to display NSFW images
Relevant links:
- API implementation of open_nsfw
- Yahoo! implementation
- Caffe, the deep learning framework employed by open_nsfw
