# The Four-Feature Distributed Intelligence Network

**Date:** November 21, 2025
**Status:** Ideation / Brainstorming Phase
**Vision:** A complete ecosystem for thinking, learning, creating, and connecting

---

## Executive Summary

Write or Perish evolves from journaling app to **distributed intelligence network** with four core features:

1. **Effortless Journaling** (Input) - Capture thoughts via text/voice
2. **Download** (Consume) - User-aligned content recommendations from MemeOS
3. **Upload** (Broadcast) - User-consented sharing of internal state to multiple channels
4. **Intention Market** (Matchmaking) - Serendipitous connection through complementary needs/offerings

**The Innovation:** These four features create a closed loop where private reflection fuels public contribution, consumption informs creation, and expressed intentions enable serendipitous collaboration.

---

## The Complete Architecture

### Feature 1: Effortless Journaling (Already Exists)

**Purpose:** Capture thoughts with zero friction.

**Current State:**
- Text + voice input with tab-kill resumability for voice workflows
- Tree-structured conversations with LLMs
- Multi-model support (GPT-4o, GPT-4o-mini, Claude Sonnet 4.6, Claude Opus 4.6)
- Async processing for transcription, LLM, TTS (with SSE streaming for TTS)
- Version history
- **Reflect/Orient workflows** - Structured voice-first interaction modes for self-reflection and goal-setting with LLM-generated todos (#70). Converse workflow implemented but untested and currently disabled.
- **Iterative profile generation** - AI-powered analysis of user's full writing archive, with automatic profile updates after new entries (#71)
- **System prompt management** - Prompts page for viewing and editing AI system prompts (#72), with FK-linked prompt nodes (#73)
- **Cmd+K keyword search** - Global search with date filtering, diacritics-insensitive matching, and infinite scroll pagination
- **Claude data export import** - Import conversation history from Claude (#64)
- **Dollar-cost tracking** - Per-user API cost tracking via APICostLog (#61)
- **Pin-to-profile** - Pin selected nodes to user profile (#60)
- **Cmd+Click** to open nodes in new tab across all previews

**Status:** ✅ Production-ready, actively used, significantly expanded beyond basic journaling

---

### Feature 2: Download - User-Aligned Content Recommendation (Designed)

**Purpose:** Surface relevant content from your bookmark archive when you need it.

**How It Works:**
1. You write about topic X in journal
2. System analyzes: current node + thread context + personal profile
3. MemeOS integration surfaces bookmarks about X
4. Ranking: 70% semantic relevance + 30% spaced repetition urgency
5. "Related content you've saved" appears in sidebar

**Value:** Your writing context becomes the query for what to read next.

**Status:** 📋 Designed (see CHAT-AND-MEMEOS-ARCHITECTURE.md)

---

### Feature 3: Upload - Broadcasting Internal State (NEW)

**Purpose:** Share your current internal state - needs, desires, intentions, opportunities - to appropriate audiences and channels.

#### 3.1 Core Concept

**Traditional Content Creation:**
"I will write a polished blog post and publish it"
- High activation energy
- Publishing pressure
- Perfectionism blocks sharing

**Upload Feature:**
"I've been thinking about X, the system extracts the shareable essence and routes it appropriately"
- Low activation energy
- AI handles transformation
- Natural byproduct of journaling

#### 3.2 What Gets Shared (Internal State Types)

**1. Needs**
- "I'm looking for..."
- "I need help with..."
- "I wish I could learn..."
- "I'm stuck on..."

**Examples:**
- "Looking for recommendations on managing remote teams"
- "Need a designer for a side project"
- "Wish I could find a thinking partner for exploring consciousness"

**2. Desires**
- "I want to..."
- "I'm hoping to..."
- "I'd love to..."
- "I'm aspiring toward..."

**Examples:**
- "Want to write a book about AI alignment"
- "Hoping to find a cofounder for climate tech startup"
- "Would love to collaborate on research about spaced repetition"

**3. Intentions**
- "I'm planning to..."
- "I'm committing to..."
- "I'm starting..."
- "I'm going to..."

**Examples:**
- "Planning to run daily for 100 days, starting tomorrow"
- "Committing to publishing weekly essays on decision-making"
- "Starting a study group on category theory"

**4. Opportunities / Offerings**
- "I can help with..."
- "I'm offering..."
- "I have capacity for..."
- "I'm looking to give..."

**Examples:**
- "Can help early-stage founders with growth strategy"
- "Offering free resume reviews for career changers"
- "Have capacity to mentor 2 people on technical writing"

**5. Insights / Learnings**
- "I've learned that..."
- "I've discovered..."
- "Here's what I know about..."
- "After X months of Y, I've realized..."

**Examples:**
- "After 6 months of daily meditation, I've learned these 3 things"
- "Discovered a framework for prioritizing tasks by energy level"
- "Here's what I know about building habits as someone with ADHD"

**6. Questions / Explorations**
- "I'm wondering about..."
- "I'm exploring..."
- "I'm confused by..."
- "How do you think about...?"

**Examples:**
- "I'm wondering if burnout is actually a signal, not a problem"
- "Exploring whether AI alignment is fundamentally a coordination problem"
- "How do you balance ambition with presence?"

#### 3.3 Multi-Channel Distribution

**The Innovation:** Different content goes to different channels based on format, audience, and permanence.

**Channel Types:**

**A. User-Defined Circles (Private → Semi-Public)**
- Family
- Close friends
- Colleagues
- Professional network
- Accountability groups

**B. External Publishing Platforms (Public)**

1. **Twitter/X** (Short-form, high-velocity)
   - Insights (1-3 sentences)
   - Questions to audience
   - Quick updates on progress/intentions
   - Format: Thread or single tweet
   - Frequency: As insights emerge

2. **Substack/Newsletter** (Long-form, low-velocity)
   - Essays (1000+ words)
   - Deep dives on topics
   - Synthesized learnings over time
   - Collections of related journal entries
   - Format: Polished article
   - Frequency: Weekly/monthly

3. **LinkedIn** (Professional, career-building)
   - Career insights
   - Professional learnings
   - Thought leadership
   - Format: 300-500 word post
   - Frequency: 2-4x per month

4. **Personal Blog/Website** (Long-form, owned platform)
   - Similar to Substack but self-hosted
   - More control, more technical setup

5. **GitHub Gists** (Technical sharing)
   - Code snippets with context
   - Technical TILs (Today I Learned)
   - Format: Code + explanation

**C. Intention Market (Discovery platform within Write or Perish)**
- Needs, desires, opportunities
- Structured for matchmaking (see Feature 4)
- Searchable and filterable
- Time-limited (intentions expire)

#### 3.4 Tiered Sharing Model

**Tier 1: Private Circles (Opt-in, named individuals)**
```
Sharing to: Family (12 people)
Privacy: Only these specific people can see
Format: Can be raw, unpolished
Content: Personal updates, vulnerable shares
```

**Tier 2: Semi-Public Circles (Opt-in, defined groups)**
```
Sharing to: Professional Network (LinkedIn connections)
Privacy: Anyone in this group can see
Format: Polished, professional
Content: Career insights, learnings, opportunities
```

**Tier 3: Fully Public (Opt-in, anyone can see)**
```
Sharing to: Twitter / Substack / Intention Market
Privacy: Public, indexed, discoverable
Format: Highly polished, valuable
Content: Universal insights, offerings, questions
```

**Progressive Disclosure:**
- User starts with Tier 1 (private circles)
- Builds confidence and habits
- Gradually opts into Tier 2 (semi-public)
- Eventually explores Tier 3 (public)
- Can always move content between tiers

#### 3.5 AI-Driven Content Routing

**The System Analyzes:**
1. **Content type** - Is this a need? Insight? Question? Opportunity?
2. **Shareability** - Is this complete enough to share?
3. **Audience fit** - Who would benefit/resonate?
4. **Format fit** - Tweet-sized? Essay-length? Technical?
5. **Channel match** - Where should this go?

**Routing Decision Tree:**

```
Journal Entry: "I've been thinking about habit formation..."
│
├─> Contains universal insight?
│   YES → Extract key framework
│   │
│   ├─> Length?
│   │   SHORT (1-3 sentences) → Suggest Twitter
│   │   MEDIUM (2-3 paragraphs) → Suggest LinkedIn
│   │   LONG (1000+ words) → Suggest Substack
│   │
│   └─> Also suggest: Professional circle, Public feed
│
├─> Contains personal need?
│   YES → Extract need statement
│   │
│   └─> Suggest: Intention Market + Close friends circle
│
├─> Contains offering/opportunity?
│   YES → Extract opportunity
│   │
│   └─> Suggest: Intention Market + Professional network
│
└─> Raw processing/venting?
    NO SHARE → Keep private
```

#### 3.6 Example Flow: Journal → Multi-Channel

**Scenario:** You write a journal entry about your struggle with burnout.

**Journal Entry (Private):**
```
God, I'm so burnt out. Work is crushing me. Had another
panic attack today. Manager keeps piling on more. I can't
say no. I hate that I can't say no. Why am I like this?

[...500 more words of processing...]

Wait. Maybe the problem isn't that I'm weak. Maybe it's
that I've been treating my energy like it's infinite. Like
burnout is a personal failing instead of a system signal.

What if burnout is feedback? Like pain telling you to
stop touching the hot stove?

Three things I'm realizing:
1. Rest isn't optional, it's strategic
2. Boundaries are skills you build, not personality traits
3. Burnout is usually a mismatch between values and actions

I need to figure out what I actually value and whether
this job aligns. And I need to learn to say no.
```

**AI Analysis:**
```json
{
  "content_type": ["insight", "need"],
  "shareability": 0.85,
  "requires_transformation": true,
  "privacy_concerns": ["mentions manager", "mentions panic attacks"],
  "suggested_shares": [
    {
      "channel": "twitter",
      "audience": "public",
      "format": "short_thread",
      "content": "After 6 months of burnout, 3 realizations:\n\n1. Rest isn't optional, it's strategic\n2. Boundaries are skills, not personality traits\n3. Burnout = mismatch between values and actions\n\nStill figuring this out, but these shifts helped.",
      "reasoning": "Universal insight, actionable, vulnerable but resolved"
    },
    {
      "channel": "linkedin",
      "audience": "professional",
      "format": "medium_post",
      "content": "[300-word version with more context, less vulnerability]",
      "reasoning": "Professional relevance, career insight"
    },
    {
      "channel": "intention_market",
      "audience": "public",
      "format": "need",
      "content": "Looking for: Thinking partners exploring the relationship between burnout and values alignment. Especially interested if you've navigated this transition.",
      "reasoning": "Explicit need, could lead to valuable connections"
    },
    {
      "channel": "family_circle",
      "audience": "close_friends",
      "format": "personal_update",
      "content": "[More raw version, includes struggle context]",
      "reasoning": "Inner circle can hold vulnerability"
    }
  ]
}
```

**User Sees:**
```
💡 Your entry today could help others:

[Twitter] (Public)
After 6 months of burnout, 3 realizations:
1. Rest isn't optional, it's strategic
2. Boundaries are skills, not personality traits
3. Burnout = mismatch between values and actions

Still figuring this out, but these shifts helped.

[Share to Twitter] [Edit] [Dismiss]

---

[Intention Market] (Public)
Need: Thinking partners exploring burnout and values alignment

[Add to Market] [Edit] [Dismiss]

---

[Close Friends] (8 people)
[Shows more personal version with context about panic attacks]

[Share to Friends] [Edit] [Dismiss]
```

**User approves all three** → Content distributed to appropriate channels.

**Results:**
- **Twitter:** 47 people resonate, 3 share their own burnout stories
- **Intention Market:** 2 people reach out who are exploring similar questions
- **Close Friends:** Mom and 2 friends respond with support and advice

#### 3.7 Cross-Platform Publishing Mechanics

**Twitter Integration:**
```python
# User authorizes Twitter OAuth
# System can post on their behalf when they approve

POST /api/upload/twitter
{
  "content": "After 6 months of burnout...",
  "type": "thread" | "single",
  "draft": false  # If true, creates draft for manual posting
}

# Returns link to tweet/thread
# Stores reference in Share model
```

**Substack Integration:**
```python
# System generates draft in Substack via API
# User can preview, edit, schedule in Substack directly

POST /api/upload/substack
{
  "title": "What I Learned About Burnout",
  "content": "[Full essay from multiple journal entries]",
  "draft": true,  # Always draft first
  "notify_subscribers": false  # User controls in Substack
}

# Returns link to Substack draft
```

**Key Principle:**
- Always create drafts first for external platforms
- User has final say before going live
- Can edit in native platform after export
- Link back to original journal entry

#### 3.8 Collections & Synthesis

**Multi-Entry Essays:**

Sometimes a shareable insight emerges across multiple journal entries over weeks.

**Example:**
- Week 1: "Started thinking about habit formation"
- Week 2: "Realized habits are identity-based"
- Week 3: "Tested a new approach, it worked"
- Week 4: "Three principles I've discovered"

**System suggests:**
"You've written 8 entries about habits over 4 weeks. There's a coherent narrative here. Want to synthesize into an essay?"

**User approves** → AI generates draft essay:
- Pulls key insights from all 8 entries
- Structures chronologically or thematically
- Adds transitions
- Creates introduction and conclusion
- Outputs 1500-word essay suitable for Substack

**User edits and publishes.**

**Value:** Your journal becomes the raw material for long-form content without additional writing burden.

#### 3.9 Privacy & Consent (Critical)

**Principles:**

1. **Explicit Opt-In**
   - Nothing shared without user approval
   - Each channel requires separate authorization
   - Can revoke channel access anytime

2. **Granular Control**
   - Choose exactly what goes where
   - Can edit before sharing
   - Can un-share after publishing (within platform limits)

3. **Privacy by Default**
   - Journal is private unless explicitly shared
   - Suggestions are suggestions, not automatic actions
   - Can disable suggestions entirely

4. **Transparent Routing**
   - Always show which channels/audiences
   - Preview exactly what will be shared
   - Explain why system is suggesting each channel

5. **Reputation Protection**
   - AI flags potentially controversial content
   - Warns about professional reputation risks
   - Requires extra confirmation for sensitive topics

---

### Feature 4: Intention Market - Serendipitous Matchmaking (NEW)

**Purpose:** Create a dynamic marketplace of needs, offerings, and intentions that enables serendipitous collaboration.

#### 4.1 Core Concept

**Traditional Networking:**
- You meet people randomly
- Exchange "what do you do?"
- Maybe find commonality, usually don't
- Weak signal of actual collaboration potential

**Intention Market:**
- You broadcast structured state (needs, offerings, intentions)
- System matches complementary intentions
- High signal of collaboration potential
- Serendipity through data

**Analogy:** It's like a bulletin board where everyone posts:
- "I'm looking for..."
- "I can help with..."
- "I'm exploring..."
- "I'm offering..."

And the system actively finds matches.

#### 4.2 Structure of Intentions

**Intention Types:**

**1. Needs** (Seeking input/help)
```json
{
  "type": "need",
  "user_id": 123,
  "statement": "Looking for thinking partner to explore consciousness",
  "details": "Interested in integrated information theory, panpsychism, and hard problem. Want to think through implications for AI.",
  "topics": ["consciousness", "AI", "philosophy"],
  "time_commitment": "1 hour/week",
  "format": ["async writing", "video calls"],
  "expires_at": "2025-12-21",  // 30 days from creation
  "visibility": "public"
}
```

**2. Offerings** (Providing help/value)
```json
{
  "type": "offering",
  "user_id": 456,
  "statement": "Can help early-stage founders with growth strategy",
  "details": "10 years in B2B SaaS growth. Will review your strategy, give feedback, answer questions. No cost.",
  "topics": ["startups", "growth", "B2B", "SaaS"],
  "time_commitment": "2-3 hours/month",
  "capacity": 3,  // Can help 3 people
  "spots_taken": 1,
  "format": ["async", "video calls"],
  "expires_at": "2025-12-21",
  "visibility": "public"
}
```

**3. Opportunities** (Collaboration/projects)
```json
{
  "type": "opportunity",
  "user_id": 789,
  "statement": "Looking for cofounder for climate tech startup",
  "details": "Building carbon accounting SaaS for SMBs. Have prototype, 5 beta customers. Need technical cofounder (full-stack). Funded, can pay market salary.",
  "topics": ["climate", "startups", "engineering"],
  "seeking": "technical cofounder",
  "requirements": ["full-stack dev", "climate interest", "startup experience"],
  "offering": ["equity", "salary", "funded runway"],
  "expires_at": "2026-01-21",  // Longer expiration for big opportunities
  "visibility": "public"
}
```

**4. Explorations** (Thinking together)
```json
{
  "type": "exploration",
  "user_id": 321,
  "statement": "Exploring: Is burnout a signal or a problem?",
  "details": "I've been reading about burnout as a mismatch between values and actions. Wondering if treating it as 'problem to solve' misses the message. Looking for others thinking about this.",
  "topics": ["burnout", "work", "values", "meaning"],
  "format": ["async discussion", "shared notes"],
  "open_to": "anyone exploring similar questions",
  "expires_at": "2025-12-21",
  "visibility": "public"
}
```

**5. Intentions** (Commitments/accountability)
```json
{
  "type": "intention",
  "user_id": 654,
  "statement": "Committing to publish 12 essays in 12 months",
  "details": "Writing about decision-making, mental models, and rationality. Publishing on Substack. Want accountability partners doing similar challenges.",
  "topics": ["writing", "accountability", "rationality"],
  "cadence": "monthly",
  "start_date": "2025-11-21",
  "end_date": "2026-11-21",
  "looking_for": "accountability partners with similar goals",
  "visibility": "public"
}
```

#### 4.3 Matchmaking Algorithm

**Three Types of Matches:**

**A. Complementary Matches** (Need + Offering)
```
User A: "Need: Help with growth strategy"
User B: "Offering: Growth strategy consulting"

Match Score: 0.95
Reason: Direct need-offering match
Action: Notify both parties
```

**B. Collaborative Matches** (Similar explorations)
```
User C: "Exploring: Consciousness and AI"
User D: "Exploring: AI alignment and sentience"

Match Score: 0.82
Reason: Overlapping topics, complementary angles
Action: Suggest connection
```

**C. Accountability Matches** (Similar intentions)
```
User E: "Intention: Write 12 essays in 12 months"
User F: "Intention: Ship 1 project per month for a year"

Match Score: 0.75
Reason: Similar commitment structure, different domains
Action: Suggest accountability partnership
```

**Matching Signals:**

1. **Semantic Similarity**
   - Embed intention statements
   - Calculate cosine similarity
   - Threshold: 0.7+ for suggestions

2. **Topic Overlap**
   - Explicit tags/topics
   - Must share at least 1 topic
   - More overlap = higher score

3. **Format Compatibility**
   - Both prefer "async writing" → +0.1
   - Mismatch (one wants calls, other wants async) → -0.2

4. **Time Compatibility**
   - Similar time commitments
   - Complementary timezones (if relevant)

5. **Reputation/Trust Signals**
   - How many past collaborations
   - Feedback from previous matches
   - Completion rate for intentions

6. **Recency & Activity**
   - Newer intentions ranked higher
   - Active users (recently posted) ranked higher
   - Expired intentions excluded

**Scoring Formula:**
```python
match_score = (
    0.40 * semantic_similarity +
    0.25 * topic_overlap +
    0.15 * format_compatibility +
    0.10 * time_compatibility +
    0.10 * reputation_score
)

# Only suggest if match_score > 0.7
```

#### 4.4 User Experience

**Posting to Intention Market:**

User writes in journal:
```
"I wish I could find someone to explore consciousness with.
I've been reading about IIT and panpsychism but don't have
anyone to think through the implications with."
```

System suggests:
```
💡 This sounds like an intention to share!

[Intention Market] (Public)
Intention: Looking for thinking partner to explore consciousness

Details: Interested in integrated information theory,
panpsychism, hard problem of consciousness. Want to think
through implications for AI and ethics.

Time: ~1 hour/week, async discussion or video calls
Topics: #consciousness #AI #philosophy

This will be visible to all users. People with similar
interests will be notified.

[Post to Market] [Edit] [Dismiss]
```

**Receiving a Match:**

Notification:
```
🎯 We found a match for your intention!

You posted: "Looking for thinking partner to explore consciousness"

@alex posted: "Exploring: How does consciousness relate to AI alignment?"

Match: 87% (high overlap in topics and interests)

Alex's background:
- AI researcher, philosophy hobbyist
- Written 15 entries about consciousness
- Currently exploring: panpsychism, integrated information theory

[View Full Profile] [Connect] [Pass]
```

**Connection Flow:**

1. **User clicks "Connect"**
2. **System creates introduction:**
   ```
   Alex, meet Jordan. Jordan, meet Alex.

   You both posted intentions about consciousness:

   Jordan: "Looking for thinking partner to explore consciousness"
   Alex: "Exploring: How does consciousness relate to AI alignment?"

   Your overlapping interests:
   - Integrated information theory
   - AI alignment and sentience
   - Philosophy of mind

   We think you'd have interesting conversations.

   This connection is private. You can:
   - Exchange writing (share journal entries)
   - Schedule calls
   - Create shared exploration thread

   [Start Conversation]
   ```

3. **Both users get private thread in Write or Perish**
4. **Can exchange messages, share journal entries, schedule calls**
5. **After collaboration:**
   - Can leave feedback (optional)
   - Can continue connection or close it
   - Can make public what emerged (optional)

#### 4.5 Market Views

**Browse View:**

User can browse all active intentions by:
- Type (needs, offerings, opportunities, explorations, intentions)
- Topic (#AI, #writing, #startups, #philosophy, etc.)
- Recency (newest first)
- Match score (if they have posted intentions)

**Feed View:**

Personalized feed based on:
- User's own posted intentions (show matches)
- User's topics of interest (from profile)
- User's writing patterns (from journal analysis)

**Search View:**

Free-text search across all intentions:
- "looking for cofounder"
- "help with growth"
- "exploring consciousness"
- "accountability partner"

#### 4.6 Expiration & Freshness

**Why Intentions Expire:**
- Needs get met (no longer looking)
- Offerings get filled (capacity reached)
- Explorations conclude (moved on to other topics)
- Intentions complete (goal achieved)
- Market stays fresh (no stale listings)

**Default Expiration:**
- Needs: 30 days
- Offerings: 30 days (or when capacity filled)
- Opportunities: 60 days
- Explorations: 30 days
- Intentions: Duration of commitment (e.g., 365 days for yearly goal)

**Renewal Prompts:**
```
Your intention "Looking for cofounder" expires in 3 days.

Status: You've connected with 5 people, 2 active conversations

[Renew for 30 more days] [Mark as Fulfilled] [Let Expire]
```

#### 4.7 Success Stories & Feedback Loop

**Track Outcomes:**
```
Intention: "Looking for growth advice"
  → Matched with User B (offering growth consulting)
    → 3 calls scheduled
      → User feedback: "Extremely helpful, changed my strategy"
        → Outcome: Successful match
```

**Learn from Patterns:**
- Which types of intentions get most matches?
- Which topics have highest successful collaboration rate?
- Which users are best at creating value in matches?
- What time commitments work best?

**Improve Matching:**
- Upweight factors that predict successful collaborations
- Downweight factors that don't matter
- Identify "super-connectors" (good at helping others)

#### 4.8 Community Norms & Moderation

**Guidelines for Posting:**

1. **Be Specific**
   - Bad: "Want to learn stuff"
   - Good: "Want to learn Rust, especially async programming"

2. **Offer Context**
   - Bad: "Need help"
   - Good: "Need help designing database schema for multi-tenant SaaS"

3. **Respect Time**
   - Always specify time commitment
   - Honor commitments you make
   - Communicate if things change

4. **Give More Than You Take**
   - Post offerings, not just needs
   - Help others when you can
   - Share what you learn

5. **Be Authentic**
   - Post real needs/offerings
   - Don't spam the market
   - Don't post for status

**Moderation:**
- User reporting for spam/abuse
- AI flags low-quality or vague intentions
- Reputation system (see next section)

#### 4.9 Reputation & Trust

**Reputation Signals:**

```python
class UserReputation:
    # Completion rate
    intentions_posted = 12
    intentions_fulfilled = 9  # 75% completion rate

    # Responsiveness
    average_response_time = "4 hours"
    response_rate = 0.92  # Replies to 92% of matches

    # Value created
    matches_initiated = 15
    successful_collaborations = 8  # As rated by partners
    feedback_score = 4.6  # Out of 5

    # Giving vs. taking
    offerings_posted = 8
    needs_posted = 4
    giving_ratio = 2.0  # Gives 2x more than takes
```

**Display on Profile:**
```
@alex
- 8 successful collaborations (94% positive feedback)
- Usually responds within 4 hours
- Strong track record helping with: growth, startups, writing
- Currently has capacity to help 2 more people
```

**Use in Matching:**
- Higher reputation users shown first
- Low reputation users (new or poor track record) shown with caution
- Super-connectors highlighted

**Earned Over Time:**
- New users start neutral
- Build reputation through successful matches
- Maintain reputation through responsiveness
- Lose reputation through flaking or poor feedback

#### 4.10 Advanced Features

**1. Group Matchmaking**

Instead of 1:1 matches, form groups:

```
5 users all posted: "Intention: Daily writing habit"

System suggests: "Want to form an accountability group?"

[Form Group of 5]
- Daily check-ins
- Shared progress tracking
- Peer support
```

**2. Event Creation**

From market intentions to organized events:

```
8 users in Bay Area posted about "exploring consciousness"

System suggests: "Want to organize a meetup?"

[Create Event]
- Date/time TBD (poll attendees)
- Location: SF
- Format: Discussion + shared readings
```

**3. Project Boards**

Long-term collaborations need structure:

```
Matched for: "Build climate tech project together"

[Create Project Board]
- Shared tasks
- Timeline
- Resources
- Meeting notes (integrated with Write or Perish journals)
```

**4. Referrals**

```
You posted: "Need help with growth strategy"
You matched with User B
User B helped you

System: "Know someone else who'd benefit from User B's help?"
[Refer a Friend]
```

**5. Market Analytics (Public)**

```
Intention Market Stats:
- 234 active intentions
- 89 matches this week
- Most common topics: #AI (45), #writing (32), #startups (28)
- Highest success rate: Accountability partnerships (87%)
- Average match score: 0.76
```

Transparency builds trust and helps users understand market dynamics.

---

## How The Four Features Work Together

### The Complete Flywheel

```
1. JOURNAL (Feature 1)
   Write about challenges, insights, questions
   ↓
2. DOWNLOAD (Feature 2)
   System surfaces relevant bookmarks from MemeOS
   You consume, learn, get inspired
   ↓
3. Process in JOURNAL
   Synthesize readings with your thinking
   New insights emerge
   ↓
4. UPLOAD (Feature 3)
   System suggests sharing insights to appropriate channels
   - Tweet the framework
   - Essay on Substack
   - Update to close friends
   ↓
5. INTENTION MARKET (Feature 4)
   Extract needs/offerings from your writing
   - Post: "Looking for feedback on this framework"
   - Match with people who can help or benefit
   ↓
6. CONNECTIONS FORM
   Matched users exchange ideas
   Collaborations begin
   ↓
7. Back to JOURNAL
   Write about collaboration, new questions emerge
   ↓
   CYCLE REPEATS
```

### Example: Complete Journey

**Week 1: Journal (Feature 1)**
```
"I'm struggling with burnout. Reading about it but
nothing seems to help. Maybe I'm approaching it wrong?"
```

**Week 1: Download (Feature 2)**
```
System surfaces from MemeOS:
- Article on burnout as system signal (saved 3 months ago)
- Podcast on values alignment (saved 1 month ago)
- Thread on boundaries as skills (saved 2 weeks ago)

You read/listen, insights click.
```

**Week 2: Journal**
```
"OH. Burnout isn't a personal failing, it's a mismatch
between values and actions. That's why rest alone doesn't
fix it. I need to examine what I actually value."

[Journal 3 more entries exploring this]

Realize: I value autonomy, but job is micromanaged.
That's the root cause.
```

**Week 2: Upload (Feature 3)**
```
System suggests:
[Twitter] "After 6 months of burnout, realized: it's not
about rest, it's about values alignment. Most burnout is
a mismatch between what you value and what you're doing."

[LinkedIn] Essay: "Burnout as Signal: What Your Exhaustion
Is Trying to Tell You"

[Intention Market] "Looking for: Others who've navigated
burnout → career transition. Want to think through next steps."

You approve all three.
```

**Week 3: Intention Market (Feature 4)**
```
Match found!

@sam posted: "Recently left corporate job due to burnout,
now consulting. Happy to share what I learned."

You connect. Have 3 conversations.

Sam shares their framework for evaluating next career moves.
```

**Week 4: Journal**
```
"Conversations with Sam were so helpful. Their framework
is brilliant:
1. List your top 3 values
2. Rate current job on each (1-10)
3. Identify what would be a 10 for each
4. Look for roles that match

Applied it. Realized I need: autonomy, impact, learning.
Current job: 3, 5, 4.
Consulting might be: 9, 7, 8.

I think I know what to do."
```

**Week 4: Upload**
```
[Substack Essay] "A Framework for Career Decisions When
You're Burnt Out" (synthesizes your journey + Sam's framework)

[Twitter] "Want to thank @sam for helping me think through
burnout → career transition. Their values-based framework
changed everything. Here's what I learned..."

[Intention Market] "Offering: Happy to share values-based
career framework with others navigating burnout. Paying
forward @sam's help. Capacity for 3 people."
```

**Week 5: Intention Market**
```
3 matches on your offering.

You help 3 people think through their career decisions.

Each conversation sparks new insights for you.

Back to journal to process.
```

**Result:**
- Personal growth through journaling
- Learning through curated content
- Sharing through multiple channels
- Connection through intention market
- Contribution by helping others
- Continuous insight generation

**The flywheel accelerates.**

---

## Technical Architecture

### Data Models

```python
# Feature 3: Upload
class Share(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"))
    node_id = db.Column(db.Integer, db.ForeignKey("node.id"))

    # Content
    original_content = db.Column(db.Text)
    transformed_content = db.Column(db.Text)

    # Channels (can share to multiple)
    channels = db.Column(db.ARRAY(db.String))  # ["twitter", "linkedin", "substack"]

    # External references
    twitter_url = db.Column(db.String)
    linkedin_url = db.Column(db.String)
    substack_url = db.Column(db.String)

    # Audience
    audience_tier = db.Column(db.String)  # "private_circle", "semi_public", "public"
    audience_ids = db.Column(db.ARRAY(db.Integer))  # Specific users if private

    # Metadata
    content_type = db.Column(db.String)  # "insight", "need", "offering", etc.
    topics = db.Column(db.ARRAY(db.String))

    # Status
    status = db.Column(db.String)  # "suggested", "approved", "published", "deleted"
    published_at = db.Column(db.DateTime)
    created_at = db.Column(db.DateTime, default=datetime.utcnow)


# Feature 4: Intention Market
class Intention(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"))
    node_id = db.Column(db.Integer, db.ForeignKey("node.id"))  # Source journal entry

    # Core fields
    type = db.Column(db.String)  # "need", "offering", "opportunity", "exploration", "intention"
    statement = db.Column(db.String(500))  # Short headline
    details = db.Column(db.Text)  # Full description

    # Matching metadata
    topics = db.Column(db.ARRAY(db.String))
    embedding = db.Column(Vector(1536))  # For semantic matching

    # Logistics
    time_commitment = db.Column(db.String)  # "1 hour/week"
    format_preferences = db.Column(db.ARRAY(db.String))  # ["async", "video calls"]
    capacity = db.Column(db.Integer)  # For offerings (how many people can you help)
    spots_taken = db.Column(db.Integer, default=0)

    # Lifecycle
    status = db.Column(db.String)  # "active", "fulfilled", "expired", "cancelled"
    posted_at = db.Column(db.DateTime, default=datetime.utcnow)
    expires_at = db.Column(db.DateTime)
    fulfilled_at = db.Column(db.DateTime)

    # Visibility
    visibility = db.Column(db.String)  # "public", "network", "private"


class Match(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    intention_a_id = db.Column(db.Integer, db.ForeignKey("intention.id"))
    intention_b_id = db.Column(db.Integer, db.ForeignKey("intention.id"))
    user_a_id = db.Column(db.Integer, db.ForeignKey("user.id"))
    user_b_id = db.Column(db.Integer, db.ForeignKey("user.id"))

    # Matching
    match_score = db.Column(db.Float)
    match_reason = db.Column(db.Text)  # Explanation of why they matched
    match_type = db.Column(db.String)  # "complementary", "collaborative", "accountability"

    # Status
    status = db.Column(db.String)  # "suggested", "accepted", "active", "completed", "cancelled"
    suggested_at = db.Column(db.DateTime, default=datetime.utcnow)
    accepted_at = db.Column(db.DateTime)
    completed_at = db.Column(db.DateTime)

    # Outcome
    feedback_a = db.Column(db.Float)  # Rating from user A (1-5)
    feedback_b = db.Column(db.Float)  # Rating from user B
    feedback_text_a = db.Column(db.Text)
    feedback_text_b = db.Column(db.Text)
    outcome = db.Column(db.String)  # "successful", "unsuccessful", "ongoing"


class Connection(db.Model):
    """Tracks connections formed through matches"""
    id = db.Column(db.Integer, primary_key=True)
    user_a_id = db.Column(db.Integer, db.ForeignKey("user.id"))
    user_b_id = db.Column(db.Integer, db.ForeignKey("user.id"))

    # Origin
    match_id = db.Column(db.Integer, db.ForeignKey("match.id"))

    # Type
    connection_type = db.Column(db.String)  # "accountability", "collaboration", "mentorship"

    # Activity
    last_interaction = db.Column(db.DateTime)
    interaction_count = db.Column(db.Integer, default=0)

    # Status
    status = db.Column(db.String)  # "active", "completed", "inactive"
    created_at = db.Column(db.DateTime, default=datetime.utcnow)
```

### API Endpoints

```
# Feature 3: Upload
POST   /api/upload/analyze             # Analyze node for sharing opportunities
POST   /api/upload/channels             # Share to specific channels
GET    /api/upload/suggestions          # Get pending share suggestions
PUT    /api/upload/:id/approve          # Approve share
DELETE /api/upload/:id                  # Delete/unshare

# External integrations
POST   /api/upload/twitter              # Post to Twitter
POST   /api/upload/linkedin             # Post to LinkedIn
POST   /api/upload/substack             # Create Substack draft
GET    /api/upload/oauth/twitter        # OAuth flow for Twitter
GET    /api/upload/oauth/linkedin       # OAuth flow for LinkedIn

# Feature 4: Intention Market
POST   /api/intentions                  # Create intention
GET    /api/intentions                  # Browse market
GET    /api/intentions/:id              # Get specific intention
PUT    /api/intentions/:id              # Update intention
DELETE /api/intentions/:id              # Cancel intention

GET    /api/intentions/matches          # Get matches for my intentions
POST   /api/intentions/search           # Search market
GET    /api/intentions/feed             # Personalized feed

# Matching
POST   /api/matches/:id/accept          # Accept a match
POST   /api/matches/:id/decline         # Decline a match
PUT    /api/matches/:id/feedback        # Leave feedback after collaboration
GET    /api/matches                     # My active matches

# Connections
GET    /api/connections                 # My connections
GET    /api/connections/:id             # Connection details
POST   /api/connections/:id/message     # Message in connection thread
```

---

## Business Model

### Monetization Strategy

**Free Tier:**
- Unlimited journaling
- Basic sharing to circles (manual)
- View intention market (read-only)
- Limited downloads (10 MemeOS recommendations/month)

**Premium Tier ($15/month):**
- AI-powered share suggestions
- Multi-channel publishing (Twitter, LinkedIn, Substack)
- Post to intention market (unlimited)
- Unlimited MemeOS recommendations
- Advanced matching (get notified of matches)
- 5 active connections

**Pro Tier ($30/month):**
- Everything in Premium
- Auto-sharing mode
- Unlimited active connections
- Priority matching (shown first)
- Group matchmaking
- Analytics dashboard
- API access

### Value Proposition by Tier

**Free → Premium ($15/mo):**
"Upgrade to share your insights effortlessly and find collaborators through the intention market"

**Premium → Pro ($30/mo):**
"Upgrade for unlimited connections and priority matching"

### Network Effects

**Single-Player Value:**
- Feature 1 (Journaling): Works alone
- Feature 2 (Download): Works alone (with MemeOS)
- Feature 3 (Upload): Partly works alone (can publish without audience)

**Multi-Player Value:**
- Feature 4 (Intention Market): Requires network
- But: Even 100 active users creates significant value
- And: Grows exponentially with network size

**Cold Start Strategy:**
1. Launch Features 1-3 first (single-player value)
2. Build user base (waitlist, invite-only)
3. Launch Feature 4 when 500+ users (critical mass)
4. Growth through word-of-mouth (successful matches invite friends)

---

## Open Questions

### Product Design

1. **Share Approval**
   - Should all shares require approval, or trust AI after learning preferences?
   - What's the balance between friction (safe) and effortless (risky)?

2. **Channel Priorities**
   - If AI suggests 3 channels for same content, does user pick one or all?
   - How to avoid overwhelming user with too many suggestions?

3. **Intention Expiration**
   - Should system auto-renew popular intentions?
   - How to handle "evergreen" offerings (always have capacity)?

4. **Match Volume**
   - How many matches to suggest per user per week?
   - Too many = overwhelming, too few = limited serendipity

5. **Connection Management**
   - Should there be a limit on active connections?
   - How to transition from matched → connected → collaboration?

### Technical

6. **Substack Integration**
   - Substack API has limitations - is email export + manual import acceptable?
   - Or build custom Substack-like feature in Write or Perish?

7. **Twitter Rate Limits**
   - Twitter API restricts posting - how to handle if user is active?
   - Queue system? Rate limiting notifications?

8. **Embeddings Cost**
   - Embed every intention (ongoing cost)
   - Batch embedding vs. real-time?

9. **Matching Performance**
   - With 10k intentions, how fast can we match?
   - Precompute recommendations or on-demand?

### Community

10. **Moderation**
    - Human moderators or AI-only?
    - How to handle spam in intention market?
    - Report system design?

11. **Norms**
    - How to encourage high-quality intentions?
    - How to discourage low-effort posts?
    - Should there be "karma" or reputation beyond feedback?

12. **Collaboration Accountability**
    - If someone matches but never responds, what happens?
    - Reputation penalties for flaking?

### Privacy & Safety

13. **Public Sharing Risks**
    - What if someone posts something they regret to Twitter?
    - How to warn without being paternalistic?

14. **Doxxing Prevention**
    - Intention market profiles show location?
    - How much info to reveal before connection?

15. **Harassment**
    - Block users from seeing your intentions?
    - Report inappropriate match requests?

---

## Success Metrics

### Feature 3: Upload

**Engagement:**
- % of journal entries that generate share suggestions
- % of suggestions accepted
- Time from suggestion to approval (lower = more effortless)

**Value:**
- External engagement (Twitter likes, LinkedIn comments, Substack subscribers)
- User-reported value ("Did sharing this help others?")

**Don't Measure:**
- Total shares (incentivizes over-sharing)
- Vanity metrics (follower counts)

### Feature 4: Intention Market

**Participation:**
- % of users who post intentions
- Intentions per active user per month
- Balance of needs vs. offerings (goal: 60% offerings, 40% needs)

**Matching:**
- Match success rate (suggested → accepted)
- Time to first match (how fast do people find matches)
- Match quality (feedback scores)

**Outcomes:**
- Collaboration completion rate
- User-reported value ("Did this match help you?")
- Repeat collaboration rate (matched users work together again)

**Don't Measure:**
- Total intentions (incentivizes spam)
- Match volume alone (quality > quantity)

### Combined

**Flywheel Metrics:**
- % of users using all 4 features
- Time from journal → share → match → journal cycle
- Retention by feature usage (more features = higher retention?)

**Qualitative:**
- "Has Write or Perish helped you connect with valuable people?"
- "Have your journal insights helped others?"
- "Have collaborations led to real-world outcomes?" (projects, friendships, opportunities)

---

## Conclusion

The four-feature ecosystem creates a **complete loop for thinking, learning, creating, and connecting:**

1. **Effortless Journaling** - Capture raw thoughts
2. **Download** - Learn from curated content
3. **Upload** - Share refined insights to the world
4. **Intention Market** - Find collaborators and opportunities

**Each feature enhances the others:**
- Journaling generates content for Upload
- Upload creates visibility for Market
- Market creates connections that inspire more Journaling
- Download informs what you write about

**The result:** A platform where:
- Private reflection fuels public contribution
- Consumption informs creation
- Serendipitous collaboration emerges from expressed intentions
- Value flows in all directions (consume, create, share, connect)

**This has never been built before.**

Most platforms optimize for one thing:
- Twitter: Broadcasting
- Substack: Publishing
- LinkedIn: Professional networking
- Meetup: Events

Write or Perish integrates them all, rooted in authentic private journaling.

**Next steps:**
1. Validate assumptions with potential users
2. Design UI mockups for all 4 features
3. Answer open questions above
4. Build Feature 3 (Upload) first - it's valuable even without Feature 4
5. Launch Feature 4 (Market) when user base reaches critical mass

This could fundamentally change how knowledge work happens: from isolated individuals to distributed intelligence network.

Let's build it.

---

Published by @hrosspet on Loore: https://loore.org/@hrosspet/the-four-feature-distributed-intelligence-network
