Skip to main content

MACHUPS Architecture & Planning

Complete technical planning and architecture documentation.


Multi-Site Architecture​

MACHUPS is built as a multi-site ecosystem:

🌐 app.machups.com​

Purpose: Main brand generation application

Stack:

  • Next.js 15 (App Router)
  • React 19 + TypeScript
  • Tailwind CSS + Framer Motion
  • thirdweb SDK (Web3)

Key Features:

  • Brand generation form
  • Real-time progress updates
  • Results preview
  • ZIP download
  • NFT minting

View Complete Structure β†’


πŸ“š docs.machups.com​

Purpose: Project documentation (this site)

Stack:

  • Docusaurus 3.9
  • MDX for interactive docs
  • Custom React components

Key Features:

  • Getting started guides
  • API reference
  • Technical documentation
  • Planning documents

Status: βœ… Live


🎨 design.machups.com​

Purpose: Design system showcase

Stack:

  • Docusaurus 3.9
  • Custom components
  • Live code playground

Key Features:

  • Interactive color palette
  • Component documentation
  • Live code examples
  • Token viewer
  • Brand guidelines

Dynamic Subdomains:

  • [brand-id].design.machups.com for each generated brand

View Complete Structure β†’


πŸ’Ž wallet.machups.com​

Purpose: NFT certificate manager

Stack:

  • Next.js 15
  • thirdweb SDK
  • Monad blockchain

Key Features:

  • NFT collection viewer
  • Certificate details
  • Claiming unclaimed NFTs
  • Admin dashboard
  • Contract analytics

View Complete Structure β†’


System Architecture​

High-Level Flow​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ User Input Form β”‚
β”‚ (Business idea, style, tech stack, wallet address) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Generation Pipeline β”‚
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Claude AI │───▢│ Analysis │───▢│ Extraction β”‚ β”‚
β”‚ β”‚ Sonnet 4.5 β”‚ β”‚ & Planning β”‚ β”‚ & Parsing β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Parallel Generation Tasks β”‚ β”‚
β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
β”‚ β”‚ 1. Logo Generation (3 variants) β”‚ β”‚
β”‚ β”‚ 2. Color Palette (12-15 colors) β”‚ β”‚
β”‚ β”‚ 3. Typography System β”‚ β”‚
β”‚ β”‚ 4. Design Tokens (W3C DTCG) β”‚ β”‚
β”‚ β”‚ 5. Component Library (30+ components) β”‚ β”‚
β”‚ β”‚ 6. Documentation (Docusaurus) β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Package │───▢│ Upload to │───▢│ Mint NFT β”‚ β”‚
β”‚ β”‚ to ZIP β”‚ β”‚ Storage β”‚ β”‚ (Monad) β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Deliverables β”‚
β”‚ β”‚
β”‚ β€’ ZIP Download URL β”‚
β”‚ β€’ Documentation Site URL β”‚
β”‚ β€’ NFT Transaction Hash β”‚
β”‚ β€’ Component Preview β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Flow​

1. Design Token Flow​

Brand Analysis
↓
W3C DTCG Tokens
↓
β”Œβ”€β”€β”΄β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
↓ ↓ ↓ ↓
JSON CSS SCSS Tailwind
↓ ↓ ↓ ↓
Components
↓
User's App

2. NFT Metadata Flow​

