tabletalk turns restaurants into conversations—and conversations into plans.
tabletalk is a plans-first, social dining app where restaurants are conversation starters and plans are the core unit of value. It's not a restaurant rating or food logging app. The core value is: Turn "want to try" into "let's go."
Flow: Restaurants → Tables → People → Plans
- Swipe & Discover: Swipe through restaurant recommendations powered by Yelp Fusion API
- AI-Powered Insights: Get personalized "Why This Table" explanations using Yelp AI and Groq
- Table Chat: Create and manage dining plans with friends
- Restaurant Assistant: Chat with an AI assistant that knows each restaurant intimately
- Plan Builder: Generate engaging invite messages and plan details with AI
- Smart Caching: AI responses are cached for 24 hours for better performance
- Location-Based: Find restaurants near you using device location
- Framework: React Native with Expo (~54.0.29)
- Language: TypeScript (strict mode)
- Navigation: React Navigation (Stack & Bottom Tabs)
- APIs:
- Yelp Fusion API (restaurant search & details)
- Yelp AI API (restaurant insights & Q&A)
- Groq API (LLM-powered conversations)
- Storage: AsyncStorage for local data persistence
- Location: Expo Location for geolocation services
- Node.js (v18+ recommended, v20+ ideal)
- npm or yarn package manager
- Expo Go app installed on your phone (iOS or Android)
- API keys:
- Yelp API key (Fusion API)
- Groq API key (for AI features)
-
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in the root directory:YELP_API_KEY=your_yelp_api_key_here YELP_CLIENT_ID=your_yelp_client_id_here GROQ_API_KEY=your_groq_api_key_here
Note: The
.envfile is gitignored and won't be committed to the repository. -
Start the development server
npm start
This will:
- Start the Metro bundler
- Display a QR code in your terminal
- Open Expo DevTools in your browser
-
Run on your device
- Open Expo Go app on your phone
- Scan the QR code from the terminal
- The app will load on your device with live reload
## Code Standards
- **TypeScript**: Strict mode enabled for type safety
- **Components**: Functional components with React hooks
- **Error Handling**: Comprehensive error handling with user-friendly messages
- **API Calls**: Type-safe API calls with error handling
- **Code Organization**: Modular structure with separation of concerns
- **Performance**: AI response caching to reduce API calls
## Troubleshooting
### Environment Variables Not Loading
- Ensure `.env` file exists in the root directory
- Restart the Expo server after creating/updating `.env`
- Check that variable names match exactly (no spaces around `=`)
### API Errors
- **401 Unauthorized**: Verify your API keys are correct and active
- **Rate Limits**: Yelp and Groq APIs have rate limits; cached responses help mitigate this
- **Network Errors**: Check your internet connection and API service status
### Metro Bundler Issues
- Clear cache: `npx expo start -c`
- Reset: `rm -rf node_modules && npm install`