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

Hi @kit

I am working on a proposal for Friendly Sketch Embedder and wanted to clarify something. The project description mentions familiarity with JavaScript but doesn’t specify whether using a framework like React or Vue is recommended or discouraged.

Would using a framework be acceptable if it improves usability, or should the solution remain independent and work without relying on a specific framework (e.g., vanilla JavaScript or Web Components)?

I would love to hear your thoughts on the best approach.

Thank you.

1 Like

Hi everyone!

I’m Aranya Dutta, a 2nd-year Computer Science student and a passionate programmer. While preparing for GSoC 2025, I rediscovered something amazing—Processing was actually where my programming journey began! Back in 2018, I learned Java by watching Sir Daniel Shiffman’s videos and experimenting with creative coding. The Coding Train made it so much fun! Revisiting Processing now feels incredibly nostalgic, like reconnecting with an old friend. :grinning_face_with_smiling_eyes:

Now, as a college student, I really want to give back to the Processing community by contributing to GSoC 2025. I’m particularly interested in the “Bring Visual Tests to Processing” project because it would help improve the developer experience by adding automated snapshot testing. I’ve started exploring Processing4 and researching how p5.js handles visual regression tests.

While there’s still a lot to learn, I’m fully committed to making meaningful contributions. I’d love to get guidance on:

  • Where to start exploring Processing4’s current testing system (if any exists).
  • How I can best prepare to contribute before the application period starts.
  • Any small issues I could work on to get familiar with the codebase.

Also, a huge thank you to @Kit—I’ve been reading through previous discussions, and your responses to various questions have been incredibly helpful. They’ve already cleared up some of my doubts!

I’m really excited to learn and collaborate with you all. Looking forward to your advice! :blush:

1 Like

:blossom: Thread looking a little too long to skim? We’re keeping the Frequently Asked Questions (FAQs) resource up-to-date with questions people have been asking, so you can start there and add your questions if you still have them! :blossom:

Hello again, and welcome to all the newcomers! Here’s another round of answers that I hope can be helpful. As these are getting more and more detailed, I’ll start adding them to our GSoC page too (so: thanks everyone for asking questions and improving documentation for everyone through that!)

:blossom: Formatting Your Proposal & Getting Feedback

(If you’re just arriving to this thread - please scroll up and read the previous comments on “Preparing your proposal,” as those may be helpful!)

@Mamatha1718 asks:

  1. We have to download the processing foundation BERKMAN KLEIN CENTER Praposal Template OR follow the structure like contact information, about you. If we have to download, how to download the template.

The page I shared above just gives some ideas of content you can include; you can include any of that information that you think is helpful. There is no set template. Please use the format and style that best suits you to describe a project proposal. A proposal should be around 3-6 pages, but it might be longer or shorter depending on the content.

@Rajas_3 also asked about the template:

I have a question regarding the proposal template—would it be okay to make some tweaks to it? Specifically, I am considering adding a section about my past contributions to the community. Would that be acceptable?

Please feel free to format the proposal as best suits your project! One thing that comes to mind is that GSoC eligibility requirements note that each participant should be “e a student or a beginner to open source software development.” So if that is still applicable, please don’t hesitate to apply!

@Mamatha1718 also asks:

After writing the proposal asking the review from mentor where we ask review in email, discord or in this discussion.

The time to submit proposals will be March 24 - April 8. Just before then, I’ll post here how to send in your draft to us individual feedback with the relevant mentors.

That way, if you have a proposal ready in the next couple of weeks, you can definitely get a one round of feedback from the mentors before submitting in to GSoC directly.

@Rishab87 also asks: " I just wanted to ask from when should one focus on proposal and how can I get it reviewed?"

You’re welcome to ask questions (also quite detailed ones, as you see above) here until March 24th, and I’ll do my best to answer them. I am sure many questions also apply to others, so that’s why i’m taking this grouped Q&A approach to answering them. Then, if you have a draft ready by March 24th, you can have an opportunity to get feedback before final submission.

@rocky4446 asks: “Can you provide the discord link or where can i find the mentors ?”

Welcome! This is the main place to ask questions. To get feedback from the mentors, see my answers above. For proposals that are selected for participation, when the program starts in May, you can expect a lot more support from the mentors, but for now I hope my Q&As here can be helpful.

