ARSENII
Loading0%
Nervio Systems
EN RU PL
Cześć! Jestem

ARSENII

Fullstack

Nie piszę kodu. Oddaję systemy. Nieodebrane połączenie to nie statystyka, to klient, który już zadzwonił gdzie indziej, a ja buduję to, co łapie go pierwsze.

6systemów na produkcji
81dni od zera
906commitów
97%skuteczność werdyktu ai
Każda liczba na tej stronie jest policzona w repozytoriach. Kod jest prywatny — pokazuję i omawiam na rozmowie.
Nervio Systems to układ nerwowy firmy: telefony, wiadomości, zgłoszenia i pieniądze połączone w jeden organizm. Za nazwą stoi jedna osoba — ja.
Omówmy projekt
Przewiń
SZEŚĆ SYSTEMÓWJEDEN DEVELOPERZERO DEMODDAJĘ SYSTEMY, NIE KODSZEŚĆ SYSTEMÓWJEDEN DEVELOPERZERO DEMODDAJĘ SYSTEMY, NIE KODSZEŚĆ SYSTEMÓWJEDEN DEVELOPERZERO DEMODDAJĘ SYSTEMY, NIE KODSZEŚĆ SYSTEMÓWJEDEN DEVELOPERZERO DEMODDAJĘ SYSTEMY, NIE KOD

Role, któreogarniam sam

To nie lista życzeń. Każda linia poniżej to coś, co zrobiłem w systemie działającym teraz na produkcji. Dlatego jedna osoba wystarczyła na sześć systemów.

Backend

Python 3.11, async SQLAlchemy na PostgreSQL, harmonogram z 21 zadaniami, pollery, kolejki, maszyny stanów i nudna poprawność wokół pieniędzy i czasu.

głębia

Inżynieria AI / LLM

Prompty, które przeżywają zderzenie z rzeczywistością, structured output, harness ewaluacyjny, drugi model jako sędzia, strażnicy, model zapasowy, obraz i głos.

głębia

Frontend

Next.js 15 z TypeScript, Prisma i Tailwind dla kasy; panele renderowane serwerowo z aktualizacją na żywo; landing na GSAP i tablica na telewizor.

głębia

Infrastruktura

Docker Compose, nginx z HTTPS, Linux VPS, kopie poza serwerem z przećwiczonym odtworzeniem, cron, skaner sekretów w pre-commit i wdrożenie odmawiające przy brudnym drzewie.

głębia

Decyzje produktowe

Decydowanie, czego nie budować. Policzyć kampanię przed napisaniem wysyłki, wyciąć dashboard, który wyciekał dane, wybrać, gdzie człowiek musi zostać w procesie.

głębia

Dokumentacja i testy

Każde repozytorium ma własną mapę i własne pułapki. 63 testy adwersarialne na jednorazowej bazie, zestawy offline i parytet tłumaczeń pilnowany przez padający build.

głębia

Moja ścieżka idoświadczenie

Developer fullstack i AI

ARMACAR — serwis samochodowy, Polska

Jedyny developer wszystkiego, na czym działa serwis: poller telefonii zamienia każde nieodebrane połączenie w dług z eskalacją i SLA, Gemini tworzy transkrypcje, sędzia Claude zamyka długi według treści, „Mark” odpowiada klientom w pięciu kanałach, panel webowy prowadzi pracę warsztatu, przegląd auta na 79 punktów działa w czterech językach, a kasa powstała w Next.js.

Pythonaiogram 3PostgreSQLClaude OpusGeminiNext.jsDocker
2026

Developer freelance

Niezależni klienci, UE

Projekty od początku do końca poza serwisem: polski landing promocji z własnym buildem bez zależności, przyjmowanie zgłoszeń za nim oraz kampania mailowa w UE dla producenta drewnianego wystroju, która zaczęła się od modelu kosztów, a nie od kodu.

HTML/CSS/JSGSAPPythonopenpyxlOverpass API
2026

Student — programowanie, specjalizacja AI

Obecnie, równolegle z produkcją

