Skip to content

GSoC Proposal Template

Bhanu Bhandari edited this page Feb 2, 2019 · 2 revisions

We understand that you might have a number of questions while drafting your proposal, but this is a very important step in the process. It will not only help us know more about you and find a good fit but will force you think to think about the project idea in great detail. By working on this proposal, you will already be taking your first steps towards a successful summer with Cynthesize. We recommend that you start early and iterate on the application by getting feedback from the mentors. Please remember that you must submit your application to Google's GSOC portal. It is not possible to accept you if you do not do this. Please make sure your application follows the template.


Basic Details

  • Full Name
  • Location & Time Zone
  • Education
  • Email & Github Username
  • Skype Username
  • WWW / Blog
  • Resume
  • Statement of Motivation
  • What is your motivation for participating in Google Summer of Code?
  • Why did you choose Cynthesize
  • Why this project idea
  • What are your expectations from us during and after successful completion of the program
  • What are you hoping to learn

Experiences

  • What kind of projects have you worked in the past? What technologies did you use?
  • What is your experience with Typescript and GraphQL?
  • Cynthesize Contributions
  • If you have contributed to projects of Cynthesize, please provide the link of the pull requests with one line description of the feature you added.

Other open source contributions

Have you ever contributed to an open source project, if so, to which project(s)?

Project Details.

  • Very detailed description of the project idea.
  • Use flowcharts, diagrams and mocks as much as possible
  • Think about various tests that you will have to write
  • If your project involves writing APIs, what will those APIs look like
  • Discuss your assumptions
  • Mention your deliverables
  • Break down the bigger picture into smaller tasks and explain in detail each component of the pipeline. In planning your project, it is good to note where along the way you could formulate a pull request. These would be points where you can have a self contained and well documented and tested piece of functionality. Doing this at several points during the summer helps to keep branch merges reasonable and code reviews manageable. A big code dump at the end of the summer will likely be hard to review and merge before the project deadline.
  • If you have found existing work that we can build on top of - mention those.
  • If you plan to use a specific algorithm / layer / model / library / framework, mention them here. Include technologies you are planning to use and your familiarity with them.
  • We can't stress enough that we want specific details! We love details! Think of this section as a specifications document that you would give to a team of software engineers and designers to build the feature.
  • What will the newsfeed show. Some high level ideas on what will it contain. Some rough mock ups of what it will look like.
  • Then go into specifics of what will you need to store in the database? What is already present in the database. What other fields to store. What will the APIs look like? What will be the APIs, etc? What will the workflow look like? When the user logs in, how will the data get fetched. May be identify bottlenecks such as a very convoluted database query to fetch a relatively simple information.

Hopefully this gives you a sense of what we are looking for. This is where feedback will also be important. If you aren't sure, then ask for feedback from mentors. They will point out missing details, inconsistencies etc.

Time

How much time can you spend weekly on the project? Are you doing some other internship along with GSOC? What happens when your college reopens after the summer break?