Case studies / Expansive

Expansive

Client
Expansive · expansive.com
Industry
Coworking · PropTech, USA
Engagement
October 2022 to present, renewed
Team
6 at peak: web, mobile, PM, QA, UX
Built
Websites, member apps, staff portal, AI mail
Status
Live in production

Expansive owns and runs coworking buildings in 40+ US locations. They hired us to rebuild their digital backbone.

Over four years we shipped the member apps, the staff portal, the integration layer that connects Yardi, ButterflyMX and HubSpot, and an AI system that sorts thousands of mail items a month.

Book a similar engagement →

What changed

40+US locations on one platform
95%+mail matched with no human input
<60sfrom scan to the member's phone
30%less manual work for operations

In their words

Omka Tech team is really fantastic to work with. I love working with your team.
Norys InsuaProject Manager, Expansive

Inherited with no documentation, no support and no map.

A platform nobody could explain

The previous vendor left no documentation and no handover. Dozens of third-party integrations ran live operations across 40+ buildings, and touching the wrong file could break payments or building entry for thousands of members.

Apps members were stuck with

Members used buggy legacy iOS and Android apps tied to developer accounts Expansive no longer controlled. New apps had to pull existing users across, including people with no reason to update.

Mail sorted by hand, every day

Hundreds of virtual-office members use Expansive's addresses for their business mail. Staff photographed each item, identified the recipient and notified them by hand, for hours per location per day.

Earn the codebase first. Then ship.

A production system serving 40+ live locations can't be frozen for a rebuild. Our two web developers spent the first weeks only reading: code, schemas, and every call into Yardi, ButterflyMX and HubSpot, documenting as they went. By our first release we understood the system better than the team that built it.

Then four tracks ran in parallel: expansive.com kept its Vue.js and headless WordPress base and was modernised, expansivevenues.com was built on the same stack, the member apps moved to one Flutter codebase, and the staff portal was built on Next.js on GCP Cloud Run. The AI mail module came last, once the foundation could carry it.

Five products, one platform.

Every failure has a next step, and it ends with a person, not a guess.

One model would have been faster to build. It would also break on handwriting, damaged envelopes and two members with the same name. So each stage does one job.

STAGE 1ScanCanon / Kodak SDKat the building STAGE 2Claude readsenvelope tostructured text STAGE 3Claude matchmember directory +confidence score STAGE 4Address fallbacksuite match whennames collide STAGE 5Human handofflow confidence routesto building staff Member notified - - - only when confidence is low
95%+ matched at stage 3<60s scan to notificationMember chooses: toss, forward, scan and email, or hold

Four years, one team

Engagement begins

We take over expansive.com from a vendor who left no documentation, and spend the first weeks reading before writing.

Four decisions that shaped the platform

Inherit the codebase instead of rebuilding it

The textbook move was a six-month rebuild. But Expansive ran 40+ live buildings on that system, and a rebuild meant freezing features or running two systems in parallel. We read it end to end, documented it and improved it step by step. The client never lost a day of operation.

A staged pipeline for mail, not a single model

A single multimodal model breaks at the edges: handwriting, damaged scans, two members sharing a name. One confidence score for a complex decision is a guess. The staged pipeline is slower on easy cases and far more accurate on the hard ones, which is where the operational pain was.

Build the integration layer for reconciliation as well as sync

Yardi, ButterflyMX and HubSpot each hold a slice of member data. Every cross-system action carries a transaction ID, failures are logged, retried and surfaced, and a nightly job flags anything out of step. Onboarding a member is now one action.

Launch new apps and move every user off the old ones

Three phases: launch and notify, point the old apps at the new backend so their users still saw correct data, then sunset with a forwarding screen. Months of coordination with Expansive's marketing team, which most agencies hand back to the client.

The stack

FrontendVue.jsFlutterHeadless WordPressTailwind CSS
AdminNext.jsReactGCP Cloud RunRole-based access
Backend and dataNode.jsFirebase Cloud FunctionsFirestoreGCP Storage
AI and integrationsClaudeCanon + Kodak SDKYardiButterflyMXHubSpot

From the client

We went from losing hours on manual mail management to having the entire workflow handled automatically across every location.
Operations leadershipExpansive, on the AI mail module

Interested?

Book a call →…or email info@omkatech.com