Skip to content

Work

Challenges solved.

A selection of the problems we have been asked to solve since 2014, and how each one was built and grown. Client names are withheld by agreement; the approach, the decisions and the results are shared in full.

Client names withheld Outcomes, not adjectives Reply within one business day

Attribution · this quarter

GA4 · server-side
Direct
Paid
Social
Organic
Email

312

Booked calls

3.1x

ROAS

−31%

CPL

Our work, in short

OlDevs case studies show how the studio has delivered web apps, mobile apps, full-stack systems, AI products and performance marketing programmes for corporations, associations and government, franchises, entrepreneurs and startups.Each study describes the problem, the approach, the technology and the measured outcome. Clients are anonymised by agreement, and references can be arranged during the quoting process.

Key facts

01Projects delivered
25K+
02Years in practice
12+
03Awards won
110+
04Client types
Corporations, associations and government, franchises, startups
05Ownership
100% client-owned code, designs and IP
06Accessibility
WCAG 2.2 AA

Challenges solved

Real problems, shipped solutions.

Client names are withheld; the problems and the outcomes are the point. Filter by the kind of work.

01Development

A regional franchise group

Industry
Quick-service retail
Services
Web Development · Android & iOS Apps · Performance Marketing
Duration
10 weeks
“For the first time one team owned the app, the site, and the pipeline. We stopped refereeing vendors and started shipping.”
— COO, regional franchise group

Challenge

Twelve franchisee microsites, two unmaintained apps, inconsistent branding, and no shared lead pipeline.

Solution

One multi-location web platform, a rebuilt iOS and Android app on a shared API, and centralised performance marketing — launched in ten weeks.

+42%

Qualified leads

−31%

Cost per acquisition

14→1

Properties consolidated

02Development

A provincial professional association with roughly 9,000 licensed members

Industry
Professional regulation & membership
Services
Web app development · Web development
Duration
16 weeks
“Our January used to be triage. This year the phones were quiet, and for the first time the French experience is not a translation bolted on afterwards.”
— Registrar, provincial professional association

Challenge

Annual licence renewals ran through a decade-old portal that timed out under load every January, forcing staff to process hundreds of renewals by phone and email. Members could not update their own records, the public register was a nightly PDF export, and none of it met the association's accessibility obligations or its commitment to serve members in French.

Solution

We rebuilt the member portal as a web application with self-serve renewals, continuing-education logging, and a live public register searchable by name, licence number and status. The public website was rebuilt alongside it on the same design system, with every template written for WCAG 2.2 AA and content managed in English and French from a single screen. Payments run through the association's existing merchant account, and staff review renewals from a queue instead of an inbox. We demoed working screens every Friday from week two, so the registrar's team shaped the workflow while it was being built.

94%

Renewals completed self-serve in the first cycle

3 days → 20 min

Median time to publish a register change

Read the case study

03Development

A regional quick-service restaurant franchise group with 40+ locations in Western Canada

Industry
Food service & franchising
Services
iOS app development · Android app development · Full-stack development
Duration
22 weeks
“The pilot store's manager asked when the other locations were getting it, which told us more than any dashboard could.”
— Director of Operations, regional franchise group

Challenge

Franchisees were paying third-party delivery commissions on orders that started as walk-ins, and the loyalty programme lived on paper stamp cards that could not be tracked or audited. The group had no single view of what was selling where, and menu changes had to be keyed into each location's till by hand.

Solution

We built native iOS and Android apps for ordering, pickup and loyalty, backed by a full-stack platform that holds the menu, pricing and promotions once and pushes them to every location. Orders route straight into each store's kitchen display through the point-of-sale vendor's API, and loyalty points accrue on any order, in-app or at the counter. A franchisee dashboard shows sales, redemptions and prep times by store and by hour. Working builds went to a pilot store from week six, and the rollout ran region by region so store managers could train on a real app rather than a slide deck.

31%

Of pickup orders now placed in-app

4.7/5

Average rating across both app stores

