GSoC 2025: Join the Processing Foundation as a Summer of Code Contributor!

Hey @kit
I am working on Friendly Sketch Embedder for p5.js, and I have come up with some design ideas and features that I believe will be useful for both beginners as well as experienced users. Is it okay to share them here?

I have a few questions regarding the tech stack:

As mentioned in the project ideas, we need to be familiar with JavaScript. Should we plan our code strictly according to JavaScript, or can we use any frameworks like React, Vue, etc.?

Since we need to provide interactive examples, would a tool like CodeMirror be suitable for this purpose?

Regarding the project scope, do we need to focus only on the frontend, or will there be a backend component as well? For instance, some embedder examples may include images or sounds, which could require backend handling.

Looking forward to your guidance!

1 Like

@kit thank you for providing answers to my question.

  • documentation update process currently works as**:-
    The primary documentation for p5.js functions *(e.g., draw(), *
    background()) exists as inline comments within the core library code in the p5.js repo and These comments get extracted to generate the English documentation. The p5.js website repository maintains the reference documentation in multiple languages. English documentation updates automatically when the core library is updated. Translations, however, do not automatically update when the English documentation changes. Translations exist in JSON files inside the p5.js-website repo? Correct me if I am wrong

  • when contributors wants to translate into new language
    If the language already does not exists should we automatically create translation issue and assign to the asked contributor or we should generate auto-message saying that this language support does not exist. we will notify you if in future we want to translate documentation in this language?

1 Like

Hi @kit,

I hope you’re well.

I wanted to ask, is there a minimum or maximum number of pages recommended for the GSoC proposal?

Just want to make sure I stay within the guidelines.

1 Like

I found some testing frameworks that might be useful for our Processing-based project, covering unit tests, snapshot comparison, pixel matching, and UI testing. Do we have any existing guidelines or preferences for integrating these? Specifically, how would you recommend incorporating frameworks like JUnit 5 for unit testing and AShot or Applitools for image-based validation in our current setup?

1 Like

Hi @kit , I had a few quick questions

  1. Does this apply to processing4 too, for applying to the Visual Tests project in processing4, should I specifically mention just two PRs in my proposal, or is it fine to list all my contributions across the Processing Foundation?:
    ☀️ Contribution Process for Google Summer of Code 2025 ☀️ · Issue #990 · processing/processing4 · GitHub

  2. And as this is a newly created issue so, for my existing approved PRs, would you recommend adding a note mentioning my interest in GSoC, or is that only necessary for new PRs?

  3. Lastly, can my proposal be more than 6 pages, my current draft of the proposal is around 12 pages, should I shorten it?

1 Like

Hello everyone! Some of the questions actually can apply to all the projects, so I’m answering them in general :sunflower:

@himanshukholiya asks: " I have come up with some design ideas and features … Is it okay to share them here?"

If you share your ideas here, I’m happy to comment on them in this public forum! If you’d like more individual feedback, please tune in on March 24th and I will post instructions here (and on the wiki) for submitting your proposal for review my org admin (me) + mentors.

@himanshukholiya also asks: “As mentioned in the project ideas, we need to be familiar with JavaScript . Should we plan our code strictly according to JavaScript , or can we use any frameworks like React, Vue, etc .? … Since we need to provide interactive examples, would a tool like CodeMirror be suitable for this purpose?”

You can propose any tools (frameworks etc) you think best suits your project. The proposal should provide reasoning (pros and cons, for example) - how suitable is the tool for the task? For example, if you’re more familiar with tool/framework X, that is also a pro (because it makes your timeline more realistic); or if tool Y is very technically robust but is really hard to use and understand, that is a con (because it could make your work harder to share and maintain with the wider community).

@Rishab87 asks “should I specifically mention just two PRs in my proposal, or is it fine to list all my contributions across the Processing Foundation? And as this is a newly created issue so, for my existing approved PRs, would you recommend adding a note mentioning my interest in GSoC, or is that only necessary for new PRs?”