Studiuję programowanie ze specjalizacją w sztucznej inteligencji. To, co czytam wieczorem, zwykle trafia na produkcję w tym samym miesiącu: sędzia na modelu, harness ewaluacyjny i praca z obrazem zaczęły się jako ciekawość z zajęć, a skończyły na odpowiedziach dla prawdziwych klientów.

Machine learningLLM systemsApplied AI
now

IT STEP Academy — pięcioletni program

Ukończony, pełny kurs

Pięć lat nauki. Trzy miesiące dowodzenia. Systematyczna nauka programowania i informatyki, doprowadzona do końca. Stamtąd ta mniej efektowna połowa zawodu: algorytmy, bazy danych i nawyk kończenia tego, co się zaczęło.

AlgorithmsOOPDatabasesWeb
graduated

Mojeprace

Dziewięć systemów, wszystkie trafiły na produkcję dla prawdziwej firmy. Otwórz wiersz — albo zapytaj Marka poniżej.

01

Kontrola połączeń

Telefonia · długi · SLA · werdykt AI↗

Odpytuje telefonię co 30 sekund. Zakończone nieodebrane połączenie staje się sprawą z właścicielem, SLA i eskalacją — menedżer, admin, właściciel — dopóki ktoś nie oddzwoni. Sprawę zamyka to, co faktycznie powiedziano: Gemini transkrybuje, sędzia Claude wydaje werdykt z cytatem.

  • 97% trafnych na 214 realnych oddzwonieniach, wobec 70% reguł, które zastąpił.
  • Długiem zostaje tylko zakończone nieodebranie — dzwoniące zapełniłyby tablicę duchami.
  • Wąskim gardłem jest człowiek: system pokazuje, kto czeka, dzwoni i tak człowiek.
Narzędzia i rozwiązaniaPython 3.11aiogram 3APSchedulerPostgreSQL 16GeminiClaudeDocker
02

Mark — menedżer AI

LLM na produkcji · 5 kanałów↗

Mark obsługuje e-mail, Telegram, Instagram, Facebook i WhatsApp na jednym rdzeniu: prowadzi klienta do wizyty i wrzuca lead do tej samej kolejki co formularze. Nie wolno mu podawać cen ani rezerwować terminów — strażnik przepisuje odpowiedź. Mózgiem jest Claude Opus 5, przy pustym saldzie przejmuje Gemini zamiast ciszy.

  • Dwa wywołania modelu, nie jedno: prośba o odpowiedź i osiem pól naraz kazała modelowi myśleć wewnątrz pól.
  • Model wpisuje telefon w tekst zamiast w pole — silnik wyciąga go z tekstu.
  • Każdy kanał startuje w trybie cienia: AI pisze, nic nie wychodzi. Włączenie to przełącznik, nie wdrożenie.
Narzędzia i rozwiązaniaClaude Opus 5Gemini fallbackstructured outputeval harnessLLM judgeMeta GraphWhatsApp Cloud
03

Panel operacyjny

Panel web · tablica TV · raporty↗

Wszystkie rozmowy klienta łączą się w jeden wątek, zszyty po numerze telefonu. Paszport długu pokazuje, co zrozumiało AI, obok pełnej transkrypcji. Tablica TV wisi w warsztacie: świeże oddzwonienia na górze, nieodebrane znika na godzinę, żeby nikt nie wybierał martwego numeru.

  • Wcześniejszy dashboard oddawał telefony klientów każdemu z linkiem. Znalazłem, zamknąłem tego samego dnia, przebudowałem role.
  • Czas reakcji liczony w minutach pracy, żeby telefon o 23:40 nikogo nie zrobił leniem.
  • Za nginx z HTTPS, w osobnym kontenerze niż poller.
Narzędzia i rozwiązaniaaiohttpSSEnginxPostgreSQLrole-based auth
04

Przegląd auta

Bot Telegram · wizja · ceny↗

