Storyboard, pricing framework, best practices, and pilot proof of concept for an enterprise build calculator.
Large corporations don't buy from a "contact us" form. Their evaluators want to self-serve a ballpark number before they'll put a vendor in front of procurement. The Estimate Engine gives them that number in under two minutes — while quietly demonstrating the exact kind of interactive tooling Vivere builds.
The calculator prices six areas — five build modules plus an organization profile:
| Module | What it covers | Priced by |
|---|---|---|
| 01 Calculators | Interactive estimators, ROI tools, configurators embedded in the client's site or portal | Count × complexity tier |
| 02 Billing | Payments, invoicing, subscriptions, ERP/payment-provider integrations | Foundation + recurring + per-integration |
| 03 Blocks | Reusable content-block library and page templates the client's team assembles from | Per block + per page template |
| 04 Physics | Motion & physics-driven interaction — scroll choreography, particles, simulated scenes | Scenes × fidelity tier |
| 05 Graphic Design | Brand kits, logo & identity, asset packs, illustration, motion graphics, print collateral, social templates | Kit + logo + per-piece rates by type |
| 06 Org Profile | Size multiplier, SSO, compliance posture, WCAG pass, languages, support retainer | Flat adders + multiplier + monthly tier |
The pilot follows this exact user journey. Each frame below sketches the screen state and the emotional beat we're aiming for.
Everything the calculator shows traces back to one plain-object config — PRICING — at the top of the pilot's script. The interface never hardcodes a dollar figure. That separation is the framework:
CONFIG (PRICING object — rates, multipliers, tiers) ↓ RULES (compute(state) — pure function, no DOM) ↓ STATE (user's slider/toggle selections, persisted to localStorage) ↓ RENDER (module costs, range band, breakdown bars, print sheet)
moduleSubtotal = Σ module costs // each: units × rate × tier multiplier orgAdders = SSO + compliance + WCAG + (locales × rate) sizeOverhead = moduleSubtotal × (sizeMultiplier − 1) // mid 1.0 · large 1.2 · global 1.4 oneTime = baseEngagement + moduleSubtotal + sizeOverhead + orgAdders shownRange = oneTime × (1 ± contingency) // ±15% timelineWeeks = max(2, 4 × (oneTime ÷ $20k)^0.55) // sublinear — budget adds crew, not calendar monthly = supportTier rate // separate line, never blended in
compute(state) touches no DOM. It can be unit-tested, moved server-side, or reused in a proposal generator without change.PRICING object is an illustrative starting value, not agreed Vivere pricing. Calibration against 3–5 real past engagements is step one of the rollout (Section 6).
Distilled from what works in enterprise pricing tools generally, and from Vivere's own client-report experience:
aria-pressed segmented controls, a polite live region on the total. A tool that claims WCAG passes as a line item had better pass one itself.The pilot is live in this folder as a single self-contained HTML file — no build step, no backend, deployable to Cloudflare Pages as-is.
PRICING config, ready to calibrate.| Capability | Status | Notes |
|---|---|---|
| Five build modules + org profile | ✔ Built | Sliders, toggles, segmented tiers |
| Live estimate band ±15% | ✔ Built | Updates on every input, aria-live |
| Per-module breakdown bars | ✔ Built | Includes discovery base + enterprise overhead |
| Timeline + monthly support line | ✔ Built | Derived from blended rate; support never blended |
| Print / PDF estimate sheet | ✔ Built | One-page, GVEC-adjacent print styling |
| Config persistence | ✔ Built | localStorage, shared across both views; reset clears |
| Side taskbar — module subtotals + client details | ✔ Built (v0.3) | Company / contact / project print on the receipt |
| Graphic design studio (7 asset types) | ✔ Built (v0.3) | Kit, logo, packs, illustration, motion, print, social |
| Demo key (sample configuration) | ✔ Built (v0.3) | One press loads a realistic large-corp config |
| Calibrated rates | ◻ Open | Needs 3–5 past engagements as ground truth |
| Lead handoff (email config to sales) | ◻ Open | v2 — optional, after the number is shown |
| Shareable config URL | ◻ Open | v2 — encode state in query string |
| Rung | Action | Exit criteria |
|---|---|---|
| 1 · Calibrate | Price 3–5 completed Vivere engagements through the engine; adjust PRICING until it lands within the band on all of them | Every back-test inside ±15% |
| 2 · Stage | Deploy to Cloudflare Pages staging; internal review on desktop + mobile | Joe signs off on staging URL |
| 3 · Embed | Link from vivereweb.com services page; watch which modules get configured most | 2 weeks of usage signal |
| 4 · Capture | Add optional "email me this estimate" — after the number is shown, never before | First inbound configured lead |
| 5 · Fork | Re-skin per client vertical (the config-driven framework makes this a rates-and-colors job) | First client-branded instance |