Tomasz's Portfolio

About Me

I am a beginner programmer who knows Python, Java, C#, and C++. My main specialisation is Python, although my goal is to learn and develop skills in Embedded Systems.

Projects

Background Remover (Login Required)

Date: February 2024 (CLI) & January 2025 (web)

A tool to remove image backgrounds efficiently, created for specific company needs.

It is design not only remove background from multiple images at once, but also add parts numbers at the bottom of the picture when file name ends on specific sufix (more info inside the application).

Application itself was primarly written in Python with usage of rembg, numpy, and os libraries.

Use BG_Remover
Bit of History

At my workplace at the time we were testing new approach to minimise misspicks caused by order pickers while picking articles contining more than one box. The idea was to add pictures of all articles like that and also some other, smaller ones that are coming in multibox (eg. box containing 24x pieces of same article). Our current process at the time was:

  1. Take pictures of the articles
  2. Upload them to computer
  3. Use website for removing backgrounds and remove them one picture by one
  4. Add small pictures that show number of parts below the pictue (in paint)
  5. Crop the pictures and save (website was keeping the original size)
  6. Upload the pictures to the server and assign them to the correct articles
Seeing that long and painful process I started to look for easier solution. Initialy I was looking into automating the process of uploading and downloading the processed pictures from website mentioned before. As you can guess, this didn't worked... But I didn't drop the idea of automation this process. I realised that I have to change the approach, and I looked into the ways to process pictures locally. That lead to discovery of rembg library and the development of CLI based prototype. Unfortunately after finishing the first version and creating .exe for others I realised that this app cannot be used on any other company computer due to the lack of administrative rights or certificates that will indicate the .exe as coming from trusting source. The idea of webapp was born. But at the same time I have become the only person carrrying out this project, so I didn't feel any need to transfer application from CLI to webapp. The change come in when I was contacted by newly open warehouse from Dublin that also started doing similar project. The need for website has been created. I changed the entire approach and created this website using Django - a framework I haven't work with yet. Instead hosting the website in some cloud and paying money for usage of someone else's computer, I've used my own server which proudly lays next to my desk at home.

Pizza Ordering System (Java)

Date: September 2024
Assigment Project

A console-based program that simulates basic system for ordering pizza, built using Objec Oriented Programming principles in Java. It utilises pakcages to organise classes, inheritance, method overriding and polimorphism.

Created for University Assigmnet, to showcase usnderstanding of basic OOP principles on the end of the module. The program uses 4 main classes with child classes for Pizza being seperated into package for better organisation.

Music Player (Python)

Date: January 2023
Intermediate

Simple music playing application that uses PyGame library to play sound, which in handsight, wasn't very good choice as this library does not allows for some features to be implemented - like changing song when current one finishes (or maybe I just didn't figured it out). Besides PyGame it also uses TinyTag to display metadata that are included in .mp3 file.

I have used frames in order to neatly arrange elements inside the window as well to manage code bit better - a skill that was still in early stages at the time. One of other challenges that I had was "Play" button. I wanted it to mimic behaviour of apps like Windows Media Player or Winamp. When pressed for the first time, it starts playing selected song from begining, when pressed again, it pauses the song, and when pressed once again, resumes playing from the same spot. Sounds simple! Although to accomplish it I had to use basic flagging system, since PyGame has diffent methods for "Playing", "Pausing" and "Resuming" sound.

Password Generator (Python)

Date: December 2022
Early Project

Simple password genator desktop application that allows users to select length of the password from 4 to 26 charactrs using slider, and checkboxes to select "Lowercase", "Uppercase", "Numbers" and "Special Characters".

This program generates string of random characters and then chops from it smaller portion for final password. I've used that approach to increase randomness.

Morse Encoder (Python)

Date: October 2022
Early Project

This is my first milestone on programming journey, as it is my first fully completed project, from idea itself to user interface. The app uses tkniter library for GUI and winsound for playing sound - therefore it is dedicated for Windows machines.

Main issue with this app is that after pressing "Play" button application cannot be stopped, which can be a problem with longer phrases. Can it be fixed? Surely! Will i do it? No. This project serves as simple reminder of my humble beginings with Python.

Contact

Contact me through email: tomaszdziduch@gmail.com