Przemysław Zalewski

Utrzymanie, aktualizacje i CI/CD

Programista, który trzyma Twoje oprogramowanie przy życiu, aktualne i gotowe do wdrożenia

Aktualizacje zależności i frameworków z testami jako siatką, migracje baz, hostingu i frameworków bez wielkiego wybuchu, CI/CD w GitHub Actions, Dockerze i Cloudflare, które uruchomi każdy w zespole, monitoring, który budzi właściwą osobę. Platforma list supresji, którą prowadziłem, wdrażała się blue/green bez przestoju przy 300+ GB. Wklej niżej swój package.json i dostań plan aktualizacji.

Dostępny od listopada 2026 · Wrocław, zdalnie

Przemysław Zalewski
  • „someone you can always count on”publiczna rekomendacja na LinkedInie
  • „a true bias for action”CTO klienta, na LinkedInie
  • 15+ latwydawania oprogramowania
  • Bezpłatna rozmowa, bez prezentacji30 minut, potem decydujesz
15+lat wydawania oprogramowania
8000+commitów w jednym produkcie, blisko połowa wszystkich merge’ów
300+ GBdanych produkcyjnych na platformie, którą prowadziłem
8platform Sandtime.io, gdzie byłem founding engineerem

Dlaczego ja

Aktualizacje z siatką bezpieczeństwa

Najpierw testy tam, gdzie są ścieżki, które zarabiają, potem aktualizacje falami: paczki patch i minor, narzędzia, frameworki, runtime. Codemody tam, gdzie React, Next.js albo ESLint je dostarczają, ręczne diffy tam, gdzie nie. Każda fala to pull request, który da się cofnąć.

Migracje bez wielkiego wybuchu

Dual-write i backfill dla baz, blue/green dla hostingu, strangler dla frameworków. Przećwiczone na kopii, cofnięte przynajmniej raz celowo, zmierzone w PostHogu po przełączeniu. Platforma list supresji przeszła tak bez przestoju przy 300+ GB.

CI/CD, które da się przeczytać

Workflowy GitHub Actions mieszczące się na jednym ekranie, powtarzalne buildy Dockera, sekrety we właściwym miejscu, skan bezpieczeństwa, który wywraca build z powodu. Agenci kodujący pracują pod tymi samymi bramkami, więc tempo nie kosztuje Cię reguł.

Legacy przy życiu, potem przeniesione

Stary Node.js i React, jQuery, strony w PHP, serwisy w C# i .NET. Utrzymać, obudować testami, przenosić kawałek po kawałku, gdy biznes może sobie na to pozwolić. Strona C# ma własną podstronę, zobacz stronę o .NET.

Formy współpracy

Cztery formy współpracy, bez cen na stronie

Najpierw zakres, potem liczba na piśmie. Rozmowa jest bezpłatna tak czy inaczej.

2 tygodnie

Sprint aktualizacji zależności

Każda przestarzała paczka pogrupowana według ryzyka, aktualizowana falami z zestawem testów jako bramką, codemody tam, gdzie framework je dostarcza, changelog, który zespół przeczyta. Node, React, Next.js, TypeScript, ESLint, Tailwind i długi ogon.

Umów bezpłatną rozmowę →

1 tydzień + przełączenie

Plan migracji i przełączenie

Baza, hosting albo framework. Pisemny plan z dual-write albo blue/green, próba na kopii, przetestowany rollback, potem przełączenie w wybranym przez Ciebie terminie. Bez weekendowego bohaterstwa.

Umów bezpłatną rozmowę →

1 tydzień

Ustawienie CI/CD

GitHub Actions z bramkami lint, testów, bezpieczeństwa i builda, obrazy Dockera, które budują się tak samo wszędzie, wdrożenia podglądowe, wdrożenie na produkcję o jedno zatwierdzenie. Udokumentowane tak, żeby nikt nie potrzebował mnie do uruchomienia.

