Skip to content

RedoraAI — AI-Powered Reddit Lead Generation Open-source platform to discover relevant Reddit posts, automate comments and DMs, and streamline lead generation using AI. Engage your audience on autopilot.

License

Notifications You must be signed in to change notification settings

donebyai-team/RedoraAI

Repository files navigation

🧠 RedoraAI

RedoraAI is an open-source, AI-powered lead generation platform for Reddit.
It automates lead discovery, monitoring, and engagement — helping you find and connect with high-intent users across Reddit while staying fully compliant with community rules.

🚀 Automate your Reddit lead generation with AI agents that discover relevant subreddits, monitor discussions, and craft authentic, rule-safe engagement messages.

You can explore and use RedoraAI online at https://redoraai.com


image

📋 Table of Contents


✨ Features

🕵️ Lead Generation

  • Extract relevant posts for given keywords, subreddits, and product details
  • AI-assisted keyword and subreddit suggestions
  • Intelligent post scoring using LLMs

⚙️ Automation

  • AI-generated DMs and comments tailored to community guidelines
  • Scheduled auto-replies on relevant posts
  • Auto DMs with configurable timing and frequency

🔔 Notifications

  • Email notifications via Resend
  • Slack alerts for daily or weekly summaries
  • Email Alerts to users when a connected account is revoked or banned
  • Onboarding emails
  • Subscription expiry and renewal alerts

👥 Multi-Account Management

  • Connect multiple Reddit accounts
  • Auto-rotation for comments and DMs
  • Rotation strategies:
    • Random — pick a random account
    • Specific — use a chosen account
    • Most Qualified — based on karma, age, etc.

📊 Reporting

  • Daily and weekly engagement summaries

💳 Subscription Management

  • Simple in-app subscription logic with plan limits

💬 Interactions

  • Manage all AI-generated comments and DMs

🗓️ Posting

  • Generate and schedule Reddit posts
  • Posts follow subreddit rules and guidelines

🏗️ Architecture Overview

This repository contains all components required to run RedoraAI.

.
├── backend/             # Go backend services
│   ├── portal-api/      # Public API layer for frontend (gRPC + Connect)
│   └── spooler/         # Core tracking engine for subreddits and posts
├── frontend/            # Frontend mono-repo
│   ├── portal/          # Web app (Next.js + PNPM)
│   └── packages/        # Shared UI, config, and protobuf packages
└── devel/               # Local development setup scripts

Backend Services

  • Portal — API layer for frontend over gRPC/Connect-Web
  • Spooler — Tracks relevant posts based on subreddit/keyword pairs every 24h
    • Configurable fanout limits, polling intervals, and daily quotas
    • Limits no of posts to track
    • Limits Max no of relevant posts per day as per the subscribed plan
    • Built-in retry logic for failed posts
    • Send scheduled posts, DM and Comments

LLM Layer

  • Powered by LiteLLM (deployed separately)
  • Supports OpenAI and Gemini APIs interchangeably
  • Handles scoring, comment/DM generation, and keyword/subreddit suggestions

🧰 Tech Stack

Backend

  • Go 1.23+
  • PostgreSQL
  • Redis
  • Docker
  • LiteLLM
  • Playwright

Frontend

  • Node.js 20+
  • PNPM
  • Next.js / React
  • Tailwind CSS / Material UI

Auth & APIs

  • Auth0 (passwordless login)
  • Reddit OAuth APIs
  • Resend (emails)
  • Browserless / Steel.dev (CDP automation)
  • DODO Payments (subscriptions)

⚙️ Getting Started

Prerequisites

Ensure you have installed:

  • Docker
  • Go 1.23+
  • Node.js 20+
  • PNPM
  • direnv for environment variables

Configuration

Start local PostgreSQL and Redis:

./devel/up.sh

Copy the environment file and configure:

cp .envrc.example .envrc
direnv allow

Replace placeholders (<value>) with your actual secrets and keys.


Backend Setup

Run tests and start the backend:

cd backend
go test ./...
go build -o redora && ./redora start

Initialize the database:

./backend/script/migrate.sh up

Create a new migration:

./backend/script/migrate.sh new <migration_name>

Frontend Setup

Install dependencies:

cd frontend
pnpm install

Start the development server:

pnpm dev:portal

Visit: http://localhost:3000


Running the Project

You’ll need three components running:

  1. Docker — for Postgres, Redis, Pub/Sub emulator
    ./devel/up.sh
  2. Backend — use reflex for live reload
    reflex -c .reflex
  3. Frontend — Next.js app
    cd frontend && pnpm dev:portal

Visit:

  • http://localhost:8081 → pgweb (Postgres UI)
  • http://localhost:3000 → Redora Portal

🔌 Integrations

Integrations store external service credentials and configuration.

Type Description
Reddit Cookies User-provided cookies for Reddit automation
Slack Webhook Notifications and alerts
OAuth Tokens Reddit access/refresh tokens

Manually insert an integration using tools. Example (CLI):

doota tools integrations slack_webhook create <org-id> '{"channel":"redora-alerts","webhook":"<slack-url>"}'

🛠️ Admin Interface

There is no separate admin interface. Users assigned the role PLATFORM_ADMIN can view all organizations and have access to all accounts across the platform.

☁️ Deployment

  • Hosted on Railway.app
  • GCP used for LLM and Playwright storage
  • Secrets managed via GCP KMS
  • PostgreSQL and Redis hosted on Railway

🛡️ Account Safety Strategies

To minimize Reddit account bans:

  1. Age-based limits — automate only with accounts > 2 weeks old
  2. Gradual scaling — increase activity slowly
  3. DM-first approach — DMs are safer than comments
  4. Rule adherence — generate context-aware replies
  5. Consistent engagement — reply and post regularly
  6. Occasional posting — maintain activity score

⚠️ Gotchas & TODOs

  • We currently use OpenAI for keyword/subreddit suggestions during onboarding and LiteLLM for other AI related tasks. Ideally, we should use a single AI provider for all tasks.
  • When scoring a post, if the score is >90, we double check it with an advance model. This could be improved by selecting a better default model.
  • Comment and DM generation should be moved into separate LLM calls. Right now, scoring, comment and DM generation are all done in a single LLM call.
  • We should add the ability to regenerate comments or DMs.
  • To avoid getting banned, we only use Reddit accounts that are > 2 weeks old for AI generation. This is a temporary solution and we should come up with a better way to handle account warmup.

🤝 Contributing

We welcome contributions!

  1. Fork the repo
  2. Create a new branch:
    git checkout -b feature/your-feature
  3. Commit your changes
  4. Open a Pull Request

Please follow Go and JS linting rules before submitting.


📜 License

Released under the MIT License.
© 2025 DoneByAI — building AI tools that work for you.


💡 Maintainers

About

RedoraAI — AI-Powered Reddit Lead Generation Open-source platform to discover relevant Reddit posts, automate comments and DMs, and streamline lead generation using AI. Engage your audience on autopilot.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •