One plan. The kit IS the takeaway — proposal, pricing, pitch script, discovery call, playbook, all in the user's name. Read it end-to-end and you'll know exactly what we're shipping.
A single Claude Artifact that turns 4 inputs (niche, experience, tier, currency) into a complete go-to-market kit for a new AI consultant: portfolio bio, 3 service tiers with pricing, a 1-page sample proposal, a 7-question discovery script, an objection bank, a 90-second pitch, and a first-3-clients playbook. Output renders inline as a tabbed kit + downloadable as PDF + HTML. Email-gated PDF is the lead magnet for HuVa Academy's "land your first AI client" cohort.
window.storage · users return to edit and re-exportaiminiapp · the lead-magnet PDF lives on the HuVa marketing siteFirst 5 seconds: the user lands and sees the rate they could charge — that's the imposter-killer. They give 4 dropdowns; we give a complete kit they could send to a prospect today.
| Layer | Choice | Why |
|---|---|---|
| Shell | Single React Claude Artifact | Distributed as a shareable link · runs in any Claude account · zero HuVa hosting (same shell as Marketer Pack). |
| UI | Tailwind + shadcn/ui patterns | Matches HuVa's design system · same tokens as Pivot + Build Plan + Marketer Pack. |
| i18n | In-component lang packs (EN / AM) | Same lang-pack pattern as the prior wireframes. |
| Generation | Anthropic API · window.claude.complete | One streaming call from the artifact. Billed to the user's own Claude — zero HuVa cost. |
| Output schema | Zod-validated structured kit | One type covers all sections · proposal, services × 3, discovery × 7, objections × 4, pitch, playbook × 4. |
| Rate index | Static rate-index.ts | Local TS file · benchmark price for 5 niches × 3 tiers × 4 currencies = 60 cells. Updated quarterly. |
| Persistence | window.storage | User's last kit + draft edits saved across artifact sessions. Zero server. |
| Export | Print CSS + raw HTML download | PDF via window.print() · HTML via data: URL · zero server cost. |
| Distribution | Claude Artifact link + HuVa Academy CTA | Lives as the lead magnet for the "Land Your First AI Client" cohort. PDF version email-gated on huva.io. |
Pricing is the imposter-killer. We don't let the LLM invent it — we look it up. The rate index is a static TypeScript file that benchmarks 60 cells (5 niches × 3 tiers × 4 currencies). The LLM uses these numbers verbatim. Change a number = the price changes everywhere in the kit immediately.
// lib/rate-index.ts
export const RATE_INDEX = {
"marketing-automation": {
starter: { USD: 1800, EUR: 1650, AMD: 720000, GBP: 1450 },
mid: { USD: 4800, EUR: 4400, AMD: 1900000, GBP: 3800 },
premium: { USD: 8200, EUR: 7500, AMD: 3300000, GBP: 6500 },
},
"custom-ai-agents": {
starter: { ... },
mid: { ... },
premium: { USD: 9200, ... },
},
"operations-automation": { ... },
"content-systems": { ... },
"customer-support-ai": { ... }
}
Each cell ships with a "what's included" list (3–5 deliverables). The LLM doesn't make up the deliverables — it picks from the list and adapts to the user's experience level.
| Item | Per use | / month @ 1k uses |
|---|---|---|
| Artifact hosting (Claude) | $0 | $0 |
| Generation · billed to user's Claude | $0 (HuVa) | $0 (HuVa) |
| PDF export (browser print) | $0 | $0 |
| Lead-magnet PDF on huva.io marketing | — | $0 (lives in marketing site) |
| Total HuVa cost | $0 | $0 |
Same cost story as the Marketer Pack — runs on the user's Claude. Differs from Pivot + Build Plan, which are HuVa-hosted Vercel apps with per-call API cost. The lead-magnet PDF is the closest thing to a recurring cost (storage on huva.io, ~$0).
rate-index.ts with 60 cells (5 niches × 3 tiers × 4 currencies)window.print() + HTML downloadwindow.storage persistence · last kit + edits savedReduced from the original 10–12h estimate because Pivot + Build Plan + Marketer Pack established the artifact shell, lang-pack pattern, Anthropic call shape, and Zod plumbing.
huva.io/kit/[id])| Risk | Kill it with |
|---|---|
| LLM hallucinates a price the user can't actually charge | Prices come from rate-index.ts, not the LLM. Zod schema rejects any kit where the proposal price doesn't match the looked-up cell. Hard fail, regenerate. |
| Proposal feels generic · doesn't pass a real prospect's smell test | Golden-output tests on each niche × tier combo · Ani + Nick review the EN/HY samples for each persona before launch · the wireframe samples are the bar. |
| User's Claude session quota runs out mid-stream | Catch the error · show "your Claude session hit its limit · here's the partial kit so far" · save what we have to window.storage for retry. |
| Armenian translations of proposal/discovery feel stilted | Native Armenian review (Ani) on EN / ՀԱՅ lockup before launch · the proposal HY copy needs to read like an Armenian consultant wrote it, not like a translation. |
| Currency conversions go stale | Rate index is the source of truth · it's a static file, not a live conversion. Quarterly refresh tied to actual freelancer benchmarks. |
| PDF export breaks on long kits / weird browsers | Print CSS tested on Chrome / Safari / Firefox before launch · fallback HTML download for users on weird setups. |
Three checkboxes ship the work:
huva.io/mediakit landing page in v1Once approved, we move straight to the implementation plan: the rate-index population (60 cells), the prompt + schema for the full kit, the print stylesheet.