Processing and p5.js recognize all kinds of contribution, so please feel free to list all your PRs across all processing org repos, and any other forms of contribution (blog posts, events, etc).

No need to amend your previous PRs, as indeed this is a new policy put in place based on the activity we’re seeing now and anticipating in the next few weeks!

@Nwakaego asks: “is there a minimum or maximum number of pages recommended for the GSoC proposal?”

No, up to you; around 3-6 pages is expected but it depends on your communication style and project. Do what suits you best and presents your idea in a way that you’re happy with.

@Rishab87 asks: “Lastly, can my proposal be more than 6 pages, my current draft of the proposal is around 12 pages, should I shorten it?”

It can be longer, but please check if 12 pages are needed. For example, we’d rather see bullet point lists (or diagrams/sketches!) of your reasoning than something like an AI-generated block of text based on the bullet point list; that is why the structure is totally open.

A longer proposal will take longer to review so if you want to be able to get quicker feedback before final submission, it may be helpful to keep it a bit shorter, too.

Questions about the Friendly Sketch Embedder for p5.js

@himanshukholiya also asks:

Regarding the project scope, do we need to focus only on the frontend, or will there be a backend component as well? For instance, some embedder examples may include images or sounds, which could require backend handling.

You can decide either technical solutions (a backend) or non-technical solutions (a guide on how people can set up assets in their own environment) for this or any other problem. It depends on what you want to focus on in your vision of this project!

Question about Friendly Translation Tasks

@Ruchit asks:

  • If the language already does not exists should we automatically create translation issue and assign to the asked contributor or we should generate auto-message saying that this language support does not exist. we will notify you if in future we want to translate documentation in this language?

These are both very cool ideas! I suggest analyzing this based on implementation cost and maintenance cost: the first of these can lead to many issues that are likely to be ignored for a long time; but the second may require additional dev tooling to execute. Explore in depth the different costs involved and recommend the one you think is best in the proposal.

(You are correct on your first point!)

Question about Visual Testing in Processing

@Sushant_Bansal asks

Specifically, how would you recommend incorporating frameworks like JUnit 5 for unit testing and AShot or Applitools for image-based validation in our current setup?

I would suggest checking out my above replies about pros/cons of tools and analyzing implementation and maintenance costs. A proposal can analyze these things and propose a specific solution based on this analysis.

Hope this is helpful, and I’ll be back again on March 24th to answer your questions and provide the instructions for getting individual feedback!

Best,
Kit

5 Likes

Hello @kit, thanks for answering the questions.

I have come up with some more questions as I was researching the Friendly Sketch Embedder for p5.js project and pre-existing embedders.

" Expected outcomes: A possible technical outcome could be a standalone interactive webpage with user-friendly settings that helps visitors to generate sketch embed code depending on their needs."

I understand that we need to work on a standalone interactive webpage to generate sketch embed code, but what is the need for this when we can already embed code using the p5.js editor, which provides an iframe that we can directly embed into our code? I also understand that instead of relying on third-party tools like the p5.js Widget by Toolness, CodePen, etc., we can build our own embedder.

I can think of some issues that might be resolved using the Sketch Embedder, but can you help me understand a broader perspective on what the ‘Processing Foundation’ is thinking and trying to resolve and achieve?

Will this Sketch Embedder possibly aims to integrate into p5.js web editor that will generate customized embed code.

1 Like

@himanshukholiya I am working on the same idea too, till now according to my understanding, there are various tools and methods that we can use for embedding p5.js sketch on our website, but each method has its own pain point, it may be suitable for one use case while it may create problem for another one, so we can try to think of making a standalone tool, which suits the maximum use cases,
@kit please correct me if i am wrong here

1 Like

Hello @kit , I am Vaivaswat, currently pursuing BTech from India. I have been contributing to the p5 repository for a while now. I have directly worked on the current visual testing method currently being used in p5. Hence, I am more interested in the visual testing project for Processing.

