Inspiration

After the tariff news, a lot of Canadians wanted to shop Canadian, and quickly found out how hard it is to tell who actually is. I watched someone on TikTok try to build a list of Canadian-owned businesses by hand and get completely swamped.

I could have taken the data he'd collected. Instead I asked a different question. What would it take to build one properly, from scratch, organized so you can actually find what you're looking for?

What it does

Loonie List is a directory of Canadian-owned businesses.

For shoppers: browse by category, search by business or product, filter by province, or tap Near Me. Save favourites, and vote on listings so the good ones rise. You don't need an account to look.

For business owners: add your business with its category, city, contact details and website, and list the products you sell. Listing is free and stays free while the directory grows.

Everything in the app is free. The only thing you can buy is a one time tip called Support Loonie List, which goes through RevenueCat and unlocks nothing at all.

How we built it

SwiftUI for the app, Supabase for the database and sign-in, RevenueCat for the tip, and Cloudflare for the domain. I'm a retired teacher and a self-taught developer who builds with AI tools, and I built Loonie List alongside another app in the same month.

By the end of the first afternoon it had a database, a domain pointing at it, and a screen you could scroll with real shops in real towns. Not finished, the sign-in was already broken, but real.

The first listings were imported from public sources with a script, and every business record stores where it came from and whether the owner has been asked. Businesses can create and manage their own listing, and a proper way to claim an imported one is the next thing I'm building. [CONFIRM this matches what you actually did before you paste it]

Challenges we ran into

Sign-in broke almost straight away. "Email not confirmed" and "Auth session missing" on the first screen a new user sees. Fixing the front door came before anything else.

Whether to charge at all. A directory with a handful of listings isn't worth paying for, so I built the paid tiers and then switched them off at launch to let the directory grow first.

Reading the rules too late. I'd written the purchase code straight against Apple's StoreKit, and the competition needs RevenueCat to handle the purchase. So I pulled that out and rebuilt it on RevenueCat, and rather than turn the paid tiers on I added a tip instead, which kept listings free.

Then Apple rejected the update twice, both times over screenshots that still said FREE now that the app had a purchase in it. Fair enough. I redid the screenshots and the wording.

Accomplishments that we're proud of

Idea to approved on the App Store in two weeks. First commit September 3, approved September 17, built alongside another app that was going through review at the same time.

And the app is still free, which was the whole point.

What we learned

Building fast isn't the hard part anymore. Judgment is. What to build, what data you have a right to use, and when an app is actually ready to ask people for money.

Also: read the competition rules before you write the payment code, not after.

What's next for Loonie List

More listings across more provinces. A proper claim-your-listing flow so business owners can take over the ones I imported and add their own logo. Verified-business badges. Tapping the confirmation email should open the app instead of the browser. And turning the paid tiers on once the directory is busy enough to be worth paying for.

Built With

Share this project:

Updates

Submission history