Skip to content
Elit Solutions
Web Design

Muqayise.com — Price Comparison Platform

A platform that gathers prices from Azerbaijani online shops into one place — built on Phoenix LiveView and PostgreSQL, it shows where a product is cheapest.

Client: Elit SolutionsYear: 2026Visit site

About the project

Muqayise.com gathers the prices of electronics, home appliances and household goods from Azerbaijan’s online shops into one place. You pick a product and see at a glance where it costs least — prices are shown in manat and refresh automatically.

The site runs in Azerbaijani and Russian.

Two different questions, two different pages

A price comparison site is really answering two separate questions, so we gave each its own page:

  • “Where is this product cheapest?” — the product page. The lowest price sits at the top in large type, with every shop’s offer listed underneath and the cheapest one marked. The price range is shown too, so the size of the gap is immediately obvious.
  • “Which model should I buy?” — the comparison tool. Pick up to four models from one category and their specifications are laid out side by side. The rows where the models actually differ are highlighted automatically, so you never have to scan dozens of identical rows to find the few that matter.

The catalogue and the offers are kept apart

Underneath the site is one simple but decisive split: the product (the model in the catalogue) and the shop offer (one shop’s price for it) are stored separately. One model can carry five prices from five shops while remaining one model. That structure is precisely what makes price comparison possible.

An external collector refreshes the shop prices on a schedule — the catalogue currently holds hundreds of models and tens of thousands of shop offers.

The database choice: why PostgreSQL

The database is small — 20 MB. At that size the usual instinct is to reach for something lighter, but we stayed on PostgreSQL. The reason was language, not size:

  • Azerbaijani and Russian letters. Search has to work regardless of case. Lighter databases get this right for the English alphabet only — they do not fold letters like İ, Ə or Ş. Our two languages are exactly the two where that rule breaks: someone typing indesit has to find İndesit.
  • A price is a decimal, not a float. The whole point of the site is finding the minimum price and showing the gap between two sellers. Money has to be stored as an exact decimal.
  • Writing while reading. The collector rewrites prices while the site keeps serving visitors.

All three reasons are written down in the project’s own docs, so that when the question comes up again the answer is already there.

The result

The site is built on Elixir and Phoenix LiveView — pages render on the server, while the comparison table updates without a page reload. Every product gets its own title and description and every category has its own comparison page; those pages are what surface in search for queries like “phone prices” and “compare”.

Real screenshots of the work as we delivered it.

  • muqayise.com
    The Muqayise.com home page, with the search field, the category menu and popular product cards each showing their lowest price
    The home page — every card carries the product's lowest price and how many shops sell it.
  • muqayise.com
    The Apple iPhone XS Max 64GB product page, showing the lowest price, three shop offers and the technical specification table
    A product page — every shop's offer in one list, with the cheapest one marked.
  • muqayise.com
    The Muqayise.com comparison page, with three iPhone models side by side and the rows where they differ highlighted in yellow
    The comparison tool — up to four models at once, with differing rows highlighted automatically.
  • The Muqayise.com home page on a phone, with the search field, a scrollable category menu and rows of products
    The same page on a phone, with search and the language switch on one row.