Spencer Darr.
← All work
Role — Product Lead, 0→1 Where — SyncSmart · PORTALS Type — Platform launch

PORTALS: a connected HubSpot network for franchises.

A franchise brand runs dozens — sometimes hundreds — of separate HubSpot accounts, and none of them talk to each other. PORTALS is the app I built to fix that: a HubSpot-to-HubSpot platform where one "mothership" portal pushes leads, deals, and workflows down to its child portals and rolls their data back up, so headquarters finally has one source of truth. I led it from a blank page to a commercialized product, and I owned every layer — the product, the pricing, the go-to-market, and the launch.

500+franchise locations adopted a product I led 0→1
Contacts Deals Custom Properties Workflows Reporting CHILD CHILD CHILD CHILD CHILD MOTHER- SHIP Contacts Deals Custom Properties Workflows Reporting CHILD CHILD CHILD CHILD CHILD MOTHER- SHIP

01The problem

Franchises, brand networks, and global businesses run on many separate HubSpot accounts — one per location, region, or brand — with no clean way to connect them. That gets expensive fast: duplicated tooling, humans copy-pasting records between portals, no consolidated reporting for headquarters, and dismal CRM adoption at exactly the locations that were supposed to benefit. HubSpot is a great fit for a franchise; there just wasn't a great way to run it at franchise scale. That gap is the whole reason PORTALS exists.

02What I built

PORTALS is a purpose-built HubSpot app: a mothership portal that distributes to and rolls up from its child portals, with a self-serve front-end so an operator can stand up a complex sync without calling engineering. I led it 0→1 — and "led" is doing a lot of work in that sentence. It meant wearing every hat the launch needed:

01Data Sync Across Portals

Contacts, companies, deals, engagements, and basic workflows move between portals on rules you control.

02Network Lead Distribution

Route leads from a global team to the right regional or location portal automatically.

03Workflow Distribution

Build a workflow once in the mothership and push it to child portals to stand up new locations fast.

04Delete Detection

Cross-portal deletes propagate automatically — keeping the network GDPR-clean.

05Cross-Portal Reporting

Roll every portal's activity up to HQ for one unified view of network performance.

06AI Queries

Ask plain-language questions of the whole network's data — no report-builder required.

03The product, up close

The whole point was to keep a non-engineer in the driver's seat. Take lead routing: a franchise runs one marketing site, generates a flood of leads, and needs each one to land in the right location's HubSpot — automatically. In PORTALS you write the rule in plain language and the app wires it into the network for you; no one's Xeroxing a property by hand across fifty accounts.

Just to be transparent: I can't republish SyncSmart's actual UI, so the screens below are recreations in my own palette. The behavior is real; the pixels are mine.

Lead RoutingPrompt → Network
Route deals to my franchisees based on the custom property "Franchise Locations". Apply
↓   maps to the network
HQ · MOTHERSHIP deals → matched locations Boston Denver Austin Portland Nashville CHILD PORTAL CHILD PORTAL CHILD PORTAL CHILD PORTAL CHILD PORTAL HQ · MOTHERSHIP deals → matched locations Boston Denver Austin Portland Nashville CHILD PORTAL CHILD PORTAL CHILD PORTAL CHILD PORTAL CHILD PORTAL

Filtering works the same way. You describe the population you want to sync, PORTALS writes the filter for you, and it shows you exactly which records pass before you commit anything.

Sync-Logic AIPrompt → Filter
Sync all companies associated with an open deal in qualified stage or later. Convert
↓   generated filter
(company) => {
  const deals = company.associatedDeals ?? [];
  return deals.some(deal =>
    deal.isOpen === true &&
    deal.stageOrder >= STAGE.QUALIFIED
  );
}
↓   validated on live records
✓ Passes filter
Northwind Trading · Deal: Proposal
Acme Robotics · Deal: Qualified
Vertex Labs · Deal: Contract sent
✕ Stopped by filter
Globex Corp · no open deal
Initech · Deal: Closed lost
Umbrella Co · Deal: Prospecting

Reporting, same idea: ask in plain English, get a live view back. No report-builder, no waiting on an analyst.

Ask-AI ReportingPrompt → Report
New contacts created this month, by location. Ask AI
↓   live report
Wk 1Wk 2Wk 3Wk 4 SHARE BY LOCATION Boston Denver Austin Others Wk 1Wk 2Wk 3Wk 4 SHARE BY LOCATION Boston Denver Austin Others

And underneath all of it, the sync keeps every child portal in lockstep with the mothership — companies, contacts, and custom properties landing where they belong, schema and all.

Data ConsistencyMothership → Children
Mothership
Companies
Contacts
Properties
⇉
Boston
Companies
Contacts
Properties
Denver
Companies
Contacts
Properties
Austin
Companies
Contacts
Properties
The pitch, in one line: turn a franchise's CRM from a cost-center into a revenue generator.

04Commercialization & the deals

A product isn't real until someone pays for it and actually uses it. So I built the tiered pricing myself — Launch, Pro, and Enterprise, priced per mothership and per child — listed PORTALS on the HubSpot Marketplace, and negotiated the anchor partnerships that put it in front of hundreds of locations: a sales-training network of 200+ franchises and a travel network of 450+ franchisees. Those two deals are where the "500+" comes from; it isn't napkin math.

Adoption
500+
Franchise locations
Deal I landed
200+
Franchises (training network)
Deal I landed
450+
Franchisees (travel network)
Customer result
~90%
CRM adoption at a national home builder

A national home builder with 100+ locations set out to hit 60% adoption across its branches; once local agents saw leads already loaded into their portals, it climbed to roughly 90%.

05What I'd take forward

PORTALS is the clearest proof of the through-line I bring: take a product from a blank page to a commercialized, adopted platform, and own every layer it takes to get there — the sync model, the pricing table, the marketplace listing, the demo I'm presenting on camera. Any one of those is a job on its own. The rare part is holding the whole line, concept to revenue, without dropping a handoff.