My experience as a GSoC 2021 student for CaMicroscope
Tags: googlesummerofcode, gsoc, opensource, camicroscope
Published: 2021-07-20 21:41:04

_Hello everyone!_
&nbsp;

This post is about my experience as a GSoC 2021 student until now, my story on how I got selected, and some tips and suggestions (, which worked for me) on how to get a spot. 

The program is halfway done and the first evaluations are going on as I'm writing this post, so my project is not entirely complete nor is my experience, but this feels like a good time to reflect back and write it down :D

&nbsp;

### What is GSoC

Google Summer of Code (GSoC) is a program hosted by Google for  students at all levels (above 18 years) pursuing courses in various disciplines to contribute to open source projects over their summer break. It's hosted annually and every year it gets a larger response from students and participating organization, thus also increasing the quality of overall experience and it's competitiveness. 

GSoC 2021 brought some changes to it's structure because of the Covid-19 pandemic. It has a shorter period of 10 weeks (as compared to previous versions having 12 weeks) and shorter stipulated work hours (~18 hours). 

Although, this hasn't taken away anything in terms of learning and opportunities from it.

More about it on [Google Summer of Code 2021](https://summerofcode.withgoogle.com)

 
&nbsp;

### The application process and my experience with it

The application process is the most challenging part of the process as you are up with thousands of other students who are also looking to land a spot. 

Every student has to submit a proposal to their choice of organizations, and each student can submit a maximum of 3 proposals. The GSoC website has pretty good documentation on how to apply as well as organizations provide their requirements too, so you shouldn't have much trouble in organising how to write your proposal.

&nbsp;

However, here are some things that I've learnt every time I applied to the program:

- **Selecting an organization**
Even before the application process begins, it's important that you analyze your preferences. Make sure to read about organizations and the work they do in detail. And select an organization that is of your liking since 10 weeks is going to be a long time and if you select an organization which doesn't click with you, it's not going to be worth the efforts.

&nbsp;

- **Writing a detailed proposal**
The proposal is your most important aspect of your application. Make sure it is as detailed as possible with you explaining every point you make in it, as well as elaborating your plans with supporting articles or research. It's okay if you can't submit all 3 proposals, but make sure they are done well. Prefer quality over quantity.

<br></br>

- **Contributions to the organizations**
The second most important part is establishing contact with the organization and contributing to it. Don't be afraid to introduce yourself, interact, ask questions, and discuss ideas with the people from the organization. They usually have a preferred communication channel (make sure to join it!) and are very proactive towards students interacting with them during this period. Discussing with mentors helps you in understanding each other's needs and ideas and this places you in a better position to write a proposal. Also, having contributions to the organizations tells the mentors that you have a prior understanding of the codebase and a solid foundation of programming.

- **Submitting the draft**
GSoC allows you to submit a draft proposal and get it reviewed from the mentors before the deadline. Remember to get your proposal reviewed by mentors as this provides further room for discussions. Be the early bird and don't leave things for the very end.

&nbsp;

I had applied to GSoC in 2018, 2019, 2020; each time reaching a bit closer to the goal until I finally got accepted in 2021. So it's been a long journey for me, and I'd like to share some takeaways from it

- Being selected is great, but you need not stop contributing to open source if not selected.
- Take the learnings from every experience and move forward.
- If you don't get selected, it means you still have a long way to go and can apply again next year.
- Finally, take it as a challenge and be gracious in conduct irrespective of the outcome :D


&nbsp;

### CaMicroscope and the project I'm working on

CaMicroscope is a digital pathology platform with a major focus on cancer pathology WSI (Whole Slide Imaging) and provides the community with an open source solution that can visualize whole slide pathology images, create and display both human and machine generated annotations, and run analysis algorithms on the images. It is being used by major medical organizations across the United State of America as well as globally.

&nbsp;

CaMicroscope allows users to:
- View pathology slides
- Supports batch upload
- Zoom and scaling support
- Heatmaps, annotations, labels support
- Users can run Machine Learning models on slides to detect areas of cancer
- Slide capture
- Segmentation
- Side by side slides viewer

... and many more

Camicroscope Home Screen
![Home Screen CaMicroscope](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oup6qdfyxmml7lq9trxj.png)

CaMicroscope Slide Viewer
![Slide Viewer CaMicroscope](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k3401oizaz805rq2glvy.png)


#### What I'm working on

My project for the GSoC program is to implement a Real time Collaboration system and integrate into the CaMicroscope environment. This system should be able to let users work together on slides in real time, as well as providing adequate tools for communication between them.

At the time of publishing this post, we've made a good progress and have achieved more than half of the goals that we've set for the program!

&nbsp;

### My experience with GSoC

It's been quite an exciting journey being a part of GSoC and contributing to CaMicroscope. I have been able to interact and talk with the people who built this software, be able to understand their stories and the problem they were trying to solve, and also learn from them. Also, I was introduced to the alumni group of GSoC which has a lot (, and I mean a looooot) of developers ready to guide and help you out.

The entire experience has been very valuable according to me, as not only does it provide learning and opportunities to interact with developers over the world and work on problems together, but it also provides a platform for you to speak up and support other developers in your locality. This triggers a chain reaction of helping other developers thus, uplifting the community as a whole.


&nbsp;

I'll be writing a part two of this blog once the program ends which would be focused on the project and elaborating more on it. 

&nbsp;

---

Thank you for being with me till the end of this post, any questions and suggestions are welcome, and can be put down in the comments section, I'll be making it a point to check them and respond to them atleast at least once a week.

&nbsp;

_Peace and stay safe ✌️_

&nbsp;
You can follow me on my Dev.to @vedant1202 
and on my [Github@Vedant1202](https://github.com/Vedant1202)

&nbsp;

---

#### Credits

- Cover Image: Photo by <a href="https://unsplash.com/@michaeldolejs?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Michael Dolejš</a> on <a href="https://unsplash.com/s/photos/computer-desk?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>