Pictagories is an engaging daily word game that challenges players to think creatively within categories. Each day brings a new category, and players submit words that fit the theme. Our AI-powered validation system (using OpenAI GPT-4o) ensures fair and intelligent word acceptance, making each game dynamic and fun.
- ๐ฏ Daily Categories - New challenge every day
- ๐ค AI Validation - Smart word validation using GPT-4o
- ๐ Leaderboards - Compete with friends and global players
- ๐ฑ Mobile Optimized - Play anywhere, anytime
- ๐จ Dynamic Visuals - AI-generated category images with DALL-E 3
- ๐ Composite Images - Celebrate your words with custom generated art
- โก Real-time Updates - Instant feedback on your submissions
- ๐ฎ Simple Multiplayer - Name-based authentication for quick games
- Node.js 18+ installed
- OpenAI API key (Get one here)
- Clone the repository
git clone https://github.com/yourusername/pictagories.git
cd pictagories- Install dependencies
npm install- Set up environment variables
cp .env.example .env
# Edit .env and add your OpenAI API key- Start the development server
npm run dev- Open your browser
Navigate to
http://localhost:5000
- Enter your name - No registration required!
- See today's category - Example: "Things you'd take on a camping trip"
- Submit words - Type words that fit the category
- Get instant feedback - AI validates if your word fits
- Score points - Valid words earn you points
- Click "I'm Done" - Generate a celebratory image with your words
- Check the leaderboard - See how you rank against others
- React 18 - UI framework
- TypeScript - Type safety
- Tailwind CSS - Styling
- Vite - Build tool
- TanStack Query - Data fetching
- Wouter - Routing
- shadcn/ui - Component library
- Express.js - Web server
- TypeScript - Type safety
- OpenAI API - Word validation & image generation
- In-memory storage - Fast development (easily replaceable with database)
- GPT-4o - Intelligent word validation
- DALL-E 3 - Dynamic image generation
pictagories/
โโโ client/ # Frontend React application
โ โโโ src/
โ โ โโโ components/ # Reusable UI components
โ โ โโโ pages/ # Page components
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ lib/ # Utilities and types
โโโ server/ # Backend Express server
โ โโโ services/ # External service integrations
โ โ โโโ openai.ts # OpenAI API integration
โ โโโ routes.ts # API endpoints
โ โโโ storage.ts # Data persistence layer
โโโ shared/ # Shared types and schemas
โ โโโ schema.ts # Data models
โโโ public/ # Static assets
# Required
OPENAI_API_KEY=sk-... # Your OpenAI API key
# Optional
PORT=5000 # Server port (default: 5000)
NODE_ENV=development # Environment (development/production)Categories are rotated daily. To add or modify categories, edit the category list in server/storage.ts:
const categories = [
"Things you'd take on a camping trip",
"Items found in a kitchen",
"Types of transportation",
// Add more categories here
];See API.md for complete API documentation.
# Create/get player
curl -X POST http://localhost:5000/api/players \
-H "Content-Type: application/json" \
-d '{"name": "Alice"}'
# Submit a word
curl -X POST http://localhost:5000/api/words/submit \
-H "Content-Type: application/json" \
-d '{
"word": "tent",
"category": "Things you'd take on a camping trip",
"playerId": "uuid"
}'
# Get leaderboard
curl http://localhost:5000/api/game/leaderboardSee DEPLOYMENT.md for detailed deployment instructions.
- Fork this repl or import from GitHub
- Add
OPENAI_API_KEYin Secrets - Click the Deploy button
- Your app is live!
We welcome contributions! Please see CONTRIBUTING.md for details.
- ๐ Report bugs
- ๐ก Suggest new features
- ๐ Improve documentation
- ๐จ Submit UI/UX improvements
- ๐ Add translations
- โก Optimize performance
- User accounts with persistent stats
- Custom game rooms
- Timer-based challenges
- Achievement system
- Social sharing features
- Category suggestions by users
- Multi-language support
- WebSocket for real-time updates
- Mobile app (React Native)
- Composite image generation may take a few seconds
- Category images are cached for 24 hours
- In-memory storage resets on server restart (use database for production)
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT-4o and DALL-E 3 APIs
- shadcn for the beautiful UI components
- Tailwind CSS for the styling system
- The React and TypeScript communities
- ๐ง Email: support@pictagories.com
- ๐ฌ Discord: Join our server
- ๐ฆ Twitter: @pictagories
If you enjoy Pictagories, please โญ this repository!
