The future of group decision-making
Plan events together, vote with style, discover amazing local experiences.
A modern group decision-making platform that makes planning activities with friends effortless and fun. No more endless group chats trying to decide where to go!
- π³οΈ Smart Group Voting - Choose between single-card or multi-card carousel interfaces
- π¬ Multiple Voting Styles - Single-card focus OR multi-card carousel preview
- π Real Event Discovery - Live events from Eventbrite, Meetup, and local APIs
- π± Mobile-First Design - Responsive interface that works everywhere
- β‘ Real-Time Results - See votes update instantly across all devices
- π― Location-Based - Find events and activities near you
- π Gamification - Points, achievements, and streaks for active voters
- π€ AI Recommendations - Learns your preferences over time
Prerequisites: Python 3.8+ and Node.js 16+
# Clone the repository
git clone https://github.com/rtavarezz/choosy.git
cd choosy
# Launch everything with one command! π
python3 start_choosy.pyThat's it! The script will:
- β Check all dependencies
- π¦ Set up virtual environments
- π§ Install Python and Node.js packages
- ποΈ Initialize the SQLite database
- π Start both backend and frontend servers
- π Show beautiful colored progress updates
Open your browser:
- π Frontend: http://localhost:3000 (main app)
- π Backend API: http://localhost:8000 (API docs)
Click to expand manual setup instructions
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python init_sqlite.py # Initialize database
python start_server.py # Start backendcd frontend
npm install
npm run devChoosy works out of the box with mock data, but for real live events, get these free API keys:
# Backend environment (for API keys)
cp backend/main.env.example backend/main.env
# Frontend environment (for local development)
cp frontend/.env.example frontend/.env.localEventbrite API (Recommended - Global Events)
- Get it: https://www.eventbrite.com/platform/api-keys
- Free: 10,000 requests/day
- Add to
backend/main.env:EVENTBRITE_API_KEY=your_key_here
Unsplash API (For Beautiful Event Images)
- Get it: https://unsplash.com/developers
- Free: 1,000 requests/hour
- Add to
backend/main.env:UNSPLASH_ACCESS_KEY=your_key_here
Optional APIs (for more event sources):
- Meetup: https://www.meetup.com/api/
- Ticketmaster: https://developer.ticketmaster.com/
Note: Without API keys, Choosy uses local mock data and placeholder images. Perfect for testing and development!
- Create a Plan - Choose your vibe: nightlife, food, concerts, adventures, etc.
- Invite Friends - Share a simple link, no account required
- Swipe to Vote - Everyone swipes right (β€οΈ) or left (β) on activities
- See Results - Real-time winner with booking integration
Port already in use?
# Kill processes on ports 3000 and 8000
lsof -ti:3000 | xargs kill -9
lsof -ti:8000 | xargs kill -9Python/Node.js not found?
- Install Python 3.8+: https://python.org/downloads/
- Install Node.js 16+: https://nodejs.org/download/
Permission errors on macOS/Linux?
chmod +x start_choosy.py
chmod +x launch.shStill having issues?
- Check
choosy-backend.logandchoosy-frontend.logfor error details - Open an issue with your error logs
- Frontend: Next.js 14, TypeScript, Tailwind CSS, Framer Motion
- Backend: FastAPI, SQLAlchemy, SQLite/PostgreSQL
- Real-time: WebSockets, Redis caching
- APIs: Eventbrite, Meetup, Ticketmaster, Unsplash
- Deployment: Docker, Vercel, Railway
- β MVP Complete - Full end-to-end functionality
- β Mobile Responsive - Works on all devices
- β Real-time Voting - Live updates across browsers
- β Event Integration - Live API data
- π§ Authentication - Phone verification (optional)
- π§ Push Notifications - Vote reminders
- π AI Recommendations - Learning user preferences
We'd love your help! Please read our CONTRIBUTING.md for:
- Code contribution guidelines
- Legal requirements (CLA)
- Development standards
- Community guidelines
Found a security issue? Please review our Security Policy for responsible disclosure.
MIT License - see LICENSE file for details.
Built with β€οΈ by rtavarezz
Making group decisions fun again!