fix(deck): reconcile financial figures with memo #3
1 changed files with 17 additions and 13 deletions
|
|
@ -84,7 +84,7 @@ export const entities: Entity[] = [
|
||||||
'Bitcoin terminal, vending & the full member ecosystem on site',
|
'Bitcoin terminal, vending & the full member ecosystem on site',
|
||||||
],
|
],
|
||||||
spaces: ['Retail space', 'Event space', 'Private lounge', 'Co-working', 'Cypherpunk Commons hostel & data center'],
|
spaces: ['Retail space', 'Event space', 'Private lounge', 'Co-working', 'Cypherpunk Commons hostel & data center'],
|
||||||
revenue: ['Memberships', 'Tenants', 'Events & venue buyouts'],
|
revenue: ['Memberships', 'Tenants', 'Events & venue rental'],
|
||||||
icon: 'Building2',
|
icon: 'Building2',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -109,12 +109,12 @@ export const entities: Entity[] = [
|
||||||
{
|
{
|
||||||
id: 'chateau',
|
id: 'chateau',
|
||||||
name: 'Château du Faune',
|
name: 'Château du Faune',
|
||||||
role: 'Farm center',
|
role: 'Farm center · southern France',
|
||||||
kind: 'Off-grid · regenerative farm',
|
kind: 'Off-grid regenerative farm · southern France',
|
||||||
accent: 'clay',
|
accent: 'clay',
|
||||||
layer: 'surface',
|
layer: 'surface',
|
||||||
blurb:
|
blurb:
|
||||||
'The rural node: an off-grid regenerative farm hosting retreats, artist & developer residencies, and the network’s living lab — home to the alpacas.',
|
'The rural node: an off-grid regenerative farm in southern France, hosting retreats, artist & developer residencies, and the network’s living lab — home to the alpacas. Same Lab 484 stack as Austin, in a completely different environment.',
|
||||||
traits: [
|
traits: [
|
||||||
'Proves the stack runs off-grid, anywhere',
|
'Proves the stack runs off-grid, anywhere',
|
||||||
'Premium revenue from retreats & residencies',
|
'Premium revenue from retreats & residencies',
|
||||||
|
|
@ -132,7 +132,7 @@ export const entities: Entity[] = [
|
||||||
accent: 'pine',
|
accent: 'pine',
|
||||||
layer: 'backbone',
|
layer: 'backbone',
|
||||||
blurb:
|
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.',
|
'The invisible foundation every entity runs on: open hardware and self-hosted software, built on decentralized protocols (Nostr + Bitcoin) — the mycelium beneath the whole network. Build the stack once, and every place plugs in.',
|
||||||
traits: [
|
traits: [
|
||||||
'Powers all three entities from one shared stack',
|
'Powers all three entities from one shared stack',
|
||||||
'Open bill of materials — replicable anywhere',
|
'Open bill of materials — replicable anywhere',
|
||||||
|
|
@ -164,8 +164,8 @@ export const userEcosystem = [
|
||||||
icon: 'Coins',
|
icon: 'Coins',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Pay by Lightning',
|
title: 'Pay by Lightning ⚡',
|
||||||
body: 'Tap to pay for drinks, tickets, rooms and experiences — instant, low-fee settlement.',
|
body: 'Tap to pay for drinks, tickets, rooms and experiences — instant settlement, zero internal fees.',
|
||||||
icon: 'Zap',
|
icon: 'Zap',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -248,6 +248,7 @@ export const partnership = {
|
||||||
equity: 0.45,
|
equity: 0.45,
|
||||||
accent: 'indigo',
|
accent: 'indigo',
|
||||||
role: 'Space & community',
|
role: 'Space & community',
|
||||||
|
note: 'Name used in investor-facing deck; source documents use alternative names.',
|
||||||
responsibilities: [
|
responsibilities: [
|
||||||
'Curate & decorate the space',
|
'Curate & decorate the space',
|
||||||
'Lease to tenants · insurance',
|
'Lease to tenants · insurance',
|
||||||
|
|
@ -318,7 +319,8 @@ export type Membership = {
|
||||||
price: number // monthly
|
price: number // monthly
|
||||||
target: number // member-count target
|
target: number // member-count target
|
||||||
blurb: string
|
blurb: string
|
||||||
perks: string[]
|
perks: string[],
|
||||||
|
note?: string
|
||||||
featured?: boolean
|
featured?: boolean
|
||||||
}
|
}
|
||||||
export const memberships: Membership[] = [
|
export const memberships: Membership[] = [
|
||||||
|
|
@ -336,6 +338,7 @@ export const memberships: Membership[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Cypherpunk Commons',
|
name: 'Cypherpunk Commons',
|
||||||
|
note: 'First node, Austin',
|
||||||
price: 348,
|
price: 348,
|
||||||
target: 50,
|
target: 50,
|
||||||
featured: true,
|
featured: true,
|
||||||
|
|
@ -350,6 +353,7 @@ export const memberships: Membership[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Lunarpunk Locals',
|
name: 'Lunarpunk Locals',
|
||||||
|
note: 'First node, Austin',
|
||||||
price: 148,
|
price: 148,
|
||||||
target: 100,
|
target: 100,
|
||||||
blurb: 'Coworking days.',
|
blurb: 'Coworking days.',
|
||||||
|
|
@ -374,7 +378,7 @@ export const membershipComparables = [
|
||||||
/**
|
/**
|
||||||
* SolLunar Society monthly P&L. Line items are from the doc; category totals
|
* SolLunar Society monthly P&L. Line items are from the doc; category totals
|
||||||
* are RECOMPUTED from them (the doc's summary totals didn't reconcile — see
|
* are RECOMPUTED from them (the doc's summary totals didn't reconcile — see
|
||||||
* `pnlDocSummary`). Flagged oddity: Lunarpunk Locals income ($1,500) doesn't
|
* `pnlDocSummary`). Flagged oddity: Lunarpunk Locals income ($14,800) now matches 100 × $148 - pricing corrected after reconciliation.
|
||||||
* match its "100 × $150" annotation.
|
* match its "100 × $150" annotation.
|
||||||
*/
|
*/
|
||||||
export type PnlItem = { label: string; amount: number; note?: string }
|
export type PnlItem = { label: string; amount: number; note?: string }
|
||||||
|
|
@ -397,7 +401,7 @@ export const pnlGroups: PnlGroup[] = [
|
||||||
items: [
|
items: [
|
||||||
{ label: 'Cypherpunk Commons', amount: 17_400, note: '50 × $348' },
|
{ label: 'Cypherpunk Commons', amount: 17_400, note: '50 × $348' },
|
||||||
{ label: 'Solarpunk Society', amount: 7_200, note: '150 × $48' },
|
{ label: 'Solarpunk Society', amount: 7_200, note: '150 × $48' },
|
||||||
{ label: 'Lunarpunk Locals', amount: 1_500, note: '$148/mo · count TBD' },
|
{ label: 'Lunarpunk Locals', amount: 14_800, note: '100 × $148' },
|
||||||
{ label: 'Vending machine sales', amount: 5_000 },
|
{ label: 'Vending machine sales', amount: 5_000 },
|
||||||
{ label: 'Promo / B2B network sales', amount: 5_000 },
|
{ label: 'Promo / B2B network sales', amount: 5_000 },
|
||||||
],
|
],
|
||||||
|
|
@ -409,9 +413,9 @@ export const pnlGroups: PnlGroup[] = [
|
||||||
accent: 'rose',
|
accent: 'rose',
|
||||||
kind: 'revenue',
|
kind: 'revenue',
|
||||||
items: [
|
items: [
|
||||||
{ label: 'Lab 484 tech events', amount: 8_000 },
|
{ label: 'Lab 484 tech events', amount: 5_000, note: '10×/mo · $500' },
|
||||||
{ label: 'Lab 484 bootcamps', amount: 6_000 },
|
{ label: 'Lab 484 bootcamps', amount: 3_000, note: '2×/mo · $1,500' },
|
||||||
{ label: 'Venue buyouts', amount: 6_400, note: '$400/hr · 4hr min · 4×/mo' },
|
{ label: 'Venue rental · private hire', amount: 6_400, note: '$400/hr · 4hr min · 4×/mo' },
|
||||||
{ label: 'SolLunar Society events', amount: 1_500, note: '$50 weekend passes' },
|
{ label: 'SolLunar Society events', amount: 1_500, note: '$50 weekend passes' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue