diff --git a/features/lp/README.md b/features/lp/README.md new file mode 100644 index 0000000..fbc612f --- /dev/null +++ b/features/lp/README.md @@ -0,0 +1,44 @@ +# Landing-Page Research & Strategy — `features/lp/` + +Competitive research and landing-page strategy for **KiCad in a web browser, with real-time collaboration**. + +Generated **2026-06-07** by two automated, multi-agent web-research passes: + +1. **Per-competitor teardown** — one researcher agent per competitor fetched the live homepage + pricing/feature pages and extracted structured positioning. Output rendered deterministically so no competitor is dropped. → `competitor-landing-pages.md` +2. **Adversarially-verified synthesis** — a second pass fanned out search angles, fetched ~21 primary sources, extracted ~95 claims, and put the top 25 through 3-vote adversarial verification (a claim needs 2/3 skeptic votes to be killed). → `competitive-analysis-synthesis.md` + the two angle files. + +> ⚠️ **Point-in-time.** Landing pages, hero copy, and especially pricing change fast. Re-verify any price or headline before using it in a launch. Where an automated fetch hit HTTP 403 (e.g. Cadence, Fritzing), claims were corroborated via vendor sub-pages and independent sources rather than the canonical URL. + +--- + +## Files (recommended reading order) + +### Competitor research (the core ask) +| File | Size | What it is | +|---|---|---| +| **`competitor-landing-pages.md`** | ~330 KB | **PRIMARY deliverable.** Exhaustive teardown of **26 competitors** (the 21 named + Wokwi, CircuitLab, tscircuit, KiCanvas). Part I = strategic synthesis (positioning map, comparison table, gaps, recommended positioning + 3 hero headlines, 13-section LP outline, risks). Part II = verbatim per-competitor profiles (hero copy, sections, pricing, CTAs, social proof, differentiators, tone, collaboration/browser angle). 19/26 high-confidence. | +| `competitive-analysis-synthesis.md` | ~16 KB | The **verified "spine."** Only the claims that survived 3-vote adversarial verification, with citations. Tighter and higher-confidence than Part I, narrower coverage (Flux, Altium 365, OrCAD X, LibrePCB, Horizon, Fritzing, Quilter). Start here if you want the defensible core. | +| `incumbent-desktop-eda-cloud-marketing.md` | ~15 KB | Angle detail: incumbent desktop suites + their cloud add-ons (Altium, Cadence OrCAD X, Zuken, Fusion/EAGLE, DipTrace, CircuitMaker) and how they frame cloud/collaboration. | +| `competitors-ai-automation-parts.md` | ~13 KB | Angle detail: AI/automation, "Git-for-hardware," parts, and requirements players (Quilter, JITX, CELUS, AllSpice, SnapMagic, Valispace, AISLER). | + +### Landing-page execution (bonus — beyond the competitor ask, but tailored to this product) +| File | Size | What it is | +|---|---|---| +| **`pcbjam-landing-page-copy-and-visuals.md`** | — | **The deliverable.** Build-ready, section-by-section copy + visuals spec for the **PCBJam** marketing site (landing + supporting pages), grounded in this folder's research, Emergence Engineering's brand/voice (`../../../blog/`), and a real on-disk SVG inventory. Locked decisions: name=**PCBJam**, **waitlist** launch, **product-first + EE consulting credit**, **open + free-to-start (no price table yet)**. Includes asset map, per-section copy, SEO, and a production checklist. | +| `brand-guide.md` | ~21 KB | Brand & design tokens for the marketing site. Grounded in the real `site/` Astro project (`site/src/styles/global.css`): color scales, typography, voice/tone, collaboration palette. | +| `landing-page-best-practices.md` | ~51 KB | General, data-backed landing-page/CRO reference (structure, copy, CTAs, forms, trust, performance, SEO, A/B testing), with claims graded verified vs. established-practice. | +| `marketing-site-playbook.md` | ~82 KB | The full marketing-surface playbook: homepage, feature/use-case/comparison/integration pages, pricing, demo, SEO/GEO/CRO, performance (the WASM problem), launch GTM, implementation checklists. (Formerly `README.md`.) | +| `astro-templates-and-component-libraries.md` | ~25 KB | **Build-tooling survey.** Exhaustive, adversarially-verified rundown of Astro landing-page templates (AstroWind, Astroship, Cruip…), Astro-native + Tailwind component libraries (daisyUI, Preline, Accessible Astro, Starwind), Tailwind Plus (paid), React-island libs (shadcn/Magic UI/Aceternity) + tradeoffs, animation, icons/fonts/code-blocks, and SEO/perf tooling — all weighed against the real `site/` Astro project. **Decision: use Tailwind** (`npx astro add tailwind` + daisyUI). Free pick: AstroWind blocks; paid pick: Tailwind Plus ($299). | + +--- + +## The one-paragraph takeaway + +Across 26 competitors, **no one occupies the intersection of browser-native full editing + true real-time multiplayer + open-source.** Flux.ai is the only head-on rival (browser + collaboration) but it is proprietary, metered per editor ($112–158/editor for Pro/Teams), and has pivoted its headline to AI ("the world's first AI hardware engineer"). Incumbents (Altium 365, OrCAD X) are desktop-authoring + browser-*review-only* ("Design on your desktop. Collaborate in the cloud."). OSS peers (LibrePCB, Horizon, Fritzing) are desktop-only with no collaboration. KiCanvas proves browser-native KiCad rendering has demand — and stops at read-only, exactly where we begin. The open lane: **"KiCad, in your browser — now multiplayer"** — real co-editing (not just viewing), on the open toolchain people already trust, no install, no lock-in. + +--- + +## Provenance & caveats +- Fully machine-generated from live web sources on 2026-06-07; treat as a strong first draft, not ground truth. Spot-check any number you quote externally. +- The per-competitor pass (`competitor-landing-pages.md`) is broader but lower-bar; the verified synthesis is narrower but adversarially checked. They agree on every major conclusion. +- One claim was refuted 0-3 and excluded: that OrCAD X's *core* positioning is cloud-first. It is desktop-first with a cloud review layer. diff --git a/features/lp/astro-templates-and-component-libraries.md b/features/lp/astro-templates-and-component-libraries.md new file mode 100644 index 0000000..7c05805 --- /dev/null +++ b/features/lp/astro-templates-and-component-libraries.md @@ -0,0 +1,367 @@ +# Astro templates & component libraries — tooling survey for the kicad-wasm site + +**Scope:** Modern, popular **Astro** landing-page templates and component/UI libraries that are +simple to set up and give a beautiful design skeleton out of the box — free *and* paid — chosen for +the **kicad-wasm** marketing site (a WebAssembly browser port of KiCad; a technical EDA / dev-tool). + +**Date:** 2026-06-07 · **Companion to:** `brand-guide.md`, `marketing-site-playbook.md`, +`landing-page-best-practices.md` (this file is the *implementation-tooling* layer — what to build the +skeleton **with**; the others cover brand, content/CRO, and competitive positioning). + +> ### ⚠️ Read this first — the site already exists +> `site/` is **already an Astro `^6.4.4` project**: `output: 'static'`, `@astrojs/vercel` adapter, +> `prefetch` on, with a **hand-rolled CSS design system** (`src/styles/global.css` — CSS custom +> properties, dark theme: `--bg:#0b1020`, `--accent:#4f7cff`, `--radius:10px`). It has +> `BaseLayout`, `Header`, `Footer`, `index`, a `blog/` collection, and legal pages. +> **Tailwind is NOT installed.** So this is *not* a greenfield "pick a template" decision — most of +> the libraries below are Tailwind-based, which makes **§7 Decision 0 (adopt Tailwind, or stay +> CSS-only?)** the real fork in the road. Don't scaffold a fresh template *over* the working site; +> the templates below are best used as **block-harvest references**, not a foundation to overwrite. + +**Methodology:** deep-research harness — 5 search angles → 22 sources fetched → 101 candidate claims +→ top 25 adversarially fact-checked (3 skeptics each, 2/3 to kill). 24 confirmed, 1 refuted. Stars / +versions / prices are point-in-time (June 2026) and will drift — re-verify before buying/pinning. + +**Confidence legend:** + +| Marker | Meaning | +|---|---| +| ✅ | Verified 3-0 against primary sources this run | +| ⚠️ | Verified with a caveat (2-1 vote, or a soft/vendor-reported sub-claim) | +| 📋 | Established ecosystem fact, included for breadth; not independently re-verified this run | +| ❌ | Tested and **refuted** — do not rely on it | + +--- + +## TL;DR for kicad-wasm + +1. **You already have an Astro site, not a blank slate.** The highest-leverage move is + **`npx astro add tailwind`** on the existing `site/`, then layer a component library on top — + *not* replacing `global.css` with a whole new template. +2. **Best free component layer once Tailwind is in: [daisyUI](https://daisyui.com)** ✅ — 65 + components, 35 themes, config-free v5 install, semantic classes that coexist with your CSS-var + tokens. Its `mockup-window` / `mockup-code` / `mockup-browser` components are perfect for framing + the live WASM demo and CLI snippets. +3. **Best paid: [Tailwind Plus](https://tailwindcss.com/plus)** ✅ ($299 one-time) — 500+ components + in **vanilla HTML**; paste Marketing blocks (hero, pricing, features, FAQ) straight into `.astro` + and recolor to your tokens. Best ROI of any paid option here. +4. **Best template to mine for blocks (free): [AstroWind](https://github.com/arthelokyo/astrowind)** + ✅ — most-starred Astro theme (~5.7k★), MIT, **Astro v6 + Tailwind v4 (matches your Astro 6.4)**. + Copy individual widget components (Hero, Features, Pricing, FAQ) rather than adopting wholesale. +5. **Code blocks:** add **[Expressive Code](https://expressive-code.com)** ✅ for install/usage + snippets (copy button, titles, highlighting) — table-stakes for a dev tool. +6. **Stay light:** the page will host a heavy WASM demo. **Prefer zero-JS Astro/Tailwind + CSS/GSAP + over React islands.** React component libs (shadcn/Magic UI/Aceternity) are optional flair only. + +--- + +## 1. Landing-page templates / themes + +A *template/theme* is a whole-page skeleton (hero, features, pricing, footer, config). Fastest path +to "beautiful out of the box" — **but** since `site/` already exists, treat these as **reference / +block sources** (MIT lets you copy individual components) unless you decide to restart from one. + +### Free / open-source + +| Template | Stars / forks | Stack | License | Maintenance | Notes | +|---|---|---|---|---|---| +| **[AstroWind](https://github.com/arthelokyo/astrowind)** ✅ | ~5.7k ★ / ~1.6k forks — **most-starred Astro theme** | Astro ^6.4 + Tailwind ^4.3 | MIT | **Active** — beta.60 (May 11 2026), Astro v6 + TW v4 migration done, v2.0 planned, Node ≥22.12 | Astro version **matches your `site/`**. Ships hero/feature/pricing/FAQ/footer widgets + SEO/RSS/sitemap/OG wired. Best mined for individual `~/components/widgets/*`. Org renamed `onwidget`→`arthelokyo` (old URLs redirect; npm still `@onwidget/astrowind`). | +| **[Astroship](https://github.com/surjithctly/astroship)** 📋 | popular | Astro + Tailwind | MIT | Maintained (Web3Templates) | Clean SaaS/startup marketing skeleton. Has a paid **Astroship Pro** with more pages/blocks. | +| **[mhyfritz/astro-landing-page](https://github.com/mhyfritz/astro-landing-page)** ✅ | 675 ★ / 224 forks | Astro + Tailwind | MIT | ⚠️ **Stale** — last push 2024-11-24 (~18 mo), not archived | Simpler single-page template; dark mode, responsive, a11y, SEO, OG, CSS-var theming. Deps likely need manual upgrade. | +| **[RicoUI SaaS Template](https://github.com/ricocc/ricoui-saas-template)** ✅ | OSS | Astro 6 + Tailwind v4 | OSS (MIT-style) | Current | Free SaaS landing in the official directory; demo `ricofast.pages.dev`. | +| **ProCleaning** ✅ | — | Astro + Tailwind | free in directory | — | Example free responsive landing listed in the Astro directory. | +| **[Astro Paper](https://github.com/satnaing/astro-paper)** 📋 | ~4.7k ★ | Astro + Tailwind | MIT | Active | Blog-first (#2 most-starred Astro theme). Relevant for the `blog/` you already have. | +| **[Astroplate](https://github.com/zeon-studio/astroplate)** 📋 | ~1.1k ★ | Astro + Tailwind | MIT | Active | Starter with blog + pages. | + +> ✅ AstroWind is independently confirmed **#1 by stars** on the `astro-themes` topic (5.7k, ahead of +> Astro Paper 4.7k, Astroplate 1.1k), and its SEO claims are verified **at the source-code level**: +> `package.json` really lists `@astrojs/sitemap`, `@astrojs/rss`, `astro-seo`, and `astro.config.ts` +> calls `sitemap()`. + +### Paid / premium + +| Vendor / product | Price | Stack | Notes | +|---|---|---|---| +| **[Tailwind Plus](https://tailwindcss.com/plus)** ✅ (ex–Tailwind UI) | **$299** personal / **$979** team (≤25), **one-time, lifetime, no subscription**, 30-day refund | Tailwind — vanilla HTML + React + Vue | Not one theme — a 500+ component library incl. Marketing blocks + full Landing-Page examples. **The recommended paid pick** (see §3). | +| **[Cruip](https://cruip.com)** 📋 | free + premium | Tailwind (HTML/React); Astro ports exist | Very polished startup/SaaS landing templates; some free, flagship paid. Classic "looks-expensive" pick. | +| **[Lexington Themes](https://lexingtonthemes.com)** ⚠️ | per-theme + **Full Access** | Astro + Tailwind | Large Astro marketing/SaaS catalog. Confirmed as paid/all-access in the directory; exact bundle price not verified this run. | +| **[Cosmic Themes](https://cosmicthemes.com)** ⚠️ | per-theme + **All Access** | Astro + Tailwind | Astro-specialist studio; SaaS/landing themes, i18n, blog. Paid confirmed; price not verified this run. | +| **AstroVault / Zarex / Fortify Astro** ⚠️ | paid / all-access | Astro + Tailwind | Additional premium Astro vendors in the directory. Existence-as-paid confirmed; pricing/license **not** individually verified. | +| **ThemeForest / Lemon Squeezy / Gumroad** 📋 | one-off (~$15–$60 typical) | mostly Astro + Tailwind | Many Astro landing themes; quality/maintenance vary — check last-updated + reviews. | + +### Official Astro themes directory — the browsing entry point ✅ + +**** — canonical first-party catalog. +- Dedicated **"Landing pages"** category: *"Showcase your product or service with a stylish landing + page template."* +- **23 pages** of landing-page-tagged themes (~20/page), with a **Free vs Paid pricing filter**. ✅ +- Caveat: size proves quantity, not curation quality — vet each theme's maintenance. + +--- + +## 2. Astro-native / Astro-first component & UI libraries + +Building blocks as **native `.astro` components or plain Tailwind** — **no React island**, zero added +client JS by default. Best fit for a page that also carries a heavy WASM demo. + +| Library | What it is | Status | Astro fit | License | +|---|---|---|---|---| +| **[Accessible Astro Components](https://github.com/incluud/accessible-astro-components)** ✅ | 35+ native `.astro` components: Accordion, Breadcrumbs, Card, Pagination, Tabs, Modal, Notification, DarkMode toggle, form fields | npm v5.3.1, active | `import { Modal } from 'accessible-astro-components'` — **zero framework integration**, works with or without Tailwind | MIT | +| **[Starwind UI](https://github.com/starwind-ui/starwind-ui)** 📋 | shadcn-style copy-in components **built for Astro** (Tailwind v4), accessible, themeable | Active | Native Astro; CLI adds components to your tree. The shadcn workflow **without React** | open-source | +| **[Preline UI](https://preline.co/docs/frameworks-astro.html)** ✅ | Large Tailwind component lib with an **official Astro install guide** + interactive overlays/dropdowns/tabs via its JS plugin | ~6.3k ★, v4.2.0 (2026-05-10), active | First-class Astro; **requires Tailwind first** (architectural dependency) | free, OSS (Apache-2.0) | +| **[Flowbite](https://flowbite.com)** 📋 | Tailwind components + marketing blocks; Astro usage docs | ~8k★+, active | Works in Astro via its JS for interactive bits | MIT core; some blocks paid | +| **Accessible Astro Starter / Dashboard** 📋 | Full starter projects from the `incluud` team | Active | Complete bases pairing with the components above | MIT | + +> ⚠️ **Refuted — don't repeat:** the stronger claim that Accessible Astro Components are +> *"WCAG-compliant with comprehensive accessibility audits"* did **not** survive verification (1-2). +> They're *accessible-by-design* (good ARIA/markup), but make no formal-audit/certification claim. + +--- + +## 3. Tailwind-based component libraries usable in Astro (framework-agnostic HTML) + +Astro renders plain HTML natively, so any **copy-paste Tailwind HTML** library works with **zero +integration** (once Tailwind is installed — see §7 Decision 0). The sweet spot for a fast, light +dev-tool page. + +| Library | Price | What you get | Astro install | Verified | +|---|---|---|---|---| +| **[Tailwind Plus](https://tailwindcss.com/plus)** | $299 / $979 one-time | **500+ components**; Marketing: Hero (12), CTA (11), Pricing (12), Stats (8), Testimonials (8), Team (9), FAQs (7), Footers (7), Flyout Menus (7), 404 (5), Landing Pages (4 full), About (3). In **vanilla HTML** + React + Vue | Paste HTML into `.astro`. `@tailwindplus/elements` (CDN ` +``` + +### 29.4 `FAQPage` JSON-LD (answers 40–60 words, answer-first) + +```html + +``` + +### 29.5 `JobPosting` JSON-LD (each job page) + +```html + +``` + +### 29.6 Hero copy templates (swap to taste) + +``` +Eyebrow: BROWSER-BASED · COLLABORATIVE · KICAD-NATIVE +H1: Real PCB design, in your browser — together +Subhead: Open any KiCad project and co-edit the schematic and board with your + whole team in real time. Nothing to install. Your native files, no lock-in. +Primary: Open the editor → +Second: ⭐ Star on GitHub | Watch 2-min demo +Micro: No credit card · Free for public projects · Used by 12,000+ engineers +``` + +### 29.7 Comparison-page H1 + verdict-table skeleton + +``` +H1: [Product] vs Altium 365: which PCB tool should you choose? +Intro (honest): We build [Product], so we're biased — here's the straight comparison, + including where Altium 365 is the better choice. + +| Capability | [Product] | Altium 365 | +|----------------------------|-----------|------------| +| Runs in browser, no install| ✓ | ✗ (desktop)| +| Real-time co-editing | ✓ | partial | +| Opens native KiCad files | ✓ | ✗ | +| Self-host option | ✓ | ✗ | +| Free tier | ✓ | ✗ | +| Mature high-speed/RF tooling| growing | ✓ | + +### When to choose Altium 365 +If you need [X mature capability] today, Altium is still ahead. Here's our honest take… +``` + +### 29.8 Sources + +Full source URLs (NN/g, Unbounce, First Page Sage, Pixelswithin, Evil Martians, Navattic, Baymard, Google Search Central / web.dev, Deloitte/Google, Princeton GEO KDD 2024, Semrush, Ahrefs, Backlinko, Ongig, TODO Group, KiCad.org, and others) are preserved in the research briefs that informed this playbook. Re-verify fast-moving figures (GEO/AI-Overview stats, pay-transparency law thresholds, CWV thresholds) before relying on them externally — they change quarterly. + +--- + +*This is a living document. Revisit §0 (positioning) and §28 (benchmarks) quarterly, and re-audit the GEO (§17), pay-transparency (§21.2), and CWV (§18) sections whenever the underlying platforms change.* diff --git a/features/lp/pcbjam-landing-page-copy-and-visuals.md b/features/lp/pcbjam-landing-page-copy-and-visuals.md new file mode 100644 index 0000000..5c11bec --- /dev/null +++ b/features/lp/pcbjam-landing-page-copy-and-visuals.md @@ -0,0 +1,736 @@ +# PCBJam — Landing Page Copy & Visuals Spec + +> **What this is.** A build-ready, section-by-section outline of *copy* (verbatim-ready) and +> *visuals* (with real asset paths) for the **PCBJam** marketing site and its supporting pages. +> It synthesizes the competitive research in this folder (`competitor-landing-pages.md`, +> `competitive-analysis-synthesis.md`, `brand-guide.md`, `marketing-site-playbook.md`, +> `landing-page-best-practices.md`) with **Emergence Engineering's** existing brand, voice, and +> asset library (the `blog/` repo one level above this project root). +> +> Generated 2026-06-07. Treat copy as a strong first draft to edit, not gospel. Re-verify any +> external claim/number before publishing (see the point-in-time caveats in the research files). + +--- + +## 0. Locked decisions (the brief) + +These four choices were confirmed by the founder and drive everything below: + +| Decision | Choice | Consequence for the page | +|---|---|---| +| **Product name** | **PCBJam** | Standalone brand that sits *on top of* KiCad. We borrow KiCad's trust by attribution ("built on KiCad"), not by putting "KiCad" in our product name — which keeps us clear of KiCad's trademark (see `brand-guide.md` §10). The "jam" metaphor (a session you invite people into) is the spine of the collaboration story. | +| **Launch status** | **Waitlist / early access** | The hero's job is **email capture**, not "start designing." There is no live in-browser editor on the page yet, so the **centerpiece is a looping demo video/GIF** of real multiplayer editing, not an embedded app. Every major CTA funnels to the waitlist. | +| **Product vs. consulting** | **Product-first, EE credit** | The page is ~100% about PCBJam. **Emergence Engineering appears as (a)** a quiet "Built by" credit in the header/footer, **(b)** one dedicated lower-page section that doubles as the consulting hook, and **(c)** a supporting `/built-by-emergence` page. Consulting never competes with the waitlist CTA above the fold. | +| **Open / pricing** | **Open + free to start, pricing later** | Lean hard into the **open-format / self-host / no-lock-in** pillar (our biggest wedge vs. Flux/Altium). Show **"Free to start"** but **no price table** yet — a short "How we'll make money (and what stays free)" block instead, to pre-empt the "is this going to get rug-pulled?" worry. | + +> **Email note.** The company's real contact address in code is **`contact@emergence-engineering.com`** +> (hyphenated — the brief said `emergenceengineering.com` without the hyphen, which doesn't match the +> codebase or `viktor.vaczi@emergence-engineering.com`). This spec uses the **hyphenated** address +> everywhere. Confirm before publishing. PCBJam itself should get its own inbox too — suggest +> **`hello@pcbjam.com`** / **`waitlist@pcbjam.com`** so product mail and consulting mail don't mix. + +--- + +## 1. The one-sentence positioning (north star) + +> **PCBJam is the open-source PCB design tool that runs in your browser and lets your whole team +> edit the same board together, live — no install, no lock-in, free to start.** + +**The wedge (the single sentence we win on):** PCBJam is the only PCB tool that is *browser-native*, +*truly real-time multiplayer*, **and** *open* — Flux's convenience without the lock-in or the +$112–158/editor bill, KiCad's power without the install, and live co-editing that **no EDA tool, +desktop or cloud, actually delivers today**. + +Supporting wedge points, in priority order (use these as the feature-pillar order too): +1. **True multiplayer** — your whole team, the same board, the same second. The only one. +2. **Open & yours** — real KiCad format, self-hostable, no lock-in. (vs. Flux/EasyEDA/Altium cloud traps) +3. **Zero install, any device** — a browser tab. Mac, Linux, Chromebook, iPad. (vs. all Windows-only desktop pros) +4. **Real KiCad, not a toy** — the actual engine compiled to WebAssembly. (answers "browser EDA = toy") +5. **AI when you want it, never a paywall** — contrarian, opt-in, calm. (vs. the AI-first crowd) + +--- + +## 2. Voice & tone for PCBJam + +A deliberate fusion (see `competitor-landing-pages.md` §4 "Tonal opening"): + +- **OSS-honest credibility** (the LibrePCB/KiCad register) + **startup energy** (the Flux register), + warmed by **Emergence Engineering's own playful streak** ("Katy and Matt editing the same page? Not + a problem." / "Let's press the launch button. Shall we? :D"). +- **Plain and precise.** Say what it does. *"Open a `.kicad_pcb` from a link. Two people edit it at + once."* — not *"Unleash your design potential."* +- **Confident, not hype.** Verbs and real file names over adjectives. The audience reads monospace + fluently — `board.kicad_pcb`, `X 152.4 Y 96.0`, `R` to route are on-brand. +- **Respect the heritage.** "Built on KiCad," never "we are KiCad." Attribute, don't appropriate. +- **The jam metaphor, used lightly.** "Start a jam," "who's in the jam," "jam on a board together." + Don't overdo it — one or two touches per page, the engineering stays serious. + +**Words to adopt / invert from competitors:** "browser-native, no install," "Google-Docs-style +multiplayer." Flagship inversion of Altium's tagline *"Design on your desktop. Collaborate in the +cloud."* → **"Design *and* collaborate, right in the browser."** + +--- + +## 3. Brand & design tokens (from `brand-guide.md`) + +The existing Astro site (`site/`) is **dark-first**, zero-JS, zero-web-font. Keep that. + +``` +PALETTE + Primary (Circuit Blue) brand 500 #4f7cff · button 600 #2f57f5 · favicon 700 #1d4ed8 + Signal (Green / live) text 400 #32d583 · fill 600 #039855 ← "online", presence, success + Ink (neutrals) bg 950 #0b1020 · surface 900 #11182e · border 800 #233052 + text 100 #e7ecf5 · muted 400 #9aa6c0 + Presence (peers) #818cf8 #38bdf8 #2dd4bf #4ade80 #fbbf24 #fb923c #fb7185 #c084fc +TYPE sans = system-ui stack · mono = ui-monospace (file names / coords / stats / shortcuts) +RADIUS 6 / 10 / 16 / full · MAX-W content 64rem +MOTION 120 / 200 / 360ms · ease cubic-bezier(0.2,0.8,0.2,1) · honor prefers-reduced-motion +MOTIFS faint blueprint dot-grid bg · 45°/right-angle copper traces as accents · real screenshots + with MULTIPLE CURSORS > illustrations · mono code/file chips as first-class UI +``` + +**Note for EE consulting blocks:** Emergence Engineering's own brand uses an **orange** accent +("FROM **IDEA** TO **APP** TO **MARKET**" with the keywords in orange). To keep PCBJam's identity +clean, render the EE credit/section in PCBJam's palette but you may let the **EE logo keep its +original colors** as a "guest brand" — that visual shift actually *helps* signal "this is the makers, +not the product." + +--- + +## 4. Asset inventory — what already exists vs. what to produce + +### 4a. Reusable SVGs from the `blog/` repo (real, on disk today) + +Source root: `/Users/V/IdeaProjects/blog/public/`. Copy the ones you use into +`site/public/` (suggest `site/public/ee/` for EE-brand assets, `site/public/icons/` for generic). + +**Emergence Engineering brand (for the credit + consulting section + EE page):** +| Asset | Path | Use | +|---|---|---| +| EE wordmark (611×111) | `public/ee-logo.svg` | Footer "Built by" lockup, EE consulting section header | +| EE icon/mark (compact) | `public/lp/ee_logo.svg` | Header credit chip, favicon-adjacent, small lockups | +| Stripe Verified Partner | `public/lp/stripe.svg` / `public/stripe.svg` | EE trust badge in consulting section | + +**EE service & process icons (for the consulting section + `/built-by-emergence`):** +`public/lp/software.svg` (full-stack), `lp/ai.svg` (AI/LLM), `lp/fintech.svg` (payments), +`lp/rich_text.svg` (editors), `lp/collab.svg` (YJS collaboration — **also reusable for PCBJam's +multiplayer pillar**), `lp/ppc.svg` (marketing). Process journey: `lp/idea.svg`, `lp/plan.svg`, +`lp/prototype.svg`, `lp/validate.svg`, `lp/product.svg`. Plus `public/consulting.svg`, +`public/coaching.svg`, `public/training.svg`, `public/construction.svg`. + +**EE client logos (social proof on the consulting section / EE page):** +`public/lp/`: `axdraft.svg`, `filtered.svg`, `memrise.svg`, `swaralink.svg`, `skiff.svg`, +`lex.svg`, `chapterly.svg`. (These map to real testimonials — see §13 and `referenceData.ts`.) + +**Generic / dual-use (good for PCBJam itself):** +| Asset | Path | Use on PCBJam page | +|---|---|---| +| Collaboration illustration | `lp/collab.svg` | Multiplayer pillar / "Together" sections | +| Yjs logo | `lp/yjs.svg` (or `public/yjs.svg`) | "Under the hood: CRDT sync powered by Yjs" | +| GitHub mark | `lp/github.svg`, `public/github-mark.svg` | OSS links, star count, footer | +| Mail / message | `lp/mail.svg`, `lp/message.svg` | Waitlist + contact affordances | +| Arrows | `lp/arrow_outward.svg`, `lp/right_arrow.svg`, `public/arrow-next.svg` | CTA/link affordances | +| "You are here" map | `lp/you_are_here.svg`, `lp/you_are_here_mobile.svg` | **positioning-map visual** (see §9) — repurpose to plot PCBJam vs. desktop/cloud/OSS quadrants | +| Section divider dot | `lp/divider_dot.svg` | section rhythm | +| Play button | `public/play_circle_filled-24px.svg` | demo-video poster overlay | +| Tech logos (EE toolbox) | `node.svg`/`Node.js_logo.svg`, `react.svg`, `aws.svg`, `firebase.svg`, `supabase.svg`, `openAi.svg`, `stripe.svg`, `prosemirror.svg`, `graphql.svg`, `postgres.svg`, `docker.svg`, `pytorch.svg`, `tensorflow-2.svg`, `python-logo-notext.svg`, `golang-official.svg` | EE "technology toolbox" strip on consulting section/page | + +**Existing PCBJam/site assets:** `site/public/favicon.svg` (blue rounded-square "K" — treat as +placeholder; replace with a PCBJam mark, keep rounded-square + blue + simple glyph per brand guide). + +### 4b. NEW visuals to produce (do not exist yet — this is the production checklist) + +> ⚠️ The single most important asset on the entire site is **the multiplayer demo**. Budget for it +> first. No competitor can show real simultaneous PCB co-editing — so our showing it *is* the moat. + +1. **PCBJam logo / wordmark** — new brand mark + wordmark. Rounded-square glyph, Circuit Blue. + Consider a glyph that fuses a PCB pad/trace with a "play/jam" cue. Deliver SVG (light + dark). +2. **★ Multiplayer demo (centerpiece)** — looping, muted, autoplay-on-scroll MP4/WebM **+ a static + poster** (and a lightweight GIF fallback). Shows: one real board, **2–3 colored live cursors** + (use the presence palette), each editing/routing simultaneously, a pinned comment, presence + avatars top-right. 8–15s loop. This is the "Figma moment." Caption it with real mechanics. +3. **Hero board still** — a clean, dense-but-legible board render (dark canvas, copper traces, + pads, silkscreen) with 2 presence cursors composited in, as the hero's right-column/under-fold image. +4. **Product screenshots (real, annotated):** (a) PCB layout editor, (b) schematic capture (Eeschema), + (c) 3D board view, (d) DRC/ERC results panel, (e) BOM / Gerber export. Used in the "Real KiCad, + not a toy" capability proof. +5. **Positioning quadrant graphic** — Browser×Open×Multiplayer; can be hand-built on top of the + `you_are_here.svg` motif. (See §9.) +6. **"How a jam works" 3-step diagram** — Open a board → Invite your team → Design & export together. +7. **External logos to source (with care for usage rights):** KiCad logo (for "Built on KiCad" + attribution — follow KiCad trademark guidelines), migration-source logos (EAGLE, Altium, CADSTAR, + OrCAD), fab-partner logos (JLCPCB, PCBWay, OSHPark, AISLER). Use grayscale/monochrome treatment. +8. **OG/social share images** per page (1200×630) and an updated favicon. +9. **(Optional) "real board shipped" photo** — a physical PCB designed entirely in PCBJam, when one exists. + +--- + +## 5. Global elements + +### Header / nav (sticky, minimal) +- **Left:** PCBJam logo (`§4b.1`). Optional tiny mono chip beside it: `built on KiCad`. +- **Center/right links:** `How it works` · `Open & yours` · `Roadmap` · `Blog` · **`Built by Emergence Engineering`** (text link) · `GitHub ★` (`lp/github.svg` + live star count when available). +- **Right CTA button:** **`Join the waitlist`** (primary, `primary-600`) → scrolls to / opens the email capture. +- Mobile: hamburger (`blog/public/lp/menu.svg` exists if you want it); CTA stays visible. + +### Persistent waitlist mechanism +- One reusable component: email input + button. Placeholder `you@company.com`, button + **`Join the waitlist`**. Microcopy under it: *"Early access invites go out in waves. No spam — just + a heads-up when your seat is ready."* On submit → inline success state (see `/thanks`, §16). +- Appears in: hero (§7), mid-page reinforcement (§14 final CTA), and the footer. + +### Footer +- **Col 1 — PCBJam:** logo + one-liner ("KiCad, in your browser. Now multiplayer.") + GitHub, blog, roadmap links. +- **Col 2 — Product:** How it works · Open & yours · Roadmap · Waitlist. +- **Col 3 — Built by:** **EE wordmark** (`public/ee-logo.svg`) + *"PCBJam is a project by Emergence + Engineering, a full-stack software studio. Need something hard built? `contact@emergence-engineering.com`."* + + links to `/built-by-emergence` and emergence-engineering.com. +- **Col 4 — Legal:** Privacy · Terms · Cookies (pages already exist in `site/src/pages/`). +- **Bottom bar:** `© 2026 Emergence Engineering` · *"Built on the open-source **KiCad** EDA suite. + Not affiliated with or endorsed by the KiCad project."* (attribution + trademark safety) · link to kicad.org. + +--- + +## 6. Page map + +| Page | Path | Purpose | Status | +|---|---|---|---| +| **Landing** | `/` | The waitlist conversion page (§7–§15) | replace placeholder `index.astro` | +| How it works / Demo | `/how-it-works` | Long-form demo + the multiplayer story + capability proof | new | +| Open & yours | `/open` | Data-sovereignty / self-host / open-format deep dive (our wedge) | new | +| Roadmap & status | `/roadmap` | Honest "what works today / what's next" — credibility for a waitlist product | new | +| Built by Emergence Engineering | `/built-by-emergence` | The **consulting** page: who built PCBJam, what else EE builds, case studies, hire-us CTA | new | +| Blog | `/blog`, `/blog/[slug]` | Already scaffolded; engineering posts (WASM, CRDT, KiCad internals) for GEO/SEO | exists | +| Thanks | `/thanks` (or inline) | Post-waitlist confirmation + share + EE soft-pitch | new | +| Privacy / Terms / Cookies | existing | Legal | exist | + +--- + +# PART A — The landing page (`/`), section by section + +Each section below gives **Goal**, **Copy** (verbatim-ready; pick among options where offered), +**Visual** (real asset path or `PRODUCE:`), and **Pattern** (what competitor convention it +borrows/beats, from the research). + +--- + +## 7. Section 1 — Hero + +**Goal.** In one screen: say what PCBJam is, land the multiplayer wedge, and capture an email. +This is a waitlist page — the hero's primary conversion is the email field, *not* "open the app." + +**Copy.** +- **Eyebrow (mono, muted):** `PCBJam · built on KiCad` +- **H1 (primary):** **KiCad, in your browser — now multiplayer.** + - *Alt A:* **Design PCBs together, live, in your browser.** + - *Alt B:* **The PCB tool that opens in a tab and edits with your team.** +- **Subhead (`text-lead`):** The PCB design tool millions trust — now zero-install and + collaborative. Open a board in a tab, invite your team, and edit the same schematic and layout + together in real time. Open format. No install. Free to start. +- **Primary CTA:** email input (`you@company.com`) + **`Join the waitlist`** +- **Microcopy under CTA:** *Early access is rolling out in waves. We'll email you when your seat opens — no spam.* +- **Secondary CTA (text link w/ play icon):** **`Watch the 90-second demo →`** (scrolls to §8 / opens video) +- **Trust whisper (tiny, under CTAs):** `Open source` · `Your files stay in KiCad format` · `Runs on Mac, Linux, Chromebook, iPad` + +**Visual.** +- `PRODUCE:` the **multiplayer demo loop** (§4b.2) as the hero centerpiece — autoplay, muted, looping, + with the play-button poster (`public/play_circle_filled-24px.svg`) for reduced-motion/poster state. + If the full loop isn't ready, use the **hero board still with 2 presence cursors** (§4b.3). +- Background: faint **blueprint dot-grid** + a couple of **copper-trace** accents (brand-guide §7). + +**Pattern.** *Borrows* the verb-first, zero-friction hero of Flux/CircuitLab. *Beats* them by leading +with **KiCad trust + multiplayer** instead of AI (Flux leads "Design PCBs with AI"; we deliberately +don't). The hero *is* the product demo — steals KiCanvas's "show the real thing instantly" instinct, +adapted to a video because the live editor isn't public yet. + +--- + +## 8. Section 2 — Trust / scale stat bar + +**Goal.** Immediately answer "is this real?" with numbers we can actually stand behind (ours are +real and verifiable, unlike vendor-asserted user counts). + +**Copy (4 stats, mono numerals).** Fill the real figures; placeholders shown: +- **Millions** of KiCad users worldwide +- **The largest** open component & footprint library in EDA +- **`N,000`** GitHub stars on KiCad *(or PCBJam's own once it has them)* +- **`100%`** open file format — your `.kicad_pcb` / `.kicad_sch`, never a proprietary cloud blob + +> Only claim counts you can defend. If PCBJam's own GitHub/stars are tiny pre-launch, lean on +> **KiCad's** inherited scale and the open-format fact, and add a PCBJam-native number ("boards +> opened in beta") once it exists. + +**Visual.** Thin full-width band, `bg-soft`. Optional small GitHub mark (`lp/github.svg`) by the +star stat. Keep it text-forward. + +**Pattern.** *Borrows* EasyEDA/Flux/Tinkercad's user-count bar; *beats* them because our numbers are +real, open, and inherited from KiCad — a credibility base every proprietary rival lacks. + +--- + +## 9. Section 3 — The multiplayer centerpiece ("Figma for PCB") + +**Goal.** The emotional + rational core of the page. Show, don't tell: two people editing one board, +live. This single visual does more than any paragraph. + +**Copy.** +- **Eyebrow:** `Real-time, not "real-time-ish"` +- **H2:** **Your whole team. One board. The same second.** +- **Body:** Everyone else who says "real-time collaboration" means comments, check-out locks, or a + read-only viewer. PCBJam means **live co-editing**: shared cursors, presence, and conflict-free + edits on the *same* schematic and layout — the way you already work in Google Docs and Figma. + Route a trace while a teammate places parts on the other side of the board. No emailing files. No + "who has it checked out?" +- **Sub-points (3 short, icon'd):** + - **Live cursors & presence** — see who's here and where they're working. + - **Conflict-free editing** — CRDT sync (Yjs) merges everyone's edits, no overwrite wars. + - **Pin a comment to a pad** — review and resolve right on the canvas. +- **Caption under the demo (mono):** `2 editors · live cursors · one board.kicad_pcb · no merge step` + +**Visual.** +- `PRODUCE:` the big **multiplayer demo** (§4b.2), running large here if it was a still in the hero. +- Supporting: `lp/collab.svg` and/or `lp/yjs.svg` for the "powered by Yjs CRDT" line. + +**Pattern.** *Borrows* Flux/Figma framing; *beats every EDA tool alive* — none can show real +simultaneous PCB editing (Flux = comments/permissions, EasyEDA = lock/checkout, OrCAD = 2-user cap, +Altium = desktop commit, AllSpice/tscircuit = async git). This is the sharpest wedge in the research +(§7.1). **Be honest about what "live" means** to avoid the same "they're bluffing" critique we level +at others (research §10.6). + +--- + +## 10. Section 4 — Three core value pillars + +**Goal.** Three sharp claims, not eight diffuse ones. Each pillar = one wedge point. + +**Copy (3 cards).** +1. **Runs in a browser tab.** Zero install, zero toolchain. Mac, Linux, Windows, Chromebook, iPad — + if it has a modern browser, it designs PCBs. *Visual:* `PRODUCE:` small device-array glyph, or reuse `blog/public/icons/responsive.svg`. +2. **Truly multiplayer.** Live cursors, presence, and conflict-free co-editing on the same board. + Plus pin-to-canvas comments for review. *Visual:* `lp/collab.svg`. +3. **Open & yours.** Real KiCad format in, real KiCad format out. Self-host it, run it offline as a + PWA, or use our cloud — your files are never held hostage. *Visual:* `PRODUCE:` open-lock / format glyph; `lp/github.svg` accent. + +**Visual.** 3-card grid (existing `.card` style in `global.css`). Line-style icons, `currentColor`, Circuit Blue. + +**Pattern.** *Borrows* the universal 4–8-card feature grid (Flux/Altium 365/OrCAD); we keep it to +**three** and make each a differentiator, not a checkbox. + +--- + +## 11. Section 5 — How a jam works (3 steps) + +**Goal.** Make the workflow concrete and show collaboration is present at *every* step (not bolted on). + +**Copy.** +- **H2:** **From link to layout in three moves.** +- **Step 1 — Open a board.** Paste a link, drag in a `.kicad_pcb`, or pull from GitHub. It opens in + seconds — no install, no account wall to *look*. +- **Step 2 — Start a jam.** Share the URL. Teammates join with live cursors and presence. Everyone + sees the same board update in real time. +- **Step 3 — Design, route & export — together.** Schematic capture, PCB layout, DRC/ERC, 3D, BOM, + and Gerbers — the full flow, then hand off to any fab. Your call. + +**Visual.** `PRODUCE:` 3-step horizontal diagram (§4b.6). Arrows: `lp/right_arrow.svg` / +`public/arrow-next.svg`. Step icons can be lightly adapted from `lp/idea.svg`/`lp/prototype.svg`/`lp/product.svg`. + +**Pattern.** *Borrows* Flux's "Plan→Schematic→Layout→Manufacture" and CELUS's 3-step; ours emphasizes +**collaboration at every step**, not AI autonomy. + +--- + +## 12. Section 6 — "Real KiCad, not a toy" (capability proof) + +**Goal.** Defuse the #1 attack — *"browser EDA = toy / can't do real complexity."* (research §10.1) + +**Copy.** +- **Eyebrow:** `The actual engine, compiled to WebAssembly` +- **H2:** **This is real KiCad — the whole thing.** +- **Body:** PCBJam isn't a web re-implementation with a fraction of the features. It's the genuine + KiCad engine compiled to WebAssembly, running in your tab. Schematic capture. Multi-layer PCB + layout. Design rule checks. 3D view. BOM and Gerber export. The same `.kicad_pcb` you'd open on the + desktop — because it *is* the same tool. +- **Capability checklist (2-col, ✓):** Schematic capture (Eeschema) · PCB layout (Pcbnew) · + DRC / ERC · Interactive router · 3D board view · BOM export · Gerber / drill export · Footprint & + symbol libraries · Net classes & constraints · Push-and-shove routing. + +**Visual.** `PRODUCE:` 2–4 **real annotated screenshots** (§4b.4): layout editor, schematic, 3D, +DRC panel. Real copper, real pads, real coordinates in mono callouts. Screenshots > illustrations +(brand-guide §7). + +**Pattern.** *Directly answers* the toy risk; *beats* CircuitLab/Tinkercad (sim-only) and KiCanvas +(view-only) by showing the complete stack. Don't ever let the page imply "simplified." + +--- + +## 13. Section 7 — Open & yours (data-sovereignty wedge) + +**Goal.** Own the anti-lock-in lane — empty at the intersection of cloud convenience (research §7.3). +This is what no cloud rival can copy and what answers the OSS skeptics' privacy fears. + +**Copy.** +- **Eyebrow:** `No lock-in. No data hostage.` +- **H2:** **Design *and* collaborate in the browser — without surrendering your files.** + *(deliberate inversion of Altium's "Design on your desktop. Collaborate in the cloud.")* +- **Body:** Cloud EDA tools trap your designs in proprietary formats and clouds you can't leave. + Desktop open-source tools keep you free but strand you offline and solo. PCBJam refuses the + trade-off: **real KiCad format** in and out, **self-host** it on your own server, run it **offline + as a PWA**, and it's **open source**. Collaborate in our cloud when it's convenient — and walk away + with every byte whenever you want. +- **Four chips:** `Open .kicad_pcb / .kicad_sch` · `Self-hostable` · `Offline PWA` · `Open source (GPL)` +- **Reassurance line (pre-empts rug-pull fear):** PCBJam rides KiCad — a project backed for decades + by CERN, the KiCad Services Corp, and a global community. This isn't a VC bet that vanishes when the + runway ends. + +**Visual.** `lp/github.svg`, a self-host/server glyph (`PRODUCE:` or `blog/public/icons/cloud-computing.svg`), +open-format file chips in mono. + +**Pattern.** *Beats* Flux/EasyEDA/Altium cloud lock-in head-on; *borrows* the freedom narrative from +LibrePCB/Horizon but pairs it with the cloud + collaboration they lack. Converts a risk +(cloud-privacy fear, research §10.3) into a strength. + +--- + +## 14. Section 8 — Migration strip ("Coming from…") + +**Goal.** Seize the live refugee moment — Autodesk **sunset EAGLE (EOL today, 2026-06-07)** and Zuken +is sunsetting CADSTAR. KiCad's native format is *the* migration target; we're the zero-install landing pad. + +**Copy.** +- **H3:** **Coming from EAGLE, Altium, CADSTAR, or OrCAD?** +- **Body:** KiCad is where designs are migrating — and PCBJam opens them in a browser tab, free, + with nothing to install. *Bring your board. Invite your team. Pick up where you left off.* +- **CTA:** `Join the waitlist →` + +**Visual.** Grayscale/monochrome logo strip of migration sources (EAGLE, Altium, CADSTAR, OrCAD) → +arrow (`lp/arrow_outward.svg`) → PCBJam mark. `SOURCE:` external logos (§4b.7), monochrome treatment. + +**Pattern.** *Borrows* DipTrace/Fusion's compatibility-logo strip; *seizes* the EAGLE-EOL/CADSTAR +moment (research §7.5), which is *timely as of the generation date*. + +--- + +## 15. Section 9 — Positioning map (optional but high-impact) + +**Goal.** Make the whitespace visceral — show, in one graphic, that PCBJam alone occupies +Browser × Open × Multiplayer. + +**Copy.** +- **H3:** **Everyone picks two. We do all three.** +- **Caption:** Browser-native. Open & yours. Truly multiplayer. Flux is browser + collab but closed. + KiCanvas is browser + open but read-only. LibrePCB is open + full but desktop-only. **PCBJam is the + only one in the middle.** + +**Visual.** `PRODUCE:` quadrant/Venn graphic, built on the **`lp/you_are_here.svg`** / +`you_are_here_mobile.svg` motif ("you are here" pin placed in the empty intersection). Plot Flux, +Altium 365, OrCAD X, KiCanvas, LibrePCB, EasyEDA around the edges. + +**Pattern.** Visualizes the "empty quadrant" finding (research §7.2). A memorable, screenshot-able, +shareable asset — good for social/launch. + +--- + +## 16. Section 10 — Built by Emergence Engineering (the credit + consulting hook) + +**Goal.** The product-first consulting placement. Establish *who* built this (credibility for the +waitlist) **and** plant the consulting seed — without ever outshouting the product. This is the +section that wins EE consulting clients off PCBJam's traffic. + +**Copy.** +- **Eyebrow:** `Who's behind PCBJam` +- **H2:** **We're Emergence Engineering. We build hard things in the browser.** +- **Body:** PCBJam exists because we got obsessed with a genuinely hard problem: running a full, + native C++ EDA suite — and real-time multiplayer — entirely in a browser, on WebAssembly. That's + the kind of work we do for a living. Emergence Engineering is a full-stack software studio (🇪🇺, + remote-first) that builds WASM ports, real-time collaborative editors, AI features, and the + payments and infrastructure behind them — for startups and scale-ups who need the hard parts done right. +- **Mini-proof row (mono/short):** `WebAssembly` · `Real-time collaboration (Yjs/CRDT)` · + `Rich-text & ProseMirror editors` · `AI / LLM features` · `Fintech & Stripe` +- **Social proof:** *"Trusted by teams at…"* + EE client logos (`lp/skiff.svg`, `lp/memrise.svg`, + `lp/axdraft.svg`, `lp/lex.svg`, `lp/filtered.svg`, `lp/swaralink.svg`). One short testimonial, + e.g. **Ben Whately:** *"For any new product, they're my go-to dev house. They work fast and to + super high quality."* +- **CTA (secondary style, not competing with waitlist):** **`Need something hard built? → Talk to + the team`** → `/built-by-emergence` (and `contact@emergence-engineering.com`). + +**Visual.** EE wordmark `public/ee-logo.svg`; client logos row; optional `lp/collab.svg` or a small +"PCBJam is one of our projects" lockup. Keep it visually distinct (a `bg-soft` band) so it reads as +"the makers," not another product feature. + +**Pattern.** *Borrows* the founder/maker-credibility halo (and EE's real testimonials/logos). Placed +**below** the core product story so it supports, never competes with, the waitlist. This is the +agreed "product-first, EE credit" weighting. + +--- + +## 17. Section 11 — How we'll make money (trust block, replaces pricing) + +**Goal.** No price table yet — but a waitlist audience *will* wonder "what's free, and will you +rug-pull me?" Answer it calmly and convert the answer into a trust signal. + +**Copy.** +- **H3:** **Free to start — and the core stays open.** +- **Body:** The full editor and real-time collaboration are **free to start**, and the file format is + open, forever. Later, we'll charge teams for the things teams actually need — private org + workspaces, SSO and compliance, hosted storage, and optional AI assistance. The individual, + open-source core isn't the thing we paywall. **No per-editor toll. No metered AI. No surprises.** +- **Contrast chip (optional, cheeky-but-true):** *Flux charges $112–158 per editor, per month. We + don't.* *(verify current Flux pricing before publishing — point-in-time, see research §C)* +- **CTA:** `Join the waitlist →` + +**Visual.** Simple three-icon row: `Free core` · `Open format` · `Paid only for team/enterprise +scale`. No table. + +**Pattern.** *Borrows* the validated "free reviewers / paid authors, monetize team scale" model +(Altium 365 / AllSpice). *Beats* Flux's $112–158/editor and the sales-gated "request a quote" wall +(Cadence/Zuken) by being transparent about intent even pre-pricing. Pre-empts the OSS-sustainability +worry (research §10.5). + +--- + +## 18. Section 12 — AI (deliberately small, opt-in) + +**Goal.** Answer the AI table-stakes without making it our identity — the contrarian stance (research §7.4). + +**Copy.** +- **H3:** **AI when you want it. Never a paywall, never a black box.** +- **Body:** Everyone else leads with an "AI hardware engineer." We lead with *you* and an open tool + you control. AI assistance is on the roadmap as an **opt-in** helper — never metered by the token, + never the thing standing between you and your own board. + +**Visual.** Small, single line. `lp/ai.svg` if an icon is wanted — kept visually minor on purpose. + +**Pattern.** *Contrarian placement* — low and calm, where every funded rival shouts AI at the top. +Differentiated precisely because the field is homogeneous on AI. + +--- + +## 19. Section 13 — Final CTA + +**Goal.** Last, dominant conversion. One job: get the email. + +**Copy.** +- **H2:** **Be there when the first jam opens.** + - *Alt:* **Open a board. Invite your team. Be early.** +- **Subhead:** Early access rolls out in waves. Join the waitlist and we'll save you a seat. +- **CTA:** email input + **`Join the waitlist`** +- **Reassurance:** *No spam. One email when your seat is ready. Unsubscribe anytime.* +- **Under it (tiny):** `Open source` · `Built on KiCad` · `Built by Emergence Engineering` + +**Visual.** Full-width band, blueprint-grid bg, a couple of copper-trace accents. Big single button. +No demo gate, no second competing CTA. + +**Pattern.** *Borrows* Flux's "If you can type, you can build / Get Started for Free" energy, retuned +to a waitlist ask. + +--- + +# PART B — Supporting pages + +--- + +## 20. `/how-it-works` (demo + deep story) + +**Goal.** The long-form home for the demo and the full capability/collaboration story — where +"watch the 90-second demo" and curious skeptics land. + +**Sections & copy:** +1. **Hero:** **"See PCBJam jam."** Subhead: *The whole flow — open, invite, design, export — + in your browser, together.* Big embedded demo video (§4b.2, full length here). CTA: `Join the waitlist`. +2. **The collaboration deep-dive** — expand §9's three sub-points into short explainer blocks, each + with a focused clip/GIF: live cursors & presence; conflict-free CRDT editing (Yjs); pin-to-canvas comments. +3. **The full toolchain** — the §12 capability checklist, each with a real screenshot (§4b.4). +4. **"Is the browser fast enough?"** — honest performance note (answers research §10.2). One short, + confident paragraph + a clip of a heavy board staying responsive. Link to a technical blog post. +5. **FAQ** — "Is this really KiCad?" "Where do my files live?" "Can I self-host?" "Does it work + offline?" "What does it cost?" "Is my IP safe?" (each answer reinforces a wedge). +6. **CTA band** — `Join the waitlist`. + +**Visuals:** the demo video, focused clips, real screenshots, `lp/yjs.svg`, `lp/collab.svg`. + +--- + +## 21. `/open` (data-sovereignty / self-host deep dive) + +**Goal.** The full version of §13 for the privacy/IP-sensitive and OSS-skeptic segments (and good SEO +for "self-hosted PCB design," "open source browser EDA"). + +**Sections & copy:** +1. **Hero:** **"Your designs. Your format. Your servers if you want them."** +2. **Open format** — `.kicad_sch` / `.kicad_pcb` in and out; round-trips with desktop KiCad; export anytime. +3. **Self-host** — run PCBJam on your own infrastructure / air-gapped; what's required; who it's for + (defense, aerospace, IP-sensitive teams — the segment Altium 365 CMMC/FedRAMP and JITX air-gap court). +4. **Offline PWA** — install it, design without a connection, sync when you're back. +5. **Open source** — license, GitHub, how to contribute; the durability/sustainability story (KiCad + + KiCad Services Corp + CERN + community). +6. **CTA** — `Join the waitlist` + GitHub link. + +**Visuals:** `lp/github.svg`, server/cloud glyphs (`blog/public/icons/cloud-computing.svg`), +open-format mono file chips, license badge. + +--- + +## 22. `/roadmap` (honest status — credibility for a pre-launch product) + +**Goal.** A waitlist product lives or dies on trust. A transparent "what works today / what's next" +is itself a conversion asset — it signals this is real and progressing. + +**Sections & copy:** +- **Intro:** **"Where PCBJam is, honestly."** *We'd rather show you the seams than overpromise.* +- **✅ Works today** — (fill from the project's real state: PCB rendering, schematic, multiplayer + editing demos, etc. — pull from the repo's WHATWORKS/test docs). +- **🚧 In progress** — current focus areas. +- **🗓️ Next** — upcoming. +- **CTA:** `Join the waitlist — we email at each milestone.` + +**Visuals:** simple status chips (`signal-400` done, `warning` in-progress, `ink-400` planned); +`lp/divider_dot.svg` rhythm. Optionally pull live status from the repo. + +> Source the actual capability list from this repo's `tests/WHATWORKS*`/feature docs so the page is +> truthful — don't invent feature claims. + +--- + +## 23. `/built-by-emergence` (the consulting page) + +**Goal.** The full consulting pitch for visitors who clicked the §16 hook. This is where PCBJam's +audience converts into **EE consulting leads**. Mirror Emergence Engineering's existing site voice +(the agent extracted it verbatim from `blog/`). + +**Sections & copy (reuse EE's real copy):** +1. **Hero:** **"FROM IDEA TO APP TO MARKET."** (EE's own hero — keywords in orange.) Subhead: *We're + a full-stack development team building scalable, high-performance software products and webapps.* + Sub-line tying it back: *PCBJam is one of the hard things we built for ourselves.* CTA: **`Get a quote`** → `contact@emergence-engineering.com`. +2. **What we do (services grid)** — EE's six cards verbatim, with their icons: + - **Full-Stack Web Development** (`lp/software.svg`) + - **Rich Text Editors** (`lp/rich_text.svg`) + - **YJS Collaborative UIs** (`lp/collab.svg`) + - **AI Development** (`lp/ai.svg`) + - **Fintech & Payments** (`lp/fintech.svg`) + - **PPC & Marketing** (`lp/ppc.svg`) +3. **PCBJam as proof** — short case-study block: the problem (native EDA + multiplayer in a browser), + the hard parts (WASM, asyncify, CRDT sync, performance), the result. Links back to `/how-it-works`. +4. **Technology toolbox** — logo strip: `node.svg`, `react.svg`, `prosemirror.svg`, `firebase.svg`, + `supabase.svg`, `openAi.svg`, `aws.svg`, `yjs.svg`, `stripe.svg` (+ `docker.svg`, `postgres.svg`, + `graphql.svg`, `pytorch.svg` as depth). +5. **References / testimonials** — EE's real client logos + quotes (Greg Detre, Marc Zao-Sanders, + Ben Whately, Andrew Milich/Skiff, Oleg Zaremba/Axdraft). Logos: `lp/skiff.svg`, `lp/memrise.svg`, + `lp/axdraft.svg`, `lp/lex.svg`, `lp/filtered.svg`, `lp/swaralink.svg`, `lp/chapterly.svg`. +6. **Trust badge:** Stripe Verified Partner (`lp/stripe.svg`). +7. **The journey (optional)** — EE's idea→plan→prototype→validate→product strip + (`lp/idea.svg` / `lp/plan.svg` / `lp/prototype.svg` / `lp/validate.svg` / `lp/product.svg`). +8. **Contact CTA:** **"Let's build great apps together."** → `contact@emergence-engineering.com` + + Calendly link. EE wordmark `public/ee-logo.svg`. + +**Visuals:** EE wordmark, all EE service/client/tech SVGs above. This page may use EE's orange accent +since it *is* the EE brand surface. + +--- + +## 24. `/blog` (exists) — editorial / SEO-GEO engine + +**Goal.** Engineering credibility + organic discovery. Already scaffolded (`site/src/pages/blog/`). + +**Suggested launch posts (match EE's proven "we solved a hard thing" register):** +- "How we ran KiCad in a browser with WebAssembly" (the asyncify/perf story) +- "Real-time multiplayer for a native C++ app: Yjs/CRDT over a WASM EDA" +- "Browser EDA isn't a toy: what actually runs in PCBJam" +- "Coming from EAGLE? Open your board in a browser tab" (migration, captures EOL search traffic) +- "Self-hosting PCBJam: your designs, your servers" + +**Visuals:** per-post OG images; reuse `yjs.svg`, `prosemirror.svg`, tech logos. + +--- + +## 25. `/thanks` (post-waitlist confirmation) + +**Goal.** Confirm, reduce buyer's remorse, drive a share, and soft-pitch EE. + +**Copy.** +- **H1:** **You're on the list. 🎉** +- **Body:** We'll email you the moment your early-access seat opens. In the meantime: star us on + GitHub, read how we built it, or follow along on the roadmap. +- **Buttons:** `Star on GitHub` (`lp/github.svg`) · `How it works` · `Roadmap` +- **Share line:** *Know someone wrestling with desktop EDA? Send them pcbjam.com.* +- **EE soft-pitch (tiny footer line):** *PCBJam is built by Emergence Engineering — we build hard + software for other teams too. `contact@emergence-engineering.com`.* + +**Visuals:** celebratory but restrained; PCBJam mark; GitHub mark. + +--- + +## 26. Legal pages (exist) + +`/privacy`, `/terms`, `/cookies` already exist in `site/src/pages/`. Update entity name (Emergence +Engineering), the data handled by the waitlist (email), and any analytics/cookie disclosures. Keep +the dark, minimal layout. + +--- + +# PART C — Execution notes + +## 27. SEO / meta per page + +| Page | `` | Meta description (draft) | +|---|---|---| +| `/` | **PCBJam — KiCad in your browser, now multiplayer** | Open-source PCB design in your browser with real-time collaboration. Built on KiCad. No install, open format, free to start. Join the waitlist. | +| `/how-it-works` | How PCBJam works — collaborative PCB design in the browser | Watch real-time multiplayer KiCad in action: live cursors, conflict-free editing, full schematic + PCB layout, in a browser tab. | +| `/open` | Open & self-hostable PCB design — PCBJam | Your designs in open KiCad format. Self-host, work offline as a PWA, open source. Collaborate in the cloud without lock-in. | +| `/roadmap` | PCBJam roadmap & status | What works today and what's next for browser-based collaborative KiCad. Honest status, no overpromises. | +| `/built-by-emergence` | Built by Emergence Engineering — software studio | The team behind PCBJam. We build WebAssembly ports, real-time collaborative editors, AI features, and fintech. Hire us. | + +Add per-page OG images (1200×630), canonical URLs, and JSON-LD (`SoftwareApplication` for `/`, +`Organization` for `/built-by-emergence`). + +## 28. Performance (non-negotiable — the WASM context) + +The marketing site must stay **fast and light** (current `site/` ships zero JS, no web fonts — keep +that for the marketing pages). The heavy WASM app is a *separate* surface; never let it bloat the +landing page. The demo video must be **lazy-loaded, compressed, poster-first**, and `preload="none"`. +Honor `prefers-reduced-motion` (poster instead of autoplay). Don't let "we run a huge WASM app" +become "our landing page is slow" — that would undercut the core performance pitch. + +## 29. Conversion & analytics + +- One dominant action sitewide: **waitlist email capture.** Secondary: GitHub star, demo view, + consulting contact. Never put a competing primary CTA above the fold. +- Instrument: waitlist submits (by section), demo plays/completion, consulting CTA clicks, GitHub + clicks. A/B the **hero headline** (the three options in §7) once there's traffic. +- Disclose analytics in `/cookies`. + +## 30. Build mapping (Astro) + +- Replace the placeholder `site/src/pages/index.astro` with §7–§19. +- New pages → `site/src/pages/how-it-works.astro`, `open.astro`, `roadmap.astro`, + `built-by-emergence.astro`, `thanks.astro`. +- Copy chosen SVGs into `site/public/` (suggest `site/public/ee/` for EE-brand, + `site/public/icons/` for generic, `site/public/logos/` for client/partner). Source paths are all + under `/Users/V/IdeaProjects/blog/public/` (see §4a). +- Reusable Astro components: `WaitlistForm.astro`, `StatBar.astro`, `Pillar.astro`, `Step.astro`, + `SectionBand.astro`, `EECredit.astro`. +- Apply the brand-guide tokens (§3) into `site/src/styles/global.css` (it already matches the dark + palette; extend with the full scales + presence colors). + +## 31. Open production checklist (what's blocking, ranked) + +1. **★ Multiplayer demo video/GIF** (§4b.2) — the page cannot ship persuasively without it. +2. **PCBJam logo / wordmark / favicon** (§4b.1). +3. **Real product screenshots** ×4 (§4b.4). +4. **Hero board still w/ presence cursors** (§4b.3). +5. **Waitlist backend** — email capture endpoint + storage + confirmation (decide: HubSpot/ConvertKit/ + own). Wire `WaitlistForm`. +6. **Real numbers** for the stat bar (§8) and roadmap (§22) — pull from the repo's WHATWORKS/test docs; don't invent. +7. **External logos** with usage rights (§4b.7): KiCad (attribution per trademark policy), migration + sources, fab partners. +8. **Positioning quadrant graphic** (§15) and **3-step diagram** (§11). +9. **Confirm contact email** (hyphenated `contact@emergence-engineering.com`) and set up PCBJam's own inbox. +10. **Verify any competitor number** (Flux pricing in §17) before publishing — point-in-time. + +--- + +### Provenance +Synthesized from `features/lp/` (competitor teardown, verified synthesis, brand guide, +best-practices, playbook) + a full extraction of Emergence Engineering's live site source +(`blog/`, voice/services/case-studies/assets) + a direct inventory of the on-disk SVG library. +Founder decisions (name=PCBJam, waitlist, product-first+EE-credit, open+free-to-start) are locked in §0. +Point-in-time; re-verify external claims and prices before launch. diff --git a/site/brand/pcbjam-mark-source.png b/site/brand/pcbjam-mark-source.png new file mode 100644 index 0000000..43e4d4f Binary files /dev/null and b/site/brand/pcbjam-mark-source.png differ diff --git a/site/package-lock.json b/site/package-lock.json index 7656880..f40918c 100644 --- a/site/package-lock.json +++ b/site/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "dependencies": { "@astrojs/vercel": "^10.0.8", + "@fontsource/oswald": "^5.2.8", "astro": "^6.4.4", "resend": "^6.12.4" }, @@ -638,6 +639,15 @@ "node": ">=18" } }, + "node_modules/@fontsource/oswald": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/oswald/-/oswald-5.2.8.tgz", + "integrity": "sha512-DFoPK1BqsFIQhVjs2xgO/oL9veF9oUJgFojEWIU+nazUrfqsBDtAMI4n9L9CZFX3kQNDLcCyzKx1xoEDvQT4WQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@img/colour": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", diff --git a/site/package.json b/site/package.json index 8dd4cc7..b142f89 100644 --- a/site/package.json +++ b/site/package.json @@ -14,6 +14,7 @@ }, "dependencies": { "@astrojs/vercel": "^10.0.8", + "@fontsource/oswald": "^5.2.8", "astro": "^6.4.4", "resend": "^6.12.4" }, diff --git a/site/public/favicon.svg b/site/public/favicon.svg index eabd9c9..ee8001a 100644 --- a/site/public/favicon.svg +++ b/site/public/favicon.svg @@ -1,4 +1,4 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"> - <rect width="32" height="32" rx="6" fill="#1d4ed8" /> - <path d="M9 23V9h2.6v6.2L17 9h3.2l-5.6 6.4L20.6 23h-3.3l-4.3-5.8-1.4 1.6V23H9z" fill="#fff" /> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 228 320" width="228" height="320" role="img" aria-label="PCBJam"> + <defs><clipPath id="pj"><rect width="228" height="320" rx="34" ry="34"/></clipPath></defs> + <image clip-path="url(#pj)" width="228" height="320" preserveAspectRatio="xMidYMid meet" href="data:image/png;base64,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"/> </svg> diff --git a/site/public/graphics/positioning-quadrant.svg b/site/public/graphics/positioning-quadrant.svg new file mode 100644 index 0000000..d4edb45 --- /dev/null +++ b/site/public/graphics/positioning-quadrant.svg @@ -0,0 +1,60 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 820 600" width="820" height="600" role="img" aria-labelledby="pq-title pq-desc" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif"> + <title id="pq-title">PCB tool positioning map + A quadrant chart. The horizontal axis runs from desktop-install on the left to browser-native on the right; the vertical axis from proprietary at the bottom to open at the top. LibrePCB and KiCad sit top-left (open but desktop). KiCanvas sits top-right but is viewer-only. Flux and EasyEDA sit bottom-right (browser but proprietary). Altium 365 and OrCAD X sit bottom-left (desktop and proprietary). PCBJam sits alone in the top-right as the only browser-native, open, real-time-multiplayer tool. + + + + + + + + + + + + + + + + + + + + Open & yours + Proprietary, locked-in + Desktop install + Browser-native + + + + + + + + + + + + + + LibrePCB + KiCad + KiCanvas + Flux + EasyEDA + Altium 365 + OrCAD X + + viewer only + + + + + PCBJam + + real-time multiplayer + + + + = true real-time multiplayer (PCBJam only) + diff --git a/site/src/components/EECredit.astro b/site/src/components/EECredit.astro index f09f2eb..13a9f5f 100644 --- a/site/src/components/EECredit.astro +++ b/site/src/components/EECredit.astro @@ -1,11 +1,14 @@ --- /** - * EECredit — the "Built by Emergence Engineering" lockup. The EE wordmark keeps - * its own (guest-brand) colors via Icon mode="img". - * - variant="footer": wordmark + studio blurb + contact (footer column 3). - * - variant="inline": compact wordmark + "Built by" label. + * EECredit — the "Built by Emergence Engineering" lockup. + * Uses the EE flower mark (keeps its orange) + the "Emergence Engineering" + * wordmark set in Oswald (the blog's brand/title font) in a light color, so it + * stays visible on the dark footer (the original wordmark SVG's text is near-black). + * - variant="footer": lockup + studio blurb + contact (footer column 3). + * - variant="inline": compact "Built by" lockup. */ import Icon from './Icon.astro'; +import '@fontsource/oswald/500.css'; interface Props { variant?: 'footer' | 'inline'; @@ -16,19 +19,33 @@ const { variant = 'footer', class: cls = '' } = Astro.props; { variant === 'inline' ? ( - + Built by - + + Emergence Engineering ) : ( @@ -36,10 +53,17 @@ const { variant = 'footer', class: cls = '' } = Astro.props; } diff --git a/site/src/sections/Pillars.astro b/site/src/sections/Pillars.astro index a6f5379..ad3eda8 100644 --- a/site/src/sections/Pillars.astro +++ b/site/src/sections/Pillars.astro @@ -8,15 +8,15 @@ import Pillar from '../components/Pillar.astro';

