Cześć, jestem

Paweł Przytuła

Full Stack Developer

Specjalizuję się w systemach rozproszonych, .NET / Blazor, ASP.NET Core MVC, Angular i Flutter. Mieszkam w Poznaniu.

przewiń w dół

Z czym pracuję

Główne

Flutter Dart C# .NET Core Blazor Server

Web i Mobile

Angular ASP.NET MVC MAUI TypeScript

Bazy danych

MSSQL PostgreSQL MySQL MongoDB EF Core

DevOps i narzędzia

Azure DevOps Docker Git BitBucket Jira Confluence

Raportowanie i UI

DevExpress Grafana Power BI SAP Web Intelligence

Low-Code

PowerApps Power Automate

Historia pracy

Software Developer

Antumo P.S.A. (rebrand z M2T)

2024 - obecnie
  • Rozwój rozproszonego systemu operacji kolejowych (ASP.NET Core MVC, Blazor Server, Flutter)
  • Skalowanie backendu do obsługi 30 000+ nowych zdarzeń dziennie przez optymalizacje DB i zapytań
  • Budowa zaawansowanych raportów i widoków z komponentami DevExpress
  • Tworzenie niestandardowych tag helperów MVC i integracja własnych narzędzi CSS
  • Integracja urządzeń GPS Teltonika i implementacja śledzenia pociągów w czasie rzeczywistym w Blazor Server
  • Tworzenie narzędzi do testów wydajnościowych i symulatorów pojazdów GPS

Junior Developer

M2T Prosta Spółka Akcyjna

2023
  • Rozwój aplikacji webowych i mobilnych z ASP.NET Zero
  • Optymalizacja procesów dokumentowych i narzędzi audytowych

Konsultant Biznesowy

ARP Ideas sp. z o.o.

2022
  • Budowa aplikacji PowerApps i Power Automate
  • Analiza i dokumentacja User Stories

Associate Consultant / Senior IT/OT Specialist

HCL Poland

2016 - 2022
  • Rozwój aplikacji Blazor do narzędzi wewnętrznych
  • Automatyzacja procesów raportowania SAP
  • Wsparcie systemów IT/OT dla linii produkcyjnych Volkswagen

Wybrane realizacje

01

Flutter Field Operations App

Komercyjny

Aplikacja mobilna dla pracowników terenowych pracujących w rozproszonych zespołach. Zaimplementowałem raportowanie usterek z wieloetapową nawigacją, workflow oparty na naklejkach, skanowanie biletów z historią ostatnich skanów, obsługę załączników i walidację interakcji PDF. Backend obsługiwał jednocześnie klientów Android i Flutter.

Raportowanie usterekHistoria skanówWalidacja PDFMulti-platforma
FlutterDartBlazor ServerASP.NET Core
02

Real-time GPS Tracking Dashboard

Komercyjny

Dashboard śledzenia pojazdów w czasie rzeczywistym z zarządzaniem trasami, integrujący się ze sprzętowym GPS po TCP. Obsługiwałem dane kierowców i pojazdów, aktualizacje pozycji na żywo oraz migracje EF Core dla ewoluujących modeli danych. Zaprojektowany pod wysoką częstotliwość zdarzeń z urządzeń embedded.

Pozycje GPS na żywoDane kierowców/pojazdówMigracje EF CoreIntegracja TCP
Blazor ServerASP.NET CoreEF CorePostgreSQL
03

MDM Load Testing Simulator

Komercyjny

Zbudowałem symulator emulujący 15 000 równoległych agentów Android MDM w celu walidacji stabilności platformy przed wdrożeniem produkcyjnym. Każde wirtualne urządzenie wykonuje konfigurowalny cykl życia: rejestracje, okresowe odpytywanie komend z jitterem, raportowanie heartbeat, wykonywanie komend i rzeczywiste pobieranie APK generujące autentyczne obciążenie sieciowe. Zaprojektowałem cztery scenariusze testowe – burst rejestracji, 4‑godzinne obciążenie bazowe, masowa dystrybucja APK (50 MB x 15k urządzeń) i burst komend – monitorowane w czasie rzeczywistym przez dashboardy Grafana zasilane przez Prometheus i postgres-exporter.