Umów bezpłatną rozmowę →

miesięcznie

Retainer utrzymaniowy

Stała liczba dni w miesiącu: aktualizacje, łatki bezpieczeństwa, alerty, drobne poprawki, które się piętrzą, miesięczny raport, co się zmieniło i co trzeba zdecydować. Zero bug policy: naprawione albo świadomie zamknięte, nigdy odłożone.

Umów bezpłatną rozmowę →

Dowody

Praca, którą mogę pokazać

Problem, co zrobiłem, efekt. Nazwy klientów tylko tam, gdzie wolno mi ich użyć.

Reakcja tego samego dnia na React2Shell i inne podatności

Problem
Krytyczne podatności w Reakcie, Node.js, WordPressie i OpenSSH spadają bez ostrzeżenia, a skanery z PoC przychodzą kilka dni później.
Co zrobiłem
Stały wzorzec: oficjalne źródło, łatka tego samego dnia, mitygacja w WAF, przeszukanie własnego kodu regexpem pod tę samą klasę podatności, flagi hardeningu Node.js, lektura dla zespołu.
Efekt
React2Shell załatany w dniu publikacji ostrzeżenia, na kilka dni przed uruchomieniem publicznych skanerów.

łatka tego samego dnia WAF przegląd kodu

Zobacz też: TypeScript i Node.js · Next.js

Centrum pomocy przeniesione z WordPressa do repo jako docs-as-code

Problem
Nieutrzymywany help na WordPressie: czerwony w audytach, bez sitemapy, wygasające certyfikaty, pluginy, których nikt nie rozumiał.
Co zrobiłem
Markdown w repo, wersjonowany z produktem, wszystkie języki generowane automatycznie, linkowanie wewnętrzne, 301 dla każdego starego adresu, help dopisany do Definition of Done.
Efekt
Jedna maszyna mniej do zepsucia na urlopie, dokumentacja zgodna z produktem, lepsze SEO i GEO, kontekst, który czytają agenci.

docs-as-code 301s i18n

Zobacz też: Cloudflare · Next.js

Platforma list supresji: od MVP do produktu, 300+ GB na produkcji

Problem
Brytyjski wydawca mailingowy potrzebował list supresji w skali terabajtów, z zapisem w stałym czasie i wdrożeniami bez przestoju.
Co zrobiłem
Prowadziłem trzech inżynierów od MVP do pełnej platformy. Partycjonowanie Postgresa po tenancie i liście, równoległe pipeline’y żądań, wdrożenia blue/green. Wypisanie jednym kliknięciem wyszło cztery miesiące przed wymogiem Google i Yahoo.
Efekt
300+ GB i miliony zdarzeń na produkcji, wdrożenia bez przestoju i funkcja compliance gotowa, zanim powstał termin.

300+ GB zespół 3 blue/green

Zobacz też: TypeScript i Node.js · Full-stack i custom software

Pokaz na żywo

Zaplanuj aktualizacje zależności

Wklej package.json. Planer czyta zakresy wersji, porównuje je z aktualnymi wersjami głównymi popularnych paczek i grupuje aktualizacje w cztery fale: bezpieczna partia, narzędzia, frameworki, runtime. Znane zmiany łamiące dostają notkę. Wszystko liczy się w Twojej przeglądarce, nic nie jest wysyłane.

Ładuję pokaz…

Tabela wersji jest wbudowana w stronę i ma datę. Nieznane paczki trafiają na listę do ręcznego sprawdzenia, nigdy nie są zgadywane.

Jak to działa

Trzy kroki od tej strony do działającego projektu.

  1. 1

    Rozmowa 30 minut

    Opisujesz produkt i problem. Ja zadaję pytania, które zadałbym pierwszego dnia. Jeśli nie jestem właściwą osobą, mówię to i wskazuję kogoś, kto jest.

  2. 2

    Zakres na piśmie

    Potem krótki plan na piśmie: co budujemy najpierw, co mierzymy, jak pracujemy i ile to kosztuje. Bez prezentacji.

  3. 3

    Coś do dotknięcia w pierwszym tygodniu

    Pierwszy wycinek wychodzi w pierwszym tygodniu: wdrożony, zmierzony, do przejrzenia. Dalej tempo wyznaczają liczby.

