原始内容
WONDER - WONDER Together
A philosophical conversation platform where curious minds explore ideas together—from casual questions to deep debates. Built with Next.js 15, Supabase, and Gemini AI.
Features
- Philosophical Conversations: Engage in multi-round discussions on ethics, AI, existence, and more
- AI Facilitation: Gemini 2.5 Flash helps synthesize key points and areas of agreement
- Multiple Perspectives: Share and explore diverse viewpoints collaboratively
- Fact Checking: AI-powered fact checking for claims in conversations
- Community: Connect with curious thinkers in meaningful dialogue
Tech Stack
- Frontend: Next.js 15 (App Router), TypeScript, Tailwind CSS
- Backend: Supabase (PostgreSQL + Auth + Real-time)
- AI: Google Gemini 2.5 Flash
- Deployment: Vercel
Getting Started
Prerequisites
- Node.js 18+
- Supabase account
- Google AI Studio API key (for Gemini)
- Vercel account (for deployment)
Installation
- Clone the repository:
git clone https://github.com/nickloveinvesting/wonder-app.git
cd wonder-app
- Install dependencies:
npm install
- Set up environment variables:
Create a
.env.localfile with:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
GEMINI_API_KEY=your_gemini_api_key
Run Supabase migrations:
- Go to your Supabase dashboard
- Navigate to SQL Editor
- Copy and paste the content from
supabase/migrations/20250113_init.sql - Execute the query
Run the development server:
npm run dev
Database Schema
- profiles: User profiles with influence scores and interests
- conversations: Conversation topics and status
- conversation_messages: Individual perspectives in conversations
- message_feedback: Community signals and AI synthesis
How It Works
- User starts a conversation on any philosophical topic
- Multiple participants join to share perspectives
- All contribute multiple rounds of thoughtful dialogue
- Optionally request AI synthesis to:
- Summarize key points from all contributors
- Identify areas of agreement and productive disagreements
- Highlight unresolved questions
- Build influence through thoughtful participation and collaboration
- Explore ideas from casual questions to rigorous debates
Deployment
Deploy to Vercel
- Push your code to GitHub
- Import project in Vercel
- Add environment variables in Vercel dashboard
- Deploy!
Or use the Vercel CLI:
vercel --prod
Project Structure
app/
├── api/synthesize/ # AI synthesis API endpoint
├── auth/ # Authentication pages (login/signup)
├── (authenticated)/
│ ├── debates/ # Conversation pages (list, create, detail)
│ ├── discuss/ # Perspective sharing
│ ├── leaderboard/ # Contributors page
│ └── profile/ # User profiles
├── globals.css # Global styles
├── layout.tsx # Root layout
└── page.tsx # Home page
lib/
├── supabase/ # Supabase client utilities
├── gemini.ts # Gemini AI integration
└── database.types.ts # Database TypeScript types
supabase/
└── migrations/ # Database migration files
Brand Colors
- Primary: Teal-500 (#14b8a6) - Thoughtful, collaborative
- Accent: Slate-700 (#334155) - Intellectual depth
- Background: Stone-50 to White gradient
Contributing
This is an MVP. Contributions welcome!
License
MIT
Contact
For questions or feedback, open an issue on GitHub.
Built with Claude Code