Skip to content

Repository files navigation

Reddit Content Calendar Generator

This project automates the planning of realistic Reddit marketing campaigns by generating weekly content calendars with natural, multi-persona conversations.

The system is designed as a planning engine, not a Reddit bot. All posting and commenting actions are assumed to exist externally; this app focuses purely on strategy, structure, and quality.

image image

What it does

  • Takes structured inputs:
    • Company information
    • Multiple personas (2+)
    • Target subreddits
    • Search-style queries/topics
    • Number of posts per week
  • Generates a weekly Reddit content calendar
  • Simulates natural conversations between personas
  • Scores content quality to avoid spammy or manufactured output
  • Persists calendars so future weeks can be generated without repetition

Architecture overview

The system deliberately separates concerns:

  1. Deterministic planning (code-controlled)

    • Topic selection
    • Persona assignment
    • Scheduling across the week
    • Subreddit distribution
  2. LLM generation (AI-controlled)

    • Post and comment text only
    • Strict prompts to avoid marketing tone
    • Persona-aware responses
  3. Quality control

    • Heuristic quality scoring
    • Penalizes over-promotion and weak conversations

This ensures the LLM is used as a content writer, not as the decision-maker.


Tech stack

  • Next.js
  • Supabase
  • Gemini API (content generation)

Known limitation (Gemini API)

This project currently uses the free-tier Gemini API, which occasionally:

  • Returns truncated responses
  • Produces inconsistent formatting under heavy usage

This is not an architectural issue.
The system is designed so that switching to a paid Gemini tier (or another LLM provider) would immediately improve reliability and output consistency without any code changes to the core logic.


One feature that would be a great addition

Automated Calendar Quality Feedback

After generating a calendar, the system could:

  • Compare week-over-week quality scores
  • Highlight which personas or subreddits perform best
  • Recommend adjustments (e.g. fewer posts in certain subreddits, more skeptical personas)

This would turn the tool from a planner into a self-improving strategy engine.


Getting started

Clone the repository, install dependencies, and configure environment variables:

git clone cd npm install

Create a .env.local file in the root with the following values: SUPABASE_URL=your_supabase_project_url SUPABASE_SERVICE_ROLE_KEY=your_service_role_key GEMINI_API_KEY=your_gemini_api_key

Start the development server and open the app: npm run dev

Open http://localhost:3000 in your browser, enter the company info, personas, subreddits, queries, and posts per week, then click Generate Calendar to create the weekly Reddit content plan.

Releases

Packages

Contributors

Languages