← All projects

CrownQC

CrownQC

CrownQC gives fresh-produce businesses offline-first inspections, shareable reports and real-time analytics across mobile and web.

Live with paying clients

Overview

CrownQC is a quality-control inspection and reporting platform for the fresh produce industry. Inspectors use a dedicated mobile app to document consignments where the produce is received, packed or grown. A report can include container and temperature data, packing details, samples, varieties, defects, measurements, comments and photographs.

Managers and commercial teams use the web application to follow inspections as their data arrives, review completed reports and analyse quality across suppliers, receivers, inspectors, commodities and seasons. Reports can be shared as live public links or generated PDFs, while the underlying data can be exported for further analysis.

Each organisation can configure its own inspection templates, report layout, custom fields, tags and catalogues. Administrators, managers and inspectors have different permissions, and each organisation sees only its own data.

My work

I designed and built CrownQC from the initial product through its mobile and web applications, shared data model, offline sync, image pipeline and production infrastructure. The platform went from initial development to live paying clients in nine months.

Built for work without a signal

Inspectors work in packhouses, cold stores and fields where connectivity is often absent. They cannot postpone an inspection until they return to an office, and re-entering handwritten findings later wastes time and separates photographs from the defects they document. The mobile app therefore remains functional offline, including report creation, samples, findings, readings, comments and photographs.

Changes are written immediately to SQLite on the device and synchronised when a connection becomes available. Managers see the same findings arrive in the online dashboard without requiring inspectors to perform a separate upload step. The web application deliberately uses a conventional server-rendered model rather than carrying the complexity of offline support into an environment that does not need it.

Progressive sync

A large organisation may hold hundreds of thousands of report records and related findings, far more than a phone should download. CrownQC synchronises report summaries automatically, then downloads the details of recent or opened reports as needed and retains them for offline work. This keeps the local dataset useful without attempting to copy the organisation's complete history onto every phone.

I evaluated a range of sync engines, including ElectricSQL, TanStackDB, PGlite and PowerSync, before settling on PowerSync once reliable on-device SQLite support became available through Capacitor. None of the options matched the product's requirements without compromise: a relational model designed around complete server-side queries does not naturally express partial, prioritised replication to a phone. CrownQC therefore keeps the sync boundary explicit and uses a custom content-addressed pipeline for photographs, where the available sync engines did not fit.

Today

CrownQC is live with paying clients across iOS, Android and the web. The platform supports thirteen languages and gives inspectors, managers and commercial teams a shared view of quality from the field to the dashboard.

← All projects

© 2026 Perennial Labs