|
About |
Work & Projects |
Profile |
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.
|
Architecture & patterns
|
Engineering practice
|
Currently learning: cloud architecture, Kubernetes, distributed systems design.
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
🔧 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.
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
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
🎓 E-Learning Platform — Backend API · Spring Boot, Engineering Thesis
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
🏠 Warsaw Real Estate Clustering · Python, geospatial ML
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
![]() 18 districts reconstructed from OSM |
![]() K-means clusters on the real map |
![]() Price-density heatmap |
![]() 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
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.
![]() Home — GitHub Pages |
![]() About — 3D project showcase |
![]() Bilingual |
![]() Light theme |
Stack: React · TypeScript · Tailwind CSS · GitHub Pages · GitHub API
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
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
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.
| 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 |
- 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.























