Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
hosting unstoppable apps index page
  • Loading branch information
William Kempster committed Oct 29, 2025
commit b770490fe15ed1879d36f30ab616b5cad1888f98
149 changes: 96 additions & 53 deletions HOSTING_UNSTOPPABLE_APPS_PLAN.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Hosting Unstoppable Apps - Guide Series Implementation Plan

**Status:** In Progress
**Status:** In Progress - Index Page Complete
**Created:** 2025-10-29
**Last Updated:** 2025-10-29
**Last Updated:** 2025-10-29 (Phase 1 complete, Index page created)

---

Expand Down Expand Up @@ -34,14 +34,14 @@ content/build/guides/hosting-unstoppable-apps/

## Implementation Progress

### Phase 1: Setup
- [ ] Create directory structure
- [ ] Update parent `meta.json` to include new guide section
- [ ] Create section `meta.json`
### Phase 1: Setup ✅ COMPLETE
- [x] Create directory structure
- [x] Update parent `meta.json` to include new guide section (replaced `hosting-decentralized-websites`)
- [x] Create section `meta.json`

### Phase 2: Content Creation
- [ ] **Index Page** - Overview and introduction
- [ ] **Guide 1** - Hosting a Blog
### Phase 2: Content Creation (IN PROGRESS)
- [x] **Index Page** - Overview and introduction ✅ COMPLETE
- [ ] **Guide 1** - Hosting a Blog (NEXT)
- [ ] **Guide 2** - Hosting Arweave/AO dApp
- [ ] **Guide 3** - Hosting EVM dApp
- [ ] **Guide 4** - Using Undernames for Versioning
Expand All @@ -68,57 +68,97 @@ content/build/guides/hosting-unstoppable-apps/

---

## Implementation Notes & Learnings

### Index Page Implementation (2025-10-29)

**What Was Built:**
- Created streamlined index page at `content/build/guides/hosting-unstoppable-apps/index.mdx`
- Total length: 129 lines (much more concise than originally planned)

**Key Decisions & Changes:**

1. **Simplified Structure**
- REMOVED: Prerequisites section (moved to individual guides)
- REMOVED: Tools Overview section (moved to individual guides)
- REMOVED: Getting Started section (redundant with guide cards)
- REMOVED: "Why Host on Arweave" section (kept benefits in intro bullets)
- REMOVED: Additional Resources section (links can be in individual guides)
- KEPT: Introduction, AR.IO Network explanation, Guide cards

2. **Added Gateway Redundancy Section**
- New section: "How AR.IO Network Makes Apps Unstoppable"
- Explains 100+ independent gateways and multi-domain access
- Provides concrete examples: `myapp.arweave.net`, `myapp.g8way.io`, etc.
- Emphasizes NO single point of failure
- This was critical messaging that wasn't in original plan

3. **Enhanced Introduction**
- Added context about full-stack dApp goals
- Explained how frontend hosting was the missing piece
- Positioned AR.IO Network + ArNS as the solution
- Line: "This has always been the goal of full stack decentralised apps (dapps) but until now that has not been possible due to single points of failure for hosting frontends. AR.IO Network and Arweave Name System (ArNS) has solved this problem."

4. **Design Patterns Used**
- Fumadocs Cards with JSX descriptions (matching upload/index.mdx pattern)
- Lucide-react icons: BookOpen, Code, Rocket, GitBranch, Zap
- Structured card descriptions with bullet points
- Clean, focused navigation

**Rationale:**
The original plan included many sections that would duplicate content in individual guides. By simplifying the index to be purely a navigation hub with key context, users can:
- Quickly understand what unstoppable apps are
- Grasp the unique value of AR.IO's gateway network
- Navigate directly to relevant guides

Detailed setup instructions, tool comparisons, and prerequisites are better placed in the individual guides where they're contextually relevant.

**Files Modified:**
- Created: `/content/build/guides/hosting-unstoppable-apps/index.mdx`
- Created: `/content/build/guides/hosting-unstoppable-apps/meta.json`
- Modified: `/content/build/guides/meta.json` (replaced `hosting-decentralized-websites` with `hosting-unstoppable-apps`)

---

## Detailed Guide Outlines

