Skip to content

Poolchaos/Serelo

Repository files navigation

Serelo

Content, orchestrated.

A production-grade AI content generation platform that turns source documents into publish-ready blog posts — with strict source-first methodology to eliminate hallucinations. Built for content teams, agencies, and SaaS marketers.

Python 3.11 FastAPI React 18 MongoDB TypeScript Docker License


Serelo Dashboard — Projects, usage analytics, and recent activity at a glance

Dashboard — Projects, usage analytics, and recent activity at a glance


What It Does

  1. Upload your source material — PDFs, DOCX, Markdown, or CSV files
  2. Generate content — AI produces SEO-optimised blog posts grounded in your sources (no hallucinations)
  3. Review & refine — Built-in SEO scoring, readability analysis, and heading structure checks
  4. Publish & schedule — Push directly to WordPress or LinkedIn, or schedule via the content calendar

Screenshots

AI Post Generation

Configure topic, voice, target length, and AI provider — then generate a full blog post in seconds.

Post generation form with topic, voice, and AI provider selection

Post Detail & Content View

Review the full generated post with markdown rendering, content blocks, and version history.

Post detail page showing generated content, metadata, and version history

SEO Analysis

Every post is scored on readability, keyword density, heading structure, and content length — with actionable recommendations.

SEO analysis panel with scores for readability, keywords, structure, and recommendations

Content Templates

Reusable generation templates for consistent output across teams and projects.

Template library showing reusable content generation templates

Content Calendar & Scheduling

Schedule posts across platforms with a visual calendar — month, week, day, and agenda views.

Content calendar showing scheduled posts across multiple platforms

Social Media Integration

Connect LinkedIn and WordPress accounts — publish directly from the platform with one click.

Social media accounts page with LinkedIn and WordPress connections

Subscription & Billing

Five tiers from Free to Enterprise. Word-based quotas, Paystack billing, and self-service plan management.

Billing page showing Free, Starter, Pro, Business, and Enterprise plans


Tech Stack

Layer Technology
API FastAPI (Python 3.11), fully async
Frontend React 18 + TypeScript + Vite + Tailwind CSS
Database MongoDB 7.0 with Motor async driver
Queue Celery + Redis (broker & result backend)
Storage MinIO (S3-compatible object store)
AI/LLM OpenAI GPT-4o, Anthropic Claude 3.5, Google Gemini 2.0 — multi-provider with circuit-breaker failover
Auth JWT (HTTPOnly cookies) + Google/GitHub OAuth
Billing Paystack (ZAR & USD)
Infra Docker Compose, Jenkins CI/CD, GitHub Container Registry
Monitoring Sentry, Prometheus + Grafana

Features

AI Content Generation

  • Source-first pipeline — 3-stage generation (Outline → Section Drafting → SEO Metadata) grounded in uploaded documents
  • Multi-provider LLM — OpenAI, Anthropic, and Google with automatic failover and circuit-breaker resilience
  • 4 voice presets — Professional, Casual, Witty, Technical
  • NEEDS_INPUT markers — AI flags gaps instead of hallucinating when source material is insufficient
  • Real-time progress — Server-Sent Events stream per-section generation progress to the UI
  • Bulk generation — CSV-driven batch content creation

SEO & Analysis

  • Automated SEO scoring — Readability, keyword density, heading structure, content length
  • Meta generation — Auto-generated SEO title, meta description, URL slug, and focus keyword
  • Internal linking — Automatic link suggestions based on existing content
  • Actionable recommendations — Specific improvement suggestions per post

Publishing & Scheduling

  • WordPress integration — Direct publish via REST API + Application Passwords
  • LinkedIn publishing — Share posts directly to LinkedIn profiles
  • Content calendar — Visual scheduling with month, week, day, and agenda views
  • Draft or publish — Choose status, categories, and tags before pushing

Platform

  • Multi-tenant organisations — Teams, invitations, role-based access (Owner / Editor / Writer)
  • Project-based workspaces — Organise content by client, campaign, or topic
  • Content templates — Reusable generation briefs for consistent output
  • Document parsing — Async Celery workers parse PDF, DOCX, Markdown, and CSV sources
  • Subscription billing — Free / Starter / Pro / Business / Enterprise with word-based quotas
  • Account management — Full OAuth, GDPR-compliant account deletion

