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

10 KiB
Raw Permalink Blame History

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).