The Most Fun Python Projects I Have Built Thus Far

The Most Fun Python Projects I Have Built Thus Far

Python is a bit of a guilty pleasure for me, like that friend you spend way too much time with at the detriment of other friends who get to see less and less of you.

Python has been with me through high times and low tides, and over the years I have built quite a few fun projects that I like to remember, or that even still do their job for me today. So here are my favorite Python projects that I have built so far.

An automatic watermarking tool for a photographer friend

I will always remember this project because it was one of the first times that I got a chance to build something actually useful. Arguably it is not terribly hard to build a Photoshop action that handles watermarking, but that still requires manual work and thinking of it, whereas my tool simply runs on an infinite loop, checking a shared Google Drive folder. My friend saves all her images to it, and my script detects new images and puts her watermark in the corner.

Thanks to the Google Drive folder this process is very simple to set up and convenient to use, I now live a good distance away and we rarely meet anymore, but the script still serves her well.

And this concept of using shared drives as a sort of „SaaS“ storage can be applied to many processes, at which point you get basic version control and more importantly easy file upload. You could build all kinds of services on this model and it would cost almost nothing to operate, especially because you do not need a server and can decouple your logic from the file storage. Obviously there are drawbacks, but depending on your usecase that is very much a workable workflow.

A static website builder

I love working with Jekyll for some reason, it just fits my balance point between simple to set up and easy to work on and extend.

At some point I was like „wouldn’t it be great if I could build something like that myself?“ – and then a good portion of days later I actually had one. It was the first time I attempted a larger-scale project on my own terms in my own time and it ended up working (pretty much) like I had envisioned it in my mind.

It would take Markdown posts, convert the text to html markup and fill preset theme files, and also had a full-blown pagination, random and related posts system. It was pretty advanced by the end, especially considering that it started as a drunken idea of boredom and seeing if I could make a working prototype. In the end though, the project was good enough that I used it to build two little websites for myself, and thanks to the nature of static websites they worked just fine.

That thing doesn’t really serve a purpose that other tools don’t already cover, but to my knowledge there are no python-based static site generators out there being used. There is good reason for that because you need to run the Python script locally and then upload the generated files, which is stupid compared to the ruby-based Jekyll that can be run on netlify in a fully automated CICD fashion.

Microblog automation

There used to be Tumblr, and now there are alternatives. Microblogs are great fun, be it quirky or cozy. I actually still have a log cabin blogwith 50k followers over on Tumblr that runs completely on autopilot, I just have no clue what to do with that.

But microblogs in general are fun to work with, especially the reblogging / retweeting side of things. Using these you can make niche curation blogs that collect great imagery from other people and curates them into a blog for anyone interested in the niche, allthewhile keeping the link to the original source intact so you don’t steal anyone’s content. It’s a great concept, fun to work with and just an enjoyable hobby that can also be profitable. This whole thing used to pay my rent during my apprenticeship, before Tumblr decided to kill itself off for no good reason. Them were the days.

Related  How I Have Made Side Income As A Programmer

These days I run the same workflow on a bunch of sites and have my fun collecting urls and sharing them, automating the blogs and I know a bunch more than I did in the Tumblr days, I just never got back to this hobby paying my rent. But still, on occasion I open a bottle of beer, open up my automation workspace and jam away improving scripts or updating old queues – it’s a great way to relax and be a nostalgic drunk remembering the good ol‘ days.

Twitter automation automation

This one was fun for me because it was a quirky workaround. I could not get my twitter developer account verified and so I ended up spending five bucks a month on a scheduling service (twittimer) that allows to set a schedule in a „10 posts per day“ fashion as opposed to having to set all the posting dates manually.

That process works just fine for me, but adding all those posts still seemed like a massive hassle if I had to do it manually. So I ended up writing a Python / Selenium auotmation to handle the process of automating the automation – and it has worked flawlessly ever since. I played around a bit more with randomized captions and backlinks to the associated website, and added a check to see if the urls have gone defunct since I collected them. The result is a surprisingly stable automation that I literally haven’t touched in months, I only do the occasional statistics check to see if the queue has stopped posting or anything like that.

My own RenPy debugger

This project is a recent one, and it saves me literally hours of my time in the development of my own RenPy game. These games are visual novels, choose-your-own-adventure type games, and thus branching type of stories that quickly spiral out of control.

A lot of common mistakes are perfectly preventable, things like miss-typed variable or character names, logic bugs like jumps to nonexistant scenes, or images that are either defined inside the code without existing or that sit in your images folder unused and needlessly consuming disk space.

And those can be perfectly caught and reported by a pretty simple text analyzer going through the script files, and a bunch of simple rules and file system checks. All in all this script took little time to write, but each time I use it I save easily an hour, probably more as I know I can rely on it and work much faster as I’m writing the actual script, knowing that those bugs will be reported to me.

I am just a human, but I now have the power of a machine.

A quote generator for poetry

A while back I decided I would get into writing erotica again, and somewhere along the way I realized that writing weird poetry is strangely fun and a good way to promote your ebooks.

At the end I had a python script that takes a poem, splits it after each stanza, places these on top of a random image that I took and then uploads those to Instagram. From there, I got lazy and built a Zapier automation because I couldn’t be bothered with figuring out all the other social media accounts, so Tumblr and twitter and everything get fed by a trigger reacting to new Instagram posts.

This was a lot of fun, and I even made a couple hundred dollars in e-book sales.

Takeaway: Python is a gateway drug into the world of automation

Between Python, Selenium, RegEx and all those quirky little technologies I have built some pretty cool and nifty automations over time, and I love using it every time I get a chance.

Related

Comments

No Comments Yet!

You can be first to comment this post!

Post Reply