Get the Solarpunk Utopia Platform running in 5 minutes!
- Node.js 18+ installed
- Modern web browser (Chrome, Firefox, Edge, Safari)
# Clone or navigate to project directory
cd solarpunk_utopia_project
# Install dependencies (if not already done)
npm install# Start development server
npm run devOpen your browser to: http://localhost:3000/
When you open the app for the first time, you'll see the identity setup screen.
Fill in:
- Display Name: How you want to be known (e.g., "Alice")
- Passphrase: To protect your identity (min 8 characters)
- Confirm Passphrase: Type it again
Click "Create Identity"
The app generates a decentralized identifier (DID) for you:
- Format:
did:key:z6Mkh... - No email or phone required
- You control it completely
- Portable across communities
You're now ready to:
- Add resources to share
- Post needs
- Offer skills
- Export your data
- Click "Resources" tab
- Click "+ Add Resource"
- Fill in:
- Name (e.g., "Garden Shovel")
- Description
- Type (tool, equipment, space, etc.)
- Share mode (give, lend, or share)
- Location (optional)
- Click "Add Resource"
- Click "Needs" tab
- Click "+ Post Need"
- Describe what you need
- Set urgency level
- Click "Post Need"
- Click "Skills" tab
- Click "+ Offer Skill"
- Name your skill
- Describe it
- Add categories (comma-separated)
- Click "Offer Skill"
- Open DevTools (Press F12)
- Go to Network tab
- Check "Offline" checkbox
- Use the app normally
- All features still work!
- All data stored locally (IndexedDB)
- No degradation of functionality
- Changes sync when you go back online
- Backup your identity
- Move to a new device
- Share with another community
- Data sovereignty!
- Go to "Community" tab
- Under "Data Sovereignty":
- Export as JSON - All data, human-readable
- Export Resources CSV - Spreadsheet format
- Download Backup - Full binary backup
- Under "Your Identity":
- Export Identity - Your identity for backup
- Go to "Community" tab
- Click "Import Data" button
- Select a JSON or binary backup file
- Data is restored!
(Feature available in Identity menu)
- Have your identity export JSON file
- Import it with your passphrase
- All your profile data restored
- Open the app in two browser tabs
- Add data in one tab
- It appears in the other tab instantly!
- Uses BroadcastChannel API
- Go to "Community" tab
- Click "Discover Peers (Bluetooth)"
- Grant Bluetooth permission
- Nearby devices with the app will appear
- Data syncs automatically!
Note: Bluetooth Web API support varies by browser/platform
/
βββ src/
β βββ core/ β Database and app management
β βββ identity/ β DID and identity
β βββ auth/ β Authentication
β βββ privacy/ β Privacy controls
β βββ crypto/ β Encryption
β βββ network/ β Mesh networking
β βββ export/ β Data export/import
β βββ types/ β TypeScript types
β βββ ui/ β Styles
β
βββ public/ β Static assets
βββ index.html β Application shell
βββ vite.config.ts β Build config
# Development server
npm run dev
# Run tests
npm test
# Build for production
npm run build
# Preview production build
npm run preview
# TypeScript check
npx tsc --noEmit# Use a different port
npm run dev -- --port 3001- Open DevTools (F12)
- Go to Application > Storage
- Click "Clear storage"
- Refresh page
If you lost your passphrase:
- No recovery possible (by design)
- Create a new identity
- This ensures security and sovereignty
- Check that devices are on same network
- Verify Bluetooth/WiFi permissions
- Check browser console for errors
- Edit files in
src/ - Save
- Browser auto-refreshes (hot reload)
See DEVELOPER_GUIDE.md for:
- Code structure
- Database operations
- Adding new types
- Best practices
- INTEGRATION_COMPLETE.md - What's been built
- PHASE_1_INTEGRATION.md - Technical details
- DEVELOPER_GUIDE.md - Development workflow
- README.md - Project vision
- ROADMAP.md - Future features
Everything works without internet:
- Read and write data
- Full functionality
- No "degraded mode"
Data lives on your device:
- Fast operations
- Privacy by design
- You own it
Magic synchronization:
- Multiple people edit
- No conflicts
- Automatic merging
- Eventual consistency
Your identity, your control:
- No central authority
- Cryptographic proofs
- Portable everywhere
- No phone/email needed
Solarpunk Values:
- Community over profit
- Privacy by default
- User sovereignty
- Offline resilience
- Accessible to all
- Liberation, not extraction
The Emma Goldman Test:
"Does this increase community autonomy, or create new dependencies?"
Every feature is designed to increase autonomy.
- Read DEVELOPER_GUIDE.md
- Check ROADMAP.md for features
- See PHASE_1_INTEGRATION.md for technical details
Press F12 and check Console tab for:
- Initialization logs
- Error messages
- Debug information
- Bluetooth Web API: Limited browser support
- WiFi Direct: Not yet standardized
- Meshtastic: Requires hardware device
You're now running Phase 1 (complete):
- β Offline-first database
- β Decentralized identity
- β Privacy controls
- β Mesh networking foundation
Coming Soon (Phase 2):
- Community check-ins
- Care circles
- Resource matching
- Gratitude wall
See ROADMAP.md for the full plan!
The platform is now running on your machine:
- Completely offline-capable
- Privacy-preserving
- User-controlled
- Ready for community building
Start sharing resources, posting needs, and building mutual aid!
We are building the new world in the shell of the old. β