Spaza Eats: Bringing Enterprise-Grade Commerce to South Africa's Township Shops
Inspiration
Over 200,000 spaza shops power everyday life in South Africa's townships — they're where most people buy bread, milk, and airtime, and where informal credit ("amashonisa" trust or shop tabs) has quietly financed communities for generations. But these shops run almost entirely on paper, memory, and word of mouth. Stock goes to waste before anyone notices it's expiring. Credit is untracked and easy to dispute. Owners have no visibility into what's actually selling, and roughly 40% of South Africans remain unbanked, locked out of formal credit history entirely.
We didn't want to build another delivery app that treats townships as an afterthought. We wanted to ask a different question: what if the same cloud infrastructure that powers global retail giants was pointed, deliberately, at the shop on the corner?
What it does
Spaza Eats is a two-sided commerce platform connecting township customers with their local spaza shops, built around three pillars:
- Trust and credit — Every credit transaction is recorded immutably on a blockchain ledger, giving unbanked customers a portable, tamper-proof credit history (550–850 score range) they can carry between shops, plus a receipt-verification pipeline that cross-references purchases against a store database and ID records to catch fraud before it happens.
- Shop intelligence — Owners get real-time analytics, AI-driven demand forecasting, dynamic pricing suggestions, and 14-day expiry warnings with auto-discount recommendations — turning guesswork into a plan and cutting food waste by an estimated 25%.
- Access for everyone — Disability-first navigation (screen reader support, voice search, keyboard-only flows), a large-button Senior Quick Order mode, and support for five South African languages, because financial inclusion means nothing if the interface excludes the people who need it most.
Layered on top: gamified loyalty (points, badges, community leaderboards), AI-optimised delivery routing that cuts fuel use by roughly 18%, and an environmental impact dashboard that turns those savings into a CO₂ and waste-reduction story shop owners can actually see.
How we built it
Spaza Eats runs on a full Huawei Cloud stack, integrating eight services end-to-end rather than bolting on one API for a demo:
- OBS for secure, metadata-tagged image and document storage (products, receipts, listings)
- ModelArts for receipt OCR (96% accuracy), recommendation modelling, demand forecasting, and dynamic pricing
- Cloud Eye for real-time analytics and behavioural event tracking feeding the owner dashboards
- CloudTable for low-latency multi-device inventory sync
- Blockchain Service (BCS) for the immutable credit ledger
- Maps AI for multi-stop delivery route optimisation
- SMS service for order and credit notifications
- API Gateway for request signing, rate limiting, and secure routing across all of the above
On the frontend, customer and shop-owner portals were built as separate, purpose-designed experiences rather than one generic UI wearing two hats — around 24 components split across customer, owner, and shared layers, backed by 11 service modules and roughly 15,000 lines of code. Security was treated as a first-class feature, not an afterthought: TLS 1.3, encryption at rest, MFA, request signing, and a live compliance dashboard tracking POPIA, PCI-DSS, and GDPR readiness.
Challenges we ran into
Designing credit for people with no credit history. Traditional scoring models assume a paper trail that most of our users don't have. We had to build a scoring system from transactional trust signals instead — payment consistency, shop tenure, verification quality — and make every step of that scoring transparent and auditable on-chain, so customers could see and dispute their own record.
Making "AI-powered" mean something on a township budget. It's easy to bolt a chatbot onto a demo. It's harder to make forecasting and pricing models useful when the underlying shop might stock 40 SKUs, not 40,000, and when a wrong price suggestion costs a real owner real money. We leaned on ModelArts' predictive tooling but constrained every recommendation to be explainable — an owner should always be able to see why the system suggested a discount or a reorder.
Accessibility as architecture, not a checklist. Screen-reader support, voice navigation, and a genuinely simplified senior mode meant designing two parallel interaction models from the start, not retrofitting ARIA tags onto a finished UI.
Latency in a low-connectivity context. Township connectivity is inconsistent. Using CloudTable and Huawei's Johannesburg region (af-south-1) kept sync latency under 100 ms in testing, but designing for graceful degradation when a connection drops mid-transaction — without losing a credit record or double-charging a customer — took real iteration.
Accomplishments we're proud of
- A working, end-to-end integration of eight distinct cloud services, not a single-API demo
- A blockchain credit system that gives unbanked customers something they've never had: a portable, provable financial history
- An "industry-first" AI receipt verification pipeline that cross-checks purchases against store and identity records
- A platform genuinely usable by people currently excluded from most digital commerce — seniors, screen-reader users, and non-English speakers
- Projected real-world impact: 18% fuel savings, 25% less food waste, and a path to digitising tens of thousands of informal shops
What we learned
The biggest lesson wasn't technical — it was about where complexity should live. Every "smart" feature we built only earned its place if it made life simpler for someone standing in a spaza shop with a phone that might drop signal any second. AI forecasting, blockchain ledgers, route optimisation — all of it is only as good as its ability to disappear into a fast, trustworthy, accessible experience.
What's next for Spaza Eats
Our rollout plan starts in Gauteng (targeting 10,000 shops and 500,000 customers in the first six months), expands nationally in year one, and looks toward Southern Africa in year two. Near-term priorities are deepening the group-buying and referral mechanics in our social commerce layer, expanding language coverage, and working with township-based pilot shops to validate the credit-scoring model against real repayment behaviour before we scale it further.
Log in or sign up for Devpost to join the conversation.