:blossom: Questions on technical challenges

Sorry to hear you’re still stuck, @Sushant_Bansal! It’s not quite clear to me where exactly you’re getting stuck - which particular step in the installation guide you’re struggling with - did you do the steps 4 and 5 that have specific version specifications? What happened?

(Part 2 below - that one is all about questions on specific project ideas!)

2 Likes

(Part 2 :blossom: )

:blossom: Questions about the project idea: Friendly p5.js Reference Translation Tasks

@Ruchit asks: “Could you please provide more details on how I can get started”

Good question! Right now there are no automations around translation. If you check out this current issue about translating the Code of Conduct, you can get a sense for the current process, and maybe get some ideas of what might be helpful. Additionally to creating new translations is maintaining translations; such as the reference.

Proposals about translations should try to answer the question: How can friendlier developer tools - such as GitHub automations - could help contributors work on translating documentation? This project idea is one that we expect to be medium/hard in difficulty, and that the technical solution is something we are very open to. The current system first generates part of the website (the reference) from the core library code (documentation.js); then the .mdx files in English are built from that; then each language translation is manually added. Thus, updates to content require manual checking of what needs to be updated and where. Meanwhile, translation is typically one of the best ways for newcomers to get involved in open-source, so making any aspect of this much smoother would be really impactful in the community, and could even make it possible to expand language support!

:blossom: Questions about the project idea: Approachable Accessibility for p5.js Editor Contributors

@harneetsahi previously asked about how many screen reader users use this feature; I just wanted to follow up and confirm that we don’t have a number for that.

:blossom: Questions about the project idea: p5.js Editor Friendly Features

@manas_23 welcome to the thread! I know there’s a lot on here already, but especially about this project, the following from my comments above might be helpful to understand the prior work:

Thinking about existing UX and how to improve it, and thinking about different use-cases is a great start! The p5.js Editor is used by artists, students (in classrooms and beyond), and teachers; and by people at different levels. When considering the project list, we discussed this project as either updating the autocomplete widget, or adding a custom context menu widget. A custom context menu would be something that comes up when a user right-clicks, so it’s a very different kind of tool than the autocomplete, with different technical UX possibilities.

Please feel free to think creatively about what’s possible here! Only if it’s informative or inspiring, feel free to check out the PRs that introduced the existing hinter (former GSoC project, in fact!):

:blossom: Questions about the project idea: Friendly p5.js Sketch Embedder

@afthal asks about project scope and what to do after setting up and initial exploration (great work getting started!)

You can start putting your proposal together, and I’d suggest (this might be helpful for everyone:) to first envision what you’d want the final result to potentially look like (maybe imagine 2-3 different ideas of a final outcome you’d be happy with, and pick one!) and then work backwards to create a timeline. There’s a comment I have above about how to make a timeline:

One helpful rule of thumb here might be that less is more. Regardless of project size, please feel free to build in buffer for uncertainty or experimentation. A more kind and thoughtful timeline is better than a one with too many tasks to be realistic. Planning to do 1 thing well, with time for exploration and testing is more compelling than planning to try out 5 things without enough time to really go deep on any one of them.

For this particular project, we were thinking of it as 90H, which may seem like a lot but it’s only a few hours a week! What are the most important features for a sketch embedder that covers many different uses?

@Nwakaego asks:

The project description mentions familiarity with JavaScript but doesn’t specify whether using a framework like React or Vue is recommended or discouraged.
Would using a framework be acceptable if it improves usability, or should the solution remain independent and work without relying on a specific framework (e.g., vanilla JavaScript or Web Components)?

This is an excellent question! Because this particular project is pretty stand-alone, you can propose any framework that supports your vision. It’s important the p5.js sketches can be robustly embedded in that website, so that’s something to consider when making your proposal. You can check out how embedding sketches with editable code currently works in the p5.js-website repository, as an example, if you’re curious; but this is very flexible.

:blossom: Questions about the project idea: Bring Visual Tests to Processing

@thisizaro asks a few questions about this one:

Where to start exploring Processing4’s current testing system (if any exists).
How I can best prepare to contribute before the application period starts.
Any small issues I could work on to get familiar with the codebase.

