Tworzę skomplikowaną infrastrukturę platformy SaaS (Affiliate CRM / TDS) dla wysoko konkurencyjnych verticali (Crypto, Forex, iGaming). Mam senior developera (Python + JS), który obecnie pisze kod. Ale potrzebuję technicznego partnera (Gatekeeper) oraz architekta.
Jako właściciel myślę kategoriami ryzyka. Nie chcę polegać na nastroju programisty ani zajmować się jego "wymówkami". Potrzebuję specjalisty, który zbuduje system tak, aby nie można go było złamać. Jesteś moją techniczną tarczą i audytorem. Programista otrzymuje wynagrodzenie za etap dopiero po twoim pisemnym "Zatwierdzone". To nie jest pełnoetatowe kodowanie od zera, to zarządzanie architekturą i rygorystyczny przegląd kodu.
📦 Zakres projektu (Co mamy teraz):
* Backend: Python 3.12 (FastAPI, Asyncio), PostgreSQL, Redis (kolejki leadów). Około 15-20 kluczowych endpointów.
* Frontend/Loader: Vanilla JS (~1000 linii obfuskowanej logiki wstrzykiwania + przejmowanie interakcji).
* Infrastruktura: kontenery Docker.
🎯 Konkretne zadania projektowe (Deliverables):
1. Prawidłowa architektura na GitHubie (CI/CD & Security)
* Pełny refaktoryzacja struktury repozytorium. Rygorystyczny podział na client (ładowarki, Wasm), server (FastAPI, matching) oraz infra (Docker, konfiguracje Nginx).
* Ustawienie ochrony gałęzi: żaden wiersz kodu od programisty nie trafia do main bez twojego przeglądu Pull Request.
2. Stworzenie „Technicznego paszportu” (Bus-Factor = 0)
* Musisz opisać całą architekturę tak, aby w przypadku nagłego zniknięcia obecnego programisty, nowy zespół mógł wdrożyć i zrozumieć projekt w ciągu 2 godzin.
* Napisanie dokumentacji: kontrakty API, schematy Bazy Danych, logika interakcji Frontend-Backend-Broker oraz strategia Disaster Recovery.
3. Projektowanie Multi-Tenancy (Izolacja ról)
Zaplanować i nadzorować wdrożenie RLS (Row Level Security) w Bazie Danych dla 3 poziomów dostępu:
* SuperAdmin: zarządzanie licencjami, ogólna statystyka, master-billing ruchu.
* Admin: tworzenie nabywców, przełącznik zarządzania bramkami SMS, doładowanie sald.
* Buyer: dodawanie formularzy, tworzenie aplikacji FB, uzyskiwanie kodu JS ładowarki, osobista statystyka.
* Żadne zapytanie nie powinno dopuszczać do przecieku danych między nabywcami na poziomie pamięci (Redis) czy Bazy Danych.
4. Zero-Trust Code Review (Stealth i Obciążenie)
* Frontend: Audyt logiki bezpośredniego wstrzykiwania leadów (Fetch/Wasm) z przeglądarki dawcy do brokera. Sprawdzenie logiki utrzymania ruchu (przechwytywanie visibilitychange, popstate, rozwiązanie problemu Safari User Gesture Token).
* Backend: Wykrywanie blokad I/O w FastAPI oraz eliminacja warunków wyścigu w Redis przy jednoczesnym wydawaniu leada kilku dawcom.
⚠️ WYMAGANIA (Must-have):
* Niszowe doświadczenie (Crypto/Forex/Gambling): Obowiązkowe praktyczne doświadczenie w rozwoju lub głębokim audycie architektonicznym systemów CRM, TDS lub Affiliate-trackerów właśnie dla tych verticali. Musisz rozumieć specyfikę tego ruchu od wewnątrz.
* Ekspertyza AdTech: Doskonale wiesz, co to jest cloaking, łańcuchy Postback, odciski JA3, bypass CORS i dlaczego proxy rezydenckie są niezbędne.
* Bezkompromisowość: Potrafisz stanowczo argumentować odmowę (Reject) programiście, jeśli architektura jest krzywa lub niebezpieczna.
* Higiena bezpieczeństwa: Zero-hardcoded secrets. Serwer nigdy nie ujawnia swojego rzeczywistego IP.
⛔ PYTANIA FILTRUJĄCE (Obowiązkowo do odpowiedzi)
Uwaga: szablonowe odpowiedzi lub odpowiedzi bez konkretnych technicznych odpowiedzi na te 3 pytania są natychmiast usuwane bez przeczytania.
* Safari API Timeout: Robimy asynchroniczne zapytanie Fetch do brokera CRM z przeglądarki dawcy. Broker odpowiada po 3.5 sekundy. Jak technicznie zachowasz prawa do wykonania window.location.replace w Safari (iOS), aby nie otrzymać blokady "Pop-up blocked" z powodu przestarzałego natywnego User Gesture Token?
* FastAPI High-Load: Nasz endpoint FastAPI zaczął nagle zwalniać pod obciążeniem ruchu, chociaż baza (PostgreSQL) działa normalnie i odpoczywa. Jakim narzędziem znajdziesz blokady I/O w asynchronicznej pętli zdarzeń (Event Loop)?
* Wasm Security: Jak ukryjesz sam fakt i URL wyjściowego zapytania do API brokera przed zakładką Network przeglądarki, używając WebAssembly?
Jeśli jesteś gotów wziąć odpowiedzialność za techniczne jądro rygorystycznego systemu AdTech i stać się moją "techniczna tarczą" — czekam na twoją odpowiedź.