Phantom
Regional AUSTRALIA

Arnold's Online

An independent grocer, properly online.

A multi-year build covering three things. The store moved off OpenCart onto MyFoodLink with NATPOS at the centre. A new Next.js marketing site replaced the old front. A Railway service does the work MyFoodLink leaves on the floor.

Client
Arnold's Fruit Market
Year
Since 2023
Scope
Consulting, Platform, Systems
Timeline
Multi-year engagement
Team
Strategy, Engineering
Arnold's Online
Context

Arnold's chose in 2023 to leave OpenCart and SiteNStore. MyFoodLink replaced the storefront in April 2024 with NATPOS as the source of truth for the catalogue. A Next.js marketing site followed in October 2024. Operational pipelines on Railway stitch MyFoodLink to everything around it.

Arnold's team with produce by the heritage truck
Diagnosis

The problem was not one website. It was a set of old and new systems that needed to behave like one retail operation.

Platform fit

The ecommerce layer was the wrong place to differentiate

OpenCart could keep being patched, but it was not built for a supermarket catalogue, POS-led pricing or the operational rhythm of a fresh produce business.

Content surface

The brand and search surface needed its own owner

MyFoodLink could run transactions, but it was never going to carry the Arnold's story, local delivery pages or the organic search surface the business needed.

System constraint

The missing API was an operating constraint

MyFoodLink did not expose the data needed for specials, merchant feeds or delivery-zone pages. Those gaps had to be worked around without asking staff to duplicate work.

Decisions

Two tracks running in parallel. Get the transactional move right. Build the things the platform does not.

Platform

Decide the platform

Spent the back end of 2023 walking the OpenCart estate with Ben. No patch made supermarket sense for this trade. MyFoodLink with NATPOS already running on the till was the obvious answer.

Operations

Migrate the store

MyFoodLink went live in April 2024. NATPOS feeds it stock and pricing on the same sheet the registers run. Click-and-collect ships from one source of truth.

Brand system

Rebuild the marketing layer

Next.js and Prismic replaced the legacy front in October 2024. The site owns the brand voice. It owns the organic search surface MyFoodLink will not rank for.

Story system

Carry the heritage into the site

Arnold's traces back to J.G. Arnold, born in South Australia in 1854. The fruit market opens in 1892. Five generations are mapped into a Prismic-driven timeline. Visitors browse by century or by year. Each generation gets its own family page.

Arnold's team with produce by the heritage truck
Heritage timeline, Prismic-driven
Systems Shipped

The visible site is only part of it. The real work is the connective tissue around the platforms.

Automation

Railway data service

A Railway service runs Playwright scrapers on a schedule. It pulls the live product list with name, weight, unit and photography, then gives staff a portal to price and publish specials.

Distribution

Merchant and local inventory feeds

The same service powers Google Merchant Centre and Local Inventory Ads feeds from the data MyFoodLink exposes indirectly.

Local search

Delivery-zone pages

MyFoodLink holds the delivery timetable on one shared page. The Railway service scrapes that page. It writes a row per zone into Supabase. Each zone gets a Prismic-editable page with live timetable windows. Local search that one shared URL could never carry now lives one URL deep.

What Changed

No vanity scoreboard. Just the practical capabilities the business now has.

Operations

POS-led catalogue

NATPOS became the source of truth for the till and the online store, reducing the split-brain catalogue problem.

Content

Editable brand layer

Prismic gives the business control over its story, heritage content and local landing pages without trying to make the ecommerce platform do brand work.

Systems

Platform gaps covered

Railway services handle specials, product extraction, merchant feeds and delivery-zone publishing where MyFoodLink does not provide an API.

Growth surface

Local search owned properly

Delivery-zone pages now exist as individual, editable URLs instead of hiding every zone inside one shared timetable page.