01
Extension in Google results
The content script collects domains from the results and checks them in one request. Next to each result: the “from” price, DR/OT and an expandable offer table; saved domains collect in a floating counter.
Case study · 03 / 09
Content marketing marketplace + Chrome extension
A marketplace where advertisers buy sponsored articles on thousands of sites and publishers sell the space — plus a Chrome extension that shows Marketin9 prices right inside Google results.
Marketin9
Marketing & SEO
Web app + Chrome extension
Product engineering, end to end
The product
Advertisers search a catalogue of publishers by authority, traffic and price, build a campaign basket and order sponsored publications. Publishers track orders and revenue. The browser extension follows users around the web: in Google results and on any site it shows whether the domain is on Marketin9, from what price, with which offers.
Our part
A Vue 3 + TypeScript single-page app that talks to three backends at once — the legacy monolith being phased out, a Laravel 9 API on OpenSearch, and a Laravel 10 microservice for Ahrefs and OpenAI — plus a vanilla-JS Manifest V3 extension that injects UI into other people’s pages.
Under the hood
Domain rating, trust flow, organic traffic, discounted prices in several currencies — all on Elasticsearch/OpenSearch with server-side pagination.
Ahrefs keywords → a GPT-written description of each domain → OpenAI embeddings → cosine similarity between every pair of domains, with an 85% threshold for “similar to your campaign”.
Manifest V3 content scripts batch domains from search results into one API call, inject prices and offer tables, load more as you scroll and sync settings across open tabs through the service worker.
Scheduled Ahrefs syncs that watch monthly quotas, Contadu SEO scoring with async polling, Google Drive and WordPress — plus PayU, PayPal, Stripe, BlueMedia and wFirma invoicing.
The outcome
Inside the product
Demo data · click any screen to enlarge
01
The content script collects domains from the results and checks them in one request. Next to each result: the “from” price, DR/OT and an expandable offer table; saved domains collect in a floating counter.
02
On any site the extension checks the domain and shows a “domain available” popup that pauses its 10-second timer on hover. Settings rebuild the UI in every open tab through the service worker.
03
Server-paginated catalogue on Elasticsearch with 30+ filters, favourites, blacklist, discounts and a campaign basket. The “AI suggestions” toggle narrows it to domains similar to the campaign site.
04
The article editor counts recommended phrases for the keyword and colours them by target range — green in range, yellow and red overused — with Contadu results polled asynchronously.
05
DR, UR, organic traffic, referring domains, backlinks and TF over time, synced from Ahrefs by queued jobs that keep within the monthly quota.
06
Gross revenue by month for any date range with CSV export, order counts by status and KPIs with trend against the previous period.
Stack
Next case