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.