Files
frame44-landing-page/docs/frame44-site-update-prompt.md
2026-07-16 16:36:46 -04:00

96 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Frame 44 site update — realign pricing model, gate prices, add data catalogue
Three tasks in one pass, on the existing Eleventy (11ty v3) site. Keep the current architecture exactly: all pricing content in `src/_data/*.json`, Nunjucks templates, plain CSS, the i18n split, no hardcoded prices in templates, no new build tooling.
**Read `CLAUDE.md` and `README.md` first** — follow the data-driven pattern, filter/shortcode conventions, logo/passthrough rules, and i18n scaffolding described there.
---
## HARD RULE — no prices anywhere on the public site
**No dollar figures, no "starting at," no ranges, anywhere in the built site.** Pricing lives only in a PDF guide sent on request. Price fields still exist in the JSON data files (for internal use and future PDF generation) but **must never be rendered in a public template**. Add a build-time check: grep the rendered `_site/` output for `$` in page content and confirm none appears in pricing context. If a price would surface on a page, that's a bug.
The public site's job: explain *how* pricing works and *what* exists, then capture the lead via two CTAs — **"Request the pricing guide"** and **"Inquire"**. Every interested museum should identify itself before it sees a number.
---
## TASK A — Replace the outdated pricing model
The current `packages.json` (Exhibit One / Gallery / Flagship / Multi-Site, build+annual prices) is from an older model. Replace the data model with the current one. Update the JSON so the data is correct and internally consistent; the public templates render names and descriptions only (never prices — see hard rule).
1. **`packages.json` → Studio tiers, one-time.** Three objects:
- Studio 1 — `oneTimePrice` 2500, features: "1 published exhibit", "1 theme"
- Studio 3 — `oneTimePrice` 7000, `badge` "Most chosen", features: "3 published exhibits", "All themes"
- Studio 5 — `oneTimePrice` 10000, features: "5 published exhibits", "All themes + custom branding"
- Add a shared-features string rendered once beneath the three cards: "Every Studio includes the map builder, timeline, English/French translation, web + touchscreen output, and hosting."
2. **New `maintenance.json`** — M&S annual tiers: Studio 1 (or a ready-to-go exhibit) 2500, Studio 3 3500, Studio 5 4500. Plus a coverage string ("Covers hosting & uptime (or on-premise server care), software updates & new features, screen monitoring & content sync, staff support by email & phone, security patching & backups.") and the footnote "Screens and on-premise add-ons include their own yearly maintenance, shown under Deployment."
3. **New `deployment.json`** — Cloud (included), On-Premise Server (+30% one-time, then +30%/yr), Gallery Screen (2500 one-time, then +500/yr), Custom Web Address (250 one-time; subdomain free).
4. **`aitools.json` → "AI & community tools."** Four items with the fuller descriptions:
- Visitor Chatbot — "A conversational guide on your gallery screens and website, answering visitor questions using only your approved exhibit content — so answers always stay accurate and on-brand."
- Research Chatbot — "A staff-only research assistant that searches across your full licensed archive in plain English, surfacing sources fast for exhibit development and visitor inquiries."
- Document Transcription — "Turns scanned letters, logs and documents into searchable, quotable text — so your archive becomes something visitors and staff can actually find things in."
- Community Contributions — "Community photo & story uploads with built-in moderation — nothing publishes without approval. Includes AI pre-screening & audit log."
5. **New `readymade.json`** — ready-to-go exhibit packages ("a finished, researched guided exhibit with its animated map — Studio included, ready to publish in weeks; growing library"). Entries: Dieppe, 419 Bomber Squadron.
6. **`historicalCollections.json` → keep per-collection objects** (the catalogue uses them) but they carry names/descriptions/coverage, not public prices. Reframe any pricing-page reference as "we'll recommend the right fit — request the pricing guide," never a printed grid.
7. **`extras.json`** — keep worked-example *inputs* in JSON for future PDF use, but the worked examples **do not render on the public site**. Remove the hardware-range and installation-timeline references from public pricing templates (they no longer appear under the new model).
8. **Rework `/pricing/`, `/platform/`, and the home pricing teaser** to the new model with **zero prices**:
- Intro line: "Interactive map exhibits for museums and heritage sites — any story that unfolds across a place. You buy the software once, then pay a yearly plan to keep it running."
- **Three ways to start** cards: *License a ready-made exhibit* (Fastest) — "A finished exhibit — Dieppe, 419 Bomber Squadron — live in weeks." · *We build it for you* (Most popular) — "Our team researches, writes and builds a guided map-story that carries visitors through your history, chapter by chapter." · *Build it yourself* (Most control) — "Your staff create exhibits in Studio, our builder."
- **What a Studio is** (no prices): the builder, running on the Frame 44 Atlas platform; exhibits run on your website and on gallery touchscreens; every Studio includes the map builder, timeline, EN/FR translation, web + touchscreen output, and hosting.
- **Custom builds:** "We create guided map-stories for any history rooted in place — a regiment's war, a ship's voyages, a town's growth, an expedition's route. Full archival research, writing, map animation and Studio build, shaped to your collection." (No price.)
- **Deployment options** (Cloud / On-Premise / gallery screens / custom web address) described by name only.
- **AI & community tools** described by name + description only.
- **Historical data:** described, with a link to `/catalogue/`.
- **Trust strip:** "Bilingual by design (English/French) · Runs offline on secure networks · Your content stays yours · Grant-ready paperwork included · Built for museums of every kind."
- **Dominant CTA, top and bottom of `/pricing/`: "Request the pricing guide"** — a short form (name, institution, email, optional message) that emails info@frame44.com; the reply sends the current pricing guide PDF and books a call. Use the site's existing contact/mailto pattern if no form backend exists (a structured `mailto:` with subject "Pricing guide request" is acceptable until a form backend is added — flag as TODO).
- Retire old package names (Exhibit One / Gallery / Flagship / Multi-Site) everywhere they appear.
9. **Confirmed values:** set `contactEmail` to **info@frame44.com** and `contactEmailConfirmed: true` in `site.json`. Update the `mailto:` on the contact page accordingly.
---
## TASK B — New `/catalogue/` page
A browsable catalogue of licensable data and exhibits at `src/catalogue/index.njk`. **No prices** — every tile ends in an **"Inquire"** CTA (structured `mailto:` to info@frame44.com with a subject naming the item, or a link to the contact page). Data-driven from JSON like the rest of the site.
Make both `/catalogue/` and `/data/` resolve here (alias or redirect), because the pricing guide PDF links to `frame44.com/data`. Add `/catalogue/` to the main nav.
Three groups:
1. **Ready-to-go exhibits** (from `readymade.json`) — image tile each (Dieppe, 419 Bomber Squadron): thumbnail, title, one-line description, "guided map-story" framing, "Inquire" button, plus a "new exhibits added regularly" note.
2. **Data collections** (from `historicalCollections.json`) — tiles for: Project '44 WWII mapped data (with a coverage tag, e.g. "First Canadian Army · NW Europe & Italy · 194345"), War diaries (digitized, searchable primary sources), Story maps (guided narratives), Project Athena (Afghanistan photo archive), Project Friction (Gulf War). Each tile: thumbnail, description, a **coverage/scope tag**, "Inquire" CTA. The coverage tag answers a regimental museum's first question — "do you have my unit?" — at a glance.
3. **Maps & imagery** (new `cartography.json`) — the differentiator: Historical basemaps (GSGS series, army-group situation maps, period projections), 194446 aerial imagery, Historical site layers ("a site mapped through time"). Each tile: thumbnail, description, "Inquire."
Plus a closing **"Don't see your subject?"** tile → custom research build → contact CTA, so non-military museums (maritime, civic, settlement) see themselves in the catalogue.
**Images:** screenshots will be supplied at `src/assets/images/catalogue/{dieppe,419sqn,aerial,wardiary,basemap}.jpg`. For any tile whose image isn't present yet, use the existing SVG-placeholder approach and flag it as a TODO. Follow the README's logo/passthrough conventions.
---
## Guardrails
- **No prices in any rendered public page** (the hard rule above). Price fields live in JSON for internal/PDF use only.
- **Never describe Frame 44 as owning Project '44's research.** Correct framing: Frame 44 licenses data from Project '44 (CRMA). Footer/data lines read "Data licensed from Project '44 (CRMA)."
- **Two product names only: Atlas** (the platform) and **Studio** (the builder). Never "Enhanced Content Builder" or "ECB"; never coin new product names. The kiosk output is "gallery screens"; the web output is "web exhibits."
- **Don't invent** prices, coverage claims, collection names, testimonials, or team bios beyond what's in the data files. Anything unknown → `<!-- TODO -->` and list it at the end.
- Follow the existing i18n pattern (strings in `src/_data/i18n/en.json`), keep the `/fr/`-ready structure intact.
## Definition of done
- `npm run build` succeeds; `npm run serve` renders cleanly, responsive 3601440px.
- **Zero dollar figures anywhere in `_site/` page content** (grep to verify).
- `/pricing/` sells the model and drives "Request the pricing guide"; `/catalogue/` (and `/data/`) browse-only with "Inquire" CTAs.
- Old package names (Exhibit One / Gallery / Flagship / Multi-Site) appear nowhere in the built site.
- `contactEmail` is info@frame44.com and confirmed.
- A README/CLAUDE.md note added documenting the new data files (`maintenance.json`, `deployment.json`, `readymade.json`, `cartography.json`) and the no-public-prices rule.
- Final message: list every `<!-- TODO -->` placeholder still needing input (screenshots, form backend, fonts, museum copy, team bios, OG image).