Skip to content
05 / Realtime social systems / case study

Yor Talks V2

A full-stack social product system built around authenticated conversations, durable persistence, and realtime message delivery.

My role
Full-stack product engineering
Status
Code-ready · deployment blocked
Period
2026
Stack
React · Vite · Express 5 · Socket.IO · PostgreSQL · Drizzle · Redis
Visual introduction / artworkNot a live product capture

01 /Overview.

Social products become brittle when identity, audience controls, realtime state, and provider integrations are treated as isolated screens instead of one system.

Why it matters. A person can lose trust in a social product through one unauthorized event, stale notification, or silently dropped message. The system has to keep identity, durable state, and realtime delivery aligned.

Workflow. The core path keeps the React/Vite shell, Express authorization, durable PostgreSQL state, Socket.IO events, and Redis worker paths explicit so optional providers can fail closed.

Outcome. A bounded beta path with local regression/build evidence and explicit production release gates.

02 /My contribution.

The case study frames the repository's current system boundaries, realtime permissions, persistence model, and readiness evidence. Repository history includes additional contributors; subsystem-level ownership should be read from the source.

Constraints.

  • Realtime authorization must stay server-owned.
  • PostgreSQL and Redis have different durability responsibilities.
  • Provider credentials and hosted acceptance are unavailable for this portfolio.

03 /System architecture.

React + Vite client
Express 5 REST + Socket.IO
PostgreSQL + Drizzle
Redis queues / workers
Gated providers

04 /Technical implementation.

Primary technologies. React · Vite · Express 5 · Socket.IO · PostgreSQL · Drizzle · Redis

  • Authentication and authorization sit at the API and Socket.IO boundaries.
  • Conversations and messages use PostgreSQL/Drizzle for durable product state.
  • Redis carries transient queues and notification work without becoming the source of truth.

Hardest engineering problem. The difficult boundary is deciding what the browser may request versus what the server must prove. Treating Socket.IO as a second trusted API would make the happy path simpler and the failure path unsafe.

01

Keep realtime gates server-owned

Socket.IO events pass through authentication and authorization boundaries rather than becoming a second ungoverned API.

02

Bound the beta honestly

Provider-backed features remain gated until credentials and live acceptance checks exist. Local readiness is not presented as public deployment.

03

Separate durable and ephemeral work

PostgreSQL owns product state while Redis owns queues, notifications, and readiness-sensitive worker paths.

05 /Testing and validation.

  • The repository readiness audit records 61/61 API tests, 17/17 root checks, and 17/17 Chromium E2E checks for the exercised paths.
  • Those passing local checks do not verify a public deployment, TLS, monitoring, provider credentials, or restore drills.

06 /Results and evidence.

Repository readiness audit dated 31 Aug 2026. This is not a verified public service. The case study uses the repository's current React/Vite + Express/Socket.IO stack; older resume wording is not carried forward.

  • The current repository exposes a coherent authentication → authorization → persistence → realtime flow.
  • Release gates remain explicit where live infrastructure evidence is missing.
Deterministic explanation / no external calls

Interactive system view.

Ready. The walkthrough is deterministic and does not contact an external service.

Path explorer / select a boundary
Browser

Owns the social shell and requests state through authenticated boundaries.

Failure to watch. Stale optimistic state or a reconnect that is treated as trusted without revalidation.

Decision. Keep presentation responsive while the server remains the policy owner.

Verification / Local regression/build pathTest surface / Repository path: e2e/core-social.spec.tsRun count / 0Source / social/src/App.tsx ↗Repository evidence ↗

The shared machine world follows this project. This panel remains complete without graphics.

07 /Limitations.

  • Public deployment is not verified; the repository marks deployment as blocked.
  • Live provider credentials, TLS, monitoring, and restore checks remain release gates.
  • Local test totals are evidence of exercised paths, not a production-readiness guarantee.

08 /What I would build next.

Run the full provider-backed acceptance path in a controlled preview, then add failure injection around reconnects, queue retries, and restore drills.

  • A realtime feature is only as trustworthy as its authorization path.
  • Readiness reports should describe what was actually exercised, not what a diagram implies.