A fullstack web application that automates Reddit content planning for client growth. The app ingests company information, personas, target subreddits, and keywords to generate high-quality weekly content calendars using AI.
- Smart Content Planning: Generate weekly Reddit content calendars with AI-powered content
- Multi-Persona Support: Manage multiple personas with distinct voices and styles
- Groq AI Integration: Fast content generation using Groq's LLaMA 3.3 70B model
- AI-Powered Scoring: Automatic grading with heuristic fallback
- Thread Simulation: Preview how threads might unfold before posting
- Multi-Week Support: Generate next week with linked week navigation
- Edit & Save: Live editing and saving functionality
- Export Options: Export calendars to CSV or Excel formats
reddit-mastermind-automation/
βββ backend/ # Express.js API server
β βββ src/
β β βββ index.js # Main server entry
β β βββ routes/ # API routes
β β β βββ auth.js # Authentication routes
β β β βββ planner.js # Calendar generation & management
β β β βββ export.js # CSV/Excel export
β β β βββ simulator.js # Thread simulation
β β βββ services/ # Business logic
β β βββ csv-xlsx-handler.js # File parsing utilities
β β βββ smart-parser.js # AI-powered file parsing
β β βββ persona.js # Persona management
β β βββ llm-adapter.js # Groq AI integration & scoring
β β βββ validator.js # Content validation
β β βββ planner.js # Calendar planning algorithm
β β βββ post-adapter.js # Post management
β β βββ simulator.js # Thread simulation
β β βββ export.js # Export utilities
β βββ package.json
β βββ .env.example
βββ frontend/ # React (Vite) application
β βββ src/
β β βββ api/ # API client
β β β βββ index.js # Axios API wrapper
β β βββ components/ # Reusable UI components
β β β βββ Layout.jsx # Main layout with sidebar
β β β βββ FileUpload.jsx # Drag & drop file upload
β β β βββ PostCard.jsx # Post display card
β β β βββ EditModal.jsx # Edit post/comments modal
β β β βββ CalendarSummary.jsx # Calendar stats summary
β β βββ pages/ # Route pages
β β β βββ Dashboard.jsx # Home dashboard
β β β βββ NewPlan.jsx # Create new calendar
β β β βββ CalendarView.jsx # View/manage calendar
β β β βββ Simulator.jsx # Thread simulator
β β βββ store/ # State management (Zustand)
β β β βββ calendarStore.js
β β βββ App.jsx # Main app with routes
β β βββ main.jsx # Entry point
β β βββ index.css # Tailwind styles
β βββ package.json
β βββ vite.config.js
βββ sample_data/ # Example input files
β βββ SlideForge - Company Info_input.csv
β βββ SlideForge - Content Calendar_output.csv
βββ Output/ # Exported calendar files
βββ docker-compose.yml # Docker configuration
βββ LICENSE
βββ README.md
- Runtime: Node.js 20+
- Framework: Express.js
- AI: Groq SDK (LLaMA 3.3 70B Versatile)
- File Processing: papaparse (CSV), xlsx (Excel)
- Validation: Custom rule engine
- Framework: React 18 + Vite
- Styling: Tailwind CSS
- State: Zustand
- Routing: React Router v6
- UI: Lucide icons, react-hot-toast
- Node.js 20.x or higher
- npm 10.x or higher
- Groq API key
git clone https://github.com/yourusername/reddit-mastermind-automation.git
cd reddit-mastermind-automationcd backend
npm install
# Copy and configure environment variables
cp .env.example .env
# Edit .env and add your Groq API keycd ../frontend
npm installBackend (Terminal 1):
cd backend
npm run dev
# Server runs on http://localhost:3001Frontend (Terminal 2):
cd frontend
npm run dev
# App runs on http://localhost:5173The application accepts CSV or XLSX files with company info, personas, subreddits, and keywords. The smart parser uses AI to automatically extract structured data from various file formats.
- Company Info: Name, website, description
- Personas: Username, bio, tone, tags (minimum 2)
- Subreddits: Target subreddit names
- Keywords: Topics and angles for content
See sample_data/ for example input files.
The planner uses a sophisticated allocation algorithm:
- Smart Parse: AI extracts company, personas, subreddits, and keywords from uploaded file
- Expand Angles: Generate diverse post titles/angles from keywords
- Allocate Posts: Distribute across days, personas, and subreddits
- Generate Content: Create posts with 5 varied opening styles (story, question, observation, tip, comparison)
- Generate Comments: Create follow-up comments with 7 diverse strategies
- AI Scoring: Grade content for authenticity, engagement, value, and subreddit fit
- Heuristic Fallback: Automatic scoring when AI grading fails
- Track Variety: Prevent repetition by tracking persona comment history
- Week Linking: Chain calendars together for multi-week navigation
POST /api/planner/generate- Generate calendar from file uploadPOST /api/planner/generate/json- Generate calendar from JSON inputGET /api/planner/calendar/:id- Get calendar by IDGET /api/planner/calendars- List all calendarsPOST /api/planner/calendar/:id/next-week- Generate next week's calendarPATCH /api/planner/calendar/:id/item/:itemId- Update item (edit)POST /api/planner/calendar/:id/item/:itemId/approve- Approve item for posting
GET /api/export/:id/csv- Export to CSVGET /api/export/:id/xlsx- Export to Excel
POST /api/simulator/:calendarId/:itemId- Simulate thread
- Dashboard: View all generated calendars with quick stats
- New Plan: Upload files, preview data, configure generation options
- Calendar View: Grid/List views, filtering by persona/subreddit, week navigation
- Edit Modal: Edit post title, body, subreddit, timestamp, and all comments
- Progress Modal: Visual progress during calendar generation
- Thread Simulator: Real-time simulation of how threads unfold
MIT License - see LICENSE for details.