Mechanik fotografuje tablicę i VIN — oba sprawdzane ze zleceniem — i przechodzi 79 punktów, zdjęcia obowiązkowe przy żółtym i czerwonym. Robocizna z cennika właściciela, części dobierane po VIN, ceny dostawcy z narzutem wyliczonym ze 136 realnych par zakup–sprzedaż. Raport trafia do klienta dopiero po akceptacji człowieka.

  • Tarcza 22 mm przeszła jako norma przy minimum 26 mm: próg porównywał inną wielkość, niż wpisuje mechanik.
  • 205 kluczy interfejsu w RU/PL/UK/EN i test, który wywala build, gdy brakuje tłumaczenia.
  • Przegląd bez cen przypomina o sobie sam: po 2 godzinach, potem co 4, maksymalnie pięć razy, tylko w godzinach pracy.
Narzędzia i rozwiązaniaTelegram bot UXYAML checklistvision modelsVIN cataloguesupplier API
05

Boty egzaminacyjne

Trzy boty · jedna baza↗

Na produkcji od lipca. Jeden bot prowadzi codzienny quiz, egzamin z pięćdziesięciu pytań z terminem w niedzielę i przycisk „zapytaj regulamin”. Drugi pokazuje statystyki per osoba i ranking miesiąca. Trzeci robi kopię bazy o 03:30. Wszystkie trzy pilnują się nawzajem sygnałami życia.

  • Regulamin śledzony po SHA-256 na punkt: zmiana uruchamia wyjaśnienie, wysyłkę i przebudowę pytań.
  • 63 złośliwe testy na jednorazowej bazie — tu błędna statystyka to realna krzywda żywego człowieka.
  • Wdrożenie tylko po wyraźnym „tak” na czacie: te boty oceniają ludzi.
Narzędzia i rozwiązaniaaiogram 3SQLAlchemy 2asyncpgAPSchedulerpytest
06

Kasa

Next.js · pieniądze · automat stanów↗

Asystent krok po kroku przy ladzie: o co zapytać, ile reszty, paragon czy faktura, na końcu lista samokontroli. Schemat rozliczenia to graf w konfiguracji sprawdzanej przy starcie: zepsuta konfiguracja nie pozwoli kontenerowi wstać, zamiast zawiesić transakcję przy kasie. Krok rozliczenia jest niezmienny, pilnuje tego trigger w bazie, a nie ustalenia w zespole.

  • Tam, gdzie prawdziwej integracji jeszcze nie ma, kod głośno odmawia, zamiast udawać.
  • Migracje jako jednorazowa usługa, potem aplikacja sprawdza środowisko, konfiguracje i dane firmy, zanim wstanie.
  • Porzucone rozliczenia zamyka cron co 15 minut, z alertem, gdy pieniądze już wzięto.
Narzędzia i rozwiązaniaNext.js 15TypeScriptPrisma 6Auth.js v5Vitest
07

Landing kampanii

Statyka · build jako testy↗

Polska strona promocji dla importu aut: treści ściśle wg briefu, kalkulator uzgodniony z głównym serwisem, formularz trafia do systemu call center, regulamin w HTML i PDF. Build to czysty Python bez zależności: wszystko wkleja do środka, robi WebP, renderuje podgląd i PDF przez headless Chrome i dochodzi do wydania przez asercje.

  • Bez Google Fonts i CDN: fonty i biblioteka animacji z własnej domeny, pilnuje tego asercja.
  • Strona i API zgłoszeń leżą w osobnych repozytoriach, więc kontrakt między nimi to spisany dokument.
  • Publiczny build odmawia złożenia się, dopóki w treści został choć jeden znacznik do uzupełnienia.
Narzędzia i rozwiązaniaHTML/CSS/JSGSAPPython stdlib buildheadless Chrome
08

Pikselowe biuro

Narzędzie wewnętrzne · tylko odczyt↗

Pikselowa scena, gdzie każda żywa sesja i agent to postać przy biurku. Serwer to wyłącznie biblioteka standardowa Pythona, czyta stan prosto z dysku i nic nigdzie nie zapisuje. Wszystko, co wychodzi z procesu, przechodzi przez maskę sekretów.

  • Celowo tylko odczyt: monitor, który potrafi działać, prędzej czy później zepsuje produkcję.
  • Tryb awarii jest opisany, łącznie z sytuacją, gdy maszyna zmienia adres.
Narzędzia i rozwiązaniaPython stdlibSSEReact 18ViteTailscale
09

Cold mailing w UE

