# Build brief — a focused alternative to Hive CPQ

> **Verdict:** Partly, if you narrow it · **Buildability:** 56/100 · **Category:** Sales Outreach
> **Source:** https://www.canitbevibecoded.com/hive-cpq
> Independent editorial assessment from Can It Be Vibe Coded? Not affiliated with, endorsed by, or derived from Hive CPQ. Verify current pricing and capabilities before acting.

## Context

**Hive CPQ** — Configure-price-quote software for manufacturers: rule-driven product configurators, dealer portals and quotes that feed into ERP.

The mechanical core of CPQ is not mysterious: a product tree, option groups, compatibility rules, a pricing formula, a PDF at the end. An agent can produce a working configurator for one product family in a focused implementation, and if you sell a few hundred SKUs with predictable option logic, that build may genuinely be enough. What you are not one-shotting is the part that makes CPQ a purchase: ERP and CRM sync, dealer accounts with their own price lists and discounts, 3D or 2D visual previews, multi-language catalogs, and someone maintaining the rule set when engineering changes a hinge. Also worth being honest that CPQ failure is expensive: a bad rule ships a quote that cannot be manufactured at the price you promised. So: buildable, and a bad idea to trust for anything you actually invoice on until the rules have been beaten on for months.

This brief describes a focused, single-operator replacement for the part of Hive CPQ that is genuinely reproducible. It is deliberately narrower than the product it replaces, and it says so in writing. Build the useful core; do not pretend to have rebuilt the rest.

## What you are building

A local web app where you define option groups, compatibility rules and pricing formulas in a config file, then walk through a guided configurator that validates choices, prices the result and exports a branded quote PDF.

- Track contacts, sequence outreach, and log replies for a pipeline you own.
- A responsive interface with real empty, loading, success, and error states.

## Requirements

### Functional

- Your own product rules written down: option groups, incompatibilities, required combinations.
- A pricing model you can express as formulas, base price plus option deltas plus margin.
- Node 20 and a place to run it, local or a small VPS.
- Manual re-entry of accepted quotes into whatever ERP or accounting system you actually use.

### Non-functional

- Accessibility: semantic markup, labelled controls, visible focus, and reduced-motion support.
- Security: server-side secrets, validated input, and no credentials in the client bundle.
- Reliability: retries with backoff on external calls, and a clear failure state when a provider is down.
- Portability: the operator can export their data and leave without losing it.

## Implementation brief

Build a local configure-price-quote tool for a single manufacturer with a configurable product line.

Stack, no substitutions: Next.js App Router with TypeScript, Tailwind, SQLite via better-sqlite3, PDF generation with @react-pdf/renderer. Runs with npm run dev. No auth provider, no cloud services, no telemetry.

Catalog definition lives in /catalog/*.yaml, loaded at startup and validated with zod. A catalog file defines: product families, option groups (each with a type of single-select, multi-select or numeric), options with id, label, price delta and optional lead time, and rules. Support three rule kinds: requires, excludes, and a constraint expression evaluated against the current selection. Fail loudly on invalid catalog files, do not silently skip.

Pricing: each option contributes a delta; support a per-family formula string, evaluated with a small safe expression evaluator over selected values and quantities, plus configurable margin and discount percentages. Show a live price breakdown line by line, never just a total.

Configurator UI: pick a family, then step through option groups. Invalid options are disabled with the rule that blocked them shown in plain text. Selections persist in the URL so a configuration is shareable as a link.

Quotes: save a configuration as a quote with customer name, quote number, valid-until date, notes and line items. Quotes are immutable once marked sent; edits create a new revision that references the previous one. List view with filter by status.

PDF: one branded quote template reading company name, address and logo path from .env. Include the option breakdown, totals, lead time and validity date.

Seed with a fake product family of about twenty options and at least four interacting rules, so the rule engine is exercised on first run.

Include a rules test suite with vitest: for each catalog file, assert that seeded valid configurations price correctly and that known-invalid combinations are rejected.

Out of scope, do not build: ERP or CRM integration, 3D or image visualization, dealer accounts and per-customer price lists, multi-currency, tax calculation, email sending, payments, multi-tenancy.

Write a README covering catalog file format, rule syntax, and a blunt warning that pricing rules must be tested before any quote leaves the building.

## Delivery standard

- Inspect the repository first, then write a short implementation plan before writing code.
- Deliver the smallest complete end-to-end workflow first; every primary control must work against persisted data.
- Use real validation and storage; never substitute fake dashboards, decorative controls, hard-coded success states, or mock integrations.
- Include responsive layouts plus genuine empty, loading, success, validation, and failure states.
- Keep secrets server-side in environment variables, provide .env.example, and never commit credentials or user data.
- Add structured logs around every external call and return actionable errors without leaking sensitive details.
- Write unit tests for the core logic and one automated test of the main user journey.
- Finish with a README covering setup, architecture, data location, backups, tests, deployment, and known limitations.

## Acceptance criteria

- [ ] A clean install starts the app using only the README and .env.example.
- [ ] The primary journey works from first visit through saved result, reload, edit, export, and deletion where applicable.
- [ ] Invalid input, missing configuration, provider failure, and an empty database each have a usable state.
- [ ] The interface works at 390px and 1440px, is keyboard navigable, and shows visible focus on every control.
- [ ] Tests, type checking, linting, and a production build all pass with no ignored failures.
- [ ] No part of the interface implies a live integration, security guarantee, or scale capability that was not actually built and verified.

## Non-goals

Do not build these, and do not claim to have replaced them:

- ERP and CRM integrations, so accepted quotes become copy-paste work.
- A dealer or reseller portal with per-account price lists, discount tiers and order history.
- Visual product previews, 3D or otherwise, which is often the thing that closes the sale.
- Anyone but you maintaining the rule engine when the catalog changes.
- Version control on quotes and catalogs, audit trails, and the boring guarantees a buyer expects when a quote is contractual.

## What you still own after launch

- Run migrations, backups, restores, and dependency updates.
- Test the critical journey after every model, API, or hosting change.
- Monitor failures and fix the edge cases a first prompt will miss.
- Maintain every third-party integration as APIs and OAuth rules change.

## Risk

**Operational risk.** The code is achievable; dependable data, integrations, and ongoing operations are the real cost.

Editorial confidence in this assessment: low. No reviewed project implementation is linked yet.

---

Generated by [Can It Be Vibe Coded?](https://www.canitbevibecoded.com) · Full report: https://www.canitbevibecoded.com/hive-cpq
