About
I am Ricardo Maia. I build the systems behind Orizonlabs, and I am the person you would actually be working with — there is no one else here yet.
I came to competitor pricing from cybersecurity, which sounds like a detour and is not. For three years at Cybersafe I built the infrastructure and service design for a threat intelligence platform: a system that watched external entities nobody controlled, decided which ones mattered, and got that decision in front of a security analyst fast enough to act on. Competitor pricing is the same problem with different nouns.
The same architecture, a different domain
This is not a loose analogy. The threat intelligence platform I built and the pricing systems I build now share their structure component by component. What follows is the mapping.
| Threat intelligence at Cybersafe | Competitor pricing at Orizonlabs |
|---|---|
| Continuous collection of reputation data on IPs and hostnames from across the public web | Continuous collection of prices and stock levels from competitor storefronts |
| Sources that were never designed to be read programmatically | Retailers running deliberate bot protection |
| Normalisation across feeds that each described the same thing differently | Normalisation across shops that each list the same product differently |
| Deduplication — several indicators pointing at one host | Product matching — one item listed under three names and two pack sizes |
| A scoring model rating how likely a host was to be malicious | A judgement about whether a price move is significant or noise |
| Multi-tenant, with strict logical separation of data between clients | The same, unchanged |
| Per-client request monitoring and rate limiting | The same, and it is what the Vespion plan tiers are built on |
| REST API integration into whatever SIEM the client already ran | Integration into whatever storefront and CRM the client already runs |
| Automatic escalation to ticketing when severity crossed a threshold | A price change reaching the client for approval when it crosses agreed limits |
| Everything publicly known about the offending host, gathered so the analyst could judge in seconds | The competitor data behind a proposed price change, attached so the operator can judge in seconds |
The classification model at Cybersafe was a colleague's work — he was a mathematician and it was his full-time job. The platform around it was mine: the collection, the normalisation, the tenancy model, the API, the escalation logic, the design of the service as something that could be dropped into a client environment.
Scraping, and the people trying to stop it
Earlier, as a freelancer, I built a system that tracked where products ranked on Amazon across multiple search terms and multiple geographies, so a client could tell whether their SEO and marketing changes were actually moving anything in an A/B test.
That work was mostly about the parts nobody puts in the pitch: captchas, bot detection, rate limits, results that differ by region and by session, and pages that quietly serve you something different when they suspect you are not a person. Competitor pricing runs into every one of those on day one. It is the reason most price monitoring quietly degrades a few weeks after it is set up, and the reason I do not treat collection as the easy part.
The gap, stated plainly
I have not run an online shop. I do not know your category, your margins, or what your customers tolerate, and I am not going to pretend otherwise after a forty-minute call. What I know is how to build the system that gets you the data and acts on the rules you set — reliably, from sources that would rather you did not, without falling over in week three.
If what you need is someone to tell you what your pricing strategy should be, that is not me.
What I am building
Orizonlabs does consulting work now and is building Vespion, a self-serve product for the same problem, alongside it. The consulting is not a placeholder while I wait for the product — the two feed each other. Every awkward catalogue and every shop that fights back teaches the engine something a synthetic test would not.
I will be writing about the parts of this that are genuinely hard, roughly once a month, on the blog. Product matching, stock signals that lie, what a request actually costs at scale. If you want to know how I think before you talk to me, that is the honest place to look.