Real-time social platform · NestJS + MongoDB

Where every
connection
matters.

ChitChat is a full-stack social backend engineered for speed, scale, and real human connection — stories, followers, highlights, and more.

11+ Core Modules
V1 API Version
Redis Powered Cache
Alex Rivera 2m ago
248 likes
Jamie Chen 8m ago
91 likes
💬
New Message
Sam sent you a mention
❤️
Story Liked
+48 in 1 hour
👥
New Follower
Jordan is following you

Built for how
people really connect

From ephemeral stories to lasting highlights — ChitChat gives every social interaction a robust, scalable backbone.

📖

Stories & Highlights

Create ephemeral 24-hour stories with media, stickers, and mentions. Archive your best moments into permanent, shareable highlights.

S3 Media · Auto-expiry
🔐

Multi-Stage Auth

A smooth 3-stage signup flow — OTP via email or SMS, username validation, basic info, then interests and occupation for rich personalisation.

JWT · OTP · Twilio
👥

Social Graph

Send, accept, reject, and cancel friend requests. Smart follow-back logic with mutual-friend discovery and Redis-cached connection lists.

Redis Cache · Graph
🔔

Real-time Notifications

Push notifications for friend requests, story mentions, likes, and highlights — all handled through a clean, event-driven architecture ready for FCM integration.

FCM Ready · Event-driven
Alex liked your story
Jamie sent a request
You were mentioned

Redis-Powered Cache

Unified CacheService with graceful fallback, key prefixes, and TTL management — friend lists, feeds, and public data served in milliseconds.

Redis · TTL
🛡️

Admin CMS

Full admin panel backend — manage users, moderate content, edit interests, occupations, and CMS pages with role-based JWT authentication.

Role Guards · CRUD

From sign-up to
social in moments

A smooth, guided flow designed around real users — from first OTP to a fully personalised feed.

01
📱

Send OTP

Enter email or phone. ChitChat sends a one-time passcode instantly via email (SMTP) or SMS (Twilio).

02

Verify & Create

OTP confirmed, account created. Choose your username — real-time availability check keeps it unique.

03
🎨

Build Profile

Add display name, date of birth, interests, and occupation. The richer your profile, the better your feed.

04
🚀

Connect & Share

Follow friends, post stories, add highlights, get mentions, and build your social world — all secured with JWT.

Every module
perfectly scoped

11 focused modules, each owning its routes, schemas, and business logic. Extend any one without touching the others.

🔀

App Bootstrap

Global pipes, filters, interceptors, CORS, versioning. Single entrypoint for all cross-cutting concerns.

/api
👤

Users Module

Full auth flow, profile management, OTP service, JWT strategy, user search and discovery.

/api/v1/users
📸

Stories Module

Create, view, like, mention, archive, repost stories. S3 media, temp files, expiry job, rate limiting.

/api/v1/stories
🌟

Highlights Module

Create permanent highlights from stories. Reorder, set covers, manage visibility — child of StoriesModule.

/api/v1/stories/hl
🤝

Followers Module

Bilateral friend requests, mutual friends, cached following IDs for real-time feed generation.

/api/v1/followers
🌐

Public Module

Unauthenticated CMS pages, occupations, interests, and file uploads — content served at scale.

/api/v1/public
🛠️

Admin Module

Admin JWT auth, user moderation, interest/occupation CRUD, CMS page management with role guards.

/api/v1/admin
❤️

Health & Cache

Kubernetes-ready liveness and readiness probes. Redis CacheService with graceful degradation.

/health
stories.service.ts
// POST /api/v1/stories
async postStory(
userId: string,
dto: PostStoryDto
) {
const media = await
this.s3.upload(dto.file);
const story = await
this.storyModel.create({
  userId, media,
  expiresAt: addHours(24),
});
return ResponseHandler
.success('Story created', story);
}

Engineered for scale

Production-grade choices at every layer — from database pooling to S3 media delivery and Redis caching.

🐦 NestJS
🍃 MongoDB + Mongoose
Redis Cache
🔐 JWT (Passport)
📦 AWS S3
📧 SMTP Email
📱 Twilio SMS
🛡️ ThrottlerGuard
Class-Validator
🌐 URI Versioning

Loved by builders
and creators

Developers and product teams building on ChitChat's backend — here's what they say.

★★★★★

"The multi-stage auth is beautifully designed. OTP → username → profile felt natural to implement and our users love the flow."

Priya Sharma
Lead Engineer, Bangalore
★★★★★

"Redis cache integration is seamless. Our follower feed loads in under 50ms. The CacheService fallback logic is chef's kiss."

Marcus Klein
Backend Architect, Berlin
★★★★☆

"Stories + Highlights module is incredibly thought out. S3 uploads, temp files, expiry jobs — everything you need without the boilerplate."

Seo-Yeon Park
Product Developer, Seoul
★★★★★

"The module isolation is exceptional. I extended the Admin module for custom roles without touching a single other file."

Diego Reyes
Full-stack Dev, Mexico City
★★★★★

"API versioning done right. Adding V2 routes was a 10-minute job. The route config pattern is simple and scalable."

Aisha Okonkwo
Senior Dev, Lagos
★★★★★

"The consistent ApiResponse shape across all endpoints makes frontend integration a dream. TransformInterceptor is genius."

Tom Lindqvist
Mobile Developer, Stockholm
★★★★★

"The multi-stage auth is beautifully designed. OTP → username → profile felt natural to implement and our users love the flow."

Priya Sharma
Lead Engineer, Bangalore
★★★★★

"Redis cache integration is seamless. Our follower feed loads in under 50ms. The CacheService fallback logic is chef's kiss."

Marcus Klein
Backend Architect, Berlin
★★★★☆

"Stories + Highlights module is incredibly thought out. S3 uploads, temp files, expiry jobs — everything you need without the boilerplate."

Seo-Yeon Park
Product Developer, Seoul
★★★★★

"The module isolation is exceptional. I extended the Admin module for custom roles without touching a single other file."

Diego Reyes
Full-stack Dev, Mexico City
★★★★★

"API versioning done right. Adding V2 routes was a 10-minute job. The route config pattern is simple and scalable."

Aisha Okonkwo
Senior Dev, Lagos
★★★★★

"The consistent ApiResponse shape across all endpoints makes frontend integration a dream. TransformInterceptor is genius."

Tom Lindqvist
Mobile Developer, Stockholm

Ready to build
your social world?

ChitChat's modular backend is ready to power your next social app. Clone, configure, and ship.