ContentWatch is a platform-agnostic content analytics and intelligence system designed for creators. It aggregates cross-platform social media data, normalizes it into a unified schema, and runs a lightweight analysis pipeline to deliver clear, actionable growth strategies rather than just raw, overwhelming dashboards.
Whether analyzing a long-form YouTube video, a viral TikTok, or an X thread, ContentWatch unifies performance metrics to build a comprehensive Content DNA profile for every creator.
Get your local environment up and running in minutes.
Make sure you have the following installed on your machine:
- Docker & Docker Compose
- Node.js (with
pnpmconfigured)
-
Clone the repository & start backend services:
$ git clone git@github.com:XST-BD/ContentWatch.git $ cd ContentWatch $ cd server $ docker compose build --parallel && docker compose up
-
In a new terminal window, initialize and start the frontend client:
$ cd client $ pnpm install && pnpm approve-builds $ pnpm dev
Once the local builds and compilation processes finish, you can access the stack at:
- ๐ User Interface: http://localhost:3000
- โ๏ธ REST API Gateway: http://localhost:8000
- ๐ Cross-Platform Ingestion: Fetches and normalizes raw content data from multiple social media APIs (YouTube, TikTok, X, and more) into a standardized structure.
- ๐งฌ Content DNA Profiling: Decodes creator tendencies by analyzing publishing patterns across formats, topics, timing, and durations.
- ๐ก Actionable Insights: Moves beyond passive vanity metrics to provide explicit recommendations on what to post, when to post, and how to optimize engagement.
- ๐ Performance Buckets (Breakdowns): Automatically categorizes and compares performance across distinct content types, specific time slots, and video length ranges.
- ๐ Time-Series Analytics: Tracks and visualizes complex historical trends in views and engagement over time.
- ๐งฉ Modular Architecture: Built as a robust modular monolith, enforcing strict domain boundaries to allow individual pipelines to easily scale into independent microservices later.
ContentWatch implements a complete intelligence loop, handling everything from raw data ingestion to user-facing strategic recommendations.
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ External Platforms API โ (YouTube, TikTok, X, etc.)
โโโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Fetcher Service โ (External / Ingestion Layer)
โโโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ [Normalized Data]
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Django Backend โ (API Orchestration & Core Logic)
โโโโโโโฌโโโโโโโโโโโโฌโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Feature โ โ Analysis Engine โ (Heuristics & ML-Ready)
โ Engineering โ โโโโโโโโโโฌโโโโโโโโโ
โโโโโโโโโโโโโโโ โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ PostgreSQL โ (Persistent Storage)
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Frontend (Nuxt) โ (User Interface / UI)
โโโโโโโโโโโโโโโโโโโ
- Fetcher Service: Connects to external APIs, handles rate limits, and standardizes raw payloads into a unified format.
- Backend (Django + DRF): Orchestrates data processing pipelines, calculates heuristics, and exposes standard RESTful endpoints.
- Client (Nuxt + Tailwind CSS): A fast, intuitive frontend for data visualization and strategy delivery.
- Redis (Optional Extension): Used as a high-speed caching tier for demanding time-series and breakdown operations.
| Layer | Technologies Used |
|---|---|
| Frontend | |
| Backend | |
| Database & Cache | |
| Authentication | |
| DevOps & CI/CD |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/analyze/ |
Triggers the underlying feature engineering/analysis pipeline and updates insights. |
GET |
/api/insights/ |
Returns the final, compiled strategic creator recommendations. |
GET |
/api/content-dna/ |
Retrieves the creator's behavioral profile (tendencies, formatting, timing). |
GET |
/api/timeseries/ |
Exposes engagement data mapped over historical time matrices. |
GET |
/api/breakdowns/ |
Returns multi-dimensional aggregated performance buckets. |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/ingest/{integration_id}/structured |
Exposes the post-normalization data payload. |
GET |
/api/ingest/{integration_id}/raw |
Retrieves the immutable, raw API response from the source platform. |
ContentWatch aims to bridge the gap between raw data collection and strategic content execution. Most analytics platforms bury valuable conclusions under endless tabs of charts. ContentWatch prioritizes clarityโturning patterns into natural language rules that creators can immediately action in their next production cycle.
By implementing strict decoupling boundaries between our domains within a modular monolith, we keep development overhead light without boxing ourselves into a corner. When ingestion traffic bursts scale up, components like the Fetcher Service or the Analysis Engine can cleanly decouple into distributed microservices.
- Deep native connectors for expanded networks (Pinterest, Facebook).
- Integration of predictive ML pipelines for video viral-coefficient forecasting.
- Transition to Apache Kafka/RabbitMQ for real-time stream processing of analytics.
- Microservice decoupling and deployment targeting Kubernetes environments.
- Complex key-value caching optimizations via Redis layers.
This project is licensed under the GPL License. See the LICENSE file for more details.