One platform for a statewide membership organization.
Replaced seven disconnected tools with a single platform. Web and native mobile from one codebase.

Context
A statewide organization with a supporter file in the hundreds of thousands was running on five-to-seven disconnected tools: multiple WordPress installs, two separate subscription systems, an off-the-shelf mobile app, and SaaS glued together with automation duct tape. No shared identity, no real organizing structure, no owned media. Engagement was, in their own internal words, an architectural “ghost town.”
What we built
We replaced the entire stack with one purpose-built platform: a TypeScript monorepo sharing a web and native-mobile core on self-hosted infrastructure. On a 184-table Postgres schema (460+ versioned migrations) it unifies a member social network with an algorithmic feed; a CRM that reconciles imported supporters against app users on one golden record; membership billing across card, Apple in-app purchase, and donations; a geographic organizing structure with territory-aware access control; livestream and video; a learning-management system; gamified engagement; and governed AI content generation with a generate-then-detect-machine-tells-then-regenerate quality loop. The native iOS and Android apps, with GPS check-in, contacts import, push, and offline caching, ship from the same codebase and are live in both stores.
The value
- One canonical supporter record replaced seven disconnected systems. The organization can finally trust a single number for membership, giving, and organizing.
- Members on the new platform are worth 5.7× the legacy base annually, and native mobile puts the organization in members’ pockets instead of just their inboxes.
- It passed a state data-privacy audit with territory-scoped controls. Compliance became a property of the system, not a scramble.
- The organization owns the entire stack outright, with zero dependence on hosted Big-Tech platforms it could be removed from.
member value vs. the legacy base
per supporter, across hundreds of thousands
third-party SaaS retired (est.)
native apps from one codebase
Client name and identifying details withheld by design. Every figure here is drawn from the system we actually delivered.
More case studies
All WorkData architecture · Coordinated back-office systems
Four department systems that agree on who someone is.
Communications · Deliverability engineering
A self-hosted email system, built to survive Gmail.
Faith community · Domain-native CRM
A parish CRM that actually understands the liturgical year.
Your work would get the same discretion.
Tell us what's breaking. We'll tell you whether we've solved something like it. And if we take it on, your name stays yours.
Start a Diagnostic



