Loan Amortization Calculator

Loan Amortization Calculator

Go To App Understanding how your loan payments break down between interest and principal matters for financial planning. Knowing where your money goes each month makes for better decisions. So I built an interactive loan amortization calculator that visualizes exactly how your payments are allocated over time.

Read More
Making My Own Fortune Collection Using Go

Making My Own Fortune Collection Using Go

Everyone loves a good Cowsay. I enjoy opening my terminal and being greeted by my favorite little ASCII cow, spouting some random quote.

Read More
The Power of Pre-Commit Hooks

The Power of Pre-Commit Hooks

I’ve finally found the tool I’ve been waiting for! Something that not only solves my lazy habits but also fixes the laziness of entire teams working on the same repository!

Read More
Game of Life using p5.js

Game of Life using p5.js

The Game of Life - a simple yet beautiful cellular automaton devised by British mathematician John Horton Conway in 1970—is truly fascinating! The game, as shown above, is running in real-time within this blog post. The version you see is unique to your browsing session, meaning we will likely never see the exact same game ever again! How? The embedded game is an iFrame linked to this website: https://gol.happybread.net/.

Read More
Making a Dashboard for South Africa's Dam Data

Making a Dashboard for South Africa's Dam Data

Two blog posts ago, I wrote some code to self-host any Streamlit app I throw into a root folder – each with its own route and virtual environment. Then, in my most recent post, I set up a scheduled Lambda function to scrape dam data from the Department of Water and Sanitation.

Read More
Scraping SA Dam(n) Data using a Scheduled Lambda and uploading it to Mongo

Scraping SA Dam(n) Data using a Scheduled Lambda and uploading it to Mongo

Lately, it has been raining quite a lot, which got me wondering about the current dam levels at the Vaal Dam. Aside from hearing updates through word of mouth or some Facebook group, how could I find out the current dam levels? A quick Google search for “SA Dam Levels” directs you to the “Weekly State of Dams” webpage on the Department of Water and Sanitation’s website.

Read More
Deploy Your Streamlit App with Python, Docker, Nginx, and Cloudflare

Deploy Your Streamlit App with Python, Docker, Nginx, and Cloudflare

Have you ever heard of an open-source project called Streamlit? Let me tell you – Streamlit is truly lit 🔥. It allows you to turn simple Python scripts into shareable web apps in just minutes. Yes, really – minutes! Here’s all the code you need to create a basic app:

Read More
Python Threaded Queues: Building a Data Crawler for 70,000+ API Calls

Python Threaded Queues: Building a Data Crawler for 70,000+ API Calls

My plan of action Ever since I read the documentation for Python’s threaded queue, I’ve been wondering: “Can I use this to build a really efficient web crawler?” The answer is yes!

Read More
How to Turn Time Series Data into Stunning Clock-Like Polar Plots

How to Turn Time Series Data into Stunning Clock-Like Polar Plots

Have you ever heard of “Google Trends”? Google Trends is a fascinating tool that lets you explore trending search terms on Google. You can compare different terms and see their popularity over time, which opens the door to some intriguing analyses.

Read More
Streamline Your Git Workflow With Powerful Git Alias Commands

Streamline Your Git Workflow With Powerful Git Alias Commands

A while back, I learned that your ~/.gitconfig file isn’t just for setting your default git init branch. You can also define aliases! Git aliases are powerful workflow tools that let you create shortcuts for frequently used Git commands. This seemed like the perfect opportunity to define some useful workflow enhancements.

Read More
My favorite plots of 2024

My favorite plots of 2024

It’s that time of the year where Spotify releases their Spotify Wrapped. I’ve made about 18 plots in 2024 and decided to have my own reflection on my favorite plots and the journey behind them.

Read More
Self-Hosting an Affordable and Lightweight URL Shortener with Go and Redis

Self-Hosting an Affordable and Lightweight URL Shortener with Go and Redis

In this blog post, I want to talk about a simple solution for something I’ve always wanted to self-host: a URL shortener!

Read More