"Shake the ball. The sky decides the answer."
EIGHT resurrects the Magic 8-Ball (1946) with actual intelligence. It combines weather data, location, time, and AI to give contextual, actionable answers. Ask a specific question? The ball flips to reveal one answer. Ask something vague? The ball dissolves into a three-card tarot spread.
- Weather-Contextual Responses: All answers consider current weather conditions
- Dual Response Types: Single answers for specific questions, three-card spreads for vague ones
- Voice & Text Input: Ask questions via speech or typing
- Shake Detection: Physical device shake or tap to trigger oracle
- Custom Tarot Cards: Eight unique cards representing life domains
- Mystical Oracle Voice: Poetic, actionable responses with weather metaphors
-
Clone and install:
git clone <your-repo-url> cd eight npm install
-
Set up environment variables:
cp .env.example .env # Add your OpenWeather API key to .env -
Run development server:
npm run dev
-
Open in browser: http://localhost:3000
- OpenWeather API: Get free key at openweathermap.org
- Used for weather data and geocoding
- Brave Search API: Get key at brave.com/search/api
- Enables real-time recommendations (restaurants, music, movies, places)
- Falls back to deterministic algorithm if not configured
- Claude API: For enhanced AI responses at console.anthropic.com
- Google Places API: For location suggestions at Google Cloud Console
| Card | Domain | Triggers |
|---|---|---|
| The Feast | EAT | "hungry", "eat", "food" |
| The Garment | WEAR | "wear", "dress", "clothes" |
| The Sound | LISTEN | "listen", "music", "podcast" |
| The Vision | WATCH | "watch", "movie", "show" |
| The Wanderer | DO | "do", "bored", "activity" |
| The Compass | GO | "go", "visit", "place" |
| The Chalice | SIP | "drink", "coffee", "tea" |
| The Hearth | STAY | "stay", "home", "cozy" |
Specific Questions (Single Answer):
- "What should I eat?" → Ball flips with food suggestion
- "What should I wear?" → Clothing guidance based on weather
- "Where should I go?" → Location recommendation
Vague Questions (Three-Card Spread):
- "I'm bored" → Three cards with different activity suggestions
- "Help me decide" → Spread covering multiple life domains
- "What should I do?" → Comprehensive guidance across domains
- Frontend: React 18 + TypeScript + Vite
- Styling: Tailwind CSS + Custom CSS
- Animations: Framer Motion
- APIs: OpenWeather, Brave Search, Browser APIs
- AI Enhancement: MCP integration ready
- Deployment: Vercel/Netlify ready
- Voice Input: Chrome, Edge, Safari (iOS 14.5+)
- Shake Detection: Mobile browsers with DeviceMotion API
- Geolocation: All modern browsers
- Fallbacks: Text input and manual shake for unsupported features
npm i -g vercel
vercel
# Set environment variables in Vercel dashboardnpm run build
# Upload dist/ folder to Netlify
# Set environment variables in Netlify dashboardMIT License - See LICENSE file for details.
- Primary: Resurrection (Magic 8-Ball reimagined)
- Bonus: Frankenstein (Weather + Voice + AI + Tarot)
Built with ❤️ using Kiro spec-driven development.