Case study

Work that is still running

Five engagements across e-commerce, music PR, telehealth, SEO and an AI messaging product, built from the Philippines for clients in the UK, the US and Singapore. Each one is written the same way: the problem as the client met it, what we actually did, and what changed. Two clients are described rather than named, because that is the agreement we have with them.

01 A music PR firm in the UK AI automation, data, full-stack

The cost was the prompt, not the model

A contact-enrichment loop was re-sending the same five thousand token ruleset on every single call. Caching it cut input cost by about 55 percent and changed the output not at all.

~55% lowerInput cost
250,000Contacts in scope
NoneAccuracy change

The problem

Enriching a 250,000-contact database meant one model call per contact, and every one of those calls carried the same long instruction block. The block never changed. It was being paid for every time, as if it were new.

What we did

Prompt caching is a billing mechanism, not a quality trade-off. The stable ruleset moves into a cached prefix and only the per-contact payload stays variable, so the model reads the same instructions at a fraction of the price. The accuracy of the extraction is untouched, because the prompt is untouched.

The result

  • About 55 percent cut in input cost, with no measurable change in accuracy.
  • Per-contact cost logged, so a rollout across the full database could be forecast before it was authorised rather than discovered afterwards.
  • The same pattern now applies to every long-ruleset job in the studio.

The same engagement also produced the internal A&R and reporting dashboard the team runs on, a custom sequence engine with per-rep authenticated send and open tracking, and a rebuild of several reports after an upstream API deprecated the endpoints they depended on.

Claude API Prompt caching HubSpot API n8n Node

02 Boughtnex AI systems engineer

Three and a half million orders, and nobody presses refresh

Continuous order and inventory sync across three country markets, and the silent pipeline bug that was dropping four fifths of the warehouses without changing the row count.

3.43MOrders synced
15,946Active SKUs
1 of 5 to 5 of 5Warehouses recovered

The problem

A cross-border seller ran on marketplace data that arrived by hand. Worse, a daily inventory snapshot was landing one warehouse out of five for four days straight, and because the row count matched the old single-warehouse baseline, nothing looked wrong.

What we did

Signed requests, OAuth refresh and paginated sync against each marketplace, aggregated into a warehouse and surfaced as a live dashboard. The data-loss bug needed instrumentation before it needed a fix: a debug staging table made the invisible visible, and exposed three separate faults stacked at one node boundary.

The result

  • 3,431,798 orders and 15,946 active SKUs synced continuously across three markets.
  • Snapshot coverage restored from 426 rows for one warehouse to roughly 22,000 rows across all five.
  • Three root causes found and fixed in a single session, with the pattern written down so the next pipeline cannot repeat it.

Also shipped: a negative-margin watcher that opens a ticket and alerts the channel before a loss-making SKU is sold again.

Shopee API Lazada API HMAC/SHA256 OAuth2 BigQuery n8n

03 Sidecar Chatter Control plane and reliability

A human approval layer over an autonomous bot

An AI messaging product was sending on its own. We built the place a person can stand in the middle of that, and later fixed the five ways the product was stating facts without stating its confidence.

sidecarchatter.io

67Bots on human review
8 vs 95Under-reported by
Same dayShipped

The problem

Autonomous send is fine until the day it is not, and there was no seat for a human in the loop. Separately, a paying customer nearly left: their replies were being withheld by an internal safety check while the conversation view drew them exactly like delivered messages.

What we did

Every outbound draft routes by a per-account send mode. Review mode posts a card to Slack with approve, edit and reject; automatic mode sends on a cadence gate. The callback is signature-verified and a single dispatcher stays the only sender, so two paths can never both send. The reliability pass was one idea applied five times: show the uncertainty, never just the answer.

The result

  • 67 bots migrated to human review, with the full post-to-approve-to-send loop proven in production.
  • A support diagnostic that read only the newest 50 records and printed the tally as a total was reporting 8 withheld replies where the truth was 95.
  • Withheld messages now carry an explicit not-sent state, and every suppression records the scores it decided on.

The instrumentation shipped in the morning disproved a recommendation made that same afternoon. Both the wrong turn and the half-fix are in the build log, because a build journal that only records wins is not a record of anything.

Next.js Slack Block Kit HMAC verify MongoDB Atlas Vercel

Have one of these problems?

Thirty minutes is usually enough to tell whether a workflow is worth automating. If it is not, we will say so.