A comprehensive decentralized platform ecosystem that connects skateboarders worldwide through blockchain technology, social media integration, and distributed media processing infrastructure.
SkateHive is building the future of decentralized skateboarding culture by:
- Empowering creators with blockchain-based content monetization via Hive blockchain
- Preserving skateboarding culture through IPFS-based permanent content storage
- Connecting communities with real-time social features and interactive maps
- Rewarding participation through cryptocurrency tokens and NFTs
- Providing infrastructure that runs on accessible hardware (Mac Mini, Raspberry Pi)
The SkateHive ecosystem operates as a distributed microservices architecture where:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SKATEHIVE3.0 (Next.js) β
β Main Web Application (Vercel) β
β - User Interface & Content Creation β
β - Hive Blockchain Integration β
β - Wallet Management (Hive, Ethereum, Farcaster) β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SkateHive Services (Distributed Nodes) β
β (Any Server: Cloud, VPS, Self-Hosted) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββ β
β β Video Worker β β Instagram DL β β skatehive-apiβ β
β β (Transcoding) β β (Social Media) β β (Hive API) β β
β ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββ β
β β
β ββββββββββββββββββ ββββββββββββββββββ β
β β Dashboard β β Mobile App β β
β β (Monitoring) β β (React Native) β β
β ββββββββββββββββββ ββββββββββββββββββ β
β β
β Example Deployments: β
β β’ Mac Mini M4 (Primary) β’ Raspberry Pi (Secondary) β
β β’ Any VPS Provider β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββ
β IPFS (Pinata) β
β Permanent Storage β
βββββββββββββββββββββββ
β
ββββββββββββ΄βββββββββββ
βΌ βΌ
ββββββββββ-β ββββββββββββ
β Hive β β Ethereum β
βBlockchainβ β Network β
ββββββββββ-β ββββββββββββ
- Tailscale Mesh Network: Secure peer-to-peer connectivity between all infrastructure nodes
- Funnel Public Access: HTTPS endpoints exposed via Tailscale for external API access
- Flexible Deployment: Services can run on any server (cloud VPS, self-hosted, edge devices)
- Multi-Tier Fallback: Primary β Secondary β Cloud backup for high availability
- Auto-Recovery: Power outage resilience with automatic service restart
Next.js 15 full-stack application - The heart of the SkateHive platform
Key Features:
- π Multi-Wallet Support: Hive Keychain, Farcaster, Ethereum (WalletConnect, MetaMask)
- π Rich Content Creation: Markdown editor with image/video upload, Instagram integration
- π¬ Video Processing: Upload, transcode, and publish videos with IPFS storage
- πΈ Instagram Integration: Direct posting from Instagram with automatic download
- πΊοΈ Interactive Skate Map: Global skateboarding spots with user contributions
- π° Token Economics: HIGHER token, coin creation, trading, and staking
- π Leaderboard: User rankings based on Hive Power and engagement
- π¨ Magazine/Blog: Long-form content publication system
- π¬ Social Features: Comments, notifications, follow/unfollow
- π Airdrops: Token distribution campaigns
- ποΈ DAO Governance: Community-driven decision making
- πΌοΈ Zora Integration: Zora Coin minting, management and trading
- π± Responsive Design: Mobile-first with Farcaster Frame support
Technology Stack:
- Framework: Next.js 15.3.2 with App Router
- Styling: Tailwind CSS + Shadcn UI components
- Database: PostgreSQL (Supabase)
- Authentication: Multi-provider (Hive, Farcaster, Ethereum)
- State Management: React Context + TanStack Query
- Blockchain: Hive.js, Dhive, Viem (Ethereum)
- Storage: IPFS via Pinata
- Deployment: Vercel with edge functions
Key Directories:
app/- Next.js 15 app router pages and API routescomponents/- Reusable UI components organized by featurelib/- Utility functions, blockchain integration, API clientsservices/- External service integrations (video, Instagram)hooks/- Custom React hooks for state and effectstypes/- TypeScript type definitionssql/- Database schemas and migrations
Node.js + FFmpeg service for video optimization and IPFS upload
Features:
- Format Conversion: Any video β web-optimized H.264/AAC MP4
- IPFS Upload: Automatic Pinata upload with CID generation
- File Size Limits: Configurable max upload (currently 200MB)
- Rich Logging: JSON logs with user info, file details, processing time
- Statistics API: Success rates, processing metrics, user activity
- Docker Containerized: Easy deployment and scaling
Technology Stack: Node.js, Express, FFmpeg, Multer, Pinata SDK
API Endpoints:
POST /transcode- Upload and process video filesGET /healthz- Service health checkGET /logs- Recent processing operations (JSON)GET /stats- Aggregated statistics and metrics
Configuration:
- Port:
8081 - Max Upload:
200MB(configurable viaMAX_UPLOAD_MB) - External URL:
https://minivlad.tail83ea3e.ts.net/video/transcode
Expo/React Native app for iOS and Android - Native mobile experience for SkateHive
Features:
- π± Native Experience: Optimized for iOS and Android platforms
- π Secure Authentication: Encrypted keychain storage for Hive keys
- π Content Creation: Post photos and videos with IPFS upload
- π¬ Video Feed: Dedicated video content browsing
- π Leaderboard: Community rankings and engagement metrics
- π Notifications: Real-time notification system
- π€ Profiles: User profiles with followers/following
- π° Feed: Infinite scroll with following/trending tabs
Technology Stack: React Native, Expo, TypeScript, React Query, @hiveio/dhive
Key Directories:
app/- Expo Router screens and navigationcomponents/- Reusable UI componentslib/- Hive utilities, upload services, API clientsassets/- Images, fonts, and static files
FastAPI service for downloading Instagram/YouTube content with IPFS storage
Features:
- Multi-Platform: Instagram, YouTube, TikTok, 1000+ sites via yt-dlp
- Cookie Authentication: Instagram authentication to bypass rate limits
- IPFS Integration: Automatic Pinata upload with gateway URLs
- RESTful + Slug API: JSON POST and base64 URL slug support
- Health Monitoring: Cookie validation and expiration tracking
- File Management: Configurable retention and size limits (max 1.5GB)
Technology Stack: Python 3.11, FastAPI, yt-dlp, Pinata SDK
API Endpoints:
POST /download- Download content via JSON payloadGET /d/<base64_slug>- Download via URL slugGET /healthz- Service health with cookie statusPOST /cookies/validate- Validate Instagram cookiesGET /cookies/status- Cookie expiration status
Configuration:
- Port:
6666(host) /8000(container) - Cookie File:
data/instagram_cookies.txt(Netscape format) - External URL:
https://minivlad.tail83ea3e.ts.net/instagram/download(primary via Tailscale Funnel)
The webapp (skatehive3.0) consumes shared backend services:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SHARED INFRASTRUCTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ ββββββββββββββββ β
β β Webapp β β Mobile App β β
β β (skatehive3.0) β (mobileapp) β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ β
β β β β
β βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β api.skatehive.app (skatehive-api) β β
β β β’ /api/v1/feed, /api/v1/leaderboard β β
β β β’ /api/transcode/status β β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββββββ΄βββββββββββββ β
β βΌ βΌ β
β ββββββββββββββββ ββββββββββββββββ β
β β Mac Mini M4 β β Raspberry Pi β β
β β Transcoder β β Transcoder β β
β ββββββββββββββββ ββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β ipfs.skatehive.app β β
β β (IPFS Gateway) β β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β Hive Blockchain Nodes β β
β β β’ api.deathwing.me, api.hive.blog β β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Endpoint | Description | Webapp | Mobile |
|---|---|---|---|
/api/v1/feed |
Main community feed | β | β |
/api/v2/feed |
Enhanced feed (v2) | β | β |
/api/v1/leaderboard |
Community leaderboard | β | β |
/api/v1/balance/{user} |
User balance data | β | β |
/api/v1/balance/{user}/rewards |
User rewards | β | β |
/api/v1/feed/{user}/following |
Following feed | β | β |
/api/transcode/status |
Video transcoding status | β | β |
| Service | URL | Priority |
|---|---|---|
| Mac Mini M4 (Primary) | minivlad.tail83ea3e.ts.net/video/transcode |
1 |
| Raspberry Pi (Secondary) | vladsberry.tail83ea3e.ts.net/video/transcode |
2 |
All servers run the same skatehive-video-transcoder codebase. Additional servers can be added by deploying the same service.
| Service | URL | Purpose |
|---|---|---|
| IPFS Gateway | ipfs.skatehive.app/ipfs/{cid} |
Decentralized media storage |
| Hive Images | images.hive.blog/{user}/{sig} |
Image upload & avatars |
| Community Tag | hive-173115 |
Skatehive community identifier |
Both apps use the same Hive RPC nodes: api.deathwing.me, techcoderx.com, api.hive.blog, anyx.io, hive-api.arcange.eu, hive-api.3speak.tv
| Feature | Webapp | Mobile | Notes |
|---|---|---|---|
| Core | |||
| Feed (infinite scroll) | β | β | Mobile uses v1 API |
| Video feed | β | β | |
| Leaderboard | β | β | |
| Notifications | β | β | |
| Profile view | β | β | |
| Create posts | β | β | |
| Comments/Replies | β | β | |
| Following/Trending | β | β | |
| Wallet & Crypto | |||
| Full Wallet | β | Disabled for App Store | |
| Ethereum/NFTs | β | β | |
| Swap functionality | β | β | |
| Send tokens | β | β | |
| SkateBank | β | β | |
| Portfolio charts | β | β | |
| Community Features | |||
| Spot Map | β | β | |
| Bounties | β | β | |
| DAO/Governance | β | β | |
| Chat | β | β | |
| Auction system | β | β | |
| Airdrop system | β | β | |
| Profile Management | |||
| Edit profile | β | β | |
| Video parts | β | β | |
| Merge accounts | β | β | |
| Content Creation | |||
| Beneficiaries | β | β | |
| Full markdown editor | β | Basic in mobile | |
| Thumbnail picker | β | β | |
| Other | |||
| Magazine | β | β | |
| Game | β | β | |
| Witness voting | β | β | |
| Zora/Coin trading | β | β |
- Content Acquisition:
skatehive-instagram-downloaderfetches media from social platforms - Video Processing:
skatehive-video-transcoderoptimizes videos for web delivery - IPFS Storage: Both services upload processed content to decentralized storage
- Frontend Display:
skatehive3.0presents content to users with blockchain integration
- Health Monitoring:
skatehive-dashboardcontinuously monitors all backend services - Performance Tracking: Real-time metrics, response times, and resource usage
- Log Aggregation: Centralized logging from all services for debugging and analytics
- Automated Alerts: Service downtime and performance degradation detection
External Content β Instagram Downloader β Video Transcoder β IPFS Storage
β
User Uploads βββββββββββββββββββββββββββββ Video Transcoder β IPFS Storage
β
All Services ββββββββββββ Dashboard Monitoring ββββββββββββ Main App (skatehive3.0)
This is a hybrid monorepo β the root tracks docs, scripts, and config, while each app/service lives in its own Git repository. The setup script handles everything for you.
# 1. Clone this repo
git clone git@github.com:SkateHive/monorepo.git skatehive-monorepo
cd skatehive-monorepo
# 2. Run the interactive setup (clones all repos, installs deps, configures services)
./setup.shThat's it. The setup wizard will:
- Check dependencies β git, docker, node, pnpm, etc.
- Configure your node β name, role, ports, API keys
- Clone all 6 repositories into
apps/andservices/(SSH with HTTPS fallback) - Build services β video transcoder, instagram downloader (Docker)
- Setup networking β Tailscale Funnel (optional)
- Configure auto-start β power recovery scripts (optional)
You'll need these installed before running ./setup.sh (the script will tell you what's missing):
- Git
- Docker & Docker Compose
- Node.js 18+
- pnpm (
npm install -g pnpm)
Optional (the script will skip if not present):
- Tailscale (for mesh networking between nodes)
- Pinata account with JWT token (for IPFS uploads)
| Directory | Repository | Description |
|---|---|---|
apps/skatehive3.0/ |
SkateHive/skatehive3.0 | Next.js web app |
apps/mobileapp/ |
SkateHive/mobileapp | React Native mobile app |
apps/skatehive-docs/ |
SkateHive/skatehive-docs | Documentation site |
services/skatehive-api/ |
SkateHive/skatehive-api | Backend API |
services/skatehive-video-transcoder/ |
SkateHive/video-transcoder | FFmpeg video processing |
services/skatehive-instagram-downloader/ |
SkateHive/skatehive-instagram-downloader | Social media downloader |
These directories are git-ignored by the root repo β each has its own independent git history.
# Web app (development)
cd apps/skatehive3.0 && pnpm install && pnpm dev
# Video transcoder (Docker)
cd services/skatehive-video-transcoder && docker compose up -d
# Instagram downloader (Docker)
cd services/skatehive-instagram-downloader/ytipfs-worker && docker compose up -dClick to expand manual setup instructions
git clone git@github.com:SkateHive/monorepo.git skatehive-monorepo
cd skatehive-monorepo
mkdir -p apps services
git clone git@github.com:SkateHive/skatehive3.0.git apps/skatehive3.0
git clone git@github.com:SkateHive/mobileapp.git apps/mobileapp
git clone git@github.com:SkateHive/skatehive-docs.git apps/skatehive-docs
git clone git@github.com:SkateHive/skatehive-api.git services/skatehive-api
git clone git@github.com:SkateHive/video-transcoder.git services/skatehive-video-transcoder
git clone git@github.com:SkateHive/skatehive-instagram-downloader.git services/skatehive-instagram-downloaderThen copy and edit the config:
cp skatehive.config.example skatehive.config
# Edit skatehive.config with your valuesIf you already have the repos cloned, just run ./setup.sh again β it detects existing repos and offers to update them instead of re-cloning.
Critical environment variables across services:
PINATA_JWT- IPFS storage authenticationHIVE_POSTING_KEY- Blockchain integrationNEXT_PUBLIC_*- Frontend configuration- Service-specific ports and endpoints
This monorepo is designed for self-hosted deployment (Mac Mini, Raspberry Pi, cloud VPS) with:
- Containerized services for easy management
- Resource-optimized configurations
- Health monitoring and auto-recovery
- Modular architecture for independent scaling
Each service can be developed and deployed independently while maintaining integration through well-defined APIs and shared storage systems.
The dashboard provides comprehensive monitoring including:
- Service uptime and response times
- Resource utilization (CPU, memory, disk)
- Processing statistics and success rates
- Real-time log streaming and error tracking
- Internet connectivity and speed monitoring
Each subdirectory contains its own development guidelines. The modular architecture allows for independent development while maintaining system integration through standardized APIs and monitoring interfaces.