← Toate proiectele 01 · GCHAT
GChat — messenger E2E privat
Founding engineer pe propriul produs. Construit solo: protocol, server, client, landing, infrastructură.
gchat.onlineGChat este un messenger complet, cu end-to-end encryption, pe care l-am proiectat şi construit de unul singur — de la matematica protocolului criptografic până la deploy-ul pe Linux auto-gestionat.
Context
Obiectiv: un messenger de clasă Signal în privinţa confidenţialităţii, dar fără legare la număr de telefon, cu arhitectură zero-trust, gata să funcţioneze în jurisdicţii neîncrezătoare. Am ales să construiesc solo, ca să controlez fiecare strat.
Criptografie
- Handshake X3DH pe Curve25519 / Ed25519 pentru stabilirea sesiunii.
- Double Ratchet derivă o cheie simetrică unică pentru fiecare mesaj.
- AES-GCM-256 pentru transport, Argon2id pentru key-wrap local, TLS 1.3 pentru relay.
- Serverul vede doar ciphertext opac şi nu poate decripta mesajele nici sub presiune juridică.
- Conturi fără număr de telefon — înregistrare printr-o frază criptografică de recuperare.
Backend
- FastAPI + SQLAlchemy 2.0 async + asyncpg peste PostgreSQL.
- Redis pentru pub/sub şi sesiuni, arq pentru task-uri de fundal (sweep TTL pentru media, push fan-out).
- Transport WebSocket stateless, scalabil orizontal în spatele unui router sticky-session.
- Instrumentare cu structlog + Prometheus.
Mobile
- Flutter + Dart, Riverpod pentru state, go_router pentru navigare.
- Isar ca store local criptat.
- Platform channels native pentru APNs / PushKit, FCM, CallKit, ConnectionService.
- Android FLAG_SECURE + detectarea screenshot-urilor pe iOS cu notificarea interlocutorului.
- flutter_webrtc pentru voice/video 1:1, local_auth pentru deblocare biometrică.
Frontend / landing
- Astro 5 + Tailwind 4, generat static.
- EN / RU bilingv, cu paritate impusă prin TypeScript discriminated unions.
- Shader WebGL custom pe fundal, cu randare conştientă de DPR şi respect pentru prefers-reduced-motion.
- Diagrame SVG ale fluxurilor criptografice, animate prin SMIL.
- Generare automată a imaginilor Open Graph prin sharp.
- Sub 72 KB gzip per pagină.
DevOps
- Docker multi-stage, CI/CD prin Coolify pe un server Linux auto-gestionat.
- Filtrare watch-path per aplicaţie — push-ul în landing nu reconstruieşte niciodată backend-ul.
- Traefik + Nginx cu Let's Encrypt automat.
- Headere CSP / HSTS / X-Frame-Options / Permissions-Policy hardened.
- Deploy-uri de preview cu noindex gating.
- security.txt RFC 9116 şi flux de dezvăluire coordonată.