OFFLINE-FIRST POS
SUBSCRIPTIONS CAN BREAK. YOUR STORE SHOULDN'T.
Network drops during rush hour? KasirKu keeps running. Every transaction saves on your device — not on someone else's server. Cloud sync? Optional, not required.
Cashier app that works without internet
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.
Cashier simulator (sandbox)
Try the checkout flow without cloud: add products, print a receipt — all on your device.
Storage
Local sandbox
Service Worker
Active
Connection
Online
DB latency
4ms
Sandbox transactions never leave your device — offline-first proof.
No items yet — tap a product on the left
Zero egress — all localEverything you just tried ran locally — no internet needed.
TRY FREE NOWWhen 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
Enterprise modules available — enable as your business grows.
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.
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.
How it works (3 steps)
≈ 2 min, no account needed
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.
Early access — field signals
Pilot stores, not fictional quotes
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.
Tier limits are advisory — transactions are never blocked at runtime.
Latest release
Last updated: · 2.1.0-stable
Dynamic QRIS & PWA Updates
- Upload static QRIS image — merchant validated automatically
- Checkout injects transaction amount into EMVCo payload
- PWA update card with concise release notes
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.
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.