01What it is
A platform for vertical price-comparison storefronts: feed import, category mapping, templates and hosting, shared by every storefront instead of copied into each.
Evastack has been built since 2014. In 2025 we rebuilt it as a multi-tenant platform, with one goal written down: a new storefront is configuration, not code. The product site tells the v2 story from the platform’s side.
02Tenancy
Host-based and multi-tenant. Every request resolves its host to a storefront record in a control-plane database before routing, gets marked as control plane or storefront, and has the storefront’s own database switched in. Routes and access rules branch on that mark. Background jobs bootstrap the same way, by domain.
Each storefront is a declarative profile: a base per vertical and country, plus one level of overrides. Before go-live, launch checks run against it.
03Ingestion
Every source is a configuration file. Large feeds are streamed, so file size costs time, not memory.
A new merchant feed is censused before it is configured: unmapped categories, empty shelves, dead selectors and truncated downloads fail the coverage gate. Off-vertical branches are excluded at ingest, so they never exist to be hidden later.
04Classification
Three layers: a public product taxonomy as the backbone, a rule registry, and operator rules on top. A shared mapping catalogue is read at ingest; local rules always win. AI-assisted maintenance proposes brands, categories and option values, with a multilingual colour vocabulary, but its proposals land as rules. Every decision can be explained, and reverted.
05Prices and offers
A price change log per variant feeds price history and a shelf of recent price drops. Offers for the same product across shops are grouped by matching strategies. Each storefront publishes a transparency page describing how offers are ranked, and every sentence on it maps to the code that does the ranking. Change one, change both.
06Click-outs
Bot traffic is filtered before it counts as a lead.
07Watching it run
We watch it and get paged when it breaks.