🎯 Your AI-Powered Pickup Line Generator - Turn any situation into smooth conversation starters!
ShAI is a modern web application that generates creative, witty, and charming pickup lines using the latest AI technology. Powered by Claude 3.5 Haiku for lightning-fast, creative responses, ShAI turns any situation into smooth conversation starters!
- 🤖 AI-Powered Generation: Uses Claude 3.5 Haiku (latest model) or local Ollama models
- 🎤 Voice Input: Speech-to-text support for hands-free operation
- 📱 Modern UI: Responsive design that works on all devices
- 🌙 Dark Mode: Automatic dark/light mode based on system preferences
- 📋 Easy Sharing: Copy and share pickup lines instantly
- ⚡ Fast & Reliable: Quick response times with fallback options
- 🔒 Privacy-First: Your conversations stay private
- 🚀 Auto-Initialization: Automatic setup for Namecheap shared hosting
Choose your preferred setup method:
Perfect for trying out ShAI without any API keys!
# 1. Clone and setup
git clone <your-repo-url>
cd ShAI
python deploy.py --local
# 2. Start the app
python app.py
# 3. Visit http://localhost:5000For deploying to shared hosting like Namecheap:
# 1. Setup for production
python deploy.py --production
# 2. Get your Claude API key from https://console.anthropic.com/
# 3. Add it to your .env file
# 4. Upload to your hosting provider- Input Your Situation: Describe where you are or what you're interested in
- Choose Your Method: Type directly or use voice input (click the microphone)
- Get AI-Generated Lines: ShAI creates 3-5 personalized pickup lines
- Copy & Use: Click any line to copy it to your clipboard
- Share the Fun: Use the share button to spread the charm!
Perfect for testing and development. Uses Ollama to run AI models locally.
Requirements:
- Python 3.8+
- Ollama installed
Steps:
# 1. Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh # macOS/Linux
# or download from ollama.ai for Windows
# 2. Download AI model
ollama serve
ollama pull llama2
# 3. Setup ShAI
python deploy.py --local
python app.py
# 4. Open http://localhost:5000Production Deployment (Namecheap Shared Hosting) Deploy to the web using Claude 3.5 Haiku API with automatic initialization.
Requirements:
- Namecheap shared hosting account
- Claude API key from Anthropic
Steps:
# 1. Auto-setup for Namecheap (recommended)
python namecheap_init.py
# 2. Or manual setup
python deploy.py --production
# 3. Get Claude API key and add to .env file
CLAUDE_API_KEY=your-api-key-here
# 4. Upload files via FTP/SFTP to your hosting account
# 5. The enhanced passenger_wsgi.py will auto-initialize everything!Auto-Initialization Features:
- Automatically detects Namecheap hosting environment
- Installs missing dependencies
- Sets proper file permissions
- Creates necessary directories
- Provides detailed error diagnostics
Coffee Shop Scenario:
Input: "I'm at a coffee shop and there's someone reading a book"
ShAI generates: "Are you a book? Because I can't put you down, and I'd love to know your story."
General Conversation:
Input: "I want something funny and lighthearted"
ShAI generates: "Are you Wi-Fi? Because I'm really feeling a connection."
Voice Input:
Just click the microphone and say: "I'm at the gym and need something fitness-related"
ShAI/
├── app.py # Main Flask application
├── wsgi.py # WSGI configuration
├── passenger_wsgi.py # Namecheap hosting configuration
├── deploy.py # Automated deployment script
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
├── templates/ # HTML templates
│ ├── index.html # Main application interface
│ ├── 404.html # Error page
│ └── 500.html # Server error page
├── static/ # Static assets
│ ├── css/ # Stylesheets (embedded in HTML)
│ └── js/ # JavaScript files
│ └── app.js # Main application logic
└── SETUP.md # Detailed setup instructions
Local Development (.env):
USE_LOCAL=true
OLLAMA_URL=http://localhost:11434
DEBUG=true
SECRET_KEY=your-local-secretProduction (.env):
USE_LOCAL=false
CLAUDE_API_KEY=your-claude-api-key
DEBUG=false
SECRET_KEY=your-production-secret- Styling: Edit the CSS in
templates/index.html - AI Prompts: Modify prompts in
app.py - Models: Change Ollama models in the configuration
- Features: Add new endpoints or functionality as needed
GET /- Main application interfacePOST /generate- Generate pickup lines APIGET /health- Health check endpointGET /404- Custom 404 pageGET /500- Custom error page
API Example:
curl -X POST http://localhost:5000/generate \
-H "Content-Type: application/json" \
-d '{"input": "I am at a coffee shop"}'- API Key Protection: Environment variables keep keys secure
- Input Validation: XSS protection and sanitization
- No Data Storage: Conversations aren't saved or logged
- HTTPS Ready: SSL/TLS support for production deployments
- Chrome: Full support (including voice recognition)
- Firefox: Full support (including voice recognition)
- Safari: Basic support (limited voice features)
- Mobile: Responsive design works on all devices
- Dark Mode: Automatic based on system preferences
Common Issues:
- "Connection refused": Make sure Ollama is running (
ollama serve) - "API Key Invalid": Check your Claude API key and account credits
- Voice not working: Use HTTPS and allow microphone permissions
- Slow responses: Try a smaller Ollama model like
mistral
Getting Help:
- Check the detailed SETUP.md guide
- Verify your
.envconfiguration - Test with
python deploy.py --check - Check browser console for JavaScript errors
- SETUP.md - Comprehensive setup guide
- Flask Documentation - Web framework docs
- Ollama Documentation - Local AI model docs
- Claude API - Cloud AI docs
ShAI started as a fun project and we welcome improvements! Whether it's:
- 🐛 Bug fixes
- ✨ New features
- 📚 Documentation improvements
- 🎨 UI/UX enhancements
- 🧪 Tests and quality improvements
This project is open source and available under the MIT License.
- AI Models: Claude 3.5 Haiku (Anthropic) and Ollama community models
- Framework: Flask (Python web framework)
- Inspiration: Born from a joke in science class, evolved into something actually useful!
Ready to create some smooth conversation starters? 🚀❤️
Quick Start Options:
- Local:
python deploy.py --local - Namecheap:
python namecheap_init.py(auto-setup!) - Other hosting:
python deploy.py --production
Remember: Great pickup lines are just conversation starters - your personality does the rest! 😉