OFFLINE-FIRST POS
SUBSCRIPTIONS CAN BREAK. YOUR STORE SHOULDN'T.
Network drops during rush hour? KasirKu commits sales through repository guards into local IndexedDB. Cloud sync is optional, not a lifeline.
Spatial PWA
Install once, run offline, data stays on-device. Multi-outlet, audit ledger, no mandatory cloud rent.
Architecture pillars
Offline-first
IndexedDB read/write via repositories. Sync is bonus, not transaction gate.
Immutable ledger
Append-only SHA-256 chain. Log tampering caught in audit trail.
AES-GCM
Sensitive fields encrypted locally. Keys never leave the device.
Multi-outlet
requireOutletId() on every repository write path.
Web Workers
Heavy report aggregation in workers, cashier UI stays responsive.
Why we built this
When the internet drops, sales shouldn't
Small team at Praim Enterprise — early access, no huge user base yet, but cashier flows are dogfooded in pilot stores.
No mass testimonials yet. Badges mark illustration vs measured figures.
Based on typical SaaS POS architecture — no internet required.
KasirKu vs SaaS POS
| Aspect | KasirKu | Typical SaaS |
|---|---|---|
| Local data ownership | Dexie IndexedDB on your device | Vendor tenant server |
| Internet required to sell | No, local commit | Often online required |
| Mandatory monthly rent | One-time / lifetime option | Monthly subscription common |
| Cryptographic audit ledger | SHA-256 append-only chain | Vendor logs, varies |
20+ feature pillars
Includes v3 enterprise modules (opt-in via feature flags).
Inter-outlet stock transfer
Routed mutations with outlet guard + per-warehouse stock trail.
Bundles / combos
Core bundle engine UI, combo pricing computed at local cashier.
Reservations & slots
Offline-first service booking, slots never wait on cloud API.
Gift cards & stored value
Internal ledger + cashier redeem without mandatory server.
Multi-tier pricing
Tiered prices per customer/outlet, applied at local checkout.
Quotation → PO
Local PDF estimates, convert to supplier PO in IndexedDB.
Cashier KPI
Read-only shift & transaction aggregates from repository guard.
Customer display
Second screen via BroadcastChannel, no backend relay.
Auto-PO suggestions
Order hints from local stock forecast in analytics worker.
Audit exception workflow
Ledger evidence exceptions + SHA-256 integrity follow-up.
Offline-first PWA
Dexie v16 IndexedDB, zero mandatory server at runtime.
Immutable SHA-256 ledger
Append-only hash chain for financial audit trails.
Multi-outlet RBAC
Outlet guard consistent across all repository write paths.
Industry presets
isService + trackStock flags per SME industry preset.
Web Worker analytics
Heavy aggregation in analytics-worker, main thread stays free.
Smart import/export
CSV/Excel with Zod validate before IndexedDB write.
Promos & tax
Real-world commercial rules, computed at local checkout.
HR & shifts
Work hours, cashier commissions, shift close with ledger trail.
Kiosk mode
Separate self-checkout route, transactions stay local.
Local AES-GCM
Sensitive fields encrypted AES-GCM, local key vault.
Eight industries
F&B
Tables + kitchen KDS, hold orders at rush. Every record via local Dexie.
Retail
SKU scan, promo tiers, inter-outlet stock moves without mandatory cloud sync.
Fashion
Size/color variants per SKU, per-outlet stock, customer tier discounts.
Services
Slot booking + non-stock services, invoicing without server wait.
Workshop
Parts per work order, small batches, multi-warehouse workshop stock.
Building supplies
Heavy SKUs, supplier POs, contractor vs retail price tiers.
Agriculture
Thin margins: cost control, stock opname, margin report per kg.
General
Industry presets ready: service vs goods, track stock on/off.
How it works (3 steps)
Install the PWA from your release build
Configure outlet + warehouse + cashiers
Start selling—online optional
POS flow on your device
Every step runs locally — no waiting on the cloud.
-
CUSTOMER ARRIVES
Scan barcode or tap from catalog — data from local IndexedDB.
-
PAYMENT RECEIVED
Qty, discounts, tax computed instantly on-device.
-
PROCESSED IN KASIRKU
Cash, digital, or QRIS — transactions never wait on a server.
-
RECEIPT PRINTED
Thermal or digital receipt, straight from the browser.
-
PAID — STORED
Append-only SHA-256 chain for financial trails.
Pilot stores, not fictional quotes
Early access — field signals
In use since November 2024
No mass testimonials yet. Signals below come from real telemetry and internal pilots — no fabricated quotes.
Pilot stores
Cashier flows dogfooded in Praim Enterprise pilot stores.
Offline-first
Local IndexedDB transactions — no mandatory server.
Scale with your business
Lifetime Pro (one-time) — not SaaS subscription. Pay once, use forever.
Lifetime Pro (one-time) — not SaaS subscription. Pay once, use forever.
Tier limits are advisory — transactions are never blocked at runtime.
Brutalist FAQ
No—local ownership & offline-first; cloud is optional.
After completing the store configuration, select the **"ADMIN"** operator and enter the default PIN **"123456"**. For security, the system will immediately direct you to the **"GANTI PIN DEFAULT"** page to create a new, personal PIN. Once saved, log in again by selecting the **"ADMIN"** operator and entering your new PIN before clicking **"BUKA TERMINAL"**. All PIN and transaction data are stored locally and encrypted in your device's IndexedDB and are never transmitted to any cloud server.
On device (IndexedDB). You hold backups/exports.
Yes—with consistent active outlet filters.
Yes—SHA-256 immutable chain for key financial trails.
Additive migrations; v21 stays intact, v23 adds tables + flags default OFF.
Yes—that’s the core design; sync is additive.
Yes—separate route listens via BroadcastChannel.
Aim high—minimal JS, Astro static, optimized images.
Anti-SaaS manifesto
No forced subscriptions
Lifetime one-time posture. No feature death when a card fails to renew this month.
No mandatory cloud to sell
Local commit when WiFi drops. Cross-outlet sync is a bonus, not checkout requirement.
Not renting your data
IndexedDB on your device. Export JSON/CSV backups anytime without vendor permission.
Real ownership
The PWA you install. No tenant ID in someone else's dashboard.
Try the checkout flow without cloud: add products, print a receipt — all on your device.
Cashier simulator (sandbox)
Storage
Local sandbox
Service Worker
Active
Connection
Offline
DB latency
4ms
Sandbox transactions never leave your device — offline-first proof.
No items yet — tap a product on the left