
Ever wanted to build a community learning platform?
Ever tried to build a community learning platform from scratch? Abdulhafeez Abdulsalam, Nigerian ex-ICTP Diploma student has done just that. He talks to us about the process of getting his home for math students and early-career learners off the ground.
Tell us a little about yourself.
I usually describe myself simply as a mathematics graduate with a strong interest in analysis, special functions, and how abstract mathematics connects to computation and visualisation. I graduated with First Class Honours in mathematics from the University of Ibadan and later joined the postgraduate Diploma programme at ICTP, where I was exposed to a very international and collaborative research culture.
What is InvariantMath?
InvariantMath is the digital platform I designed as a home for mathematics students and early-career learners. It brings together problem-solving spaces, learning resources, computational laboratories (such as Python, SageMath, Maple, Mathematica, LaTeX, and Manim), and community-driven activities in one place.
Platform updates, development notes, and major announcements are published on our Substack page, where the broader community can follow progress over time.

Why did you create InvariantMath?
The idea grew out of a very practical need. As a student from a developing country like Nigeria, I reflected deeply on the challenges undergraduate mathematics students face. During my time at the university, access to computational tools and genuine expertise in computer algebra systems was limited. Many students depended on others to type projects or run computations for them, which created unnecessary barriers to independent learning.

Tools and resources I used to create the platform:
Build
The platform is built using standard web technologies (HTML, CSS, and JavaScript), with a strong emphasis on tools that mathematicians actually use.
Mathematical writing is handled through LaTeX rendered in the browser using MathJax, allowing students to type and preview mathematics live without installing anything.
For computation, Python-style workflows are introduced through structured browser-based editors, while SageMath is integrated via embedded SageCell connections to the public SageMath server, enabling students to run real Sage code directly from the site.
I also relied on open-source documentation and libraries, careful front-end design, and AI-assisted tools for brainstorming, debugging, and refining both the interface and the learning structure during development.
Graphics
I worked with a childhood friend who designed the launch graphics using Figma. We actually attended both primary and secondary school together.
I created the homepage animation using Manim, a Python-based mathematical animation engine developed by Grant Sanderson, which I often use for mathematical visualisation and outreach work. I generated the Integration Bee map featured on the homepage programmatically using Python and open geographic data.
Read more about Abdulhafeez's journey developing the platform on the ICTP News. The development of the InvariantMath website was supported, in part, by the Vienna African Mathematics Scholarship at the University of Vienna.