Brand Generated
↓
Create Metadata (JSON)
↓
Upload to IPFS
↓
Get IPFS Hash (ipfs://Qm...)
↓
Call Smart Contract
↓
Mint NFT to Wallet
↓
Return Token ID

Technology Stack​

Frontend​

TechnologyVersionPurpose
Next.js15.1.0React framework with App Router
React19.0.0UI library
TypeScript5.9Type safety
Tailwind CSS3.4Utility-first styling
Framer Motion12.23Animations

AI & Generation​

TechnologyPurpose
Claude Sonnet 4.5Primary LLM for brand analysis
Custom PromptsEngineered prompts for consistent output
StreamingReal-time response streaming

Blockchain​

TechnologyPurpose
MonadL1 blockchain for NFT minting
thirdweb SDK 5.0Web3 SDK for wallet & contracts
ERC-721NFT standard
x402 ProtocolMicropayments (optional)

Documentation​

TechnologyPurpose
Docusaurus 3.9Documentation framework
MDXInteractive documentation
React ComponentsCustom doc components

Deployment​

ServicePurpose
VercelHosting (all sites)
GitHub ActionsCI/CD pipeline
CloudflareCDN
IPFSNFT metadata storage

Database Schema​

Brands Table​

CREATE TABLE brands (
id UUID PRIMARY KEY,
name VARCHAR(255) NOT NULL,
business_idea TEXT NOT NULL,
style VARCHAR(50) NOT NULL,

-- Brand attributes
tagline VARCHAR(255),
primary_color VARCHAR(7),
secondary_color VARCHAR(7),

-- Assets
logos_url TEXT,
tokens_url TEXT,
components_url TEXT,
docs_url TEXT,

-- NFT
nft_token_id INTEGER,
nft_transaction_hash VARCHAR(66),
wallet_address VARCHAR(42),

-- Metadata
generation_time INTEGER, -- seconds
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);

NFT Metadata​

{
"name": "Brand Name - MACHUPS Certificate",
"description": "Brand generated at Monad Blitz SF #18",
"image": "ipfs://Qm.../logo.png",
"attributes": [
{ "trait_type": "Event", "value": "Monad Blitz SF #18" },
{ "trait_type": "Brand Name", "value": "..." },
{ "trait_type": "Generated Date", "value": "2025-12-06" },
{ "trait_type": "Primary Color", "value": "#0066FF" },
{ "trait_type": "Style", "value": "modern" },
{ "trait_type": "Generation Time", "value": "175s" }
]
}

API Design​

Generation API​

POST /api/generate

// Request
{
businessIdea: string;
targetAudience: string;
style: 'modern' | 'classic' | 'bold' | 'minimal';
techStack: 'react' | 'vue' | 'html';
features: string[];
walletAddress?: string;
}

// Response
{
jobId: string;
estimatedTime: number;
websocketUrl: string;
}

GET /api/status/[jobId]

// Response
{
status: 'pending' | 'processing' | 'completed' | 'failed';
progress: number; // 0-100
currentStep: string;
estimatedTimeRemaining: number;
result?: {
downloadUrl: string;
docsUrl: string;
nftTokenId?: string;
};
}

View Complete API Reference β†’


Smart Contract​

MACHUPSCertificate (ERC-721)​

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract MACHUPSCertificate is ERC721, Ownable {
using Counters for Counters.Counter;
Counters.Counter private _tokenIds;

mapping(uint256 => string) private _brandIds;
mapping(string => uint256) private _brandIdToTokenId;

function mintCertificate(
address recipient,
string memory tokenURI,
string memory brandId
) public onlyOwner returns (uint256);

function getBrandId(uint256 tokenId)
public view returns (string memory);

function totalSupply()
public view returns (uint256);
}

Networks:

  • Monad Testnet: For development & testing
  • Monad Mainnet: For production certificates

Workflow Diagrams​

We've created 12 comprehensive Mermaid diagrams covering:

User Workflows (3)​

  1. Brand Generation Flow (standard path)
  2. Premium Feature Purchase Flow
  3. NFT Certificate Claiming Flow

Admin Workflows (2)​

  1. Contract Deployment Flow
  2. Monitoring & Analytics Flow

Application Flows (4)​

  1. Brand Generation Pipeline (internal)
  2. Real-time Progress Updates (WebSocket)
  3. Error Handling & Retry Logic
  4. CI/CD Pipeline

Deployment Flows (2)​

  1. Multi-Site Deployment
  2. Emergency Rollback

Data Flows (2)​

  1. Design Token Flow
  2. NFT Metadata Flow

View All Diagrams β†’


Performance Targets​

Generation Performance​

MetricTargetNotes
Total Generation Time< 3 minutesEnd-to-end
Brand Analysis< 30 secondsClaude AI
Logo Generation< 60 seconds3 variations
Component Generation< 45 seconds30+ components
Documentation Build< 30 secondsDocusaurus

Core Web Vitals​

MetricTargetCategory
LCP (Largest Contentful Paint)< 2.5sGood
FID (First Input Delay)< 100msGood
CLS (Cumulative Layout Shift)< 0.1Good

Application Performance​

MetricTarget
Bundle Size< 300KB (gzipped)
Time to Interactive< 3s
API Response Time< 200ms
WebSocket Latency< 50ms

Security Measures​

Code Security​

  • βœ… TruffleHog secret scanning
  • βœ… ESLint code quality
  • βœ… TypeScript type safety
  • βœ… Dependabot updates

Blockchain Security​

  • βœ… Smart contract testing
  • βœ… Testnet before mainnet
  • βœ… Private key management
  • βœ… Rate limiting on minting

Application Security​

  • βœ… Input validation
  • βœ… CORS policies
  • βœ… Rate limiting
  • βœ… HTTPS only
  • βœ… CSP headers

Deployment Strategy​

Environments​

EnvironmentBranchDomainNetwork
Developmentdevelopdev.machups.comTestnet
Stagingstagingstaging.machups.comTestnet
Productionmainapp.machups.comMainnet

CI/CD Pipeline​

on: [push]

jobs:
build:
- ESLint
- TypeScript check
- TruffleHog scan
- Build Next.js
- Build Docusaurus

deploy:
- Deploy to Vercel
- Update DNS
- Run E2E tests
- Notify team

Planning Documents​

All comprehensive planning documentation:

DocumentDescriptionWord Count
Wallet IntegrationComplete wallet & NFT setup3,500+
Workflow Diagrams12 Mermaid diagrams-
App Structureapp.machups.com structure4,000+
Design Sitedesign.machups.com structure3,800+
Wallet Sitewallet.machups.com structure3,500+
Pre-Event StatusReadiness report2,500+

Total: ~20,000 words of planning documentation


Resources​

Internal Documentation​

External Resources​


Ready to build? Check out the Event Day Plan β†’