Let's Talk

We keep your marketing above the waves.

Apps, lead generation, retail, e-commerce and CPG — every business is scored on a different number. I spent years inside Google's digital marketing team working across all of them, and I build the websites, content and campaigns around the metric that actually matters to yours.

No pitch on the call You keep everything we build 15 minutes

Platforms we work across

The channels and tools your customers actually move through — set up, tracked, and run together rather than in isolation.

Google Ads
Meta Ads
TikTok Ads
LinkedIn Ads
Amazon Ads
Google Analytics
Salesforce
Google Ads
Meta Ads
TikTok Ads
LinkedIn Ads
Amazon Ads
Google Analytics
Salesforce
Shopify
BigCommerce
HubSpot
Figma
Framer
Canva
PsPhotoshop
Shopify
BigCommerce
HubSpot
Figma
Framer
Canva
PsPhotoshop

Every KPI. Every channel. One person who has run it before.

Our services

Four service lines that work alone or together — the storefront people land on, the campaigns that bring them, the content that earns attention, and the awareness that reaches past the click.

Four steps, no mystery

What working together actually looks like, from the first call to ongoing optimization.

01

The audit

Fifteen minutes on your store and current marketing. You get an honest read on what's working and what's costing you sales.

02

The plan

A clear scope: which KPI we're moving, which channels we're using, what gets built first, and what it costs.

03

The build

Store, creative and campaigns go live with tracking in place from day one — so performance is measurable, not guessed.

04

The iteration

Ongoing optimization against the number that matters, with reporting you can actually read.

Different businesses. Different scoreboards.

A law firm chasing enquiries and a CPG brand chasing shelf pull-through don't win on the same number. Knowing which metric actually matters is half the job — and it's the half most campaigns get wrong.

Service Businesses

Realtors, mortgage and insurance brokers, clinics and law firms — where the whole game is a steady flow of qualified enquiries.

KPI — Leads, cost per lead, booked calls

E-commerce & D2C

Brands selling direct online, or ready to move off marketplaces and own the customer relationship.

KPI — Traffic, conversion, ROAS

Apps

App businesses where the number that counts is installs, and then whether those installs stick.

KPI — Downloads, activation, retention

CPG

Consumer packaged goods brands who need reach and repeat purchase, not just a one-off click.

KPI — Impressions, reach, repeat

Retail

Shops and product businesses selling offline who need a real online presence feeding foot traffic.

KPI — Awareness, offline sales

Amazon Sellers

Sellers doing volume on the marketplace but with no website or brand presence of their own.

KPI — Marketplace + D2C mix

Traffic looks fine. Sales don't.

People are landing on your store and leaving. Ad spend goes out, orders don't come back in proportion. Somewhere between the click and the checkout something's broken — and the reporting isn't telling you where.

Get Your Free Audit

Worked inside Google. Now works for you.

Years spent on Google's digital marketing team, working directly with advertisers across every major category — which means the KPI conversation isn't theoretical.

Apps

Download growth

Worked with app companies where the whole goal was install volume — what actually drives downloads, not just impressions.

E-commerce & CPG

Traffic & impressions

Worked with e-commerce brands on traffic and awareness, and CPG companies where impressions were the metric that mattered.

Retail

Offline awareness

Worked with retail companies whose goal wasn't a click at all — it was awareness that showed up in foot traffic and shelf sales.

Selected work

Product businesses and service businesses. Tap any project to read the full case study.

E-commerce / CPG

Nestorana

Amazon storefront rebuild plus Meta campaigns for a pet supplies brand — built around product margin and repeat purchase, not vanity reach.

+30%Sales
Amazon + MetaChannels
Margin-ledFocus
Read case study
E-commerce / CPG

Nestorana

Pet supplies brand selling on Amazon with an underperforming listing and no coordinated paid support.

+30%Sales
Amazon + MetaChannels
Margin-ledFocus

The challenge

The product was good and the reviews were fine, but the Amazon listing was doing none of the selling — weak imagery, copy that listed features instead of answering objections, and no paid activity pushing qualified traffic toward it. Spend that did happen was measured on reach rather than on what each order was actually worth.

What we did

  • Rebuilt the Amazon product page — imagery, structured copy, and content laid out to answer buying objections in order.
  • Set up Meta campaigns targeted to the audiences most likely to reorder, rather than the cheapest available reach.
  • Rebuilt measurement around contribution margin per order so budget decisions were made on profit, not on impressions.