1 screen

To publish a menu change to every location, down from 40+ tills

Read the case study

04AI

A national commercial insurance brokerage with around 450 staff across six offices

Industry
Insurance & financial services
Services
AI development · Generative AI & LLMs · Full-stack development
Duration
14 weeks
“We were nervous about an AI giving confident wrong answers. What we got is a tool that says it cannot find something when it should, and shows its work when it can.”
— Chief Compliance Officer, national insurance brokerage

Challenge

Brokers answered policy-wording questions by searching a shared drive of 30,000 PDF wordings, endorsements and carrier bulletins, or by asking whichever senior colleague happened to be free. New hires took months to become confident, and the compliance team had no way to know which document version a broker had relied on when advising a client.

Solution

We built an internal assistant on a large language model that answers questions only from the brokerage's own document library and shows the exact passage and version it drew from. The retrieval layer indexes wordings, endorsements and bulletins as they land, keeps carrier-specific permissions intact, and declines to answer when it cannot find support in the source material. It runs inside the brokerage's own cloud tenancy, so no client or carrier data leaves their environment, and an audit log records every question, answer and citation. The full-stack build covers the ingestion pipeline, the broker-facing web app and the compliance review screens.

78%

Of wording questions resolved without escalating to a senior broker

11 min → 40 s

Median time to a cited answer

100%

Of answers traceable to a document version

Read the case study

05AI

A two-founder agritech startup in the Fraser Valley

Industry
Agriculture technology
Services
AI development · Computer vision · Web app development
Duration
12 weeks
“Investors did not ask to see a deck. They asked to see the greenhouse.”
— Co-founder & CEO, agritech startup

Challenge

The founders had a hypothesis that early signs of plant stress in greenhouse crops could be spotted from ordinary cameras days before growers noticed them, and a pilot grower willing to try. What they did not have was a working model, a way to show growers the results, or anything a seed investor could put their hands on.

Solution

We started with the data: a labelling workflow the pilot grower's staff could use on a tablet during their normal walk-throughs, which produced a training set in three weeks. On top of it we trained a computer-vision model to flag stress indicators from fixed camera feeds and shipped it with a web app that shows growers a heat map by bay and a daily digest of what changed. Weekly demos ran in the greenhouse, not a boardroom. The founders own the model weights, training pipeline and code outright, and used the working pilot to close their seed round.

5 days

Average lead time on stress detection versus manual scouting

0.91

Precision on held-out pilot data

3 weeks

From first camera install to first flagged bay

Read the case study

06Marketing

A privately held dental group with 14 clinics across British Columbia and Alberta

Industry
Healthcare
Services
Performance marketing · Paid search & shopping · SEO & content · Analytics & CRO
Duration
9 months (ongoing)
“For the first time I can tell the partners what a new patient costs in Kelowna versus Calgary, and the number is real because it comes from the booking system.”
— Chief Operating Officer, multi-location dental group

Challenge

Each clinic ran its own ads through whichever agency the practice manager had inherited, so the group was bidding against itself on the same keywords in the same cities. Booking forms were tracked as page views, not bookings, which meant nobody could say what a new patient actually cost. Organic traffic went almost entirely to the homepage, then left.

Solution

We consolidated everything into one ad account with location-level campaigns and a shared negative-keyword list, so clinics stopped competing for the same clicks. Analytics was rebuilt to record a booking only when the practice-management system confirmed one, giving the group a real cost per new patient by clinic and by service. We then wrote and structured service and location pages for the procedures patients actually search for, and ran a series of booking-form tests: fewer fields, insurance questions moved after the appointment request, and a phone-first option on mobile.

−38%

Cost per booked new patient

2.4×

Organic bookings from service and location pages

14

Clinics reporting on one dashboard

Read the case study

07Marketing

A founder-led direct-to-consumer outdoor apparel brand shipping across Canada

