Page MenuHomePhabricator

GSoC 2026: Implement lossless JPG transformations in the Commons Android App
Open, Needs TriagePublic

Description

Project title: Implement lossless JPG transformations
Brief summary: The project aims to add picture editing capabilities with lossless transformations to the app:

Relevant GitHub issue: https://github.com/commons-app/apps-android-commons/issues/1192
Expected outcomes: Ability to crop, blur faces/number plates/etc for privacy reasons, etc. with lossless transformations.
Skills required/preferred: Strong Android fundamentals, Kotlin. No prior knowledge of JPG format required.
Possible mentors: @Nicolas_Raoul (past maintainer), @RitikaPahwa4444 (current maintainer)
Expected size of the project: 350 hours
Rating: Medium
Microtasks: Please read gsoc.md which guides you on how to choose an issue and perform a microtask.
Any other additional information for contributors: https://github.com/commons-app/apps-android-commons
Why are you proposing this project? Image editing features within the app will help the users to upload images directly from the app without worrying about people's privacy by blurring/cropping a few parts of the picture. Compared to using a third-party app, the transformations will be done the right way and without unncessary loss of information nor increase in file size.
What is the expected impact? Higher contribution rates from the app as these editing features will remove significant friction.

Event Timeline

Aklapper renamed this task from GSoC 2026: Implement lossless JPG transformations to GSoC 2026: Implement lossless JPG transformations in the Commons Android App.Jan 24 2026, 2:58 PM

Hi @RitikaPahwa4444 we discourage mentors from taking on more than one project, as it is difficult to provide sufficient support to multiple contributors. Do you have a plan with both co-mentors about how you will manage your workload? Thanks!

Hi @LGoto, I'm actively mentoring only this project. I authored the other task on Phabricator as I'm the current maintainer, but Sivaraam and Neel will be mentoring it.

@RitikaPahwa4444 apologies for the misunderstanding! Thank you for letting me know.

After discussion with the org admins and mentors, we’re pleased to share that early contributions are more than welcome for this project. There’s no need to wait until March 16 to start working on code or submitting your microtask patches; feel free to dive in whenever you’re ready.

We look forward to seeing your ideas and contributions. Happy coding!

Hi, I have started setting up the Commons Android app locally and exploring the image processing modules. I plan to begin with improving the lossless crop/rotate functionality as an initial contribution. Please let me know if there are any specific microtasks or areas you recommend starting with.

Hi everyone, Harsh here, I saw this project for GSoC '26, and with a history of making android apps with Kotlin and Jetpack Compose, I liked the idea of it. I am actually new here, It would be really if someone can tell what to do and where to start.
Thank you for reading this far,
Harsh V.

Hi all,

Thank you for your interest in contributing! To get started, please review the microtasks section in the ticket description to learn how to pick an issue. We collaborate mostly on GitHub, so if you find an issue you'd like to tackle, simply drop a comment asking to be assigned :)

Thanks!

Hi, thanks for sharing the details and documentation!

I’ve started setting up the Commons Android app locally and going through the gsoc.md guide. I’m currently exploring the image processing modules related to lossless transformations.

As a starting point, I plan to:

  • Understand the existing crop/rotate implementation
  • Identify where recompression might be happening
  • Try a small improvement or fix as a microtask

I’ll update here once I make some progress or if I need clarification on specific parts.

Looking forward to contributing!

Hi, I have set up the project and explored the current implementation of lossless transformations using LLJTran.

I understood how crop/rotate are implemented without recompression.

I would like to start contributing by working on selective blur functionality. Could you suggest a beginner-friendly microtask to start with?

Hi, I have added an initial placeholder for the selective blur feature.

I would appreciate any feedback or suggestions on the approach, especially regarding implementing block-level lossless blur.

Thanks!

@Mtiwari479 Microtasks: Please read gsoc.md which guides you on how to choose an issue and perform a microtask.

Hi, I am Manvi, a GSoC 2026 applicant interested in the “lossless JPG transformations” project.
I have started exploring the Commons Android app and related issues.

Could you please guide me on:

  1. Recommended microtasks to begin with
  2. Key areas of the codebase I should focus on

Thank you!

@Manvikesarwani09 Microtasks: Please read gsoc.md which guides you on how to choose an issue and perform a microtask. Any area is fine. :-)

Hi, I have submitted my proposal for 'Implement lossless JPG transformations in the Commons Android App' on the GSoC portal. I have included information on my experience with Kotlin, Android NDK, and my recent work on ZEGOCLOUD media integration. I look forward to discussing the technical implementation and micro-tasks with you.