Stories

Every product is a test environment for the one beneath it

A habit tracker on the App Store, a link-in-bio product carrying anonymous global traffic, and a book catalogue on two platforms. None of them was built to test anything. That is exactly why they work as tests.

Crossdeck Grid Biotree PageSwipe Digital Hank

The problem with test environments

Every team that builds developer infrastructure hits the same wall: you can only test it against something. A staging application built to exercise your own SDK will exercise it the way you expect, because you wrote both halves. It will never catch the case you did not think of, because you did not think of it.

We had the applications already

We did not solve this deliberately. We had already built products for unrelated reasons, and when we started building Crossdeck underneath them, those products turned out to be the thing we had been missing. Not simulations of real conditions — the actual conditions, with actual people in them.

What each one is hard at

Grid is an iOS habit tracker with a free tier and in-app purchases, which means anonymous identity, entitlement state and App Store purchase verification all have to be right at once, on a device we do not control. Biotree is the opposite problem: enormous volumes of anonymous public traffic arriving from links pasted all over the web, where a visitor may never sign in at all and identity has to survive that. PageSwipe spans iOS and the web with the same library in both, so identity has to reconcile across surfaces rather than within one. Digital Hank gates paid access on both.

The uncomfortable part

Instrumenting your own products is only useful if you are willing to be told bad news by them. The value of Grid as a test bed is precisely that we cannot quietly adjust its users to make the measurement tidier. When entitlement verification is wrong there, someone has paid for something they cannot use, and we find out the way anyone else would.

This is also why the products stay independent

It would be simpler, commercially, to fold these into one suite and sell them together. We do not, and the test-bed argument is part of the reason. A product built to demonstrate the layer beneath it stops being a real environment the moment its roadmap is set by that layer. Grid’s roadmap is set by people trying to build habits. That is what keeps it honest.

What it does not prove

Dogfooding is evidence, not proof. Five products operated by one small team is a narrow sample: all of them are ours, all of them are new, and none of them is running at the scale of a large customer. It catches the failures that come from real conditions. It does not catch the failures that come from other people’s conditions, and we try not to confuse the two. The relationships are published in full, capability by capability, so anyone can see exactly how narrow the sample is.

Every product named here is built and operated by Cross Constellation.


What the portfolio is for

A staging environment tells you your code runs. A product with real users tells you whether you were right.

Read next

The second product is found by operating the first
A forecast engine built to put wind on a cycling route turned out to be most of what runners needed, pointed at a different problem. Not a pivot and not a feature — a sister product, on one engine, for an enemy that is not wind.

A thousand kilometres, counted for you
Most December challenges hand you a weekly leaderboard and leave the sum to you. The Windline 1000 counts every ride from 16 December, puts your running total on Strava, and sends a finisher card on 1 January.

Wind against the road, not the town
Every tour group chat asks the same question the night before, and the honest answer to “thirty from the west” is “at the start, or at Sutherland?” A forecast for a place cannot answer it. So we built one for a road.

When the register is the product: building a standards body that can be checked
The Private Lending Association of South Africa publishes records that tell a stranger who is real. That makes every entry a liability, every badge a claim that travels, and the door the most important thing on the site. Here is the system, and why it runs Crossdeck for analytics and Crossdeck Trust.

Building an AI assistant that cannot lie about its work
Digital Hank reported a client meeting as arranged and produced a joining link. There was no meeting, no email, and the link led nowhere. Nothing had broken — the model had done what models do. So we stopped asking it not to, and rebuilt so it cannot.

We cut a client’s application rejections by 90% — by letting the documents fill in the form
ProLend was not losing applications because the applicants were wrong. It was losing them because a human retyped what was already printed on a document, and got a digit wrong. So we stopped asking people to retype documents, and had the documents populate the profile instead.

Why we built Crossdeck — and why every product we build helps test it
We thought the App Store Connect wait was the problem. The real problem was fragmentation — the same person scattered across a dozen disconnected tools. So we put one SDK and one customer timeline underneath everything we operate.

The Firebase bill that taught us to see
A runaway Firestore read bill sent us chasing ClickHouse. The real fix was not a new database — it was being able to see where every read came from. What we learned, and why we open-sourced Buckets.

The email address you’re keying on is not the person
Why email is a fragile anchor for user identity, how keying on the wrong id forks one person into many records, and how an identity graph converges every key onto one canonical customer.

We got our connector rejected. It was the best product spec we received all year.
A marketplace review rejected our connector with roughly a dozen findings. Instead of a failure, it read like a spec — the exact definition of a production-grade third-party integration we would never have written ourselves.

The black box blinks: seeing App Review happen in your own data
App Review is a black box. Identity-joined session data reveals when a reviewer starts testing your build, where they connect from, and the exact path they walk — plus the line we will not cross.

Why Biotree needed Crossdeck Trust — and how we stopped the SEO spam farms
Public, indexed link-in-bio pages are a magnet for spam farms and bot signups. The attack Biotree faced, why the obvious defences backfire, and the signup firewall that stopped it without punishing real users.

Why we are building Crossdeck Sales
Cold outbound is miserable because the seller is blind. We were not — we already saw who landed, what they read, and why. So we are building the tool that turns that journey into outreach that lands.