Shane Wighton’s Youtube channel Stuff Made Here is one of my favourite Youtube channels. His is an engineering-focused channel, where he makes videos on various innovative inventions. I have been watching his videos since he started back in March 2020. If you haven’t yet, I will definitely recommend you to check his content.

On November 26, 2020, Stuff Made Here uploaded a video Making an unpickable lock. Calling locksmiths. In that video, Shane made a lock using interesting techniques, which proved to be unbreakable by a local locksmith. His wife suggested that he should send it to LockPickingLawyer (a Youtuber…

PWA? What is that?

Progressive Web Applications (PWAs) are web applications (duh!) that use emerging web APIs and modern technologies to make the web app behave similar to a native application on any platform / operating system. They can be installed on your phone or PC, and even be distributed through App Stores.

I will link some articles related to PWAs at the end.

The capability to be installed on a mobile device is very important for a PWA, and to test those mobile-specific features even more important. PWAs can only be served over Secure Contexts (HTTPS). It isn’t a big deal today due…


I made a Python Script to Automate a Sudoku Game on Android after watching Engineer Man’s Videos on Youtube doing the same for different games.

The script can be divided into 5 parts

  1. Connecting to an Android device using ADB, and getting the screenshot of the game from it
  2. Using Pillow to process the screenshot for pytesseract
  3. Using pytesseract to extract the Sudoku Game Grid to a 2D List in Python.
  4. Solving the Sudoku Game
  5. Sending the solved input to your Android Device using Python

Out of the 5, I will be focusing mostly on 2,3 & 5 as 1…

Read this on my blog


After my last visualisation of Harry Potter data, I decided to use some other data to create word clouds. I am a huge Skyrim fan and always wanted to learn how to use xEdit Scripts. As a result, here I am with another Word Cloud.

Disclaimer: A lot of the code is shared between my previous project and this one



On 28th May, a post on r/dataisbeautiful inspired me to learn how to make Word Clouds myself. Being a huge Harry Potter fan, the data I was going to use was obvious. Using the Books seemed too simple so I decided to scrape 250 stories from , and make a Word Cloud from that data. I posted my first attempt on r/dataisbeautiful, and based on the feedback I received, I decided to write this blog.

The entire source code (except the data files & output files) is available here

Attempt 1

There are many approaches I could have taken to prepare…

As JAMStack is becoming more and more popular, many people (especially developers) are shifting their websites (and blogs) to JAMStack and use some Static Site Generator (Jekyll, Hugo, Nuxt, Next, Gatsby, etc).

My blog is based on Hugo and hosted on Netlify. My previous post got more views than I expected and I spent the next two days checking my Analytics App to keep track of the views. Then it occurred to me that I should try and add a view counter to my blog. I post all my articles simultaneously to

I have been offline for around 6 months, and have access to 2G only for the past two weeks or so. There isn’t much one can do on 2G apart from browsing social media, checking emails, and probably blogging (if this post gets uploaded).

I read (and reread) a lot of stuff in 6 months, Harry Potter Fanfics, Fiction, and some programming books. While reading Nature of Code by Daniel Shiffman, I came across a great example for beginners demonstrating how good programming logic can improve the code. …


I have been a huge Dragon Ball fan since I was a kid. After Dragon Ball Super’s release in 2015, I joined the r/dbz subreddit to keep in touch with everything DBZ.

Dragon Ball Super: Broly, the latest movie in the franchise, expanded upon the Saiyan History and as a result, it was the first time in Dragon Ball history that Scouters were seen in such high quality. Kudos to the people who worked on making Scouter Language decipherable instead of some random gibberish.

In April 2019, a Redditor u/SummerFlux deciphered the whole thing and posted about it in this

Making HPFanfiction Recommender


I have been reading Harry Potter Fan-fiction since late 2017. Around mid-2018, finding more stories became very difficult and I started finding story suggestions in the HPFanfiction subreddit. After a couple of months, a fic recommendation tool was posted in the subreddit. It was based on some previous research & data (I will link to all related stuff at the end of the post). It basically worked by comparing the user who likes two different fics and generating a similarity score. …

Creating a visualisation with a polygon having multiple colours, without compromising on quality.

Data Visualisation has always interested me, and I am a long time lurker of r/dataisbeautiful. On 1st July 2019, a post about Frequency of Flag Colors by Continent caught the interest of many people. It’s from that post that I got the idea to make this visualisation.

The idea was simple (execution was not), calculate the ratio of colours of each flag and colour each country on a map using those colours. I had a previous project which used flag colour ratios to make Atom Icons, so I knew I should be able to do this. …

Haider Ali Punjabi

Student | Developer | Photographer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store