Architecture

StillDeep architecture: server, registers and screens

How StillDeep is built: one server per business, registers that sell offline, a gRPC contract for every screen, and what is delivered or still in progress.

Three layers that never mix: the business server, the register engine and the screen. Business rules live in libraries, services only host them.

The business server

Each business runs one server on its local network:

  • ServerDB: a PostgreSQL 19 database, the single source of truth.
  • Server.Service: the gRPC gateway of the registers. Registers never connect to the database directly: every operation goes through this proxy, which checks it and records it.
  • Admin: the web app to configure the business, on the local network.
  • Report: the web app for reports, on the local network and optionally on the Internet.

The Internet is only used for optional cloud sync, card payments (from the terminal straight to the processor) and software updates.

The register

A register is one container (or one native program) that holds:

  • The screen: any client, in any language, speaking gRPC on the register itself.
  • Intelligence: the sales engine, business modules and extensions.
  • Communication: the local SQLite copy, the outbox and the sync with the server.

On a Windows register that drives a thermal printer or a cash drawer, the program can link the libraries in-process: one process, no local network hop, same rules.

Offline first

At startup, a register drains its outbox to the server before anything else, so that an update never overwrites unsent sales. When the server cannot be reached, the register sells from its local copy. Some checks need the server: stock levels and limited seats are only guaranteed online.

The contract

Screens use the stilldeep.v1 gRPC contract: sales, catalog, members, cards, devices, events, receipts, reservations, appointments, rentals, inventory, shifts and more. Version 1 never receives a breaking change; a version 2 would live in its own namespace. Amounts are integer cents, percentages are basis points, quantities are thousandths.

Technology

.NET 11 and C#, PostgreSQL 19, SQLite, Blazor for the web apps, gRPC over HTTP/2, MCP for the AI tools, OpenTelemetry for logs, metrics and traces. Every component runs on Windows, Linux and macOS and follows the twelve-factor rules (configuration by environment, logs on standard output, health checks, graceful shutdown).

Delivered and in progress

Area State
Database, sales engine, offline sync and outbox Delivered
Database proxy for registers Delivered; TLS hardening and real enrollment in progress
gRPC contract and example clients Delivered
Admin and Report web apps Delivered
Receipts, printing, receipt designer, signed offline codes Delivered
Extensions and extension registry Delivered; package signing in progress
Reservations, appointments, rentals, limited resources Delivered
StillDeep AI (local) Delivered
Hybrid post-quantum cryptography In progress
Docker packaging and automatic updates Planned
Per-register licensing, restaurant and bar modules Planned

StillDeep is version 0: no customer is deployed yet.