AI-Powered Content Calendar Generator for Reddit Marketing
Reddit Mastermind automates the creation of strategic Reddit content calendars for companies. It generates authentic posts and comments across multiple personas and subreddits, designed to drive upvotes, engagement and inbound leads.
- Multi-Persona System: Uses input personas
- Smart Distribution: Evenly distributes posts across subreddits and time slots
- UTC Timestamps: Clear timezone format (MM/DD/YYYY HH:MM:SS UTC)
- Keyword Tags: Each post gets 2-4 keywords from your input target queries
- Quality Validation: Built-in checks for over-posting, timing and content diversity
- Natural Conversations: Generates realistic comment threads between your personas
- Week-by-Week Generation: Create subsequent weeks with one click
- Export Functionality: Download calendars as JSON for external scheduling tools
- Free Tier Model: Uses gpt-4o-mini by default and fallsback to gpt-3.5-turbo
- Company Information (3 separate fields)
- Name
- Website
- Description
- Personas (2+) - each with:
- Reddit Username
- Info (background, expertise, tone, interests, etc.)
- Subreddits (list without r/ prefix)
- Number of Posts Per Week
- Target Queries
-
Distribution Logic
- Evenly distributes posts across subreddits (max 5 per subreddit/week)
- Rotates through personas to vary posting voices
- Spreads posts throughout the week during business hours
- Avoids repeating subreddit + query combinations
-
Post Creation
- Uses GPT-4 to generate authentic, subreddit appropriate content
- Matches persona background and tone
- Naturally incorporates company when relevant (not forced)
- Optimizes for engagement and upvotes
-
Comment Generation
- 1-3 comments per post from different personas
- Varied timing (0.5-48 hours) to appear organic
- Mix of perspectives: agreement, questions, insights
- Continues conversation naturally
-
Quality Checks
- Over-posting detection (max posts per subreddit)
- Comment timing analysis (flags if too coordinated)
- Topic diversity validation
- Persona distribution balance
A structured content calendar with:
- Scheduled posts with titles, content and posting times
- Timestamps in UTC: MM/DD/YYYY HH:MM:SS UTC format
- Example: 12/8/2025 14:33:00 UTC
- Keywords: 2-4 random target queries from your input (displayed as tags)
- Comments from your input personas only (u/username format)
- Timing delays spread naturally (0.5-48 hours)
- Quality metrics and warnings
- Strategic reasoning for each post
- All data exportable as JSON
# Clone repository
git clone https://github.com/sannya-singal/reddit-mastermind
cd reddit-mastermind
# Install dependencies
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Set up environment
cp .env.example .env
# Edit .env and add your OpenAI API keypython app.pyVisit http://localhost:5000
python test_generator.py- Enter Company Information
- Name (e.g., "SlideForge")
- Website (e.g., "http://slideforge.ai/")
- Description (product, value prop, target audience, features, etc.)
- Add Personas (minimum 2)
- Username (e.g., "consulting_alex")
- Info (background, expertise, tone, interests)
- List Subreddits (comma-separated, without r/)
- Set Number of Posts Per Week
- Add Target Queries (one per line)
- Click "Generate Content Calendar"
- Review generated posts with:
- UTC timestamps
- 2-4 keyword tags per post
- Comments from your personas
- Generate subsequent weeks as needed
- Export to JSON
from models import ContentInput, CompanyInfo, Persona
from content_generator import ContentGenerator
# Create input
company_info = CompanyInfo(
name="YourCompany",
website="yourcompany.com",
description="AI-powered tool that helps users solve X. Target audience: professionals who need Y. Key features: feature1, feature2, feature3."
)
personas = [
Persona(
username="alex_consultant",
info="Management consultant with 10 years experience. Professional tone, shares practical tips. Interests: consulting, productivity."
),
Persona(
username="startup_founder",
info="Tech startup founder. Casual and enthusiastic. Interests: startups, growth, tools."
),
# Add more personas...
]
input_data = ContentInput(
company_info=company_info,
personas=personas,
subreddits=["entrepreneur", "startups"],
chatgpt_queries=["best tools for X", "how to Y"],
posts_per_week=7
)
# Generate calendar
generator = ContentGenerator()
calendar = generator.generate_calendar(input_data)
# Validate quality
quality = generator.validate_calendar_quality(calendar)
print(f"Quality Score: {quality['quality_score']}/10")The algorithm prioritizes authenticity over volume:
- Natural Conversations: Comments feel organic, not manufactured
- Persona Integrity: Only uses YOUR input personas - no random names
- Clear Timestamps: UTC format eliminates timezone confusion
- Input-Based Keywords: Keywords come from YOUR target queries, not AI-generated
- Varied Perspectives: Different personas bring unique viewpoints
- Strategic Timing: Posts and comments spread naturally
- Subreddit Respect: Content matches each community's norms
- Value-First: Posts help users first, mention product second
Comprehensive test suite (test_generator.py) validates:
- Basic generation: Correct number of posts and comments
- Quality metrics: Scoring and warning systems
- Subreddit distribution: Even distribution, no over-posting
- Persona integrity: Only input personas used in comments
- Comment timing: Natural spread (0.5-48 hours)
- Content authenticity: Sample review for quality
- Multi-week generation: No repetition across weeks
- Keyword assignment: 2-4 queries per post from input
- UTC timestamps: Correct format and timezone
- Over-posting: Limits posts per subreddit per week (max 5)
- Persona validation: Ensures only input personas appear in comments
- Persona imbalance: Rotates personas evenly across posts
- Topic repetition: Tracks query combinations to avoid duplicates
- Coordinated comments: Varies timing to appear natural (0.5-48h)
- Keyword consistency: Uses input queries only, not AI-generated
- Timezone clarity: All timestamps in UTC format
- Insufficient personas: Validates minimum of 2
- Empty inputs: Form validation and error handling
- Model fallback: Auto-fallback to gpt-3.5-turbo if primary model unavailable
See README_DEPLOYMENT.md for detailed deployment instructions for:
- Heroku
- Render
- Railway
- DigitalOcean
- Docker