Wine cooperative · Operational PWA

Mountain Ridge Wines

A custom PWA for pooling, vintage and harvest logic, budgeting, and commercial invoicing in one place, on desktop and phone.

Agriculture Operations
PWA Planning Harvest Invoicing

Result · Monthly close → hours

Mountain Ridge Wines

The brief

A wine cooperative runs on interconnected processes: pooling, vintage, harvest, and invoicing. Spreadsheets and a monthly close cycle were carrying most of the load. A figure changed in one sheet had to be copied into the next, and the close waited on that copying.

What the software covers

The PWA is the operational system for that cycle. Pooling, vintage and harvest logic, budgeting, and commercial invoicing sit in one place. The harvest plan, the budget, and the invoice draw on the same figures, so the cooperative is not reconciling four versions of the season.

The build

We shipped an operational PWA around how they actually work. It installs from the browser, with no app store. SvelteKit on the front, FastAPI and PostgreSQL behind it, packaged with Docker and hosted on a managed server. Implementation was in person, then a retainer through vintage.

How people use it

The same app runs on a desktop and on a phone. There is no second mobile product and no store listing to maintain. That matters in vintage, when the work is in the cellar and at a desk in the same week, and the person updating the harvest is not always the person raising the invoice.

What shipped

Budgeting and operational close moved from a monthly cycle to work that finishes on an hour scale, on desktop and phone, without an app store. The cooperative has one system for the season instead of a chain of spreadsheets.

After go-live

Hosting stays with us on a managed server, with a retainer through vintage so the model can change when the season does. The app is software we run, not a project we hand over and leave.