I want to ask weather the selection of a candidate is more based on the proposal or on the contributions made in the organization. A lot of my answers are already answered by you in the earlier messages. Thanks a lot.

Also do you refer some sort of template for proposal and one last question, does it matter that on what time I submit my proposal (silly one ik) (eg. between 24th March to 8th April works I’m assuming)

1 Like

Hi @kit, thanks for providing answer to my question.
In my proposal I am proposing to implement GitHub Actions to automatically create GitHub issues whenever there are changes in the English documentation that require updates to translations.
The idea is to compare the English reference folder with the corresponding translation folders (hi, es, ko, zh-hans) to identify any missing or outdated translations. However, I wanted to confirm if the scope of this comparison should also include other folders, such as:
1 tutorials folder: src/content/tutorials
2 contribution docs: src/content/contribution docs
3 examples folder: src/content/examle

These folders seem to be updated frequently as well, and ensuring their translations remain current is equally important.
Please let me know if this proposal should cover only the reference folder or include the other folders mentioned above.

1 Like

@kit been following this thread since the start and have clarified a lot of doubts. I saw the comment regarding mentioning the contributions to Processing in the proposal.
How much important is that since I expect majority of my time from here will go into formally writing the idea.
Getting an issue assigned and following up during pr could take time, and most of good first ones are taken since long.
I have explored the related codebases and am on the way to a decent proposal.

1 Like

Hi community, I have created this Medium’s Blog post,
Please have a look. Embed Your p5.js Sketches. If you’ve ever made something fun in… | by TejasNangru | Mar, 2025 | Medium

1 Like

Good morning, all! Welcome @Vaivaswat and @abdulsamad.

We’re entering the applications phase of GSoC, so, finally, here’s the feedback instructions that you’ve been waiting for:

:blossom: How to get individual feedback?

Soon, the GSoC website will open the application portal (it’s not quite opened yet, but when it opens I’ll edit this post to show what you’re supposed to see):

To get feedback before final submission, please submit a feedback request between March 24 and April 1. You can make up to 2 requests, and you will receive an answer in a few days (latest April 4th, so with plenty of time for the April 8th deadline!)

I’ll be back on this Discourse thread more frequently (every day or two) during these 2 weeks, so this thread is still the fastest way to get your questions answered - but the above form is an opportunity to get some input on your specific application from mentors as well.

@Vaivaswat also asked: “does it matter that on what time I submit my proposal”

It’s up to you! If your proposal is completed sooner, you’re welcome to submit a feedback request.

Now, back to the Q&A :slight_smile:

:blossom: Question about proposal preparations & contributions

@Vaivaswat asks:

I want to ask weather the selection of a candidate is more based on the proposal or on the contributions made in the organization. … do you refer some sort of template for proposal

@abdulsamad also asks:

I saw the comment regarding mentioning the contributions to Processing in the proposal. How much important is that since I expect majority of my time from here will go into formally writing the idea. Getting an issue assigned and following up during pr could take time, and most of good first ones are taken since long.

Selection will be taking the application as a whole. The proposal matters a lot, and a good proposal is one that showcases your idea, and reflects that you’ve done some research (for example, understanding some relevant GitHub issues or commits to find out what specific decisions have been made in the past and why, and what are the concrete challenges of implementing your idea in specific.)

In addition to the proposal, we will consider all forms of contribution, as PF follows the all-contributors spec for both p5.js and Processing 4. The means that you can mention as contribution not only PRs, but also blog posts, events you might have hosted in the past, etc. Contribution also includes constructive participation in our online community spaces - that means GitHub issues as well as here, in this thread! Jumping in and helping to answer newcomers’ questions more quickly than I get to it is :100: a contribution in the question category!

In the application, the purpose of contribution, like the purpose of research, is to show that you’ve gotten a little familiar with the technologies you’re proposing to work with and that you’re comfortable with the code of conduct and contributor guidelines that applies to the project you’re proposing about.

