🌐 IClinktree (Web3 Creator Hub)
![]()
Platform: $ICP (Internet Computer Protocol) License: MIT Live Mainnet Canister: https://2n2uw-uaaaa-aaaag-at2hq-cai.icp.net
IClinktree is a lightning-fast, fully decentralized, and self-hosted Creator Hub & AI-Powered Video Knowledge Base running 100% on-chain on the Internet Computer Protocol (ICP).
Say goodbye to centralized link-in-bio services. With IClinktree, you own your data entirely: your analytics are logged privately on-chain, supporters can tip you in multiple cryptocurrencies via dynamic QR codes, visitors can query your entire YouTube video history using an on-chain AI assistant, and fans can send end-to-end encrypted direct messages/tickets straight to your canister inbox.
✨ Key Features
⚬ ⚡ 100% On-Chain Deployment: Hosted directly on Internet Computer canister smart contracts—no traditional cloud servers (AWS, Vercel, Heroku) required.
⚬ 🤖 On-Chain AI Assistant & Search: Integrated chat widget powered by your Motoko backend that instantly indexes and retrieves relevant YouTube tutorials based on user queries.
⚬ 🔒 End-to-End Encrypted Visitor Ticket System: Allows visitors to send anonymous encrypted notes/tickets via the chat interface (e.g., typing ticket Can you cover Oisy wallet?). Messages are encrypted locally in the browser using AES-GCM Web Crypto before submission, ensuring zero-knowledge storage on-chain. Protected by Internet Identity authentication so only the master owner principal can decrypt and read inbox messages.
⚬ ⏳ Customizable Ticket Retention & Auto-Pruning: Set your preferred auto-deletion lifespan for incoming encrypted tickets during setup to optimize canister cycles and storage.
⚬ 📊 Privacy-First Live 7-Day Analytics: Tracks rolling visitor stats (pageviews, unique devices, button clicks, top country, device/OS, and browser) on-chain with automatic 7-day data pruning and zero third-party cookies.
⚬ ☕ Multi-Chain Crypto Tipping: Interactive "Buy Me a Coffee" modal featuring reliable, high-speed generated QR codes for ICP, BTC, ETH, SOL, and XRP with customizable wallet addresses and developer support fallbacks.
⚬ 🚀 Automated Setup & Deployment Wizard (setup.py): Interactive Python script that scaffolds your workspace, configures profiles, maps your Master Principal ID, configures encrypted ticket parameters, scrapes YouTube, and deploys to ICP mainnet.
⚬ 🔗 Dynamic ICP Ecosystem & dApp Referrals: Integrated filter tabs and dedicated cards for top ICP dApps (OpenChat, Clown, Oisy, Randseed) with customizable referral support. If unused, the section dynamically hides itself.
🏗️ Project Architecture
IClinktree/
├── backend/
│ └── main.mo # Motoko smart contract (Search index, AI assistant, traffic logs, & encrypted ticket store)
├── assets/
│ ├── index.html # Apple-inspired glassmorphism frontend (Dynamically rendered)
│ ├── styles.css # Clean minimalist dark-mode styling & responsive grid layouts
│ ├── script.js # Frontend router, Web Crypto E2EE handler, crypto modal, analytics logger, & II auth
│ └── images/ # Social media icons, profile photo, crypto logos, and dApp badges
├── setup.py # Interactive Python configuration & mainnet deployment wizard
├── push.py # Automated YouTube scraper & canister synchronization script
├── dfx.json # DFINITY SDK canister compilation and network configuration
└── canister_ids.json # Mainnet/local canister ID registry mapping
💡 How It Works
- AI Assistant & Keyword Search Engine (backend/main.mo)
⚬ Indexing: When you run push.py, your YouTube channel's public playlist is scraped using yt-dlp. Every video's title, description, and tags are cleaned, lowercased, and combined into a searchable index string. ⚬ Batch Uploading: Video records are chunked and pushed securely onto your Motoko backend canister via Candid interface calls. ⚬ Smart Synonym Mapping: The backend features a built-in dictionary (mapping keywords like "apple" to "mac", "macbook", "iphone", "ios", or "crypto" to "bitcoin", "ethereum", "blockchain"). ⚬ Query Execution: When a visitor types a query into the chat widget, types traffic for live metrics, or types ticket to send feedback, the frontend routes requests directly to canister endpoints (askBot, getTrafficStats, or submitTicket).
- End-to-End Encrypted Ticket & Inbox Manager
⚬ Client-Side Encryption: When a visitor submits a note by typing ticket , the browser locally generates an AES-GCM encryption key, encrypts the message text in real-time, and sends only ciphertext to the canister. ⚬ On-Chain Zero-Knowledge Storage: The canister stores ciphertext payloads in stable memory. Node operators and state inspectors see only unreadable encrypted data. ⚬ Authenticated Decryption: Creators login securely using Internet Identity (II). The canister checks that the caller matches your Master Principal ID (OWNER principal). Upon authorization, the frontend fetches the ciphertext and decrypts it directly in your browser screen. ⚬ Inbox Commands: Once authenticated, typing show tickets or show unread in the chat displays your decrypted messages with actions to toggle read status, delete single tickets, or batch clear the inbox.
- Automated Setup Wizard (setup.py)
Instead of manually editing JSON files or writing Candid arguments, setup.py guides you through an interactive terminal wizard:
⚬ Master Principal & II Mapping: Prompts for your Master Principal ID (PID) so only your authenticated principal can decrypt and view the ticket inbox. ⚬ Encrypted Ticket Preferences: Lets you choose whether to enable tickets and configure how many days the canister retains them before automatic deletion. ⚬ Principal Detection: Runs dfx identity get-principal to fetch your DFINITY Principal ID and reminds you to assign controller permissions in the NNS. ⚬ Profile Personalization: Prompts for your display name, bio, and YouTube channel URL. ⚬ Social & Crypto Configuration: Collects social profile links and custom cryptocurrency wallet addresses (ICP, BTC, ETH, SOL, XRP) with developer fallback options. ⚬ Scaffolding & Deployment: Auto-generates your directory tree, builds configuration files with Web Crypto handlers, executes push.py to seed video metadata, and deploys live via dfx deploy --network ic.
🚀 Deployment Guide
Prerequisites
Make sure your environment (macOS / Linux / WSL) has the following installed:
⚬ DFX SDK / ICP CLI: https://cli.internetcomputer.org/ ⚬ Python 3 and yt-dlp: pip install yt-dlp
Step 1: Clone the Repository
git clone https://github.com/iTechBod/IClinktree.git
cd IClinktree
Step 2: Run the Setup Wizard
Execute the setup script:
python3 setup.py
Follow the prompts in your terminal:
- Enter your Master Principal ID (PID) for secure owner ticket decryption.
- Choose whether to enable the encrypted ticket system and specify auto-deletion retention days (e.g., 7 days).
- Verify your DFINITY Principal ID and confirm canister ownership in the NNS.
- Enter your custom Creator Name, Bio, and YouTube URL.
- Provide your social media profile links and dApp referrals (or use developer fallbacks).
- Set up your custom crypto wallet addresses.
- Input your Backend and Frontend Canister IDs.
The script will automatically build all configuration files, sync your YouTube catalog, upload metadata on-chain, and deploy your creator hub live to the Internet Computer mainnet!
📜 License
Distributed under the MIT License. See LICENSE for more information. Feel free to fork, adapt for your creator brand, and build upon it!
Built with passion on the Internet Computer Protocol.