All work
In progressBusinesssaasBackend & APIsbusiness

Soko POS

A powerful Desktop and online hosted SAAS Point of Sale system for powering any kind of business. Supports M-PESA, E-TIMS integration, POS terminals and handheld devices, Dashboards and Reports, and many more.

Soko POS

Many cloud POS systems quietly assume that a reliable internet connection will always be available. That is a poor assumption for a business whose ability to make a sale depends on the software continuing to work.

SokoPOS is my exploration of a different architecture: the till works against a local database first, and cloud synchronization happens around it.

A sale should still be possible when the internet disappears. Once connectivity returns, the local data can synchronize with the cloud without creating duplicate sales or corrupting inventory.

That requirement pushed the project beyond the normal CRUD structure of a POS system. I had to think about money representation, inventory history, immutable transaction records, idempotency, offline state, synchronization, tenant isolation, and what should happen when the same operation reaches the server more than once.

The current focus is a supervised pilot rather than trying to ship every planned feature at once.

Local-first by design

The application uses SQLite on the device as the working database for the till.

PowerSync synchronizes the appropriate business data between the local SQLite database and cloud PostgreSQL when connectivity is available.

That means offline operation is not treated as an emergency fallback. The local database is part of the normal architecture.

Correctness before features

Several rules shape the system:

money is stored as integers rather than floating-point values inventory changes are recorded as ledger entries instead of simply overwriting a stock number cash movements follow the same ledger approach locally generated identifiers make repeated synchronization idempotent receipts are designed to be immutable historical sales retain the price and tax information that applied when the sale occurred

The project is structured as a monorepo with separate web and API applications, shared packages, database tooling, Docker-based local infrastructure, and Playwright end-to-end testing.

Kenya-specific roadmap

The architecture also leaves room for Kenya-specific business requirements, including M-Pesa and KRA eTIMS integration.

Those integrations are intentionally not presented as completed features yet. The current priority is establishing the local-first transaction and synchronization foundation correctly before expanding the pilot.

Related work

Hapnin
Live2026

Hapnin

Hapnin is an event discovery platform for Nairobi that brings events from different websites, ticketing platforms, posters, and other sources into one clean, searchable catalogue.

saasBackend & APIsVisit live
Circle
In progress2026

Circle

A two-sided platform connecting businesses that need digital growth and promotional support with people who can earn by completing campaigns and other opportunities.

saasbusiness
Aegis-X
In progress2025

Aegis-X

Privacy-first AI security platform that detects phishing and business email compromise without exposing your private data to external LLMs.

MobileBackend & APIs