Dostępny od zaraz · B2B
Maciej Senderowski
Software Engineer · Automatyzacja AI · Integracje
Buduję oprogramowanie, które łączy AI, API i procesy biznesowe.
Buduję strony i oprogramowanie od 2006 roku · Kraków, Polska
- Agenci AI
- API REST
- Integracje systemów
- Automatyzacja procesów
- TypeScript

Czym się zajmuję
Cztery rzeczy, które umiem — i gdzie każda z nich działa
Rozwiń kartę, żeby zobaczyć technologie i wdrożenia, które za nimi stoją. Żaden przykład nie jest hipotetyczny: każdy stoi u klienta albo w moim własnym produkcie.
Technologie
- Anthropic API
- OpenAI API
- Tool calling
- Structured output
- RAG
- Prompt engineering
- Cost control
Zastosowania
- Asystent kartoteki zdrowia, którego narzędzia działają na tokenie użytkownika, więc o dostępie do danych decydują polityki bazy, a nie prompt
- Konsultant osadzany na stronie klienta: ponumerowane źródła, jawna odmowa gdy źródła nie pokrywają pytania i instrukcje trzymane osobno od faktów, żeby nie dało się ich zacytować
- Odczyt wizyt weterynaryjnych i wyników badań prosto ze zdjęcia lub PDF-u do ustrukturyzowanych rekordów
- Warsztat generujący strategię marki: własny schemat wyjścia i dobrany model na każdym kroku, z zachowaniem wszystkich wersji
- Kampanie, posty i grafiki generowane względem tej strategii — dziedziczą jej ton i persony, zamiast być promptowane osobno
- Prospecting, w którym model planuje zapytania, przeszukuje sieć po kontakty, kwalifikuje firmy i pisze pierwszą wiadomość
- Koszty pod kontrolą, zanim stały się problemem: cennik per model, miesięczny sufit i log zużycia — dzięki niemu znalazłem błąd rozliczający najtańszy model według stawki najdroższego
- Masowe zmiany SEO sterowane modelem: dane strukturalne, bloki FAQ i brakujące opisy obrazków na kilkuset podstronach
Powiązane projekty
Technologie
- REST
- Webhooks
- OAuth 2.0
- Signature verification
- Idempotency
- Retries & backoff
Zastosowania
- Bramki płatności i systemy fakturowe za jednym rejestrem, z webhookami weryfikowanymi podpisem i reconcilerem na powiadomienie, które nie dotarło
- Dwukierunkowa synchronizacja między aplikacją a stroną WordPress każdego klienta, z kolejką, ochroną przed pętlą i identyfikatorami, które przeżywają ponowienie
- Obie strony integracji z danymi publicznymi: wystawianie zgodnego feedu dla rządowego harvestera i konsumowanie API tego samego rejestru, żeby zbadać, kto publikuje źle
- Wtyczka zamieniająca stronę WordPress w uwierzytelnione API, którym zewnętrzny panel steruje z zewnątrz — token porównywany w stałym czasie, 60 żądań na minutę na adres
- Systemy fakturowe i dostawcy punktów odbioru za jednym kontraktem każdy — wymiana dostawcy to nowa klasa, a nie przepisywanie zamówienia
- Wtyczka, którą organizacja instaluje u siebie sama i łączy własnym kluczem — od tej chwili adopcje synchronizują się w obie strony bez mojego udziału
Powiązane projekty
Technologie
- TypeScript
- Next.js
- React
- PostgreSQL
- Row Level Security
- Supabase
- PHP
Zastosowania
- Produkty doprowadzone od pierwszego commita do płacących klientów, ze schematem rozwijanym wersjonowanymi migracjami zamiast przebudowami
- Autoryzacja pilnowana w bazie, a nie w kodzie klienta — błąd w interfejsie nie poszerzy dostępu
- Jedna wspólna warstwa tożsamości i rozliczeń dla rodziny aplikacji — jedno konto działa we wszystkich
- Dwanaście komercyjnych wtyczek na jednym szkielecie: wspólny autoloader, serwer licencji i własny kanał aktualizacji
- Własny checkout zamiast ciężkiego stosu e-commerce, bo sprzedaż produktu cyfrowego to ułamek tego, co robi sklep — reszta jest kosztem utrzymania i polem do błędów
- MVP doprowadzone od pustego repozytorium do wdrożonego produktu z kontami i panelem administratora w jeden dzień
Powiązane projekty
Technologie
- Cron & schedulers
- Event-driven workflows
- Web scraping & ETL
- Idempotent sync
- Resumable jobs
Zastosowania
- Ustawowy obowiązek publikacji cen realizowany codziennie do rejestru rządowego, generowany i wysyłany bez otwierania arkusza
- Migracja starego sklepu do WooCommerce przez scraping katalogu, odtworzenie produktów wariantowych i dostarczenie narzędzi naprawczych razem z importem
- Długie zadania dzielone na wznawialne porcje ze stanem w bazie — timeout kosztuje jedną porcję, a nie cały przebieg
- Płatność, faktura i klucz licencyjny wydawane na jednym webhooku, idempotentnie — powtórzone powiadomienie nie obciąża drugi raz, a zamówienie domyka się bez człowieka
- Wpłaty cykliczne i odnowienia subskrypcji chodzące same, razem z fakturą po każdym udanym pobraniu
- Licencja przechodząca sama przez stany aktywna → karencja → tylko odczyt, z beaconem pokazującym, które instalacje jeszcze żyją
- Kolejka synchronizacji adopcji na metadanych wpisów: paczki, konfigurowalny harmonogram i ekran z listą tego, co się jeszcze nie zsynchronizowało
- Trzy konfigurowalne zadania dzienne generujące pliki z danymi otwartymi, a każda zmiana ceny trafia do historii sama
- Operacje masowe na kilkuset podstronach jako zadania asynchroniczne, o które panel dopytuje, zamiast żądania trzymanego aż zabije je brama
- Przypomnienia o dawkach leków liczone w strefie czasowej opiekuna i wysyłane bez udziału człowieka
- Katalogi produktów uzupełniane scrapingiem, więc sklep startuje z realnymi danymi, a nie z pustą bazą
- Monitor 404 zamieniający zepsute odnośniki na przekierowania, zamiast czekać, aż ktoś je zgłosi
Jak buduję
Od problemu biznesowego do działającego produktu
Zawsze te same siedem kroków. AI jest krokiem szóstym, nie pierwszym — i o tę kolejność tu chodzi.
01
Zrozumieć problem biznesowy
Przed jakąkolwiek decyzją techniczną: ile to dziś kosztuje, kogo boli i jak wygląda „rozwiązane” w liczbach.
Wybrane projekty
Systemy, które zaprojektowałem i wdrożyłem
Każdy z nich zaprojektowałem i zbudowałem sam. Karta otwiera się w problem, architekturę i decyzje, które za tym stoją.
6 projektów
Zapytaj moje CV
Wypytaj moje doświadczenie wprost
Świadomie zbudowane bez modelu językowego. Odpowiedzi składane są z kurowanej bazy wiedzy, więc nie ma tu czego zmyślić — a w CV jedna halucynacja kosztuje rozmowę.
Dopasuj mnie do roli
Wklej opis stanowiska
Dostajesz listę wymagań, na które mam dowód, listę tych, na które go nie mam, i uzasadnienie przy każdej pozycji. Bez jednej liczby na górze — procent powiedziałby mniej niż to, co pod nim.
Doświadczenie
Na co poszły lata od 2006
Ostatnie role w całości, wcześniejsze skrócone.
- Zbudowałem agentów wołających narzędzia na realnych systemach biznesowych, z zakresem wyznaczonym przez polityki bazy, a nie przez prompt
- Autoryzację umieściłem w bazie, nie w kodzie klienta — RLS na każdej tabeli, a narzędzia AI wołane na tokenie użytkownika
- Zbudowałem kontrolę kosztów AI zanim była potrzebna: cennik per model, miesięczny sufit wydatków i log zużycia
- TypeScript
- Next.js
- Anthropic API
- OpenAI API
- Supabase
- PostgreSQL
- Napisałem i utrzymuję 12 komercyjnych wtyczek WordPress, każdą z licencjonowaniem, własnym kanałem aktualizacji i dyscypliną wydań
- Zbudowałem cztery produkty SaaS na wspólnej warstwie tożsamości i rozliczeń — jedno konto działa w całej rodzinie
- Zintegrowałem systemy zewnętrzne, których używają klienci: Stripe, PayU, Przelewy24, wFirma, Fakturownia, inFakt, KSeF, punkty odbioru InPost i Apaczka oraz rejestr dane.gov.pl
- Zaprojektowałem wtyczkę, którą organizacja instaluje u siebie sama i łączy z platformą własnym kluczem — działa m.in. w KTOZ Kraków i Fundacji MEDOR
- Rozwijam schemat żywego produktu wersjonowanymi migracjami — 231 kolejnych kroków bez zrzucania bazy
- Od początku budowałem strony klientów własnoręcznie, a dołączających programistów uczyłem tego sam, zamiast tylko nimi zarządzać
- Obok kodu prowadziłem sprzedaż i kluczowych klientów — stąd nawyk zaczynania od problemu biznesowego
- PHP
- JavaScript
- TypeScript
- MySQL
- PostgreSQL
- WordPress plugin development
- Roots Bedrock
- REST
- Git
- Reprezentuję fundację, pozyskuję środki na działalność statutową i zarządzam jej działaniem
- To stąd biorą się wymagania produktu — jestem swoim najbardziej wymagającym użytkownikiem
- Prowadziłem sprzedaż oraz zarządzałem zespołem i jego projektami
- Prowadziłem webinary i pracowałem nad rozwojem marki agencji
- Wybrany do kierowania organizacją krajową i reprezentowania jej na wydarzeniach międzynarodowych
Grafik
OTCF / 4F07.2015 — 01.2016Projektowanie graficzne i DTP — od ulotek po siatki wielkoformatowe — oraz współpraca przy tworzeniu witryn sklepowych, eventach i materiałach reklamowych.
Programista & Grafik
MK Group04.2014 — 07.2014Projektowanie graficzne i programowanie stron internetowych.
Grafik DTP
Artpress04.2013 — 11.2013Projektowanie graficzne, tworzenie stron, DTP, identyfikacja marek, działania marketingowe i kontakt z klientami.
- Napisałem własny CMS i wdrażałem go u klientów; postawione na nim strony działają do dziś, lata później
- Zbudowałem pierwszą wersję eAdopcje: strony z panelem zarządzania adopcjami dla kilkunastu fundacji i schronisk, z kontami użytkowników i kartotekami zwierząt — jeszcze zanim pojawiła się responsywność
- Dzięki temu tysiące psów znalazło nowe domy
Technologie
Co znam i jak dobrze
Zero procentów i zero pasków postępu — to wymyślone liczby. Zamiast nich każda pozycja ma poziom dowodu, łącznie z lukami.
Mapa dowodów
Wybierz poziom, żeby przefiltrować listę poniżej.
77 technologii
Języki
- TypeScript · Mocny
- JavaScript · Mocny
- PHP · Mocny
12 komercyjnych wtyczek WordPress, 8.1+, strict types, PSR-4
- SQL · Mocny
- Python · Ograniczony
Jedno narzędzie produkcyjne: zbieranie i walidacja danych publicznych
- Go · Brak dowodu
- Java · Brak dowodu
- C# · Brak dowodu
Frontend
- React · Mocny
- Next.js · Mocny
- Tailwind CSS · Mocny
- HTML & CSS · Mocny
- Vite · Mocny
- React Native · Brak dowodu
Backend
- Node.js · Mocny
- REST API design · Mocny
- Deno · Roboczy
21 Edge Functions Supabase w jednym produkcie
- Queues & background jobs · Roboczy
Cron, zdarzenia planowane i wznawialne przetwarzanie porcjami — bez zewnętrznego brokera
- Laravel · Brak dowodu
- GraphQL · Brak dowodu
Bazy danych
- PostgreSQL · Mocny
- MySQL · Mocny
- Supabase · Mocny
Postgres, Auth, Storage, Edge Functions — i RLS na każdej tabeli
- Row Level Security · Mocny
Autoryzacja pilnowana w bazie, nie w kodzie klienta
- SQLite · Roboczy
- Redis · Brak dowodu
- Vector databases · Brak dowodu
API i integracje
- REST · Mocny
- Webhooks · Mocny
Weryfikacja podpisu, idempotencja i reconciler na wypadek nieodebranego zdarzenia
- OAuth 2.0 · Mocny
- Authentication & authorization · Mocny
Logowanie dwuskładnikowe, tokeny API porównywane w stałym czasie, polityki po stronie bazy
- Two-way system sync · Mocny
Kolejka, ochrona przed pętlą, stabilne identyfikatory przy ponowieniach, tryb sandbox
- Web scraping & ETL · Mocny
- OpenAPI · Brak dowodu
- gRPC · Brak dowodu
Płatności i fakturowanie
- Stripe · Mocny
- PayU · Mocny
- Przelewy24 · Mocny
- wFirma · Mocny
- Fakturownia · Mocny
- inFakt · Mocny
- KSeF · Ograniczony
Obsługiwane przez system fakturowy, nie zintegrowane bezpośrednio
AI
- Anthropic API · Mocny
Tool use ograniczony politykami bazy, nie promptem
- AI agents · Mocny
Wywoływanie narzędzi na realnych systemach, z zakresem wyznaczonym przez polityki bazy
- Prompt engineering · Mocny
- Tool calling · Roboczy
Cztery własne narzędzia w asystencie Vegvisa, z pętlą tool_use → tool_result; klient bazy tworzony na tokenie użytkownika, więc o zakresie danych decyduje RLS
- Structured outputs · Roboczy
Wymuszony JSON Schema w kilkunastu trasach, z additionalProperties: false i obsłużoną odmową modelu — bez biblioteki walidacyjnej i bez ponowienia przy złym kształcie
- Agent orchestration · Roboczy
Plan kroków trzymany jako dane, model dobrany per krok, stan w bazie zamiast w pamięci funkcji — timeout kosztuje jedną porcję, nie cały przebieg
- LLMOps · Roboczy
Śledzenie kosztów per model, miesięczny sufit wydatków, log zużycia i audyt odpowiedzi produkcyjnych tańszym modelem — ale bez wersjonowania promptów, zestawów ewaluacyjnych i regresji jakości
- AI-assisted development · Mocny
Tak pracuję na co dzień — i tak samo szybko wchodzę w nieznany dla mnie stack
- RAG · Roboczy
Konsultant RedAgenta: wyszukanie leksykalne przed każdą turą, cytowania weryfikowane po stronie serwera, odmowa poniżej progu trafności
- LLM cost control · Mocny
Cennik per model, miesięczny sufit wydatków, log zużycia
- OpenAI API · Roboczy
Generowanie i edycja obrazów
- LangGraph · Brak dowodu
- AI evaluation · Brak dowodu
Brak zestawów ewaluacyjnych, złotych odpowiedzi i testów regresji jakości. Najbliżej mam audyt odpowiedzi produkcyjnych tańszym modelem pod kątem pokrycia w źródłach — to monitoring, nie pomiar
- Model training · Brak dowodu
Integruję modele, nie trenuję ich
Automatyzacja
- Cron & schedulers · Mocny
- Event-driven workflows · Mocny
- Idempotent sync · Mocny
Ponowny przebieg nie zduplikuje ani nie cofnie zamkniętego rekordu
- n8n · Brak dowodu
Automatyzację piszę kodem, nie w narzędziu no-code
- Make · Brak dowodu
- Zapier · Brak dowodu
- RPA platforms · Brak dowodu
UiPath i podobne — automatyzuję kodem, nie na platformie RPA
WordPress
- WordPress plugin development · Mocny
12 komercyjnych wtyczek z licencjonowaniem, kanałem aktualizacji i dyscypliną wydań
- WooCommerce · Mocny
- Roots Bedrock · Mocny
- ACF Pro · Mocny
- WP-CLI · Roboczy
Infrastruktura
- Git · Mocny
- PowerShell · Roboczy
Codzienna powłoka na Windows; skrypty tam, gdzie jednorazowe zadanie jest szybsze niż narzędzie
- Netlify · Mocny
- Vercel · Ograniczony
Tylko ta strona — produkcja stoi na Netlify
- Automated tests · Ograniczony
Jeden ręcznie napisany harness dla maszyny stanów licencji. Reszta weryfikowana pisemnym planem testów manualnych i payloadami z sandboxa — bez PHPUnit, bez vitest, bez CI
- CI/CD · Brak dowodu
- Docker · Brak dowodu
- Kubernetes · Brak dowodu
- AWS · Brak dowodu
Dlaczego ja
Pięć rzeczy, z których możesz mnie rozliczyć
- 01
Zaczynam od problemu biznesowego, nie od technologii
We własnej agencji prowadziłem sprzedaż i rozmawiałem z klientami o pieniądzach równolegle z pisaniem kodu — nigdy nie było tak, że ktoś przynosił mi gotową specyfikację. Dlatego pierwsze pytanie brzmi, ile to dziś kosztuje, a nie w czym to napiszemy. Jeśli wystarczy arkusz, powiem to wprost.
- 02
MVP w jeden dzień albo produkt, który wytrzymuje lata
DlaStrzelca powstało w jeden dzień: od pustego repozytorium do wdrożonej aplikacji z kontami i panelem. Dwanaście komercyjnych wtyczek i kilka SaaS-ów to druga strona tej samej umiejętności — licencjonowanie, kanał aktualizacji i wydania utrzymywane latami. Umiem sprawdzić pomysł w dobę i umiem go potem doprowadzić do produktu.
- 03
Buduję z AI — ale nie wpycham modelu wszędzie
Z AI robię w jeden dzień to, co kiedyś zajmowało mi tydzień, i tak powstała część rzeczy z tej listy. Co innego wpinanie modelu w sam produkt — to robię tylko tam, gdzie zwykły kod nie da rady: odczyt wizyty weterynaryjnej ze zdjęcia, agent wołający narzędzia na realnych systemach. Reszta działa na zwykłym kodzie, bo jest tańszy, szybszy i nie potrafi niczego zmyślić. To CV też nie ma w sobie modelu — i to była decyzja, nie skrót.
- 04
Buduję pod awarię, nie pod prezentację
Powiadomienie o płatności wysłane dwa razy nie obciąży klienta dwukrotnie. Gdy nie dotrze wcale, system sam dopytuje operatora, zamiast czekać na reklamację. To różnica między demem a czymś, co można zostawić działające na weekend.
- 05
Mówię, czego nie umiem
Sekcja technologii na tej stronie oznacza 21 pozycji jako brak dowodu, wprost. Reszty też nie musisz brać na słowo — każde twierdzenie wskazuje na coś, co da się sprawdzić.
Rekrutujesz? Odezwij się.
Napisz, czego szukacie — odpowiem konkretnie, czy to rola dla mnie. Jeśli nie jestem właściwą osobą, powiem to wprost.
Kraków, Polska · CET (UTC+1) · Dostępny od zaraz · B2B