Basket.je

Website
Closed source
Active

Basket.je is a price comparison website that I built from scratch.

It's purpose is to aid consumers in saving money by making it easy to compare grocery prices across various local retailers. To make this possible, I created a system for effortlessly collectng prices using your smartphone while in the shop. I have also developed a native app using React Native that is yet to be released.

Tools used

TypeScript
HTML
CSS
React.js
Next.js
React Native
MySQL
Node.js
Nginx
Redis
Visual Studio Code
Git

The story

1. Starting out

I decided to start the project because I wasn't happy with the (now-defunct) PriceComparison.je website. It lacked a lot of features, compared to a UK alternative such as Trolley.co.uk, and I wanted to do better for the island.

I started by tacking the issue of price collection. As we all know, online grocery shopping is virtually non existant in Jersey, save for Co-op and Orderit, so web scraping was out of the question.

I had contacted a few retailers asking about obtaining the necessary price information, but did not receive a reply. I decided the best way forward would be to develop an efficient solution of collecting prices on foot. I begun developing a mobile app using React Native, but quickly realised this wasn't the most effective solution and pivoted towards a web based app.

I spent a month or two developing and improving the site, adding new functionality and fixing issues. It was then I got contacted by a UK company who was looking to do the same thing as I. As I had already completed a large chunk of the work myself, they offered a partnership. I accepted.

2. Partership

We worked together for a few months. I would develop the site and they would work on the business side of things, however it never really went anywhere, due to them being based in the UK and I being the sole person working on things over here. Thus, we decided to part ways.

I'm very greatful for their initial interest and continuous support, I probably wouldn't have continued working on Basket.je if it wasn't for them.

3. Current state of affairs

Nowadays, I don't really update the site. I haven't got the time to do this alone and would need at least 1-2 other people to help.

As previously mentioned, PriceComparison.je was shut down, but it has been replaced with Prices.je. Still not great. I have offered the site to the Jersey Consumer Council for free, but they are committed to Prices.je.

If you think you could help in some way, email me at [email protected]!

Behind the scenes

Here is the page I used to update prices (Yes, it needs some styling improvements):

Also, at the top of the page there is more options available, such as:

  • Showing links to the product page (used for co-op so prices can be checked at a PC)
  • Show the product ID (used for testing mostly)
  • Choose which aisles you want to see

Click on a product to see the below:

When I'm done, I'll hit submit at the top and select the location I was at (e.g. Iceland Parade). Later, when we're at a PC, we find the request we just submitted:

(Again, could do with some styling improvements - this is probably one of the oldest pages on the site)

Here we can download the data as a spreadsheet and make the necessary checks and changes before re-uploading and making the data live on the site.

Full feature list

  • Compare prices from 7 retailers
  • Track price history over time (currently disabled)
  • View price history
  • See different sizes of a product and the price per unit
  • See cheaper own-brand alternatives of a name-brand product
  • View all products for a generic item (e.g. Tomato Pasta Sauce - example link)
  • Add products to one or multiple shopping lists
  • Share your shopping lists with others!
  • Create an account to be able to see your recently viewed products
  • See products recently added to the site in the past month on the home page
  • Click on a shop and see products that are sold there and every location in the island
  • When sharing a product, an image with the basic details is auto generated (example)
  • Is a price wrong? Report the product, select Incorrect Price and fill out the form!
  • ...possibly more things that I can't think of right now