Kryteria akceptacji: p50 < 500 msCPU < 80%DB queries < 1 szero deadlocków
15k wirtualnych urządzeńObciążenie dystrybucji APK4 scenariusze testoweMonitoring Grafana
.NETC#PostgreSQLKubernetesGrafanaPrometheus
04

Multi-platform POS & Reporting Backend

Komercyjny

Backend systemu sprzedaży biletów i zarządzania pracownikami obsługiwał jednocześnie klientów Android i Flutter. Dodałem moduły notatek dyscyplinarnych i raportów rozbieżności, usprawniłem zapytania zakresów dat dla autouzupełniania zmian, rozszerzyłem metody wstawiania o zwracanie wygenerowanych ID oraz rozbudowałem obsługę ExplanationReport ze strukturalnym logowaniem.

Klienci Android + FlutterNotatki dyscyplinarneAutouzupełnianie zmianRaporty DevExpress
ASP.NET CoreAndroidFlutterDevExpress
05

CopyCost

Prywatny

Osobiste narzędzie desktopowe Windows do śledzenia i podsumowywania płatności dla copywriterów. Obsługuje wielu klientów i kategorie tekstów z cenami za 1000 znaków, miesięczne podsumowania płatności i wykresy wizualne. Zbudowane jako hybrydowa aplikacja MAUI Blazor z lokalną persystencją EF Core i UI MudBlazor.

Zarządzanie klientami i kategoriamiPodsumowania miesięczneWykresy płatnościHybryd MAUI Blazor
.NET 7MAUIBlazorMudBlazorEF Core
06

Facility Asset Management System

Prywatny

Pełnowymiarowy system do zarządzania zasobami obiektów przemysłowych, urządzeniami, strefami i komunikatami serwisowymi. Zamodelowałem bogatą domenę obejmującą zasoby, kategorie, sytuacje, współrzędne i parametry inspekcji. Backend REST API z UI Blazor Server, MediatR do obsługi komend, tabele temporalne do pełnej historii audytu oraz strukturalne logowanie Serilog.

Bogaty model domenowyMediatR CQRSTabele temporalneBlazor Server
ASP.NET CoreBlazor ServerEF CoreMediatRMudBlazorMSSQL
07

MCP Server for Outline Wiki

Open Source

Open-source serwer Model Context Protocol umożliwiający asystentom AI interakcje z usługami dokumentacji Outline. Zaimplementowałem odporną logikę ponawiania HTTP z obsługą nagłówka Retry-After, backoff rate-limit, sanityzację URL, bezpieczeństwo klucza API oraz kompleksowy zestaw testów pokrywający przypadki brzegowe.

Obsługa rate limitWsparcie Retry-AfterSanityzacja URLPokrycie testami
TypeScriptNode.jsMCP

Proces deweloperski

W ramach sprintu

Planowanie

  • Zakres i kryteria akceptacji
  • Story points (Fibonacci)
  • Priorytetyzacja

Rozwój

  • Implementacja
  • Zgłoszenie blokera na daily
  • Przełączenie zadania do odblokowania
  • Powrót i zakończenie

Jakość

  • Testy manualne i smoke
  • Testy jednostkowe / integracyjne

Dostarczenie

  • PR + weryfikacja CI
  • Code review
  • Podbicie wersji i changelog
  • Deploy / release mobilny

Poza sprintem

Analiza zgłoszenia i logów

Gdy pojawia się zgłoszenie, śledzę je przez logi i zachowanie systemu, żeby znaleźć rzeczywistą przyczynę zanim napiszę choćby linie kodu.

Klasyfikacja problemu

Rozróżniam błędy, brakujące funkcjonalności i możliwości usprawnień – i opisuję każdy z nich jasno, żeby zespół mógł podjąć świadomą decyzję o priorytecie.

Wkład do backlogu

Wszystko, co warto zaadresować, zostaje opisane i dodane do backlogu na następną dyskusję sprintową – nie zostaje jako notatka mentalna czy komentarz w kodzie.

Wykształcenie

Inżynier Informatyki

Wyższa Szkoła Bankowa w Poznaniu

2018 - 2022

Poza pracą

Open source - kontrybucje do Blazor School i narzędzi produkcyjnych
Nauka gry na pianinie