Przemysław Pietrzak

Full-stack TypeScript Developer

Buduję i wdrażam aplikacje full-stack w TypeScript: React/Next.js na frontendzie oraz Node.js/NestJS na backendzie. Rozwijam też projekty PHP/Symfony, API, kolejki i integracje z PostgreSQL, MySQL i MongoDB.

01 — 05 / portfolio

Wybrane projekty

Pięć projektów, przy których odpowiadałem za kod, decyzje techniczne i wdrożenie.

01

ORGON — system HR

System HR rozwijany w jednym monorepo: Symfony API i worker, Next.js, narzędzia Go i PostgreSQL.

Cel projektu
Zbudować system HR, który łączy panel webowy, API, zadania w tle i narzędzia administracyjne w jednym spójnym środowisku.
Mój zakres
Zaprojektowałem układ usług, rozwijałem backend i frontend oraz przygotowałem wdrożenie i procedury recovery.
Co zrobiłem
  • Rozdzieliłem API, worker, aplikację webową i bazę na cztery usługi.
  • Obsługę zadań przeniosłem do workera opartego na outboxie, retry i idempotencji.
  • Dodałem narzędzia Go do instalacji i aktualizacji oraz automatyczne backupy i testowe odtworzenia bazy.
Efekt
ORGON działa na Railway: web, API i worker korzystają z tej samej wersji kodu. Backup jest wykonywany codziennie, a odtworzenie bazy sprawdzane co tydzień.

Stack

  • PHP 8.2+
  • Symfony 7.4
  • Messenger
  • Doctrine
  • Next.js 16
  • React 19
  • TypeScript
  • Go
  • PostgreSQL
  • Docker
  • Railway
02

PP Solutions — serwis i platforma

Dwujęzyczny serwis B2B połączony z formularzem zapytań i backendem do obsługi procesów firmowych.

Cel projektu
Stworzyć jedno miejsce do prezentacji usług, zbierania zapytań i obsługi procesów firmowych.
Mój zakres
Rozwijałem frontend i backend, kontrakty API oraz proces wdrażania i utrzymania serwisu.
Co zrobiłem
  • Zbudowałem frontend w Next.js, a API w Fastify.
  • Oparłem komunikację frontend–backend na OpenAPI i generowanym kliencie TypeScript.
  • Podzieliłem backend na moduły dotyczące m.in. zapytań, projektów, umów i faktur.
Efekt
Serwis działa po polsku i angielsku, prezentuje ofertę i przyjmuje zapytania przez formularz z jasną informacją o prywatności.

Stack

  • Next.js
  • React
  • TypeScript
  • Node.js
  • Fastify
  • OpenAPI
  • PostgreSQL
  • Redis
  • Render
03

Kraina Karpat — WordPress i WooCommerce

Rozbudowa serwisu redakcyjnego WordPress o przygotowany i kontrolowany storefront WooCommerce.

Cel projektu
Rozszerzyć serwis redakcyjny o sklep B2C i przygotować go technicznie do uruchomienia sprzedaży po zatwierdzeniu kwestii organizacyjnych i prawnych.
Mój zakres
Przygotowałem motyw blokowy, integrację WooCommerce, testy, migracje, wdrożenie i procedury backupu.
Co zrobiłem
  • Migracje treści i aktywacje przygotowałem tak, żeby można je było bezpiecznie uruchamiać ponownie.
  • Sprzedaż pozostawiłem wyłączoną do czasu zamknięcia decyzji organizacyjnych i prawnych.
  • Dodałem osobne testy storefrontu i checkoutu na desktopie i mobile oraz procedurę odtworzenia z backupu.
Efekt
Serwis działa publicznie, a część sklepowa ma gotową ścieżkę wdrożenia i recovery. Sprzedaż nie jest jeszcze uruchomiona.

Stack

  • WordPress
  • WooCommerce
  • PHP
  • Block Theme
  • MySQL
  • Docker
  • Playwright
  • Mikrus
04

CASN — z Laravel do Next.js

Modernizacja serwisu z Laravel i Blade do platformy publikacyjnej opartej na Next.js, MySQL i Strapi.

Cel projektu
Przenieść wieloletnie analizy do nowej platformy redakcyjnej, zachowując publiczny dostęp do treści i porządek w materiałach.
Mój zakres
Tworzyłem i utrzymywałem obie wersje serwisu oraz pracowałem nad migracją treści i infrastruktury publikacji.
Co zrobiłem
  • W wersji Laravel uporządkowałem autorów, artykuły, routing i sitemapę we wspólnym rejestrze treści.
  • W nowej wersji rozdzieliłem CMS Strapi od publicznego modelu danych w MySQL.
  • Frontend przeniosłem do Next.js i TypeScript, a runtime ujednoliciłem przez Docker i Nginx.
Efekt
Nowa wersja działa na casn.pl. Starszy serwis Laravel pozostał publicznym punktem odniesienia dla migracji.

Stack

  • Laravel 11
  • PHP 8.3
  • Blade
  • Next.js 16
  • React 19
  • TypeScript
  • TypeORM
  • MySQL 8
  • Strapi 5
  • Docker
  • Nginx
05

Wizytówka — portfolio full-stack

Dwujęzyczne portfolio z frontendem Next.js, backendem NestJS i formularzem kontaktowym opartym na outboxie.

Cel projektu
Stworzyć portfolio, które pokazuje projekty, stack i sposób pracy, a przy tym można je łatwo rozwijać i aktualizować.
Mój zakres
Zbudowałem i utrzymuję cały serwis: frontend, backend, dane portfolio, formularz kontaktowy, testy i wdrożenie.
Co zrobiłem
  • Rozdzieliłem frontend Next.js od backendu NestJS z REST i GraphQL.
  • Formularz kontaktowy oparłem na outboxie, retry, idempotencji i webhookach dostawcy.
  • Dane projektów trzymam w MongoDB, ale ich wersja źródłowa jest także śledzona w repozytorium.
Efekt
Serwis działa po polsku i angielsku. CI sprawdza kod, backend, główne ścieżki w przeglądarce, SEO i dostępność na desktopie oraz mobile.

Stack

  • Next.js 16
  • React 19
  • NestJS 11
  • TypeScript
  • Node.js
  • MongoDB
  • Prisma
  • REST
  • GraphQL
  • Docker
  • Playwright
  • Cucumber
Przemysław Pietrzak

O mnie

Tworzę i wdrażam aplikacje full-stack w TypeScript: React i Next.js po stronie frontendu oraz Node.js i NestJS po stronie backendu. Rozwijam też projekty PHP w Symfony i Laravelu. Pracuję z API, kolejkami, relacyjnymi bazami danych i MongoDB, a jakość oraz wdrożenia automatyzuję za pomocą testów, Dockera i GitHub Actions.

stack / focus

Umiejętności i technologie

Technologie, których używam w pokazanych projektach — od interfejsu i API po bazy danych, testy i wdrożenie.

Główny stack

01
  • TypeScript
  • React
  • Next.js
  • Node.js
  • NestJS
  • Fastify

Backend i integracje

02
  • PHP
  • Symfony
  • Laravel
  • REST
  • GraphQL
  • OpenAPI
  • Messenger

Dane, testy i wdrożenie

03
  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • Docker
  • GitHub Actions
  • Playwright
  • Railway
  • Render

Kontakt

Kontakt

Napisz wiadomość – odpowiem możliwie szybko.

Maksymalnie 2000 znaków · 0/2000

Imię, e-mail, wiadomość i techniczne dane połączenia są używane wyłącznie do obsługi zapytania i przechowywane maksymalnie przez 90 dni.