This post doesn’t explain much about simulate, rather my experience of building it. Visit Simulate docs to know more.
Simulate was one of my first major projects. It taught me one of the most important skills of my developer journey, which is Project Based Learning.
In 2019, at the end of my freshman year, Flutter was starting to get super popular. Me and a friend tinkered a bit with Flutter and decided that we can learn it on the go while building something. Flutter seemed quite easy to learn, efficient to use and a perfect fit for me since I had only worked with backend projects and libraries until then. It was a magical technology which would unlock the access to building beautiful UIs without the hassle of CSS and that too on any device! I can talk hours about Flutter but this is about Simulate. So me and the friend searched for some projects and saw a common pattern of people recommending to build a mathematical/algorithmic simulation. We then thought, why not build a collection on these!
So we started looking for inspiration and built the basic UI. I remember watching coding challenges on The Coding Train YouTube channel, that series was an integral part of this project (Thanks, Daniel Shiffman and The Coding Train). We started with Bubble sort and the Toothpick Pattern, and it worked out so great! We loved the process and kept looking for more inspiration.
We added more simulations, overhauled the UI a couple of times, added ability to favorite and search simulations and introduced Dark Mode! It wasn’t just me and my friend, so many other people collaborated on the project and it was amazing.
We also got selected in GirlScript Summer of Code in 2020, 21 and had a great time mentoring people who wanted to contribute to the project. I administered the project in 2020 followed by my Junior Yashu Garg in 2020.
The project was a huge confidence booster for me and I show it off really often. Simulate now has 10 beautiful simulations. Even though I don’t actively maintain/build it anymore, I am more than happy to help people who want to contribute/learn/take it further :)