How I got my GSoC proposal accepted

(Acceptance rate ~8%)

I learned about the GSoC about a week and a half before applications closed. I felt late and I was, considering all those who were already in contact with mentors for months. But as soon as I realised that I really wanted to join, I dedicated all my following days to it until deadline. So you are never too late!

1) Finding the Right Project

Spoiler alert: it was oVerWHelmiNg.

There were so many organizations and projects to choose from. I spent the first 2-3 days just browsing through the projects and their descriptions and trying to contact mentors. In the end, I went for the 2 organizations I felt closest to: the Scala Center and the CERN-HSF, which are both located in Switzerland. But who knows where I would have applied if I had more time? (although I'm reaaaally grateful I got to join Scala centerđź’Ť).

The mentors were responsive and my decision was based mostly on this. Mentors who take their time with you before you even apply are keepers✨ and it definitely sets the tone for the rest. If you're a very independent developer, maybe you won't prioritise this, but it was a very important factor for me as my main motivation for GSoC is to grow as a dev and learn from more experienced ones.

Tips:

  • The sooner you start browsing projects, the more choice you have
  • Focus on great mentors, not great organizations
  • Join Discord servers of projects early and take part in discussions

2) Diving into the code

Once contact with mentors is established, all that's left to do is to contribute! You can find links to PR's I did in my proposal. Fork the project and start studying it. Even very simple fixes are worth it. You can also check for 'issues' to solve in the repo. Solve as many of these as you can before the deadline.

Tips:

  • Follow the git conventions
  • Ask mentors for feedback on your PR's and iterate
  • You can raise PR's even for very small fixes :)

3) Writing the proposal

Might be even harder than doing PR's. Following a template saves a lot of time. You can refer to mine here. My mentor, Kannupriya Kalra, also shares a few tips here.
The hardest part is to define the project clearly and build a clear path to success. Always ask for feedback from mentors and iterate on their suggestions.

Tips:

  • Clearly define your project goals
  • Break down the work into manageable tasks
  • Create a realistic timeline
  • Demonstrate your understanding of the project

Some things to keep in mind

From what I've seen, your proposal is first reviewed by the organization and by your mentors. So they are the ones who rate it and it's only after that the Google team reviews the proposals and accepts, or rejects them. As your mentors serve as the first checkpoint to your selection, a good strategy is to apply to more than 1 project within their organisation. Personally, I applied to 2 projects from the Scala center and one project from another org.

Choosing a niche organization or project that particularly relates to you can help your chances of being selected. For me, already knowing how to code in Scala, which can be considered (mid) niche, definitely helped.

If you are joining late, don't hesitate to clearly ask mentors to redirect you to projects where there's less traffic, as choosing a project where there isn't a lot of competition can help you get selected. The mentor I contacted at the CERN-HSF nicely redirected me to another project. Some projects just have less visibility, and it does not mean they are less interesting!

The traffic on a project is usually visible when you join the Discord server of the project.

AND VOILA!

Overall, I really recommend applying to the Google Summer of Code to any Computer Science student. It's a paid program managed by the Google Open Source team and an ideal way to spend your summer gaining real‑world experience.
I am also super grateful for my mentors Kannupriya Kalra and Rory Graves that helped me navigate through the application phase.

Hope this helped :) Don't hesitate to reach out if you have any questions!