DEV Community

Min
Min

Posted on

JavaScript for Good: Unfinished

2020 is the year that I finally decided to learn web development and I started the Full Stack Web Developer Nanodegree with Udacity. But this wasn't the first time I had tinkered with the web stuff. Doing this nanodegree and the pandemic situation made me think about my previous adventures that involved JavaScript. In a way, I think the takeaway from this post is that programming can be useful even for people who are not developers, but also for developers to think about any past unfinished projects they'd like to revisit.

The background

I was deep in my quarter-life crisis and I wanted to do something that mattered. So I quit my PhD degree in Physics and became a school teacher in a disadvantaged school. I am no longer a teacher, nor have I returned to my PhD (perhaps a story for another time), but I had observed the vast gap that exists between regular schools and disadvantaged schools. Online, or computer-based, learning that I thought to be the future, did not seem like a viable option for many of these schools that struggled to afford textbooks let alone functioning computers. The KhanAcademy that I had loved and used for tutoring, was not suitable for classrooms like this. Managing students through limited resources, on top of having to keep the students from being distracted by the entire internet, as well as dealing with lost passwords and other unnecessary troubleshooting, was challenging to say the least.

The project

Fixing education is not something that I could have ever tackled alone. But a very small part of the problem that I had faced was a solvable one. What I needed was a free, no login, printable, educational resource online. I was a mathematics and science teacher, so (once I had left teaching) I started working on a mathematics worksheet generator (among other unfinished projects).

The solution was static webpages that would generate problems using JavaScript, HTML, and CSS, every time the page was reloaded. I wanted to make it entirely browser-based so that nothing had to be installed, internet connection wasn't required, and that there were no logins required. I had to design it so that when I hit print, the page prints nicely.

This was back in 2014, and I had not returned to it since, other than to use it to print off some worksheets from time to time as I tutored. But I decided to host it on Firebase so that I could simply give the link to my tutoring students to access. Here is the webpage as it was developed back in 2014, with the navigation page added using Bulma.

Mathematics Test Generator

Some of the programming was a little challenging, as I developed everything from scratch, including the drawing of the graphs and the shapes - in a way that was both randomly generated and randomly oriented. The questions also had to be random, but in such a way that the answers to the questions would be calculatable without calculators. The answers needed to be simplified (with surds) and factorised. It was fun to work on.

The issues

So why did I discontinue my work on it? I was unemployed. This, and a few other projects, were all in the desire to give something to the community. Close to three years of unemployment was hard. A PhD dropout without anything to show for work experience for the recent 3 years at the time meant that I could not get a job, even after over 100 applications. Once I had my first very minimum-pay job, I was overworking to compensate for my late start.

Lack of money, lack of time, and ultimately a lack in my belief that this project was worthy of pushing further, were my excuses for not finishing this project.

And I can't realistically see myself returning to it. Not only because I am a much busier person, but also because of my lack of development skills back in 2014. My code was spaghetti - it was crude, unorganised, messy... disgusting to look at. I'd have to start from scratch.

So what

With a huge number of students studying from home and online, given the COVID-19 situation, I wondered how things may have turned out had I continued to work on some sort of educational website for the past 5 years. Maybe, just maybe, I could have done something useful in my 20's.

Do you have an unfinished project? Why did you abandon it? Would you ever return to it?

If you are interested in getting started in web development (which is also a good introduction to programming in general), then this other post might be useful to you.

Discussion (0)