Dopasowanie

Czy to pasuje?

Dobre dopasowanie, gdy

  • Potrzebujesz seniora, który bierze odpowiedzialność za dowiezienie, nie pary rąk
  • Produkt ma wyjść i być mierzony, z product managerem albo bez
  • Współpraca solo albo zespół do czterech osób
  • TypeScript, React, Node.js, Cloudflare, Postgres, PostHog

Raczej nie, gdy

  • Program, który potrzebuje dziesięcioosobowego zespołu dostawcy
  • Stack zbudowany wokół Javy, Pythona albo chmury, której nie sprzedaję
  • Body leasing na godziny bez wpływu na sposób pracy
  • Start przed listopadem 2026

Styl pracy

Jak pracuję

Zero bug policy

Błąd jest naprawiony albo świadomie zamknięty, nigdy odłożony. Alerty i śledzenie błędów w każdym projekcie, więc o problemach dowiaduję się przed klientem.

Review jako rzemiosło

Setki przejrzanych pull requestów. Patrzę na produkt i jego powody. Kod jest drugi.

Agenci pod regułami

Claude Code i Codex pracują na mainie z hookami, bramkami lint i testów. Model podpowiada, kryteria decydują. Każdy PR ma ludzki review, a treści z AI są oznaczone.

FAQ

Pytania, które padają przed umówieniem rozmowy

Jakie platformy i narzędzia?
GitHub Actions, Docker, nginx, Cloudflare Workers i Pages, Postgres, PostHog do monitoringu, Playwright do bramek. Jeśli Twój stos żyje w chmurze, której nie sprzedaję, powiem to na rozmowie. Wdrożenia na brzegu opisuje strona o Cloudflare.
Zaktualizujesz aplikację w Next.js, której nikt nie odważa się dotknąć?
Tak. Testy wokół stron, które zarabiają, potem Next.js i React w osobnych falach z oficjalnymi codemodami, potem długi ogon. Jeśli aplikacji byłoby lepiej bez Next.js, strona o Next.js opisuje uczciwy plan wyjścia.
Migracja bazy bez przestoju?
Dual-write, backfill, weryfikacja, przełączenie odczytów, przełączenie zapisów, usunięcie starej ścieżki. Przećwiczone na kopii z danymi w produkcyjnej skali. Robiłem to przy 300+ GB w Postgresie z wdrożeniami blue/green.
Łatki bezpieczeństwa i reakcja na podatności?
Tak, łącznie z tą niewygodną odmianą: zgłoszona podatność w zależności, poprawka pod presją czasu, opis dla klienta. Jedno z case studies na tej stronie to dokładnie to.
Czy Twoi agenci kodujący zrobią nudne aktualizacje?
Otwierają pull requesty pod regułami, które napisałem, a człowiek przegląda każdy. Około 30% zmergowanych PR-ów w moich produktach w 2026 pochodziło od agenta. Reguły opisuje strona konsultanta AI.
Od kiedy możesz zacząć?
Od listopada 2026. Umów rozmowę i przynieś plan aktualizacji z pokazu niżej.
Przemysław Zalewski

Sprawdźmy to w 30 minut

Bezpłatna rozmowa 30 minut. Ty przynosisz problem, ja pytania. Bez cen na tej stronie, bo najpierw zakres.

Jeśli nie jestem właściwą osobą, powiem to na rozmowie i wskażę kogoś lepszego.

Po umówieniu: zaproszenie do kalendarza, potem rozmowa. Nic więcej do wypełniania.

Dostępny od listopada 2026 · B2B albo etat · Wrocław, zdalnie