Case studies Automotive

Ford / Lincoln Build & Price

A one-year, by-design-temporary Flash-to-HTML5 conversion of Ford and Lincoln's national Build & Price configurator. The visible deliverable was full-parity in Angular + Bootstrap; the actually-hard deliverable was extracting years of layered rules-engine logic — written by multiple vendors across the long life of the Flash original — into a clean, extensible JavaScript rules engine.

Client
Year 2012
Duration Dec 2012 → Dec 2013
Agency MXM
At a glance
1 year
In production by design — temporary bridge through the Ford.com redesign
Full parity
Feature, visual, and behavior parity with the Flash original
Dual-brand
Single codebase serving Ford + Lincoln through runtime theming
Rules engine
Years of layered multi-vendor logic extracted into one JS module
Screenshot of the Ford Build & Price model selection step, captured from the 2013 production HTML5 conversion. The Ford lineup is presented as a grid of model tiles with hero photography, MSRP starting prices, and quick-jump entry points for each nameplate. The Ford brand chrome — header navigation, breadcrumb path, footer disclosures — wraps the BAP canvas exactly as the Flash version did.

The brief

Late 2012. Adobe had announced Flash Player for Mobile end-of-life a year earlier. Chrome was starting to gate Flash content. The iPhone had never supported it. Ford and Lincoln’s national Build & Price configurator — the digital surface where buyers spec a vehicle before walking into a dealership — was still running on Flash.

Ford’s digital agency at the time was MXM (Meredith Xcelerated Marketing) — Genex rebranded after the Meredith acquisition in late 2012, the same agency relationship INNOV8 had shipped the 2009 Acura Build & Price through, now under a new name. MXM was preparing a comprehensive Ford.com brand redesign, but the redesign needed time the Flash BAP didn’t have. The brief was scoped accordingly: convert the Ford and Lincoln BAP from Flash to HTML5 with full parity, as a bridge through the redesign. Roughly a year in production. Temporary, by design.

The visible scope was the conversion. The harder scope sat beneath it: the Flash original had been the home of Ford’s client-side rules engine — the validity-and-conflict logic governing every option combination across Ford and Lincoln — and that logic had accreted over years as ActionScript embedded across the layers inside the massive Flash file itself, written by multiple Ford vendors across multiple model-year cycles. Extracting it into something maintainable wasn’t a side benefit of the conversion. It was the engagement’s lasting deliverable.

The approach

A focused two-engineer INNOV8 team. Eric Brody joined the build for this engagement — he had been one of the original developers on the Flash BAP, knew where every rule actually lived in the file, and that insider knowledge made the extraction tractable. Pairing his read of the existing system with INNOV8’s architectural pass on the new HTML5 stack compressed what would otherwise have been a multi-quarter archaeology project into a one-year delivery.

The HTML5 stack was Angular + Bootstrap + HTML5 + JavaScript + CSS. The configurator dropped into the Ford.com page shell, which MXM’s full-stack team owned on Adobe AEM. INNOV8 didn’t touch the AEM backend — Java / Sling / JCR / OSGi sat on the MXM side — but the HTML templates slotted into AEM’s component model so the BAP could ship as a standalone SPA inside Ford’s enterprise CMS.

Architecturally, much of the skeleton came from the Acura BAP work INNOV8 had wrapped six months earlier — the orchestrator-over-rules-engine separation, hash-based deep-linked URL state, custom client-side routing, the asset-trickle approach to perceived performance. Ford’s back-end integration set was different (dealer inventory APIs, financial calculators, multiple owners), and the rules extraction had no Acura analog — but the architectural instincts were familiar territory, which let the team spend its calendar on the parts that weren’t.

Dual-brand was a single codebase. Ford and Lincoln shipped from one application, with runtime theming handling brand skin and a context layer handling deeper interaction differences — Lincoln-specific upgrade tiers, brand-specific financing modules, brand-specific option-availability rules. Conditional rendering, not two forks.

Before/after illustration of the Ford BAP rules-engine extraction. Left panel: a tall, dense Flash file rendered as stacked layers in muted slate tones, with multi-colored fragments scattered throughout the layers representing rules-engine logic written by different Ford vendors across multiple model-year cycles. Visual cues suggest the logic is embedded as ActionScript inside the layers themselves, not in clean modules. Right panel: a single clean JavaScript rules-engine module rendered in brand cyan, with a labeled interface contract on its boundary and the consolidated rule fragments now living inside as a coherent collection. An arrow labeled 'extraction' bridges the two panels. The visual story is multi-source accretion to single-source coherence.
The rules-engine extraction story — years of multi-vendor logic embedded across the layers inside a massive Flash file, unified into a single extensible JavaScript module with a clean interface.

The rules-engine extraction was the centerpiece. Years of logic distributed across ActionScript inside the Flash layers — written by multiple vendors across multiple model-year cycles — needed to come out the other side as a single extensible JavaScript module. Ford’s product team (or its next vendor) needed one place to reason about option compatibility, pricing rules, and brand-specific constraints. By engagement end the rules engine sat as a standalone module with a clean interface, independent of the Angular UI — the same shape as Acura’s orchestrator pattern, refit for Ford’s integration surface.

The outcome

Shipped on schedule. The BAP ran in production for roughly a year, exactly as scoped, until the Ford.com redesign replaced it. No public metrics, no rankings, no awards — a temporary bridge by design, and bridges don’t get awards. The visible impact was the absence of visible impact: parity meant the Flash-to-HTML5 swap registered as continuity to end users, not novelty.

The hardest engineering win wasn’t visible from outside the team. The rules engine that had taken years to grow inside the Flash file now sat in one extensible JavaScript module. The next team — whoever inherited the next configurator generation, whatever stack they picked — wasn’t going to have to do that extraction work again.

The longer arc

Ford sits in the middle of INNOV8’s automotive-configurator trilogy as a side branch rather than a bridge:

  • Acura BAP — 2008-2012. jQuery + custom-rolled pre-framework SPA. Established the orchestrator-over-rules-engine pattern.
  • Ford / Lincoln BAP — 2012-2013, this engagement. Carried Acura’s orchestrator pattern, URL-hash deep linking, and client-side routing forward, refit onto Angular + Bootstrap. Added dual-brand theming and the rules-engine extraction discipline.
  • Honda Shopping Tools — 2019-2020. TypeScript + React + MobX. Inherited the architectural instincts directly from Acura, not Ford.

What Ford added to the practice was less about architecture and more about engagement shape — operating inside a big-three OEM’s vendor ecosystem, with multiple agencies, multiple internal teams, and shifting responsibilities across overlapping projects, is a different discipline than working inside a tighter agency-of-record relationship like Acura’s. The configurator that came out the other end was no less rigorous; the path to it just ran through more rooms.

Bridge built. Bridge crossed. Exactly what the engagement was scoped to do.

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