plan-product

Type: pitch
Tags: amigosproductmilestonesarchitectureroadmaptechnical-vision
Created: Thu Oct 30 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
Updated: Sun Nov 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time)

THE PLAN: Product & Execution

Problems we want to solve, product direction, milestones, and technical architecture.

The Vision

Core Mission: Create an β€œimport economy” where developers can import live services, not just code.

Like Docker revolutionized deployment with containers, Amigos redefines how apps are composed, shared, extended, and interconnected.

Network Virtualization: Amigos virtualizes not just computers, but the entire network - creating a virtual meta huge worldwide computer where apps can seamlessly connect to each other across any infrastructure.

Problems We’re Solving

Developer Pain Points

  1. Rebuild Everything: Every project starts from scratch
  2. Dead Dependencies: Libraries break, maintainers disappear
  3. Integration Hell: Each service has different APIs, auth, deployment
  4. State Isolation: Can’t fork services with their data/users
  5. Vendor Lock-in: Cloud services trap you in their ecosystem

Market Opportunities

  1. $100B+ Cloud Market: Fragmented, expensive, complex
  2. 5.8M Go Developers: Underserved by current platforms
  3. Open Source Fatigue: Companies want hosted solutions
  4. Web3 Infrastructure: Still too complex for mainstream adoption
  5. AI/ML Deployment: Needs simpler, more composable architecture

Product Direction

Phase 1: Import Economy Foundation

Core Platform:

Developer Experience:

import "hub.amigos.dev/auth"
import "hub.amigos.dev/payments"
import "hub.amigos.dev/notifications"

func main() {
    user := auth.CurrentUser()
    payment := payments.CreateIntent(user, 1000)
    notifications.Send(user, "Payment created")
}

Usage Experience Examples

Example 1: β€œAmigoify” an Existing Go Project

Scenario: Taking a standard Go blog application and making it Amigos-compatible

Before (Standard Go):

myblog/
β”œβ”€β”€ blog.go          # Main blog logic
β”œβ”€β”€ server.go        # HTTP server
β”œβ”€β”€ models.go        # Data models
β”œβ”€β”€ handlers.go      # HTTP handlers
└── go.mod

After (Amigos Enhanced):

myblog/
β”œβ”€β”€ blog.go          # Original code unchanged
β”œβ”€β”€ blog.ami.go      # Amigos integration layer
β”œβ”€β”€ server.go        # Original server
β”œβ”€β”€ models.go        # Original models  
β”œβ”€β”€ handlers.go      # Original handlers
β”œβ”€β”€ go.mod           # Original dependencies
└── amigo.yaml       # Amigos configuration

Key Benefits:

New Capabilities with Amigos:

# Original Go commands still work
go run .                    # Runs blog locally as before
go test ./...               # Tests pass unchanged
go build .                  # Builds binary as normal

# New Amigos commands unlock additional features  
amigo serve .               # Serves with auto-generated REST API
amigo run .                 # Runs with state management + scaling
amigo push .                # Publishes to Amigos network
amigo publish .             # Makes available for import by others

blog.ami.go (Amigos Integration Layer):

package main

import (
    "github.com/amigos-dev/sdk"
)

// Amigos Service Interface
func (b *Blog) Render() string {
    return sdk.AutoRender(b) // Auto-generates web UI
}

func (b *Blog) State() interface{} {
    return b.posts // Exposes state for forking/importing
}

func (b *Blog) Migrate(old interface{}) error {
    return sdk.AutoMigrate(b, old) // Handles state transitions
}

func (b *Blog) API() sdk.APISpec {
    return sdk.AutoAPI(b) // Generates REST/GraphQL API
}

What You Get For Free:

Example 2: Building with Imports

Scenario: Creating a startup MVP by importing existing services

package main

import (
    "amigos.dev/auth"           // User authentication service
    "amigos.dev/payments"       # Payment processing
    "amigos.dev/notifications"  # Email/SMS/push notifications
    "amigos.dev/analytics"      # Usage tracking
    "github.com/alice/blog"     # Alice's blog service
    "github.com/bob/comments"   # Bob's comment system
)

type MyStartup struct {
    blog     *blog.Service
    comments *comments.Service
    auth     *auth.Service
}

func (s *MyStartup) CreatePost(title, content string) error {
    user := s.auth.CurrentUser()
    if user == nil {
        return auth.ErrNotAuthenticated
    }
    
    post := s.blog.CreatePost(user, title, content)
    s.comments.EnableFor(post.ID)
    
    analytics.Track("post_created", user.ID)
    notifications.Send(user, "Post published successfully")
    
    return nil
}

