How we build things
The models are mostly not the problem any more. The problem is what sits between a model on GitHub and a field office with one laptop, a connection that comes and goes, and nobody whose job is machine learning. That is where we spend our time, and it decides how we work.
What we start from
You do not need tens of thousands of labelled examples. That assumption is what stops most organisations before they start.
We begin from models that already learned the general problem, what a bird call looks like, what an animal looks like, from millions of examples somebody else paid to collect. Your data teaches the last part: your species, your equipment, your background noise. A few hundred examples instead of tens of thousands.
That is why a small amount of your own data is enough to get a model that works.
Our adaptation harness is what makes that straightforward, and you run it again every time more data comes in rather than starting over.
Looking at acoustics as an example, what is missing is the part that lets a team in the Western Cape point a model like Perch 2.0 at its own recordings, on a machine it already owns, and believe what comes out.
Where nothing exists yet, we build it
Some problems sit outside what the research labs are interested in, so nobody has built the tool. Those we build ourselves, in the open, under the same licence as everything else.
Cleaned and queryable
Most conservation data is readable by one person, in one program, on one laptop. That works until that person leaves.
We can clean it up and put it somewhere it can actually be queried. The formats the field has already agreed on, with the meaning of every field written down, so your own people can use it without asking anyone and it can go to a partner or a national dataset without being translated first.
Then a query layer over the top, the kind any AI assistant can connect to. Someone can ask which cameras have stopped reporting, or whether a species has turned up in the north this season, in plain language, and get the answer out of your own records rather than from a model's guess.
It is the same principle as the code. The layer is open, it runs on your side, and the data underneath stays yours.
The problems we work on
- Finding animals in images. Detection and classification across a full season of camera trap data rather than a tidy sample of it.
- Telling individuals apart. The same leopard across four cameras and two years, which is what turns a pile of detections into a population estimate.
- Acoustic monitoring. Tuned to your species list and your background noise, not to a global benchmark.
- Protected-area security. People and vehicles where they should not be, including recognising that the same person has been there before.
- Data engineering. The spreadsheets, the drives, the database somebody left behind, turned into one queryable thing.
- Field deployment. Running on intermittent power, poor connectivity, and hardware bought four years ago, without anyone on site debugging a Python environment.