Trust & Safety

  • CAPTCHA — Google reCAPTCHA v3 with bot scoring
  • Content moderation — OpenAI moderation API on both inputs and outputs
  • Email validation — Format validation + disposable domain detection
  • Audit logging — Centralised event log with 90-day TTL
  • Prompt injection protection — Input sanitisation layer
  • Rate limiting — Per-endpoint throttling

Architecture

┌──────────┐     ┌──────────┐     ┌──────────┐
│ React UI │────▶│ FastAPI  │────▶│ MongoDB  │
│ (Vite)   │◀─SSE│ (async)  │     │ (Motor)  │
└──────────┘     └────┬─────┘     └──────────┘
                      │
                 ┌────▼─────┐     ┌──────────┐
                 │  Celery   │────▶│  Redis   │
                 │ Workers   │     │ (broker) │
                 └────┬─────┘     └──────────┘
                      │
            ┌─────────┼─────────┐
            ▼         ▼         ▼
       ┌────────┐ ┌────────┐ ┌────────┐
       │ OpenAI │ │Anthropic│ │ Google │
       │ GPT-4o │ │Claude3.5│ │Gemini2 │
       └────────┘ └────────┘ └────────┘

Detailed diagrams:


Test Coverage

151+ tests passing across backend, integration, and Trust & Safety services.

Suite Tests Status
Authentication 11
Projects & Sources 40
AI Generation 24
Trust & Safety 100
WordPress Integration 15
Billing & Subscriptions 30+

E2E coverage via Playwright (289 scenarios: auth, generation, billing, accessibility).


Quick Start

Prerequisites

  • Docker Desktop
  • Git

1. Clone & configure

git clone https://github.com/Poolchaos/serelo.git
cd serelo
cp .env.example .env
# Edit .env — set JWT_SECRET_KEY and OPENAI_API_KEY at minimum

2. Start

docker compose up --build
Service URL
Frontend http://localhost:3000
API http://localhost:8000
API docs (Swagger) http://localhost:8000/docs
Health check http://localhost:8000/health
Grafana http://localhost:3001

3. Run tests

docker compose exec api pytest -v

Project Structure

serelo/
├── backend/
│   ├── app/
│   │   ├── api/v1/          # REST endpoints (30+ routers)
│   │   ├── core/            # Config, security, middleware
│   │   ├── db/              # MongoDB connection & queries
│   │   ├── models/          # Data models
│   │   ├── schemas/         # Pydantic request/response schemas
│   │   ├── services/        # Business logic (40+ services)
│   │   ├── tasks/           # Celery async tasks
│   │   ├── prompts/         # LLM prompt templates
│   │   └── main.py
│   ├── scripts/             # Ops & migration scripts
│   ├── tests/               # 151+ backend tests
│   ├── Dockerfile
│   └── requirements.txt
├── frontend/
│   ├── src/
│   │   ├── components/      # React UI components
│   │   ├── pages/           # Route pages
│   │   ├── services/        # API client layer
│   │   └── stores/          # Context-based state
│   ├── e2e/                 # Playwright E2E tests
│   └── Dockerfile
├── docs/                    # API docs, architecture diagrams, guides
│   └── screenshots/         # Application screenshots
├── monitoring/              # Prometheus + Grafana config
├── docker-compose.yml
└── .env.example

Environment Variables

See .env.example for the full list. Minimum required:

JWT_SECRET_KEY=          # openssl rand -hex 64
OPENAI_API_KEY=          # OpenAI API key
MONGODB_URL=mongodb://localhost:27017
REDIS_URL=redis://localhost:6379/0

Security

  • JWT with HTTPOnly cookies (XSS-resistant)
  • CSRF protection on all mutating endpoints
  • bcrypt password hashing (cost factor 12)
  • OAuth state parameter HMAC validation
  • Input sanitisation + prompt injection detection
  • Rate limiting per endpoint
  • Content moderation on AI inputs and outputs
  • All secrets via environment variables — never committed

Documentation


License

Copyright (c) 2023–2026 Phillip-Juan van der Berg. All rights reserved. See LICENSE.

About

Serelo - AI-Powered Content Generation & Social Media Management Platform Enterprise SaaS platform for automated content creation and multi-platform social media publishing. Features intelligent SEO optimization, bulk generation, scheduled publishing, and advanced analytics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors