Story images: three-section rewards grid, bundle comparison (08b), sections 7-9 book/bundles/Retreat, timeline with 20 Oct cutoff, Academy held out of launch
|
Before Width: | Height: | Size: 240 KiB After Width: | Height: | Size: 338 KiB |
|
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 309 KiB |
|
After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
|
Before Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 216 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 319 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 225 KiB |
|
After Width: | Height: | Size: 222 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 185 KiB |
@@ -1,11 +1,13 @@
|
||||
# We Own AI: Kickstarter story images
|
||||
|
||||
All graphics for the Story tab of the We Own AI — The New American Dream campaign, built from the v2 campaign guide (`ks-research/kickstarter-campaign-guide.md`, section 2.3 Story and Part 3.1 assets).
|
||||
All graphics for the Story tab of the We Own AI — The New American Dream campaign, built from the v2.1 campaign guide (`ks-research/kickstarter-campaign-guide.md`, section 2.3 Story and Part 3.1 assets). AOP.biz bundle contents come from GUIDE-436 (`WeOwnAi/s004_fedarch/_GUIDES_/GUIDE-436.md`).
|
||||
|
||||
**Updated 27 September 2026:** the rewards are now three sections: The book, Build it yourself or with us (AOP.biz bundles), and In person (the Burned Out Advisor Retreat). Sections 7 to 9 are now The book and AiBook.fun, Build it yourself or with us, and In person: the Retreat. The Academy is held out of launch, so its header, map, and site cards are no longer in the set (their source stays in `build.py` behind `ACADEMY_IN_LAUNCH = False`). New: `08b-bundle-comparison.png`. Changed: 06b, 06c, 11b (vertical timeline with the 20 October cutoff), 14b (AOP.biz bundles lead instead of Academy lead). Renamed without other changes: the AiBook.fun device mockup is now `07b` (was 09b).
|
||||
|
||||
- Kickstarter shows story images about 680 px wide. Every file here is exported at 1360 px wide (2x) as PNG, well under 5 MB.
|
||||
- Workflow from the guide: add each section title as a Heading in the Story editor, insert that section's header image under it, paste the text, then add the section's other images where they fit.
|
||||
- **Book cover:** the cover is the one already designed for the landing page: the 3D book in `marketing-site/components/Book3D.jsx` (styles `.book3d*` in `marketing-site/styles/globals.css`, belly band `marketing-site/public/american-dream-banner.webp`). `src/render_cover.py` screenshots it exactly as it appears on https://aibook.fun, in its resting pose, and saves `src/assets-gen/cover-3d.png` (3D, transparent background) and `cover-flat.png` (front face only). Nothing about it was redesigned. **Note:** the landing cover reads "The Field Guide / Responsible Agentic AI / Tested workflows you can actually run / AiBook.fun" with an "American Dream" band. It does not say "We Own AI". If the campaign title should be on the cover, update Book3D.jsx first and re-render.
|
||||
- **Real screenshots:** 05b and 09b are screenshots of the live site (https://aibook.fun/read/recipe/RE-01 and https://aibook.fun/read/real-estate), taken by `src/render_screens.py`.
|
||||
- **Real screenshots:** 05b and 07b are screenshots of the live site (https://aibook.fun/read/recipe/RE-01 and https://aibook.fun/read/real-estate), taken by `src/render_screens.py`.
|
||||
- Style: the AiBook.fun field-guide system from `marketing-site/styles/globals.css` (paper `#fcfbf8`/`#f6f4ee`, pine `#1c5d4c`/`#12463a`, amber `#b4791f`; Fraunces, Hanken Grotesk, JetBrains Mono). The compass mark comes from `Book3D.jsx`. Emoji in headers use Noto Color Emoji and match the guide's section headings.
|
||||
- Everything was built as HTML/CSS and rendered with headless Chrome. **No AI-generated imagery is used.** For Kickstarter's Use of AI section: none of these images were made with AI image tools.
|
||||
- Files marked **PLACEHOLDER** have empty frames for photos (or names) the owner has to supply. Don't upload them until they've been re-rendered with the real files.
|
||||
@@ -29,28 +31,27 @@ All graphics for the Story tab of the We Own AI — The New American Dream campa
|
||||
| 05b-sample-workflow-try-it.png | 5 Try one workflow | 1360 × 1722 | Real screenshots of workflow RE-01 at aibook.fun/read/recipe/RE-01 in a browser frame: the header, title and kit (who runs it, tools, files, model, time, cost, output), then its Try-it. A strip marks the parts left out (Problem to Evidence). | Sample workflow RE-01: draft a property-market brief with an AI agent without leaking client data, with a 15-minute Try-it |
|
||||
| 05c-button-try-the-workflow.png | 5 Try one workflow | 1360 × 298 | Button image. In the editor, link it to https://aibook.fun/read/recipe/RE-01 (live now; the site currently labels it a "Reading demo"). | Try the sample workflow |
|
||||
| 06-header-three-ways-to-back.png | 6 Three ways to back | 1360 × 300 | Section header | Three ways to back |
|
||||
| 06b-three-ways-to-back.png | 6 Three ways to back | 1360 × 1634 | Three columns (Retreat, Academy, Book & Library) showing what each is, what it includes, and when. Book & Library prices are one per line ($19, $25, $47 featured). The signed paperback appears with "Price on the reward" and a small image of the landing cover. The Book & Library header shows the cover too. No Retreat or Academy price is shown. | Three ways to back: Retreat, Academy, and Book & Library, with Book & Library rewards at $19, $25 and $47 |
|
||||
| 06c-three-ways-to-back-no-paperback.png | 6 Three ways to back | 1360 × 1414 | Same image without the paperback (the Book & Library header still shows the cover), for use if the paperback reward is left out at launch | Same as above |
|
||||
| 07-header-the-retreat.png | 7 The Retreat | 1360 × 300 | Section header | The Retreat |
|
||||
| 07b-retreat-venue-PLACEHOLDER.png | 7 The Retreat | 1360 × 765 | Venue photo frame with "Burned Out Advisor Retreat, 4 to 6 November 2026" and a "369 seats" badge | Burned Out Advisor Retreat, 4 to 6 November 2026, 369 seats |
|
||||
| 08-header-the-academy.png | 8 The Academy | 1360 × 300 | Section header | The Academy |
|
||||
| 08b-academy-map.png | 8 The Academy | 1360 × 956 | US map with pins on #NoDe (North Denver, CO), Villa Park (Chicagoland, IL), and Azur Resorts (Orlando, FL) | Map of the three AiCoach + AOP.biz BootCamp sites: North Denver, Villa Park near Chicago, and Orlando |
|
||||
| 08c-academy-sites-PLACEHOLDER.png | 8 The Academy | 1360 × 666 | Three site cards, each with a photo frame | The three Academy sites |
|
||||
| 09-header-book-library-and-aibook-fun.png | 9 Book & Library and AiBook.fun | 1360 × 300 | Section header | Book & Library and AiBook.fun |
|
||||
| 09b-aibook-fun-device-mockup.png | 9 Book & Library and AiBook.fun | 1360 × 1188 | Laptop and phone frames with real screenshots of the live AiBook.fun reader (https://aibook.fun/read/real-estate), with callouts for Chapter essay, Workflow, Try-it (about 15 minutes), and Last updated | Mockup of the AiBook.fun reader on a laptop and phone, showing a chapter essay, a workflow, its Try-it and the last-updated date |
|
||||
| 06b-three-ways-to-back.png | 6 Three ways to back | 1360 × 1784 | Three columns. The book: $19, $25, $47 (featured), and the signed paperback with "Price on the reward" and the landing cover; delivery months. Build it yourself or with us: $1,000 DIY, $2,000 Launch, $5,000 Growth (with "Closes 20 Oct 2026"), and a note that the $988 a month service and $200 a month hosting are separate, optional agreements and Kickstarter charges the pledge once. In person: the Retreat, 369 seats, seat + signed paperback + eBook + 12 months of AiBook.fun, 4–6 November 2026, closes 20 Oct 2026, "Price on the reward". No Retreat price or venue is shown. | Three ways to back: the book from $19, AOP.biz bundles at $1,000, $2,000 and $5,000, and the Burned Out Advisor Retreat |
|
||||
| 06c-three-ways-to-back-no-paperback.png | 6 Three ways to back | 1360 × 1710 | Same image without the paperback tier in The book column (the Retreat still lists its signed paperback), for use if the paperback reward is left out at launch | Same as above |
|
||||
| 07-header-the-book-and-aibook-fun.png | 7 The book and AiBook.fun | 1360 × 300 | Section header | The book and AiBook.fun |
|
||||
| 07b-aibook-fun-device-mockup.png | 7 The book and AiBook.fun | 1360 × 1188 | Laptop and phone frames with real screenshots of the live AiBook.fun reader (https://aibook.fun/read/real-estate), with callouts for Chapter essay, Workflow, Try-it (about 15 minutes), and Last updated. Unchanged from the old 09b. | Mockup of the AiBook.fun reader on a laptop and phone, showing a chapter essay, a workflow, its Try-it and the last-updated date |
|
||||
| 08-header-build-it-yourself-or-with-us.png | 8 Build it yourself or with us | 1360 × 300 | Section header | Build it yourself or with us |
|
||||
| 08b-bundle-comparison.png | 8 Build it yourself or with us | 1360 × 2588 | Comparison table of the AOP.biz bundles ($1,000 DIY on WeOwn Cloud with no support of any kind; $2,000 Launch; $5,000 Growth, highlighted, with a Retreat seat): the starter pack, what our team sets up, what Growth adds, the Retreat seat (Growth only), and the pledge window (Growth closes 20 Oct 2026). Below: the separate, optional agreements after the pledge ($200 a month hosting; $988 a month service from April 2027; 50% cohort attendance). Contents from GUIDE-436. | AOP.biz bundles compared: DIY $1,000, Launch $2,000, and Growth $5,000, which adds a Retreat seat |
|
||||
| 09-header-in-person-the-retreat.png | 9 In person: the Retreat | 1360 × 300 | Section header | In person: the Retreat |
|
||||
| 09b-retreat-venue-PLACEHOLDER.png | 9 In person: the Retreat | 1360 × 765 | Venue photo frame with "Burned Out Advisor Retreat, 4 to 6 November 2026", "Pledges close 20 October 2026", and a "369 seats" badge. No venue name (pending). | Burned Out Advisor Retreat, 4 to 6 November 2026, 369 seats, pledges close 20 October 2026 |
|
||||
| 10-header-stretch-goals.png | 10 Stretch goals | 1360 × 300 | Section header | Stretch goals |
|
||||
| 10b-stretch-goals-locked.png | 10 Stretch goals | 1360 × 500 | Bar with padlocks: $15,000 Bonus chapter, $35,000 Audiobook sample, $54,000 Live Q&A replay pack; goal $5,000 | Stretch goals: $15,000 bonus chapter, $35,000 audiobook sample, $54,000 live Q&A replay pack |
|
||||
| 10c-stretch-goals-15k-unlocked.png | 10 Stretch goals | 1360 × 500 | Same, with $15,000 unlocked | Stretch goal $15,000 unlocked: bonus chapter |
|
||||
| 10d-stretch-goals-35k-unlocked.png | 10 Stretch goals | 1360 × 500 | Same, with $15,000 and $35,000 unlocked | Stretch goals $15,000 and $35,000 unlocked |
|
||||
| 10e-stretch-goals-54k-unlocked.png | 10 Stretch goals | 1360 × 500 | Same, with all three unlocked | All three stretch goals unlocked |
|
||||
| 11-header-timeline.png | 11 Timeline | 1360 × 300 | Section header | Timeline |
|
||||
| 11b-timeline.png | 11 Timeline | 1360 × 920 | Path with six numbered stops, using the guide's dates. Stop 4 (Academy cohorts) reads "Dates to be announced". | Timeline from launch on 2 October 2026 to signed paperbacks in February 2027 |
|
||||
| 11b-timeline.png | 11 Timeline | 1360 × 1214 | Vertical path with eight numbered stops from the guide: opens 2 Oct; Retreat and Growth close 20 Oct (amber); ends 4 Nov with the Retreat 4–6 Nov; AiBook.fun access mid-November; December cohort; January eBook; January to March AOP.biz service; February paperbacks | Timeline from launch on 2 October 2026, with the 20 October cutoff, to signed paperbacks in February 2027 |
|
||||
| 12-header-shipping-and-delivery.png | 12 Shipping and delivery | 1360 × 300 | Section header | Shipping and delivery |
|
||||
| 12b-shipping-and-delivery-lanes.png | 12 Shipping and delivery | 1360 × 1154 | Two lanes. Digital: email, library access within about 14 days, eBook January 2027. Print: Pledge Manager survey (address, shipping, taxes), printing, signing January 2027, shipping February 2027. The eBook step and the paperback lane show the landing cover. No countries or rates. | Digital rewards arrive by email; signed paperbacks go through the Pledge Manager survey, printing, signing and shipping |
|
||||
| 13-header-early-readers.png | 13 Early readers | 1360 × 300 | Section header | Early readers |
|
||||
| 13b-early-reader-quotes-PLACEHOLDER.png | 13 Early readers | 1360 × 908 | Three quote-card templates (photo, quote, name, role). Use only quotes that readers have approved in writing. | Quotes from early readers |
|
||||
| 14-header-authors-and-team.png | 14 The authors and team | 1360 × 300 | Section header | The authors and team |
|
||||
| 14b-authors-and-team-PLACEHOLDER.png | 14 The authors and team | 1360 × 1442 | Three author cards for the co-authors the landing page lists as confirmed (`Authors.jsx`): Real Estate & Finance, Fractional C-Suite, Technology & RAAI. Below them, team cards with roles from the guide. Names and photos are still needed because the site does not publish them. | The authors and the team behind We Own AI |
|
||||
| 14b-authors-and-team-PLACEHOLDER.png | 14 The authors and team | 1360 × 1442 | Three author cards for the co-authors the landing page lists as confirmed (`Authors.jsx`): Real Estate & Finance, Fractional C-Suite, Technology & RAAI. Below them, team cards with roles from the guide, including the AOP.biz bundles lead. Names and photos are still needed because the site does not publish them. | The authors and the team behind We Own AI |
|
||||
| 14c-author-headshot-800x800-PLACEHOLDER.png | 14 The authors and team | 800 × 800 | Neutral 800 × 800 headshot frame for any author without a photo | (placeholder, do not upload) |
|
||||
| 15-header-special-thanks.png | 15 Special thanks | 1360 × 300 | Section header | Special thanks |
|
||||
| 16-header-how-to-help.png | 16 How to help | 1360 × 300 | Section header | How to help |
|
||||
@@ -61,11 +62,10 @@ No real people or venues were generated. These frames wait for real files:
|
||||
|
||||
| Photo | Needed for | Size |
|
||||
|---|---|---|
|
||||
| Retreat venue photo | 07b | Landscape, at least 1360 × 765 |
|
||||
| Academy site photos: Azur Resorts (Orlando), #NoDe (North Denver), Villa Park (Chicagoland) | 08c | At least 800 × 600 each, landscape |
|
||||
| Retreat venue photo (venue still pending) | 09b | Landscape, at least 1360 × 765 |
|
||||
| Early reader photos, with written permission | 13b | At least 400 × 400, square |
|
||||
| Author headshots (and names) for the three confirmed co-authors | 14b (and on their own as story images) | 800 × 800, square |
|
||||
| Team headshots: @THY, @LFG, @CEO, @GTM, Osinachi Patrick, Academy BootCamp lead | 14b | 800 × 800, square |
|
||||
| Team headshots: @THY, @LFG, @CEO, @GTM, Osinachi Patrick, AOP.biz bundles lead | 14b | 800 × 800, square |
|
||||
|
||||
## Waiting on owner decisions (re-render when settled)
|
||||
|
||||
@@ -73,8 +73,9 @@ No real people or venues were generated. These frames wait for real files:
|
||||
- **Chapter lead authors:** 04c follows the landing page's founding library. The landing page lists Higher Education and Communities co-authors as "To be announced".
|
||||
- **Public sample workflow:** 05b shows RE-01 as it is live on AiBook.fun. If a different workflow becomes the public sample, re-run `render_screens.py` with its URL and relink 05c.
|
||||
- **Paperback price:** 06b says "Price on the reward". Use 06c if the paperback is left out at launch.
|
||||
- **A fourth reward bucket:** 06b and 06c are built from a list of columns in `three_ways()` in `build.py`. To add a fourth bucket once its contents and price are confirmed, append one more column entry there and re-run `python build.py '^06'`; the grid adjusts without a CSS change.
|
||||
- **Academy cohort dates and seats:** 08c has no dates or seats, and timeline stop 4 says "Dates to be announced".
|
||||
- **Retreat price and venue:** 06b shows "Price on the reward" and no venue; 09b has no venue name. GUIDE-436 names TradeWinds Resort, St. Pete Beach, but the Kickstarter pack retired the "St. Pete" label, so the venue waits for the owner.
|
||||
- **DIY hosting start date:** 06b and 08b give the $200 a month WeOwn Cloud hosting without a start date, on purpose.
|
||||
- **Academy (held out of launch):** it will be announced in a campaign update once dates and prices exist. The map and site-card source is kept in `build.py` (Academy section). To bring it back, set `ACADEMY_IN_LAUNCH = True`, give it story numbers, add a fourth column to `three_ways()` (the grid adjusts without a CSS change), add its timeline stop, and re-run.
|
||||
- **Retreat agenda:** the guide asks for a three-day agenda graphic "once the agenda exists". It doesn't exist yet, so that graphic has not been made.
|
||||
- **Names for the author and team cards, and approval to list Osinachi Patrick.**
|
||||
- **Tier names on the landing page:** `marketing-site/components/Tiers.jsx` still shows older tiers ($10 Supporter / $47 per year / Founding Sponsor). The story images follow the v2 campaign guide instead.
|
||||
@@ -84,9 +85,9 @@ No real people or venues were generated. These frames wait for real files:
|
||||
```
|
||||
cd src
|
||||
python render_cover.py # landing-page book cover from https://aibook.fun -> assets-gen/cover-3d.png, cover-flat.png
|
||||
python render_screens.py # live screenshots for 05b and 09b from https://aibook.fun
|
||||
python render_screens.py # live screenshots for 05b and 07b from https://aibook.fun
|
||||
python build.py # all story images -> ../ ; pass a regex to render a subset, e.g. python build.py '^06'
|
||||
python contact_sheet.py
|
||||
```
|
||||
|
||||
Requires Python with `playwright` and `pillow`, a Chrome/Chromium binary (the path is set in the scripts; render_cover.py uses SwiftShader WebGL flags so the 3D faces sort correctly), and the Fraunces, Hanken Grotesk, JetBrains Mono, and Noto Color Emoji fonts installed. Text and data live at the top of each section in `build.py`: QUOTES, TEAM, CHAPTERS, STOPS, GOALS, and so on. Photos go in `src/assets/` (see `src/assets/README.md`). `make_map.py` builds the US outline from public-domain US Census-derived state boundaries.
|
||||
Requires Python with `playwright` and `pillow`, a Chrome/Chromium binary (the path is set in the scripts; render_cover.py uses SwiftShader WebGL flags so the 3D faces sort correctly), and the Fraunces, Hanken Grotesk, JetBrains Mono, and Noto Color Emoji fonts installed. Text and data live at the top of each section in `build.py`: QUOTES, TEAM, CHAPTERS, STOPS, GOALS, BUNDLE_COLS, BUNDLE_ROWS, and so on. Photos go in `src/assets/` (see `src/assets/README.md`). `make_map.py` builds the US outline from public-domain US Census-derived state boundaries.
|
||||
|
||||
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 2.7 MiB |
@@ -5,10 +5,10 @@ Images whose slots are filled lose the `-PLACEHOLDER` suffix.
|
||||
|
||||
| File name (any of .jpg/.png/.webp) | Used in | Minimum size |
|
||||
|---|---|---|
|
||||
| retreat-venue | 07b Retreat | 1360 × 765, landscape |
|
||||
| site-orlando, site-north-denver, site-villa-park | 08c Academy sites | 800 × 600 each, landscape |
|
||||
| retreat-venue | 09b Retreat | 1360 × 765, landscape |
|
||||
| site-orlando, site-north-denver, site-villa-park | Academy site cards (held out of launch; used only when `ACADEMY_IN_LAUNCH = True`) | 800 × 600 each, landscape |
|
||||
| reader-1, reader-2, reader-3 | 13b early reader quotes | 400 × 400, square |
|
||||
| author-1, author-2, author-3 | 14b authors (Real Estate & Finance, Fractional C-Suite, Technology & RAAI) | 800 × 800, square |
|
||||
| team-thy, team-lfg, team-ceo, team-gtm, team-osinachi-patrick, team-academy-lead | 14b team | 800 × 800, square |
|
||||
| team-thy, team-lfg, team-ceo, team-gtm, team-osinachi-patrick, team-aop-lead | 14b team | 800 × 800, square |
|
||||
|
||||
The book cover is not a photo slot: it is rendered from the landing page's `Book3D.jsx` by `render_cover.py` into `src/assets-gen/`.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Usage: python build.py (render everything into ../)
|
||||
Owner photos: drop files into src/assets/ using the names in SLOT_FILES (jpg/png/webp) and re-run;
|
||||
images whose photo slots are still empty get a -PLACEHOLDER suffix.
|
||||
Sources of truth: ks-research/kickstarter-campaign-guide.md (v2), Story section and Part 3.1."""
|
||||
Sources of truth: ks-research/kickstarter-campaign-guide.md (v2.1), Story section and Part 3.1; GUIDE-436 for the AOP.biz bundles."""
|
||||
import asyncio, json, math, pathlib, re, sys
|
||||
from icons import ICONS, ILLUS, MARK, icon
|
||||
HERE = pathlib.Path(__file__).parent
|
||||
@@ -56,8 +56,8 @@ HEADERS = [
|
||||
('01', 'welcome', '👋', 'Welcome'), ('02', 'why-this-book', '❤️', 'Why this book'),
|
||||
('03', 'who-its-for', '🎯', 'Who it’s for'), ('04', 'whats-inside', '📖', 'What’s inside'),
|
||||
('05', 'try-one-workflow', '🧪', 'Try one workflow'), ('06', 'three-ways-to-back', '🧭', 'Three ways to back'),
|
||||
('07', 'the-retreat', '🏕️', 'The Retreat'), ('08', 'the-academy', '🎓', 'The Academy'),
|
||||
('09', 'book-library-and-aibook-fun', '📚', 'Book & Library and AiBook.fun'), ('10', 'stretch-goals', '🎁', 'Stretch goals'),
|
||||
('07', 'the-book-and-aibook-fun', '📚', 'The book and AiBook.fun'), ('08', 'build-it-yourself-or-with-us', '🛠️', 'Build it yourself or with us'),
|
||||
('09', 'in-person-the-retreat', '🏕️', 'In person: the Retreat'), ('10', 'stretch-goals', '🎁', 'Stretch goals'),
|
||||
('11', 'timeline', '⏳', 'Timeline'), ('12', 'shipping-and-delivery', '📦', 'Shipping and delivery'),
|
||||
('13', 'early-readers', '👀', 'Early readers'), ('14', 'authors-and-team', '✍️', 'The authors and team'),
|
||||
('15', 'special-thanks', '🙏', 'Special thanks'), ('16', 'how-to-help', '📣', 'How to help'),
|
||||
@@ -68,6 +68,11 @@ def header(num, slug, emoji, title):
|
||||
f'<div style="min-width:0;flex:1"><div class="kicker">{TITLE}</div><h1 data-fit>{title}</h1></div><div class="rule"></div></div>')
|
||||
return body
|
||||
HDR = {n: (f'{n}-header-{s}', header(n, s, e, t)) for n, s, e, t in HEADERS}
|
||||
# The Academy (AiCoach + AOP.biz BootCamp) is held out of the launch rewards; it will be announced in a campaign update
|
||||
# once dates and prices exist (guide Appendix E). Its header, map and site cards are kept below and render only when
|
||||
# ACADEMY_IN_LAUNCH is True (they would then need a slot in the story numbering).
|
||||
ACADEMY_IN_LAUNCH = False
|
||||
HDR['academy'] = ('A-header-the-academy', header('A', 'the-academy', '🎓', 'The Academy'))
|
||||
def add_header(n):
|
||||
name, body = HDR[n]; page(name, body, w=680, h=150)
|
||||
|
||||
@@ -233,152 +238,104 @@ page('05c-button-try-the-workflow', f'''<div class="canvas" id="shot">
|
||||
# ---------------------------------------------------------------- 06 three ways to back
|
||||
add_header('06')
|
||||
def three_ways(paperback=True):
|
||||
"""One column per reward bucket. To add a fourth bucket later, append another (html, width) entry
|
||||
to `cols` below; the grid template is built from the list, so no CSS change is needed."""
|
||||
"""One column per reward section: The book / Build it yourself or with us / In person.
|
||||
`cols` is a list of (html, width) entries; the grid template is built from the list, so adding a column
|
||||
(for example the Academy once it is announced) needs no CSS change."""
|
||||
book_items = [('$19', 'Early Bird eBook', 'First 200 backers', False),
|
||||
('$25', 'eBook and backer-only updates', '', False),
|
||||
('$47', 'eBook and 12 months of the AiBook.fun library', '', True)]
|
||||
('$47', 'eBook and 12 months of the AiBook.fun library', 'Featured', True)]
|
||||
rows = ''.join(f'<li class="{"feat" if f else ""}"><b>{p}</b><span>{t}' + (f'<small>{s}</small>' if s else '') + '</span></li>'
|
||||
for p, t, s, f in book_items)
|
||||
if paperback:
|
||||
rows += f'<li><b class="np"><img src="{COVER_3D}" alt=""></b><span>Signed paperback and eBook<small>Price on the reward</small></span></li>'
|
||||
rows += f'<li class="pb"><b class="np"><img src="{COVER_3D}" alt=""></b><span>Signed paperback and eBook<small>Price on the reward</small></span></li>'
|
||||
book_deliv = ('<li>Library access: within about 14 days of a successful campaign</li><li>eBook: January 2027</li>'
|
||||
+ ('<li>Signed paperback: February 2027</li>' if paperback else ''))
|
||||
inc = f'<ul class="inc"><li>{icon("seat")}Your seat</li><li>{icon("book")}The eBook</li><li>{icon("library")}12 months of AiBook.fun</li></ul>'
|
||||
cols = [(f'''
|
||||
<div class="col card">
|
||||
<p class="nm">Retreat</p><h3>Burned Out Advisor Retreat</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>Three days in person with the authors and other advisors.</p>
|
||||
<p class="fact">{icon("people")}369 seats</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p>{inc}</div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact">{icon("calendar")}4–6 November 2026</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>''', '1fr'),
|
||||
(f'''
|
||||
<div class="col card">
|
||||
<p class="nm">Academy</p><h3>AiCoach + AOP.biz BootCamp</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>A seat in the next cohort at one of three sites:</p>
|
||||
<p class="fact">{icon("pin")}Orlando, Florida</p><p class="fact">{icon("pin")}North Denver, Colorado</p><p class="fact">{icon("pin")}Villa Park, Chicagoland, Illinois</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p>{inc}</div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact">{icon("calendar")}The next cohort at your chosen site</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>''', '1fr'),
|
||||
(f'''
|
||||
bundles = [('$1,000', 'DIY', 'The starter pack on WeOwn Cloud, to run yourself. No support of any kind.', ''),
|
||||
('$2,000', 'Launch', 'Set up with our team: onboarding and a first implementation cycle, plus three months of AOP.biz service and the December 2026 cohort.', ''),
|
||||
('$5,000', 'Growth', 'Everything in Launch, plus deeper integration, more agents, ongoing support, and a Retreat seat.', 'Closes 20 Oct 2026')]
|
||||
brows = ''.join(f'<li class="{"feat" if tag else ""}"><div class="bt"><b>{p}</b><em>{n}</em></div><span>{d}</span>'
|
||||
+ (f'<i class="tag">{tag}</i>' if tag else '') + '</li>' for p, n, d, tag in bundles)
|
||||
inc = (f'<ul class="inc"><li>{icon("seat")}Your seat</li><li>{icon("book")}A signed paperback</li>'
|
||||
f'<li>{icon("book")}The eBook</li><li>{icon("library")}12 months of AiBook.fun</li></ul>')
|
||||
cols = [(f"""
|
||||
<div class="col card book">
|
||||
<p class="nm">Book & Library</p><div class="ch"><h3>The book and the AiBook.fun library</h3><img src="{COVER_FLAT}" alt=""></div>
|
||||
<p class="nm">The book</p><div class="ch"><h3>The book and the AiBook.fun library</h3><img src="{COVER_FLAT}" alt=""></div>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices">{rows}</ul></div>
|
||||
<div class="sec"><p class="lb">When</p><ul class="dl">{book_deliv}</ul></div>
|
||||
<div class="pr"></div>
|
||||
</div>''', '1.3fr')]
|
||||
many = len(cols) > 3 # four or more columns: let columns shrink below their content width and wrap the price pill
|
||||
grid = ' '.join(f'minmax(0,{w})' if many else w for _, w in cols)
|
||||
</div>""", '1.05fr'),
|
||||
(f"""
|
||||
<div class="col card build">
|
||||
<p class="nm">Build it yourself or with us</p><h3>AOP.biz bundles</h3>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices bund">{brows}</ul></div>
|
||||
<div class="sec"><p class="lb">After the pledge</p><p class="sm">AOP.biz service ($988 a month) and WeOwn Cloud hosting ($200 a month) are separate, optional agreements. Kickstarter charges your pledge once.</p></div>
|
||||
<div class="pr"></div>
|
||||
</div>""", '1.2fr'),
|
||||
(f"""
|
||||
<div class="col card">
|
||||
<p class="nm">In person</p><h3>Burned Out Advisor Retreat</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>Three days in person with the authors and other advisors.</p>
|
||||
<p class="fact">{icon("people")}369 seats</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p>{inc}</div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact">{icon("calendar")}4–6 November 2026</p><p class="fact cut">{icon("clock")}Closes 20 Oct 2026</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>""", '0.95fr')]
|
||||
many = len(cols) > 3
|
||||
grid = ' '.join(f'minmax(0,{w})' for _, w in cols)
|
||||
html = ''.join(h for h, _ in cols)
|
||||
return f'''<div class="canvas" id="shot"><div class="cols{' many' if many else ''}" style="grid-template-columns:{grid}">{html}
|
||||
</div></div>'''
|
||||
TW_CSS = '''
|
||||
.cols{display:grid;grid-template-columns:1fr 1fr 1.3fr;grid-template-rows:repeat(6,auto);column-gap:10px}
|
||||
.col{padding:18px 15px 16px;display:grid;grid-template-rows:subgrid;grid-row:span 6}
|
||||
.nm{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);font-weight:600}
|
||||
return f"""<div class="canvas" id="shot"><div class="cols{' many' if many else ''}" style="grid-template-columns:{grid}">{html}
|
||||
</div></div>"""
|
||||
TW_CSS = """
|
||||
.canvas{padding:28px 26px}
|
||||
.cols{display:grid;grid-template-rows:repeat(6,auto);column-gap:10px}
|
||||
.col{padding:18px 14px 16px;display:grid;grid-template-rows:subgrid;grid-row:span 6;min-width:0}
|
||||
.nm{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pine);font-weight:600;line-height:1.35}
|
||||
.col h3{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.02em;line-height:1.15;margin:6px 0 10px}
|
||||
.sec{border-top:1px dashed var(--line-2);padding:10px 0 12px}
|
||||
.span2{grid-row:span 2}
|
||||
.lb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
|
||||
.lb{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
|
||||
.sec p{font-size:14px;line-height:1.4}
|
||||
.sec p.sm{font-size:13px;line-height:1.42;color:var(--ink)}
|
||||
.fact{display:flex;gap:7px;align-items:flex-start;margin-top:6px;font-weight:600}
|
||||
.lb+.fact{margin-top:0}
|
||||
.fact.cut{color:var(--amber)}
|
||||
.fact.cut .ico{color:var(--amber)}
|
||||
.fact .ico,.inc .ico{width:17px;height:17px;margin-top:1px}
|
||||
.inc li{display:flex;gap:7px;align-items:flex-start;font-size:14px;line-height:1.35;padding:2px 0}
|
||||
.pr{align-self:end}
|
||||
.price{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--pine);background:var(--pine-wash);border:1px solid var(--pine-tint);border-radius:999px;padding:7px 6px;text-align:center;white-space:nowrap}
|
||||
.many .price{white-space:normal}
|
||||
.book{border-color:rgba(28,93,76,.28)}
|
||||
.prices li{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:baseline;padding:7px 8px;border-radius:10px;font-size:14px;line-height:1.35}
|
||||
.price{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--pine);background:var(--pine-wash);border:1px solid var(--pine-tint);border-radius:999px;padding:7px 6px;text-align:center;white-space:normal;line-height:1.3}
|
||||
.book,.build{border-color:rgba(28,93,76,.28)}
|
||||
.prices li{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:10px;font-size:14px;line-height:1.35}
|
||||
.prices li+li{margin-top:4px}
|
||||
.prices b{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink)}
|
||||
.prices b.np{align-self:start;width:30px;margin:0 0 0 6px}.prices b.np img{width:30px;display:block}
|
||||
.ch{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
|
||||
.ch img{width:46px;border-radius:2px 4px 4px 2px;box-shadow:0 6px 12px -6px rgba(18,63,52,.5);margin:4px 0 8px}
|
||||
.prices small{display:block;font-size:13px;color:var(--muted)}
|
||||
.prices b{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink);line-height:1.05}
|
||||
.prices li.pb{flex-direction:row;gap:10px;align-items:flex-start}
|
||||
.prices b.np{flex:none;width:30px;margin:2px 0 0}.prices b.np img{width:30px;display:block}
|
||||
.ch{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
|
||||
.ch img{width:42px;border-radius:2px 4px 4px 2px;box-shadow:0 6px 12px -6px rgba(18,63,52,.5);margin:4px 0 8px;flex:none}
|
||||
.prices small{display:block;font-size:12.5px;color:var(--muted)}
|
||||
.prices li.feat{background:var(--pine);color:#eaf1ec}
|
||||
.prices li.feat b{color:#fff}
|
||||
.prices li.feat small{color:#cfe0d6}
|
||||
.bund .bt{display:flex;align-items:baseline;gap:8px}
|
||||
.bund .bt em{font-style:normal;font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}
|
||||
.bund li.feat .bt em{color:#cfe0d6}
|
||||
.bund span{font-size:13.5px;line-height:1.4}
|
||||
.bund .tag{font-style:normal;align-self:flex-start;margin-top:5px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;background:var(--amber);color:#fff;border-radius:999px;padding:3px 9px}
|
||||
.dl li{font-size:14px;line-height:1.4;padding:2px 0 2px 14px;position:relative}
|
||||
.dl li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:999px;background:var(--pine)}
|
||||
'''
|
||||
"""
|
||||
page('06b-three-ways-to-back', three_ways(True), css=TW_CSS)
|
||||
page('06c-three-ways-to-back-no-paperback', three_ways(False), css=TW_CSS)
|
||||
|
||||
# ---------------------------------------------------------------- 07 retreat
|
||||
# ---------------------------------------------------------------- 07 the book and aibook.fun (device mockup)
|
||||
add_header('07')
|
||||
page('07b-retreat-venue', f'''<div class="canvas" id="shot">
|
||||
{slot("retreat-venue", "Venue photo goes here", "Landscape · at least 1360 × 765 px", "venue")}
|
||||
<div class="ov"><p class="spec">{TITLE.split(" — ")[0]}</p><h3>Burned Out Advisor Retreat</h3><p class="d">{icon("calendar")}4 to 6 November 2026</p></div>
|
||||
<div class="seats"><b>369</b><span>seats</span></div>
|
||||
</div>''', h=383, px_h=765, css='''
|
||||
.canvas{padding:0;height:383px}
|
||||
.venue{position:absolute;inset:0}
|
||||
.venue .ph{border-radius:0;border-width:0;justify-content:flex-start;padding-top:70px}
|
||||
.ov{position:absolute;left:28px;bottom:26px;background:rgba(252,251,248,.96);border-radius:16px;padding:16px 22px 18px;box-shadow:var(--sh-lg);max-width:420px}
|
||||
.ov h3{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.025em;line-height:1.05;margin:6px 0 10px}
|
||||
.ov .d{display:flex;align-items:center;gap:9px;font-weight:700;font-size:18px}
|
||||
.ov .d .ico{width:22px;height:22px}
|
||||
.seats{position:absolute;right:28px;top:26px;width:108px;height:108px;border-radius:999px;background:var(--pine);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 5px rgba(252,251,248,.9),var(--sh-lg)}
|
||||
.seats b{font-family:var(--display);font-weight:900;font-size:38px;line-height:1;letter-spacing:-.03em}
|
||||
.seats span{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#cfe0d6;margin-top:3px}
|
||||
''')
|
||||
|
||||
# ---------------------------------------------------------------- 08 academy
|
||||
add_header('08')
|
||||
W, H = MAP['w'], MAP['h']
|
||||
pins = MAP['pins']
|
||||
def pct(k): return pins[k][0] / W * 100, pins[k][1] / H * 100
|
||||
SITES = [('villapark', 'Chicagoland, Illinois', 'Villa Park', 'lab-r'),
|
||||
('denver', 'North Denver, Colorado', '#NoDe', 'lab-l'),
|
||||
('orlando', 'Orlando, Florida', 'Azur Resorts', 'lab-l')]
|
||||
pin_html = ''
|
||||
for k, city, sub, cls in SITES:
|
||||
x, y = pct(k)
|
||||
pin_html += (f'<div class="pin" style="left:{x:.2f}%;top:{y:.2f}%">{ICONS["pin"]}'
|
||||
f'<div class="lab {cls}"><b>{sub}</b><span>{city}</span></div></div>')
|
||||
page('08b-academy-map', f'''<div class="canvas" id="shot">
|
||||
<p class="spec" style="text-transform:none;letter-spacing:.04em;font-size:14px">AiCoach + AOP.biz BootCamp · three sites</p>
|
||||
<div class="map">{MAP_SVG}{pin_html}</div>
|
||||
</div>''', css=f'''
|
||||
.map{{position:relative;margin-top:14px;aspect-ratio:{W}/{H}}}
|
||||
.map>svg{{position:absolute;inset:0;width:100%;height:100%}}
|
||||
.pin{{position:absolute;width:0;height:0}}
|
||||
.pin>svg{{position:absolute;width:40px;height:40px;left:-20px;top:-36px;color:#fff;fill:var(--pine);stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}}
|
||||
.lab{{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 13px 9px;box-shadow:var(--sh-md);white-space:nowrap}}
|
||||
.lab b{{display:block;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;line-height:1.1}}
|
||||
.lab span{{display:block;font-size:14px;color:var(--muted);margin-top:2px}}
|
||||
.lab-r{{left:26px;top:-46px}}
|
||||
.lab-l{{right:26px;top:-46px}}
|
||||
''')
|
||||
SITE_CARDS = [('site-orlando', 'Azur Resorts', 'Orlando, Florida'), ('site-north-denver', '#NoDe', 'North Denver, Colorado'),
|
||||
('site-villa-park', 'Villa Park', 'Chicagoland, Illinois')]
|
||||
page('08c-academy-sites', '<div class="canvas" id="shot"><div class="sg">' + ''.join(
|
||||
f'<div class="card s">{slot(src, "Site photo goes here", "At least 800 × 600 px", "sp")}<div class="b"><p class="n">Site {i}</p><h3>{name}</h3><p class="pl">{icon("pin")}{place}</p></div></div>'
|
||||
for i, (src, name, place) in enumerate(SITE_CARDS, 1)) + '</div></div>', css='''
|
||||
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
|
||||
.s{overflow:hidden}
|
||||
.sp{aspect-ratio:4/3}
|
||||
.sp .ph{border-radius:0;border-width:0 0 2px 0}
|
||||
.sp .ph b{font-size:14px}.sp .ph small{font-size:11.5px}
|
||||
.b{padding:14px 15px 16px}
|
||||
.n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
|
||||
.b h3{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.02em;margin:4px 0 6px}
|
||||
.pl{display:flex;gap:6px;align-items:flex-start;font-size:14px;line-height:1.35;color:var(--ink)}
|
||||
.pl .ico{width:17px;height:17px;margin-top:1px}
|
||||
''')
|
||||
|
||||
# ---------------------------------------------------------------- 09 book & library and aibook.fun (device mockup)
|
||||
add_header('09')
|
||||
L, Ph = SCREENS['laptop'], SCREENS['phone']
|
||||
def tgt(box, vw, vh, name, side='left', gap=16):
|
||||
"""Callout target just outside the text box (left or right side), vertically centred."""
|
||||
x, y, w, h = box
|
||||
cx = x - gap if side == 'left' else x + w + gap
|
||||
return f'<i class="tg" data-t="{name}" style="left:{cx / vw * 100:.2f}%;top:{(y + h / 2) / vh * 100:.2f}%"></i>'
|
||||
page('09b-aibook-fun-device-mockup', f'''<div class="canvas" id="shot">
|
||||
page('07b-aibook-fun-device-mockup', f'''<div class="canvas" id="shot">
|
||||
<div class="stage">
|
||||
<div class="laptop"><div class="lid"><div class="scr"><img src="../assets-gen/screen-laptop.png">
|
||||
{tgt(L["essay"], L["vw"], L["vh"], "essay", gap=22)}{tgt(L["workflow"], L["vw"], L["vh"], "workflow", gap=22)}</div></div><div class="base"></div></div>
|
||||
@@ -430,6 +387,156 @@ window.afterLayout = async () => {{
|
||||
.foot-note{text-align:center;margin-top:14px}
|
||||
''')
|
||||
|
||||
# ---------------------------------------------------------------- 08 build it yourself or with us (bundle comparison)
|
||||
add_header('08')
|
||||
# Contents from GUIDE-436 (WeOwnAi/s004_fedarch/_GUIDES_/GUIDE-436.md) plus the owner's DIY definition (27 Sep 2026).
|
||||
# Values: True = included, False = not included, or a short string.
|
||||
BUNDLE_COLS = [('$1,000', 'DIY', 'On WeOwn Cloud.<br>No support of any kind.', False),
|
||||
('$2,000', 'Launch', 'Set up with our team.', False),
|
||||
('$5,000', 'Growth', 'Includes a Retreat seat.', True)]
|
||||
BUNDLE_ROWS = [
|
||||
('The starter pack', [
|
||||
('Starter agent fleet', [True, True, True]),
|
||||
('Docs and how-to guides', [True, True, True]),
|
||||
('Agentic assistant that answers from your own knowledge base', [True, True, True]),
|
||||
('Dedicated self-hosted instance; you own the data', [True, True, True])]),
|
||||
('Set up with our team', [
|
||||
('Onboarding', [False, True, True]),
|
||||
('First implementation cycle', [False, True, True]),
|
||||
('Three months of AOP.biz service, January to March 2027', [False, True, True]),
|
||||
('Seat in the December 2026 AOPbizFastTrack cohort', [False, True, True])]),
|
||||
('Growth adds', [
|
||||
('Deeper integration', [False, False, True]),
|
||||
('More agents working together', [False, False, True]),
|
||||
('Ongoing support cadence', [False, False, True]),
|
||||
('SharedBrain layer', [False, False, True]),
|
||||
('Workflow and automation layer', [False, False, True]),
|
||||
('Burned Out Advisor Retreat seat, 4–6 November 2026', [False, False, True])]),
|
||||
('Pledge window', [
|
||||
('Available until', ['4 Nov 2026', '4 Nov 2026', '20 Oct 2026'])]),
|
||||
]
|
||||
def cell(v, i):
|
||||
g = ' g' if BUNDLE_COLS[i][3] else ''
|
||||
if v is True: return f'<td class="c{g}"><span class="yes">{ICONS["check"]}</span></td>'
|
||||
if v is False: return f'<td class="c{g}"><span class="no">–</span></td>'
|
||||
cut = ' cut' if '20 Oct' in v else ''
|
||||
return f'<td class="c{g}"><span class="txt{cut}">{v}</span></td>'
|
||||
thead = '<tr><th class="lab"></th>' + ''.join(
|
||||
f'<th class="c{" g" if g else ""}"><b>{p}</b><em>{n}</em><small>{d}</small></th>' for p, n, d, g in BUNDLE_COLS) + '</tr>'
|
||||
tbody = ''
|
||||
for grp, rows_ in BUNDLE_ROWS:
|
||||
tbody += f'<tr class="grp"><td colspan="4">{grp}</td></tr>'
|
||||
for lab, vals in rows_:
|
||||
tbody += f'<tr><td class="lab">{lab}</td>' + ''.join(cell(v, i) for i, v in enumerate(vals)) + '</tr>'
|
||||
page('08b-bundle-comparison', f"""<div class="canvas" id="shot">
|
||||
<p class="spec">AOP.biz bundles · what each one includes</p>
|
||||
<table class="bc">{thead}{tbody}</table>
|
||||
<div class="after card"><p class="lb">After the pledge: separate, optional agreements</p>
|
||||
<ul>
|
||||
<li><b>DIY:</b> WeOwn Cloud hosting, $200 a month.</li>
|
||||
<li><b>Launch and Growth:</b> AOP.biz service, $988 a month from April 2027, after the three included months.</li>
|
||||
<li><b>Launch and Growth:</b> the December cohort asks you to attend at least 50% of weekly sessions, agreed when you register.</li>
|
||||
</ul>
|
||||
<p class="k">None of these is part of your pledge. Kickstarter charges your pledge once, when the campaign ends.</p></div>
|
||||
<p class="foot-note">WeOwn Cloud: infrastructure provisioned and managed by agents built by WeOwnDev. Bundle contents from GUIDE-436.</p>
|
||||
</div>""", css="""
|
||||
.canvas{padding:28px 26px 26px}
|
||||
.bc{width:100%;border-collapse:separate;border-spacing:0;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm)}
|
||||
.bc th,.bc td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
|
||||
.bc tr:last-child td{border-bottom:none}
|
||||
.bc th{background:var(--paper);text-align:center;padding:14px 8px 12px;vertical-align:top}
|
||||
.bc th b{display:block;font-family:var(--display);font-weight:900;font-size:25px;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}
|
||||
.bc th em{display:block;font-style:normal;font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pine);margin-top:4px}
|
||||
.bc th small{display:block;font-size:12px;line-height:1.3;color:var(--muted);font-weight:500;margin-top:5px}
|
||||
.bc th.g{background:var(--pine)}
|
||||
.bc th.g b{color:#fff}.bc th.g em{color:#cfe0d6}.bc th.g small{color:#dfeae4}
|
||||
.bc th.lab{background:var(--paper)}
|
||||
.bc td.lab{font-size:13.5px;line-height:1.35;color:var(--ink);width:44%}
|
||||
.bc td.c{text-align:center;width:18.6%}
|
||||
.bc td.g{background:rgba(28,93,76,.05)}
|
||||
.yes{display:inline-block;width:21px;height:21px;color:var(--pine)}
|
||||
.yes svg{width:21px;height:21px}
|
||||
.no{color:#b9b1a4;font-size:16px;font-weight:600}
|
||||
.txt{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap}
|
||||
.txt.cut{color:#fff;background:var(--amber);border-radius:999px;padding:3px 8px}
|
||||
.bc tr.grp td{background:var(--paper-2);font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:7px 10px 6px}
|
||||
.after{margin-top:14px;padding:14px 18px 14px}
|
||||
.after .lb{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:8px}
|
||||
.after li{font-size:13.5px;line-height:1.42;padding:2px 0 2px 14px;position:relative}
|
||||
.after li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:999px;background:var(--pine)}
|
||||
.after .k{font-size:13.5px;line-height:1.42;color:var(--muted);margin-top:8px}
|
||||
""")
|
||||
|
||||
# ---------------------------------------------------------------- 09 in person: the retreat
|
||||
add_header('09')
|
||||
page('09b-retreat-venue', f"""<div class="canvas" id="shot">
|
||||
{slot("retreat-venue", "Venue photo goes here", "Landscape · at least 1360 × 765 px", "venue")}
|
||||
<div class="ov"><p class="spec">In person</p><h3>Burned Out Advisor Retreat</h3><p class="d">{icon("calendar")}4 to 6 November 2026</p>
|
||||
<p class="d cut">{icon("clock")}Pledges close 20 October 2026</p></div>
|
||||
<div class="seats"><b>369</b><span>seats</span></div>
|
||||
</div>""", h=383, px_h=765, css="""
|
||||
.canvas{padding:0;height:383px}
|
||||
.venue{position:absolute;inset:0}
|
||||
.venue .ph{border-radius:0;border-width:0;justify-content:flex-start;padding-top:70px}
|
||||
.ov{position:absolute;left:28px;bottom:26px;background:rgba(252,251,248,.96);border-radius:16px;padding:16px 22px 18px;box-shadow:var(--sh-lg);max-width:420px}
|
||||
.ov h3{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.025em;line-height:1.05;margin:6px 0 10px}
|
||||
.ov .d{display:flex;align-items:center;gap:9px;font-weight:700;font-size:18px}
|
||||
.ov .d+.d{margin-top:6px}
|
||||
.ov .d.cut{font-size:15.5px;color:var(--amber)}
|
||||
.ov .d .ico{width:22px;height:22px}
|
||||
.ov .d.cut .ico{color:var(--amber);width:19px;height:19px}
|
||||
.seats{position:absolute;right:28px;top:26px;width:108px;height:108px;border-radius:999px;background:var(--pine);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 5px rgba(252,251,248,.9),var(--sh-lg)}
|
||||
.seats b{font-family:var(--display);font-weight:900;font-size:38px;line-height:1;letter-spacing:-.03em}
|
||||
.seats span{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#cfe0d6;margin-top:3px}
|
||||
""")
|
||||
|
||||
def acad_page(*a, **k):
|
||||
if ACADEMY_IN_LAUNCH: page(*a, **k)
|
||||
if ACADEMY_IN_LAUNCH:
|
||||
name, body = HDR['academy']; page(name, body, w=680, h=150)
|
||||
# ---------------------------------------------------------------- Academy (planned for a campaign update; not rendered at launch)
|
||||
W, H = MAP['w'], MAP['h']
|
||||
pins = MAP['pins']
|
||||
def pct(k): return pins[k][0] / W * 100, pins[k][1] / H * 100
|
||||
SITES = [('villapark', 'Chicagoland, Illinois', 'Villa Park', 'lab-r'),
|
||||
('denver', 'North Denver, Colorado', '#NoDe', 'lab-l'),
|
||||
('orlando', 'Orlando, Florida', 'Azur Resorts', 'lab-l')]
|
||||
pin_html = ''
|
||||
for k, city, sub, cls in SITES:
|
||||
x, y = pct(k)
|
||||
pin_html += (f'<div class="pin" style="left:{x:.2f}%;top:{y:.2f}%">{ICONS["pin"]}'
|
||||
f'<div class="lab {cls}"><b>{sub}</b><span>{city}</span></div></div>')
|
||||
acad_page('A-academy-map', f'''<div class="canvas" id="shot">
|
||||
<p class="spec" style="text-transform:none;letter-spacing:.04em;font-size:14px">AiCoach + AOP.biz BootCamp · three sites</p>
|
||||
<div class="map">{MAP_SVG}{pin_html}</div>
|
||||
</div>''', css=f'''
|
||||
.map{{position:relative;margin-top:14px;aspect-ratio:{W}/{H}}}
|
||||
.map>svg{{position:absolute;inset:0;width:100%;height:100%}}
|
||||
.pin{{position:absolute;width:0;height:0}}
|
||||
.pin>svg{{position:absolute;width:40px;height:40px;left:-20px;top:-36px;color:#fff;fill:var(--pine);stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}}
|
||||
.lab{{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 13px 9px;box-shadow:var(--sh-md);white-space:nowrap}}
|
||||
.lab b{{display:block;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;line-height:1.1}}
|
||||
.lab span{{display:block;font-size:14px;color:var(--muted);margin-top:2px}}
|
||||
.lab-r{{left:26px;top:-46px}}
|
||||
.lab-l{{right:26px;top:-46px}}
|
||||
''')
|
||||
SITE_CARDS = [('site-orlando', 'Azur Resorts', 'Orlando, Florida'), ('site-north-denver', '#NoDe', 'North Denver, Colorado'),
|
||||
('site-villa-park', 'Villa Park', 'Chicagoland, Illinois')]
|
||||
acad_page('A-academy-sites', '<div class="canvas" id="shot"><div class="sg">' + ''.join(
|
||||
f'<div class="card s">{slot(src, "Site photo goes here", "At least 800 × 600 px", "sp")}<div class="b"><p class="n">Site {i}</p><h3>{name}</h3><p class="pl">{icon("pin")}{place}</p></div></div>'
|
||||
for i, (src, name, place) in enumerate(SITE_CARDS, 1)) + '</div></div>', css='''
|
||||
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
|
||||
.s{overflow:hidden}
|
||||
.sp{aspect-ratio:4/3}
|
||||
.sp .ph{border-radius:0;border-width:0 0 2px 0}
|
||||
.sp .ph b{font-size:14px}.sp .ph small{font-size:11.5px}
|
||||
.b{padding:14px 15px 16px}
|
||||
.n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
|
||||
.b h3{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.02em;margin:4px 0 6px}
|
||||
.pl{display:flex;gap:6px;align-items:flex-start;font-size:14px;line-height:1.35;color:var(--ink)}
|
||||
.pl .ico{width:17px;height:17px;margin-top:1px}
|
||||
''')
|
||||
|
||||
# ---------------------------------------------------------------- 10 stretch goals (1360 x 500)
|
||||
add_header('10')
|
||||
GOALS = [(15000, '$15,000', 'Bonus chapter', 'PDF for every backer whose reward includes the eBook'),
|
||||
@@ -480,31 +587,29 @@ for n, nm in [(0, '10b-stretch-goals-locked'), (1, '10c-stretch-goals-15k-unlock
|
||||
|
||||
# ---------------------------------------------------------------- 11 timeline
|
||||
add_header('11')
|
||||
STOPS = [('Fri 2 Oct 2026', 'The campaign opens.'),
|
||||
('Wed 4 Nov 2026', 'The campaign ends. The Burned Out Advisor Retreat runs 4 to 6 November.'),
|
||||
('By mid-November 2026', 'AiBook.fun access for backers whose reward includes it, and the backer survey.'),
|
||||
('Dates to be announced', 'Academy BootCamp cohorts in Orlando, North Denver, and Villa Park.'),
|
||||
('January 2027', 'Final layout and eBook files. The eBook is delivered and the paperbacks are signed.'),
|
||||
('February 2027', 'Signed paperbacks are delivered.')]
|
||||
XS = [96, 290, 484]
|
||||
Y1, Y2 = 30, 250
|
||||
pos = [(XS[0], Y1), (XS[1], Y1), (XS[2], Y1), (XS[2], Y2), (XS[1], Y2), (XS[0], Y2)]
|
||||
stops = ''.join(f'<div class="stop{" tba" if i == 4 else ""}" style="left:{x}px;top:{y}px"><span class="num">{i}</span><div class="tx"><b>{d}</b><p>{t}</p></div></div>'
|
||||
for i, ((x, y), (d, t)) in enumerate(zip(pos, STOPS), 1))
|
||||
page('11b-timeline', f'''<div class="canvas" id="shot"><div class="tl">
|
||||
<svg class="path" viewBox="0 0 616 420"><path d="M{XS[0]} {Y1} H{XS[2]} C{XS[2]+160} {Y1} {XS[2]+160} {Y2} {XS[2]} {Y2} H{XS[0]}" /></svg>
|
||||
{stops}</div></div>''', css=f'''
|
||||
.tl{{position:relative;height:396px}}
|
||||
.path{{position:absolute;inset:0;width:616px;height:420px}}
|
||||
.path path{{fill:none;stroke:var(--pine);stroke-width:3;stroke-dasharray:2 9;stroke-linecap:round;opacity:.7}}
|
||||
.stop{{position:absolute;width:0;height:0}}
|
||||
.num{{position:absolute;left:-23px;top:-23px;width:46px;height:46px;border-radius:999px;background:var(--pine);color:#fff;font-family:var(--display);font-weight:900;font-size:22px;display:grid;place-items:center;box-shadow:0 0 0 5px var(--paper-2),var(--sh-md)}}
|
||||
.stop.tba .num{{background:#fff;color:var(--pine);border:2.5px solid var(--pine)}}
|
||||
.tx{{position:absolute;top:34px;left:-92px;width:184px;text-align:center}}
|
||||
.tx b{{display:block;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}}
|
||||
.tx p{{font-size:14px;line-height:1.4;color:var(--muted);margin-top:5px}}
|
||||
.stop.tba .tx b{{color:var(--pine)}}
|
||||
''')
|
||||
STOPS = [('Fri 2 Oct 2026', 'The campaign opens.', ''),
|
||||
('Tue 20 Oct 2026', 'The Retreat reward and the $5,000 Growth bundle close.', 'cut'),
|
||||
('Wed 4 Nov 2026', 'The campaign ends. The Burned Out Advisor Retreat runs 4 to 6 November.', ''),
|
||||
('By mid-November 2026', 'AiBook.fun access for backers whose reward includes it, and the backer survey.', ''),
|
||||
('December 2026', 'The AOPbizFastTrack cohort for Launch and Growth backers.', ''),
|
||||
('January 2027', 'Final layout and eBook files. The eBook is delivered and the paperbacks are signed.', ''),
|
||||
('January to March 2027', 'Three months of AOP.biz service for Launch and Growth backers.', ''),
|
||||
('February 2027', 'Signed paperbacks are delivered.', '')]
|
||||
stops = ''.join(f'<li class="{c}"><span class="num">{i}</span><div class="tx"><b>{d}</b><p>{t}</p></div></li>'
|
||||
for i, (d, t, c) in enumerate(STOPS, 1))
|
||||
page('11b-timeline', f"""<div class="canvas" id="shot"><ol class="vt">{stops}</ol></div>""", css="""
|
||||
.canvas{padding:30px 34px 30px}
|
||||
.vt{position:relative}
|
||||
.vt::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;border-left:3px dotted var(--pine);opacity:.55}
|
||||
.vt li{position:relative;display:flex;align-items:flex-start;gap:22px;padding:0 0 18px}
|
||||
.vt li:last-child{padding-bottom:0}
|
||||
.num{flex:none;width:46px;height:46px;border-radius:999px;background:var(--pine);color:#fff;font-family:var(--display);font-weight:900;font-size:21px;display:grid;place-items:center;box-shadow:0 0 0 5px var(--paper-2),var(--sh-md);position:relative;z-index:1}
|
||||
.tx{padding-top:3px}
|
||||
.tx b{display:block;font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
|
||||
.tx p{font-size:15px;line-height:1.4;color:var(--muted);margin-top:3px}
|
||||
.vt li.cut .num{background:var(--amber)}
|
||||
.vt li.cut .tx b{color:var(--amber)}
|
||||
""")
|
||||
|
||||
# ---------------------------------------------------------------- 12 shipping and delivery
|
||||
add_header('12')
|
||||
@@ -570,9 +675,9 @@ TEAM = [('@THY', 'Name goes here', 'Author and Retreat host'),
|
||||
('@CEO', 'Name goes here', 'Business strategy and partnerships'),
|
||||
('@GTM', 'Name goes here', 'Payments, email, and technical setup'),
|
||||
('', 'Osinachi Patrick', 'Product lead, AiBook.fun'),
|
||||
('', 'Name goes here', 'Academy BootCamp lead')]
|
||||
('', 'Name goes here', 'AOP.biz bundles lead')]
|
||||
team_html = ''.join(
|
||||
f'<div class="card tm">{slot("team-" + (h[1:].lower() if h else ("osinachi-patrick" if n.startswith("Osinachi") else "academy-lead")), "Photo", "800 × 800", "tp")}'
|
||||
f'<div class="card tm">{slot("team-" + (h[1:].lower() if h else ("osinachi-patrick" if n.startswith("Osinachi") else "aop-lead")), "Photo", "800 × 800", "tp")}'
|
||||
f'<div><p class="tn">{n}</p>' + (f'<p class="th">{h}</p>' if h else '') + f'<p class="tr">{r}</p></div></div>' for h, n, r in TEAM)
|
||||
# Landing page (Authors.jsx) lists three co-authors as confirmed, by chapter; names are not published yet.
|
||||
AUTHORS = [('Name goes here', 'Co-author, Real Estate & Finance'), ('Name goes here', 'Co-author, <span style="white-space:nowrap">Fractional C-Suite</span>'),
|
||||
|
||||
@@ -1,55 +1,63 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../styles.css"><style>
|
||||
.cols{display:grid;grid-template-columns:1fr 1fr 1.3fr;grid-template-rows:repeat(6,auto);column-gap:10px}
|
||||
.col{padding:18px 15px 16px;display:grid;grid-template-rows:subgrid;grid-row:span 6}
|
||||
.nm{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);font-weight:600}
|
||||
.canvas{padding:28px 26px}
|
||||
.cols{display:grid;grid-template-rows:repeat(6,auto);column-gap:10px}
|
||||
.col{padding:18px 14px 16px;display:grid;grid-template-rows:subgrid;grid-row:span 6;min-width:0}
|
||||
.nm{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pine);font-weight:600;line-height:1.35}
|
||||
.col h3{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.02em;line-height:1.15;margin:6px 0 10px}
|
||||
.sec{border-top:1px dashed var(--line-2);padding:10px 0 12px}
|
||||
.span2{grid-row:span 2}
|
||||
.lb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
|
||||
.lb{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
|
||||
.sec p{font-size:14px;line-height:1.4}
|
||||
.sec p.sm{font-size:13px;line-height:1.42;color:var(--ink)}
|
||||
.fact{display:flex;gap:7px;align-items:flex-start;margin-top:6px;font-weight:600}
|
||||
.lb+.fact{margin-top:0}
|
||||
.fact.cut{color:var(--amber)}
|
||||
.fact.cut .ico{color:var(--amber)}
|
||||
.fact .ico,.inc .ico{width:17px;height:17px;margin-top:1px}
|
||||
.inc li{display:flex;gap:7px;align-items:flex-start;font-size:14px;line-height:1.35;padding:2px 0}
|
||||
.pr{align-self:end}
|
||||
.price{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--pine);background:var(--pine-wash);border:1px solid var(--pine-tint);border-radius:999px;padding:7px 6px;text-align:center;white-space:nowrap}
|
||||
.many .price{white-space:normal}
|
||||
.book{border-color:rgba(28,93,76,.28)}
|
||||
.prices li{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:baseline;padding:7px 8px;border-radius:10px;font-size:14px;line-height:1.35}
|
||||
.price{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--pine);background:var(--pine-wash);border:1px solid var(--pine-tint);border-radius:999px;padding:7px 6px;text-align:center;white-space:normal;line-height:1.3}
|
||||
.book,.build{border-color:rgba(28,93,76,.28)}
|
||||
.prices li{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:10px;font-size:14px;line-height:1.35}
|
||||
.prices li+li{margin-top:4px}
|
||||
.prices b{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink)}
|
||||
.prices b.np{align-self:start;width:30px;margin:0 0 0 6px}.prices b.np img{width:30px;display:block}
|
||||
.ch{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
|
||||
.ch img{width:46px;border-radius:2px 4px 4px 2px;box-shadow:0 6px 12px -6px rgba(18,63,52,.5);margin:4px 0 8px}
|
||||
.prices small{display:block;font-size:13px;color:var(--muted)}
|
||||
.prices b{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink);line-height:1.05}
|
||||
.prices li.pb{flex-direction:row;gap:10px;align-items:flex-start}
|
||||
.prices b.np{flex:none;width:30px;margin:2px 0 0}.prices b.np img{width:30px;display:block}
|
||||
.ch{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
|
||||
.ch img{width:42px;border-radius:2px 4px 4px 2px;box-shadow:0 6px 12px -6px rgba(18,63,52,.5);margin:4px 0 8px;flex:none}
|
||||
.prices small{display:block;font-size:12.5px;color:var(--muted)}
|
||||
.prices li.feat{background:var(--pine);color:#eaf1ec}
|
||||
.prices li.feat b{color:#fff}
|
||||
.prices li.feat small{color:#cfe0d6}
|
||||
.bund .bt{display:flex;align-items:baseline;gap:8px}
|
||||
.bund .bt em{font-style:normal;font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}
|
||||
.bund li.feat .bt em{color:#cfe0d6}
|
||||
.bund span{font-size:13.5px;line-height:1.4}
|
||||
.bund .tag{font-style:normal;align-self:flex-start;margin-top:5px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;background:var(--amber);color:#fff;border-radius:999px;padding:3px 9px}
|
||||
.dl li{font-size:14px;line-height:1.4;padding:2px 0 2px 14px;position:relative}
|
||||
.dl li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:999px;background:var(--pine)}
|
||||
</style></head><body><div class="canvas" id="shot"><div class="cols" style="grid-template-columns:1fr 1fr 1.3fr">
|
||||
<div class="col card">
|
||||
<p class="nm">Retreat</p><h3>Burned Out Advisor Retreat</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>Three days in person with the authors and other advisors.</p>
|
||||
<p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="3"/><path d="M6.5 19c.6-3 2.8-4.8 5.5-4.8s4.9 1.8 5.5 4.8"/><circle cx="5" cy="10" r="2"/><circle cx="19" cy="10" r="2"/><path d="M2 17c.3-1.7 1.4-2.8 3-3M22 17c-.3-1.7-1.4-2.8-3-3"/></svg></span>369 seats</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p><ul class="inc"><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 11V6.5A2.5 2.5 0 0 1 8.5 4h7A2.5 2.5 0 0 1 18 6.5V11"/><path d="M4 11.5a2 2 0 0 1 4 0V14h8v-2.5a2 2 0 0 1 4 0V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z"/><path d="M6.5 18v2M17.5 18v2"/></svg></span>Your seat</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>The eBook</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="4.5" width="17" height="12" rx="1.6"/><path d="M2 19.5h20"/><path d="M8 8.5h8M8 11.5h5"/></svg></span>12 months of AiBook.fun</li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>4–6 November 2026</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>
|
||||
<div class="col card">
|
||||
<p class="nm">Academy</p><h3>AiCoach + AOP.biz BootCamp</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>A seat in the next cohort at one of three sites:</p>
|
||||
<p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>Orlando, Florida</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>North Denver, Colorado</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>Villa Park, Chicagoland, Illinois</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p><ul class="inc"><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 11V6.5A2.5 2.5 0 0 1 8.5 4h7A2.5 2.5 0 0 1 18 6.5V11"/><path d="M4 11.5a2 2 0 0 1 4 0V14h8v-2.5a2 2 0 0 1 4 0V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z"/><path d="M6.5 18v2M17.5 18v2"/></svg></span>Your seat</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>The eBook</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="4.5" width="17" height="12" rx="1.6"/><path d="M2 19.5h20"/><path d="M8 8.5h8M8 11.5h5"/></svg></span>12 months of AiBook.fun</li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>The next cohort at your chosen site</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>
|
||||
</style></head><body><div class="canvas" id="shot"><div class="cols" style="grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr) minmax(0,0.95fr)">
|
||||
<div class="col card book">
|
||||
<p class="nm">Book & Library</p><div class="ch"><h3>The book and the AiBook.fun library</h3><img src="../assets-gen/cover-flat.png" alt=""></div>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices"><li class=""><b>$19</b><span>Early Bird eBook<small>First 200 backers</small></span></li><li class=""><b>$25</b><span>eBook and backer-only updates</span></li><li class="feat"><b>$47</b><span>eBook and 12 months of the AiBook.fun library</span></li><li><b class="np"><img src="../assets-gen/cover-3d.png" alt=""></b><span>Signed paperback and eBook<small>Price on the reward</small></span></li></ul></div>
|
||||
<p class="nm">The book</p><div class="ch"><h3>The book and the AiBook.fun library</h3><img src="../assets-gen/cover-flat.png" alt=""></div>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices"><li class=""><b>$19</b><span>Early Bird eBook<small>First 200 backers</small></span></li><li class=""><b>$25</b><span>eBook and backer-only updates</span></li><li class="feat"><b>$47</b><span>eBook and 12 months of the AiBook.fun library<small>Featured</small></span></li><li class="pb"><b class="np"><img src="../assets-gen/cover-3d.png" alt=""></b><span>Signed paperback and eBook<small>Price on the reward</small></span></li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><ul class="dl"><li>Library access: within about 14 days of a successful campaign</li><li>eBook: January 2027</li><li>Signed paperback: February 2027</li></ul></div>
|
||||
<div class="pr"></div>
|
||||
</div>
|
||||
<div class="col card build">
|
||||
<p class="nm">Build it yourself or with us</p><h3>AOP.biz bundles</h3>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices bund"><li class=""><div class="bt"><b>$1,000</b><em>DIY</em></div><span>The starter pack on WeOwn Cloud, to run yourself. No support of any kind.</span></li><li class=""><div class="bt"><b>$2,000</b><em>Launch</em></div><span>Set up with our team: onboarding and a first implementation cycle, plus three months of AOP.biz service and the December 2026 cohort.</span></li><li class="feat"><div class="bt"><b>$5,000</b><em>Growth</em></div><span>Everything in Launch, plus deeper integration, more agents, ongoing support, and a Retreat seat.</span><i class="tag">Closes 20 Oct 2026</i></li></ul></div>
|
||||
<div class="sec"><p class="lb">After the pledge</p><p class="sm">AOP.biz service ($988 a month) and WeOwn Cloud hosting ($200 a month) are separate, optional agreements. Kickstarter charges your pledge once.</p></div>
|
||||
<div class="pr"></div>
|
||||
</div>
|
||||
<div class="col card">
|
||||
<p class="nm">In person</p><h3>Burned Out Advisor Retreat</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>Three days in person with the authors and other advisors.</p>
|
||||
<p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="3"/><path d="M6.5 19c.6-3 2.8-4.8 5.5-4.8s4.9 1.8 5.5 4.8"/><circle cx="5" cy="10" r="2"/><circle cx="19" cy="10" r="2"/><path d="M2 17c.3-1.7 1.4-2.8 3-3M22 17c-.3-1.7-1.4-2.8-3-3"/></svg></span>369 seats</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p><ul class="inc"><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 11V6.5A2.5 2.5 0 0 1 8.5 4h7A2.5 2.5 0 0 1 18 6.5V11"/><path d="M4 11.5a2 2 0 0 1 4 0V14h8v-2.5a2 2 0 0 1 4 0V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z"/><path d="M6.5 18v2M17.5 18v2"/></svg></span>Your seat</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>A signed paperback</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>The eBook</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="4.5" width="17" height="12" rx="1.6"/><path d="M2 19.5h20"/><path d="M8 8.5h8M8 11.5h5"/></svg></span>12 months of AiBook.fun</li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>4–6 November 2026</p><p class="fact cut"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5V12l3 2"/></svg></span>Closes 20 Oct 2026</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>
|
||||
</div></div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
|
||||
@@ -1,55 +1,63 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../styles.css"><style>
|
||||
.cols{display:grid;grid-template-columns:1fr 1fr 1.3fr;grid-template-rows:repeat(6,auto);column-gap:10px}
|
||||
.col{padding:18px 15px 16px;display:grid;grid-template-rows:subgrid;grid-row:span 6}
|
||||
.nm{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);font-weight:600}
|
||||
.canvas{padding:28px 26px}
|
||||
.cols{display:grid;grid-template-rows:repeat(6,auto);column-gap:10px}
|
||||
.col{padding:18px 14px 16px;display:grid;grid-template-rows:subgrid;grid-row:span 6;min-width:0}
|
||||
.nm{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pine);font-weight:600;line-height:1.35}
|
||||
.col h3{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.02em;line-height:1.15;margin:6px 0 10px}
|
||||
.sec{border-top:1px dashed var(--line-2);padding:10px 0 12px}
|
||||
.span2{grid-row:span 2}
|
||||
.lb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
|
||||
.lb{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
|
||||
.sec p{font-size:14px;line-height:1.4}
|
||||
.sec p.sm{font-size:13px;line-height:1.42;color:var(--ink)}
|
||||
.fact{display:flex;gap:7px;align-items:flex-start;margin-top:6px;font-weight:600}
|
||||
.lb+.fact{margin-top:0}
|
||||
.fact.cut{color:var(--amber)}
|
||||
.fact.cut .ico{color:var(--amber)}
|
||||
.fact .ico,.inc .ico{width:17px;height:17px;margin-top:1px}
|
||||
.inc li{display:flex;gap:7px;align-items:flex-start;font-size:14px;line-height:1.35;padding:2px 0}
|
||||
.pr{align-self:end}
|
||||
.price{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--pine);background:var(--pine-wash);border:1px solid var(--pine-tint);border-radius:999px;padding:7px 6px;text-align:center;white-space:nowrap}
|
||||
.many .price{white-space:normal}
|
||||
.book{border-color:rgba(28,93,76,.28)}
|
||||
.prices li{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:baseline;padding:7px 8px;border-radius:10px;font-size:14px;line-height:1.35}
|
||||
.price{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--pine);background:var(--pine-wash);border:1px solid var(--pine-tint);border-radius:999px;padding:7px 6px;text-align:center;white-space:normal;line-height:1.3}
|
||||
.book,.build{border-color:rgba(28,93,76,.28)}
|
||||
.prices li{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:10px;font-size:14px;line-height:1.35}
|
||||
.prices li+li{margin-top:4px}
|
||||
.prices b{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink)}
|
||||
.prices b.np{align-self:start;width:30px;margin:0 0 0 6px}.prices b.np img{width:30px;display:block}
|
||||
.ch{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
|
||||
.ch img{width:46px;border-radius:2px 4px 4px 2px;box-shadow:0 6px 12px -6px rgba(18,63,52,.5);margin:4px 0 8px}
|
||||
.prices small{display:block;font-size:13px;color:var(--muted)}
|
||||
.prices b{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink);line-height:1.05}
|
||||
.prices li.pb{flex-direction:row;gap:10px;align-items:flex-start}
|
||||
.prices b.np{flex:none;width:30px;margin:2px 0 0}.prices b.np img{width:30px;display:block}
|
||||
.ch{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
|
||||
.ch img{width:42px;border-radius:2px 4px 4px 2px;box-shadow:0 6px 12px -6px rgba(18,63,52,.5);margin:4px 0 8px;flex:none}
|
||||
.prices small{display:block;font-size:12.5px;color:var(--muted)}
|
||||
.prices li.feat{background:var(--pine);color:#eaf1ec}
|
||||
.prices li.feat b{color:#fff}
|
||||
.prices li.feat small{color:#cfe0d6}
|
||||
.bund .bt{display:flex;align-items:baseline;gap:8px}
|
||||
.bund .bt em{font-style:normal;font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}
|
||||
.bund li.feat .bt em{color:#cfe0d6}
|
||||
.bund span{font-size:13.5px;line-height:1.4}
|
||||
.bund .tag{font-style:normal;align-self:flex-start;margin-top:5px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;background:var(--amber);color:#fff;border-radius:999px;padding:3px 9px}
|
||||
.dl li{font-size:14px;line-height:1.4;padding:2px 0 2px 14px;position:relative}
|
||||
.dl li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:999px;background:var(--pine)}
|
||||
</style></head><body><div class="canvas" id="shot"><div class="cols" style="grid-template-columns:1fr 1fr 1.3fr">
|
||||
<div class="col card">
|
||||
<p class="nm">Retreat</p><h3>Burned Out Advisor Retreat</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>Three days in person with the authors and other advisors.</p>
|
||||
<p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="3"/><path d="M6.5 19c.6-3 2.8-4.8 5.5-4.8s4.9 1.8 5.5 4.8"/><circle cx="5" cy="10" r="2"/><circle cx="19" cy="10" r="2"/><path d="M2 17c.3-1.7 1.4-2.8 3-3M22 17c-.3-1.7-1.4-2.8-3-3"/></svg></span>369 seats</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p><ul class="inc"><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 11V6.5A2.5 2.5 0 0 1 8.5 4h7A2.5 2.5 0 0 1 18 6.5V11"/><path d="M4 11.5a2 2 0 0 1 4 0V14h8v-2.5a2 2 0 0 1 4 0V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z"/><path d="M6.5 18v2M17.5 18v2"/></svg></span>Your seat</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>The eBook</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="4.5" width="17" height="12" rx="1.6"/><path d="M2 19.5h20"/><path d="M8 8.5h8M8 11.5h5"/></svg></span>12 months of AiBook.fun</li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>4–6 November 2026</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>
|
||||
<div class="col card">
|
||||
<p class="nm">Academy</p><h3>AiCoach + AOP.biz BootCamp</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>A seat in the next cohort at one of three sites:</p>
|
||||
<p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>Orlando, Florida</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>North Denver, Colorado</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>Villa Park, Chicagoland, Illinois</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p><ul class="inc"><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 11V6.5A2.5 2.5 0 0 1 8.5 4h7A2.5 2.5 0 0 1 18 6.5V11"/><path d="M4 11.5a2 2 0 0 1 4 0V14h8v-2.5a2 2 0 0 1 4 0V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z"/><path d="M6.5 18v2M17.5 18v2"/></svg></span>Your seat</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>The eBook</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="4.5" width="17" height="12" rx="1.6"/><path d="M2 19.5h20"/><path d="M8 8.5h8M8 11.5h5"/></svg></span>12 months of AiBook.fun</li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>The next cohort at your chosen site</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>
|
||||
</style></head><body><div class="canvas" id="shot"><div class="cols" style="grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr) minmax(0,0.95fr)">
|
||||
<div class="col card book">
|
||||
<p class="nm">Book & Library</p><div class="ch"><h3>The book and the AiBook.fun library</h3><img src="../assets-gen/cover-flat.png" alt=""></div>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices"><li class=""><b>$19</b><span>Early Bird eBook<small>First 200 backers</small></span></li><li class=""><b>$25</b><span>eBook and backer-only updates</span></li><li class="feat"><b>$47</b><span>eBook and 12 months of the AiBook.fun library</span></li></ul></div>
|
||||
<p class="nm">The book</p><div class="ch"><h3>The book and the AiBook.fun library</h3><img src="../assets-gen/cover-flat.png" alt=""></div>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices"><li class=""><b>$19</b><span>Early Bird eBook<small>First 200 backers</small></span></li><li class=""><b>$25</b><span>eBook and backer-only updates</span></li><li class="feat"><b>$47</b><span>eBook and 12 months of the AiBook.fun library<small>Featured</small></span></li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><ul class="dl"><li>Library access: within about 14 days of a successful campaign</li><li>eBook: January 2027</li></ul></div>
|
||||
<div class="pr"></div>
|
||||
</div>
|
||||
<div class="col card build">
|
||||
<p class="nm">Build it yourself or with us</p><h3>AOP.biz bundles</h3>
|
||||
<div class="sec span2"><p class="lb">Choose one</p><ul class="prices bund"><li class=""><div class="bt"><b>$1,000</b><em>DIY</em></div><span>The starter pack on WeOwn Cloud, to run yourself. No support of any kind.</span></li><li class=""><div class="bt"><b>$2,000</b><em>Launch</em></div><span>Set up with our team: onboarding and a first implementation cycle, plus three months of AOP.biz service and the December 2026 cohort.</span></li><li class="feat"><div class="bt"><b>$5,000</b><em>Growth</em></div><span>Everything in Launch, plus deeper integration, more agents, ongoing support, and a Retreat seat.</span><i class="tag">Closes 20 Oct 2026</i></li></ul></div>
|
||||
<div class="sec"><p class="lb">After the pledge</p><p class="sm">AOP.biz service ($988 a month) and WeOwn Cloud hosting ($200 a month) are separate, optional agreements. Kickstarter charges your pledge once.</p></div>
|
||||
<div class="pr"></div>
|
||||
</div>
|
||||
<div class="col card">
|
||||
<p class="nm">In person</p><h3>Burned Out Advisor Retreat</h3>
|
||||
<div class="sec"><p class="lb">What it is</p><p>Three days in person with the authors and other advisors.</p>
|
||||
<p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="8" r="3"/><path d="M6.5 19c.6-3 2.8-4.8 5.5-4.8s4.9 1.8 5.5 4.8"/><circle cx="5" cy="10" r="2"/><circle cx="19" cy="10" r="2"/><path d="M2 17c.3-1.7 1.4-2.8 3-3M22 17c-.3-1.7-1.4-2.8-3-3"/></svg></span>369 seats</p></div>
|
||||
<div class="sec"><p class="lb">Includes</p><ul class="inc"><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 11V6.5A2.5 2.5 0 0 1 8.5 4h7A2.5 2.5 0 0 1 18 6.5V11"/><path d="M4 11.5a2 2 0 0 1 4 0V14h8v-2.5a2 2 0 0 1 4 0V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z"/><path d="M6.5 18v2M17.5 18v2"/></svg></span>Your seat</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>A signed paperback</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 6.5C9.5 5 7 4.6 3.5 5v13c3.5-.4 6 0 8.5 1.5 2.5-1.5 5-1.9 8.5-1.5V5c-3.5-.4-6 0-8.5 1.5z"/><path d="M12 6.5v13"/></svg></span>The eBook</li><li><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="4.5" width="17" height="12" rx="1.6"/><path d="M2 19.5h20"/><path d="M8 8.5h8M8 11.5h5"/></svg></span>12 months of AiBook.fun</li></ul></div>
|
||||
<div class="sec"><p class="lb">When</p><p class="fact"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>4–6 November 2026</p><p class="fact cut"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5V12l3 2"/></svg></span>Closes 20 Oct 2026</p></div>
|
||||
<div class="pr"><p class="price">Price on the reward</p></div>
|
||||
</div>
|
||||
</div></div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../styles.css"><style></style></head><body><div class="hdr" id="shot"><div class="tabs"><span></span><span></span><span></span><span></span><span></span></div><div class="mark"><svg viewBox="0 0 40 40" fill="none" aria-hidden="true"><circle cx="20" cy="20" r="17.5" stroke="#efe9db" stroke-width="1" opacity="0.7"/><path d="M20 5 L22.6 20 L20 35 L17.4 20 Z" fill="#efe9db"/><path d="M5 20 L20 17.4 L35 20 L20 22.6 Z" fill="#efe9db" opacity="0.55"/></svg></div><div class="badge"><span class="emoji">📚</span></div><div style="min-width:0;flex:1"><div class="kicker">We Own AI — The New American Dream</div><h1 data-fit>Book & Library and AiBook.fun</h1></div><div class="rule"></div></div>
|
||||
<link rel="stylesheet" href="../styles.css"><style></style></head><body><div class="hdr" id="shot"><div class="tabs"><span></span><span></span><span></span><span></span><span></span></div><div class="mark"><svg viewBox="0 0 40 40" fill="none" aria-hidden="true"><circle cx="20" cy="20" r="17.5" stroke="#efe9db" stroke-width="1" opacity="0.7"/><path d="M20 5 L22.6 20 L20 35 L17.4 20 Z" fill="#efe9db"/><path d="M5 20 L20 17.4 L35 20 L20 22.6 Z" fill="#efe9db" opacity="0.55"/></svg></div><div class="badge"><span class="emoji">📚</span></div><div style="min-width:0;flex:1"><div class="kicker">We Own AI — The New American Dream</div><h1 data-fit>The book and AiBook.fun</h1></div><div class="rule"></div></div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
let empty = 0;
|
||||
@@ -1,5 +1,5 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../styles.css"><style></style></head><body><div class="hdr" id="shot"><div class="tabs"><span></span><span></span><span></span><span></span><span></span></div><div class="mark"><svg viewBox="0 0 40 40" fill="none" aria-hidden="true"><circle cx="20" cy="20" r="17.5" stroke="#efe9db" stroke-width="1" opacity="0.7"/><path d="M20 5 L22.6 20 L20 35 L17.4 20 Z" fill="#efe9db"/><path d="M5 20 L20 17.4 L35 20 L20 22.6 Z" fill="#efe9db" opacity="0.55"/></svg></div><div class="badge"><span class="emoji">🎓</span></div><div style="min-width:0;flex:1"><div class="kicker">We Own AI — The New American Dream</div><h1 data-fit>The Academy</h1></div><div class="rule"></div></div>
|
||||
<link rel="stylesheet" href="../styles.css"><style></style></head><body><div class="hdr" id="shot"><div class="tabs"><span></span><span></span><span></span><span></span><span></span></div><div class="mark"><svg viewBox="0 0 40 40" fill="none" aria-hidden="true"><circle cx="20" cy="20" r="17.5" stroke="#efe9db" stroke-width="1" opacity="0.7"/><path d="M20 5 L22.6 20 L20 35 L17.4 20 Z" fill="#efe9db"/><path d="M5 20 L20 17.4 L35 20 L20 22.6 Z" fill="#efe9db" opacity="0.55"/></svg></div><div class="badge"><span class="emoji">🛠️</span></div><div style="min-width:0;flex:1"><div class="kicker">We Own AI — The New American Dream</div><h1 data-fit>Build it yourself or with us</h1></div><div class="rule"></div></div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
let empty = 0;
|
||||
@@ -1,35 +0,0 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../styles.css"><style>
|
||||
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
|
||||
.s{overflow:hidden}
|
||||
.sp{aspect-ratio:4/3}
|
||||
.sp .ph{border-radius:0;border-width:0 0 2px 0}
|
||||
.sp .ph b{font-size:14px}.sp .ph small{font-size:11.5px}
|
||||
.b{padding:14px 15px 16px}
|
||||
.n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
|
||||
.b h3{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.02em;margin:4px 0 6px}
|
||||
.pl{display:flex;gap:6px;align-items:flex-start;font-size:14px;line-height:1.35;color:var(--ink)}
|
||||
.pl .ico{width:17px;height:17px;margin-top:1px}
|
||||
</style></head><body><div class="canvas" id="shot"><div class="sg"><div class="card s"><div class="slot sp" data-src="../assets/site-orlando" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Site photo goes here</b><small>At least 800 × 600 px</small></div></div><div class="b"><p class="n">Site 1</p><h3>Azur Resorts</h3><p class="pl"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>Orlando, Florida</p></div></div><div class="card s"><div class="slot sp" data-src="../assets/site-north-denver" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Site photo goes here</b><small>At least 800 × 600 px</small></div></div><div class="b"><p class="n">Site 2</p><h3>#NoDe</h3><p class="pl"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>North Denver, Colorado</p></div></div><div class="card s"><div class="slot sp" data-src="../assets/site-villa-park" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Site photo goes here</b><small>At least 800 × 600 px</small></div></div><div class="b"><p class="n">Site 3</p><h3>Villa Park</h3><p class="pl"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z"/><circle cx="12" cy="10" r="2.4"/></svg></span>Chicagoland, Illinois</p></div></div></div></div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
let empty = 0;
|
||||
for (const s of document.querySelectorAll('.slot[data-src]')) {
|
||||
let ok = false;
|
||||
for (const ext of ['jpg', 'jpeg', 'png', 'webp']) {
|
||||
const url = s.dataset.src + '.' + ext;
|
||||
ok = await new Promise(r => { const i = new Image(); i.onload = () => r(true); i.onerror = () => r(false); i.src = url; });
|
||||
if (ok) { s.style.backgroundImage = 'url("' + url + '")'; s.classList.add('filled'); break; }
|
||||
}
|
||||
if (!ok) empty++;
|
||||
}
|
||||
await document.fonts.ready;
|
||||
for (const el of document.querySelectorAll('[data-fit]')) {
|
||||
let fs = parseFloat(getComputedStyle(el).fontSize);
|
||||
const max = el.dataset.fit ? parseFloat(el.dataset.fit) : el.parentElement.clientWidth;
|
||||
while (el.scrollWidth > max && fs > 10) { fs -= 0.5; el.style.fontSize = fs + 'px'; }
|
||||
}
|
||||
if (window.afterLayout) await window.afterLayout();
|
||||
return empty;
|
||||
})();
|
||||
</script></body></html>
|
||||
@@ -1,5 +1,5 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../styles.css"><style></style></head><body><div class="hdr" id="shot"><div class="tabs"><span></span><span></span><span></span><span></span><span></span></div><div class="mark"><svg viewBox="0 0 40 40" fill="none" aria-hidden="true"><circle cx="20" cy="20" r="17.5" stroke="#efe9db" stroke-width="1" opacity="0.7"/><path d="M20 5 L22.6 20 L20 35 L17.4 20 Z" fill="#efe9db"/><path d="M5 20 L20 17.4 L35 20 L20 22.6 Z" fill="#efe9db" opacity="0.55"/></svg></div><div class="badge"><span class="emoji">🏕️</span></div><div style="min-width:0;flex:1"><div class="kicker">We Own AI — The New American Dream</div><h1 data-fit>The Retreat</h1></div><div class="rule"></div></div>
|
||||
<link rel="stylesheet" href="../styles.css"><style></style></head><body><div class="hdr" id="shot"><div class="tabs"><span></span><span></span><span></span><span></span><span></span></div><div class="mark"><svg viewBox="0 0 40 40" fill="none" aria-hidden="true"><circle cx="20" cy="20" r="17.5" stroke="#efe9db" stroke-width="1" opacity="0.7"/><path d="M20 5 L22.6 20 L20 35 L17.4 20 Z" fill="#efe9db"/><path d="M5 20 L20 17.4 L35 20 L20 22.6 Z" fill="#efe9db" opacity="0.55"/></svg></div><div class="badge"><span class="emoji">🏕️</span></div><div style="min-width:0;flex:1"><div class="kicker">We Own AI — The New American Dream</div><h1 data-fit>In person: the Retreat</h1></div><div class="rule"></div></div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
let empty = 0;
|
||||
@@ -6,13 +6,17 @@
|
||||
.ov{position:absolute;left:28px;bottom:26px;background:rgba(252,251,248,.96);border-radius:16px;padding:16px 22px 18px;box-shadow:var(--sh-lg);max-width:420px}
|
||||
.ov h3{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.025em;line-height:1.05;margin:6px 0 10px}
|
||||
.ov .d{display:flex;align-items:center;gap:9px;font-weight:700;font-size:18px}
|
||||
.ov .d+.d{margin-top:6px}
|
||||
.ov .d.cut{font-size:15.5px;color:var(--amber)}
|
||||
.ov .d .ico{width:22px;height:22px}
|
||||
.ov .d.cut .ico{color:var(--amber);width:19px;height:19px}
|
||||
.seats{position:absolute;right:28px;top:26px;width:108px;height:108px;border-radius:999px;background:var(--pine);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 5px rgba(252,251,248,.9),var(--sh-lg)}
|
||||
.seats b{font-family:var(--display);font-weight:900;font-size:38px;line-height:1;letter-spacing:-.03em}
|
||||
.seats span{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#cfe0d6;margin-top:3px}
|
||||
</style></head><body><div class="canvas" id="shot">
|
||||
<div class="slot venue" data-src="../assets/retreat-venue" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Venue photo goes here</b><small>Landscape · at least 1360 × 765 px</small></div></div>
|
||||
<div class="ov"><p class="spec">We Own AI</p><h3>Burned Out Advisor Retreat</h3><p class="d"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>4 to 6 November 2026</p></div>
|
||||
<div class="ov"><p class="spec">In person</p><h3>Burned Out Advisor Retreat</h3><p class="d"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M8 3v4M16 3v4"/><path d="M7.5 13h2M11 13h2M14.5 13h2M7.5 16.5h2M11 16.5h2"/></svg></span>4 to 6 November 2026</p>
|
||||
<p class="d cut"><span class="ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5V12l3 2"/></svg></span>Pledges close 20 October 2026</p></div>
|
||||
<div class="seats"><b>369</b><span>seats</span></div>
|
||||
</div>
|
||||
<script>
|
||||
@@ -1,18 +1,17 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../styles.css"><style>
|
||||
.tl{position:relative;height:396px}
|
||||
.path{position:absolute;inset:0;width:616px;height:420px}
|
||||
.path path{fill:none;stroke:var(--pine);stroke-width:3;stroke-dasharray:2 9;stroke-linecap:round;opacity:.7}
|
||||
.stop{position:absolute;width:0;height:0}
|
||||
.num{position:absolute;left:-23px;top:-23px;width:46px;height:46px;border-radius:999px;background:var(--pine);color:#fff;font-family:var(--display);font-weight:900;font-size:22px;display:grid;place-items:center;box-shadow:0 0 0 5px var(--paper-2),var(--sh-md)}
|
||||
.stop.tba .num{background:#fff;color:var(--pine);border:2.5px solid var(--pine)}
|
||||
.tx{position:absolute;top:34px;left:-92px;width:184px;text-align:center}
|
||||
.tx b{display:block;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
|
||||
.tx p{font-size:14px;line-height:1.4;color:var(--muted);margin-top:5px}
|
||||
.stop.tba .tx b{color:var(--pine)}
|
||||
</style></head><body><div class="canvas" id="shot"><div class="tl">
|
||||
<svg class="path" viewBox="0 0 616 420"><path d="M96 30 H484 C644 30 644 250 484 250 H96" /></svg>
|
||||
<div class="stop" style="left:96px;top:30px"><span class="num">1</span><div class="tx"><b>Fri 2 Oct 2026</b><p>The campaign opens.</p></div></div><div class="stop" style="left:290px;top:30px"><span class="num">2</span><div class="tx"><b>Wed 4 Nov 2026</b><p>The campaign ends. The Burned Out Advisor Retreat runs 4 to 6 November.</p></div></div><div class="stop" style="left:484px;top:30px"><span class="num">3</span><div class="tx"><b>By mid-November 2026</b><p>AiBook.fun access for backers whose reward includes it, and the backer survey.</p></div></div><div class="stop tba" style="left:484px;top:250px"><span class="num">4</span><div class="tx"><b>Dates to be announced</b><p>Academy BootCamp cohorts in Orlando, North Denver, and Villa Park.</p></div></div><div class="stop" style="left:290px;top:250px"><span class="num">5</span><div class="tx"><b>January 2027</b><p>Final layout and eBook files. The eBook is delivered and the paperbacks are signed.</p></div></div><div class="stop" style="left:96px;top:250px"><span class="num">6</span><div class="tx"><b>February 2027</b><p>Signed paperbacks are delivered.</p></div></div></div></div>
|
||||
.canvas{padding:30px 34px 30px}
|
||||
.vt{position:relative}
|
||||
.vt::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;border-left:3px dotted var(--pine);opacity:.55}
|
||||
.vt li{position:relative;display:flex;align-items:flex-start;gap:22px;padding:0 0 18px}
|
||||
.vt li:last-child{padding-bottom:0}
|
||||
.num{flex:none;width:46px;height:46px;border-radius:999px;background:var(--pine);color:#fff;font-family:var(--display);font-weight:900;font-size:21px;display:grid;place-items:center;box-shadow:0 0 0 5px var(--paper-2),var(--sh-md);position:relative;z-index:1}
|
||||
.tx{padding-top:3px}
|
||||
.tx b{display:block;font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
|
||||
.tx p{font-size:15px;line-height:1.4;color:var(--muted);margin-top:3px}
|
||||
.vt li.cut .num{background:var(--amber)}
|
||||
.vt li.cut .tx b{color:var(--amber)}
|
||||
</style></head><body><div class="canvas" id="shot"><ol class="vt"><li class=""><span class="num">1</span><div class="tx"><b>Fri 2 Oct 2026</b><p>The campaign opens.</p></div></li><li class="cut"><span class="num">2</span><div class="tx"><b>Tue 20 Oct 2026</b><p>The Retreat reward and the $5,000 Growth bundle close.</p></div></li><li class=""><span class="num">3</span><div class="tx"><b>Wed 4 Nov 2026</b><p>The campaign ends. The Burned Out Advisor Retreat runs 4 to 6 November.</p></div></li><li class=""><span class="num">4</span><div class="tx"><b>By mid-November 2026</b><p>AiBook.fun access for backers whose reward includes it, and the backer survey.</p></div></li><li class=""><span class="num">5</span><div class="tx"><b>December 2026</b><p>The AOPbizFastTrack cohort for Launch and Growth backers.</p></div></li><li class=""><span class="num">6</span><div class="tx"><b>January 2027</b><p>Final layout and eBook files. The eBook is delivered and the paperbacks are signed.</p></div></li><li class=""><span class="num">7</span><div class="tx"><b>January to March 2027</b><p>Three months of AOP.biz service for Launch and Growth backers.</p></div></li><li class=""><span class="num">8</span><div class="tx"><b>February 2027</b><p>Signed paperbacks are delivered.</p></div></li></ol></div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
let empty = 0;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<p class="spec">The authors</p>
|
||||
<div class="ag"><div class="card au"><div class="slot ap" data-src="../assets/author-1" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Author photo goes here</b><small>800 × 800</small></div></div><p class="an">Name goes here</p><p class="ar">Co-author, Real Estate & Finance</p></div><div class="card au"><div class="slot ap" data-src="../assets/author-2" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Author photo goes here</b><small>800 × 800</small></div></div><p class="an">Name goes here</p><p class="ar">Co-author, <span style="white-space:nowrap">Fractional C-Suite</span></p></div><div class="card au"><div class="slot ap" data-src="../assets/author-3" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Author photo goes here</b><small>800 × 800</small></div></div><p class="an">Name goes here</p><p class="ar">Co-author, Technology & RAAI</p></div></div>
|
||||
<p class="spec" style="margin-top:22px">The team</p>
|
||||
<div class="tg"><div class="card tm"><div class="slot tp" data-src="../assets/team-thy" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@THY</p><p class="tr">Author and Retreat host</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-lfg" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@LFG</p><p class="tr">Creative lead for design, website, campaign page, and video</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-ceo" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@CEO</p><p class="tr">Business strategy and partnerships</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-gtm" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@GTM</p><p class="tr">Payments, email, and technical setup</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-osinachi-patrick" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Osinachi Patrick</p><p class="tr">Product lead, AiBook.fun</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-academy-lead" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="tr">Academy BootCamp lead</p></div></div></div>
|
||||
<div class="tg"><div class="card tm"><div class="slot tp" data-src="../assets/team-thy" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@THY</p><p class="tr">Author and Retreat host</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-lfg" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@LFG</p><p class="tr">Creative lead for design, website, campaign page, and video</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-ceo" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@CEO</p><p class="tr">Business strategy and partnerships</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-gtm" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="th">@GTM</p><p class="tr">Payments, email, and technical setup</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-osinachi-patrick" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Osinachi Patrick</p><p class="tr">Product lead, AiBook.fun</p></div></div><div class="card tm"><div class="slot tp" data-src="../assets/team-aop-lead" style=""><div class="ph"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 8h3l1.6-2.5h6.8L17 8h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z"/><circle cx="12" cy="13.2" r="3.4"/></svg><b>Photo</b><small>800 × 800</small></div></div><div><p class="tn">Name goes here</p><p class="tr">AOP.biz bundles lead</p></div></div></div>
|
||||
</div>
|
||||
<script>
|
||||
window.__ready = (async () => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""Real screenshots of the live AiBook.fun reader (https://aibook.fun, deployed from WeOwnAI/aibook-fun main).
|
||||
|
||||
Writes to assets-gen/:
|
||||
screen-laptop.png / screen-phone.png + screens.json chapter page https://aibook.fun/read/real-estate (09b device mockup)
|
||||
screen-laptop.png / screen-phone.png + screens.json chapter page https://aibook.fun/read/real-estate (07b device mockup)
|
||||
re01-top.png / re01-tryit.png + re01.json sample workflow https://aibook.fun/read/recipe/RE-01 (05b)
|
||||
Nothing on the pages is edited except the outline highlight, which the page sets itself on scroll.
|
||||
"""
|
||||
|
||||