All Case Studies

A beauty brand house trades enterprise CRM for purpose-built — and ships in 8 weeks

Challenge
Paying enterprise prices for unused features while the tools the team actually needed — context-aware email, voice field notes, a brand client portal — didn't exist in any CRM.
Solution
A purpose-built platform with context-aware email surfacing, voice-first field note capture, and a self-service brand client portal — scoped exactly to how the team works.
Impact
HubSpot cancelled. 23,000 contacts, 17,000 companies, and 12,000 deals migrated to a platform that fits the business — from kickoff to production in 8 weeks.

Introduction

Enterprise CRM platforms serve every industry, which means they serve no industry particularly well. Gartner and Forrester both report CRM implementation failure rates near 50% — and in the majority of cases, low user adoption is the leading cause, not technology. For a US-based multi-brand beauty company managing dozens of retailer accounts, the failure pattern was visible in their own data: enterprise-tier features sitting at zero utilization, some deal pipelines reaching 90–98% spam, and a companies-and-contacts data model that simply didn't reflect how the business operated. More critically, the capabilities the team actually needed — context-aware email surfacing, voice-first field notes with industry vocabulary, and a self-service brand client portal — don't exist on any CRM's roadmap because they require business-specific customization. We audited, decided to build, and delivered a full platform in 8 weeks using agentic development workflows. The same approach means requirements that would have been HubSpot support tickets now ship in days.

Key Challenges

The team's real pain wasn't what HubSpot lacked — it was that the features that mattered required customization no SaaS product would prioritize. Sales reps had no mobile-first way to capture field notes in real time. Brand partners had no self-service access to their own performance data. And HubSpot's companies-and-contacts model didn't fit a business managing brands, retail stores, and account relationships — the mismatch showed: some pipelines reached 90–98% spam categorization.

Feature Bloat, No Feature Fit

Paying enterprise prices for capabilities never used while the features that would actually help — context-aware email, voice field notes, a brand portal — are not on any CRM's roadmap because they require business-specific customization.

Wrong Data Model

HubSpot's companies-and-contacts structure doesn't map to brand portfolios and retail store relationships. The mismatch accumulated visibly: some pipelines reached 90–98% spam deals as intake flows never matched how leads actually arrived.

Inbox-First, Not Account-Aware

Email logging and AI summaries were designed around inbox workflows, not account-centric work. Relevant emails didn't surface when working inside a deal, and generic AI couldn't produce meaningful narratives for specific brand–retailer relationships.

Permanent Vendor Lock

Every missing feature meant waiting on a vendor serving 200,000+ companies to prioritize it — or accepting it would never be built. There was no path to a CRM that reflected how the business actually operated.

Solution Components

We built a purpose-built platform scoped exactly to how the team works. A context-aware email layer surfaces unlogged emails directly on the account they belong to — no inbox-diving required. A voice-first field notes app lets reps speak notes mid-visit, with transcription tuned to the CRM's own brand and store vocabulary. A brand client portal gives each partner self-service access to their own data, delivered automatically rather than assembled by hand each cycle.

Context-Derived Email Surfacing

Unlogged emails appear inline on the account they belong to — derived from participant addresses and store domains. Single-match emails log with one click; ambiguous ones open a dialog for quick categorization.

Account-Aware AI Summaries

Three layers of AI synthesis scoped to the actual business structure: a current-state paragraph per account, a per-touch activity timeline, and per-email summaries — generated against logged activity for that specific brand, store, or deal.

Voice-First Field Notes

Sales reps speak notes mid-visit. Self-hosted speech transcription with a vocabulary index synced live from the CRM handles brand names, store names, and contact names — including transcription variants — automatically.

Brand Client Portal

Each brand partner logs into their own dashboard — Sales, Fulfillment, Insights, Marketing, Documents — with data delivered automatically from the backend pipeline instead of manually assembled and emailed each cycle.

Clean Pipeline Rebuild

Seven pipelines rebuilt with stages matching actual workflow. Twelve active HubSpot workflows replaced with purpose-built code. Spam accumulation eliminated by typed intake routing at the point of entry.

Audit-First, Full-Ownership Platform

A custom HubSpot API audit produced the utilization data that made the case for building. Because the platform is fully owned, new requirements ship in days — the business roadmap drives the platform, not the other way around.

Impact

The team cancelled HubSpot entirely. Every customer touchpoint — an email exchanged, a store visit spoken into a phone, a website inquiry submitted — flows into the CRM without manual logging. Account managers open a deal and see where it stands. Sales reps capture field notes in real time. Brand clients have self-service access to their own data. The full platform — 23,000 contacts, 17,000 companies, and 12,000 deals migrated — went from kickoff to production in 8 weeks.

8
Weeks from kickoff to production
$29K
Annual HubSpot subscription cancelled — replaced by AWS PostgreSQL at ~$20–30/month
23K+
Contacts migrated with clean pipeline data from day one
12
HubSpot workflows replaced by purpose-built code

Our Process

01
STEP 01

HubSpot Audit

Built a custom audit tool against the HubSpot API pulling full utilization data across every paid feature. Presented findings with four options; client chose full migration over switching, optimizing, or partial cleanup.

02
STEP 02

Architecture & Data Migration

Designed a brand/store/relationship/activity data model to replace HubSpot's generic schema. Exported 23K contacts, 17K companies, and 12K deals via HubSpot bulk export API with pipeline data cleaned at import.

03
STEP 03

CRM & Portal Build

FastAPI backend, React portal with separate admin and brand client views. Twelve HubSpot workflows rebuilt as native platform logic with full visibility into behavior and state — no black-box automation.

04
STEP 04

Email & Voice Integrations

Gmail OAuth flow with context-aware email suggestion engine. Voice capture UI backed by self-hosted speech transcription, live domain vocabulary, and an LLM extraction pipeline for structured field note parsing.

Tech Stack

Python Python
FastAPI FastAPI
PostgreSQL PostgreSQL
React React
Tailwind CSS Tailwind CSS
Claude (Anthropic) Claude (Anthropic)
AWS AWS
Docker Docker

Have a similar challenge?

Let's discuss how AI can transform your workflows.

Book a Call