Hi! I'm Tahmidul!
Table of Contents
Personal Projects #
Homelab/Media Server #
I have had a homelab for personal self-hosted applications for the last eight years. Currently I am using Ubuntu Server in Hyper-V on my primary Windows PC to host a number of applications, mostly as Docker containers. My experience with the homelab has allowed me to learn a lot about networking, server management, virtualization, automation, scripting, and more. Two of the most important applications I have running are Immich (for photo and video backup) and Paperless-ngx (for document management). Adding AI into the mix through Ollama and N8N has allowed me to automate a lot of my tasks, and explore a lot of new possibilities.
Tech Used
- Ubuntu Server
- Hyper-V
- Bash
- Python
- Docker
- Ollama
- N8N
- Portainer
- Multiple Open Source Projects
Autogenerated Calendar for Free Concerts #
This Python script scrapes the Royal Conservatory of Music’s website for free student recitals and community performances, generating an iCalendar (.ics) file. This allows you to easily subscribe and stay updated with the latest free concert schedules in your favorite calendar application. The public calendar is updated automatically every hour.
Tech Used
- Python
- BeautifulSoup
- iCalendar
- GitHub Actions
- Cloudflare Workers
Application Setup Guides #
I have created a number of setup guides for various applications I use. These guides are written in Markdown and are hosted on Github. They include instructions for setting up Playnite, Plex, PowerShell, and Fish Shell.
Plex Poster Downloader (tpdb) #
TPDB is a powerful Python utility that streamlines the management of movie and TV show posters for your Plex media server. It downloads, organizes, and syncs custom artwork from ThePosterDB using intelligent fuzzy matching and automated folder organization. The tool is perfect for Plex enthusiasts who use metadata managers like Kometa or prefer managing posters directly in their media library. It features a modern, interactive CLI for a smooth user experience.
Tech Used
- Python
- PlexAPI
- RapidFuzz
- Typer
- Rich
- Requests
Art Gallery Wallpaper #
Inspired by art galleries, this project aims to create wallpapers that evoke the feeling of viewing paintings in a virtual gallery. The main challenge is programmatically generating ornate frames for the artwork. The current approach involves using cloud-based image-to-image AI models like Gemini to generate a full frame from a single corner piece. The generated frame is then validated for correct dimensions before being combined with a gallery wall background and informational text to create the final wallpaper.
Tech Used
- Python
- OpenCV
- Gemini Python SDK
University Projects #
COMP4478 - Game Programming #
Our second project for the course was to develop a game using Unity. We chose to make a simple puzzle platformer. My responsibility was to write the code and use unity editor to implement the user interface for the game.
I also played a part in overseeing the collaboration on Github, to merge the PRs and fix any conflicts. Although not a part of our final grade, I implemented a simplified DevOps pipeline using Github Actions and GameCI, with continuous integration and deployment. When we release a new version of the game, I setup a workflow using GameCI to test the project before building the package for Windows and WebGL. The same workflow is used to deploy the WebGL package to Github Pages.
Tech Used
- Unity
- C#
- Github
- GameCI
- Github Pages