Industry
E-commerce & retail
Services
Performance marketing · Paid social · Email & lifecycle · Analytics & CRO
Duration
6 months
“I stopped waking up to check the ad account. The flows run, the numbers reconcile, and I can plan inventory against them.”
— Founder, direct-to-consumer apparel brand

Challenge

Paid social was the brand's only growth channel, and after a platform pricing change it stopped paying for itself. Email was a single monthly newsletter to the whole list, most creative was reshot product photography that looked like everyone else's, and the founder was making budget decisions from platform-reported figures that did not match the store's own order data.

Solution

We set up server-side conversion tracking and reconciled it against order data, so spend decisions rested on what actually shipped. Creative moved to a weekly testing cadence of short customer-shot video, founder explainers and comparison formats, with losers cut on a fixed schedule. Email and SMS were rebuilt into lifecycle flows, including welcome, browse and cart recovery, post-purchase care and a winback sequence, so revenue no longer depended on the day's ad auction. On-site, we tested the product page and checkout, which raised conversion enough to change the economics of every paid click.

3.1

Blended return on ad spend, up from 1.6

27%

Of monthly revenue now from email and SMS flows

+19%

Site-wide conversion rate after product-page and checkout tests

Read the case study

08AI

A provincial electric utility in Manitoba with roughly 1,200 field and office staff

Industry
Energy and utilities
Services
Generative AI & LLMs · Natural Language · AI Development
Duration
5 months
“Our crews stopped phoning the control centre for procedure questions, and when the copilot answers they can see exactly which bulletin it came from.”
— Manager of operational readiness, provincial electric utility

Challenge

Operating procedures, safety bulletins and collective agreement clauses lived across SharePoint, a document management system and two decades of PDFs, so answering a straightforward question often meant asking a colleague who had been there long enough to remember. Crews in the field gave up and phoned the control centre instead. Anything an assistant said had to be traceable to the document it came from, and staff could only ever see the documents their role already permitted.

Solution

OlDevs built a retrieval system over the utility's own document set, chunked and indexed in PostgreSQL with pgvector, with answers generated by a large language model inside the utility's own tenancy so no content left their boundary. Every response cites the source document, section and revision date, and links straight to it. Permissions are read from existing Microsoft Entra ID groups at query time, so the copilot retrieves only what the person asking is already cleared to open.

6 wk

To first department live

−63%

Time spent locating policy answers

+41%

Weekly active internal users

Read the case study

09AI

A city government in southern Ontario serving a population of about 180,000

Industry
Municipal government
Services
Natural Language · AI Automation & Agents
Duration
14 weeks
“Nothing goes out that one of our officers has not read, but they are approving replies now instead of writing them from scratch.”
— Director of customer service, mid sized municipality

Challenge

Residents wrote to eleven different departmental inboxes, and roughly a third of what arrived was in the wrong one. Staff spent their mornings reading messages only to forward them, bylaw complaints sat unread beside pothole reports, and nobody could say how long anything actually took. Council wanted faster responses without anything consequential being decided by software.

Solution

OlDevs built an intake layer that reads every incoming enquiry, classifies it by service area and urgency, extracts the address and the specific request, and drafts a reply in English or French. Routing is automatic, but the draft reply, any service request raised in the city's work order system and every escalation waits for a named officer to approve or edit it first. Each decision the classifier makes is logged with its confidence, so the city can see where it is wrong and retrain against real cases.

11→1

Intake inboxes consolidated

−47%

First response time

3.2x

Enquiries closed without rerouting

Read the case study

10AI

A third party logistics firm in Ohio that settles carrier invoices on behalf of about 300 shippers

Industry
Logistics and transportation
Services
AI Automation & Agents · AI Development
Duration
ongoing since 2025
“Our billing team now looks at the exceptions instead of every invoice, and when an auditor asks how one was approved we can show them the whole trail.”
— Controller, third party logistics provider

Challenge

Settling a single carrier invoice meant opening the invoice PDF, finding the matching load in the transport management system, checking the rate confirmation, chasing a missing bill of lading and then keying the result into accounting. Three people did this several hundred times a week and the backlog grew every quarter. Auditors also needed to see why any given invoice was approved, which nobody could reconstruct from email.