These also all great questions! For this one in particular, I suggest checking out the most recent Processing4 release. It does have Java tests. If you’re not already familiar with how p5.js snapshot tests work, that would also be really helpful here (you can read about them in the last section of the p5.js unit testing doc).

In terms of preparing and getting familiar with all the repositories - for all projects but especially for the more developer-tools ones like this, it is likely to be much more informative for you to go through the open discussions; and older closed issues or PRs related to specific updates (when was a particular test added? What can you learn from that?). Most likely, there aren’t many “good first issue” opportunities for these more complex projects, so it’s not a problem at all if during the proposal phase you focus on understanding the challenges that exist.

Thanks everyone for your excellent questions, and I’ll be back in a few days again to respond to more!
Best,
Kit

4 Likes

Hi everyone:)

I’m Yun, a master’s student in Computer Science and a composer. I’m very interested in contributing to the Code Translation between Processing Sound and p5.sound.js project and would love to ask a few questions while preparing my proposal.

Coming from a music background, I first learned to code through Processing and p5.js while working on compositions and sound installation projects. Now, as I transition into computer science, I’m eager to contribute to the platform that introduced me to coding! I have experience in web development (JavaScript, React, HTML/CSS), Java and JavaScript programming, and audio programming using Web Audio API, MaxMSP, p5.sound.js, and Processing Sound. I have also worked on building interactive audio components for web applications and developing sound installations with Processing and p5.js.

@kit I have a few questions regarding the project scope, technical approach, and deliverables, and I would greatly appreciate any guidance to ensure my proposal aligns with the project’s goals!

  1. Are there any existing tools you’d recommend for this project, such as Java/JavaScript parsers or other AST-based conversion tools?

  2. For the interactive webpage, should it include features like real-time audio output?

  3. Would an interactive code editor for conversion (similar to the p5.js web editor) be sufficient, or are there additional web features you’d like to see?

  4. I noticed from previous responses that this project focuses on how to translate code between different environments and devices. Could you be more specific about this?

Thank you and I look forward to hearing from you!

1 Like

Hey @kit First of all thank you for your reply, I will look into those PRs. I have a question, How can I contact the Project Mentor for Review of the Proposal? Thank you

1 Like

@kit Its now working. I am working on the this project User-Friendly Features in the p5.js Editor. Can I share my some ideas in the forum??

1 Like

Hi Dora Do Mam , I’m interested in contributing to “Friendly Sketch Embedder for p5.js” for GSoC 2025. I’ve started exploring p5.js but need some guidance on understanding the project and how to get started. Could you help me with the best way to proceed?

1 Like

Hello @kit,

I hope you’re doing well. Thank you again for assigning me the Hindi translation of the Code of Conduct in the p5.js-website repository. Since then, I’ve also fixed a bug and created a new issue, and I’ve really enjoyed contributing.

I’m interested in applying for GSoC 2025 and working on “User-Friendly Features in the p5.js Web Editor.” Since this is a different repository, I wanted to ask—would my past contributions still help in building a strong proposal for this project?

Meanwhile, I’ve been exploring the p5.js Editor, testing the autocomplete feature, and researching ways to improve it.

Looking forward to your thoughts. Thanks for your time!

Best,
Hritvik Bhatia

1 Like

Hi @kit,
thank you for your reply, I checked out the link you provided and now have a better understanding of the (Project) current translation process and the challenges translators face.
There are many challenges main challenges are:-

1.No automatic tracking of changes.
solution:- We can use GitHub Actions to track changes in .mdx files and notify translators.

2.Translation process is fully manual.
solution:- We can use Github Actions to validate and track translation automatically. This can involve checking that all required sections have been translated before pull (PR) request is merged

3.New contributors may struggle to get started.
solution:- Clear documentation to help new contributors (translators).

Questions I want to ask about project are :- 1.GitHub Actions for translation automation Should be added directly to the the p5.js reference website repository
or would a separate repository be more suitable for managing translation updates?"

  1. Should we provide a web-based interface for translations, or is GitHub’s existing workflow enough?
1 Like

@kit ,Due to some reasons my editor is not working, I am trying to run the container using Docker and its running but when i went to browser to access on the port 8000 its showing Site Not reachable


@kit , May you tell how can I start working on this project Bring Visual Tests to Processing

