Scout started in late 2023 when we picked up to see if we can solve some interesting technical challenges. Little did we know about what we were upto.

We Started With Music

Music

Generative music was still pretty rough when we started experimenting with it. There weren't many tools that could reliably produce a full track where the instrumentation, vocals, transitions and mix actually sounded like they belonged together, so we ended up building our own process around those gaps.

We treated generation as a starting point rather than a finished artifact and generated tracks in stages. There was a fair amount of post-processing on top of the raw model output: cleaning up artifacts, normalising loudness, working through a mix and mastering chain, and regenerating sections whenever the model lost musical coherence.

From there we deployed several AI artists across Spotify and other streaming platforms. This was partly a product experiment and partly market research, since instead of asking people whether they'd listen to AI generated music, we just put it next to normal music and watched what happened. Funny enough we ended up crossing around 2 million streams, and most listeners had no idea the artist was synthetic.

Synthetic Artists on Spotify

The generation technology kept moving fast though.

What had required us to build custom pipelines around immature models was quickly turning into a single button in someone else's product.

Then Voice

Our next real technical rabbit hole was voice agents for local businesses. At the time, getting a voice demo working was easy. Getting one to answer real phone calls for months without becoming annoying was a lot harder.

The critical path looked roughly like this: audio to VAD, to streaming STT, to inference and tools, to streaming TTS, back to audio. Every boundary in that chain added latency and another place where the conversation could fail.

We spent a disproportionate amount of time shaving latency out of that loop: streaming partial transcripts, starting inference before an utterance had fully settled, keeping prompts small, preloading business context, controlling tool calls carefully, caching what we could, and streaming speech out as soon as enough of the response was known.

Then there were the less glamorous problems, things like interruptions, background noise, accents, hallucinated opening hours, callers changing intent halfway through a sentence, telephony failures, and conversations that stayed alive long enough for application state to drift out of sync.

A ~700 ms improvement mattered more to us than another clever prompt.

We eventually got the system running consistently across multiple local businesses and kept real workloads alive for months. But while we were doing this, the infrastructure layer underneath us was turning into a commodity. Companies like ElevenLabs and Vapi were improving extremely quickly, and things we'd spent weeks engineering were becoming APIs, often better ones, at a fraction of our cost.We didn't see enough defensibility in rebuilding that stack ourselves, so we moved again.

Eventually, Scout Became About Video

AR generation

Working this closely with generative systems made another problem obvious over time. Generation was getting cheap fast, but figuring out whether generated media could be trusted was not. That ended up being the direction Scout finally settled into.

We started working on video anomaly and deepfake detection, particularly under edge constraints. The hard part wasn't training a classifier that scored well on a dataset, it was getting it to behave usefully after the video had been resized, compressed, re-encoded, streamed, and captured from completely different camera pipelines.

A detector can very easily learn the artifacts of its own dataset instead of the artifacts of actual manipulation.

So we experimented with signals across both spatial and temporal representations, and tested models against different compression levels and generation pipelines rather than trusting a single held out split.

For our AR use cases we also had a hard inference budget, which meant model size, frame sampling, quantisation and detection frequency became part of the model design itself rather than something we figured out later at deployment.

Our AR pilots eventually reached roughly 95% edge accuracy.

Age verification grew out of similar work. We wanted to answer a fairly narrow question, whether someone had crossed an age threshold, without turning that into full identity verification or centralising raw facial data. That pushed us toward on-device inference and federated learning. The interesting problems there turned out to be non-IID client data, cohort level error rates, and being precise about what information was actually allowed to leave a device. We adjusted both the training and evaluation setup around those constraints and reduced measured demographic bias by roughly 27%.

By this point Scout finally had a real shape: privacy-first computer vision for deciding whether something could be trusted, without collecting more information than the decision actually required.

Scout was acquired in September 2024.

Looking Back

Most of the code from the first few versions doesn't matter anymore.

What mattered was the progression. Music taught us how fast a generative advantage can disappear. Voice taught us that production AI is mostly systems engineering wrapped around an unreliable model. Video pushed us into adversarial ML, edge inference, and privacy-preserving learning.

We didn't sit down in 2023 and plan any of this out in advance. We just kept building, measuring, throwing things away, and following whichever problem felt technically interesting, until one of them turned into Scout.