Design stage: there is no released app yet. This site separates what exists in the repository from what is planned. See status

Capabilities

Offline-first architecture

The design is offline-first: every sale is written locally first and synced between devices on the local network. The stack (Rust core and Flutter UI) is a recommendation; no spike has been done.

Status

Planned Everything on this page is a plan. The repository contains a catalog and design documents, not a released app. Entries are tagged with their own status.

Designed

Offline-first design

The shop must keep selling without internet.

Read →
Not decided

Local database

The recommended stack uses SQLite with write-ahead logging; a spike to confirm has not been done..

Read →
Not decided

Stack recommendation

The repo recommends a Rust core with a Flutter UI.

Read →
Planned

Sync between devices

Devices in one shop sync over the local network.

Read →
Planned

Multi-register shops

Several tills sharing one database or syncing peer to peer..

Read →
Planned

Time and ordering

Hybrid logical clocks are listed as a way to order events without perfect clocks..

Read →
Planned

Crash and power-cut safety

Atomic writes and journaling so a failure never loses a completed sale..

Read →
Designed

Core and logistics isolation

The ARCH module keeps logistics separate from the core POS so a fault in one cannot corrupt the other..

Read →
Built (repo)

Packaging engine

Per ADR-0001 and ADR-0002, Simca Packaging is a server-side or developer-side engine that assembles and signs a package from a package spec.

Read →
Planned

Performance goals

The README says reliability over speed; the catalog lists performance targets as items..

Read →
Built (repo)

Data model

The logistics subproject has a draft SQLite schema that executes; it is a file, not a product..

Read →
Not decided

Update model

The README says buy once with an optional yearly fee for updates and the co-op.

Read →
Planned

Localization

English and Spanish, local number and date formats, accessible UI..

Read →
Planned

Local logs and diagnostics

Logs stay on the device and are shared only on request..

Read →
Designed

Launcher

The one download.

Read →
Designed

Offline mode

An explicit mode in which the launcher and app make no network request at all, like a game launcher's offline mode..

Read →
Designed

User-initiated signed updates

Updates are signed packages, applied only when the user asks, from a static server manifest or a file passed by USB or messenger.

Read →
Built (repo)

Package spec

A small JSON file written by the launcher that lists the chosen elements.

Read →
Designed

Online sign-in

Only features that inherently need the online network need a sign-in: Tap to Pay, the co-op price counter, referral validation and the Logistics board relay.

Read →
Designed

Elements, not roles

ADR-0001 removed separate role builds.

Read →
Built (repo)

Paired development

ADR-0002: every element is built first in Simca Packaging (thin manifest, prebuilt artifact, dependency links) and then immediately in Simca or Simca Logistics.

Read →
Built (repo)

Build delivery

ADR-0002: packages are assembled from per-element prebuilt pieces and cached by spec hash; nothing is recompiled per customer and identical specs give identical builds.

Read →
Designed

Offline/Online toggle

ADR-0002: the launcher shows a plain-sight toggle.

Read →
Designed

Update notice for offline users

ADR-0002: an offline user is offered updates only when a connection exists, as a visible, dismissible notice.

Read →
Not decided

Free-package profit threshold

ADR-0002: users start free, and a flat quarterly fee applies only after the business reaches a profit threshold measured locally from its own books, with nothing reported.

Read →
Designed

iOS launcher parity

ADR-0002: the iOS launcher must look and work like the other platforms; Apple rule limits are checked later and recorded as per-feature exceptions instead of being designed around now..

Read →
Built (repo)

Offline guard test

A test in the packaging crate fails the build if network crates, sockets, URLs, process spawning or URL/token environment variables appear, or if a denied crate enters the lockfile.

Read →

Questions

What is the tech stack?
The repo recommends a Rust core with a Flutter UI and SQLite. It is not decided and not built.
Does it need internet?
The design says no for selling. Updates and optional adapters may use it.