func main() {
    startup := &MyStartup{
        blog:     blog.Import("alice/blog:v1.2"),
        comments: comments.Import("bob/comments:latest"),
        auth:     auth.Import("amigos.dev/auth"),
    }
    
    amigo.Serve(startup)
}

Result: Full-featured startup with authentication, blogging, comments, payments, and analytics in <50 lines of code.

Example 3: Service Marketplace

Scenario: Popular services become dependencies

# Discover services
amigo search "authentication"
amigo search "blog" 
amigo search "payments"

# Install and try
amigo import alice/blog:v1.2
amigo import bob/payments:latest

# Test locally  
amigo dev alice/blog
amigo test bob/payments

# Deploy to production
amigo deploy myapp --import alice/blog,bob/payments

Revenue Sharing:

Example 4: Multi-Network Service Lifecycle

Scenario: Building an Amigos-native contract that imports from multiple networks and deploys across environments

Full Import Spectrum:

package main

import (
    // Pure logic from GitHub (traditional)
    "github.com/foo/bar@v1.2.3"           // Git-pinned version
    "github.com/utils/crypto@abc123def"    // Git commit hash
    
    // Blockchain services (Web3)
    "blockchain.land/defi/uniswap"         // Live Uniswap contract
    "blockchain.land/nft/opensea"          // NFT marketplace
    "blockchain.land/dao/governance"       // DAO voting system
    
    // Web2 cloud services
    "aws.land/s3/storage"                  // AWS S3 wrapper
    "aws.land/lambda/functions"            // Serverless functions
    "gcp.land/bigquery/analytics"          // Google BigQuery
    
    // Local development registry
    "local.land/_/my-auth"                 // Local auth service
    "local.land/path/to/payments"          // Local payment handler
    "local.land/_/database"                // Local database service
)

type MultiNetworkApp struct {
    // Traditional logic
    cryptoUtils *bar.CryptoUtils
    
    // Blockchain state & logic
    defi        *uniswap.Pool
    nfts        *opensea.Collection
    governance  *governance.DAO
    
    // Web2 integrations  
    storage     *storage.S3Bucket
    analytics   *analytics.BigQuery
    
    // Local development services
    auth        *auth.Service
    payments    *payments.Processor
    db          *database.Store
}

func (app *MultiNetworkApp) ProcessTransaction(userID string, amount int64) error {
    // Authenticate using local service
    user := app.auth.GetUser(userID)
    if user == nil {
        return errors.New("unauthorized")
    }
    
    // Encrypt data using GitHub logic
    encryptedAmount := app.cryptoUtils.Encrypt(amount)
    
    // Store in Web2 cloud
    receipt := app.storage.Store(fmt.Sprintf("tx_%s", userID), encryptedAmount)
    
    // Execute DeFi transaction on blockchain
    swapResult := app.defi.Swap(user.WalletAddress, amount)
    
    // Record analytics in Web2
    app.analytics.Track("transaction", map[string]interface{}{
        "user_id": userID,
        "amount":  amount,
        "tx_hash": swapResult.Hash,
    })
    
    // Store transaction locally
    app.db.SaveTransaction(user, swapResult)
    
    return nil
}

func main() {
    app := &MultiNetworkApp{
        // Each import resolves to its appropriate network
        cryptoUtils: bar.Import("github.com/foo/bar@v1.2.3"),
        defi:        uniswap.Import("blockchain.land/defi/uniswap"),
        storage:     storage.Import("aws.land/s3/storage"),
        auth:        auth.Import("local.land/_/my-auth"),
        // ... other imports
    }
    
    amigo.Serve(app)
}

Development & Deployment Lifecycle:

# 1. Local Development
amigo init multinetwork-app
cd multinetwork-app

# 2. Add imports from different networks
amigo import github.com/foo/bar@v1.2.3
amigo import blockchain.land/defi/uniswap
amigo import aws.land/s3/storage  
amigo import local.land/_/my-auth

# 3. Local testing with mixed imports
amigo dev .                    # Runs locally, mocks external services
amigo test .                   # Tests with local registry + mocked externals
amigo serve .                  # Local server with hot reload

# 4. Deploy to preview environment
amigo push preview.land/myapp  # Staged deployment for testing
curl https://preview.land/myapp/api/health

# 5. Deploy to production blockchain (requires wallet)
amigo wallet connect           # Connect Web3 wallet
amigo deploy blockchain.land/myapp --wallet 0x123...
# Transaction hash: 0xabc123def...
# Service live at: blockchain.land/myapp

