---
title: "Letting small shops share their own prices"
description: "With Retailer Price Sharing, a small shop can sign up, get checked by someone on our team, and publish its prices in Hargapedia under its own name."
url: "https://rayson.me/writing/retailer-price-sharing/"
category: "Design"
author: "Janarayson"
published: 2022-10-28
---

Most of the prices in Hargapedia come from us. We collect them ourselves, online and in stores, and that's what the app compares.

That leaves out the mom and pop shops. Their prices aren't in a mailer or on a website, so the only people who see them are the ones who walk in. Some of those prices might actually be cheaper than the big chains'.

We've just launched Retailer Price Sharing, or RPS. A shop signs up, we onboard them, and they get a portal where they can sign in and publish their own prices to their store in the app.

Why we built it depends on which angle you look at it from. It fills in a part of the market our data doesn't reach, and at the same time it helps small shops by putting their prices in front of people who are already looking for a deal.

## A person on the other end

I mocked up both sides of it back in June, the shop's and ours. The sign-up form asks for the business details registered with SSM and where the shop is, or its URL if it sells online. It also asks for a photo of the signboard, or of the seller centre for an online shop.

<Figure
  src={register}
  alt="A browser mockup of the Register as a retailer form: retailer name, store type with Physical Store selected, address, geocode, a drop zone for the business logo, and the primary contact's name, email and mobile, with a green Submit button"
  caption="The sign-up form, from the June mockups."
  wide
/>

After that it's manual, on purpose. Every application goes to someone on our team, who gets in touch within a working day or two, and only then is the account switched on. We need to filter who gets in, and when you're dealing with businesses, it's better to have a human connection anyway.

<Figure
  src={admin}
  alt="The web admin mockup for a made-up shop called Mat Runcit: its details and logo on the left, and on the right a login email for the new account and a retailer status set to Unprocessed, with In-progress, Reject, Removed and Approve as the other options"
  caption="Our side, where someone approves a shop and creates its account."
  wide
/>

## Prices for products we already track

Shops don't create products in the portal. They search our catalogue, pick a product we already track and put their price on it, so a shared price shows up on the same product page as the prices we collect.

Each price has the dates it's valid, and an optional note for promotions like multipacks. A physical shop picks which of its branches have the price, and an online one adds a link to the product in its store. A new shop starts from a list of the top 100 products people search for on Hargapedia. Once it saves a price, it's in the app straight away.

<Figure
  src={priceList}
  alt="The price list mockup for a made-up shop, Mega Grocer Sdn Bhd: a product search box and the top 100 products on Hargapedia down the left, and on the right the shop's list with a price, notes, a location or URL, and start and end dates for each product"
  caption="A shop's price list, from the June mockups."
  wide
/>

We built the portal and the admin app with Next.js on Firebase. The team already knew them, and it kept deployment simple.

## Saying who shared it

On the product page, a shared price sits in the same list as everything else. People need to know it came from the shop itself and not from us, so it has to look different. I tried a few versions, a coloured border, a yellow background and a grey card. We went with the grey one, with "Shared by" and the shop's name along the bottom.

<Screens
  screens={[
    { src: cardBorder, alt: 'The price list for Milo Softpack 2kg, with a shared in-store price from Mike Grocer marked by a blue border' },
    { src: cardYellow, alt: 'The same list with the shared price from Family Supermarket on a pale yellow background' },
    { src: cardGrey, alt: 'The same list with the shared price on a grey card, labelled In-store and Shared by Family Supermarket' },
  ]}
  caption="Three ways of marking a shared price, August 2022. We went with the grey one on the right. Mike Grocer and Family Supermarket are made up."
/>

Tap one and you get the shop's branches, each opening in Google Maps, or a button through to its online store. There's a line for shop owners too, asking if they'd like to share their prices. At the bottom there's a note saying the prices are shared by the retailers themselves, and that each retailer is responsible for honouring the prices it publishes.

Joining is free, and there's a short guide for retailers on our website.
