Writer's Heaven
Overview
Writer's Heaven is a full-stack blogging platform engineered as a study in real backend systems work. It started as a CRUD blog and grew into an opinionated demonstration of caching, queues, real-time fan-out, vector search, and structured observability across a stateless API layer.
Highlights
Real-time Fan-out
Socket.IO gateways for live comments, reaction counts, and typing indicators, scaled horizontally with a Redis adapter so any instance can deliver events to any connected client.
Cache-aside on Redis
Hot reads (paginated blog lists, single blog, categories, AI summaries) check Redis first with TTL + explicit invalidation; the cache layer fails open so a Redis outage degrades to slower, not broken.
Background Work off the Hot Path
BullMQ-on-Redis workers handle OTP email and a paced semantic-reindex job so the HTTP path returns in milliseconds.
Semantic Search via Qdrant
Blog content is embedded through an OpenAI-compatible provider (Gemini / OpenAI / Ollama) and stored in Qdrant; nearest-neighbour search powers the related-posts endpoint.
Observability Built In
pino structured logs with request-correlation IDs, Prometheus /metrics, OpenTelemetry traces, and Kubernetes-style health probes.
Built with
- NestJS
- Next.js 14
- TypeScript
- MongoDB
- Mongoose
- Redis
- BullMQ
- Socket.IO
- Qdrant
- OpenTelemetry
- Prometheus
- Cloudinary
- JWT Auth
The backend (NestJS) and frontend (Next.js) live in separate repositories. See the GitHub links below.
