Skip to content

HubSpot projects, start to finish.

Muhammad Usman · HubSpot Developer · CMS, Migrations & AEO

I build HubSpot CMS sites, migrate and merge CRM portals, and make sites readable for search engines and AI assistants. When a project needs more than HubSpot offers, I write the code myself, usually in Node.js or Python.

  • MigrationNode.js · v3/v4 API
  • HubSpot CRMCustom objects · HubDB
  • CMSHubL templates
  • EdgeWorkers · AWS
  • Search & AIJSON-LD
  • AnalyticsGA4 · reports
  • AuditPython · QA pass
Fig. 1 How the HubSpot projects I build fit together. A composite across my work, with client details left out. Connections: Migration to HubSpot CRM, HubSpot CRM to CMS, CMS to Edge, CMS to Search & AI, CMS to Analytics, Edge to Audit, Search & AI to Audit, Analytics to Audit.
  • 72% Fewer Flagged SEO Issues
  • ~11k Contacts Migrated
  • 150+ Pages Generated from CRM
  • ~270 Pages Audited for AI Search
  • HubSpot CMS & HubL
  • Node.js & Python

Selected case studies

Problems solved in production

How I approach real problems: context, decisions, and trade-offs.

  1. Real estate / HubSpot CMS

    Property Pages That Build Themselves

    A bilingual Italian/English HubSpot CMS site for a boutique real estate agency, where every listing is a CRM record and every property page is generated from it.

    • HubL
    • CRM custom objects
    • Memberships
    • Cloudflare Workers
    • JavaScript
    Read case study
  2. Cybersecurity / AEO and GEO

    Making a 270-Page Site Citable by AI

    Technical lead on answer-engine and generative-engine optimisation for a bilingual English/German B2B cybersecurity site, from a custom crawler through implementation to post-launch monitoring.

    • Python
    • JSON-LD
    • hreflang / x-default
    • Search Console
    • AI visibility data
    Read case study

What I do

HubSpot Sites That Search Engines and AI Can Read

I fix problems where they start. On a CMS site that means the templates, because one template fix corrects every page built from it. On a migration it means writing records in dependency order, so every association has something to point at. And on SEO and AEO work it means measuring first, so every gain can be shown rather than claimed.

  • HubSpot CMS Development

    Themes, templates and modules written from a design, with pages generated from HubDB and CRM custom objects, plus memberships and gated content.

  • Portal Migrations & Merges

    HubSpot portals merged or migrated with every record, association and activity carried across, rehearsed in a sandbox and reconciled afterwards.

  • AEO & GEO

    Sites made readable and citable for AI assistants: crawler-based audits, AI-citability reviews, JSON-LD and hreflang specs, and monitoring after launch.

  • Technical SEO

    Schema, hreflang, Open Graph, redirect and caching faults fixed at the template level, and signed off against Core Web Vitals and structured-data validation.

  • Analytics & Measurement

    GTM and GA4 events, Consent Mode v2, and baselines and dashboards built on written rules, so results are shown, not claimed.

  • Site Migrations to HubSpot

    WordPress and legacy sites moved to HubSpot CMS, with redirect plans that carry search history over.

Featured projects

Systems I've built

HubSpot CMS builds, a portal merge, a B2B webshop and AEO work. Clients are described by sector only.

Portal Migration

HubSpot Portal Merge

Problem
A business ran two production HubSpot portals, one for sales and one for marketing, and needed them merged with every record still attached to the right company, deal and person.
What I built
A migration engine in Node.js, Express and MongoDB against the HubSpot v3/v4 APIs, a spreadsheet-driven merge rules engine, a parser that retries rejected writes, and a React dashboard to start, monitor and resume runs.
My role
Migration engine, Merge rules engine, Error recovery and data-quality safeguards, Operations tooling
  • Node.js
  • Express
  • MongoDB
  • HubSpot v3/v4 APIs
  • React

HubSpot CMS · Real Estate

Bilingual Real Estate Site

Problem
The agency needed a bilingual site whose listings were managed in the CRM, not maintained as static pages, plus a members' area, a clean bill of SEO health, and tracking it could trust.
What I built
Listings as a HubSpot custom object rendered by one template pair in both languages, a Cloudflare Worker that resizes and caches photos at the edge, gated membership content, and SEO and analytics fixed at the template level.
My role
CMS templates, Edge image pipeline, SEO programme, Analytics and compliance
  • HubL
  • CRM custom objects
  • Memberships
  • Cloudflare Workers
  • JavaScript
  • GTM / GA4

AEO / GEO · Technical SEO

AEO & GEO for a 270-Page Site

Problem
The vendor wanted to be cited by AI assistants, and to know exactly why competitors were being cited instead.
What I built
A reproducible crawler and audit toolkit in Python, an AI-citability review and competitor citation-gap teardown, JSON-LD and hreflang specs, and schema and template fixes rolled out in the CMS.
My role
Technical lead, AEO / GEO, Crawler and audit toolkit, Implementation-ready specs, Implementation and monitoring
  • Python
  • JSON-LD
  • hreflang / x-default
  • Search Console
  • AI visibility data

HubSpot CMS · B2B Commerce

Web Presence & B2B Webshop

Problem
Carved out of a large industrial group, the company needed its own web presence, its own customer data and online ordering, all in place within weeks of separation.
What I built
A HubSpot CMS theme written from scratch, two legacy product sites merged into one, GDPR-compliant re-consent, a gated B2B webshop on AWS with denied-party screening and Stripe checkout, and a datasheet centre.
My role
HubSpot CMS theme, Site migration, Consent, B2B commerce
  • HubL
  • HubDB
  • Memberships
  • JavaScript
  • Python
  • AWS

Technical expertise

The stack I work in

HubSpot
HubSpot CMS, HubL, HubDB, CRM Custom Objects, Memberships, CRM v3/v4 APIs, Marketing Hub, Content Hub, Sales Hub, AEO Tool, Custom Reports
Development
Node.js, Express, MongoDB, React, JavaScript, Python, HTML / CSS
Edge & Commerce
Cloudflare Workers, AWS, Stripe
SEO & AEO
JSON-LD, hreflang / x-default, Search Console, Core Web Vitals, AI Visibility Data
Analytics & Compliance
GTM, GA4, Google Ads Conversions, Consent Mode v2, GDPR Consent, WCAG AA

How I work

Engineering principles

  1. Fix it in the template

    Problems are fixed where they start. One template fix corrects every page built from it.

  2. Rehearse before cut-over

    Migrations run end to end in a sandbox before anything touches the real portal, and the target is reconciled against the source.

  3. Measure first

    A baseline comes before the change, with written rules for what counts as a lead and how growth is compared.

  4. Re-derive every number

    Headline figures are worked out a second time in a QA pass before they reach the client.

  5. Guard the deploy

    Scripted deploys with drift detection and portal guards that refuse to push to the wrong account.

Need a HubSpot site or migration done properly?

From CMS themes and portal merges to AEO audits, I fix problems where they start and measure what changes.

Contact

Have a HubSpot Project in Mind?

A new HubSpot site, two portals to merge, or a site AI assistants should be citing? Tell me about it.