Results

  • Sales up 30% following the storefront rebuild and campaign launch.
  • Paid spend reallocated toward the products that actually carried margin.
  • A reporting view the owner could read without needing it explained.
Real Estate / Lead Gen

GTA Realtors

Custom agent websites plus Google and Meta campaigns for individual realtors at brokerages including RE/MAX and Century 21.

+60%More leads
CustomAgent sites
GTACoverage
Read case study
Real Estate / Lead Gen

GTA Realtors

Individual real estate agents across the Greater Toronto Area competing for buyer and seller leads in one of the most expensive ad markets in the country.

+60%More leads
CustomAgent sites
GTACoverage

The challenge

Most agents are handed the same brokerage template page as everyone else in their office — identical layout, identical copy, no way to stand out and no real lead capture. On top of that, real estate is close to the most competitive keyword set in Canadian search. Agents bid against their own colleagues, against portals and against national brands on the same handful of terms, so a generic campaign burns a monthly budget in days and returns enquiries from people who are years away from moving.

What we did

  • Built a customised website for each agent — their own positioning, neighbourhoods and listings, rather than a brokerage template with a name swapped in.
  • Ran performance campaigns on Google and Meta scoped to specific neighbourhoods and price bands instead of city-wide terms.
  • Wrote ad copy and landing pages matched to intent, with separate treatment for buyer, seller and home valuation searches.
  • Wired lead capture and tracking into the CRM so enquiries were followed up rather than sitting in an inbox.
  • Ongoing negative keyword work to strip out job seekers, students and research traffic.

Results

  • 60% more leads through performance marketing compared with their previous setup.
  • A custom site per agent that actually converts the traffic the campaigns bring.
  • Campaigns measured on cost per qualified lead rather than clicks or impressions.
Legal / Lead Gen

Dominion Pardons & Waivers

A Facebook campaign for a service where every enquiry is sensitive and timing is everything.

↑ LeadsResult
FacebookChannel
LegalVertical
Read case study
Legal / Lead Gen

Dominion Pardons & Waivers

Record suspension and US waiver services, where prospective clients are researching quietly and are slow to make contact.

↑ LeadsResult
FacebookChannel
LegalVertical

The challenge

People searching for pardon and waiver services are dealing with something private and often stressful. They research for weeks before contacting anyone, and they are highly sensitive to anything that reads as a hard sell. Standard aggressive lead-generation tactics actively work against you here, and search alone was not reaching people early enough in that process.

What we did

  • Built and ran a Facebook campaign to reach people before they had started searching, where the cost of reaching the right audience is far lower than in search.
  • Wrote creative and copy that led with eligibility and process rather than urgency, so it earned trust instead of pressure.
  • Set up lead capture and enquiry handling so time-sensitive cases surfaced first.

Results

  • A meaningful increase in enquiry volume off the back of the Facebook campaign.
  • A steady flow of leads from paid social rather than referral alone.
  • Creative and audience learnings that carried into later campaigns.
App / SaaS

Aisle Sage

Built the website and AI chat planning experience — a full web app for an AI wedding planning product.

Web appBuild
AI chatPlanning
ConsumerAudience
Read case study
App / SaaS

Aisle Sage

An AI wedding planning product that needed to be built, not just marketed — a real web app rather than a brochure site.

Web appBuild
AI chatPlanning
ConsumerAudience

The challenge

Wedding planning is a long, fragmented process spread across spreadsheets, group chats and a dozen vendor tabs. The product idea was to collapse that into a single conversational experience — which meant the site could not be a static marketing page. It had to actually do the work, and it had to feel simple enough for couples with no interest in AI as a category.

What we did

  • Designed and built the website as a functioning web app rather than a landing page.
  • Built an AI chat planning experience into the product, so couples get guidance conversationally instead of filling in forms.
  • Handled the integration work connecting the chat experience to the planning tools behind it.
  • Set up acquisition tracking from day one so early signal was measurable.

Results

  • A live web app with AI-assisted planning, not a marketing site with a waitlist form.
  • A conversational entry point that explains the product by letting people use it.
  • Positioning and messaging built for couples rather than a technical audience.

One call. An honest read.

Fifteen minutes on your site, store or current marketing — what's working, what's costing you leads or sales, and what I'd fix first. If we're not a fit, you still leave with the list.

Book the Audit Email Instead