Three things that set PCBJam apart.

- + Zero install, zero toolchain. Mac, Linux, Windows, Chromebook, iPad — if it has a modern browser, it designs PCBs. - + Live cursors, presence, and conflict-free co-editing on the same board. Plus pin-to-canvas comments for review. - + Real KiCad format in, real KiCad format out. Self-host it, run it offline as a PWA, or use our cloud — your files are never held hostage. diff --git a/site/src/sections/PositioningMap.astro b/site/src/sections/PositioningMap.astro index b33f207..ea21faf 100644 --- a/site/src/sections/PositioningMap.astro +++ b/site/src/sections/PositioningMap.astro @@ -1,6 +1,5 @@ --- import SectionBand from '../components/SectionBand.astro'; -import Placeholder from '../components/Placeholder.astro'; --- @@ -12,10 +11,25 @@ import Placeholder from '../components/Placeholder.astro'; PCBJam is the only one in the middle.

- {/* TODO(assets): build the quadrant/Venn graphic on the you-are-here motif (§4b.5). */} - + + diff --git a/site/src/sections/TrustBar.astro b/site/src/sections/TrustBar.astro index 1605e19..e933b6f 100644 --- a/site/src/sections/TrustBar.astro +++ b/site/src/sections/TrustBar.astro @@ -8,7 +8,7 @@ const stats = [ { value: 'Millions', label: 'KiCad users worldwide' }, { value: 'Largest', label: 'open component & footprint library in EDA' }, { value: '100%', label: 'open file format — your .kicad_pcb / .kicad_sch' }, - { value: 'Free', label: 'to start — no card, no per-seat toll' }, + { value: 'Free', label: 'to start — no credit card' }, ]; --- diff --git a/site/src/styles/global.css b/site/src/styles/global.css index 6d726be..0951740 100644 --- a/site/src/styles/global.css +++ b/site/src/styles/global.css @@ -225,6 +225,13 @@ main.wide { padding-block: 0; } +/* Only the hero waitlist form needs an anchor offset for the sticky header — + the section anchors (#how-it-works, #open) already clear it via their own + top padding, so we don't touch global scroll behavior. */ +#waitlist { + scroll-margin-top: 5rem; +} + /* Visually-hidden but accessible (labels, honeypot). */ .sr-only { position: absolute;