All selected work

OmniStore

The point of sale, the stockroom and the public storefront of an independent shop, in one browser-based product. Built for shops whose inventory mixes bulk stock with one-off pieces, in markets the large point-of-sale platforms rarely serve.

Engineering scope
Custom software & digital products / Backends, APIs & integrations / Modernization & production engineering
Authorship
An independent product designed, engineered and operated by the founder of Six Technologies: product design, backend, web application, public storefronts, help centre and production operations.

The problem

Many independent shops run on paper notebooks, messaging apps and several tools that do not share information. Mainstream point-of-sale software is often priced for larger retailers, assumes uniform SKU-based stock and is rarely designed for Central African markets, local currency or bilingual French and English use. Second-hand and one-of-a-kind items, common in these shops, fit poorly into that model.

The solution

OmniStore brings the counter, the stockroom and the storefront into one web application. Staff ring up sales with promotions, discounts and PDF receipts. Products, categories, stock movements and low-stock alerts stay current across every device. Each shop receives a server-rendered public storefront on its own subdomain. Customer records, reports, a dashboard and six staff roles complete the operation, in English and French, with currency handling built around the CFA franc.

02 / FOUNDER-BUILT

The engineering

  1. 01

    Multi-tenant isolation in three layers: repositories scoped automatically to the current store, a request-bound tenant context, and an authorization guard on every endpoint that accepts an identifier. Composite foreign keys reject cross-store references in the database itself, and a dedicated integration suite tests cross-store access.

  2. 02

    An immutable audit log for security-sensitive, irreversible and financial actions. Each entry uses a closed set of actions and an explicit field whitelist, and is written in the same transaction as the change it records.

  3. 03

    Defensive handling of personal data and public traffic: personal information is masked before it reaches logs, abuse-prone endpoints are rate-limited per address, password strength is validated at the API boundary, and payment webhooks are deduplicated so a repeated event has a single effect.

  4. 04

    Release discipline for a live product: forward-only database migrations, legal documents verified by content hash at startup with enforced versioning, and background work coordinated so scheduled jobs run once.

  5. 05

    Automated verification across the stack: 180 backend unit and integration test classes running against embedded PostgreSQL and Redis, Jest specifications for the web application, and Cypress flows for sign-up, point of sale, inventory, storefront visits and French-language use.

Technology in context

Java 21 / Spring Boot 3 / PostgreSQL / Redis / Flyway / Angular 17 with server-side rendering / NgRx / Tailwind CSS / Astro / Docusaurus

View the product

Start a conversation

Complex problem?
Let’s find the right shape.

Tell us what you’re working on

English or French. A real conversation.