Statistics Canada tracks manufacturing by NAICS code, by province, by month. That's the right resolution for economic policy. It cannot tell you which brands on a Winnipeg grocery shelf are Canadian-owned, or which categories are quietly dominated by imports. Every shopper trying to "buy Canadian" is answering that question blind.
The maple leaf on the jar is a marketing decision. Whether the food inside was grown, processed, and packed in Canada — under whose ownership, in which province — is not written anywhere the shopper can read.
In early 2025, tariffs made everyone in Canada want to buy more from Canada. So they tried. Standing in a grocery aisle, staring at a jar with a maple leaf on the label, they couldn't tell: was the food Canadian? The company? The packaging? None of it?
Provincial buy-local directories exist, but each one stops at a provincial border. StatsCan covers the industry side. Nobody had a pan-Canadian, cross-sector, product-level, open catalogue of what's actually made here. And nobody had the flip side of that dataset — a signal for producers about which shelves are dominated by imports and where a new Canadian entrant would move the needle.
We built it. Product by product. Brand by brand. Ownership classified, source retained, shelf-level visible.
Search, browse, filter. Carousels surface promoted Canadian brands and "Cheaper in Canada" alternatives to popular foreign products. Every card is one tap to the full product record, price comparison, and Canadian-ownership provenance.
A "Made in Canada" claim on packaging is a legal marketing statement, not a supply-chain description. Four common patterns each look identical on the shelf and mean four different things for the Canadian economy.
The company is headquartered in Canada, profits report here, and the product is manufactured here. This is the case a "buy Canadian" shopper actually wants. It is also the hardest to identify from the shelf.
Made in Canada by a plant owned by a foreign parent. Meets "Made in Canada" on the label. Employs Canadians. Profits report offshore. Neither wholly here nor wholly there.
A public-listed Canadian brand whose product line is actually manufactured across several countries. Ownership Canadian; production not. A very different story from #01.
Store-branded, foreign-owned, foreign-made. Dominates the top of the Canadian shelf-share chart. Reads to shoppers as a neutral generic; is in fact a specific import channel.
Made Around Me is a data-first product with three consumer-facing surfaces and one admin surface, all reading from the same normalized catalogue. Building it as one dataset — rather than three separate products glued together — is what lets the Insights page tell you something a directory can't.
Search + filter + carousels. Every product is ownership-classified (Canadian / Canadian-HQ / foreign-owned / not-classified-yet) with a provenance trail — you can see why a product was flagged the way it was.
One product, all its context: AI-verified + Human-verified badges, Made-in-Canada / Canadian-owned / Canadian-ingredients signals, price and price-trend, and — critically — a price comparison against non-Canadian equivalents on the same shelf.
Provinces coloured by category diversity. Ownership mix over the whole catalogue. Categories where foreign-owned outnumbers Canadian-owned — a live "missing from shelves" list. Top brands by shelf share, coloured by ownership.
A public "Register Product" modal producers use to list their own products. Layered anti-abuse (origin + IP + invisible Turnstile) rejects scripted junk without asking legitimate small producers to sign up for anything.
The shopper opens the page for a bag of frozen fries. What they get is not a spec sheet — it's the ownership status (Canadian-owned Private, HQ in New Brunswick), the verification chain (AI-verified + Human-verified), a Made-in-Canada badge, and a price bar comparing this Canadian option against the non-Canadian competitors sitting one shelf over.
Once you have a complete finished-goods dataset with ownership classified, the questions economic-development offices, journalists, and prospective producers actually ask — "where are the gaps?", "which province makes the most different things?", "which brands dominate?" — become one query away, live-computed off the catalogue as it grows.
The catalogue answers different questions for different people. Because it's one dataset behind four surfaces, the answers are always internally consistent — the shopper and the policymaker are looking at the same underlying rows.
Types "pasta" in the search bar. Sees the Canadian brands the catalogue knows about, and for popular imports, sees the price comparison against the Canadian alternative right on the product page.
Opens the Register Product modal, fills in six fields, submits. An admin reviews within 2–3 business days and promotes to the public catalogue. No account, no dashboard, no ongoing management burden.
Opens Insights, scrolls to "Missing from shelves". Three categories where foreign-owned outnumbers Canadian-owned. Clicks into each to see the Canadian producers who do exist — and could be pitched a wider retail deal.
Insights map colours provinces by category diversity, not raw product count. Ontario leads the width, Quebec is close, the Prairies show clustering in specific verticals. Every claim is one link away from the underlying rows.
An About page that says what the thing actually is — in one line, above the fold — does more work than any tagline. A Register modal that respects producer time (no account, six fields, invisible bot protection) makes the difference between a catalogue that grows and one that doesn't.
A small, boring stack chosen to keep the public site fast and the catalogue easy to grow.
Modern React SPA, mobile-first.
Node service with an embedded catalogue database.
LLM-assisted parsing with human review at the gate.
Layered — invisible challenge + rate limits + origin checks.
Self-hosted, no third-party CI/CD surface.
Privacy-first, self-hosted, no cookies.
The average shopper isn't opening a spreadsheet on a laptop — they're in the aisle, one-handed, on a phone. The mobile view is the primary view; the desktop layout is the derivative. Auto-scrolling carousels use CSS keyframes rather than any JS animation loop, which is what lets them keep moving even on iOS Safari.
madearound.me detects visitor country and forwards to the matching subdomain. Adding a new country = four coordinated one-line edits.Made Around Me is live and growing. Try it as a shopper, or if you make something in Canada, list it in under two minutes.
Open the catalogue → List a product