A login-less, decentralized social network built on PeerPigeon with modern UI for mobile and PWA capabilities.
- No Login Required: Uses cryptographic keypairs for identity management via PeerPigeon's UnSea module
- Decentralized: Built on PeerPigeon for true peer-to-peer communication
- Mobile-First: Responsive design optimized for iOS and Android
- PWA Ready: Progressive Web App capabilities for offline usage
- Native Apps: Can be deployed as native iOS/Android apps using Capacitor
- Frontend: React 18 + TypeScript + Vite
- UI: Tailwind CSS + Framer Motion
- Mobile: Capacitor for native deployment
- Backend: PeerPigeon for decentralized storage and networking
- Identity: UnSea module for cryptographic identity generation
- Node.js 18+ and npm
- For mobile development: Xcode (iOS) or Android Studio (Android)
- Clone the repository:
git clone https://github.com/draeder/PigeonSocial.git
cd PigeonSocial- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser to
http://localhost:3000
When you first open the app:
- You'll see the welcome screen with features overview
- Click "Get Started" to create your identity
- Enter a username (required) and optional display name
- Your cryptographic keypair will be generated automatically
- Start posting and interacting!
The app automatically works as a PWA. Users can:
- Install it from their mobile browser
- Use it offline (basic functionality)
- Get native app-like experience
To build native mobile apps:
- Build the web app:
npm run build- Add mobile platforms:
npm run add:android # For Android
npm run add:ios # For iOS- Sync the web build with native projects:
npm run sync- Run on devices:
npm run android # For Android
npm run ios # For iOS- No traditional signup/login process
- Each user gets a cryptographic keypair on first use
- Public key serves as the user ID
- Private key stays local for signing messages
- Uses PeerPigeon's persistent storage layer
- Data is stored locally and synchronized peer-to-peer
- No central servers required
Currently implemented:
- ✅ User profile creation
- ✅ Post creation and viewing
- ✅ Like functionality
- ✅ Real-time feed updates
Planned features:
- 🚧 Follow/unfollow users
- 🚧 Reply to posts
- 🚧 Image/media sharing
- 🚧 Direct messaging
- 🚧 Content discovery
├── src/
│ ├── components/ # React components
│ │ ├── WelcomeScreen.tsx # First-time user onboarding
│ │ ├── MainFeed.tsx # Main social feed
│ │ ├── PostCard.tsx # Individual post display
│ │ ├── CreatePost.tsx # Post creation modal
│ │ └── LoadingScreen.tsx # Loading states
│ ├── services/
│ │ └── pigeonSocial.ts # PeerPigeon integration
│ ├── App.tsx # Main app component
│ ├── main.tsx # App entry point
│ └── index.css # Global styles
├── public/ # Static assets
├── capacitor.config.ts # Capacitor configuration
├── vite.config.ts # Vite configuration
└── tailwind.config.js # Tailwind CSS configuration
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
The signal server integration will be added in the next iteration once the core UI and PeerPigeon integration is stable.
ISC License - see LICENSE file for details