Both these considerations (technical understanding in the scope of your project and community values and process alignment) are very important, and both are necessary. Neither requires making PRs! You’re welcome to be creative in how you’re approaching showing each of these in the proposal.

:blossom: Question about the Friendly Sketch Embedder for p5.js

@himanshukholiya asks about the goals of this project; @TejasNangru’s response is correct: that while there are methods to embed, they have tradeoffs, and it’s not streamlined. The core of the project is about coming up with a streamlined tool that helps p5.js users use exactly the right tool for their need.

In the original idea outline, note the part I am bolding:

Anyone can make a sketch with p5.js - as interactive art, as teaching material, as data visualization, as game, as diary, and as anything else they can imagine! A p5.js sketch is a canvas element that can be included in any website, and existing tutorials help to do this. How can embedding a sketch be streamlined, and support all the different kinds of use-cases and customizations? For example, a teacher may want to include code snippets; an artist may want to arrange multiple sketches next to one another.

If you use an iframe, you’re limited in being able to control sketches or have them potentially interact in some interesting way with each other or the site. If you don’t use an iframe, you can’t update your sketch from the Editor directly. If you use script tags and attach to a div, you need to use instance mode which can be a barrier to entry for beginners. If you’re an educator, then including the code and making it editable is also desired, and that’s different technically as well. Various examples have been mentioned on this thread before, too, and these may be helpful to check out!

:blossom: Question about Translation Tasks

@Ruchit asks: “These folders seem to be updated frequently as well, and ensuring their translations remain current is equally important. Please let me know if this proposal should cover only the reference folder or include the other folders mentioned above.”

Great question, please define your scope in the proposal based on what you think is possible in the timeframe with your approach. Everything does need to be translated: reference, other content on the website, maybe even all the contributor doc .md files in the p5.js repository. However, as you noticed, these are following a different process of update, so they might need different technical solutions. A good proposal should talk through which cases it is able to cover, and if it’s not all cases, then why. A proposal that is more realistic is better than one that promises bigger results!

Wishing everyone a nice start to the week,
Best,
Kit

6 Likes

@kit Hi, as the ideal length for the proposal is 3-6 pages, so for about that length, i am adding these 5 headings,

  • About Me
  • Why Me
  • Project idea( existing tools/methods)
  • Proposed Solution(with the technical outline)
  • Project Timeline
    Now I wanna know if this structures works fine, it can be done in 7 pages,
    or if i also have to add other headings like “how will i plan summer”, “the laptop configuration”, “my post gsoc engagements” or other basic things like "technical explanation of my previous projects "
    Writing them can increase the length of proposal by some 2-3 pages

So which one is fine?

And for the existing tools/methods, I researched and got 3 methods and 4 tools that i have added to the proposal draft, is this total number 7 enough for preparing the context for my heading 3: Project Idea

1 Like

Is the title of the proposal supposed to be the same as the one which was provided as a project idea, or can it be changed to something that better reflects the specific aspect of the proposal?

1 Like

Hey @kit following this thread has been really helpful! I’m interested in p5.js Sketch Embedder: A User-Friendly Integration Tool project, but I’m unsure what project size to select for 90 hours. Since it’s my first time, I’d appreciate any guidance on whether it falls under small or medium. Thanks!

1 Like

@Abhigyan According to official google data, 90h project falls in small and 175h in medium category, so ig it must be small

1 Like

Hi everyone! I’m Shivam Kumar, a final-year BTech student at IIIT Nagpur, passionate about backend development and full-stack projects. I have experience working with Firebase, Node.js, Express.js, MongoDB, and have built scalable APIs for eCommerce platforms. I have also contributed to Web3 and open-source projects. I’m excited about GSoC 2025 and looking forward to contributing to your organization.

1 Like

Hello everyone! and welcome @shivam5643 and @Abhigyan .

Can’t make post or comment anymore on Discourse? Here’s what to do