Solution

OlDevs built an agent that runs the whole sequence: it reads the invoice, pulls the load and rate confirmation through the TMS API, compares accessorial charges line by line, requests missing paperwork from the carrier, and posts the approved entry to accounting. Anything outside tolerance stops and goes to a human queue with the discrepancy shown. Every step, tool call and document version is written to an append only log in PostgreSQL, so an auditor can replay exactly how a given invoice reached its outcome.

4

Systems joined end to end

−72%

Manual handling per invoice

+29%

Invoices cleared same day

Read the case study

11Marketing

A structural engineering consultancy of roughly sixty staff serving municipalities across Ontario

Industry
Professional services, engineering
Services
SEO & content · Performance marketing
Duration
ongoing since 2024
“We now get calls from municipalities where nobody has ever heard our name from a colleague.”
— Managing principal, regional engineering consultancy

Challenge

Almost every project arrived through a referral or a past client, so the pipeline moved with the phone rather than with a plan. When municipal procurement staff searched for the firm's specialisms, competitors came up instead, and the firm was absent from the answers people increasingly get from AI assistants. Two quiet quarters made that dependence uncomfortable.

Solution

We rebuilt the site's content around the questions municipal engineers actually ask, one page per problem, with the direct answer in the opening paragraph and the technical detail underneath. Every page carries Service and FAQPage schema, an llms.txt file points to the canonical sources, and the library is tracked in Google Search Console alongside prompt level monitoring in ChatGPT, Perplexity and Google AI Overviews. The firm's own engineers write the first drafts and we edit, so the expertise stays theirs.

3.4x

Non branded organic sessions

+52%

Enquiries from search

24

Question pages published

Read the case study

12Marketing

An outdoor equipment retailer with four stores in Alberta and about seven thousand products online

Industry
Retail and e-commerce
Services
Paid search & shopping · Performance marketing
Duration
14 weeks
“We know which products make us money before we bid on them, which we never did before.”
— E-commerce director, multi store outdoor retailer

Challenge

Paid search was judged on revenue, so the account looked healthy while margin quietly drained into search terms that never converted. The product feed had been generated once and never revisited: titles were internal SKU codes, hundreds of items sat disapproved, and availability went stale during sale weeks. Nobody in the business could say which products were actually worth bidding on.

Solution

We rebuilt the Merchant Center feed with a supplemental feed for titles, GTINs and product types, cleared the disapprovals and wired availability to live stock instead of a nightly export. Campaigns were then restructured by margin band, with Performance Max fed by product sets that share a profitability target rather than one blended goal. Reporting moved into Looker Studio so the weekly number the team reads is contribution, not revenue.

6,900

Products in a clean, approved feed

+31%

Contribution margin

−44%

Spend on non converting terms

Read the case study

13Marketing

A direct to consumer skincare brand based in Portland, Oregon, shipping across Canada and the United States

Industry
Consumer goods, beauty
Services
Paid social · Creative & media · Performance marketing
Duration
5 months
“We can put a new idea in front of customers the same week somebody has it.”
— Head of growth, direct to consumer skincare brand

Challenge

Paid social had settled into three ads that had been running for more than a year, and results decayed a little every month. New creative appeared only when the budget cycle allowed it, so there was never enough volume to learn what genuinely worked. The brand had a studio's worth of raw footage sitting unused and no method for turning it into tests.

Solution

We built a creative testing system the brand runs itself: a shot list mapped to five message angles, a naming convention that carries angle, hook and format straight into Meta Ads Manager, and a fixed weekly edit day that ships a set number of new concepts. Tests run in their own campaign with a clean structure, and winners graduate into evergreen ad sets rather than being rebuilt from scratch. A Looker Studio board reads results by angle, so the team learns which idea works instead of which file performed.

18

New concepts shipped per month

−37%

Cost per acquisition

2.4x

