ATTENTIO
Konkretnie: na co idą pieniądze
Podpisów przybywa, ale sam podpis nie opłaci konsultacji prawnej ani wysyłki pism do ministerstwa. Jedna kwota = jedna godzina pracy prawnika.
Wesprzyj petycję2026 · ATTENTIO — Stowarzyszenie Osób Dorosłych z ADHD
Nowy serwis petycji i darowizn ATTENTIO: od kliknięcia w reklamę w wyszukiwarce, przez podpis pod petycją i płatność, po przypomnienia i wsparcie co miesiąc. Zaprojektowany dla dorosłych z ADHD — ludzi, którym formularz potrafi uciec — i zbudowany tak, żeby każdy krok dało się zmierzyć.
Rola Projekt i realizacja end-to-end — Jakub Nowak
Zobacz petycję na żywo(otwiera się w nowej karcie)Zakres
Next.js 16 · React 19 · Payload CMS 3 · PostgreSQL + Drizzle · Stripe · Vercel · Cloudflare Workers
Jedna osoba, dziewięć etapów
Etap 1 z 9 · Reklama
Google Ad Grants to program dla organizacji pozarządowych: do 10 000 USD miesięcznie w kredycie na reklamy w wyszukiwarce. Serwis pilnuje, żeby każde kliknięcie dało się policzyć aż do wpłaty.
Sponsorowane · attentio.org.pl › petycje
Podpisz petycję: Dorosły z ADHD nie przestaje mieć ADHD…
Niech przestanie za to płacić. Podpis zajmie minutę.
/petycje/refundacja-adhd-doroslych?utm_source=google-grants&utm_medium=grants-search&gclid=…
Dlaczego tak
Droga atrybucji: od kliknięcia do konwersji
Etap 2 z 9 · Petycja
Za tę wizytę zapłaciła reklama, więc każdy piksel nad formularzem jest decyzją. Na telefonie kolejność w kodzie jest kolejnością czytania.

Dlaczego tak

Etap 3 z 9 · Podpis
Podpis jest jedyną konwersją tej strony, więc działa zawsze — także wtedy, gdy JavaScript się nie załaduje.
Dlaczego tak
Walidacja w paczce strony docelowej (gzip)
Etap 4 z 9 · Podziękowanie
Strona podziękowania to most od podpisu do darowizny. Jej układ to kolejność malejącego kosztu dla osoby, która właśnie podpisała.

Wesprzyj nasze działania!
Petycję trzeba dowieźć: prawnik, który napisze stanowisko, spotkanie w ministerstwie, dojazd.
Wybierz kwotę:
Dlaczego tak
Eksperyment A/B na tekście prośby
„Petycję trzeba dowieźć: prawnik, który napisze stanowisko, spotkanie w ministerstwie, dojazd…”
„Robimy to dla dorosłych z ADHD — żeby diagnoza, leczenie i codzienne sprawy przestały być torem przeszkód…”
Etap 5 z 9 · Wpłata
Formularz wpłaty to system decyzji: kwota, cykl, metoda, dane, zgody. Każdy wybór ma swoją regułę — i każda reguła działa także bez JavaScriptu. Poniżej trzy pierwsze kroki z prawdziwymi regułami.
Ścieżka: Stripe Checkout · subskrypcja
Dlaczego tak
Cztery ścieżki w przeglądarce, jeden rdzeń na serwerze
przygotujWplate()
Jeden rdzeń, bo dwie ścieżki budujące ten sam adres powrotu na dwa sposoby to przepis na błąd.


