9 projects from a self-taught programmer
I want to share a little bit of technology inspiration. My personal philosophy for learning code is to simply build passion projects.
It’s motivating. It’s practical. And because you want to build ‘X’, that involves researching ‘Y’ — and this makes it stick.
It’s difficult in the beginning because you don’t know what you can actually make. But if you can get past the hump in the beginning, it’s rewarding to get closer and closer to what you want to make — and you also realise what you can’t make, which makes you scale down those expectations.
In this post, I want to share most of the projects I made to give you some inspiration. And hopefully, it will spark some curiosity and obsession within you.
Before I continue, I want to be honest with you. I didn’t start with projects, despite preaching them, my first dedicated foray into programming was hugging the bottom of my sofa and deciding to purchase Automate the Boring Stuff with Python by Al Sweigart. It arrived in March 2020 and that was when I started going through the book — completing the problems at the end was key! I got about 90% way through the book before I started working on my own projects.
And in January 2023, I got my first job full-time job offer in the career of technology!
Project 1 — Analysing Daniel Bourke’s YouTube Channel
I am a big fan of Daniel Bourke. He is a machine learning engineer and YouTuber, but I fell in love with his philosophy — the focus on balance, nature, movement, and health.
That made me wonder think: I wonder how his machine-learning content compared with his non-machine-learning content on his YouTube channel.
This got me more familiar with Python, using it to extract channel data from the YouTube Data API, and then play around with libraries like pandas for data wrangling and matplotlib for graphing all inside Jupyter notebooks.
Project 2 — Tubestats: Analysing a YouTube Channel for Consistency
Despite being a Daniel Bourke fan, I was also a fan of Ali Abdaal’s Youtube Channel. He talks about the way to start anything and get good at it is through consistency.
That made me think about how Ali Abdaal was at producing content and to see what his biggest break was.
Here I applied the knowledge from the previous project to using streamlit. This creates a web interface and you can even host online and share with others over the web.
Project 3 — Map of New Zealand: More Data Analytics
I was on a walk and once you reach the summit you see this trig station. That made me think about if there is a data source for all these trig stations and if you had that data could you build a map of New Zealand with all the different elevations?
Project 4 — Lasha: Olympics Data Analytics
I really like weightlifting. I was also impressed by Lasha’s performance in the Tokyo 2020 Olympics. So much so, I wanted to quantify this.
This involved parsing PDFs and again using the same tools like streamlit to host this online.
Project 5 — Weightlifting New Zealand Database
This was the biggest end-to-end project I had built. Data analytics was fun, but it didn’t feel like real programming to me (as I even write this, I’m not sure anything I’ve done is “real” programming).
I wanted to make something web-related that people can interact with and use. What should I build? I thought of some problems or things I would like to see (plus, what was fun also!).
One hobby I do is weightlifting. What I found was there was no central place that has previous results for competitions in the past. Why not create my own?
In this project, I used Django REST framework to build an API that linked to a database to display weightlifting results using React. So, I learnt how to make a web application end-to-end.
I even made a library to help import results from Excel files (which is what the original results were stored as), and a friend used it to add data to the database.
Live link — may be dead or die soon.
Project 6 — Optometry Tool and Automator
Coming off the weightlifting project, I wanted to have a bit of fun making an “automator” for my previous career as an optometrist.
This project is installable using the Python package manager, pip. As well as this, it runs on the terminal.
Project 7 — Optometry Letter with Artificial Intelligence
Everyone’s probably heard of OpenAI’s ChatGPT text completion. I wanted to use the OpenAI to build some ideas I had.
When I was an optometrist, I really didn’t like writing referral letters. Then, I thought, could this be automated using OpenAI’s text completions models?
This project was built using FastAPI to communicate with the OpenAI API. It serves Jinja templates with the help of Bulma CSS.
The funny thing about this project is that the most impressive part is the artificial intelligence component, but this is the easiest to implement. It was much harder to make the user interface.
Project 8 — Tarot Card Reader
This is an offshoot of the same project with optometry letters. In this case, I wanted to get better at SvelteKit. By this point, I got my first job in the technology sector and SvelteKit is what we used at work.
I also learnt about hosting on both Vercel and using Cloudflare pages. Something I also learnt is that Cloudflare pages does not have the entire Node runtime, which meant I couldn’t use Axios to connect with the OpenAI API. This means I had to use fetch.
Project 9 — Learning
This is the most recent application and a work in progress. It uses SvelteKit as well as Cloudflare. It also uses some other services like D1, serverless databases and Zero Trust for authentication using one time password to an authorised email address.
It’s a simple CRUD application but the idea stems from my Dad telling me to write downs everything learn for a particular topic.
I got more familiar with Kysley, which is a SQL builder, as well as writing raw SQL in order to create tables on D1.
Conclusion
These are list of some projects that I have made. I have many unfinished projects, so you can check out my GitHub if you want.
The point of this post is to show the evolution in the projects I have made and to inspire you.
So, go out there and make something! It doesn’t have to be good. Make sure you follow your curiosity and have fun. I guarantee this is the best way to learn, and learn anything.
I hope this helps you. Feedback is welcomed.
Stay focused,
Shivan
This Week’s Favourites
1. 9 Systems of Build a Life of Abundance - Deep Dive with Ali Abdaal
Great podcast by Ali Abdaal and Sahil Bloom. Some things to implement are to do things now rather than waiting for the right moment. For example, I will wait to retire to do awesome things. For me, I am waiting for the moment to travel the world. Maybe I should start now?
2. Of Boys and Men by Richard Reeves
I’ve listened to this book, but now I have read it. I do think there is a crisis of masculinity and that what it is to be a man need to redefined in today’s era.
3. Soorma (2018) directed and written by Shaad Ali
This film is based on the true story of Sandeep Singh. Singh is a hockey player who represented India. After a freak accident and near life debilitating injury, he was able to bounce back. It’s a story of inspiration and hard work. But sadly, his life is now in controversy. I don’t want to focus on this part but rather what the film portrays.