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 #
I created a script to scrape the Royal Conservatory of Music’s website for free concerts and events. The script generates a calendar file that can be imported into Google Calendar, making it easy to keep track of upcoming events. The script is written in Python and uses BeautifulSoup for web scraping.
Tech Used
- Python
- BeautifulSoup
- Regex
- Google Calendar API
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) #
This project automates downloading and organizing movie and TV show posters from ThePosterDB for use with Plex. The Python script uses fuzzy matching and the Plex API to correctly match poster sets to media files. It streamlines the process of updating posters, either by placing them directly in the media directory for Plex to use or by organizing them for use with Kometa, a Plex metadata management tool.
Tech Used
- Python
- Requests
- PlexAPI
- TheFuzz
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