Case study

Avela HubSpot web app

The application had to coordinate platform data and customer-facing intelligence without blurring which system owned the underlying record or decision.

Client

Avela

Role

Integration architecture, web application development, and AI workflows

Year

2025–2026

Summary

Helped build a custom web application that connected Avela and HubSpot while supporting synchronized data and AI-assisted customer interactions.

The brief

Avela needed more than a background sync. The project called for a custom web application that could coordinate data with HubSpot and use that context to support AI-assisted customer interactions and insights.

I contributed to the application and integration architecture, helping keep the customer experience, system boundaries, and operational workflow aligned.

What made it complicated

Once an application sits between a product platform, HubSpot, and an AI workflow, it becomes responsible for several different kinds of truth.

HubSpot may own marketing or CRM context. Avela may own application-specific state. The AI layer needs selected context from both, but should not become the authority for either. Updates can arrive at different times, and a plausible AI response can still be wrong if it is based on stale or incomplete data.

The approach

The application was organized around explicit contracts rather than one large shared payload:

  • define which platform owned each meaningful value;
  • normalize data at the boundary between systems;
  • synchronize only the context required by downstream workflows;
  • preserve identifiers and state transitions for traceability;
  • keep AI output grounded in current application context; and
  • make failures visible enough to investigate and recover.

The customer-facing experience was then built on top of those contracts, so it did not have to guess how data from different systems should be interpreted.

Where AI added value

AI was useful when it helped interpret context or guide an interaction, not when it replaced application state. The workflow supplied relevant, bounded information and kept the model’s response separate from the records that controlled the system.

That separation made the experience easier to improve. Retrieval, prompting, or model behavior could evolve without redefining the ownership of core customer data.

The takeaway

This project demonstrates how I approach AI-enabled integrations: establish the data and workflow contract first, then give the model a clear and limited role inside it. That produces applications that are more useful to customers and more understandable to the teams operating them.

Related writing