GSoC at Mesa — Candidates Guide#
What is Mesa?#
Mesa is an open-source Python library for agent-based modeling (ABM), ideal for simulating complex systems and exploring emergent behaviors. It lets you quickly build models using core components (e.g., spatial grids, schedulers) or custom implementations, visualize them in a browser, and analyze results with Python’s data tools. The goal: make simulations accessible so we can better understand and tackle complex problems.
Mesa and GSoC#
Mesa has participated in Google Summer of Code since 2024 and has had 7 contributors to date.
2025 projects#
Project |
Contributor |
Discussion Link |
|---|---|---|
Mesa Frames upgrade |
||
Mesa front-end upgrade |
||
Mesa LLM |
||
Mesa LLM |
Note : for the Mesa LLM project, the two candidates were selected to work on different aspects of the project
Making a proposal for Mesa#
You can start with the official GSoC guidelines on the proposals.
For Mesa, making a great proposal implies:
Building on current Mesa features and demonstrating how it will integrate with them. Hands-on experience with Mesa and building ABMs helps a lot with that. Don’t hesitate to visit the Mesa GitHub and documentation.
Putting in a lot of reflection on use cases, target audience, and project fit: Mesa is a library designed to be used by a wide range of people. Who is your project for? How will it help them? How will it integrate seamlessly into Mesa?
Exploratory and curious mindset: show that you’re open to new ideas while maintaining flexibility in direction.
Putting in precise code examples for the features that you would like to implement. Especially small usage examples (how users can use the feature in a model) are really appreciated.
Showing that your idea can work: linking to one or more functional POCs (proofs of concept) and/or example models is highly appreciated in a proposal.
The Mesa team is looking for long-term commitment to community building that doesn’t stop at GSoC. Show that you can be invested by contributing to and engaging with the community!
You can check out proposals from last year’s selected GSoC contributors in the links provided in the last section, and here are a few non-Mesa-specific proposals that have been accepted in other organizations.
Maximize your chances#
The best way to show that you can do things is to do things. It is very helpful to build one or more agent-based models with Mesa to not only explore all the incredible things you can do with it, but also to show that you know how to handle it.
Also, as generative AI becomes more capable of writing convincing text, it has become increasingly difficult to differentiate a genuine proposal from an AI-generated one. Thus, a large part of evaluation will also be based on your contributions to Mesa.
Contributing to Mesa shows that you genuinely understand the project, how it works, and that you won’t spend the first month of GSoC figuring out the basics : you’ll be ready to code for your own project! Plus, digging into Mesa allows you to refine your proposal and make it more relevant and interesting for the dev team to read. The candidates who contribute meaningfully have by far the best chances of being selected.
Tips from previous GSoC contributors at Mesa#
Ask relevant questions: asking questions is good, but asking good questions showcases your motivation. If you don’t know something, first check the Mesa GitHub and documentation. In the best case, you’ll find your answer; if not, you can ask a specific question, showing your interest and drive to deepen your knowledge of Mesa.
Be nice and helpful: the open-source community is built on transparency and goodwill. Helping people demonstrates that it’s pleasant to work with you. Plus, it also showcases your knowledge of Mesa ;)
Clarify scope with mentors: if you can’t figure out the scope of the project, it’s completely okay to talk to the mentors about the most pressing matters and give them priority. This helps you to separate the main issues from the non-essentials and focus on what matters.