Servicefive builds to show
Custom HubSpot integrations, CRM cards and data syncs
Your Private Dev builds custom HubSpot integrations: CRM cards (HubSpot UI extensions) that run inside HubSpot, data syncs between HubSpot and the system your team already uses, and apps that create HubSpot contacts, deals, line items and quotes for you. The case studies below cover five such builds: a franchise booking platform with a HubSpot CRM card, a pool proposal builder, an installment-quote deal card, an iClassPro to HubSpot sync and a two-way Brightpearl to HubSpot sync. One senior engineer does the building, on a fixed-scope written quote.
CRM cards inside HubSpot
A CRM card, built as a HubSpot UI extension, puts a custom screen inside HubSpot so your team works where they already work. Two of the builds below are cards.
Code Ninjas runs a large network of franchise coding centers. Each center needed a public booking page, each manager needed control of their own hours and calendars, and every booking had to land in HubSpot. The manager portal for hours, date overrides and calendars by age range is embedded in HubSpot as a CRM card, so managers set them inside HubSpot. It sits on a booking platform built with TypeScript, Express, React and PostgreSQL that now covers 797 locations, set up from HubSpot's location records.
Goss RV quoted luxury RV trips in Google Docs, worked out fees by hand and collected installments outside the CRM where the deal lived. Its HubSpot deal card has product search and a cart, and a quote can be paid in full or split into 2–5 installments with equal or custom percentages, accurate to the cent. Each installment is set up to be charged through HubSpot's own quotes. The card uses HubSpot UI Extensions, React and HubSpot serverless functions.
Built for Code Ninjas · Goss RV
Syncs between HubSpot and your ERP or operations system
When orders, customers or notes live in one system while sales works in HubSpot, both drift out of date. Aid Through Trade runs orders, customers and its product catalog in Brightpearl, its ERP, while the sales team works in HubSpot. With no link between the two, notes and customer changes lived in one system or the other.
The sync runs in two directions on two schedules. HubSpot changes (new contacts, property changes and notes) reach Brightpearl in real time through webhooks. Brightpearl contacts, order statistics, orders as deals with line items and the product catalog reach HubSpot in daily jobs, so sales sees what each customer buys. Loop protection stops a note synced one way from coming back as a duplicate, and a historical migration and data cleanup moved 10,399 Brightpearl contacts into HubSpot.
It is built in Python and FastAPI on GCP Cloud Run, with Firestore, the Brightpearl API and the HubSpot API.
Built for Aid Through Trade
Getting data into HubSpot from a system with no usable API
DeMont Family Swim School kept family and enrolment data in iClassPro, its class-management system, with no API the school could use. Marketing in HubSpot could not see who was enrolled, in which class, or why a family dropped.
A service signs in to iClassPro and pulls the families, students and drop-list reports, turns them into clean data and syncs linked parent, household and child records into HubSpot, with class lists and drop reasons. It runs on a schedule on Google Cloud Run with Cloud Scheduler, so HubSpot stays current with no manual exports and marketing can segment families by class and by drop reason.
Built for DeMont Family Swim School
Apps that create the HubSpot records for you
Zuniga's reps priced each pool in one tool, then retyped the proposal into HubSpot as a contact, a deal and line items. The proposal builder prices a pool from Zuniga's catalog, shows the client a presentation view and lets them choose upgrades and sign on screen. On accept, the app creates the HubSpot contact, deal and line items and attaches a branded PDF and the filled-in Excel workbook. An admin screen manages the catalog, so every rep prices from the same list.
The Code Ninjas platform also writes to HubSpot: bookings land as meetings with no manual entry, double-booking protection is built in, and a failed sync raises an alert.
Built for Zuniga Pool Construction · Code Ninjas
Five HubSpot builds, with the detail
- 797franchise locations set up on one booking platform
Code Ninjas · 2026. A manager portal for hours, date overrides and calendars, embedded in HubSpot as a CRM card, on a booking platform where every booking lands in HubSpot as a meeting.
- 2–5installments per quote, set up to charge through HubSpot Quotes
Goss RV · 2026. A HubSpot deal card with product search and a cart that splits a quote into 2–5 installments, each set up to be charged through HubSpot Quotes.
- 5records and files created on accept: contact, deal, line items, PDF, Excel
Zuniga Pool Construction · 2026. A proposal builder that creates the HubSpot contact, deal and line items when the client signs, and attaches a branded PDF and the filled-in Excel workbook.
- 3linked HubSpot record types per family: parent, household, each child
DeMont Family Swim School · 2025. A scheduled service that pulls family and enrolment reports out of iClassPro, which had no API the school could use, and syncs linked parent, household and child records into HubSpot.
- 10.4kBrightpearl contacts migrated into HubSpot and kept in sync
Aid Through Trade · 2025. A two-way sync between Brightpearl and HubSpot: real time from HubSpot, daily from Brightpearl, with loop protection and a migration of 10,399 contacts.
What happens when a HubSpot sync step fails
- 1If any step fails half-way, the deal card rolls back, so no half-built quote is left behind. Goss RV
- 2HubSpot syncs retry automatically when they fail. Zuniga Pool Construction
- 3A failed HubSpot meeting sync raises an alert, and double-booking protection is built in. Code Ninjas
- 4A note synced one way never comes back as a duplicate, because of loop protection. Aid Through Trade
When a custom HubSpot build is the right call
A custom build fits when the work being done by hand sits between HubSpot and another system, or inside a screen HubSpot does not provide. In the five builds above that was a booking calendar per franchise location, a quote split into installments, a proposal retyped into a deal, an enrolment system with no API, and an ERP whose notes and customers drifted from the CRM.
It does not fit when an off-the-shelf tool already solves the problem cleanly, when the scope is undefined and nobody can make decisions, or when the goal is AI for marketing hype only. If a no-code connector is enough, use it. The comparison page sets out the criteria.
Weighing a no-code connector against a custom build? Zapier or Make vs a custom integration: when each fits.
How does an engagement work?
- 01
Discovery
A 15-minute scoping call with direct questions about the goal and the constraints, so the written quote that follows matches what you need.
- 02
Written quote
Fixed scope, timeline, and deliverables on paper before any code is written.
- 03
Build phase
Daily async updates and weekly demo so you always see exactly where it stands.
- 04
Launch + support
Production deploy, documentation, and a 14-day fix window after handover.
- Fixed price, in writing first. After the 15-minute call you get a written quote with fixed scope, timeline and deliverables, within 48 hours and before any code is written.
- You own what is built. Full ownership transfers at handover, with documentation and handoff-ready code your team can keep extending.
- A 14-day fix window. Production deploy, documentation, and a 14-day fix window after handover.
Common questions
Can you build a custom HubSpot CRM card?
Yes. Two of the case studies are CRM cards built with HubSpot UI extensions: the manager portal on the Code Ninjas franchise booking platform, embedded in HubSpot, and the Goss RV deal card that builds installment quotes. The Goss RV card uses React and HubSpot serverless functions.
How do you sync Brightpearl with HubSpot?
For Aid Through Trade, new contacts, property changes and notes go from HubSpot to Brightpearl in real time through webhooks. Contacts, order statistics, orders as deals with line items and the product catalog go from Brightpearl to HubSpot in daily jobs. Loop protection prevents duplicates, and 10,399 contacts were migrated.
Can you get iClassPro data into HubSpot?
Yes. iClassPro gave DeMont no API the school could use, so a service signs in, pulls the families, students and drop-list reports, and syncs linked parent, household and child records into HubSpot on a schedule.
Can an app outside HubSpot create deals, line items and quotes in HubSpot?
Yes. The Zuniga Pools proposal builder creates the HubSpot contact, deal and line items when the client accepts, and attaches a PDF and an Excel workbook. The Goss RV deal card sets up each installment to be charged through HubSpot's own quotes.
What happens if a sync step fails?
It depends on the build. The Goss RV card rolls back so no half-built quote is left behind, Zuniga's HubSpot sync retries automatically, the Code Ninjas sync alerts when it fails, and the Aid Through Trade sync has loop protection against duplicate notes.
How does pricing work?
Pricing is fixed and agreed in writing before any code is written. After a 15-minute scoping call you get a written quote with fixed scope, timeline and deliverables within 48 hours. A fixed price means the cost is set by that written scope rather than by hours worked, so you know what you are committing to before the build starts. No price list is published, because every project is scoped on its own.
Do I own the code?
Yes, you own what is built. Full ownership transfers at handover, together with documentation and handoff-ready code that your team can keep extending. That means you are not tied to the engineer who built it: your own team or another developer can pick the code up. Handover comes after the production deploy and is followed by a 14-day fix window.
Can you work under an NDA?
Yes, the service is NDA friendly. Clients are named in case studies only where they agreed, and otherwise specifics are anonymized, so confidential details do not appear on the public site. If your project needs an NDA before you describe it, say so on the 15-minute scoping call or in your first email to hello@yourprivatedev.com, where replies come within one business day.
Related pages
- Back-office automation and custom AI agents — Custom back-office automation and AI agents for operations and finance teams: invoicing, reports, ERP syncs and chat over your tools. One senior engineer.
- Business Central and ERP automation — An AI invoicing agent for Business Central and a two-way Brightpearl to HubSpot sync, from one senior engineer. Fixed-scope quotes, full code handover.
- Report, document and data automation — Word mail-merge reports built end to end, structured data extracted from web portals, and PDF and Excel files generated automatically. One senior engineer.
- Zapier or Make vs a custom integration — the criteria for choosing, with examples from the builds
- All services
- All case studies