### Index Page: `index.mdx`
### Index Page: `index.mdx` ✅ COMPLETE

**Purpose:** Overview and navigation hub for the guide series
**Purpose:** Streamlined navigation hub explaining unstoppable apps and AR.IO's gateway redundancy

**Structure:**
**Actual Structure Built:**
```markdown
---
title: "Hosting Unstoppable Apps on ArNS"
description: "Learn how to deploy permanent, censorship-resistant websites and applications to Arweave"
description: "Learn how to deploy permanent, censorship-resistant websites and applications to Arweave with ArNS domain integration"
---

## Introduction
- What are unstoppable apps
- Benefits of hosting on Arweave + ArNS
- Overview of the deployment process
- Benefits (permanent, censorship-resistant, decentralized, cost-effective, human-readable)
- Context: solving full-stack dApp frontend hosting problem

## What You'll Learn
- Deploy static websites and blogs
- Host Arweave/AO dApps
- Host EVM dApps with permanent frontends
- Manage versions with undernames
- Use Arlink for one-click deployments
## How AR.IO Network Makes Apps Unstoppable
- 100+ independent gateways explanation
- Multi-domain access examples (myapp.arweave.net, myapp.g8way.io, etc.)
- No single point of failure messaging

## Guide Series
## Guides
<Cards>
<!-- Card for each guide -->
<!-- 5 guide cards with icons and structured descriptions -->
</Cards>

## Prerequisites
- Basic web development knowledge
- Node.js and npm
- Arweave wallet
- ArNS name (or ability to register one)

## Tools Overview
- permaweb-deploy CLI
- Arlink web interface
- ArIO SDK

## Getting Started
- Quick start guide
- Links to first guide
```

**Key Components:**
- Use Fumadocs Card components
- Use lucide-react icons
- Clear navigation to all guides
- Engaging introduction
- ✅ Fumadocs Cards with JSX descriptions
- ✅ Lucide-react icons (BookOpen, Code, Rocket, GitBranch, Zap)
- ✅ Gateway redundancy explanation (new addition)
- ✅ Clean, focused navigation

**Changes from Plan:**
- Removed: Prerequisites, Tools Overview, Getting Started, Why Host on Arweave, Additional Resources
- Added: Gateway redundancy section
- Added: Full-stack dApp context in introduction

---

Expand Down Expand Up @@ -559,21 +599,24 @@ Each guide should link to:

### Completed
- [x] Plan creation and approval
- [ ] Plan documentation created
- [x] Plan documentation created
- [x] Directory structure creation (2025-10-29)
- [x] Section meta.json created (2025-10-29)
- [x] Parent meta.json updated (2025-10-29)
- [x] Index page created and reviewed (2025-10-29)

### In Progress
- [ ] _(Current task will be marked here)_
- [ ] Guide 1: Hosting a Blog (NEXT)

### Upcoming
- [ ] Directory structure creation
- [ ] Index page
- [ ] Guide 1
- [ ] Guide 2
- [ ] Guide 3
- [ ] Guide 4
- [ ] Guide 5
- [ ] Testing
- [ ] Review
- [ ] Guide 2: Hosting Arweave/AO dApp
- [ ] Guide 3: Hosting EVM dApp
- [ ] Guide 4: Using Undernames for Versioning
- [ ] Guide 5: Deploying with Arlink
- [ ] Testing all guides
- [ ] Review for consistency
- [ ] Integration (move/archive old content)
- [ ] Final user review
- [ ] Finalization

---
Expand Down
129 changes: 129 additions & 0 deletions content/build/guides/hosting-unstoppable-apps/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
title: "Hosting Unstoppable Apps on ArNS"
description: "Learn how to deploy permanent, censorship-resistant websites and applications to Arweave with ArNS domain integration"
---

import {
BookOpen,
Rocket,
Code,
GitBranch,
Globe,
Zap,
} from "lucide-react";

## Introduction

Unstoppable apps are **permanent, censorship-resistant applications** deployed to Arweave's permanent storage network and made accessible through ArNS (Arweave Name System) domains. Unlike traditional web hosting that requires ongoing server maintenance and can be taken down, unstoppable apps are:

