Hi SageMath community,
My name is Muhammet, and I am an undergraduate student with a strong interest in Graph Theory and algorithms. I am writing to express my enthusiasm for contributing to SageMath as part of GSoC 2026.
Recently, I developed an Exact Planarity Solver entirely from scratch in Python. The project implements planarity testing based on rotation systems and concepts inspired by the Boyer–Myrvold algorithm, without relying on external graph libraries. The focus was on correctness, explicit handling of edge cases, and clarity of the underlying mathematical logic.
Live demo: https://interactive-planarity-solver-dogukanv2.streamlit.app
Repository: https://github.com/ProfTR55/interactive-planarity-solver
I initially shared this work with the NetworkX team, where it received encouraging feedback (e.g., “The Streamlit app looks nice!”). Although NetworkX is not participating in GSoC this year, the experience motivated me to look for organizations with a strong emphasis on exact mathematical computation and rigor, which naturally led me to SageMath.
Given SageMath’s role as a leading open-source platform for mathematical software, I believe my background and interests align well with the goals of the project—especially within the sage.graphs module.
My technical background includes:
Domain: Graph Theory, Combinatorics, Planarity Testing
Languages: Python (algorithm design and prototyping), C++ (performance-oriented implementations)
I am especially interested in using my C++ experience to optimize performance-critical graph algorithms in SageMath, or to contribute to improvements in graph drawing and visualization.
I would greatly appreciate any guidance on potential GSoC project ideas in this area, or pointers to suitable “good first issues” where I could start contributing and familiarizing myself with the codebase.
Thank you for your time and for maintaining such an impactful project.
Best regards,
Muhammet