selected work ↓

Proof, not promises.

Seven real problems we’ve solved, written up plainly: the problem, what we did, and the result it aims for. Client details are anonymised, and the figures are illustrative, the sort of result this work aims for, not audited client numbers.

customer support

A support assistant that never sleeps

the problem

A 40-person support team was drowning. Most tickets were variations of a few dozen known issues, but every one still went through a human who had to dig through scattered docs to answer. Response times slipped, and senior staff were stuck doing repetitive triage instead of the genuinely hard cases.

what we built

An assistant that reads each incoming message, finds the relevant info and past answers, drafts a reply in the company’s voice, and only passes the genuinely unclear ones to a person, with the draft already written so they start at 80%, not zero.

the approach

  • it can only see the help docs and past messages, nothing it shouldn’t
  • when it isn’t sure, it hands off to a person instead of guessing
  • every reply is logged, so the team can check any answer
search your files

Instant answers from 12,000 of your own documents

the problem

Twelve thousand internal documents (policies, guides, write-ups) spread across a system whose search returned junk. Staff guessed, asked in chat, or gave up, and the same questions got re-answered every week because nobody trusted the results enough to act on them.

what we built

A search tuned to their actual documents, so the right passage comes up first, and every answer links straight to the source paragraph. People stopped guessing and started pointing to the real thing.

the approach

  • tuned to the way their documents are actually written
  • shows the best match first, not just keyword hits
  • every answer shows its source, so trust is verifiable
private & on-site

Capable AI that keeps your data in the building

the problem

A client in a regulated industry wanted the productivity of modern AI but legally could not send their data to an outside service. Hosted options were off the table, and a cloud-equivalent setup looked frighteningly expensive. They needed it on their own equipment, without a runaway bill.

what we built

A capable AI model running on their existing computers, behind a simple internal connection. No data left the building, speed was predictable, and the usage meter that had been keeping their finance team awake simply went away.

the approach

  • sized to run well on the hardware they already owned
  • everything stays in-house: no outside calls, full record of activity
  • it slotted into their existing apps without a rewrite
quality control

Catch quality problems before your customers do

the problem

A team putting out AI-generated content kept getting burned by quiet quality drops: a small change that looked fine in a quick check but quietly wrecked a whole category of output. They found out from customers, days later, the worst possible way.

what we built

An automatic quality check that runs a set of known-good examples on every change and blocks it if quality slips. Now a change that quietly breaks something is caught before it goes live, not after a customer notices.

the approach

  • a checklist of real examples, built with the team
  • mixes exact checks with judgement-based scoring
  • a bad change is stopped automatically, with a note on what slipped
marketing

Pick the marketing that actually performs

the problem

A growth team was producing campaign copy at volume but had no real way to compare versions. Decisions came down to whoever argued loudest in the meeting. “Better” was a gut feel, and gut feel doesn’t scale across hundreds of variations a week.

what we built

A scoring system that rates every piece against their brand voice, accuracy, and call to action, then ranks the versions on a simple leaderboard. The loudest opinion in the room got replaced by a number everyone could see.

the approach

  • scoring rules written with the brand team, so the numbers mean something
  • a leaderboard so versions are compared, not debated
  • spot-checks so people audit the scorer, not every piece
works with your tools

Make AI work with the tools you already use

the problem

A company had a dozen tools they use every day (tickets, scheduling, dashboards, a CRM) and wanted their assistant to actually use them too. The existing setup was a mess of one-off scripts that broke every time a tool changed.

what we built

A clean, standard way to connect each tool to the assistant, so it works through a stable connection instead of fragile hacks. Adding a new tool became a simple, repeatable step, not another custom project.

the approach

  • one tidy connector per tool, with a clear, predictable interface
  • permissions handled in one place, not scattered around
  • a template so their team can add new tools without calling us back
lower your costs

Cut a runaway software bill, same quality

the problem

A product feature relied on a paid AI service for a simple, high-volume task. The capability was right, but the monthly bill grew with usage in a way that quietly threatened whether the feature even made money.

what we built

We checked the workload, confirmed a smaller in-house model could do this specific job just as well, and moved the high-volume work onto it, keeping the paid service only for the rare hard cases worth paying for.

the approach

  • measured first: proved the cheaper option held the quality bar
  • easy work runs in-house, hard work goes to the paid service
  • no change customers could notice, checked against real examples

Want a number like these on your side?

Tell us what’s broken, what’s slow, or what you wish existed. We’ll tell you honestly whether technology can fix it and what it would take. No jargon, no obligation.