Cześć, nazywam się Otwarty na współpracę

Oleksii Borovyk.

Inżynier backendu, Go i PHP

Od dwunastu lat piszę backendy dla sklepów internetowych z dużym ruchem. Teraz robię też własne aplikacje, w całości sam: API, aplikację mobilną, CI i wydanie.

12+ Lat przy backendzie
1000+ Zamówień dziennie
1 Miesiąc od pomysłu do MVP
54 Testerów w TestFlight
Czym się zajmuję

W czym jestem dobry

Backendy w Go

Piszę serwisy REST w Go: Fiber, GORM, PostgreSQL. Uwierzytelnianie przez JWT, uprawnienia według ról, osobne limity zapytań dla każdej grupy endpointów, a każda operacja finansowa trafia do dziennika audytu. Testy uruchamiam na testowej bazie PostgreSQL, a nie na mockach.

Duży ruch w e-commerce

Latami pracowałem przy sklepach, w których katalog liczy 400 tysięcy produktów, a zamówień jest ponad tysiąc dziennie. Klient takiego sklepu nie może czekać ani na import, ani na odpowiedź zewnętrznego serwisu. Dlatego importy idą przez kolejki, dane leżą w cache'u Redisa i Varnisha, a integracje nie stają, gdy serwis partnera nie odpowiada.

Produkt od A do Z

Backend, aplikacja mobilna, landing, CI i samo wydanie. Sam, bez zespołu, doprowadziłem projekt od pustego repozytorium do publicznej bety w TestFlight i testowych wersji na Androida, więc wiem, gdzie zwykle ucieka czas.

Jak pracuję

Od pomysłu do MVP w miesiąc

Na Pickapocket dałem sobie jeden miesiąc kalendarzowy: od pustego repozytorium do aplikacji, z której da się już korzystać.

1 Zakres przycięty do terminu
2 Najpierw schemat i API
3 Handlery zależne od interfejsów
4 Aplikacja od razu na prawdziwym API
5 Trzy obowiązkowe kontrole
6 Zielony build wdrażany automatycznie

Co utrzymuje tempo

Zmieściłem się w miesiącu, bo prawie niczego nie trzeba było robić od nowa. Kod łączy się z bazą przez interfejsy, więc mogę przepisać jedną część, nie ruszając reszty. Testy jednostkowe korzystają z generowanych mocków, a integracyjne uruchamiam na testowej bazie PostgreSQL. Nic nie trafia do głównej gałęzi, dopóki w CI nie przejdą trzy kontrole: go test -race, flutter analyze z testami i govulncheck. Na produkcję trafia tylko zielony build.

Gdzie tu AI

Korzystam z narzędzi AI i to przyspiesza pracę. Wymagania wobec kodu się nie zmieniają: każda zmiana trafia do głównej gałęzi dopiero po tych samych trzech kontrolach, a odpowiadam za nią ja.

Claude Code Claude Skills Claude Design MCP servers Self-verification loops
Technologie

Czego używam

Go
Go 1.25 Fiber v2 GORM Goroutines Worker pools go test -race govulncheck
PHP & Commerce
PHP 8 Magento 2 Magento 1 Zend / Laminas GraphQL REST Composer
Mobile
Flutter Dart 3.10 Riverpod Offline-first SQLCipher
Data
PostgreSQL 16 MySQL 8 Redis RabbitMQ OpenSearch SQLite
Infra & CI
Docker Compose Traefik Nginx Varnish Railway GitHub Actions GitLab CI
Security
AES-256-GCM Argon2id Keychain / Keystore Biometric lock GDPR deletion
Produkty

Trzy projekty, które zrobiłem

Pickapocket i magento2-docker są publiczne, a my730days wciąż powstaje.

Pickapocket

Publiczna beta Od 2025
pickapocket.app
Go 1.25 Fiber v2 GORM PostgreSQL 16 Flutter Next.js 14 Railway

Aplikacja do prowadzenia domowego budżetu dla rodzin i par. Napisałem backend, obie aplikacje mobilne i landing, a wdrożenie skonfigurowałem sam.

Kilka osób prowadzi jeden portfel i dzieli wydatki, a role określają, kto co może. Aplikacja działa też bez internetu: dane są przechowywane w zaszyfrowanym cache'u w telefonie i synchronizują się w tle. Gdy dwie osoby zmienią ten sam wpis, konflikt rozwiązuje się automatycznie. Po usunięciu konta znikają wszystkie dane użytkownika. Interfejs jest dostępny po polsku, angielsku i ukraińsku.

1 miesiąc Od pomysłu do MVP
64 Endpointy REST
~16K Linii Go
54 Testerów w TestFlight

my730days

Wolontariat Od 2023
Flutter Dart 3.10 Riverpod SQLCipher AES-256-GCM Argon2id

Dziennik dla rodziców, których dziecko leczy się według protokołu AIEOP-BFM. Leczenie trwa około 730 dni, stąd nazwa.

Aplikacja celowo nie ma żadnego kodu, który łączyłby się z siecią, bo przechowuje dane medyczne dziecka. Wszystko zostaje w telefonie, w zaszyfrowanej bazie. Klucz do niej jest w systemowym magazynie kluczy, a kopie zapasowe są szyfrowane osobno. Aplikację otwiera się tylko PIN-em albo odciskiem palca. Rodzice zapisują w niej wyniki morfologii, objawy i bilans płynów, śledzą siatki centylowe i dostają przypomnienia o lekach. Jest też raport PDF dla lekarza i osobny ekran na wypadek nagłej sytuacji. O tym, co dodać dalej, decyduję razem z doradcą z największej ukraińskiej fundacji wspierającej dzieci z chorobą nowotworową.

0 Zapytań sieciowych, z założenia
14 Tabel, 9 migracji
69 Testów automatycznych
72 Artykuły w bibliotece

magento2-docker

Open source Od 2019
github.com/ityetti/magento2-docker
Docker Compose Traefik Nginx Varnish 7 OpenSearch MIT

Środowisko deweloperskie dla Magento 2: uruchamia się jednym poleceniem docker compose i działa tak samo jak produkcja. Utrzymuję je od 2019 roku i korzystają z niego deweloperzy spoza moich zespołów.

Dwanaście usług: Traefik z lokalnym TLS, Nginx, PHP-FPM 8.3 i obok drugi kontener z Xdebugiem, samo Magento, MySQL 8, Redis 7, RabbitMQ, OpenSearch z Dashboards, Varnish 7 i Mailpit. Najwięcej czasu zajęły rzeczy, które niepostrzeżenie potrafią zabrać cały dzień: uruchomienie wszystkiego na Apple Silicon, przełączanie między zwykłym PHP-FPM a kontenerem z Xdebugiem bez przebudowy i usunięcie pętli proxy między Varnishem a Nginxem.

12 Usług w stacku
31 Gwiazdek na GitHubie
16 Forków
13 Otagowanych wersji

Napisz do mnie

Mieszkam w Małopolsce i mogę pracować zdalnie lub na miejscu. Napisz, jeśli masz projekt albo pomysł na współpracę.