Connect. Shield. Stream.
A next-generation social platform combining authenticated discourse, anonymous expression, and immersive video streaming.
StreamWire is a full-stack social media application exploring the intersection of identity and anonymity. It features three distinct content experiences β Wire (Public), Shadows (Anonymous), and Cinema (Video) β powered by a MERN stack with AI integrations and privacy-first design.
- Authenticated Discourse: Social feed where identity is front and center
- Rich Posts: Text, image attachments, and integrated voting polls
- Trend Score Algorithm: Smart sorting based on recency, engagement, and unique views
- Stealth Toggle: Dynamically mask or reveal identity on any post
- Optimistic UI: Instant like/comment feedback with server rollback on failure
- True Anonymity: Post and comment without revealing identity
- Kill Switch: Instantly cloak your entire profile and content history
- AuthLock: Browse freely as a guest β authentication only required for interactions
- Stealth Comments: Participate in public threads anonymously
- Custom Video Player: Speed controls, Picture-in-Picture, theater mode, keyboard shortcuts
- AI-Powered (Groq):
- Auto-transcription via Whisper
- AI-generated descriptions and SEO tags
- On-demand video summarization
- Conversational Q&A about video content
- Engagement: Like, subscribe, pin comments, and "Watch Later" library
- Compression: Server-side FFmpeg two-pass compression for optimized storage
- Personalized "For You" Feed: Built from watch history + selected tag preferences
- Optimistic UI: Instant feedback on likes and comments, with rollback on failure
- Multi-Device Sessions: Up to 5 concurrent logins with JWT refresh token rotation
- View Deduplication: TTL-based unique view tracking (1 view per user per 12 hours)
- Trending Page: Cross-platform trending across Cinema, Wire, and Shadows
- Channel Pages: Full creator profiles with public/private mode and identity cloaking
- Creator Studio: Dashboard with analytics, video/wire management, and stealth post tracking
| Layer | Technology |
|---|---|
| Core | React 19, Vite 7 |
| State | Redux Toolkit (Auth) + TanStack React Query (Server State) |
| Styling | Tailwind CSS v4 + Framer Motion |
| HTTP | Axios with auto JWT refresh + request queueing |
| Forms | React Hook Form |
| Routing | React Router v7 |
| Icons | Lucide React |
| Layer | Technology |
|---|---|
| Runtime | Node.js (ES Modules), Express 5 |
| Database | MongoDB + Mongoose 9 (Aggregation Pipelines) |
| Auth | JWT (HTTP-Only Cookies) + bcrypt |
| Validation | Zod schemas |
| Security | Helmet, express-rate-limit, CORS |
| Media | Cloudinary + Fluent-FFmpeg |
| AI | Groq SDK (Whisper + Llama 3.3) |
| Nodemailer (Gmail App Passwords) | |
| Scheduling | node-cron (daily trend score updates) |
| Logging | Morgan |
StreamWire/
βββ Backend/ # Node.js + Express API
β βββ src/
β β βββ app.js # Express config + health check
β β βββ index.js # Server startup + graceful shutdown
β β βββ controllers/ # 11 request handlers
β β βββ models/ # 13 Mongoose schemas
β β βββ routes/ # 10 route modules (/api/v1/*)
β β βββ middlewares/ # Auth, Multer, Zod validation, rate limiters
β β βββ validations/ # 8 Zod schema files
β β βββ utils/ # 12 utilities (AI, FFmpeg, Cloudinary, etc.)
β β βββ services/ # JWT + Video AI services
β β βββ cron/ # Trend score cron job
β β βββ db/ # MongoDB connection
β βββ .env.example
β βββ package.json
β
βββ Frontend/ # React 19 + Vite Client
β βββ src/
β β βββ pages/ # 25 route-level pages
β β βββ Components/ # Reusable UI (26 components, 7 subdirs)
β β βββ api/ # Axios instance + 10 service modules
β β βββ store/ # Redux store + auth slice
β β βββ utils/ # Formatters + image compressor
β β βββ assets/ # Static images
β βββ public/ # sitemap.xml, robots.txt
β βββ package.json
β
βββ screenshots/ # App screenshots
βββ README.md # This file
βββ LICENSE # MIT License
- Node.js v18+
- MongoDB (local or Atlas)
- Cloudinary account
- Groq API key
- Gmail with App Password (for emails)
- FFmpeg installed system-wide
-
Clone the repository
git clone https://github.com/HiteshShonak/StreamWire.git cd StreamWire -
Backend Setup
cd Backend npm install cp .env.example .env # Fill in your credentials npm run dev
-
Frontend Setup
cd Frontend npm install npm run dev -
Access the app at
http://localhost:5173
API health check:http://localhost:8000/api/v1/health
| Feature | Implementation |
|---|---|
| HTTP Security Headers | Helmet middleware |
| Rate Limiting | Granular per-route-group limiters |
| Authentication | JWT in HTTP-Only cookies with refresh token rotation |
| Session Management | 5-device limit with FIFO eviction + reuse detection |
| Input Validation | Zod schemas on all mutation endpoints |
| Password Storage | bcrypt with salt rounds |
| Identity Privacy | Configurable stealth mode + identity cloaking |
| View Anti-Spam | TTL-indexed deduplication (1 view / 12hr / user) |
| Auto Token Refresh | Axios interceptor with request queueing during refresh |
| Page | Route | Description |
|---|---|---|
| Landing | / |
Marketing landing page with AI feature demos |
| Wire Feed | /wire |
Authenticated public social feed |
| Shadows Feed | /shadows |
Anonymous posting feed |
| Cinema Feed | /cinema |
Video discovery with hero + category filters |
| Video Player | /watch/:id |
Full-featured custom video player + AI |
| Dashboard | /dashboard |
Creator Studio with stats, content, & stealth |
| Trending | /trending |
Cross-platform trending content |
| Channel | /channel/:username |
Creator profiles with subscriber management |
| Build Feed | /build-feed |
Customize "For You" video preferences |
| History | /history |
Personal watch history |
| Saved | /saved |
Watch Later + Saved Playlists |
| Following | /following |
Subscription management |
| Settings | /settings |
Account & privacy settings |
| Customize | /customize |
Profile wizard (avatar, cover, bio, colors) |
| Kill Switch | /kill-switch |
Toggle identity cloaking globally |
| About | /about |
Platform feature showcase |
| Contact | /contact |
Contact the team |
| Login | /login |
Authentication gateway |
| Register | /register |
Account initialization + OTP verification |
| Forgot Password | /forgot-password |
Password recovery flow |
This is a portfolio project demonstrating advanced full-stack capabilities. Feedback and contributions are welcome!
This project is licensed under the MIT License β see the LICENSE file for details.
Β© 2026 StreamWire. Built with β€οΈ by Hitesh Sharma.













