Blyyss
Order from your local Halifax shop at the price on its shelf. A grocery storefront, flyer app and delivery service for independent stores, on the web, iOS and Android.
- orders delivered
- 140+orders delivered
- customers
- 90+customers
- average customer rating
- 4.7/5average customer rating
- local shops' flyers
- 30+local shops' flyers
Featured on Global News · CTV News · Radio-Canada · The Coast · Country 103.5

Demo night at Volta, Halifax: walking a room of 100+ people through Blyyss, live.
Innovation Sprint at the Arthur L. Irving Entrepreneurship Centre, September 19, 2026: Blyyss was the partner company, and 20 students from four universities spent 90 minutes tackling real Blyyss challenges, then pitched their solutions.


The problem
Halifax has dozens of independent grocers and almost none of them can be ordered from online. Customers who want those stores have to get there, and most of the shops have no website to tell anyone what is on their shelves.
What I built
- A storefront where a customer orders from one local store's real catalogue at the store's own shelf price, and we shop and deliver it.
- Tappable digital flyers from 30+ independent Nova Scotia shops, with search across every flyer and nearest-store sorting.
- An admin dashboard for analytics, order tracking, payment settlement and planning each delivery day.
- One React and TypeScript codebase that ships as the website, an iOS app and an Android app.
- An agent-native engineering process: scheduled headless LLM agents import flyers and update the catalogue, behind change detection, per-run budget caps and a publish gate that checks every price against the live pricing function.
Technical decisions
The server is the authority on money
After a security review, every order is re-priced on the server from its own copy of the catalogue. A tampered or out-of-date price is refused instead of charged.
Show the most you can pay, before you pay
Stripe places a hold for the maximum possible total at checkout and only captures the real amount after the groceries are bought, so a weighed item can never surprise anyone.
Phone first, measured
Most sessions are on phones, so layouts are tested automatically at real phone widths, and the product catalogue is kept out of the first page load.
Agents do the repetitive work, gates decide what ships
Flyer imports and catalogue updates run as scheduled LLM agents with a budget cap per run and a lock file. Nothing an agent produces reaches customers unless it matches the pricing function the server uses to charge a card, so a wrong model output costs a retry, never a wrong price.
Tests as a safety net
50+ unit test suites, 380+ Playwright end-to-end tests and type-check gates for the web app and all 21 server functions are what make shipping often to real customers possible.
The orders that vanished after our Facebook launch
- sessions replayed
- ~150sessions replayed
- left at sign-in
- 70–80%left at sign-in
- the fix
- 6 digitsthe fix
The symptom
Payments, frontend and backend all worked. Then we started marketing on Facebook, and orders dropped sharply even though people kept visiting and engaging.
The investigation
I set up Microsoft Clarity session recording and reviewed about 150 real sessions, following click patterns and time spent. 70–80% of visitors were abandoning at the sign-in step.
The root cause
Facebook opens links in its own in-app browser. Our sign-in emailed a magic link, and tapping it opened the phone's default browser instead: a second, separate browser, so the customer was never signed in where their cart was.
The fix
I replaced the link with a six-digit one-time code typed straight into the page, so sign-in completes inside Facebook's browser, and hid Google sign-in there because Google blocks it in embedded browsers. Orders came back.
Nothing was broken, and we were still losing most of our customers at the door. As a co-founder I learned that every detail, big or small, is the business.
What I learned
Real customers turn every shortcut into a support message. I learned to treat money, data and edge cases as product features, and that the fastest way to learn a technology I didn't know (payments, native mobile, serverless) is to ship it carefully to people who depend on it.
- React
- TypeScript
- Supabase
- PostgreSQL
- Stripe
- Capacitor
- Playwright
- GitHub Actions
- Vercel
The code is private. I'm happy to walk through it in a conversation.







