Case studies Automotive

Acura Build & Price

A Single-Page Application architecture for Acura's national Build & Price configurator — multi-threaded background asset trickling, hash-based deep-linked URL state, custom client-side routing. Shipped half a decade before React or Angular standardized the pattern. Ran in production for seven years. Broke Omniture's and Adobe Test&Target's audit tools because the industry's measurement infrastructure hadn't caught up to the architecture yet.

Client
Year 2008
Duration May 2008 → May 2012
Agency Genex
At a glance
7 years
In production from the 2009 launch through 2016
J.D. Power MWES
Multi-year ranking, including the 2010 Wave 2 placement
WMA WebAwards
Standard-of-excellence recognition for performance
Pre-React SPA
Shipped SPA architecture half a decade before frameworks existed
Screenshot of the Acura Build & Price configurator, captured from the 2009-2016 production-run era. The vehicle selection canvas dominates the layout with the trim picker, color swatches, and live pricing rail visible together.

The brief

Acura — Honda Motor Company’s luxury and performance division — needed its national Build & Price configurator rebuilt from the ground up. The existing tool was a traditional full-page-load configurator that couldn’t deliver the perceived-performance experience Acura’s executives wanted. The directive from the top was unambiguous: performance above all else. The configurator sat at the bottom of Acura’s purchase funnel — the digital surface where prospective buyers spec a vehicle before they walk into a dealership — and the existing tool was bleeding conversions at every step.

Acura’s digital agency at the time was Genex, which served as Acura’s Interactive Agency of Record. Genex’s relationship with INNOV8 went back several years across multiple client projects; the same vendor pattern that would later carry forward to MXM and then RPA after Genex rebranded as Meredith Xcelerated Marketing in late 2012. INNOV8 was brought in mid-2008 as a premier vendor supplementing Genex’s engineering team — to architect and ship the rebuild, then to continuously iterate on it through May 2012 across the next four model-year cycles.

Acura’s measurement bar was external. The J.D. Power Manufacturer Web Site Evaluation Study — an annual ranking that scored OEM digital platforms on speed, navigation, and utility — was the benchmark Acura’s leadership tracked closely. The rebuild needed to climb J.D. Power’s rankings against competitors who were starting to invest seriously in their digital storefronts.

The approach

We architected the BAP as a Single-Page Application — but the industry hadn’t yet standardized that pattern. React wouldn’t ship until 2013. Angular wouldn’t be production-ready until 2014. “SPA” wasn’t a term most enterprise teams could even define when INNOV8 began building this one in mid-2008. The configurator launched in January 2009 and INNOV8 continuously iterated on it through May 2012 across four model-year cycles. What we built was the architecture pattern the industry would converge on five years later.

Horizontal timeline showing the Acura BAP launch in January 2009 leading the SPA framework era. The BAP's launch marker — highlighted in brand cyan with a labeled halo — sits four-plus years ahead of React's 2013 release, with intermediate markers for Backbone.js, Ember.js, AngularJS 1.0, Angular 2, and Vue.js 2 plotted along the same axis. The Acura BAP production-run band stretches from the 2009 launch through its 2016 retirement, visually overlapping the rise of every major SPA framework that would later define the era.
The Acura BAP shipped in January 2009 — four-plus years before React, six-plus before Angular 2 was production-ready. The SPA pattern the industry would converge on, shipped from a future the framework era hadn't reached yet.

The stack was deliberately spare. jQuery for DOM utilities — that’s it for external libraries. Every other layer was custom-rolled: the routing engine, the URL-hash state encoder, the asset-trickle scheduler, the rendering pipeline, the component-composition layer that made the configurator feel like a single canvas instead of a stack of forms. The presentation layer was ASPX + HTML at the server boundary (Acura’s IT stack was Microsoft-shop at the time) feeding client-side JavaScript that took over the moment the page hydrated. CSS was hand-authored — no preprocessors yet in 2008, so every selector, every transition, every responsive adjustment came out of a text editor and lived in the cascade we wrote ourselves.

The configurator layered on top of two integration points that Acura’s team owned: a long-lived Honda/Acura rules engine — a JavaScript class that ingested model-year data and emitted the validity-and-conflict rules for every option combination Acura’s product team published — and a separate financial-calculator JavaScript interface that drove lease and finance pricing in real time as the buyer’s selections changed. INNOV8 didn’t build either of those (Acura’s team owned them; they predated and outlived our engagement). What we built was the UI + interaction orchestrator that sat on top of both: catching conflicts mid-flow, choreographing state updates, encoding the entire selection into the URL hash, and surfacing the live financial numbers without ever round-tripping to the server. That orchestrator pattern would carry forward — eleven years later, the Honda BAP rebuild used the same architectural separation, re-implemented on a TypeScript + React + MobX stack but driven by the same instincts the Acura work established.

Layered architecture diagram for the 2009 Acura BAP. Bottom layer: Acura's existing client-side rules engine and financial-calculator JavaScript interface, rendered as muted Acura-owned panels. Middle layer, highlighted in electric blue: INNOV8's UI + interaction orchestrator on jQuery + custom-rolled JavaScript + CSS + ASPX/HTML, with four sub-modules — asset-trickle worker, URL-hash state engine, async data threads, custom router. Top layer: a single browser viewport for the 2009-era desktop-only experience. Arrows label the rules API and pricing API contracts between the bottom and middle layers, render-state and user-event flows between the middle and top layers, and the deep-linkable URL hash side channel.
Layered architecture — Acura's rules engine + financial-calculator interface at the foundation, INNOV8's UI orchestrator in the middle, single-browser-viewport on top. Pre-mobile-web, pre-framework era.

