Multi-platform shopping assistant that helps manage carts, track orders, and research products across Amazon, Swiggy, Blinkit, and Uber Eats.
- Platform Connectors: Connect to multiple shopping platforms
- Cart Management: Add items, verify delivery addresses
- Order Tracking: Monitor order status and delivery
- Product Search: Search across platforms (integration in progress)
- Backend: FastAPI + SQLAlchemy (async)
- Database: SQLite with aiosqlite
- Frontend: Jinja2 templates + vanilla JS
- Browser Automation: Integrates with UI-Agent for headless browser control
# Install dependencies
uv sync
# Run the server
uv run python main.pyVisit http://localhost:8080 to access the web interface.
shopping-agent/
├── app/
│ ├── api/ # FastAPI routes
│ ├── connectors/ # Platform connectors (Amazon, Swiggy, etc.)
│ ├── config.py # Settings
│ ├── database.py # SQLAlchemy setup
│ └── models.py # Database models
├── templates/ # Jinja2 HTML templates
├── static/ # CSS and JS
└── main.py # Application entry point
GET /api/connectors/- List configured connectorsPOST /api/connectors/- Add/update connectorPOST /api/products/search- Search productsPOST /api/carts/add- Add item to cartGET /api/carts/{platform}- Get cart contentsPOST /api/carts/{platform}/verify-address- Verify delivery addressGET /api/orders/- Get all orders
The Shopping Agent uses the UI-Agent for browser automation since most platforms don't provide buyer-side APIs. The UI-Agent handles:
- Browser navigation and interaction
- Cart manipulation via headless browser
- Address verification on checkout pages
- Backend API structure
- Web UI templates
- Database models
- UI-Agent integration for Amazon
- Swiggy connector implementation
- Blinkit connector implementation
- Uber Eats connector implementation