Cimiento: point-of-sale, stock and real-time analytics for kiosks and warehouses
The problem
A kiosk or small distributor runs on spreadsheets: cash, stock, sales. Numbers get written down when someone remembers.
The problem isn't the spreadsheet — it's that whoever writes things down isn't there when something breaks. Selling out of stock, undercharging, a shift closes $5,000 short and nobody knows why.
How it works
Cimiento is a point-of-sale, stock and real-time analytics system.
- Cash register: open shift with initial fund, register sales, show live total, close with count. If there's a difference, it flags it.
- Stock: each sale deducts. Configurable alerts when a product drops below minimum.
- Sales: history with filters by date, receipt, status, client, seller. Exportable.
- Clients: credit account with limit and balance. Individual profile with history.
- Dashboard: real-time metrics — daily sales, top products, cashier performance.
Live demo
The demo runs at cimiento.lykos.com.ar with test data. No real business is connected: data is generated on page load and resets on each visit.
To try it, log in with the demo user and navigate through the sections —cash register, sales, clients, inventory, alerts— to see how they connect.
Stack
- Next.js 16 with Server Components and Server Actions.
- PostgreSQL for persistence; Drizzle ORM as data layer.
- Real-time via Server-Sent Events — no WebSockets, no extra infra.
- Static export where there's no dynamic data, SSR where there is.
Open source
The code is on GitHub under MIT license. The demo is open for you to try before requesting something similar.