What it is
AP Buddy is a modular Electron desktop app that automates the repetitive, failure-prone parts of Amazon→eBay dropshipping operations. It integrates browser automation (Puppeteer) and platform APIs (eBay + Google) to handle daily workflows like invoices, tracking, listing, monitoring, and reporting — with guardrails aimed at preventing expensive mistakes.
Outcomes
- In production and actively maintained with paying subscribers
- Automated free trial system: Discord command onboarding + email capture + license provisioning
- Reduced manual ops overhead by consolidating routine workflows into one configurable tool
- (Optional: add real numbers) Hours saved/week, orders processed/week, listings monitored/day, etc.
Problem
Dropshipping operations are a death-by-a-thousand-paper-cuts situation: manually pulling invoices, uploading tracking, auditing listings for profit killers, reacting to sales, and babysitting inventory/price competitiveness. Most “automation” breaks the moment a UI changes, an API rate-limits you, or a workflow isn’t perfectly linear — and those failures can directly cost money.
Constraints
- External dependencies: eBay API limits, Google API quotas, flaky network conditions, changing web UIs
- Automation reliability: browser sessions crash, pages change, and edge cases are the norm
- Safety: incorrect actions can cause monetary loss (wrong price, wrong stock state, bad tracking, etc.)
- Licensing/productization: access control, subscription state, and user onboarding had to be fully automated
Solution
I built AP Buddy as a modular operations suite where each workflow is a dedicated module with clear inputs/outputs and configurable behavior. Where possible, it prefers stable APIs; where not possible, it uses hardened Puppeteer automation with logging and recovery. Operational data is surfaced inside the app (dashboard + logs), and key artifacts (invoices + configuration) can be backed up and restored via Google Drive.
Architecture
-
Electron App (UI + Orchestration)
- Dashboard + run controls
- Config management with validation
- Module runner / scheduler
-
Automation Layer (Node + Puppeteer + APIs)
- Puppeteer flows for invoice retrieval and other UI-dependent tasks
- eBay API integrations for orders, listings, tracking uploads, sales data
- Google APIs for Sheets metrics + Drive backup/import
-
Licensing + Access Control
- Paddle handles billing lifecycle
- Cloudflare Worker + KV stores license state
- Discord role sync grants/removes access based on active subscription/trial
-
Operational Tooling
- Rich logs intended for debugging real user issues
- Sale notifications with in-depth sale context
- Scheduled checks for listings/orders to catch common “profit leak” problems
Data flow (high-level)
- User configures modules in the Electron UI
- Scheduler triggers module runs (or user runs manually)
- Modules read config → perform API actions / Puppeteer flows
- Results are logged + surfaced in the dashboard
- Invoices/config are backed up to Drive; metrics sync to Sheets
- Licensing state is periodically validated against Cloudflare KV (kept in sync via Paddle events + Discord roles)
Reliability notes
- Designed around “assume external systems will fail sometimes”
- Guardrails on automated actions to reduce costly mistakes
- Logging structured to make user bug reports actionable
Notable technical details
- Multi-service integration: eBay API + Google Drive/Sheets + Discord + Paddle + Cloudflare KV
- Automated invoice retrieval and archival to Google Drive
- Automated tracking uploads to eBay orders
- Automated product sourcing and listing workflows
- Listing audit pipeline (up to ~2000 recent listings) to detect common monetary-loss issues
- Order auditing + configurable error handling
- Sales metrics ingestion + Google Sheets reporting
- Listing cleanup/repricing to free insertion slots and stay competitive
- Inventory and “winning product” monitoring to keep items in-stock and correctly priced
- App-native dashboard and logs for operational visibility
Links
- Demo: https://apbuddy.org/
- Docs: https://ap-buddy.gitbook.io/