Cześć, jestem Programistą Fullstack
Specjalizuję się w tworzeniu wydajnych i skalowalnych aplikacji internetowych łącząc solidną logikę serwerową z nowoczesnymi rozwiązaniami frontendowymi.
Tworzę wydajne aplikacje webowe end‑to‑end: od logiki serwerowej i bazy danych po responsywny interfejs. Stawiam na prostą architekturę, czytelny kod i stabilne wdrożenia.
Projektuję oraz rozwijam REST API z naciskiem na bezpieczeństwo, spójne kontrakty i łatwą integrację z frontendem oraz usługami zewnętrznymi. Dbam o wydajność endpointów i poprawne modelowanie danych.
Łączę systemy poprzez integracje z zewnętrznymi API, webhooki i automatyzacje procesów. Skupiam się na niezawodności: obsłudze błędów, retry, idempotencji i czytelnym logowaniu.
Wydzielam cięższe operacje do zadań asynchronicznych i kolejek, aby aplikacja była szybka i odporna na skoki obciążenia. Projektuję procesy tak, by były monitorowalne i łatwe w utrzymaniu.
Optymalizuję zapytania, cache’owanie oraz sposób dostarczania danych (paginacja, filtrowanie, eksporty). Podejmuję decyzje architektoniczne pod realne metryki i ograniczenia.
Dbam o jakość poprzez testy automatyczne, walidacje danych oraz przewidywalne procesy wdrożeniowe. Zależy mi na tym, żeby zmiany były bezpieczne i łatwe do weryfikacji.
Buduję szybkie, responsywne interfejsy bez przerostu narzędzi, gdy nie są potrzebne. Stawiam na przejrzyste UI, dostępność i sprawną komunikację z backendem.
# Osiągnięcia i Stack
Wydajność Backend
Optymalizacja endpointów (FastAPI/Django), cache (Redis), paginacja i efektywna praca z bazami danych (PostgreSQL/MySQL).
Asynchroniczność i kolejki
Przetwarzanie zadań w tle (Celery), kolejkowanie, harmonogramy oraz mechanizmy retry dla operacji długotrwałych.
Backend & API
Projektowanie i rozwój REST API: spójne kontrakty, dokumentacja (Swagger/OpenAPI), walidacja danych i obsługa błędów.
Integracje i automatyzacja
Integracje z zewnętrznymi API, webhooki, synchronizacja danych oraz automatyzacja procesów (np. n8n).
Testing i jakość
Testy automatyczne (pytest), walidacje (Pydantic), kontrola regresji oraz stabilność wdrożeń.
Frontend (SPA)
Budowa interfejsów w React/Angular: komponenty, routing, stan aplikacji oraz praca z API.
Fullstack Light (bez SPA)
Responsywne UI bez ciężkich frameworków SPA, podejście server‑driven z użyciem HTMX.
DevOps i wdrożenia
Konteneryzacja (Docker), serwowanie i reverse proxy (Nginx), środowiska VPS/VM, podstawowa automatyzacja narzędziowa.
Bezpieczeństwo aplikacji
JWT, MFA, uprawnienia, audyt zmian oraz dobre praktyki ochrony danych i dostępu.
# Ostatnie Projekty
Portfolio Website
Nowoczesne portfolio full‑stack zbudowane na FastAPI i szablonach Jinja2, z dynamicznym formularzem kontaktowym (reCAPTCHA v3, SMTP), dwujęzycznością PL/EN, motywem jasnym/ciemnym oraz płynnymi, automatycznymi karuzelami sekcji. UI jest lekkie (Tailwind + HTMX), a backend dba o walidację, bezpieczeństwo i ograniczenia wysyłek.
Python, JavaScript, HTML, CSS, FastAPI, Jinja2, HTMX, TailwindCSS (CDN), SlowAPI (rate‑limit), FastAPI‑Mail (SMTP), reCAPTCHA v3, Pydantic + Pydantic Settings, Babel (i18n), httpx.
Olivin App
to pełnostackowa aplikacja e‑commerce zrobiona jako monorepo: część kliencka (mobile + web) i backend w jednym repo. Frontend jest zorganizowany w oparciu o Expo Router i podział na strefę publiczną (auth: logowanie/rejestracja/forgot, callback Google, weryfikacja MFA) oraz strefę „sklep” z osobnymi layoutami pod web i native (inne UI na desktop i na mobile, w tym dolne taby). Po stronie klienta jest wydzielona warstwa API (konfiguracja klienta HTTP + interceptory, stałe endpointów i serwisy per domena: auth/kategorie/produkty/koszyk/zamówienia/płatności), a stan aplikacji jest rozbity na store’y (auth, cart, products, categories, orders) z obsługą bezpiecznego przechowywania tokenów. Backend w Django ma wyraźny podział domenowy na aplikacje: własna autoryzacja (custom user, JWT, MFA, Google OAuth), katalog (kategorie/podkategorie), produkty (m.in. zdjęcia i recenzje), koszyk, zamówienia oraz płatności wraz z webhookami pod integracje (np. Stripe/PayPal).
Frontend: React Native + Expo, Expo Router, TypeScript, Zustand, Axios (interceptory), Tailwind/NativeWind, Metro/Babel. Backend: Django (podział settings: base/dev/prod), własny moduł auth (custom user), JWT, Google OAuth, moduły domenowe: categories/products/cart/orders/payments + webhooks
Backend: Django (podział settings: base/dev/prod), własny moduł auth (custom user), JWT, Google OAuth, moduły domenowe: categories/products/cart/orders/payments + webhooks
Gateway, CRM, DocuManager oraz Dashboard
Projekt obejmował rozbudowany system biznesowy z architekturą mikroserwisową, podzielony na cztery niezależne serwisy: Gateway, CRM, DocuManager oraz Dashboard. Gateway pełnił rolę punktu wejścia i spinał ruch do odpowiednich modułów, CRM odpowiadał za logikę procesów i danych biznesowych, DocuManager realizował obieg/zarządzanie dokumentami, a Dashboard zapewniał część raportowo‑analityczną i widoki operacyjne. Całość była projektowana tak, aby poszczególne obszary mogły rozwijać się niezależnie, bez „blokowania” reszty systemu. Od strony frontendowej system był budowany jako mikrofrontendy w Angular 17 z wykorzystaniem Webpack Module Federation. To pozwalało ładować i wdrażać moduły interfejsu jako osobne części (np. osobne sekcje aplikacji przypisane do domeny), utrzymać modularność kodu i ograniczać zakres zmian do konkretnego fragmentu UI. Dodatkowo rozwijany był wspólny design system i biblioteki komponentów (notly-theme), co zapewniało spójny wygląd i zachowanie interfejsu w różnych modułach oraz umożliwiało szybkie składanie widoków w oparciu o gotowe elementy. W warstwie API duży nacisk był położony na „kontrakt” i ergonomię integracji frontend–backend: API było rozwijane jako REST w Django REST Framework, z mechanizmami HATEOAS (linkowanie i prowadzenie po zasobach) oraz Content Negotiation. Dzięki temu endpointy mogły zwracać dane w zależności od potrzeb klienta, w tym obsługiwać eksporty do formatów CSV/XLSX/PDF, co jest kluczowe w aplikacjach backoffice (raporty, zestawienia, dokumenty do obiegu). W praktyce oznaczało to dopracowanie warstwy serializacji, filtrów, paginacji i odpowiedzi API tak, by były przewidywalne i „samodokumentujące się”. Logika biznesowa była rozszerzana o przetwarzanie asynchroniczne i kolejki zadań przez Celery. Takie podejście pozwalało przenosić kosztowne operacje (np. generowanie dokumentów, przygotowanie eksportów, cięższe integracje) poza cykl request/response i poprawiało responsywność systemu. Równolegle wykorzystywano mechanizmy zdarzeniowe (Django Signals) do reagowania na akcje w systemie oraz tworzono własne middleware i permissions, żeby precyzyjnie kontrolować zachowanie aplikacji i dostęp użytkowników do danych. W obszarze danych i wydajności pracowano na PostgreSQL i Redis, stosując strategie cache’owania (np. sesje) oraz usprawnienia API jak paginacja, aby ograniczać koszt zapytań i stabilizować czas odpowiedzi przy większej liczbie rekordów. Taki zestaw (PostgreSQL + Redis + paginacja + cache) to typowy fundament dla aplikacji, które muszą utrzymać płynność przy dużej ilości danych i intensywnym użyciu przez użytkowników. Istotną częścią systemu było bezpieczeństwo i audyt: wdrażane były mechanizmy MFA, tokeny JWT, rozbudowane zarządzanie dostępem oraz śledzenie historii zmian danych (audyt) z wykorzystaniem podejścia typu history tracking. To dawało możliwość odtwarzania zmian, kontroli kto i kiedy modyfikował dane oraz spełniania wymagań „compliance” typowych dla systemów firmowych. Dodatkowo powstał zaawansowany system zarządzania fixtures, zrealizowany jako własne komendy Django (exportfixtures, loadfixtures). Kluczowym elementem było automatyczne wykrywanie i rozwiązywanie zależności pomiędzy modelami (ForeignKey/ManyToMany/OneToOne), obsługa relacji zagnieżdżonych oraz kilka strategii ładowania (create/update/delete/sync). W praktyce taki moduł pozwala szybko przygotowywać środowiska (dev/test), synchronizować dane konfiguracyjne pomiędzy instancjami oraz kontrolować „baseline” danych wymaganych do działania systemu. Całość była rozwijana w workflow Git + Azure DevOps w Agile/Scrum, co przekładało się na iteracyjny rozwój, pracę na zadaniach, code review i regularne wdrożenia
Frontend: Angular 17, TypeScript, JavaScript, HTML5, SCSS/CSS3, architektura mikrofrontendów z Webpack Module Federation, RxJS
Backend: Python, Django, Django REST Framework, Celery, (mechanizmy: Django Signals, custom middleware, permissions), REST API, HATEOAS, Content Negotiation, JWT, MFA, django-simple-history.
Dane i wydajność: PostgreSQL, Redis, cache sesji, paginacja.
Infrastruktura i narzędzia: Docker, Git, Azure DevOps, WebSockets, OCR, Agile/Scrum.
Trip Planner
to full‑stackowy projekt aplikacji do planowania podróży, rozwijany jako wspólny ekosystem: aplikacja mobilna, aplikacja webowa (w trakcie) oraz backend w postaci REST API. Założeniem jest scentralizowanie danych i logiki po stronie API, tak aby klienci (mobile/web) korzystali z tych samych zasobów i procesów, a interfejs był „tylko” warstwą prezentacji i interakcji użytkownika. W repo przewidziana jest również dokumentacja API oraz narzędzia do pracy z bazą, co sugeruje podejście zorientowane na rozwój i późniejsze utrzymanie projektu jako spójnej usługi.
Frontend: React, React Native (mobile + web), ekosystem uruchamiania przez Node.js/NPM.
Mobile toolchain: Android Studio + Android SDK + emulator, oraz Xcode dla iOS.
Backend: FastAPI, Uvicorn, REST API.
Dane / storage: PostgreSQL oraz obiektowy storage MinIO (pod pliki/zasoby)
DevOps / uruchamianie: Docker Compose, dodatkowo narzędzie typu pgAdmin do pracy z bazą.
Kontakt
# Stack i Technologie
Frontend
- HTML
- CSS
- Responsive
- Mobile
- JavaScript
- TypeScript
- React
- React Native
- Angular
- Ionic
- HTMX
- Expo
Backend & API
- REST API
- Python
- Django
- Django REST Framework
- FastAPI
- Flask
- Django Ninja
- Swagger
- WebSocket
Testing & Data
- Pytest
- Pydantic
- Databases
- MySQL
- PostgreSQL
- Redis
- Storages
DevOps & Tools
- Celery
- Docker
- Nginx
- Git
- GitHub
- VPS Servers
- Virtual Machines
- Bash
- cURL
- n8n
- Portainer
- Hosting
- Cloud
- IDE: PyCharm
- IDE: VS Code
- UV
- Ruff
Inne
- Microsoft Office
- Driving License Category B