Return on ad spend

Read the case study

14Development

A commercial HVAC and refrigeration contractor working across southern Ontario with roughly sixty field technicians

Industry
Field service and mechanical trades
Services
Android app development · Web app development
Duration
5 months
“Our technicians stopped carrying paper, and the invoice goes out the same day the job closes instead of the following week.”
— Service manager, mechanical contracting firm

Challenge

Work orders went out on paper every morning and came back days later, often missing parts or signatures. Dispatch ran on phone calls, so nobody knew a job had gone long until the next customer rang to ask where the technician was. Half the sites were mechanical rooms and rural properties with no signal, which ruled out anything that needed a live connection.

Solution

OlDevs built an Android app in Kotlin and Jetpack Compose with a local Room database and WorkManager sync, so a technician can open a work order, capture photos, parts used and a customer signature, and have it upload whenever the phone finds a connection again. The back office is a web app on Node and PostgreSQL where dispatch schedules jobs, watches status change through the day and sends changes out to the field. Conflicts from two people editing the same job offline are resolved on the server rather than left to the technician.

+22%

First-time fix rate

−64%

Job close to invoice

60

Technicians on the app

Read the case study

15Development

A Pilates and rehabilitation studio group running nine locations in Washington State

Industry
Fitness and rehabilitation
Services
iOS app development · Web app development
Duration
4 months
“Members book their own classes and put their own memberships on hold now, so the front desk spends its time with the people actually in the room.”
— Studio operations manager, multi-location fitness and rehabilitation group

Challenge

Booking ran through a web portal that most members opened on their phones anyway, and it listed all nine locations even when someone only ever attended one. Class reminders went out by email and were routinely missed, so spots held by no-shows sat empty while other members waited. Every membership hold, change and cancellation came through the front desk by phone.

Solution

OlDevs built a native iOS app in Swift and SwiftUI that opens on the member's home studio schedule, books or joins a waitlist in two taps, and sends class reminders and waitlist offers as push notifications. Memberships, holds and saved payment methods sit in the same app. The existing web platform stayed in place and gained a new API layer, so the site and the app read and write the same booking and membership records.

−31%

Class no-shows

3.4x

Bookings made in the app

9

Locations live at launch

Read the case study

16Development

A regional transit agency serving a metropolitan area of about one million residents in western Canada

Industry
Public transit
Services
iOS app development · Android app development · Full-stack development
Duration
7 months
“Riders get the same trip and the same fare on either phone now, and we make a change once instead of three times.”
— Digital services manager, regional transit agency

Challenge

The iOS and Android apps had been built by different vendors two years apart and had drifted badly: trip planning behaved one way on one platform and another way on the other, and fare purchases differed again. Each app talked directly to its own mix of back-end services, so a schedule or fare change meant several separate updates and one of them was always late. Riders reviewed the apps accordingly, and staff fielded the complaints.

Solution

OlDevs put a single API in front of the scheduling, fare and service alert systems, written in TypeScript on Node with a published contract both clients build against. iOS was rebuilt in Swift and SwiftUI and Android in Kotlin and Jetpack Compose from one shared specification, both meeting WCAG 2.2 AA for text scaling and screen reader use. A feature now ships to both platforms in the same release, and the agency's own developers own and maintain the whole stack.

3→1

Back-end APIs consolidated

99.5%

Crash-free sessions

−47%

App support tickets

Read the case study

17Development

A powersports dealer group running fourteen rooftops across Alberta and Saskatchewan

Industry
Retail and dealer networks
Services
Web development · Full-stack development · SEO & content
Duration
5 months
“We can put a promotion on every store page before lunch, and the hours on the site are finally the hours on the door.”
— Marketing manager, multi-location powersports dealer group

Challenge

Every rooftop had its own website, built by whoever was available at the time, and no two agreed on hours, stock or contact forms. Customers searching for a store in their own town landed on pages that had not been touched in years, and head office could not push a promotion everywhere without fourteen separate requests. Nobody could even say which site licences were still current.

