While taking a summer physics class dealing with multivariable calculus, I realized how much of the subject I had already forgotten even though I took a multivariable calculus class (Calc III) only nine months earlier. I also knew that several of my friends who would be taking Calc III in the coming semesters, and they had already requested my notes from and help with the class.

However, my hurriedly-taken, handwritten notes could be sometimes incomplete and hard to read. Plus, I like to keep my handwritten notes as a reference. I decided to digitize my notes using LaTeX into an abridged textbook structure. I would also add better visual aids than the sketches in my notes. This way, I could easily share clear and legible notes with my friends, keep the original notes for myself, and refresh my own understanding while writing. By the time I was finished, I had condensed the several thousand page Calc III textbook into less than 100 pages that covered all the important topics mentioned in class while still containing many visual aids, examples, full length proofs, and test questions.

After completing my notes, I posted the results to r/math, an online community of math enthusiasts of all levels. To my surprise, my post was incredibly well-received. Several users suggested I make my work open source so that others could help make corrections and suggest additions. The repo has already taken several community contributions.

Putting the project on GitHub also helped me avoid mistakes and simplify my workflow. For example, when writing a text with equations, it's important that all sentences end with a period, including sentences that contain an equation. I had not been strict in observing this rule, but thanks to community contributions, I now have a Python script that finds and fixes these mistakes. Another issue solved in GitHub was thanking contributors. I wanted to include everyone that contributed to the project in the text, but I though it infeasible to have everyone on the title page as an author. I settled on adding a contributors section, but I didn't want to have users manually add their names, especially since many contributors did not know LaTeX. Instead, I wrote a Python script that would query the GitHub API, get all the most up to date list of project contributors and generate the LaTeX file. This script was integrated as a step in a Github Action that would also compile each work into a PDF so people could view the work without needing to compile the LaTeX themselves.

Since then, I've begun expanding the scope of the project beyond multivariable calculus. The project now includes summaries of intro to differential equations, usually the next class after Calc III, and single variable calculus, which covers both Calc I and II.

It has been incredibly heartwarming to see how many people appreciate my work and take enough interest to point out mistakes, make suggestions, and contribute. I hope to continue expanding this project as I take more math classes. I expect linear algebra will be the next topic I'll cover.