BatchTube — Tauri Desktop App
Architecture
batchtube-tauri/
├── src-tauri/ # Rust/Tauri shell
│ ├── src/main.rs # Spawns Python backend, manages window
│ ├── Cargo.toml
│ ├── tauri.conf.json
│ └── icons/ # App icons
├── backend/ # Existing Python FastAPI app (unchanged)
│ ├── api_server.py
│ ├── worker.py
│ ├── database.py
│ ├── extractors.py
│ ├── config.py
│ ├── web/ # Frontend HTML/CSS/JS
│ └── batchtube-server.spec # PyInstaller spec
├── .github/workflows/ # Cross-platform CI/CD
│ └── build.yml
├── package.json
├── rollback.sh # Revert to NSIS installer if needed
└── README.md
How It Works
- Tauri starts → spawns
batchtube-serversidecar (PyInstaller bundle) - Rust polls
http://localhost:8765/api/healthevery 500ms - When server ready → shows webview window loading
http://localhost:8765 - User sees the existing BatchTube web UI inside a native window
- On close → Tauri kills the sidecar process
Build
Prerequisites
- Rust (stable)
- Node.js 22+
- Python 3.11+
- PyInstaller:
pip install pyinstaller
Development
# Start Python backend first
cd backend && python api_server.py &
# Then start Tauri dev mode
npm run dev
Production Build
# Bundle Python backend
cd backend && pyinstaller batchtube-server.spec
# Build Tauri app
npm run build
Cross-Platform (CI/CD)
Push a tag v1.x.x to trigger GitHub Actions build for:
- Windows (.exe + .msi)
- macOS (.dmg — Intel + Apple Silicon)
- Linux (.AppImage + .deb)
Rollback Plan
If Tauri build fails at any point:
bash rollback.sh
This reverts to the v1.0-pre-tauri git tag.
The original NSIS Windows installer remains at BatchTube App/BatchTube-Windows-Build.zip.
Pricing Integration
License validation happens at app startup via http://localhost:8765/api/license.
ThriveCart webhook at https://n8n.intentures.org/webhook/thrivecart handles purchase events.
| Tier | Price | Limit |
|---|---|---|
| Free | $0 | 5 videos/batch |
| Creator | $9/mo | 100/day, 1080p |
| Pro | $19/mo | Unlimited, 4K |
| Lifetime | $97 | Unlimited, 4K |
Description
Languages
Python
51.4%
HTML
33.9%
CSS
10.5%
Rust
1.6%
NSIS
1.4%
Other
1.2%