Skip to content
View JakubPatkowski's full-sized avatar
🔍
looking for a job 🚀
🔍
looking for a job 🚀

Highlights

  • Pro

Block or report JakubPatkowski

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
JakubPatkowski/README.md

Typing SVG

LinkedIn Portfolio

Profile Views


Navigation

About

Work & Projects

Profile


👋 Who I am

I'm a .NET Backend Developer with 1.5 years of commercial experience — I shipped production REST APIs in C#/.NET at Unmanned Systems Poland, working on a modular monolith with Clean Architecture, Hexagonal Architecture, DDD and CQRS, integrating systems like Keycloak, Apache Pulsar, RabbitMQ and Matrix, running code reviews, and mentoring a new team member.

Outside of backend engineering I teach programming (C++, C#, Python, cybersecurity) at Giganci Programowania, tutor students privately in mathematics and programming, and I'm finishing a Master's in Computer Science at Lublin University of Technology.

I learn fastest when I'm building — most of what's below exists because I wanted to understand how something actually works in production, not just in a tutorial.


🎯 What I focus on

Architecture & patterns

  • Clean Architecture · strict layering
  • Domain-Driven Design · bounded contexts
  • CQRS · command/query separation
  • Modular Monolith · event contracts
  • REST API design & versioning

Engineering practice

  • Integration testing on real databases
  • Resilience patterns (Polly, retries, back-off)
  • CI/CD pipelines (GitHub Actions, GitLab)
  • Security scanning (CodeQL, Dependabot)
  • Observability & structured logging

Currently learning: cloud architecture, Kubernetes, distributed systems design.


🛠️ Tech stack

Backend & languages

C# .NET Java Spring Boot Python

Databases & messaging

PostgreSQL MySQL Apache Pulsar RabbitMQ

DevOps & infrastructure

Docker GitHub Actions GitLab CI/CD Keycloak Linux Grafana

Frontend (working knowledge)

React Angular TypeScript Tailwind CSS


🏢 Commercial work · Seecore platform

A multi-module platform for organisation and team management at Unmanned Systems Poland, integrated with AI capabilities. (Proprietary — code not public.)

Built on a modular monolith with Clean Architecture, Hexagonal Architecture, DDD and CQRS. Inter-module communication goes through Apache Pulsar event contracts; authorisation is delegated to Keycloak. I independently designed and shipped Hub — a satellite forum microservice with its own PostgreSQL instance, REST API, and independent deployment pipeline.

Day-to-day responsibilities

  • Designing new modules end-to-end: contracts, persistence, tests, deployment
  • Integrating external systems (Keycloak, Pulsar, MCP tooling for AI)
  • Running code reviews, mentoring new hires, writing technical documentation
  • Presenting technical progress to international investors

Stack: C# · .NET · PostgreSQL · Apache Pulsar · RabbitMQ · Keycloak · Matrix · Docker · GitLab CI/CD

Sample of internal tooling I built

🔧 Internal utilities I developed to speed up day-to-day backend work

Small internal tools I designed and implemented to make testing, debugging and integration work less painful for the whole team.

Scenario tester
Scenario tester — reproducible end-to-end test scenarios across modules
MCP test tool
MCP test tool — manual harness for MCP server / AI tool integration
Pulsar events tool
Pulsar events tool — inspect, replay and diff event contracts
Activity diagram
Module activity diagram — documentation output for module flows

📂 Featured projects

Each project below represents a deliberate engineering decision, not a tutorial follow-along. Click any section to expand full details.

📋 Todo Task API · .NET 8

CI codecov CodeQL Docker

A REST API for todo management, deliberately built past "CRUD demo" quality. What makes it interesting is not the feature set — it's the choices: integration tests hit a real PostgreSQL via Testcontainers, a custom token-bucket rate limiter returns proper Retry-After headers, Polly handles transient failures with exponential back-off, and the GitHub Actions pipeline runs CodeQL security scans and publishes Docker images on every push to main.

Engineering highlights
Choice Why
Testcontainers over in-memory DB Real PostgreSQL behaviour (indexes, constraints, transactions) — the whole point of integration tests
WebApplicationFactory HTTP tests Tests go through the full pipeline: middleware, auth, serialisation
Custom token-bucket limiter Learning exercise — understand the algorithm before reaching for a library
Polly resilience policies Retry with exponential back-off on transient failures
Clean Architecture, 4 layers API → Application → Core → Infrastructure, enforced by project references
Full CI/CD pipeline Lint → test → coverage → CodeQL → Docker build, no manual steps

Stack: .NET 8 · PostgreSQL · Testcontainers · Polly · xUnit · Docker · GitHub Actions

TodoTaskApi Swagger UI

🎓 E-Learning Platform — Backend API · Spring Boot, Engineering Thesis

Java CI

Backend for an end-to-end e-learning platform: course authoring, purchase with virtual currency, reviews, and a four-tier role hierarchy (User → Verified → Teacher → Admin). JWT access + refresh tokens, Caffeine caching on hot paths, brute-force protection via failed-attempt tracking, and SMTP-based email verification. Courses support chapters, subchapters, quizzes, video, and images — the real-world data model, not a stripped-down demo.

Feature breakdown
Area Details
Auth JWT access (24h) + refresh (7 days), role hierarchy, email verification
Course model Chapters → subchapters → quizzes + video + images
Points economy Virtual currency, purchase transactions, teacher payouts
Reviews Course and teacher reviews with aggregated ratings
Caching Caffeine for frequently accessed read paths
Security Brute-force lockout on repeated login failures

Stack: Java 22 · Spring Boot 3.3 · Spring Security + JWT · PostgreSQL · Hibernate · Caffeine · Docker

Frontend: React application by Hubert Ozarowski

E-Learning platform frontend
More screenshots — Swagger, ERD, tests
Swagger
REST API (Swagger)
ERD
ERD diagram
Tests
Test suite

🏠 Warsaw Real Estate Clustering · Python, geospatial ML

Python Lint

Geospatial clustering of Warsaw's real estate market using authentic district boundaries from OpenStreetMap — not rough rectangles. The core is a custom "manual stitching" algorithm that assembles precise 18-district polygons from raw OSM boundary segments. Synthetic listings are generated inside real polygons (validated with polygon.contains()), then clustered with K-means where k is selected automatically via the Silhouette + Elbow methods. Output is a set of interactive Folium maps with toggleable layers, heatmaps and centroids.

Why it's more interesting than a standard K-means demo
Aspect What's non-trivial
Real boundaries 18 Warsaw districts reconstructed from OSM relations, not bounding boxes
Manual stitching Custom algorithm that closes broken polygon segments into valid geometry
Point-in-polygon Synthetic data is validated to fall inside actual district shapes
Automatic k Elbow + Silhouette run together and cross-validate the choice
Interactive output Folium maps with layer toggles — usable, not just a screenshot

Stack: Python · Scikit-learn · GeoPandas · Shapely · Folium · Overpass API

District boundaries
18 districts reconstructed from OSM
Clusters
K-means clusters on the real map
Heatmap
Price-density heatmap
Report overview
Generated report overview

📊 Polish Housing Price Comparator · Angular + Laravel

Full-stack SPA for analysing residential real estate prices across 17 Polish cities using official NBP data (Q3 2006 – Q4 2023). Interactive ApexCharts visualisations, side-by-side city comparisons, primary vs secondary market segmentation, and housing prices plotted against NBP reference rates for macroeconomic context. Data export in JSON and XML, authentication via Laravel Sanctum.

Feature breakdown
Feature Details
Data coverage 17 Polish cities, primary + secondary market, 2006 Q3 – 2023 Q4
Macro context Overlay of NBP reference interest rates
Exports JSON + XML endpoints
Auth Laravel Sanctum token-based
Charts ApexCharts, interactive, filterable

Stack: Angular 17 · TypeScript · Laravel 10 · PHP 8.2 · MySQL · ApexCharts · Docker

Housing Price Comparator

🌐 Portfolio website

Interactive personal portfolio built with React, TypeScript and Tailwind CSS. Features a 3D project showcase, bilingual UI (PL/EN), dark/light theming, and live data from the GitHub API — so the projects and stats shown there stay in sync with this profile automatically.

Portfolio home
Home — GitHub Pages
Portfolio about
About — 3D project showcase
Portfolio home
Bilingual
Portfolio about
Light theme

Stack: React · TypeScript · Tailwind CSS · GitHub Pages · GitHub API


💼 Experience

Unmanned Systems Poland — .NET Backend Developer

Dec 2024 — Mar 2026 · Remote

  • Designing and shipping modules in a modular monolith (Clean Architecture, Hexagonal Architecture, DDD, CQRS)
  • Integrating external systems: Keycloak, Apache Pulsar, RabbitMQ, Matrix, MCP tooling for AI
  • Independently delivered Hub — a satellite forum microservice, full REST API, own DB, own pipeline
  • Running code reviews, mentoring a new team member, writing technical documentation
  • Presenting technical progress to international investors

Giganci Programowania — Programming Trainer

Jul 2024 — Present · Remote

  • Long-form C++, C# and Python courses for teenage students
  • Cybersecurity fundamentals
  • Managing groups of 8–12 students and adapting pace to skill level
  • Demo lessons (C#, Python) for prospective clients

Private tutoring — Mathematics, Physics & Programming

2019 — Present

Tutoring taught me how to explain a single concept five different ways until something clicks, how to write instructions that won't be misread, and how patient debugging works when the person in front of you is stuck. Skills I still rely on every day in code review and documentation.


Tutoring taught me how to explain a single concept five different ways until something clicks, how to write instructions that won't be misread, and how patient debugging works when the person in front of you is stuck. Skills I still rely on every day in code review and documentation.


🎓 Education & certifications

Lublin University of Technology

Degree Field Specialization Years
M.Sc. Computer Science Software Development & Web Services 2025 — Present
B.Eng. Computer Science Software Engineering 2020 — 2025
Certifications
Certificate Issuer
Reactive Architecture: Reactive Microservices Cognitive Class
Reactive Architecture: Domain-Driven Design Cognitive Class
Introduction to Cybersecurity Cisco Networking Academy
Basics of C++ Sololearn
Reactive Microservices Domain-Driven Design Cybersecurity C++ Sololearn

📊 GitHub stats


🔭 Currently

  • Pursuing M.Sc. in Computer Science at Lublin University of Technology
  • Teaching C#, Python and cybersecurity at Giganci Programowania
  • Tutoring students privately in mathematics and programming
  • Open to new backend engineering opportunities

If any of this is useful to you, a ⭐ on the projects is the nicest form of feedback.

Pinned Loading

  1. KorepetycjeOnlineBackend KorepetycjeOnlineBackend Public

    REST API for e-learning platform with JWT auth, course management, and points system. Engineering thesis project.

    Java 1

  2. TodoTaskApi TodoTaskApi Public

    Production-ready REST API for todo management built with .NET 8, Clean Architecture, Testcontainers, Docker, and comprehensive testing

    C# 1

  3. ProjektAngularLaravell ProjektAngularLaravell Public

    Angular + Laravel application for comparing apartment prices in 17 Polish cities with data from the National Bank of Poland

    PHP

  4. WarsawRealEstateClustering WarsawRealEstateClustering Public

    Advanced geospatial clustering analysis of Warsaw's real estate market using K-means and authentic OpenStreetMap district boundaries

    HTML

  5. JakubPatkowski.github.io JakubPatkowski.github.io Public

    TypeScript