Full detail · part of The Platform

The Architecture

Most vertical-market software lives as either a desktop app or a web app. Mine had to be both at once — and agree with itself.

Clinic & office desktops Browser users, anywhere Windows edition Delphi / RAD Studio MS SQL Server works offline Web edition PHP / JavaScript MySQL / MariaDB cloud-hosted two-way synchronization & reconciliation Central cloud warehouse journal-first record lineage identity resolution & audit REST / JSON APIs payments · mobile apps XML / SOAP legacy ERP · third parties One platform, two editions, hundreds of organizations — kept in sync for 14 years.
The platform as deployed: two editions, one reconciled truth.

Why two editions

My customers were offices, pharmacies, laboratories, and insurers in environments where connectivity was a privilege, not an assumption. A pharmacy can't stop dispensing because the internet dropped. So the Windows edition (Delphi / RAD Studio on MS SQL Server) ran fully offline at the site, while the web edition (PHP/JavaScript on MySQL/MariaDB) served users who needed access from anywhere. Every record from both editions synchronized to a central cloud warehouse, where reconciliation logic resolved conflicts and journal-first lineage kept every row traceable to its source.

What building this teaches you

Offline-first synchronization is one of software's quietly hard problems: identity across systems, conflict resolution, idempotent replays, partial failures, clock drift. Getting it wrong corrupts customer data invisibly; you find out weeks later. Fourteen years of running this in production — with real businesses on it — is why I treat data integrity as a reflex rather than a requirement line.

The integration surface

Around the core: REST/JSON APIs for mobile apps and payment systems, XML/SOAP for legacy and enterprise partners (including ERP-class integrations), scheduled jobs, and reporting across both editions. One person can hold all of this only if the design stays disciplined — which is the honest argument for boring, explicit architecture over cleverness.

Want proof? Ask me to whiteboard the sync and reconciliation design in an interview — it's a genuine pleasure — or see the data-side evidence on the governance page.