Architecture Overview
System Diagram
graph TB
TG[Telegram Mini-App] --> API[Bot API Gateway]
API --> AUTH[Auth Service]
API --> AI[AI Scorer Service]
API --> CHAIN[Blockchain Layer]
AUTH --> VERIFY[initData Verification]
AI --> VECTOR[Vector Database]
AI --> FACTS[Fact-Check Engine]
CHAIN --> IPFS[IPFS Storage]
CHAIN --> TOKEN[Token Contract]
VECTOR --> EMBED[Embedding Model]
FACTS --> KNOWLEDGE[Knowledge Base]
IPFS --> HASH[Content Hash]
TOKEN --> MINT[Mint & Transfer]
Core Components
1. 📱 Telegram WebApp Layer
Client-Side (React/TypeScript)
// Secure initData verification
const { initData, user } = WebApp.initDataUnsafe;
// Submit idea with encryption
const submitIdea = async (content) => {
const encrypted = await encryptContent(content);
return api.post('/submit', {
content: encrypted,
initData,
timestamp: Date.now()
});
};
Core Creativity Elements:
Telegram WebApp SDK integration
Client-side encryption
Offline draft storage
Progressive Web App capabilities
2. 🤖 Bot API Gateway
Backend (Node.js/Express)
// Telegram auth verification
app.post('/api/auth/telegram', async (req, res) => {
const { initData } = req.body;
if (verifyTelegramWebAppData(initData)) {
const user = parseInitData(initData);
const token = jwt.sign({ user }, JWT_SECRET);
res.json({ token, user });
} else {
res.status(401).json({ error: 'Invalid auth' });
}
});
Responsibilities:
Authentication & authorization
Request routing & validation
Rate limiting & abuse prevention
Real-time updates via WebSocket
3. 🤖 Robot Creativity Scorer
Processing Pipeline:
# Simplified scoring pipeline
class CreativityScorer:
def score_idea(self, content: str) -> Score:
# 1. Vectorize content
vector = self.embedding_model.encode(content)
# 2. Check originality
originality = self.check_originality(vector)
# 3. Fact-check content
factual_score = self.fact_checker.verify(content)
# 4. Calculate final score
final_score = self.calculate_composite_score(
originality, factual_score, complexity, innovation
)
return Score(
total=final_score,
originality=originality,
factual=factual_score,
reward_tokens=self.calculate_reward(final_score)
)
Robot Intelligence Components:
Embedding Model: Converts dedicated ideas to semantic vectors
Similarity Engine: Compares against existing creativity offerings
Fact-Check API: Verifies claims against knowledge base
Scoring Algorithm: Composite creativity evaluation
4. ⛓️ Blockchain Layer
Smart Contract (Solidity)
// Simplified idea submission contract
contract AltarOfCreativity {
struct Idea {
address creator;
string ipfsHash;
uint256 score;
uint256 timestamp;
uint256 reward;
}
mapping(uint256 => Idea) public ideas;
uint256 public ideaCount;
function submitIdea(
string memory ipfsHash,
uint256 score
) external {
ideas[ideaCount] = Idea({
creator: msg.sender,
ipfsHash: ipfsHash,
score: score,
timestamp: block.timestamp,
reward: calculateReward(score)
});
// Mint reward tokens
_mint(msg.sender, calculateReward(score));
emit IdeaSubmitted(ideaCount, msg.sender, score);
ideaCount++;
}
}
On-Chain Operations:
IPFS Storage: Decentralized content storage
Token Minting: Automatic reward distribution
Leaderboard: Immutable ranking system
Governance: Future DAO voting mechanisms
Data Flow
1. Submission Journey:
Creative Offering → Encrypt → API Gateway → Robot Scorer → Blockchain
2. Scoring Process:
Raw Text → Vectorize → Compare → Verify → Score → Reward
3. Reward Distribution:
Score → Calculate Tokens → Mint → Transfer → Update Leaderboard
Security Measures
Authentication:
Telegram initData verification
JWT token-based sessions
Rate limiting per user
IP-based abuse prevention
Data Protection:
Client-side encryption
Secure API communication (HTTPS)
Private credential management
IPFS content hashing
Smart Contract Security:
Audit by reputable firms
Multi-signature wallet controls
Upgrade mechanisms
Emergency pause functionality
Performance Metrics
Target Latencies:
Auth verification: <100ms
Robot creativity scoring: <2 minutes
Blockchain confirmation: <30 seconds
Total offering experience: <3 minutes
Scalability:
Horizontal API scaling
AI worker pool management
Blockchain batch processing
CDN for static assets
Development Environment
Local Setup:
# Clone repository
git clone https://github.com/altar-of-creativity/miniapp
# Install dependencies
npm install
# Start development server
npm run dev:miniapp
# Run local blockchain
npm run dev:blockchain
Technology Stack:
Frontend: React, TypeScript, Tailwind CSS
Backend: Node.js, Express, PostgreSQL
AI: Python, TensorFlow, Hugging Face
Blockchain: Ethereum, Hardhat, IPFS
Deployment: Vercel, Railway, Infura
Next Steps:
Last updated