Hey everyone, glad to be here. Big fan of processing and p5.js! So I’ve been pretty interested in shaders, WebGL, and all things graphics lately and was wondering if a custom proposal revolving around those topics would be possible this year? And if there’s any suggestions for projects that touch on those areas that would be useful for p5.js or Processing. Is there someone I should talk to in particular about this?

If this is not really a priority for this year’s GSoC then no worries! Thanks

1 Like

Hi @kit, Thank you providing an opportunity

1 Like

Hi everyone! :waving_hand:

I’m Yehia Rasheed, a 3rd-year Computer Science and Engineering student, and I’m excited to contribute to Processing 4 and be part of the community. I’ve been exploring the repo and making some contributions, and I’m really interested in helping improve the project in any way I can.

I had a quick question about the maximum two PR submission rule for GSoC applicants. Is this limit organization-wide (including Processing 4, the websites, etc.), or does it apply separately to each repository?

Also, if some of my contributions aren’t directly related to the specific project I’d like to work on for GSoC, would they still be considered when evaluating my application?

Looking forward to your insights, and excited to keep contributing! :blush:

Hi everyone!

My name is Lakshit, and I’m really excited about contributing to Processing as part of GSoC 2025! I’ve been exploring the project ideas, and I’m particularly interested in Bring Visual Tests to Processing.

I read the GitHub issue #882 - Implement image comparison for visual tests and also checked out the p5.js snapshot testing system. I’d love to learn more about how this could be adapted for Processing’s Java environment.
Would it make sense to start by porting some existing p5.js snapshot tests to Processing, or are there other priority areas to focus on first?

Looking forward to contributing and learning from you all!

1 Like

Hi everyone,
I am Tejas, 2nd year Undergrad from India and I am really excited to contribute to Processing Foundation @GSoC 2025.
Looking forward to learnings from the community!

1 Like

Hello @kit,

I tried reading through the older messages in this thread, but there are quite a lot of them. To summarize my understanding clearly:

  • I should start working on the proposal for the project I’m interested in.
  • All doubts or questions related to the project should be discussed here in this thread.
  • Additionally, if I wish, I can also start contributing to “good first issues” to become more familiar with the codebase.

Is this understanding correct?

Thank you very much for your guidance!

1 Like

Hello again, everyone! And welcome @TejasNangru, thanks for this excellent summary (and yes, your understanding is correct!):

I tried reading through the older messages in this thread, but there are quite a lot of them. To summarize my understanding clearly:

  • I should start working on the proposal for the project I’m interested in.
  • All doubts or questions related to the project should be discussed here in this thread.
  • Additionally, if I wish, I can also start contributing to “good first issues” to become more familiar with the codebase.

I’ve also just put together this FAQ page on the wiki, where I have compiled the most important overall guidance, and tips about specific projects, so all my previous responses are included in this, and I’ll keep it updated :blossom:

I will respond to all the new questions below as well. Please do keep asking your questions here, it is very helpful for creating this detailed shared resource, for this and future years!

Answers to the more recent questions coming shortly below :down_arrow:

:sunflower: @manas_23 asks: “How can I contact the Project Mentor for Review of the Proposal?” and @deepikareddy also asks for mentor feedback.

So far many folks have been asking about how to get mentor feedback, so I’ve added this to the FAQs:

You’re welcome to ask questions (also quite detailed ones, as you see above) here until March 24th, and I’ll do my best to answer them. Then, if you have a draft ready by March 24th, you can have an opportunity to get feedback before final submission. I’ll post here instructions on how to send in your draft to us for individual feedback with the relevant mentors. That way, if you have a proposal ready at that time , you can get a round of feedback from the mentors before submitting in to GSoC directly.

:sunflower: @Sushant_Bansal asks: “Can I share my some ideas in the forum?” and " how can I start working on this project Bring Visual Tests to Processing?"

Feel free to share ideas for public feedback here! I’m happy to comment on ideas or questions related to specific projects. The thread is getting long so I will also be adding to the FAQ document, and if you like you could check there first if your question has already ben answered. For the visual tests project, here are some tips on getting started based on prior questions.

Also, I saw you’re having technical issues; have you tried looking up how to correctly expose port 8000 in Docker so it’s reachable in your browser?

