All Projects
Personal · AI Collaboration

ZyncSpace

ZyncSpace is a personal engineering project: a collaboration platform that combines real-time messaging with AI-assisted search and contextual assistance. The backend separates interactive WebSocket flows from durable Redis Streams processing so burst messaging and search indexing do not compete for the same request path.

Problem

Real-time collaboration products need low-latency messaging and AI-assisted search without coupling interactive WebSocket flows to durable background indexing - a failure in one path should not take down the other.

Before and After

Before

  • Monolithic request handlers mixed chat, search, and AI calls
  • No durable messaging for offline delivery or replay
  • Search indexing competed with live message fan-out
  • Scaling one feature required scaling entire API surface

After

  • WebSocket tier for interactive messaging
  • Redis Streams for durable event fan-out and indexing
  • Semantic search and embeddings on separate async path
  • AWS-hosted tiers with independent scaling knobs

Architecture

Interactive clients connect via WebSockets for live messaging. Outbound events publish to Redis Streams; workers handle search indexing, embedding updates, and assistant context assembly without blocking the socket loop.

What I Built

Real-time messaging layer

  • WebSocket connections for live rooms and direct messages.
  • Presence and typing indicators kept off the durable stream hot path.
  • Auth and tenant scoping at connection time.

AI-assisted collaboration

  • Semantic search over conversation history with embeddings.
  • Embedded assistant uses contextual retrieval, not raw transcript dumps.
  • Vector search isolated from synchronous message delivery.

Operational design

  • Redis Streams decouple burst messaging from indexing workers.
  • Node.js + TypeScript backend on AWS with health checks per tier.
  • Designed for high availability across messaging and search paths.

Engineering Decisions

  • Split interactive vs durable paths - WebSockets for speed, Streams for reliability.
  • Redis Streams reuse - same operational model as Edmingle production framework.
  • Embeddings async - AI enrichment must not add latency to message send ACK.

By the Numbers

Stack

Node.js · AWS · Redis

Realtime

WebSockets

Messaging

Redis Streams

AI features

Search · assistant

Project type

Personal / founder build

Status

Ongoing engineering

Reliability and Ops

  • Stream consumers reclaim idle pending messages after worker restarts.
  • Search index catches up from stream backlog after brief outages.
  • Assistant requests rate-limited separately from core messaging.

Testing

  • Local integration with Redis test instance for stream fan-out.
  • WebSocket load test for concurrent room connections.
  • Search recall spot-checks after bulk message imports.

What I Did

  • 01Designed a scalable backend for real-time collaboration using Node.js, AWS, Redis Streams, and WebSockets.
  • 02Integrated semantic search, embeddings, vector search, and an AI assistant for contextual collaboration features.
  • 03Split interactive and durable paths for high availability across messaging, indexing, and AI enrichment tiers.