https://github.com/intu-labs/intu-persona-demo
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: intu-labs
- License: apache-2.0
- Language: TypeScript
- Default Branch: head
- Size: 301 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
INTU Persona Demo
Where AI Meets Web3: Create, Own, and Interact with Your Digital Persona
INTU Persona Demo showcases the seamless integration of AI and blockchain technology, enabling users to create unique AI-powered personas as NFTs that live on the blockchain while providing intelligent conversational experiences.
🚀 What You Can Do
🔐 Seamless Authentication
- Single Sign-On (SSO): Login with your preferred provider
- Automatic EVM Account: Get a blockchain account created automatically
- Secure & Compliant: Built with INTU's unified execution layer
🎭 Create Your Digital Persona
- AI-Generated Personalities: Create unique personas with distinct traits, appearances, and characteristics
- NFT Ownership: Your persona becomes an NFT on Arbitrum Sepolia, permanently owned by your account
- Customizable Traits: Gender, appearance, region, personality traits (confidence, sarcasm, charm, morality)
- Smart Reroll System: Don't like your persona? Reroll up to 3 times to get the perfect match
💬 Intelligent Chat Experience
- AI-Powered Conversations: Chat with your persona using advanced AI models (Ollama local, OpenAI)
- Contextual Understanding: Your persona remembers conversations and maintains consistent personality
- Real-time Responses: Fast, responsive chat interface with streaming support
💰 Blockchain Transactions in Chat
- Direct Transaction Capability: Send blockchain transactions directly from the chat interface
- EVM Integration: Full Ethereum Virtual Machine compatibility
- Secure Execution: All transactions processed through INTU's secure infrastructure
🏗️ Architecture
This demo is built with three core components:
📡 MCP Server
The Data & AI Hub - Model Context Protocol (MCP) compliant server - Manages persona generation, chat sessions, and NFT metadata - Integrates with MongoDB for data persistence - Provides AI-powered persona creation with LLM integration - Handles image generation via RunPod/ComfyUI - IPFS integration for decentralized storage
🎼 Orchestrator
The Intelligence Layer - Coordinates between UI, MCP server, and AI providers - Manages conversation flow and context - Supports multiple LLM providers (Ollama, OpenAI, Anthropic) - Handles session management and real-time communication - Provides RESTful API for frontend integration
🎨 Frontend UI
The User Experience - Modern PWA built with Next.js, Vite, and TailwindCSS - Mobile-first responsive design - Real-time chat interface with streaming responses - Zustand state management (privacy-focused, no persistence) - Integrated wallet functionality for blockchain interactions
🛠️ Tech Stack
Frontend - Next.js, Vite, TailwindCSS - Zustand for state management - TypeScript for type safety
Backend - Node.js with TypeScript - Model Context Protocol (MCP) - MongoDB for data persistence - MinIO for object storage
AI & Image Generation - Ollama (Gemma3) for local AI - OpenAI API support - RunPod/ComfyUI for image generation - IPFS for decentralized storage
Blockchain - Ethers.js v5 for Ethereum interaction - INTU SDK for unified execution - Arbitrum Sepolia testnet - Custom ERC-721 for persona NFTs
🚀 Quick Start
Prerequisites
- Node.js (v20+ recommended)
- Docker and Docker Compose
- MongoDB
- (Optional) Ollama for local AI
Installation
Clone and Install
bash git clone https://github.com/intu-labs/intu-persona-demo.git cd intu-persona-demo pnpm install # or npm installStart Infrastructure ```bash docker compose up -d
Starts MongoDB, MinIO, Ollama containers
```
Configure Environment ```bash
Configure MCP Server
cd mcp-server cp env.example .env
Edit .env with your API keys and settings
# Configure Orchestrator cd ../orchestrator cp env.example .env # Edit .env for your LLM provider settings ```
- Start Services ```bash # Terminal 1: MCP Server cd mcp-server pnpm run build && pnpm start
# Terminal 2: Orchestrator cd orchestrator pnpm run dev
# Terminal 3: Frontend cd ui pnpm run dev ```
- Access the Demo
- Frontend: http://localhost:5173
- Orchestrator API: http://localhost:3005
- MCP Server: http://localhost:3000
🔧 Configuration
Environment Variables
MCP Server (.env)
bash
MONGODB_URI=mongodb://localhost:27017/persona-demo
RUNPOD_API_KEY=your_runpod_key_here
OPENAI_API_KEY=your_openai_key_here
PINATA_JWT=your_pinata_jwt_here
Orchestrator (.env)
bash
MCP_SERVER_URL=http://localhost:3000
OPENAI_API_KEY=your_openai_key_here
OLLAMA_HOST=http://localhost:11434
🎯 Use Cases
- Digital Identity: Create persistent AI personas that represent you across applications
- NFT Collections: Build collections of unique AI-generated characters
- Conversational AI: Interact with personalized AI agents that maintain consistent personalities
- Web3 Integration: Demonstrate seamless blockchain integration in AI applications
- Developer Showcase: Exhibit Model Context Protocol (MCP) capabilities
🤝 Contributing
We welcome contributions! Please see our contributing guidelines and feel free to submit issues or pull requests.
📖 Documentation
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Links
Built with ❤️ by the INTU team
Owner
- Name: INTU
- Login: intu-labs
- Kind: organization
- Email: dev@w3key.co
- Website: intu.xyz
- Repositories: 1
- Profile: https://github.com/intu-labs
Simple SDKs with Advanced Cryptography - Get Users On-chain!
GitHub Events
Total
- Push event: 2
- Create event: 2
Last Year
- Push event: 2
- Create event: 2
Dependencies
- mongo 6
- nvidia/cuda 12.6.3-devel-ubuntu22.04 build
- @rspack/cli ^1.1.6 development
- @types/cors ^2.8.14 development
- @types/express ^4.17.17 development
- @types/morgan ^1.9.5 development
- @types/multer ^1.4.12 development
- @types/node ^20.6.0 development
- cross-env ^7.0.3 development
- ts-loader ^9.5.2 development
- ts-node ^10.9.2 development
- typescript ^5.8.3 development
- @intuweb3/sdk ^0.0.433
- @modelcontextprotocol/sdk ^1.10.2
- @types/node-fetch ^2.6.12
- cors ^2.8.5
- dotenv ^16.3.1
- ethers 5.7.2
- express ^4.18.2
- form-data ^4.0.2
- minio ^8.0.5
- mongoose ^7.5.0
- morgan ^1.10.0
- multer ^2.0.0
- node-fetch ^3.3.2
- openai ^5.1.1
- zod ^3.22.4
- @types/cors ^2.8.18 development
- @types/express ^4.17.22 development
- @types/node ^20.17.50 development
- @types/node-fetch ^2.6.12 development
- nodemon ^3.0.2 development
- ts-node ^10.9.1 development
- typescript ^5.3.3 development
- @modelcontextprotocol/sdk ^1.10.2
- @types/mongoose ^5.11.97
- cors ^2.8.5
- dotenv ^16.3.1
- express ^4.18.2
- mongoose ^8.15.0
- node-fetch ^3.3.2
- openai ^5.1.1
- winston ^3.11.0
- ts-node ^10.9.2 development
- typescript ^5.8.3 development
- minio ^8.0.5
- mongodb ^6.16.0
- node-fetch ^3.3.2
- @eslint/js ^9.25.0 development
- @types/node ^22 development
- @types/react ^18 development
- @types/react-dom ^18 development
- @vitejs/plugin-react ^4.4.1 development
- autoprefixer ^10.4.21 development
- eslint ^9.25.0 development
- eslint-plugin-react-hooks ^5.2.0 development
- eslint-plugin-react-refresh ^0.4.19 development
- globals ^16.0.0 development
- postcss ^8.5.3 development
- tailwindcss ^3.4.17 development
- typescript ~5.8.3 development
- typescript-eslint ^8.30.1 development
- vite ^5.4.10 development
- @hookform/resolvers ^3.9.1
- @intuweb3/web-kit ^0.2.41
- @radix-ui/react-accordion 1.2.2
- @radix-ui/react-alert-dialog 1.1.4
- @radix-ui/react-aspect-ratio 1.1.1
- @radix-ui/react-avatar 1.1.2
- @radix-ui/react-checkbox 1.1.3
- @radix-ui/react-collapsible 1.1.2
- @radix-ui/react-context-menu 2.2.4
- @radix-ui/react-dialog 1.1.4
- @radix-ui/react-dropdown-menu 2.1.4
- @radix-ui/react-hover-card 1.1.4
- @radix-ui/react-label ^2.1.7
- @radix-ui/react-menubar 1.1.4
- @radix-ui/react-navigation-menu 1.2.3
- @radix-ui/react-popover 1.1.4
- @radix-ui/react-progress 1.1.1
- @radix-ui/react-radio-group 1.2.2
- @radix-ui/react-scroll-area 1.2.2
- @radix-ui/react-select 2.1.4
- @radix-ui/react-separator 1.1.1
- @radix-ui/react-slider 1.2.2
- @radix-ui/react-slot ^1.2.3
- @radix-ui/react-switch ^1.2.5
- @radix-ui/react-tabs 1.1.2
- @radix-ui/react-toast ^1.2.14
- @radix-ui/react-toggle 1.1.1
- @radix-ui/react-toggle-group 1.1.1
- @radix-ui/react-tooltip 1.1.6
- @types/node ^22.15.21
- @types/react ^18.3.22
- @types/react-dom ^18.3.7
- autoprefixer ^10.4.20
- class-variance-authority ^0.7.1
- clsx ^2.1.1
- cmdk 1.0.4
- date-fns 4.1.0
- embla-carousel-react 8.5.1
- ethers ^5.7.2
- immer latest
- input-otp 1.4.1
- lucide-react ^0.511.0
- react ^18.3.1
- react-day-picker 8.10.1
- react-dom ^18.3.1
- react-hook-form ^7.54.1
- react-markdown latest
- react-resizable-panels ^2.1.7
- recharts 2.15.0
- sonner ^1.7.1
- tailwind-merge ^3.3.0
- tailwindcss-animate ^1.0.7
- use-sync-external-store latest
- vaul ^0.9.6
- viem ^2.21.43
- vite-plugin-wasm ^3.3.0
- zod ^3.24.1
- zustand ^5.0.5
- 351 dependencies