First of all, it’s been brought to my attention that sometimes a user may be silenced for typing too fast. One of the Processing admins, including myself, will un-silence you if it’s obviously not a bot account, but it might take a moment; if you have time-sensitive questions, you’re welcome to use the feedback request form and give the explanation for the last question that you’re having technical issues with Discourse. I’ll still answer questions like that publicly and will lift your Discourse block.

Formatting proposal

@TejasNangru asks:

Now I wanna know if this structures works fine, it can be done in 7 pages,
or if i also have to add other headings like “how will i plan summer”, “the laptop configuration”, “my post gsoc engagements” or other basic things like "technical explanation of my previous projects " Writing them can increase the length of proposal by some 2-3 pages

This is a great question. The outline you shared looks great.

I’d suggest keeping references to previous work short and as links where possible in your “About Me / Why Me” sections. Especially if you have an online profile, portfolio, or website, linking to specific projects or pages is helpful. The “About Me / Why Me” sections could address things like your interests (technical and community) and your experience (technical and community).

For this proposal (as for almost any cover letter that you might write in the future) the point is not to re-create the same level of detail as a resume. It’s not about listing every past project, and it’s not about project-specific detail for past work; a portfolio that you can link to is a better medium for this. It’s more helpful to tell the story of how the different projects connect and explain how whatever you learned in those projects will come up in this one. You do not have to create a portfolio! Feel free to link to one if you have it.

To anyone currently putting in energy into making a very detailed list of past work: please feel free to use that energy to make a public portfolio that can help you in future applications, too :slight_smile:

Back to your question: “how I will plan the summer” probably belongs in or overlaps with “Project Timeline?”

And re: “Laptop Configuration” - I think what’s important is that in the “Proposed Solution” with technical outline, you specify your technical requirements and working environment. E.g., if you have a windows machine that’s really useful for the mentor(s) to know.

Your laptop config does not affect selection, it just helps us make sure that each project has a mentor knowledgeable about the environment. Google recommends that each project have 1 primary mentor, which will be based on the project; and at least one supporting/secondary mentor. So the secondary/supporting mentor can be more flexible, and we will do this matching on a case-by-case basis.

Lastly, @TejasNangru asks:

And for the existing tools/methods, I researched and got 3 methods and 4 tools that i have added to the proposal draft, is this total number 7 enough for preparing the context for my heading 3: Project Idea

That sounds really thorough, great work. Is it 7 methods/tools that are all integrated together, or is it a comparison to pick 1? If they are all supposed to be integrated together, please make a brief note of any alternative tools that you decided not to use, if they exist.

For those reading: it’s up to you to make the case for your solution. Considering multiple options helps make a clear argument. There are not always too many different tools to consider, you can also consider two alternatives and compare/contrast them in more detail. The most tools/methods you bring up that have to work together, the more helpful it is to draw some kind of diagram. In any case, the number of tools is less important than the creativity of your solution and the clarity of your technical reasoning why this solution is the one you want to do.

If you are ever in a technical interview and you’re asked to design a technical solution to a problem and explain it - approaching that question in the above way can be a very effective technique. Getting really good at understanding and explaining technical tradeoffs is part of what helps you grow from a junior/mid-level software engineer to a senior one. Of course, GSoC is a mentorship program, so we do not expect senior-level proposals before it even kicks off - but I sincerely hope that the process of writing the proposal can already be something that helps you learn/practice this really important skill! Please do not hesitate to keep asking for feedback.

@dipamsen asks: “Is the title of the proposal supposed to be the same as the one which was provided as a project idea, or can it be changed to something that better reflects the specific aspect of the proposal?”

It’s totally up to you! If you have an inspired title, please use that.

Please make it clear, however, which project idea it’s related to, so we can do efficient review with the right mentor. So it can be a subtitle or a note in the introduction.

@Abhigyan asked about project size; I confirm that @TejasNangru’s answer was correct, thanks for jumping in again!

Wishing everyone a productive time writing your proposals!

I’ll be back in a day or two,
Best,
Kit

5 Likes

Thanks @kit for the reply!

1 Like