:sunflower: @deepikareddy asks “the best way to proceed?” on the Friendly Sketch embedder project.

Welcome! Please check this summary of all the tips and guidance on that project specifically, and do feel free to ask about anything not covered, or for clarification!

:sunflower: @Hritvik-Bhatia asks if PRs in one repository (p5.js-website) are still relevant to a project in another repository (p5.js-web-editor)

First of all, I’ve seen the PRs, thanks so much for jumping in to improve the website! Also, your translation is also now live.

To anyone reading this who has had PRs merged: we use the all-contributors specification, so if you merged a PR on p5.js core library or the website, please follow these instructions to add yourself to the list, and use the emoji key for code, translation, documentation, or anything else applicable. Especially if the contribution is in another repository, please be sure to comment on that PR what the contribution was, otherwise I’ll comment and ask about it.

Secondly, to your question, and to @yehirasheed’s question: “Also, if some of my contributions aren’t directly related to the specific project I’d like to work on for GSoC, would they still be considered when evaluating my application?”

Yes it’s no problem, PRs in one of the repositories support any of the proposals.

:sunflower: @touro asks:

So I’ve been pretty interested in shaders, WebGL, and all things graphics lately and was wondering if a custom proposal revolving around those topics would be possible this year? And if there’s any suggestions for projects that touch on those areas that would be useful for p5.js or Processing. Is there someone I should talk to in particular about this?

First of all, welcome! To this question: though a custom project is possible, the existing list has been specifically curated so that it does not have challenging dependencies with ongoing work, but still has impact. Both Processing and p5.js have a lot of major updates coming up; on p5.js, one of the exciting new things is actually about shaders. That is why WebGL is not on the projects list: to allow GSoC projects to be creative, ambitious, and impactful, but still relatively self-contained.

So, I would suggest even if you do something very particular to shaders, consider if it’s possible to do it within the scope or direction of one of the projects on the list? For example, visual tests, or sketch embedder could have interesting WebGL aspects? I’m not sure what that can look like, but if you have an idea, go for it!

I hope that helps, please feel free to ask about it further.

:sunflower: @yehiarasheed asks: “I had a quick question about the maximum two PR submission rule for GSoC applicants. Is this limit organization-wide (including Processing 4, the websites, etc.), or does it apply separately to each repository?”

Welcome, and thanks for this question! For everyone reading: this refers to the guidance on p5.js Editor contribution.

The purpose of the rule is to avoid excessive PRs, especially if they relate to features or issues that have not been approved for work. This rule is for the editor, but for Processing and p5.js you can also check the Contributor Guidelines before making PRs, especially:

You should not file a pull request (or start working on code changes) without a corresponding issue or before an issue has been approved for implementation; that is because the proposed fix may not be accepted, need a different approach entirely, or the actual problem is somewhere else. Any pull requests filed before the issue has been approved for fixing will be closed until approval is given to the issue.

The reason for this rule is that making lots of PRs might not actually be as helpful to your proposal as taking the time to research and develop a strong technical concept and execution plan. We strongly encourage folks to dedicate lots of time researching the project areas, reflecting on the existing issues, and crafting their proposals.

:sunflower: @Lakshit asks about the Bring Visual Tests to Processing project:

I read the GitHub issue #882 - Implement image comparison for visual tests and also checked out the p5.js snapshot testing system. I’d love to learn more about how this could be adapted for Processing’s Java environment.
Would it make sense to start by porting some existing p5.js snapshot tests to Processing, or are there other priority areas to focus on first?

Welcome, and thanks for this excellent question!

In general, now is a good time to do implementation research, but keep in mind: you do not need to start implementing to write your proposal.

Picking one test and trying to port it might be good research on how challenging the porting itself may be.

To figure out the priority areas for what parts of the functionality tests should cover, you can also research old GitHub issues! Closed or open bug reports, for example.

Ultimately, the purpose of tests is to make it more comfortable for contributors to add new features or make performance improvements without accidentally breaking anything unexpected. So if your proposal suggests which areas are most important to cover, and explains why you think that (from reading old issues or any other approach!), that would be an excellent evidence-based prioritization of the project.

I hope all this is helpful, and thanks again to all who are asking questions! I’ll be back in a few days to respond to the next round. Wish you all a nice rest of your week.
Best,
Kit

1 Like