KRING!
Full-Stack Developer
KRING! is a multi-tenant cloud point-of-sale SaaS for Indonesian warung and cafe, built with Next.js, TypeScript and PostgreSQL. Each tenant gets its own isolated warung with owner and cashier roles, a fast single-screen terminal, table and stock management, shift reconciliation with physical cash counts, and 80mm receipts — every checkout running inside an ACID-compliant database transaction so stock never drifts, even under concurrent taps. An owner-only AI layer, KRING! Insight, answers questions about the business and writes daily summaries strictly from deterministic numbers.
Key features
KRING! Insight — AI grounded in your own numbers
An owner-only assistant that answers questions about the warung and drafts a daily sales summary in plain Indonesian, without ever inventing a figure. A keyword router maps each question to one of seven deterministic query tools, runs it server-side with the tenant id injected from the session, and hands the model only the aggregate result to phrase into a sentence. Anomaly thresholds (large discounts, cash variance, off-hours sales, revenue drops, checkouts without a shift) are plain code, not guesses. If the provider is down the answer degrades to a deterministic number template instead of an error, monthly token usage and estimated cost are metered per warung, and WhatsApp alerts are queued from the insight rather than sent by the model.
Multi-tenant SaaS with self-serve sign-up
A single deployment serves many warung. Sign-up provisions a fresh tenant — its own warung, owner account, default settings, ten tables and one opening transaction — with strict per-tenant data isolation enforced on every query, and owner/cashier roles scoped by server-side sessions.
ACID-compliant atomic checkout & stock ledger
Every checkout runs inside an isolated database transaction ($transaction) that validates stock and applies atomic decrements to prevent overselling under concurrent clicks, recording immutable StockMove ledger entries as the audit trail.
Single-screen POS terminal for rapid service
The cashier screen unifies live catalog search, category filters, frequently-bought shortcuts, cart steppers, inline discounts, automatic 10% tax, and a cash numpad with change calculation — switching between Tunai and QRIS without a page change.
Shift reconciliation, tables & 80mm thermal receipts
The shift engine tracks each cashier from opening float to drawer close, auditing surplus or deficit against the physical count. Table management runs dine-in bills per table, and receipts use @media print rules enforcing an 80mm container that outputs clean, marginless ESC/POS slips.
Screens
A walk through the key screens in KRING!, one at a time.

Kasir
The screen a cashier lives in. The product grid sits beside the running order, with frequently-bought shortcuts, category filters, discount, automatic tax, a cash numpad and a Tunai/QRIS switch all reachable without leaving the page.

Meja
Dine-in floor management. Every table is a card with its own bill state, and new tables are added from the same screen — so a warung can grow its seating without touching settings.

Produk
Product management. New items are added beside the live table with an icon picker, and stock is nudged with inline steppers while the total value of stock on hand updates as it changes.

Transaksi
Sales history, newest first, each row opening a full receipt drawer with items, tax, cash tendered and change — the fastest way to reprint a slip or void a sale.

Shift
End-of-day reconciliation. Opening float, cash and QRIS totals and the expected drawer figure sit beside the physical count, and the difference is audited before the shift is closed.

Laporan
The reports dashboard: revenue, transaction count and average sale up top, a seven-day revenue chart, best sellers and a low-stock list — all filterable by date and exportable to CSV.

Insight
The owner’s AI dashboard: a one-tap “ringkasan hari ini” summary, a running list of insights (each linking back to the numbers that produced it), and a per-warung meter of monthly AI token usage and estimated cost.

Tanya Insight
Ask the warung anything in plain Indonesian — revenue, trends, best sellers, low stock, cashier performance, anomalies. Answers stream token-by-token, are assembled only from the numbers the deterministic tools returned, and carry a badge showing which tool sourced them.
