AI-Powered Review Automation for Truthful, Drip-Fed Accountability
Built by Sparkles & Sage — Justice is a dish best served... continuously.
- What Is Sage Justice?
- Who Is This Guide For?
- Before You Begin
- Step-by-Step Installation
- Running the Program
- Understanding the Interface
- Feature Walkthrough
- Advanced Tools
- How the Automation Works
- Troubleshooting & FAQ
- Folder Structure
- Roadmap
- Legal & Contributions
Sage Justice is a software suite that automatically publishes factual, unique, and slowly drip-fed reviews to multiple websites. It was originally created to highlight unethical professional conduct, making sure honest experiences reach the public over time.
The system uses artificial intelligence (AI) to rewrite reviews without changing their meaning. It rotates user accounts and network addresses, and it schedules posts gradually so they appear natural.
This guide assumes no prior computer knowledge. Every step is written for people who have never used a terminal, installed software, or edited a file. If you already know how to use a computer, feel free to skim the basics.
- A computer running Windows 10+, macOS 11+, or a modern Linux distribution.
- A stable internet connection.
We will install these together during the setup:
- Git – a tool to download the project.
- Python 3.11+ – the language the program is written in.
- Google Chrome – required for automated web browsing.
A terminal is a text-based window for giving commands to the computer.
- Windows: Press
Start, typecmd, and pressEnter. - macOS: Open
Finder→Applications→Utilities→Terminal. - Linux: Press
Ctrl+Alt+T.
- Windows: Visit git-scm.com, download the installer, and run it with default options.
- macOS: In the terminal, type
xcode-select --installand follow the prompts. - Linux: In the terminal, type
sudo apt install gitand pressEnter.
- Go to python.org/downloads and download the latest version for your operating system.
- Run the installer. On Windows, make sure to check the box that says “Add Python to PATH.”
- Download from google.com/chrome.
- Run the installer with default options.
In your terminal, type:
git clone https://github.com/mattysparkles/sage-justice.git
cd sage-justiceThis downloads the project folder and moves you into it.
Stay in the terminal and run:
python -m pip install --upgrade pip
python -m pip install -r requirements.txtIf pip is not recognized, replace python with python3.
These commands download and install all libraries that Sage Justice needs.
The program uses OpenAI’s GPT models. You need an API key.
- Create an account at platform.openai.com.
- Generate a new API key and copy it.
- In your terminal, type:
mkdir -p config nano config/settings.local.json
- Paste the following, replacing
YOURKEYwith your key:{ "openai_api_key": "sk-YOURKEY" } - Press
Ctrl+OthenEnterto save, andCtrl+Xto exit. - To double‑check, run
cat config/settings.local.jsonand make sure your key is visible.
- Open your terminal and confirm you are in the project folder by typing
ls(macOS/Linux) ordir(Windows). You should see files likeREADME.mdand folders namedcoreanddashboard. - Start the program:
If this fails, try
python dashboard/main_gui.py
python3instead ofpython. - After a few seconds a window titled Guardian Deck appears. Keep the terminal open; it shows additional messages.
First-time tip: If nothing happens or you see an error, read the troubleshooting section below.
When you launch the program a window opens with a small overview panel at the top. It shows how many reviews were posted today and the health of your accounts and proxies in simple pie charts. Below the panel is a row of tabs that group every feature. Click a tab to switch sections.
| Tab | What It Does |
|---|---|
| Review Generator | Write or rewrite reviews with AI. |
| Templates | Configure how different websites accept reviews. |
| Accounts | Store usernames and passwords for each site. |
| Proxies | List IP addresses to hide your location. |
| Sites | View all supported review platforms. |
| Schedule | Plan when reviews should be posted. |
| Jobs | Monitor queued tasks and retry failures. |
| Logs | Read records of what has been posted. |
| Settings | Save your OpenAI key and choose the AI model. |
Each tab has buttons and text fields. Move your mouse over a field, click it, and type. Buttons perform actions when clicked.
The Review Generator creates fresh text or rewrites existing reviews.
- Click the Review Generator tab.
- Type the situation or story you want to tell into the Prompt box.
- Use the Count spinner to choose how many unique reviews you want (1–10).
- Adjust the Formality and Emotion sliders to set tone on a scale from 0 (none) to 10 (high).
- Optional: Check Rewrite to spin the text using the AI's variant engine.
- Click Generate. New reviews appear in the list below.
- Click individual reviews to select or deselect them. Selected reviews turn blue.
- Use Assign & Queue to save selected reviews into a project for later scheduling. They are stored under
output/queued_reviews/. - To keep a copy on your computer immediately, click Save (or use your operating system's copy‑paste).
Templates tell the program where to click and what to fill out on each review website.
- Click Templates.
- The Template Manager shows existing templates on the left and details on the right.
- To make a new template, choose New, enter the website URL, and follow the prompts to map each form field. The field auto‑detector attempts to guess inputs for you.
- Test the mapping inside the manager to ensure the cursor jumps to the correct fields.
- Save templates as JSON files in the
templates/folder. You can edit these files later with any text editor if needed.
The program rotates through many login credentials to keep posting natural.
- Click Accounts.
- Press Add Account and enter username, password, and an optional category like “healthcare” or “finance.”
- Accounts are listed with a health status (green = healthy, orange = warning, red = failed).
- Select a row and use Delete Selected to remove it or Mark as Failed if the login stopped working.
- Account data is stored inside the internal SQLite database
core/reviewbot.db; keep a backup if you reinstall.
Proxies disguise your network location.
- Click Proxies.
- Type a proxy in the form
IP:PORTorUSER:PASS@IP:PORTand press Add. - The table shows each proxy's status and region. Use Test Proxy to ping it and update the status.
- Use Delete Selected to remove entries. Proxy details are stored in the same
core/reviewbot.dbdatabase. - Proxies may be assigned at global, account, site, or project levels with weights and priorities via the database utilities.
This tab lists all site templates found in the templates/ directory. Selecting a site shows the fields defined for that website. Use it as a quick reference to verify that your template contains the necessary mappings.
Remote repositories can be queried for available templates using the helper list_remote_templates in core.site_registry for easy importing.
The scheduler plans when each review will be posted.
- Click Schedule.
- Press Add Scheduled Job and choose the review, template/site, account, date, and time. You can also set repeat intervals for recurring posts.
- Scheduled jobs appear in the table. Select one and choose Remove Selected to cancel it.
- Press Toggle Scheduler to start or stop the background posting engine. The banner turns green when running.
The Jobs tab shows every queued task.
- Click Jobs.
- Use the Show only failed checkbox to filter for errors.
- Select a job and click Retry Selected to attempt posting again.
- Click Refresh to reload the list at any time. Jobs update automatically every few seconds.
Use this tab to view the last 100 lines of activity.
- Click Logs.
- Press Refresh to reload the display.
- By default it shows
logs/post_log.csvif available; otherwise it falls back tologs/app.log. - Scroll through the text box to see success messages, errors, and timestamps.
- Click Settings.
- Enter your OpenAI API key and pick a model (for example
gpt-4). - Click Save. Settings are written to
config/settings.local.json. You can edit this file manually if the GUI is unavailable.
These tools live under the core/ folder and are run from the terminal. They provide power features beyond the GUI.
Check if reviews are visible on Google.
python -c "from core.serp_scanner import check_review_visibility;print(check_review_visibility('your search terms'))"Summarize what has been posted.
python -c "from core.report_generator import generate_report;print(generate_report())"Add start and end dates in ISO format to limit the range.
Create CSV, JSON, or PDF reports from the post log.
python -c "from core.exporter import export_reviews;from datetime import datetime;export_reviews(None,None,['csv','json','pdf'])"Files are saved in the reports/ folder.
Some sites show content based on location. The geo spoofer feeds Chrome fake coordinates.
python -c "from core.geospoofer import get_random_location,spoof_location;from selenium import webdriver;d=webdriver.Chrome();spoof_location(d,get_random_location())"Run this before interacting with a site if you need a different region.
Sage Justice integrates with DeathByCaptcha to solve image challenges.
python -c "from core.captcha_solver import solve_captcha;print(solve_captcha(open('captcha.jpg','rb').read(),'USERNAME','PASSWORD'))"Replace with your account details; the function returns the text solution.
Preview postings without using real accounts.
python -c "from core.test_mode import dry_run_post;dry_run_post('templates/site.json','This is a test review')"The browser opens, fills in fields, and stops before submission.
For high-volume work, the orchestrator.py script launches multiple agents to process the job queue simultaneously.
python orchestrator.pyAgents pull jobs from the database, post reviews, and retry on failure.
- Review Creation: You craft prompts; the AI generates multiple styled variations.
- Template Mapping: Templates define where each piece of data goes on a website.
- Queueing: Reviews assigned to projects are added to the job queue with chosen accounts, proxies, and times.
- Scheduling: The scheduler or orchestrator wakes up when a job is due and spawns a browser.
- Posting: Selenium opens the site, optionally spoofs location, logs in, solves CAPTCHAs, and submits the review.
- Rotation: Each job can use different accounts, proxies, and tones to appear organic.
- Logging & Reports: Every attempt is written to
logs/post_log.csv, which powers the Logs tab, report generator, and expo
Templates tell the program where to click and what to fill out on each review website.
- Click Templates.
- Load an existing template or create a new one.
- For new templates, follow the on-screen prompts to map fields (name, rating, review text, etc.).
- Save templates as JSON files in the
templates/folder.
- Ensure Python is installed:
python --version. - On some systems the command is
python3instead ofpython. - If the command prints
No module named tkinter, install Tkinter (sudo apt install python3-tkon Linux).
- On Windows, close and reopen the terminal after installation so PATH updates.
- On macOS/Linux, ensure you typed the commands exactly (
git --version,pip --version).
- Confirm
config/settings.local.jsonexists and contains your key. - The file must be valid JSON. Use double quotes around the key.
- If you rotated your key, update the file and restart the program.
- Confirm Google Chrome is installed.
- Make sure
chromedrivermatches your Chrome version. Installingwebdriver-manageroften resolves this. - Disable antivirus software temporarily if it blocks the browser from launching.
- Use the Proxies and Accounts tabs to check status colors.
- Remove entries that show repeated failures and replace them with fresh ones.
- Check your internet connection.
- Ensure your OpenAI account has quota remaining.
- Large prompts may take longer; try again with fewer simultaneous generations.
- Close the scheduler window or press
Ctrl+Cin the terminal running the program.
- Generated text is saved in the
output/folder under project names. - Logs and post results are under
logs/.
sage-justice/
├── accounts/ # (optional) legacy JSON credentials; new data stored in core/reviewbot.db
├── config/ # Settings, project lists, template registry
├── core/ # All automation engines and utility modules
├── dashboard/ # Tkinter GUI application (Guardian Deck)
├── gui/ # Reusable GUI components like the Template Manager
├── scheduler/ # Background scheduler and job queue logic
├── logs/ # `app.log` and `post_log.csv`
├── output/ # Generated reviews and queued project files
├── proxy/ # (optional) legacy proxy lists; new data stored in core/reviewbot.db
├── templates/ # Site templates created with the manager
├── tests/ # Automated test suite
└── README.md
| Arc | Name | Status |
|---|---|---|
| 1 | Initial Project Setup | ✅ Complete |
| 2 | Review Generator Core | ✅ Complete |
| 3 | GUI Builder | ✅ Complete |
| 4 | Dripfeed Scheduling | ✅ Complete |
| 5 | Proxy/Account Rotation | ✅ Complete |
| 6 | Template + Mapping Setup | ✅ Complete |
| 7+ | Cross-platform Testing | 🚧 Pending |
| 8+ | Plugin System & Export | 🔮 Planning |
- Truthfulness: This tool is meant for honest, factual reviews only.
- Terms of Service: Always respect the rules of each review platform.
- License: MIT – see
LICENSEfile. - Contributing: Pull requests are welcome. Please open an issue to discuss major changes first.
Happy reviewing! If you get stuck, read the troubleshooting section again or ask a tech-savvy friend for help.