Model kampanii · badanie danych↗

Producent chce dotrzeć do firm w UE. Zamiast zaczynać od kodu zbudowałem kampanię jako model w arkuszu — do kogo piszemy, ile kosztuje test, jak długo trwa, co dopuszcza prawo — i dwa konkretne warianty. Odbiorców wziąłem z OpenStreetMap: 2 881 sklepów z dekoracjami, 6 751 hoteli i 11 730 restauracji we Francji z użytecznym adresem.

  • Klient najpierw potrzebuje decyzji, nie skryptu. Kod zaczyna się po wyborze.
  • Model przeszedł ślepą debatę dwóch recenzentów, zanim trafił do klienta, i liczby się zmieniły.
Narzędzia i rozwiązaniaPythonopenpyxlOverpass / OSMGDPR limits

Co mogę zdjąćz Twojej głowy

Sześć rzeczy, które zbudowałem od początku do końca dla prawdziwej firmy — to nie lista usług, tylko lista tego, co już działa.

01

AI, które odpowiada Twoim klientom

Mail, Telegram, Instagram, Facebook i WhatsApp na jednym rdzeniu: prowadzi rozmowę, zbiera to, co istotne, nie podaje cen, których nie powinien, i przekazuje człowiekowi numer.

Działa na produkcji, pięć kanałów
02

Nic nie ginie po drodze

Każde nieodebrane połączenie, zgłoszenie czy lead staje się zadaniem z właścicielem, SLA i eskalacją. Przypomina, aż ktoś naprawdę to zrobi, i zamyka się po treści, nie po checkboxie.

97% trafności werdyktu na 214 oddzwonieniach
03

Panel, z którego zespół naprawdę pracuje

Wszystkie kanały w jednej nici na klienta, tablica na ścianę, raporty odpowiadające na pytanie szefa jednym ekranem i role, by niepowołana osoba nie widziała bazy klientów.

Używany każdej zmiany
04

Praca w terenie, która mieści się w telefonie

Bot z listą kontrolną dla ludzi w terenie: obowiązkowe zdjęcia, pomiary z realnymi progami, cztery języki i gotowy raport dla klienta, który sam wylicza cenę z Twojego cennika.

79 punktów, 205 kluczy interfejsu
05

Przepływy pieniędzy, których nikt po cichu nie zmieni

Liczby całkowite zamiast floatów, kroki rozliczenia niezmienne na poziomie bazy i konfiguracja sprawdzana przy starcie: błąd psuje wdrożenie, a nie rozliczenie przy ladzie.

Zero floatów przy pieniądzach
06

Wpina się w to, co już macie

Telefonia, CRM, poczta, katalogi dostawców, bazy części, komunikatory. Czytanie cudzego API to moja codzienność, a integracja przeżywa ich awarie.

Ringostat, CRM, Zoho, Meta, WhatsApp, API dostawców

Co się zepsuło i jakazasada po tym została

Sześć zasad, każda spisana w dniu, w którym coś padło na produkcji. Zwykle tę część się ukrywa — a to właśnie ona mówi, jak ktoś pracuje.

koszt: pół dnia błędnych cen

Flaga wdrożenia usunęła bazę wiedzy

Do synchronizacji dodano --delete, żeby serwer odzwierciedlał repozytorium. Skasowało plik z cenami diagnostyki, a menedżer AI przez pół dnia działał bez nich.

zasadaJeden skrypt wdrożenia, żadnych doraźnych rsync. Dane i sekrety nie jadą nigdy, i jest to napisane wprost.
koszt: hasło w historii gita

Hasło bazy leżało w pliku compose

Otwartym tekstem w docker-compose.yml, a więc w każdym commicie. Płatne skanowanie sekretów jest w tym planie niedostępne.

zasadaWłasny hook pre-commit plus skaner przechodzący całą historię, instalowany na każdej maszynie.
koszt: odsłonięte numery klientów

Link z tokenem był całą autoryzacją

Wczesny dashboard pokazywał numery klientów każdemu, kto miał adres. Wygodnie i nie do obrony.

zasadaWyłączony tego samego dnia, dodane role i hasła, martwy kod został z datą i powodem.
koszt: zużyta tarcza jako norma

