Case study · Multi-tenant ERP & POS
Robotics-Based ERP System
Fully automated order ingestion from eBay and Walmart with zero manual entry
Context
A productized, multi-tenant evolution of the dropship pipeline patterns built at Gridiron Tire. Suppliers retain ownership of their products; the ERP handles catalog management, real-time inventory sync, marketplace listing, order processing, and fulfillment automatically. The platform spans a React Native POS, a FastAPI backend, a Next.js integration portal, Django marketplace connectors for eBay and Walmart, an event-driven ERP middleware, MCP servers for AI agents, and a warehouse placement algorithm. All services are containerized and deployed via Kamal on AWS with zero-downtime deploys, with Sentry and Grafana for observability and GitHub Actions for CI/CD.
Role and scope
Full Stack Software Engineer: designed and built all services end to end, including the POS app, backend API, marketplace integrations, ERP middleware, MCP servers, and infrastructure.
Challenge
Suppliers wanted to sell their own inventory across multiple marketplaces without giving up product ownership or manually managing listings, stock, and orders across each channel. A unified, multi-tenant pipeline was needed to scale this across many suppliers.
Approach: Built a suite of interconnected services: a cross-platform POS (React Native + Expo) with Stripe, barcode scanning, and real-time search via Elasticsearch; a FastAPI backend with multi-tenant OIDC auth, Celery tasks, and SFTP feed delivery; a Next.js API Integration Portal for key management and analytics; Django marketplace connectors for eBay and Walmart with per-tenant OAuth2; an event-driven ERP middleware syncing inventory, e-commerce, and CRM via webhooks; and MCP servers enabling CrewAI agents to orchestrate tasks across all services.
Key decisions and trade-offs
- Chose multi-tenant services over single-tenant deployments so one platform could serve many suppliers without duplicating infrastructure.
- Kept marketplace connectors as dedicated Django services so OAuth2 and order ingestion failures stayed isolated from the POS and ERP core.
- Accepted operational complexity of multiple containerized services in exchange for clearer ownership boundaries and independent deploys.
Outcome
- Multi-tenant architecture supports many suppliers from a single deployment, each retaining ownership of their inventory
- Fully automated order ingestion from eBay and Walmart with zero manual entry
- POS runs on iOS, Android, and web with sub-100ms product search
- MCP + CrewAI agents handle automated data processing and task execution
- Zero-downtime deployments via Kamal + Docker on AWS, with Sentry/Grafana observability and GitHub Actions CI/CD
Stack
Stack used in this system · Full Stack Software Engineer
Architecture stages
- 01React Native POS
- 02FastAPI backend
- 03Django marketplace connectors
- 04Event-driven ERP middleware
- 05Observability