Etap 6 z 9 · Płatność
Wspólna zasada: dane płatnicze nie dotykają serwera ATTENTIO. Karta żyje w ramkach Stripe, kod BLIK idzie z przeglądarki prosto do operatora — dlatego zakres PCI DSS to SAQ A.
Metoda płatności
Co miesiąc 100 zł · rezygnacja jednym kliknięciem
Wpłacam 100 złPłatność obsługuje Stripe
01 · Karta
Metoda płatności
BLIKPłatność kodem z aplikacji banku
Płatność obsługuje Stripe
02 · BLIK
Metoda płatności
Kliknij dwukrotnie przycisk boczny
Płatność obsługuje Stripe
03 · Portfele
Metoda płatności
Coś nie działa?
Ta sama kwota i ten sam cykl na bezpiecznej stronie Stripe’a.
Zapłać na stronie Stripe’aFormularz renderowany na serwerze — działa bez JavaScriptu
Płatność obsługuje Stripe
04 · Strona zapasowa
Metody
Tarcza strony płatności
Zakres PCI DSS: SAQ A
Etap 7 z 9 · Księgowanie
Kliknięcie „Wpłacam” jeszcze niczego nie księguje. Akcja serwera kończy najdalej na „oczekuje” — „zaksięgowana” ustawia wyłącznie webhook operatora albo nocne uzgadnianie.
Dziękujemy za wpłatę!
100 zł · miesięcznie
Strona serwera
Dlaczego tak
Subskrypcje i nocne uzgadnianie
Etap 8 z 9 · Przypomnienia
Dwa kanały remarketingu: własne wiadomości i sygnały z serwera, z których platformy reklamowe budują grupy odbiorców.
ATTENTIO
Konkretnie: na co idą pieniądze
Podpisów przybywa, ale sam podpis nie opłaci konsultacji prawnej ani wysyłki pism do ministerstwa. Jedna kwota = jedna godzina pracy prawnika.
Wesprzyj petycjęDlaczego tak
Codzienne zadanie, godzinowe kroki
Każdy krok ma pasmo nadrabiania 36 h i karencję powtórki 24 h — dobrane tak, żeby nic nie wypadło i nic nie wyszło dwa razy:
„Pominięte przypomnienie jest stratą, powtórzone jest szkodą” — więc token powstaje przed wysyłką, a nie po niej.
Etap 9 z 9 · Co miesiąc
„Co miesiąc” jest domyślne w całym lejku, ale nigdy wymuszone. Kto wpłacił raz, dostaje jedną propozycję zmiany — a kto wspiera co miesiąc, może przerwać jednym kliknięciem.
100 zł
max(10 zł, wpłata ÷ 3, zaokrąglone do 5 zł)
Propozycja35 złmiesięcznie
Zamienić na 35 zł miesięcznie?30/45 znaków
ATTENTIO
Jedna propozycja
Regularna wpłata pozwala planować dłużej niż do końca kwartału — a przy pracy z ministerstwem wszystko trwa dłużej niż kwartał. Wpłatę cykliczną zatrzymujesz albo wstrzymujesz na miesiąc w panelu, jednym kliknięciem.
Ustaw wpłatę miesięcznąDlaczego tak
Panel „Moje wsparcie”
Wpłata miesięczna
100 zł / mies.
Aktywna
„Labirynt rezygnacyjny działa na osoby z ADHD silniej.”
Coraz więcej osób pyta asystenta AI, zamiast szukać samemu. Serwis rozmawia z asystentami ich językami: asystent znajdzie petycję, pozna zasady i przygotuje darowiznę — a ostatni krok, zatwierdzenie płatności, zawsze należy do człowieka.
Chcę wesprzeć petycję o refundację leczenia ADHD dorosłych kwotą 50 zł.
attentio-przygotuj-darowizne · kwotaZl: 50
Przygotowałem wpłatę 50 zł na tę petycję. Otwórz stronę i potwierdź płatność — kwota jest już wpisana.
attentio.org.pl/petycje/…/wesprzyj · 50 złPłatność zatwierdza człowiek
Dlaczego tak
„Serwer NIE obciąża karty — ostatni krok wykonuje człowiek.”
Jeden rdzeń, cienkie wiązania
Strona „Zapytaj asystenta”
Pięć przycisków otwiera popularnych asystentów z gotowym pytaniem o petycje ATTENTIO. Zasada tekstu: nigdy „asystent zapłaci za Ciebie”.
Raport PageSpeed Insights dla strony petycji, na którą prowadzą reklamy. Szybkość jest tu kosztem pozyskania, nie ozdobą.

Design system i dostępność to tu jedna decyzja: dla dorosłych z ADHD każda zbędna decyzja, zagadka i labirynt jest kosztem, nie drobiazgiem.
Ruch: sprężyny Material 3 Expressive
Sześć sprężyn przeliczonych w buildzie do krzywych CSS linear() — dokładnych dla każdego dystansu i bez JavaScriptu w przeglądarce. Wybierz jedną:
Kontrast na pomarańczu
Ziarno #F26430 w wariancie FIDELITY: build sprawdza, że kontener główny to dokładnie ziarno. Poziom kontrastu 0,2 zamiast 0 podnosi pary tekstu na kontenerach z 4,53 do 5,56:1. CI pilnuje 74 par i 14 par zakazanych.
Dwukolorowy fokus
Żaden pojedynczy kolor nie daje 3:1 jednocześnie na bieli i na pomarańczu — pierścień ma więc dwa: ciemny obrys i jasną poświatę. Przejdź klawiszem Tab.
Kontrakt glifów
ĄĆĘŁŃÓŚŹŻ ąćęłńóśźż „” –—
Brak polskiego znaku w podzbiorze kroju zatrzymuje build. Bricolage Grotesque (nagłówki), Onest (tekst), Atkinson Hyperlegible Next w trybie czytania — wszystkie hostowane u siebie.
12 kształtów M3 Expressive
Wyłącznie polygon() — biblioteka z 30 do 16,8 kB.
Zasady, które wynikają z ADHD
Architektura, prywatność i jakość — zaprojektowane tak samo starannie jak ekrany.
Jedna domena, dwa światy
Worker scala też dwie mapy witryny w jedną i serwuje z korzenia domeny wąską listę adresów aplikacji (llms.txt, pliki weryfikacyjne). Przeniesienie kolejnej sekcji serwisu to dopisanie jej prefiksu.
Sześć zadań na dobę (UTC)
Prywatność od projektu
Każde wydanie przechodzi przez bramki
Czerwony test blokuje wydanie, także poprawkę awaryjną. Większość bramek ma zapisany sabotaż — celowe zepsucie, które dowodzi, że zapala się na czerwono. Do tego testy w środowisku o kształcie produkcji i skanery: Snyk, Semgrep, Aikido, Socket oraz filtr złośliwych paczek przy instalacji.
Serwis przyjmuje pieniądze, więc każda zależność jest częścią strony płatności. Cztery skanery i filtr złośliwych paczek odpowiadają na cztery różne pytania — od chwili, gdy paczka wychodzi z rejestru, do wydania.
rejestr paczek
wydanie
Filtr złośliwych paczek
Zachowanie zależności
Podatności i przepływ danych
Analiza statyczna, lokalnie
Kod, sekrety i infrastruktura
Zasady pracy z wynikami
Bramka zależności w każdym wydaniu
npm run audit
Rola Projekt i realizacja end-to-end — Jakub Nowak
Porozmawiajmy o tym projekcie