Przejdź do treści
Maciej Senderowski - powrót na górę

Applied AI · Automatyzacja · Integracje

Maciej Senderowski

Senior Software Engineer

const engineer = {

experience: "20 lat zamieniania problemów biznesowych w oprogramowanie",

focus: ["applied AI", "automatyzacja", "integracje"],

engineering: ["full-stack", "architektura systemów", "product engineering"],

business: ["13 lat prowadzenia firmy", "kontakt z klientem", "prowadzenie zespołu"],

dna: ["odpowiedzialność za całość", "rozwiązywanie problemów", "myślenie biznesowe"],

work: ["remote-first", "otwarty na hybrydę"]

Maciej Senderowski

Co robię

Oprogramowanie, które wykonuje realną pracę

Cztery obszary, w których pracuję. Każdy przykład poniżej pochodzi z systemu klienta albo z mojego własnego produktu.

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.

Dlaczego warto ze mną pracować

Z czego możesz mnie rozliczyć

  • 01

    Najpierw problem biznesowy

    Przez 13 lat prowadziłem firmę softwarową i jednocześnie pisałem kod. Nikt nie przynosił mi gotowej specyfikacji - najpierw musiałem zrozumieć problem, koszt i oczekiwany efekt. Jeśli wystarczy arkusz, powiem to wprost.

    RRS Deweloper wziął się z ustawowego obowiązku klienta: te same ceny mieszkań przepisywane w cztery miejsca, a każde to okazja do opublikowania błędnej liczby. Wtyczka publikuje je dziś z jednego źródła.

  • 02

    Szybkie MVP, myślenie produkcyjne

    Pomysł potrafię szybko zamienić w działające MVP, nie myląc prototypu ze skończonym produktem. Buduję też systemy, które mają stać na produkcji latami - z wydaniami, integracjami, bezpieczeństwem i utrzymaniem.

    DlaStrzelca: do egzaminu na patent strzelecki przygotowywała jedna płatna aplikacja i nic poza nią. Od pustego repozytorium do wdrożonego produktu z kontami, bazą pytań i panelem w jeden dzień. MostIn poszedł dalej w konkursowe 24 godziny na HackYeah - 39 stron, 39 tabel i wyszukiwanie, które podaje stronę, z której cytuje.

  • 03

    AI tam, gdzie się broni

    AI pozwala mi budować szybciej, ale w produktach dokładam je tylko tam, gdzie daje realną wartość. Problemy deterministyczne zostają deterministyczne, a LLM bierze te fragmenty, na które zwykły kod nie wystarcza.

    W Vegvisie model napędza jedną funkcję: asystentkę Azę. Odczytuje wizytę u weterynarza albo wyniki badań ze zdjęcia prosto do kartoteki i odpowiada na pytania, wołając narzędzia tylko do odczytu na tokenie użytkownika. Kartoteki, adopcje i synchronizacja działają na zwykłym kodzie.

  • 04

    Buduję pod awarię, nie pod demo

    Ponowienia, idempotencja, walidacja, uzgadnianie i kontrola dostępu są częścią projektu. System ma zachowywać się poprawnie, gdy API przestaje odpowiadać, webhook przychodzi dwa razy albo coś pada w nocy.

    RRS SmartSell przyjmuje płatności od trzech operatorów: powiadomienie wysłane dwa razy nie obciąży klienta dwukrotnie ani nie zdubluje faktury, a to, które nie dotrze, zostaje uzgodnione bez zgłaszania reklamacji.

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ę.

Doświadczenie

Na co poszły lata od 2006

Ostatnie role w całości, wcześniejsze skrócone.

  1. Grafik

    OTCF / 4F
    07.2015 - 01.2016

    Projektowanie graficzne i DTP - druk, materiały wielkoformatowe, e-commerce, eventy i kampanie reklamowe.

  2. Programista & Grafik

    MK Group
    04.2014 - 07.2014

    Projektowanie i programowanie stron internetowych oraz grafika i materiały cyfrowe.

  3. Grafik DTP

    Artpress
    04.2013 - 11.2013

    Projektowanie graficzne, DTP i tworzenie stron, a obok tego identyfikacja marek, marketing i kontakt z klientami.

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.

35 technologii

Języki

  • TypeScript · Mocny
  • PHP · Mocny

    Komercyjne wtyczki WordPress na 8.1+, strict types, PSR-4

  • SQL · Mocny

Frontend

  • React · Mocny
  • Next.js · Mocny

Backend

  • Node.js · Mocny
  • REST API design · Mocny
  • Deno · Roboczy

    Edge Functions Supabase na produkcji - TypeScript na runtimie Deno

Bazy danych

  • PostgreSQL · 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

  • Vector databases · Roboczy

    pgvector w Postgresie zamiast osobnej usługi wektorowej: embedding leży obok wiersza, który opisuje, więc nie ma drugiego magazynu do synchronizowania ani drugiego rachunku

  • Hybrid search · Roboczy

    W MostIn fragmenty dokumentów łączą ranking wektorowy i pełnotekstowy metodą RRF. Przy innowacjach RRF przegrał na długich opisach, więc zastąpiły go średnia ważona i osobne wyszukiwanie po rzadkich słowach, sprawdzone na realnym scenariuszu: z ósmego miejsca na pierwsze

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

  • Open data (OpenStreetMap, city datasets) · Roboczy

    Dwa źródła połączone w Odkrywamy Kraków: przystanki z otwartych danych miasta, toalety i woda pitna z OpenStreetMap, czytane przez Overpass z przerwami, ponawianiem, serwerem zapasowym i cache, więc cały raport odtwarza się od zera. Zmierzenie, czego dane nie udźwigną, było równie ważne - tag wheelchair pokrywał 9,5% obiektów puli, więc lukę uzupełniają dziś ankiety graczy na miejscu

Płatności i fakturowanie

  • Stripe · Mocny

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

  • Tool calling · Roboczy

    Własne narzędzia w asystencie Vegvisa w pętli tool_use → tool_result, z dostępem do danych ograniczonym przez RLS na poziomie użytkownika

  • Structured outputs · Roboczy

    Wymuszony JSON Schema w trasach API opartych na LLM, z jawną obsługą odmowy modelu i odpowiedzi o złym kształcie

  • AI-assisted development · Mocny

    Trwałe instrukcje projektowe w plikach CLAUDE.md, globalne komendy wielokrotnego użytku i hook, który odmawia zapisu do kopii wtyczki i wskazuje źródło. Z założenia zawiesza się otwarcie: hook ma zapobiegać pomyłce, a nie blokować pracę, gdy sam się zepsuje

  • RAG · Roboczy

    Dwa produkty. Konsultant RedAgenta: wyszukanie leksykalne przed każdą turą, cytowania weryfikowane po stronie serwera, odmowa poniżej progu trafności. MostIn: PDF, DOCX i paczki ZIP cięte na fragmenty z zakresami stron, więc odpowiedź podaje dokument i stronę, z której pochodzi

  • LLM cost control · Mocny

    Cennik per model, miesięczny sufit wydatków, log zużycia

  • Embeddings · Roboczy

    Per fragment, nie per dokument, więc odpowiedź może wskazać akapit, którego użyła. Przeliczane ponownie tylko tam, gdzie zmienił się skrót treści, co sprowadza kolejny import całej biblioteki do groszy

  • MCP · Roboczy

    Teraz własny serwer, nie tylko podpięty cudzy: dwanaście narzędzi do wysyłki motywów WordPressa i pracy na produkcyjnym MySQL przez SSH. Nic destrukcyjnego nie dzieje się na słowo modelu - narzędzie zwraca plan, a wykonanie wymaga PIN-u wpisanego w oknie Windows, którego model nie widzi. Sekrety leżą w sejfie otwieranym tym PIN-em, bo agent działa na moim koncie i inaczej przeczytałby każdy plik, z którym by się sprawdzał

Automatyzacja

  • Cron & schedulers · Mocny
  • Event-driven workflows · Mocny
  • Idempotent sync · Mocny

    Ponowny przebieg nie zduplikuje ani nie cofnie zamkniętego rekordu

WordPress

  • WordPress plugin development · Mocny

    Komercyjne wtyczki z licencjonowaniem, kanałem aktualizacji i dyscypliną wydań

Infrastruktura

  • Git · Mocny
  • CI/CD · Roboczy

    GitHub Actions na każdym repozytorium wtyczki, wołające jedną wspólną akcję, żeby logika nie leżała w kopii na repozytorium. Wyłącznie bramka składni - bez zestawu testów i bez etapu wdrożenia

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