We build software for people who work — and the tooling to prove it holds up before anyone depends on it. One product serves gig drivers across 49 countries. The other is the testing platform we had to build to test the first, and it found five bugs in it that a full manual pass had missed.
Product 01 · Android, consumer
A professional and social home for gig workers. A Swiggy rider, an Uber driver and an Amazon Flex courier are often the same person — no platform connects those identities.
Google Play — internal testing Free for workers, permanently.
Product 02 · Developer tool
A simulated population that uses your app through its real API, so you can test what needs more than one person — presence, live sync, fan-out, and every permission rule you wrote.
Proven — taking pilot users AGPL-3.0, source public.
Two runs, three and a half minutes apart. The first is what Populace does for you. The second is what it certifies.
Against a finished, signed app that had just passed a full manual test of every screen. Signup silently created no profile row for any new user — a privacy fix had made a column unreadable and the write needed to read it. Likes bounced one tap in four. Profile edits failed the same way. Two further faults were in Populace's own reference adapter, one of them an unchecked error.
What this proves about Populace: it finds real defects in software that is already considered done, names the cause in one line, and exits non-zero — so the build stays failed until each one is rectified.
Two hundred simulated drivers across twenty cities in eleven countries, using the backend at the same time for an hour. 2,271 km driven, 81,672 posts, 172,660 likes, 69,064 comments, 76,034 messages, 5,389 group joins. Two hundred accounts created through the real signup path and two hundred deleted through the real deletion path — nothing left behind.
What this proves about Buzz: the shipped build holds up under genuine concurrent multi-user traffic with its own permission rules applying — not under one person tapping through screens.
A later run drove 300 drivers through 1,401,435 calls with zero API failures, but one call never reached the server — a socket exhausted on the test machine — so it is recorded as inconclusive rather than clean. Three hundred is where throughput stops scaling, not where Buzz breaks, which is still unfound. These latencies are loopback and contain no network: the same calls cost about 175 ms against a hosted project. Populace drives two unrelated backends, but both are still ours.