camorm tech
All work

price comparison in testing

Pharma Hub

A system that shows an online pharmacy, product by product, how its price compares with the competition, and where a few cents of adjustment would win back the sale.

pricescompetitionreportonline store
Price reportexample, with made-up values
Vitamin C 1000 mgeasy adjustment€12.90€12.84+€0.06
Sunscreen SPF 50+€18.50€16.20+€2.30
Moisturizing cream 200 mllowest price€9.40€9.40€0.00

Overview

Project
Pharma Hub, a price comparison tool for online pharmacies
Role
Architecture and development, from the service to the plugin
Platform
Cloud service and a plugin for WordPress and WooCommerce
Deliverables
Price report in the store's admin panel, linking of offers to products, CSV export and price collection on request
Status
Version 1 built, in testing with real data from one store

The client's problem

The store sells hundreds of products on an online price comparison site, where shoppers almost always choose the lowest price. The store owner had no way to answer simple questions:

  • On which products am I more expensive than the competition, and by how much?
  • Which store is beating me on each product?
  • Where am I losing the sale over a few cents that I would drop without a second thought?

The only way to know was to open the comparison site product by product and compare by hand. With hundreds of offers and prices that change every day, nobody did it, and the store lost sales over differences of a few cents without knowing.

The request was direct: to see, on a single screen, the store's price next to the lowest price, the store offering it, the difference in euros and as a percentage, and a highlight for “easy adjustments”, the products where the store is more expensive by up to about 10 cents.

The solution

Two pieces that work together.

The hub

A central service that copies the store's offers, reads competitors' prices, calculates the comparison and keeps the history.

The store plugin

Shows the report inside the WooCommerce admin panel, links each offer to the store's product (by SKU, EAN or address) and exports to CSV. The plugin only displays and links; all the calculation stays in the hub.

What the report delivers

  • The store's price next to the lowest price, with the name of the cheapest store
  • The difference in euros and as a percentage, and the store's position among all those selling the product
  • “Easy adjustment”: highlights offers that are more expensive by only a few cents, with a configurable limit
  • A warning for suspicious differences, filters, sorting by priority and CSV export
  • A button to request a new price collection and follow its progress

Under the hood

For those who want the technical details.

Multiple stores from day one
Each store sees only its own data. Isolation is enforced in the database (PostgreSQL row-level security) and the store is identified by its token.
Security
Scoped tokens, the comparison site's key stored encrypted, and server-to-server calls over HTTPS. The token never reaches the browser.
Resilient collection
A queue in PostgreSQL with one worker, resuming after a failure, a retry limit and a clean shutdown during a deploy.
Responsible collection
Respects robots.txt, pauses between requests and stops by itself if the site signals a block.
Exact values
Money in whole cents and times in UTC, so there are no rounding or time zone errors.
Documented decisions
30 architecture decision records and hundreds of automated tests, across the hub and the plugin.

Status

Version 1 is built and in testing with real data from one store.

Next steps

  • Integration with a second pharmacy data provider
  • Admin panel

Is something taking too much time in your business?

Tell us how it works today. You don't need to know the technical term.