Treci la conţinut
ARTEM MOROZOV @dragekorn · senior full-stack engineer
Proiecte Blog Tarife Contact ↓ Descarcă CV
ru Русский en English ro Română
Proiecte Blog Tarife Contact Descarcă CV
Русский English Română
← Toate proiectele
01 · GCHAT

GChat — messenger E2E privat

Founding engineer pe propriul produs. Construit solo: protocol, server, client, landing, infrastructură.

Perioadă
Martie 2026 — prezent
Rol
Founding Engineer · tot într-o singură pereche de mâini
Stack
Python 3.12FastAPISQLAlchemy 2.0 asyncPostgreSQLRedisarqFlutterDartRiverpodIsarWebRTCAstro 5Tailwind 4WebGLX3DHDouble RatchetAES-GCM-256Ed25519Curve25519Argon2idPyNaClDockerCoolifyTraefikNginxGitHub Actions
gchat.tech →

GChat 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ă.
Rezultat

Landing-ul este live la gchat.tech. Aplicaţia este în testare închisă. Arhitectura suportă rollout-uri fără downtime şi scalează orizontal sub sarcină.

Capturi de ecran Apasă pentru a mări
→ Discută un proiect similar ← Toate proiectele
1 / 6
ARTEM MOROZOV
@dragekorn

Senior Full-Stack Engineer · Cryptography · DevOps

Navigare principală

  • Artem Morozov
  • Proiecte
  • Blog
  • Tarife
  • Contact
  • Descarcă CV

Propune un proiect sau pur şi simplu salută

  • Telegram @russelallen
  • E-mail artmorzov@gmail.com
  • LinkedIn linkedin.com/in/dragekorn

Colofon

  • Fonturi: Inter Variable · JetBrains Mono Variable.
  • Paletă: anthracite #0a0b0d, steel #e6e8ec, ember #ff7a1a.
  • Fără tracking, fără banner-e de cookie-uri. Doar Plausible — nu se colectează date personale.
Русский English Română

© Artem Morozov · 2026. Toate drepturile rezervate.
Astro 5 · Tailwind 4 · Node.js · deployat pe hardware propriu prin Coolify.