AutoRewarder
A desktop automation app for Microsoft Rewards that performs Bing searches with human-like behavior. Built with Python, pywebview, and selenium. The UI is rendered with HTML/CSS/JS in a native window, while the automation logic is handled in Python. Packaged with PyInstaller and distributed as a modern Windows installer (Inno Setup)
Install / Use
/learn @safarsin/AutoRewarderREADME
AutoRewarder
A desktop automation app for Microsoft Rewards that performs Bing searches with human-like behavior. Built with Python, pywebview, and selenium. The UI is rendered with HTML/CSS/JS in a native window, while the automation logic is handled in Python. Packaged with PyInstaller and distributed as a modern Windows installer (Inno Setup) with automatic dependency checking.
For a complete user guide, see USER_GUIDE.md
Installation
Easy Way (Recommended):
Download AutoRewarder-Setup.exe from releases and run it. The installer will verify all dependencies and install the app for you.
Manual Way (Source):
Clone this repo, create virtual environment, and run python AutoRewarder.py.
Screenshots
| Perform Searches | Driver Preparation | | :---: | :---: | |<img src="assets/screenshots/preform.gif">|<img src="assets/screenshots/warm_up.gif">|
| Main Window | History Window | | :---: | :---: | | <img src="assets/screenshots/main_window.png"> | <img src="assets/screenshots/history_window.png"> | | <img src="assets/screenshots/main_window1.png"> | <img src="assets/screenshots/history_window1.png"> |
Tech Stack
| Layer | Technology | |-------|------------| | Backend | Python 3.12, selenium, pywebview | | Frontend | HTML, CSS, JavaScript | | Bridge | pywebview JS API (pywebview.api) | | Build | PyInstaller, Inno Setup |
System Requirements
- OS: Windows 10 or later (can also work on Linux but it is not downloadable as an executable)
- Browser: Microsoft Edge (driver managed by Selenium Manager)
- .NET Framework: 4.8 or higher (automatically checked by installer)
- RAM: Minimum 512 MB (1 GB recommended)
- Disk Space: ~50 MB
Features
User Features:
- First Setup flow with dedicated Edge profile for isolation
- Optional hide-browser mode (headless automation toggle)
- Live terminal-like logs with real-time updates
- Local history view with date, time, query, and execution status
- One-click start automation (1-99 searches per session)
- Safe recovery for corrupted settings/history files
Automation Features:
- Background WebDriver warmup at startup for faster execution
- Human-like search behavior (typing delays, random pauses, smooth scrolling)
- Uses real-world queries from assets/queries.json (3428 unique entries from google-trends dataset)
- Randomized delays to avoid detection
- Separate browser thread isolation
Quick Start (For Users)
You do not need Python to use release builds.
- Download
AutoRewarder.exefrom releases - Extract and run
- Complete First Setup
- Start automation
For detailed guide, see USER_GUIDE.md
Development Setup (For Developers)
- Clone the repository.
- Create and activate a virtual environment.
- Install dependencies.
- Run the app.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python AutoRewarder.py
Build & Distribution
Build EXE (for installer creation):
.\.venv\Scripts\python.exe -m PyInstaller --noconfirm --clean AutoRewarder.spec
Create Windows Installer:
"C:\Program Files (x86)\Inno Setup 6\iscc.exe" AutoRewarder.iss
Or use the Inno Setup IDE to open AutoRewarder.iss and compile it.
Output: dist/AutoRewarder-Setup.exe
Project Structure
AutoRewarder/
├── GUI/
│ ├── index.html # Main window UI
│ ├── history.html # History view UI
│ ├── script.js # Frontend logic and bridge calls
│ ├── styles.css # App styling
│ └── normalize.css # CSS reset
├── assets/
│ ├── icon.ico # App icon
│ ├── queries.json # Queries list (3428 unique queries)
│ └── screenshots/ # Screenshots and GIFs for documentation
├── AutoRewarder.py # Python backend and webview window
├── AutoRewarder.spec # PyInstaller build spec
├── AutoRewarder.iss # Inno Setup installer script
├── LICENSE
├── README.md
└── requirements.txt
Runtime Data
The app stores runtime files in:
%USERPROFILE%\AppData\Local\AutoRewarder
Created files and folders:
EdgeProfile/ # Separate Edge profile for WebDriver
settings.json # User settings (first_setup_done, hide_browser)
history.json # Search history (date, time, query, status)
Troubleshooting
Edge WebDriver not found or outdated:
- Ensure Microsoft Edge is installed
- Try restarting the application (Selenium Manager will auto-download driver)
- Check that Edge version is up to date
- Delete
%USERPROFILE%\AppData\Local\AutoRewarder\EdgeProfileand retry
Application crashes on startup:
- Delete
EdgeProfile/folder in%USERPROFILE%\AppData\Local\AutoRewarder - Run First Setup again
- Verify dependencies:
pip install -r requirements.txtif running from source - Check Windows Event Viewer for error details
Searches not completing:
- Verify internet connection
- Check that Edge is not blocked by antivirus/firewall
Roadmap
- [ ] Browser choice (Chrome, Firefox support in addition to Edge)
- [ ] Advanced scheduling (automated daily runs at specific times)
- [ ] Statistics dashboard (points tracking, session summaries)
- [ ] Multi-account support (manage multiple Rewards accounts)
- [ ] Script-only version (CLI tool without GUI)
- [x] Windows installer with dependency checking (Inno Setup)
- [ ] Action Chains Selenium
- [ ] Keyboard shortcuts
- [ ] UI themes (dark/light mode)
Disclaimer
Using automation against third-party services may violate their Terms of Service. You are responsible for your own usage.
Contact
Open an issue for bugs, ideas, or questions.
