Hey, my name is Ivan Karabadzhak.
I am a Software Engineer

I specialize in building scalable data systems and end-to-end solutions using Python and SQL, with experience in cloud platforms like AWS and GCP.

Image

MY sKILLS

Image

Programming and Problem-Solving

Advanced skills in Python and SQL, with experience in delivering end-to-end solutions that align technical implementation with business needs.

Image

Data Engineering and Automation

Expertise in building scalable data pipelines, automating workflows, and optimizing processes to handle large datasets efficiently.

Image

Cloud Computing and Infrastructure

Proficient in leveraging cloud platforms (AWS, GCP) and containerization tools (Docker) to design and maintain reliable, scalable systems.

About me

Approach

Highlights

Designed and maintained a data graph with over 5 million healthcare professionals, driving precise audience targeting for marketing campaigns.

Developed audience-matching systems achieving match rates of up to 100%, significantly improving campaign efficiency.

Automated data workflows, reducing processing time several-fold and improving delivery timelines for clients.

Built and launched two SaaS platforms from scratch, delivering scalable and reliable solutions for clients in real estate and e-commerce.

My Experience

Automated Shop – Auto Parts

JAN 2015 – DEC 2022

The client for this project is reseller of auto parts. His business is very simple, he bought parts for one price and sell them for bigger one. He had a lot of sales managers who receive orders from customers and handle them. Customers was able to order parts from website. However, there was a problem. Sometimes part price is changed while client making is order. And sometimes that causes an issue if margin was like 10-20% and prices is change more than that value. Sales managers had to handle those changes by theirs self. There was a lot of works, because client has different parts distributors.

How I solve that? Pretty simple. At first I builded scraping system. It gather all parts in one big databases from different kind of sources: APIs, Databases, Websites, CSV/JSON files, etc. Main feature is tracking prices changed almost in real time. Then, we build new shop around it with control panel. Client was able to change prices margin depending on disributor, part time. Also the shop had discount system for customers. This automate a lot and, unfortunately for them, my client fired some of sales managers.

PHP Laravel Docker Nginx MySQL

Crowdfunding Platform Stocks Automation

JAN 2015 – DEC 2022

The client for this project is reseller of auto parts. His business is very simple, he bought parts for one price and sell them for bigger one. He had a lot of sales managers who receive orders from customers and handle them. Customers was able to order parts from website. However, there was a problem. Sometimes part price is changed while client making is order. And sometimes that causes an issue if margin was like 10-20% and prices is change more than that value. Sales managers had to handle those changes by theirs self. There was a lot of works, because client has different parts distributors.

How I solve that? Pretty simple. At first I builded scraping system. It gather all parts in one big databases from different kind of sources: APIs, Databases, Websites, CSV/JSON files, etc. Main feature is tracking prices changed almost in real time. Then, we build new shop around it with control panel. Client was able to change prices margin depending on disributor, part time. Also the shop had discount system for customers. This automate a lot and, unfortunately for them, my client fired some of sales managers.

Crowdfunding Platform Stocks Automation

JAN 2015 – DEC 2022

The client for this project is reseller of auto parts. His business is very simple, he bought parts for one price and sell them for bigger one. He had a lot of sales managers who receive orders from customers and handle them. Customers was able to order parts from website. However, there was a problem. Sometimes part price is changed while client making is order. And sometimes that causes an issue if margin was like 10-20% and prices is change more than that value. Sales managers had to handle those changes by theirs self. There was a lot of works, because client has different parts distributors.

How I solve that? Pretty simple. At first I builded scraping system. It gather all parts in one big databases from different kind of sources: APIs, Databases, Websites, CSV/JSON files, etc. Main feature is tracking prices changed almost in real time. Then, we build new shop around it with control panel. Client was able to change prices margin depending on disributor, part time. Also the shop had discount system for customers. This automate a lot and, unfortunately for them, my client fired some of sales managers.

Automated Shop – Auto Parts

JAN 2015 – DEC 2022

The client for this project is reseller of auto parts. His business is very simple, he bought parts for one price and sell them for bigger one. He had a lot of sales managers who receive orders from customers and handle them. Customers was able to order parts from website. However, there was a problem. Sometimes part price is changed while client making is order. And sometimes that causes an issue if margin was like 10-20% and prices is change more than that value. Sales managers had to handle those changes by theirs self. There was a lot of works, because client has different parts distributors.

How I solve that? Pretty simple. At first I builded scraping system. It gather all parts in one big databases from different kind of sources: APIs, Databases, Websites, CSV/JSON files, etc. Main feature is tracking prices changed almost in real time. Then, we build new shop around it with control panel. Client was able to change prices margin depending on disributor, part time. Also the shop had discount system for customers. This automate a lot and, unfortunately for them, my client fired some of sales managers.

Latest blog posts

CMD + C and CMD + V for Vim inside WezTerm

It’s possible to configure Vim or Neovim in a way that default commands like yank or delete would use the system clipboard. However, my preference is to have separate registers. The reason is that I don’t want to replace the system buffer when yanking or deleting. Furthermore, I would like to use CMD... Read article

Traveling to the Albanian Alps around Theth City

You are right; there are no Alps in Albania. However, many people refer to them that way because they look very similar. Nevertheless, my wife and I decided to visit. We live in Bulgaria and have a car, which allows us to travel to Albania more comfortably. We chose to go to Theth,... Read article

I have launched my Telegram AI bot – Chatty Robo

What could it do? The current version is only a wrapper around GPT-3.5-turbo and GPT-4o. As you may understand, GPT-3.5 is available in the free version, but GPT-4.0 is only for paid subscribers. I love to use AI from my favorite messaging app. Fortunately, over 100 active users love to do the same... Read article

Kitty shortcuts work only with Latin characters – How to fix?

If you are reading this probably you have the same issues as I faced before. I love Kitty terminal. It’s fast and simple. At the same time, I use in my life following languages: Bulgarian, Ukrainian, and Russian. All of them use the Cyrillic alphabet. And Kitty has an issue: shortcuts work only... Read article

Why Python is best tool for data processing

For a long time, I used NodeJS as a tool for all kinds of tasks. Nowadays, however, I find myself increasingly drawn to Python for data processing tasks, which have become more frequent in my work. I’ve found that NodeJS can be somewhat verbose for these types of projects, especially when dealing with... Read article