Relay16 is a modern Nostr social client that integrates AI-powered tools through DVMCP (Data Vending Machine Context Protocol) for enhanced social media experiences.
The application has been successfully set up and is ready for development. All major dependencies have been installed and configuration issues have been resolved.
- Multi-relay connections - Connect to multiple Nostr relays simultaneously
- Real-time feed - Live updates from the Nostr network
- Profile management - Create and edit your Nostr identity
- Note publishing - Compose and publish notes with rich formatting
- Social interactions - Like, reply, and repost notes
- Thread summarization - AI-powered summaries of long conversations
- Writing assistance - Get AI suggestions for improving your posts
- Content analysis - Sentiment analysis and topic extraction
- Smart hashtag generation - AI-generated relevant hashtags
- Tool discovery - Automatically discover available AI tools
- Provider management - Connect to multiple DVMCP providers
- Request tracking - Monitor AI tool usage and results
- Extensible architecture - Easy integration of new AI services
- Responsive design - Works on desktop and mobile devices
- Dark/light themes - Automatic theme switching
- Smooth animations - Framer Motion powered transitions
- Component library - Built with HeroUI and shadcn/ui
- Frontend: React 18 + TypeScript
- Styling: Tailwind CSS + HeroUI + shadcn/ui + tailwindcss-animate
- Animations: Framer Motion
- State Management: Zustand
- Nostr Protocol: nostr-tools (SimplePool API)
- AI Services: OpenRouter API
- Storage: Local Storage with Zustand persistence
- Build Tool: Vite
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd relay16- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:3000
- Go to Settings β Identity
- Generate new keys or import existing private key
- Add Nostr relays in Settings β Relays
- Get an API key from OpenRouter
- Go to Settings β AI Services
- Enter your OpenRouter API key
src/
βββ components/ # Reusable UI components
β βββ Layout.tsx # Main app layout
β βββ ui/ # shadcn/ui components
βββ pages/ # Main application pages
β βββ Feed.tsx # Social feed β
β βββ Profile.tsx # User profiles (needs fixes)
β βββ Compose.tsx # Note composition β
β βββ Tools.tsx # AI tools interface (needs fixes)
β βββ Settings.tsx # App settings (needs fixes)
βββ hooks/ # Custom React hooks
β βββ useNostr.ts # Nostr protocol integration β
β βββ useDVMCP.ts # DVMCP tool integration β
βββ stores/ # Zustand state stores
β βββ nostr.ts # Nostr state management β
β βββ dvmcp.ts # DVMCP state management β
β βββ ai.ts # AI services state β
βββ services/ # External service integrations
β βββ ai.ts # OpenRouter AI service β
βββ types/ # TypeScript type definitions
β βββ nostr.ts # Nostr protocol types β
β βββ dvmcp.ts # DVMCP types β
β βββ ai.ts # AI service types β
βββ lib/ # Utility functions
β βββ utils.ts # Common utilities β
βββ App.tsx # Main application component β
- Basic project setup and configuration
- Dependency management and build system
- Core TypeScript types and interfaces
- Nostr protocol integration with SimplePool
- AI service integration foundation
- Basic UI components and layout
- Feed and Compose pages
- Profile page (missing some hook methods)
- Tools page (DVMCP store property mapping)
- Settings page (some missing store properties)
- Complete DVMCP provider integration
- Advanced Nostr features (DMs, follows)
npm run dev- Start development server βnpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
- Complete Missing Store Properties: Add missing properties to stores for Profile, Tools, and Settings pages
- Implement Real DVMCP Integration: Replace mock data with actual DVMCP provider discovery
- Add Advanced Nostr Features: Implement DMs, follows, and advanced relay management
- Enhance UI/UX: Add more polished animations and responsive design improvements
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Uses SimplePool from nostr-tools for efficient multi-relay management
- Proper key management with Uint8Array conversion for cryptographic operations
- Event signing and publishing with finalizeEvent
- Zustand for lightweight, TypeScript-friendly global state
- Persistent storage for user data and preferences
- Reactive updates across all components
- OpenRouter API integration for multiple AI model access
- DVMCP protocol foundation for decentralized AI tool discovery
- Modular service architecture for easy extension
- Port 3000 already in use: Change port in
vite.config.tsor kill existing process - Module resolution errors: Ensure all dependencies are installed with
npm install - TypeScript errors: Run
npm run type-checkto identify and fix type issues
All major dependencies are installed and configured:
- React ecosystem (React, React-DOM, React Router)
- UI libraries (HeroUI, Tailwind CSS, Framer Motion)
- Nostr tools and cryptographic libraries
- Development tools (Vite, TypeScript, ESLint)
This project is licensed under the MIT License - see the LICENSE file for details.
- Nostr Protocol - Decentralized social protocol
- OpenRouter - AI model API aggregation
- HeroUI - React component library
- shadcn/ui - Component collection
- Framer Motion - Animation library
Relay16 - Bridging social media and AI for the decentralized future.
π Ready to develop! Start with npm run dev and navigate to http://localhost:3000