Skip to content

Where Things Stand

This page is the platform’s status at a glance. It is deliberately blunt, because the gap between what the founding documents describe and what runs today is large, and every planning decision depends on knowing exactly where that gap falls.

ComponentStatusIn one sentence
Web display tierShippedForum, polls, accounts, moderation, editorial and a full JSON API all work
Mobile clientShippedFive tabs and a full auth stack against the real API
Desktop clientPartialA complete, polished analytics client — connected to a mock server
Worker tierNot builtTwo lines of README
Docs siteShippedThis site
Subscriptions and billingNot builtNo plan, subscription, entitlement or usage table exists
Data ingestionNot builtNothing gathers anything
Regulatory and licensing positionNot builtNo legal entity, no licence application, no counsel engaged and no compliance function

Demostatics is now positioned as an investment company running four lines of business at once. Only the first has any code behind it.

#LineStatusWhere it stands
1Data and intelligencePlannedThe platform surfaces exist — Reports, Database, the API, both clients — but nothing gathers data and nothing is sold
2Investment advisoryNot builtNo implementation of any kind in any repository
3Discretionary managementNot builtNo implementation of any kind in any repository
4Proprietary tradingNot builtNo implementation of any kind in any repository

Lines 2, 3 and 4 are regulated activities, which is what the regulatory row above is about. See Business Model and Regulatory Posture.

The consequence for this page is that the platform is no longer only a product. The same pipeline is meant to feed paying subscribers, the firm’s own advisory calls, its managed portfolios and its own trading book — so every component in the first table is both product and internal infrastructure, and Not built now costs four businesses rather than one.

Run demostatics-web locally and you get a real, working application:

  • Registration, login, email verification, password reset, profile editing
  • A forum with communities, threaded comments, search, and three sort orders
  • Polls with options, voting that moves rather than duplicates, and comments
  • Role-based moderation with bans, and a live staff roster with presence
  • Editorial news and About Us articles by category
  • A Reports listing with a geographic and category filter cascade, exportable to Excel, Word, CSV and JSON
  • A Database listing of latest values with the same filters
  • A complete JSON API covering all of the above, with a test suite covering it

Point the mobile app at it and all of that works from a phone.

Run the desktop client against its bundled mock server and you get a dockable analytics workspace: live charts with downsampling, curve fitting, descriptive statistics, correlation matrices, a composite risk score, threshold alerts with desktop notifications, an offline cache, hardware-profiled render quality, a command palette, and a streaming AI assistant.

That is a substantial amount of working software.

Nothing gathers data. The entire ingestion, processing and structuring pipeline is unbuilt. The reports and database_items rows come from local seeders.

There are no numbers. database_items.value is a text column holding display strings. There is no history table anywhere. So there are no charts over real data, no statistics, no thresholds and no alerts against anything Demostatics produced.

There is nothing to buy. No plan, feature, subscription, entitlement grant or usage table exists on the server of record, and there is no tier column on users. The entire tier-and-feature model lives in Rust, against a mock.

The two clients cannot meet. They do not share an account, an entitlement model, a dataset identifier namespace, or a data shape. See The Two Contracts.

Nothing is reconstructible after the fact. reports carries published_at and database_items carries measured_at — one date column each, no source, no method, no method version and no revision history. That was a display detail while the platform only displayed. It is a record-keeping requirement now that advisory calls and trades may be made on these figures, and it is cheap to add before the Phase 2 tables exist and expensive after.

Three of the five engineering blockers below are configuration rather than code, which makes them cheap to fix and easy to forget. The sixth row is not an engineering problem at all.

BlockerEffectDetectable by
Mail is written to a log fileEvery new signup is stranded unverified, and the verified tier gates every write plus Reports and DatabaseGET /api/v1/healthcan_register: false
No supervised queue workerJobs are accepted and never run — invisible until the first payment webhookGET /api/v1/healthqueue: "requires_worker"
The scheduler may not be installedThe daily token prune never runsNothing verifies it
No TLSBearer tokens travel unencrypted in the default configurationNothing
No worker tierReports and Database have no data producerNothing
No entity, licence or counselBlocks business lines 2, 3 and 4 entirely. Does not block deploying or selling the data platformNothing

See Deployment Readiness for the full checklist.

The roadmap runs ten phases. The short version:

PhaseWhat it deliversWhy it is where it is
0Make it deployableNothing below is safe or testable without it
1Settle the contracts on paperOne week, no code. The cheapest phase and the one that prevents the most rework
2Numeric time series, from sourceThe technical unlock for the entire product
3Entitlement and web billingFirst revenue, with no store commission
4The data product on mobileThe app becomes worth paying for
5–8Platform, IAP, alerts, device linkingAdditive, each easier because the phase before it built what it needs
9Money movementNo longer conditional. Mandatory for line 3, and gated on licensing rather than on engineering

The roadmap’s own recommendation still holds for the software: Phases 0–4 are the smallest coherent thing that is genuinely useful. Numeric data with history, browsable and charted, behind a working paywall, on a real deployment, sold from the web. Everything after that is additive.

What changed is the ordering around it. Licensing no longer sits at the end of the list waiting for the platform to be finished — it starts immediately and runs in parallel with Phase 0, because it is the long pole and nothing engineering does makes it shorter. Two tracks, not one: build the platform, and start the licensing work on day one of it.

Roadmap · Regulatory Posture

Roughly 9–18 months for one full-stack engineer across three languages and three repositories, plus legal, two store accounts, a licensed financial partner, and a worker backend that does not exist in any of these repos.

That estimate covers the platform, which is line 1. It does not include the licensing lead time for lines 2, 3 and 4, which runs alongside it and is measured in months to years.