diff --git a/src/deck/data.ts b/src/deck/data.ts index 9715b1e..95ef3c7 100644 --- a/src/deck/data.ts +++ b/src/deck/data.ts @@ -1,5 +1,5 @@ /** - * SOLLUNAR PUNK SOCIETY — pitch deck content & figures. + * ARCHIPELAGO — pitch deck content & figures. * * ⚠️ EVERYTHING IN THIS FILE IS A PLACEHOLDER. * This is the single source of truth for the deck. To turn the deck into @@ -7,11 +7,12 @@ * a tier price, or an entity name. Search for `PLACEHOLDER` for every spot * that needs your real data. * - * The pitch is a collaboration between three entities, all running the same - * core stack + user ecosystem so members get the full experience anywhere: - * • Archipelago — hardware/software city center (the tech backbone) - * • SolLunar Society — pop-up festivals (the ephemeral, travelling node) - * • Chateau du Faune — regenerative farm center (the rural node) + * Archipelago is the shared backbone — open hardware + sovereign software (the + * "mycelium"). Three surface entities run on top of it and share the full core + * stack, so members get the same experience anywhere: + * • SolLunar Punk Society — city center (members' hub, built on Archipelago) + * • Pop-up Festivals — travelling gatherings (e.g. Solar Punk Summit) + * • Chateau du Faune — regenerative farm center * * Currency: all figures are USD unless noted. */ @@ -19,13 +20,13 @@ export const PLACEHOLDER = true export const brand = { - name: 'SolLunar Punk Society', - short: 'SolLunar Punk', - // solarpunk by day, lunarpunk by night — sovereign tech, regenerative culture. - tagline: 'One sovereign network. Three ways to experience it.', + name: 'Archipelago', + short: 'Archipelago', + // a connected network of islands — one backbone, many places. + tagline: 'One network. Three ways to experience it.', subtagline: - 'A collaboration between Archipelago, SolLunar Society and Chateau du Faune — every location runs the full core stack, so the membership, the payments and the experience travel with you.', - contactEmail: 'invest@sollunarpunk.example', // PLACEHOLDER + 'A collaboration between SolLunar Punk Society, Pop-up Festivals and Chateau du Faune — all running on Archipelago, the shared backbone, so the membership, the payments and the experience travel with you.', + contactEmail: 'invest@archipelago.example', // PLACEHOLDER // Seam for later: an LNbits instance + the founder's nostr npub power the // "contribute" tiers. Left null until wired (see src/features/{lnbits,nostr}). lnbitsBaseUrl: null as string | null, @@ -41,10 +42,10 @@ export const problem = { 'Every "smart" venue you can name is a walled garden that rents you access.', ], thesis: - 'We build sovereign places that own their network, payments and data — a city hub, a travelling festival, and a farm — all on one shared stack, each proving it can pay for itself.', + 'We build sovereign places that own their network, payments and data — a city hub, a travelling festival, and a farm — all on one shared backbone, each proving it can pay for itself.', } -export type Accent = 'pine' | 'indigo' | 'clay' +export type Accent = 'pine' | 'indigo' | 'rose' | 'clay' export type Entity = { id: string @@ -52,6 +53,8 @@ export type Entity = { role: string // short label, e.g. "City center" kind: string accent: Accent + layer: 'backbone' | 'surface' + example?: string // for the generic festival entity blurb: string traits: string[] // what makes THIS entity unique spaces: string[] @@ -59,33 +62,39 @@ export type Entity = { icon: string } -/** The three collaborating entities. PLACEHOLDER names & details. */ +/** + * The entities. Archipelago is the backbone; the other three are the + * experiences that run on it. PLACEHOLDER names & details. + */ export const entities: Entity[] = [ { - id: 'archipelago', - name: 'Archipelago', + id: 'sollunar', + name: 'SolLunar Punk Society', role: 'City center', - kind: 'Hardware & software hub · urban event space', - accent: 'pine', + kind: 'Members’ hub · city', + accent: 'indigo', + layer: 'surface', blurb: - 'The tech backbone of the collaboration: a downtown flagship where the stack is built, demonstrated and run in front of thousands.', + 'The permanent city home: a members’ society and event space, built on Archipelago’s stack, where the community and the technology live year-round.', traits: [ - 'Builds & maintains the core stack every node runs', - 'High-footfall public demonstration of the technology', - 'Anchors partnerships, brand and the developer community', + 'The permanent, city-based flagship', + 'Runs on Archipelago tech — public demonstration of the stack', + 'Anchors membership, partnerships and the developer community', ], spaces: ['Event hall', 'Co-working floor', 'Exchange kiosk', 'Café & bar', 'Studio / lab'], - revenue: ['Venue & desk hire', 'Events & workshops', 'Network & kiosk fees'], + revenue: ['Membership', 'Venue & desk hire', 'Events & workshops'], icon: 'Building2', }, { - id: 'solunar', - name: 'SolLunar Society', - role: 'Pop-up festivals', - kind: 'Travelling · ephemeral gatherings', - accent: 'indigo', + id: 'festivals', + name: 'Pop-up Festivals', + role: 'Travelling gatherings', + kind: 'Travelling · ephemeral', + accent: 'rose', + layer: 'surface', + example: 'Solar Punk Summit', blurb: - 'The travelling node: solarpunk-by-day, lunarpunk-by-night festivals that deploy the entire stack anywhere for days at a time, then vanish.', + 'The travelling node: a repeatable festival format — like Solar Punk Summit — that deploys the entire stack anywhere for a few days, then packs down and moves on.', traits: [ 'Deploys the full stack from a mobile kit — anywhere', 'Proves the network is portable, not tied to a building', @@ -101,6 +110,7 @@ export const entities: Entity[] = [ role: 'Farm center', kind: 'Off-grid · regenerative farm', accent: 'clay', + layer: 'surface', blurb: 'The rural node: an off-grid regenerative farm hosting retreats, artist & developer residencies, and the network’s living lab — home to the alpacas.', traits: [ @@ -112,9 +122,29 @@ export const entities: Entity[] = [ revenue: ['Lodging & retreats', 'Residencies', 'Experiences & venue hire'], icon: 'Trees', }, + { + id: 'archipelago', + name: 'Archipelago', + role: 'Shared backbone', + kind: 'Open hardware & sovereign software', + accent: 'pine', + layer: 'backbone', + blurb: + 'The invisible foundation every entity runs on: open hardware and self-hosted software — the mycelium beneath the whole network. Build it once, and every place plugs in.', + traits: [ + 'Powers all three entities from one shared stack', + 'Open bill of materials — replicable anywhere', + 'Forkable and sovereign — no platform lock-in', + ], + spaces: ['Edge servers', 'Mesh routers', 'Exchange kiosks', 'NFC / membership', 'Self-hosted apps'], + revenue: ['Network & kiosk fees', 'Payment fees', 'Replication licensing'], + icon: 'Cpu', + }, ] export const entityById = (id: string) => entities.find((e) => e.id === id)! +/** The three experiences (everything except the backbone). */ +export const surfaceEntities = entities.filter((e) => e.layer === 'surface') /** * The user ecosystem every location shares — the "full experience regardless @@ -123,7 +153,7 @@ export const entityById = (id: string) => entities.find((e) => e.id === id)! export const userEcosystem = [ { title: 'One membership card', - body: 'A single NFC card is your identity, access and wallet at every node — city, festival or farm.', + body: 'A single NFC card is your identity, access and wallet everywhere — the society, a festival, the farm.', icon: 'CreditCard', }, { @@ -137,7 +167,7 @@ export const userEcosystem = [ icon: 'Zap', }, { - title: 'The SolLunar app', + title: 'The Archipelago app', body: 'Book spaces, buy tickets, find events and manage membership from one self-hosted app.', icon: 'Sparkles', }, @@ -153,7 +183,7 @@ export const userEcosystem = [ }, ] -/** The underlying technology / core stack (the infrastructure pillars). */ +/** The Archipelago backbone / core stack (the infrastructure pillars). */ export const tech = [ { title: 'Decentralized mesh network', @@ -189,11 +219,11 @@ export const tech = [ /** Revenue streams across the collaboration. */ export const revenueStreams = [ - { title: 'Tickets & festivals', note: 'SolLunar Society gatherings', icon: 'Ticket' }, + { title: 'Tickets & festivals', note: 'Pop-up festival gatherings', icon: 'Ticket' }, { title: 'Room & lodging rentals', note: 'City & farm stays', icon: 'BedDouble' }, { title: 'Retreats & residencies', note: 'Hosted programs at the farm', icon: 'Mountain' }, { title: 'Experiences & workshops', note: 'Classes, tastings, tours', icon: 'Palette' }, - { title: 'Venue & event hire', note: 'Weddings, launches, conferences', icon: 'PartyPopper' }, + { title: 'Membership & venue hire', note: 'Society dues, event bookings', icon: 'PartyPopper' }, { title: 'Network services', note: 'Connectivity, kiosk & payment fees', icon: 'Router' }, ] @@ -203,21 +233,21 @@ export type CostCategory = { title: string subtitle: string icon: string - accent: Accent | 'amber' + accent: Accent items: CostItem[] } /** - * Investment cost categories. PLACEHOLDER amounts (USD). - * One shared core stack + one build per entity. + * Investment cost categories — one per entity. PLACEHOLDER amounts (USD). + * The shared Archipelago backbone plus a launch for each experience. */ export const costCategories: CostCategory[] = [ { - id: 'core', - title: 'Shared core stack & development', - subtitle: 'Servers, routers, kiosks, NFC + core dev salaries — powers all three', + id: 'archipelago', + title: 'Archipelago · shared backbone', + subtitle: 'Servers, routers, exchange kiosks, NFC + core dev — powers all three', icon: 'Cpu', - accent: 'amber', + accent: 'pine', items: [ { label: 'Edge servers & compute', amount: 60_000 }, { label: 'Mesh routers & networking', amount: 45_000 }, @@ -227,11 +257,11 @@ export const costCategories: CostCategory[] = [ ], }, { - id: 'archipelago', - title: 'Archipelago · city center', - subtitle: 'Fit-out & launch of the urban hub', + id: 'sollunar', + title: 'SolLunar Punk Society · city', + subtitle: 'Fit-out & launch of the urban members’ hub', icon: 'Building2', - accent: 'pine', + accent: 'indigo', items: [ { label: 'Lease deposit & permits', amount: 60_000 }, { label: 'Renovation & fit-out', amount: 260_000 }, @@ -241,11 +271,11 @@ export const costCategories: CostCategory[] = [ ], }, { - id: 'solunar', - title: 'SolLunar Society · festivals', + id: 'festivals', + title: 'Pop-up Festivals', subtitle: 'Mobile deployment kit + first-season production', icon: 'Tent', - accent: 'indigo', + accent: 'rose', items: [ { label: 'Mobile mesh & power rig', amount: 60_000 }, { label: 'Mobile exchange kiosk & POS', amount: 45_000 }, @@ -255,7 +285,7 @@ export const costCategories: CostCategory[] = [ }, { id: 'chateau', - title: 'Chateau du Faune · farm center', + title: 'Chateau du Faune · farm', subtitle: 'Land, structures & off-grid infrastructure', icon: 'Trees', accent: 'clay', @@ -368,7 +398,7 @@ export const roadmap = [ phase: 'Phase 1', title: 'Launch the three entities', when: '~6–9 mo', - body: 'Fit out Archipelago and Chateau du Faune; stage the first SolLunar festival.', + body: 'Open the SolLunar Punk Society city hub and Chateau du Faune; stage the first pop-up festival.', }, { phase: 'Phase 2', @@ -399,15 +429,18 @@ export const fmtUsdFull = (n: number) => `$${n.toLocaleString('en-US')}` export const accentText: Record = { pine: 'text-pine-300', indigo: 'text-indigo-300', + rose: 'text-rose-300', clay: 'text-clay-400', } export const accentDot: Record = { pine: 'bg-pine-400', indigo: 'bg-indigo-400', + rose: 'bg-rose-400', clay: 'bg-clay-400', } export const accentRing: Record = { pine: 'border-pine-500/30 bg-pine-500/5', indigo: 'border-indigo-500/30 bg-indigo-500/5', + rose: 'border-rose-500/30 bg-rose-500/5', clay: 'border-clay-400/30 bg-clay-400/5', } diff --git a/src/deck/slides/ArchipelagoSlide.vue b/src/deck/slides/ArchipelagoSlide.vue deleted file mode 100644 index 57e10e7..0000000 --- a/src/deck/slides/ArchipelagoSlide.vue +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/src/deck/slides/SolunarSlide.vue b/src/deck/slides/SolunarSlide.vue deleted file mode 100644 index a40f9e1..0000000 --- a/src/deck/slides/SolunarSlide.vue +++ /dev/null @@ -1,8 +0,0 @@ - - -