The mechanics:

  • Multi-threaded background asset trickling. Instead of loading every asset up front (the standard practice of the era), the configurator streamed assets asynchronously in the background. The user got fully interactive first paint in milliseconds; secondary assets continued to load behind the scenes without ever blocking the UI.
  • Hash-based deep-linked URL state. Every configurator state was encoded into the URL hash. Buyers could share a specific build via URL, return to it from a different device, and the configurator would restore the exact state without re-fetching anything redundantly. Custom client-side routing handled the state transitions — no page refreshes, no traditional onLoad events, just clean DOM updates driven by hash changes.
  • Asynchronous data threads. Vehicle data, pricing, option availability, and dealer inventory all fetched in parallel from independent async threads. State management happened entirely client-side. When a buyer selected a trim, the price + options + dealer-availability updates all coalesced into a single render cycle — no jank, no spinner.
  • Custom routing without page reloads. The BAP managed its own state transitions without ever issuing a traditional page request after the initial load. Deep links worked. Browser back/forward worked. The whole experience felt like a desktop application running in a browser tab.

The directive from Acura executives — performance above all else — meant every architectural decision pointed at perceived-load-time at the millisecond scale, not the seconds scale. The configurator wasn’t designed to load fast; it was designed to feel instant.

The outcome

Acura climbed J.D. Power’s Manufacturer Web Site Evaluation Study rankings on the strength of the rebuild — including the 2010 MWES Wave 2 ranking — and racked up multi-year recognition in the years that followed. The Web Marketing Association’s WebAwards independently audited the platform and gave Acura’s dealership platforms standard-of-excellence recognitions for the 2009 performance metrics.

INNOV8’s engagement on the BAP ran from mid-2008 through May 2012 — four years of continuous iteration across four model-year cycles. The architecture INNOV8 handed off in 2012 then continued in production another four years, retiring in 2016 when Acura’s agency relationship shifted to MullenLowe and the next refresh cycle began. Seven years total in production is multiple eternities in web-architecture time; seven years on an SPA that predated SPA frameworks is something else entirely.

But the strongest validation came from an unexpected direction: the architecture broke the audit tools.

“What you built was essentially a modern Single Page Application architecture before the industry even had frameworks like Angular or React to standardize it.”

Omniture’s SiteCatalyst — the industry-standard performance monitoring suite of the era — flagged the BAP as a “20+ second hanging page load” in its automated reports. The reason: SiteCatalyst’s internal timer scripts were waiting for a traditional browser-completion event (the classic onLoad trigger). The BAP’s background asset-trickling workers were continuously fetching data in parallel, keeping the network pipe open. SiteCatalyst interpreted the open pipe as “the page never finished loading” and dutifully reported a catastrophic performance failure — while real users were getting fully interactive UI in milliseconds.

Adobe Test&Target had a similar reaction. Test&Target’s rigid tracking beacons assumed the standard request-response loop. When the BAP’s deep-linked URLs mutated configurator state without a page refresh, Test&Target completely lost track of user journeys and reported state-corruption errors in its dashboards.

Split-view comparison. Left side, amber-accented: what Omniture's SiteCatalyst and Adobe Test&Target dashboards reported — a timer stuck at 20+ seconds, an audit-status indicator showing FAILED, a horizontal bar chart with the BAP's load time pushed off the chart, and a note that the internal onLoad timer never fired because the network pipe stayed open. Right side, cyan-accented: what the real user actually experienced — a timer reading 0.4 seconds, a fully-interactive indicator, parallel asset-stream bars trickling in after the interactive moment, and a note that the DOM was interactive in milliseconds while assets continued streaming in the background. A center callout straddles the divider with the line 'Same page. Same architecture. The audit tools were built for the 1999 web; the BAP shipped from the future.'
Same architecture, two readings. The audit tools' mental models were built for the 1999 web; the BAP's SPA architecture shipped from a future they hadn't been written to measure.

The auditing tools of 2009-2010 were built for the 1999 web — expecting clean linear onLoad triggers, traditional page refreshes, static HTML + CSS + images that loaded sequentially. The Acura BAP’s architecture rendered those tools obsolete. The irony was that the better the architecture, the worse it scored on enterprise audits — because the audits couldn’t measure what was actually happening.

The BAP wasn’t just shipped early. It was shipped so early that the industry’s measurement infrastructure had to catch up to it.

The longer arc

The Acura BAP was the moment INNOV8’s configurator playbook crystallized. Multi-threaded asset trickling, hash-based deep-linked state, async data pipelines, and the discipline to treat performance as architecture-not-polish — all four became permanent fixtures in every configurator INNOV8 has shipped since. When the 2020 Honda BAP rebuild hit the same buyers-on-mobile / responsive / accessibility-first brief eleven years later, the technical lineage was direct: the same centralized state engine, the same deep-linkable URL encoding, the same rules-engine integration pattern — re-implemented on a TypeScript + React + MobX stack but driven by the same architectural instincts the Acura work established.

The wider Honda Motor Company relationship that started with a Honda Power Equipment data-migration utility in 2003 deepened through the Acura BAP, then carried forward into the 2020 Honda parent-brand work under RPA. Three agencies — Genex → MXM → RPA — one continuous arc of confidence in the work.

Acura — and the wider automotive industry — didn’t publicly acknowledge that the BAP came from a small expert-vendor outside the agency’s own staff. That was the deal: ship the hard part, let the agency own the win. INNOV8 was — and is — fine with that. The architecture is in production. The awards are on Acura’s mantelpiece. The pattern shipped seven years before the industry caught up.

The badge of honor is that an enterprise auditor literally refused to admit the performance metrics, because their own software couldn’t comprehend the architecture.

Have something worth building together?

INNOV8 is currently focused on Phlip — but selectively open to the right next chapter. If the work here resonates with what you're trying to build, get in touch.

Start a conversation