Stack
Proof metrics
Problem
East African SMBs run sales, stock, HR, and accounts across spreadsheets and disconnected tools, causing stockouts, write-offs, and slow month-end closes.
Global ERPs are too heavy, too expensive, and assume payment rails and connectivity that don't match local realities.
Operators need fast onboarding and offline resilience, not multi-month consultant-led implementations.
Solution
Built a unified operational platform spanning POS, multi-location inventory, HR/payroll, accounts, and reporting on shared data models.
Made payments local-first with M-Pesa, cash, card, and credit, including split payments and instant receipts.
Designed offline-first POS that syncs when connectivity returns, plus low-stock alerts and inter-branch transfers.
Shipped self-serve onboarding (currency, products, locations, team) so businesses go live in minutes, not weeks.
Architecture
Frontend: Next.js and TypeScript for fast, role-based operational UIs.
Data layer: Supabase/Postgres with multi-tenant separation for businesses and locations.
Sync layer: offline-capable POS with deferred synchronization and conflict-aware writes.
Reporting: real-time revenue, sales-by-cashier/location, and profit views exportable to PDF/Excel.
Outcomes
Delivered a repeatable, self-serve ERP product tuned to East African commerce instead of bespoke per-client builds.
Consolidated POS, inventory, HR, and accounts into a single source of truth for growing operators.
Reinforced the operational domain depth that informs AI-first products like WaybillAgent.
Links & artifacts
Related work
WaybillAgent
WaybillAgent transforms warehouse auditing from a multi-day manual process into an AI-assisted guided walk using phone capture and agentic reconciliation—flagship build for Anthropic's Built with Opus 4.7 hackathon (selected top ~500 of 13,000+ applicants).
Read case studyAIDC Barcode Toolkit
Open-source toolkit that packages real-world AIDC workflows so Claude Code can generate, validate, and reason about barcode and labeling tasks with domain-correct defaults.
Read case studyDiscuss this work
Hiring or building something similar—reach out with context and constraints.
Email Joseph