Solution

OlDevs built one platform on Next.js and a headless CMS, with a location content model that generates each rooftop page from structured records: hours, staff, service bays, inventory feed and reviews. Head office publishes once and every location inherits it, while managers edit only the fields they own. Old URLs were mapped store by store so years of search history carried over instead of being thrown away.

14→1

Location sites consolidated

+38%

Local organic sessions

+26%

Booked service appointments

Read the case study

18Development

A municipality of roughly 60,000 residents in eastern Ontario serving the public in English and French

Industry
Public sector
Services
Web development · Full-stack development
Duration
7 months
“Residents finish a service request in either language without phoning us, and our editors stopped guessing what accessible means.”
— Communications lead, mid-sized Ontario municipality

Challenge

The site had grown past a thousand pages, many of them PDFs posted by individual departments with no French version and no real heading structure. Residents using a screen reader could not finish a service request, and staff answered the phone all day for information that technically existed online. An accessibility review had already put the gaps in writing.

Solution

OlDevs rebuilt the site on a typed content model in a headless CMS, where every service, fee, bylaw and notice is a record with paired English and French fields, so nothing can publish half translated. Templates were built to WCAG 2.2 AA and tested by keyboard and screen reader component by component, and the standing PDFs became real pages. Editors now follow a short checklist inside the CMS instead of an accessibility policy nobody read.

1,100→380

Pages after content consolidation

AA

WCAG 2.2 conformance verified

−41%

Calls to the service desk

Read the case study

19Development

An employee-owned mechanical contractor with about 200 field staff across the US Pacific Northwest

Industry
Construction and trades
Services
Web app development · Full-stack development
Duration
9 months
“Change orders get priced the same week they are raised, and I have stopped hearing about double booked equipment.”
— Operations director, employee-owned mechanical contractor

Challenge

Job costing, change orders, equipment scheduling and time approvals all lived in shared spreadsheets that three people knew how to repair. Two crews could be booked on the same excavator, and a change order could sit in an inbox for a week before anyone priced it. Growth had made the workarounds more expensive than the work itself.

Solution

OlDevs built a web application on Laravel and PostgreSQL with roles for field supervisors, project managers, controllers and owners, so approvals follow a defined route rather than a group chat. Crew and equipment scheduling share one calendar with conflict detection, and reporting reads the live records instead of an exported copy. Field staff use it in a phone browser, with nothing to install.

31

Spreadsheets retired

6 wk

First release in production use

−63%

Time to price a change order

Read the case study

20Marketing

A direct to consumer coffee roaster shipping subscriptions across Canada and the northern United States

Industry
Food and beverage retail
Services
Email & Lifecycle · Analytics & CRO
Duration
ongoing since 2025
“We stopped debating which newsletter to send this week, and most of our repeat orders now come from messages that go out without anyone touching them.”
— Retention lead, direct to consumer coffee roaster

Challenge

The roaster sent one newsletter a week to the entire list and nothing else, so a first time buyer and a three year subscriber got identical mail. Cancellations were handled ad hoc through the support inbox, and nobody could say which message had brought a lapsed customer back. Open rates had slid for over a year and a growing share of sends never reached the inbox at all.

Solution

We rebuilt the programme in Klaviyo as six flows: welcome, first order onboarding, replenishment timed to each customer's bag size and grind, winback, a cancellation save with a pause option, and post delivery review requests. On deliverability we authenticated the sending domain with SPF, DKIM and DMARC, moved sending to a dedicated subdomain, warmed it over three weeks and suppressed addresses with no engagement in twelve months. Revenue per flow is reported against a holdout group so the roaster can see what the automation is actually worth.

+38%

Repeat revenue from email

6

Lifecycle flows live

+21 pts

Inbox placement

Read the case study

21Marketing

A home services franchise network with forty-one locations across Ontario and Quebec

