Most price comparison sites are bloated. They are built on heavyweight CMSes, old legacy code, or bespoke applications that took six months and a small fortune to launch. The data sources and onoing management are usually the worst part – it is very easy for small or niche comparison sites to fall into disrepair.
I wanted something different. I wanted to be able to spin up a comparison site for a new niche in an afternoon, manage all the product data from a spreadsheet, and not have to think about the CMS underneath it ever again.
Spreadsheets as the source of truth
The single best decision in Satellite’s design is using Google Sheets as the data source. Site operators – me, partners, freelancers, whoever, can manage product and editorial data in a spreadsheet. Satellite imports it into MySQL automatically, no manual export step. A row added to the sheet could appear on the live site within minutes.
That sounds prosaic until you have lived without it. Editing live data in a spreadsheet is faster and more accountable than any admin UI ever built. You get sorting, filtering, formulas, multi-cell paste, version history, comments, sharing, and a familiar interface anyone can use. The CMS doesn’t need to reinvent any of that – it just needs to read the sheet.
The import is configurable. You point Satellite at a sheet, tell it which columns map to which fields, and it builds the underlying MySQL tables dynamically. Add a column to the sheet, and Satellite picks it up on the next sync. I process the raw data into a pivot table, and export the pivot into satellite. If you use Excel you know the raw power of pivots – I would back its flexibility against any of the major comparison sites in a heartbeat.
Configuration over code
Satellite is configuration-driven. To launch a comparison site for a new niche – broadband, energy, insurance, SIM cards, whatever — you don’t write code. You configure URL patterns (the site uses clean URLs built around index types like “network" or “contract“), define which page templates render which page types, set up the affiliate merchants and their link templates, and point the sheet importer at your data. The platform handles the rest.
This matters because comparison sites have a lot of moving parts that look unique but are actually identical underneath: deal listing pages, deal detail pages, network/brand hubs, filtered “best of” pages, comparison tables, affiliate redirect handlers. Satellite implements each of these once, properly, and lets you compose them per site through configuration.
What’s in the box
Out of the box you get per-page SEO metadata, schema.org structured data, an XML sitemap, content blocks (deal widgets, CTAs, editorial copy) placeable in any page slot, deal landing pages with per-deal URLs, a filter-and-sort system with saved page-specific filters, review scores with schema.org review output, static pages for legal and editorial content, and an admin journal with partner-level summary reports.
Affiliate link handling deserves a particular mention. Every deal links through a centralised redirect that resolves the merchant’s tracking template at request time and sends the user out with the right parameters appended. Switch your tracking network, change your sub-IDs, swap merchants – all in the Google Sheet.
A free, scriptable compute layer
Using Google Sheets as the data source unlocks something most CMS platforms can’t touch: Apps Script. Every Satellite sheet is a fully programmable environment with built-in scheduling, sitting alongside the data itself.
That means the heavy lifting that traditionally lives on the server – fetching merchant feeds, normalising data, calling third-party APIs, enriching product records with AI, can run inside the spreadsheet instead. It can use Apps Script to pull product data from affiliate networks, hit AI models to clean up messy titles and generate editorial copy, and run scheduled jobs that prepare the data Satellite then imports.
No tangle of cron jobs to maintain on the server. No worker queues. No background processes. Google runs it all on infrastructure you don’t pay for, on a schedule you control from a UI anyone can use. The server side stays lean and predictable; the dynamic work happens upstream where it belongs.
The stack
The technology stack and underlying architecture is unfashionably simple. PHP 8.5 (because why not stay current), MySQL/MariaDB, the Google Sheets API v4 and Composer for dependencies. It uses a tiny, custom-built template engine that is even lighter than Twig or Smarty. No npm, no webpack, no JavaScript framework wrestling for control of the DOM. The whole thing deploys via FTP onto any LAMP host.
The first deployment
The first live Satellite site is GoSimo, a UK SIM-only comparison site covering 25+ mobile networks and counting. Twenty-something best-of, network hub and guide pages, several hundred deal pages, a daily import from a single Google Sheet, and an editorial snippet system that lets us write per-page intro copy without touching templates. It runs on a small VPS, loads fast and does its job.
Satellite is designed to do the same job for almost any product category. Get in touch if you’d like to talk about deploying it for yours.