What You'll Work On
Backend
- APIs — build and maintain the REST APIs that serve order recommendations to the mobile app and white-label partners, handle order submissions, and those used internally.
- Partner integrations — receive data and route finalised orders to supplier systems via different means. Build new integrations as we onboard retail chains.
- Data delivery — bridge the analytical layer and the mobile app: read computed recommendations from the warehouse, denormalise them, and write them to an operational store the app can sync from.
- Infrastructure — provision and manage the cloud resources these services run on (compute, databases, messaging, secrets).
Mobile App
The primary focus for this role is the backend, but we need you to also contribute to our Flutter mobile app when required. Topics here could include:
- Working on the on-device recommendation adjustment engine and the sync protocol client-side.
- Client-specific adjustments to the order flow.
- Adjusting the app to make it ready for other device types (especially Android mobile and/or MDE devices used by retail stores).
What We're Looking For
- Strong Python experience — you'll write FastAPI services, Pydantic models, async code and background workers.
- Experience with PostgreSQL and at least one document database (Firestore, MongoDB, DynamoDB).
- Experience with REST API design — you'll build APIs that both internal UIs and external partners consume (versioning, auth, rate limiting, documentation).
- Understanding of authentication and authorisation patterns (OAuth 2.0, JWTs, role-based access control).
- Understanding of multi-tenant data isolation (row-level security, path-based isolation, scoped tokens).
- Experience with Flutter or a strong willingness to work in Dart/Flutter — you don't need to be a Flutter expert, but you should be comfortable reading and contributing to a mobile codebase.
- Experience building sync protocols or offline-first mobile apps.
- Comfort moving between layers — backend one week, mobile the next, based on what needs doing.
- Experience with GCP or an equivalent cloud platform.
Nice to Have
- Experience with BigQuery or similar columnar warehouses.
- Terraform or equivalent IaC experience.
- Familiarity with async messaging patterns (queues, pub/sub, dead-letter handling, idempotency).
- Exposure to B2B SaaS or the grocery/retail domain.
How We Work
- Small team, high ownership, minimal process overhead.
- Python backend, dbt for analytical data transformation, Flutter for mobile, Airflow for orchestration.
- Everything on GCP: Cloud Run for compute, BigQuery for analytics, Firestore for operational data.
- We're a small company and you need to be comfortable in an unstructured environment.