Cracking the Code: My GSoC 2025 Story

Hello world! 👋
I'm Shubham Vishwakarma, and I’m incredibly thrilled to share that I’ve been selected for Google Summer of Code 2025, contributing to the amazing open-source initiative at the Scala Center. This blog marks a milestone in my journey - from drafting proposals and debugging code to finally being accepted for a project that blends my interests in Generative AI, Scala, and LLM models.

Whether you're an aspiring GSoC contributor or just curious about what it takes to get there, I hope this write-up offers a mix of motivation, clarity, and real-world insight.

🧩 So, What Is Google Summer of Code?

Google Summer of Code (GSoC) is a prestigious global, remote program sponsored by Google, aimed at introducing new contributors to the world of open source. Over a span of ~12 weeks, selected participants collaborate with open-source organizations, working on real-world projects ranging from feature development to bug fixes and research prototypes.

More than just coding, GSoC offers hands-on experience with essential open-source practices—managing issues, submitting pull requests, navigating code reviews, and engaging with vibrant developer communities.

Since launching in 2005, the program has supported over 19,000 contributors and partnered with 850+ organizations. Each year, contributors explore project ideas, connect with mentors, and submit detailed proposals. Those selected get the opportunity to spend their summer making meaningful contributions to open-source software.

🌱 Where My Open Source Journey Began

My first brush with the term "open source" came when I learned that Linux was an open-source operating system. That simple discovery sparked a deep curiosity—how could something so widely used be built by volunteers around the globe? That question marked the beginning of my open-source journey.

I dipped my toes in for the first time during GirlScript Summer of Code 2024, contributing to GGExtensions. It was my first real experience raising pull requests and understanding collaborative development. Contrary to its name, GSSoC is open to everyone, and it provided a welcoming platform to begin.

Later, I got the opportunity to contribute to Code for GovtTech (C4GT), a national-level open-source program aimed at building impactful solutions for India. I worked on a Student Learning Management System, which gave me hands-on experience with scalable systems meant for public use.

In GSoC 2024, I aimed high and applied to two exciting organizations—Zulip and Rocket.Chat. Unfortunately, I didn’t make the cut. But looking back, that phase was more of a lesson than a loss. It taught me the value of early engagement with mentors, aligning my proposals better with project goals, and refining my technical communication.

These experiences, along with a deeper understanding of open-source culture, laid a strong foundation for my successful GSoC 2025 journey.

🔍 How I Navigated GSoC 2025: From Curiosity to Clarity

Heading into GSoC 2025, I promised myself one thing: no guesswork this time. I wasn’t just looking to apply—I wanted to align. So, I went through every single organization listed in the GSoC orgs page. Yes, it was time-consuming. Yes, it was totally worth it.

I filtered through with a simple lens:

  • Does this project involve AI, ML, LLMs, or full-stack elements?

  • Can I genuinely contribute based on what I know - and want to grow in?

That approach led me to a handful of really interesting projects, but one stood out right away: llm4s by Scala Center (llm4s project ideas). The clarity in their documentation, the openness of the project scope, and the forward-thinking idea of LLM tooling in Scala? It clicked. Instantly.

🎯 Reaching Out, One Message at a Time

Once I had my eyes set on llm4s, I knew I couldn’t just submit a proposal and hope for the best. This time, I wanted to understand - the project, the people, the purpose. So I took a step that I had once overlooked: reaching out to the mentors.

I had already come across Kannupriya Kalra’s talks through Scala Days and Scala Center videos, and her clarity in communication had already impressed me. So connecting with her as a potential mentor felt both exciting and familiar.

When I finally reached out, I was met with warmth and incredible insight. Our conversations covered:

  • My curiosity around LLMs and Scala

  • An open discussion about project expectations and scope

  • Ideas on how I could meaningfully contribute to llm4s

These early conversations didn’t just make my proposal stronger—they helped me feel like a part of the community from day one. That connection gave my application a sense of direction and purpose that I hadn’t experienced before.

🛠️ Crafting and Submitting Proposals

Once I had shortlisted the projects that resonated most with my interests and skills, it was time for the most intense and rewarding phase—writing the proposals.

This year, I applied to three different organizations, each representing a distinct facet of my interests in AI, ML, and real-world problem-solving:
🔹 Scala Center – LLM4S: Tracing Support
Focused on adding tracing support to large language model tooling in Scala—perfectly blending my interest in LLMs and full-stack engineering.

🔹 University of Alaska – Wildfire Prediction Using Satellite Imagery
A real-world data science challenge applying ML to environmental problems.

🔹 DeepChem – SMILES ⇄ IUPAC Converter
A fascinating NLP-meets-chemistry project aimed at improving chemical representation and accessibility.

Each proposal was refined multiple times—with special thanks to Kannupriya Kalra, my mentor at Scala Center, whose feedback helped polish my Scala proposal to its best version.

✅ And finally, I was selected by Scala Center for the LLM4S project!
The joy of seeing that acceptance email validated every late night, every draft, and every ounce of effort I put into the process.

🔭 Looking Ahead: Gearing Up for the Journey

Right now, I’m in the community bonding phase—an exciting window to lay the groundwork before the real coding begins.

Here’s what I’m focusing on during this crucial period:

🔍 Diving deep into the current architecture of the LLM4S project to fully grasp how things are wired under the hood.

🧩 Aligning my proposed deliverables with the actual codebase, ensuring that each milestone is realistic and adds genuine value.

🤝 Engaging with fellow contributors and mentors, building meaningful connections within the open-source ecosystem. Feel free to join the discussion over at the LLM4S Discord! You can reach out to me there – my handle is @oxygen4076.

📚 Leveling up my Scala skills, exploring advanced features and design patterns to make the most of this opportunity.

This is just the beginning. In my upcoming posts, I’ll be sharing detailed updates on my progress during the bonding period and beyond :)

💬 Got Questions?

Connect with me on LinkedIn or drop a message on GitHub. Happy to help any fellow aspirants!

If you found the project or blog helpful, do consider starring the LLM4S repository to show your support!

0
Subscribe to my newsletter

Read articles from Shubham Vishwakarma directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Shubham Vishwakarma
Shubham Vishwakarma