Network Resolution Examples:

# Different import schemes resolve to different networks
github.com/foo/bar@hash       β†’ Git repository (static)
blockchain.land/foo           β†’ Smart contract (live state)
aws.land/bar                  β†’ Cloud service (managed)
local.land/_/baz              β†’ Local registry (development)
preview.land/test             β†’ Staging environment (testing)

What Makes This Powerful:

  1. Network Abstraction: Same import syntax works across Web2, Web3, and local
  2. Environment Progression: Seamless promotion from local β†’ preview β†’ production
  3. Mixed Architectures: Combine traditional code, cloud services, and blockchain in one app
  4. Network-Aware Testing: Local development with appropriate mocking/simulation
  5. Wallet Integration: Blockchain deployments require proper authentication
  6. State Management: Each network handles persistence appropriately

Registry Behaviors:

CLI Experience: Docker + IPFS Simplicity

Unified CLI Design: Composable commands that feel familiar to Go/Docker/IPFS users.

Core Commands:

# Development workflow
amigo build .              # Build service from current directory
amigo serve .              # Serve with auto-generated APIs
amigo push .               # Push to registry
amigo pull remote.land/foo # Import remote service
amigo call remote.land/foo # Execute remote service
amigo publish .            # Make available for others to import

# Network exploration
amigo map                  # Show network topology
amigo why foo              # Explain service dependencies
amigo connect foo          # Establish service connection

# Multi-scheme support
amigo pull https://service.com/api
amigo pull ./local/service
amigo pull newscheme://distributed.service

Experience Goals:

Phase 2: Progressive Decentralization

Web2 β†’ P2P β†’ Blockchain:

Phase 3: Network Effects

Ecosystem Growth:

Technical Architecture

Core Components

Amigos Hub:

Amigos Runtime:

Amigos CLI:

Development Tools:

Hub Network (amigos.hub):

Service Model

Every Service Provides:

type Service interface {
    Render() string        // Universal UI rendering
    State() interface{}    // Current state export
    Migrate(old) error     // State migration
    Health() Status        // Health check
}

Every Service Gets:

Technical Strategy: Two-Path Approach

Path A: Quick Launch (Ignite/Cosmos SDK)

Timeline: ~1 month to launch

Benefits:

Path B: Homemade VM (Long-term Vision)

Timeline: ~12 months development

Benefits:

Dual Development Strategy

Phase 1 (Months 1-3): Quick Launch

Phase 2 (Months 4-12): Parallel Development

Phase 3 (Month 12+): Strategic Transition

Roadmap & Milestones

Phase 1: Foundation (Months 1-3)

Goal: Working local development environment and VM core

Team 1 - VM Core:

Team 2 - Local Backend:

Team 3 - Client CLI:

Success Metrics:

Phase 2: Blockchain Integration (Months 3-6)

Goal: Production blockchain with crypto authentication

Team 4 - Blockchain Integration:

Team 1 - VM Evolution:

Team 3 - CLI Enhancement:

Success Metrics:

Phase 3: Production Scaling (Months 6-12)

Goal: Web2 PaaS and enterprise deployment options

Team 5 - Web2 PaaS:

Team 2 - Advanced Tooling:

Team 4 - Mainnet Launch:

Success Metrics:

Year 2: Strategic Transition

2027: Amigos 2.0 launch

Success Metrics:

Community & Ecosystem Implementation Timeline

Phase 1 (Months 1-6)

Phase 2 (Months 6-12)

Phase 3 (Year 2+)

Year 3-5: Dominance (2027-2030)

Strategic Goals:

Technical Evolution:

Competitive Strategy

Advantages Over Incumbents

vs. AWS/Google Cloud:

vs. Vercel/Netlify:

vs. Kubernetes:

Technical Differentiation

Key Innovations:

  1. Import Economy: Live service imports using Go module system
  2. Copy-on-Write State: Fork services with their data
  3. Universal Rendering: Every service can render UI
  4. Progressive Decentralization: Web2 β†’ P2P β†’ Blockchain evolution
  5. Revenue Sharing: Automatic compensation for service authors

Success Metrics

Technical KPIs

Business KPIs

Risk Mitigation

Technical Risks

Market Risks

The Commitment

This product direction represents our best understanding of where the market is heading and what developers actually need.

We’re building for the long term - not just the next funding round, but the next decade of software development.

Key Principle: Every decision optimizes for developer happiness and productivity, not short-term revenue or investor demands.

See also

← Back to Knowledge Base