Industry
Home services franchising
Services
Analytics & CRO · Performance Marketing
Duration
4 months
“Head office and the franchisees argue about strategy now instead of arguing about whose lead number is correct.”
— Marketing director, home services franchise network

Challenge

Head office, the individual franchisees and the media agency each reported a different lead count for the same month, and every review meeting turned into a fight about whose spreadsheet was right. GA4 had been installed twice on several location sites, event names varied by whoever built the page, and the consent banner blocked tags without recording anything in their place. No one would commit budget to a channel they could not verify.

Solution

We consolidated measurement into one GA4 property with a documented event schema shared by every location, then moved tagging to a server-side Google Tag Manager container on the client's own subdomain so conversions survived browser restrictions and blockers. Consent Mode v2 was wired to the banner so reporting reflected what visitors had genuinely agreed to, with modelling clearly marked as modelling. Last click reporting was replaced by a Looker Studio view that ties phone calls, form fills and booked jobs back to source, and calls are matched to jobs through the booking system rather than guessed at.

41→1

Analytics properties consolidated

+27%

Conversions recorded after server-side move

9 wk

Audit to signed off reporting

Read the case study

22Marketing

A private career college running six campuses in Atlantic Canada

Industry
Post-secondary education
Services
Analytics & CRO · Web Development
Duration
10 weeks
“Admissions spends its day on people who are ready to enrol rather than chasing half finished forms.”
— Head of admissions, private career college

Challenge

Programme pages pulled steady search traffic and paid campaigns added thousands of visits a month, yet the application form finished last in every report the college ran. The form asked twenty-three questions before a prospective student could speak to a human, and the pages said almost nothing about funding, class sizes or what graduates went on to do. Admissions staff also felt the few enquiries arriving were poorly matched to the programmes on offer.

Solution

We started with research: session recordings, a first click study on the programme template and eleven interviews with recent applicants and two who had dropped out mid form. The application became a three step flow that asks for a name, a programme and a phone number first, with the qualifying questions moved to a follow up call, and the page template was rebuilt so accreditation, instructor bios, graduate outcomes and a plain answer on funding sit above the fold. Everything shipped as tested variants in a staged rollout so campuses could be compared honestly before the change went everywhere.

3.2x

Application starts

−41%

Form abandonment

11

Applicant interviews run

Read the case study

23AI

A propane and heating fuel distributor delivering to roughly 9,000 rural households and farms across New Brunswick and Nova Scotia

Industry
Energy distribution
Services
Predictive analytics · Custom ML solutions
Duration
4 months
“We stopped arguing about the weather on Monday morning, because the route plan is already on the screen when dispatch opens.”
— Operations manager, rural fuel distributor

Challenge

Delivery volume swung with the weather, but the weekly plan was a spreadsheet one person rebuilt every Monday from last year's numbers and a feel for how cold it was going to get. Trucks ran half empty in mild weeks and missed customers during cold snaps, and the emergency refills that followed consumed the margin on long rural routes. Nobody could say in advance which of the six depots was about to run short.

Solution

We built a demand model at the level of the individual customer tank, trained on three years of delivery history, tank telemetry and degree day records, using gradient boosted trees in Python. Forecasts run nightly and land in the dispatch board the planners already work from, each with a confidence band so they know when to hold capacity in reserve. Planner overrides are captured and fed back as a training signal rather than lost in a side file.

−31%

Forecast error

−24%

Emergency refill runs

6

Depots on one forecast

Read the case study

24AI

A tubular goods distributor running three storage yards in Texas for oilfield and construction customers

Industry
Industrial distribution
Services
Computer vision · AI development
Duration
5 months
“The count on the ticket now matches the count in the yard, so the arguments with haulers have stopped.”
— Yard operations lead, industrial pipe distributor

Challenge

Every inbound truck was counted by hand at the gate, then counted again in the yard, and the two numbers regularly disagreed. Disputes over short loads were settled from memory and blurry phone photos, while yard crews lost hours a day to recounts instead of moving stock. Peak season made the backlog worst at exactly the wrong moment.

Solution

