A week ago, I was looking for courses that were free or discounted due to the COVID-19. I thought that maybe others were doing the same, so I decided to compile resources and publish them online.
I started compiling the courses using Google Sheets and was planning on sharing the sheet after I had enough resources. However, something was bothering me. Opening sheets on a mobile suck and most people use their phones for browsing the internet. I thought I could do better.
The issue is that I'm a Data Scientist, not a Web Developer. I hardly have any experience building and deploying web pages on my own. So I decided to build a simple static site that met the following requirements:
- Look good on mobiles (or at least better than a Google Sheet)
- Should allow me to easily add or remove resources
- Use Python as much as possible (and as little as possible of HTML/CSS/JS)
- Should take me only a few hours to develop and launch
- Maintenance should be very very close to zero 😛
So here's what I did to solve these issues:
- Used Bootstrap to make it responsive and look good without a lot of effort from my side
- Used Google Sheets as a basic Content Management System. Got content into the site programmatically using the API
- Used Jinja2 as a templating engine
- Hosted the site on AWS S3 + Cloudfront (for SSL certificate). Bought the domain using Route 53.
- So far, I've only invested ~15€ on the site. I don't foresee that I will need to spend more than a few cents for its maintenance, given what AWS offers in its Free Tier.
Finally, after I had the first version, I published it on reddit and LinkedIn. It got some traction and was shared in different sites. During the first two days, it got over 3k visitors. The number of visitors has been steadily decreasing since then, totaling around 12.5k right now.
Building the site was an entertaining learning exercise for me and, based on how people reacted, it was useful for others. I was not really expecting to have more than a few visitors, so it was a positive surprise seeing how many people were interested.
I wanted to share the process and code in case others may find them useful.
Finally, here's the Github repository: https://github.com/dylanjcastillo/stayhomeandlearn.org
Also, here's the site: https://stayhomeandlearn.org