Próg porównywał nie tę wielkość

Minimalna grubość tarczy jest inna w każdym aucie, więc jedna stała liczba przepuszczała 22 mm przy minimum 26.

zasadaPróg musi porównywać dokładnie to, co wpisuje człowiek. Teraz pytamy o zapas do minimum.
koszt: produkcja gubiła zdarzenia

Lokalne uruchomienie zabierało token produkcyjny

Dwa pollery na jednym tokenie i bot produkcyjny zaczyna gubić zdarzenia. A lokalny .env miał tokeny produkcyjne.

zasadaProjekt celowo nie uruchamia się na laptopie: żadnych lokalnych sekretów, lokalnie tylko składnia i testy offline.
koszt: zielone testy bez wartości

Testy na Macu przechodziły, pomijając siebie

Bez zależności część plików po cichu pomijała sprawdzenia. Lokalnie zielono, w obrazie zepsute.

zasadaTesty liczą się tylko w kontenerze produkcyjnym. Test, który przechodzi bez uruchomienia, to błąd w teście.

Jak będziemypracować razem

Cztery kroki bez niespodzianek. Możesz przerwać po każdym, a wszystko zbudowane zostaje u Ciebie.

01

Dwudziestominutowa rozmowa

Opowiadasz, gdzie uciekają pieniądze — nieodebrane telefony, wolne odpowiedzi, ręczna papierologia. Ja zadaję nudne pytania. Bez prezentacji i sprzedaży.

02

Plan z ceną i odmową

Dostajesz, co zbudowałbym najpierw, ile to kosztuje, ile potrwa — i czego nie budowałbym wcale, z uzasadnieniem.

03

Na produkcję trafia najmniejszy użyteczny kawałek

Nie demo i nie prototyp: coś, z czego Twoi ludzie korzystają na prawdziwej zmianie, gdy reszta jeszcze powstaje.

04

Przekazanie, które mnie nie wymaga

Repozytorium, dostępy do serwera, dokumentacja, kopie z przećwiczonym odtworzeniem i zespół przeszkolony na ekranach, których naprawdę używa.

Pytania, którezaraz zadasz

Kliknij — odpowie Mark.

Mójstack

Backend

  • Python 3.11
  • aiogram 3
  • SQLAlchemy 2 async
  • PostgreSQL 16
  • aiohttp
  • APScheduler

AI & LLM

  • Claude Opus 5
  • Gemini
  • structured output
  • eval harness
  • LLM judge
  • vision & voice

Frontend

  • TypeScript
  • Next.js 15
  • Tailwind 4
  • Prisma 6
  • GSAP
  • SSE

Infra & ops

  • Docker Compose
  • nginx + HTTPS
  • Linux VPS
  • Backblaze B2
  • pre-commit hooks
  • one-command deploy

ZapytajMarka, moje AI

Zwykle sprzedaje cudze. Dziś sprzedaje mnie. Mark prowadzi klientów w pięciu kanałach i doprowadza do zgłoszenia. Rdzeń nie jest przypisany do branży — wdraża się go tam, gdzie klienci giną w wiadomościach. Tutaj odpowiada na pytania o mnie, na żywo.

M Mark menedżer AI · zbudowany przez Arsenii live ai
Mark
Jestem Mark — menedżer AI zbudowany przez Arseniia. Zwykle prowadzę klientów w mailu, Telegramie, Instagramie, Facebooku i WhatsAppie: doprowadzam do zgłoszenia i przekazuję człowiekowi. Branża nie ma znaczenia — liczy się to, że klienci giną w wiadomościach. Tutaj mam inne zadanie: opowiedzieć o Arseniim.
Twój
ruch

Opisz problem w dwóch zdaniach — „gdzieś tracimy klientów” wystarczy — a odeślę, jak bym to zbudował: co system robi pierwszego dnia, ile to zajmie i czego w ogóle bym nie budował. Bezpłatnie i bez spotkań.

E-mail kontakt@nerviosystems.com
Telefon +48 791 666 708
Telegram @federaIu
LinkedIn Arsenii Bondarenko
Lokalizacja Katowice, Polska