We labelled about 40,000 pipe ends from the client's own gate footage in CVAT, with an active learning loop that returned only uncertain frames for review, then fine tuned a detection model for the lighting and stacking patterns at each yard. The model runs on NVIDIA Jetson units at the gate, exported to TensorRT so a count comes back in under a second with no dependence on yard Wi-Fi, and results queue locally and sync to the inventory system when the link returns.

−63%

Miscounted loads

−41%

Gate check time per truck

3

Yards running edge inference

Read the case study

25AI

A bookkeeping and payroll firm looking after about 1,800 small business clients in Ontario and Quebec

Industry
Professional services
Services
Custom ML solutions · AI development
Duration
9 weeks
“Our client managers start the day with twenty names instead of a feeling about who has gone quiet.”
— Managing partner, small business accounting firm

Challenge

Churn only became visible once a client stopped answering emails, which was usually a month after they had already decided to leave. Client managers had a shared spreadsheet of hunches and no way to rank 1,800 accounts by who needed a call this week. Two partners were effectively reviewing the book from memory.

Solution

We trained a churn model on billing history, support ticket patterns and client portal activity, with monthly features assembled in a small Postgres feature store and every client scored overnight. The score and the three factors driving it are written back into HubSpot as account properties, so a manager opening a record sees the risk band and the reason without leaving the CRM. A daily view surfaces the twenty accounts worth a call, and what happens on those calls is logged and used to retrain the model each quarter.

−27%

Annual client churn

2.4x

Retention call success

1,800

Clients scored nightly

Read the case study

26Marketing

BC Blueberry Council, the industry association for British Columbia's highbush blueberry growers

Industry
Agriculture industry association
Services
Performance marketing · PR & communications · Web development
Duration
Ongoing since 2024
“We went from having no clear record of what our marketing was doing to a single place where growers, government and our own team can see the whole picture, and the industry now knows who we are.”
— Executive director, BC Blueberry Council

Challenge

The council came to us with a website that no longer reflected the industry it represented. Domestic and international marketing were running without a shared plan, and the data behind both sat in scattered files and databases with no single reliable record of activity. Awareness was low enough that many growers did not know the council existed or what it did on their behalf. Public relations was thin, so the council had little presence with media, government and the wider industry.

Solution

We rebranded the council and rebuilt its digital presence from the ground up. We reorganised domestic and international marketing into one planned program and produced 430+ content pieces across 8 channels, with international campaigns aimed at priority export markets. We cleaned up and restructured the underlying data, then built a reporting system where the council and government bodies log in to see all activity related to growers and the current marketing status, so funding and program reporting is evidence-based rather than anecdotal. Alongside that we built a public relations program that keeps the council visible to growers, media, government and export markets.

20.9M+

Combined marketing impressions

9.1M+

Unique people reached on Meta

7.5M

Reached by international campaigns

Read the case study

12+

Years of shipped work

25K+

Projects delivered

110+

Awards won

FAQ

Questions about our work.

Many of our clients, particularly in government, associations and franchising, prefer not to be named publicly. We describe each organisation by sector and size, and can arrange direct references once a project is being scoped.

Yes, during the quoting process. Once we understand your project we will connect you with a client whose work is similar to yours, subject to their availability.

Results are drawn from client analytics, app store data and reporting agreed with each client. Where a figure is illustrative rather than measured, it is labelled as such.

Association and government portals, franchise systems, corporate web and mobile apps, and startup products. Many projects combine engineering with performance marketing, which is where the studio's two halves meet.

Yes. Several case studies began as rescues. We audit the codebase, stabilise what is live, then decide with you whether to refactor or rebuild.

Start with a strategy call. Describe what you need to build or grow and we will return a quote within one business day.

Still have a question? Ask us when you request a quote

Let’s connect

Have a challenge like these?

Tell us the problem. We’ll reply within one business day with how we’d approach it and a tailored quote.

We’ll only use your details to prepare your quote. No lists, no spam.

Call us Request a quote