- **Permanent** - Your application lives forever on Arweave
- **Censorship-resistant** - No single entity can remove or modify your content
- **Decentralized** - No central servers or hosting companies required
- **Cost-effective** - Pay once to store your application forever
- **Human-readable** - Access your app via friendly ArNS names like `myapp.arweave.net`

This has always been the goal of full stack decentralised apps (dapps) but until now that has not been possible due to single points of failure for hosting frontends. AR.IO Network and Arweave Name System (ArNS) has solved this problem.

## How AR.IO Network Makes Apps Unstoppable

ArNS domains resolve across the entire AR.IO Network of 100+ independent gateways. This means your app at `myapp.arweave.net` is simultaneously accessible from:

- `myapp.arweave.net`
- `myapp.ar.io`
- ...and 100+ more gateway domains

Exactly the same app, different gateway.

This creates true redundancy - if one gateway is blocked or goes down, your app remains accessible through hundreds of others. No single point of failure exists.

In this guide series, you will learn how to deploy static websites, blogs, Arweave/AO dApps, and EVM dApps to create truly unstoppable applications.

## Guides

<Cards>
<Card
title="Hosting a Blog"
description={
<>
<p className="mb-3">
Learn the fundamentals of permanent web hosting by deploying a blog
</p>
<div className="space-y-1 text-sm">
<div>• Static site generator setup</div>
<div>• permaweb-deploy CLI walkthrough</div>
<div>• GitHub Actions automation</div>
</div>
</>
}
href="/build/guides/hosting-unstoppable-apps/hosting-a-blog"
icon={<BookOpen className="w-6 h-6" />}
/>
<Card
title="Hosting Arweave/AO dApp"
description={
<>
<p className="mb-3">
Deploy decentralized applications built for the Arweave ecosystem
</p>
<div className="space-y-1 text-sm">
<div>• Wallet integration (ArConnect)</div>
<div>• AO process interaction</div>
<div>• Complete token dashboard example</div>
</div>
</>
}
href="/build/guides/hosting-unstoppable-apps/hosting-arweave-ao-dapp"
icon={<Code className="w-6 h-6" />}
/>
<Card
title="Hosting EVM dApp"
description={
<>
<p className="mb-3">
Create permanent frontends for Ethereum and EVM-compatible dApps
</p>
<div className="space-y-1 text-sm">
<div>• Web3 wallet integration (wagmi)</div>
<div>• Smart contract interactions</div>
<div>• Multi-chain support</div>
</div>
</>
}
href="/build/guides/hosting-unstoppable-apps/hosting-evm-dapp"
icon={<Rocket className="w-6 h-6" />}
/>
<Card
title="Using Undernames for Versioning"
description={
<>
<p className="mb-3">
Manage multiple versions and environments with ArNS undernames
</p>
<div className="space-y-1 text-sm">
<div>• Dev/staging/production workflows</div>
<div>• Blue-green deployments</div>
<div>• Programmatic undername management</div>
</div>
</>
}
href="/build/guides/hosting-unstoppable-apps/using-undernames-for-versioning"
icon={<GitBranch className="w-6 h-6" />}
/>
<Card
title="Deploying with Arlink"
description={
<>
<p className="mb-3">
One-click deployments using the Arlink web interface
</p>
<div className="space-y-1 text-sm">
<div>• Visual deployment workflow</div>
<div>• No CLI required</div>
<div>• Automatic build detection</div>
</div>
</>
}
href="/build/guides/hosting-unstoppable-apps/deploying-with-arlink"
icon={<Zap className="w-6 h-6" />}
/>
</Cards>
13 changes: 13 additions & 0 deletions content/build/guides/hosting-unstoppable-apps/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"title": "Hosting Unstoppable Apps",
"icon": "Globe",
"defaultOpen": false,
"pages": [
"index",
"hosting-a-blog",
"hosting-arweave-ao-dapp",
"hosting-evm-dapp",
"using-undernames-for-versioning",
"deploying-with-arlink"
]
}
2 changes: 1 addition & 1 deletion content/build/guides/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"defaultOpen": false,
"pages": [
"depin",
"hosting-decentralized-websites",
"hosting-unstoppable-apps",
"deploy-dapp-with-ardrive-web",
"crossmint-nft-minting-app",
"working-with-arns",
Expand Down