Profile Information
Name: Kartikay Kaushik
LinkedIn: kartikaykaushik
GitHub: kartikaykaushik14
Google Scholar: Kartikay Kaushik
Email: kartikayism@gmail.com
Resume:
Location: New York, USA
Typical working hours: 5:30 PM - 1:30 AM (PDT UTC-07:00) from 3rd June, 2023
Synopsis
About the App: The Wikimedia Commons Android app is an open-source Android app that allows anyone to upload pictures to Wikimedia Commons. Commons is utilized as the image repository for various projects, including Wikipedia, Wikisource, Wikivoyage, and Wikinews.
About the Project: The proposed project for Google Summer of Code 2023 is to make uploading images to the app more reliable. It aims to fix three upload-related bugs in the app that are affecting its functionality. Fixing these bugs will improve the app's reliability and make it easier for users to contribute high-quality images to Wikimedia Commons, which will benefit all Wikimedia projects that rely on this image repository.
Possible Mentor(s):
Have you contacted your mentors already?
Yes
Deliverables
I would not be available during the community bonding period.
Timeframe | Start Date | End Date | Task |
Week 1 | 3-June-2023 | 11-June-2023 | #5196 Reproducing Issue + Investigating + Finalizing implementation strategy |
Week 2 | 12-June-2023 | 18-June-2023 | #5196 Code changes for fixing the issue + Write and Stabilize Unit Tests |
Week 3 | 19-June-2023 | 25-June-2023 | #5196 Deploy and Test Changes + Fix associated bugs and suggestions |
Week 4 | 26-June-2023 | 2-July-2023 | #5196 Documentation + Merge + Phase 1 Evaluation |
Week 5 | 3-July-2023 | 9-July-2023 | #5128 Reproducing Issue + Investigating + Finalizing implementation strategy |
Week 6 | 10-July-2023 | 16-July-2023 | #5128 Code changes for fixing the issue + Write and Stabilize Unit Tests |
Week 7 | 17-July-2023 | 23-July-2023 | #5128 Deploy and Test Changes + Fix associated bugs and suggestions |
Week 8 | 24-July-2023 | 30-July-2023 | #5128 Documentation + Merge + Phase 2 Evaluation |
Week 9 | 31-July-2023 | 6-August-2023 | #5136 Reproducing Issue + Investigating + Finalizing implementation strategy |
Week 10 | 7-August-2023 | 13-August-2023 | #5136 Code changes for fixing the issue + Write and Stabilize Unit Tests |
Week 11 | 14-August-2023 | 20-August-2023 | #5136 Deploy and Test Changes + Fix associated bugs and suggestions |
Week 12 | 21-August-2023 | 28-August-2023 | #5136 Merge + Final Evaluation + Overall Blog Post |
Implementation Strategy
Task #5196: My initial approach would be to understand the fix provided in #5190 where a similar issue is resolved in the custom picker and analyze if a fix can be prepared by building upon this approach.
Task #5128: My initial approach would be to find out the exact error, and modify the app's network parameters such as timeout or buffer sizes. An auto retry mechanism can also be added. In addition to it, I also plan to implement it as a background service where instead of relying on the user to keep the app open while the upload is in progress, we can use a background service to handle the upload.
Task #5136: My initial approach would be to understand how a single upload "unlocks" the stuck queued uploads and try if a fix can be extracted out by debugging this flow.
Participation
I plan to provide a short daily update regarding the tasks on Zulip in order to align with the team and ask any queries if I'm blocked somewhere. The code would be updated regularly on my GitHub branch after forking from the Commons App GitHub Repo and would be merged to master branch after approvals.
About Me
I am Kartikay Kaushik, a second-year Computer Engineering Master's student at New York University. I will be graduating in May 2023.
I completed my B.Tech in Electronics and Communication Engineering from Indian Institute of Technology (IIT) Dhanbad, India in 2018.
In the Summer of 2022, I worked as a Software Engineering Intern at Nutanix, Inc., California, USA.
I worked for over 3 years at Amdocs Development Centre, Pune, India, and Guadalajara, Mexico from June 2018 - August 2021.
I have been contributing to open-source projects, particularly to Wikimedia Commons App since I got to know about it.
How did you hear about this program?
I got to know about the program while working on issues with Wikimedia Commons App.
Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
As of now, I do not have any other time commitments during the program and will be available to work on the project for as many hours as required.
We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
I am applying only for the Google Summer of Code program and would not be applying for any other program or organization.
What does making this project happen mean to you?
Making this project happen means a lot to me because it offers a rare opportunity to contribute to a widely-used and impactful open-source project, while also gaining valuable skills and experience in software development. As a fervent user of android apps, I understand the importance of a reliable and user-friendly app. Addressing and fixing the bugs in the app will make it simpler for users to contribute high-quality images to Wikimedia Commons, ultimately benefiting all Wikimedia projects that rely on this image repository. Additionally, being a part of Google Summer of Code is an honor and an opportunity to work with experienced mentors and other contributors, learn from them, and grow as a developer. Overall, making this project happen means making a meaningful contribution to a valuable cause while also advancing my own skills and career.
Past Experience
Personal Projects
- Multimodal Classification To Detect Hate Speech: As part of the project, we designed, developed, and trained a multimodal classification model on the Hateful Memes dataset. The challenge was initially organized by Facebook AI to detect hate speech in memes. The state-of-the-art methods to perform the classification are quite imprecise. We created our own multimodal models with different text and image classifiers and extended our dataset to improve the accuracy of the classification of memes into hateful or non-hateful. The model is then extended as a service where users can upload a meme and the application would inform the user if the meme is hateful or not.
- Adversarial Attacks on Multimodal Classifiers: As part of the project, we attacked a multimodal classification model on the Hateful Memes and Memotion 7K dataset. The objective of the project is to minimize the classification accuracy by adversarially modifying the image and/or text of memes to maximise the misclassification of memes from hateful to non-hateful and vice-versa. Using the adversarially modified images and/or texts, the model was then re-trained to improve its robustness.
Relevant skills
- Proficiency in Java and Kotlin
- Understanding of Wikimedia APIs.
- Experience with integrating RESTful APIs and third-party libraries in Android apps.
- Ability to use debugging tools like the Android Studio debugger and familiarity with testing tools like JUnit.
- Strong problem-solving skills, and ability to identify and analyze technical problems and develop effective solutions.
- Experience with software version control systems, such as Git
- Familiarity with working in an Agile development Environment.
- Passion for contributing to open-source projects, and knowledge of how to work with the Wikimedia community.
Contributions to Wikimedia Commons
Issues
Issue | Name | Status |
#4994 | [Bug]: F-Droid: GMS libs in the final apk | Closed |
#5154 | [Bug]: Remove Telemetry due to app's privacy policy | Closed |
#5158 | Upgrade Kotlin Version from 1.5.10 to 1.7.20 | Closed |
#5165 | Mediawiki MobileView API deprecated, Mobile Content Service deprecated too, migrate to WMF-recommended solution | Open |
#5175 | Upgrade Minimum SDK Version, Compile and Target SDK Version | Closed |
#5182 | Switch from Mapbox to MapLibre | Closed |