Skip to content
View k-borowiak's full-sized avatar

Block or report k-borowiak

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
k-borowiak/README.md

Hi 👋 I'm Karol

I build practical backend tools and automation using Python, Docker, and cloud technologies.

I enjoy turning real-world problems into simple, reliable systems — from data collection and processing to containerized execution and cloud‑ready design.
Most of my work starts with a concrete need and grows into something reusable and well‑structured.


🧰 Tech I work with

  • Python — automation, API integration, data collection, data processing, backend utilities
  • Docker, Git, GitHub Actions — containerization, CI/CD, reproducible setups
  • AWS — EC2, Lambda, S3, IAM, VPC, CloudWatch
  • Linux & networking — deployment, debugging, troubleshooting

🚀 Selected Projects

Flight Deals Tracker

Repo: https://github.com/k-borowiak/flight_deals

A tool that automatically tracks flight prices and sends a weekly email report with current and historical data.

It:

  • queries Google Travel Explore API for the cheapest flights across multiple destinations
  • caches API responses locally to avoid unnecessary calls
  • compares current prices against historical minimums
  • updates a Google Sheets spreadsheet via REST API
  • sends a formatted weekly report via Gmail SMTP
  • runs automatically every Monday via GitHub Actions

What started as a manual price check became a fully automated, zero-maintenance tracker.


Training Analyzer

Repo: https://github.com/k-borowiak/training-analyzer

A backend system for collecting and analyzing endurance training data, starting with Strava.

The project focuses on building a clean and extensible backend that:

  • connects to external fitness platforms using OAuth
  • synchronizes activities incrementally and supports historical imports
  • stores raw training data and calculates key performance metrics
  • processes data asynchronously in the background
  • prepares the ground for AI‑assisted training insights

This project is less about flashy features and more about solid backend architecture, data flow, and a design that can evolve into a cloud‑deployed service.


ZwiftPower Rider Data Tool

Repo: https://github.com/k-borowiak/zwiftpower-excel-updater

A Python tool that automates collecting rider performance data from ZwiftPower and turns it into a structured dataset for team management.

It:

  • logs in via Zwift SSO
  • extracts rider data from dynamic web pages
  • cleans and normalizes results
  • exports ready‑to‑use data to Excel

What started as a manual, repetitive task became a reliable automation tool that can be reused and extended.


🔍 What these projects show

  • solving real problems with automation
  • working with external APIs and dynamic web data
  • designing backend workflows for data collection and processing
  • separating responsibilities (data intake, logic, output)
  • using Docker for consistent, repeatable environments
  • setting up CI with GitHub Actions
  • thinking ahead about AWS deployment and scalability

🧩 How I work

I usually start with the simplest working solution, then improve structure, reliability, and deployment step by step.

I care about:

  • simple and understandable solutions
  • tools that are easy to run, debug, and maintain
  • reproducible setups (Docker, configuration, scripts)
  • building software designed for real use, not just demos

📫 Contact

Pinned Loading

  1. flight_deals flight_deals Public

    Python app that searches for cheap flights and tracks deals using Google Flights API and Sheety.

    Python

  2. zwiftpower-excel-updater zwiftpower-excel-updater Public

    Python tool for collecting ZwiftPower rider stats and updating a team Excel workbook.

    Python

  3. training-analyzer training-analyzer Public

    A system that collects training data from fitness apps (starting with Strava), stores it, and analyzes it. It shows activity history, basic stats, and uses an AI engine to generate simple insights …

    Python

  4. Production-Plan-Viewer Production-Plan-Viewer Public

    A lightweight desktop app for viewing and tracking weekly production orders.

    Python