In production Telegram Mini App

Riel POS

A full point-of-sale system that lives inside Telegram. No terminal to buy, no tablet to replace, no per-seat licence.

The problem

Small venues get quoted for a POS terminal, a monthly licence per till and a card reader that only works with one processor. Then the tablet dies on a Friday night and the venue is back to pen and paper.

What we built

Riel POS runs as a Telegram mini app. Any phone the staff already own becomes a till. State lives server-side in Postgres, so a lost phone loses nothing, and a new device is authorised in seconds.

Capabilities

What it actually does

Every item below is a feature of the running system, not a roadmap.

Catalogue and pricing rules

Products, categories and pricing rules held in Postgres and editable from the admin view. Migrated live from Loyverse: 185 products, 10 categories and 5 pricing rules moved without a manual re-entry.

Open tabs

Open a tab, add to it across a shift, save and return to it later. Tab state is server-side, so any authorised phone can pick up any tab.

Checkout

Close a tab to a sale in one action. Totals, line items and pricing rules are applied server-side, so two devices cannot disagree about a bill.

Live sales figures

Today's takings available on demand from the same app the orders go through, without opening a back office.

Staff roles

Roles resolved from the Telegram account, so nobody shares a PIN. Admin actions — editing products, changing settings, writing pricing rules, assigning roles — are refused for non-admin staff at the API, not hidden in the UI.

Nightly report

A sales summary is built and pushed to a nominated Telegram chat at 23:30 every night. Nobody has to remember to run it.

Under the hood

How it is put together

Nothing exotic. A mini app talking to an action-routed API, with state in Postgres and authorisation checked server-side on every call.

  • Runs on your server, against your database, with your credentials
  • No per-seat licence and no vendor account required
  • Documented at handover, so someone else could take it over
Riel POS technical specification
Front endTelegram Mini App (WebApp)
Backendn8n webhook, action-routed
DataPostgreSQL
AuthTelegram identity, server-side role lookup
Admin APISeparate endpoint, shared-key + role gated
ReportingScheduled nightly push to Telegram
Migrated fromLoyverse
Fit

Who this suits

  • Bars, cafés and taprooms with a handful of staff
  • Market stalls and pop-ups where hardware would not survive
  • Anyone paying a monthly per-till licence they resent

Tell us what keeps going wrong

A conversation costs nothing and often ends with us saying automation is not worth it for a given job. That is a useful answer too.