AI-powered customer support chatbot with web UI and feedback system.
✅ Modern Chat Interface - Clean, ChatGPT-style UI with Klaviyo branding ✅ Real-time Responses - Powered by Claude AI (Anthropic) ✅ Feedback System - Thumbs up/down on each response ✅ Responsive Design - Works on desktop and mobile ✅ Typing Indicators - Visual feedback while agent is thinking
pip install -r requirements.txtCopy .env.example to .env and add your Anthropic API key:
ANTHROPIC_API_KEY=your_api_key_herepython app.pyThen open your browser to: http://localhost:3000
python main.py- Start the server:
python app.py - Open http://localhost:5000 in your browser
- Type your question and press Enter (or click the send button)
- View the agent's response
- Provide feedback with 👍 or 👎 buttons
- Klaviyo Branding: Teal/green color scheme (#1DB393)
- Smart Formatting: Supports line breaks and basic markdown
- Auto-resize: Text input grows as you type
- Keyboard Shortcuts:
- Enter to send
- Shift+Enter for new line
├── app.py # Flask web server
├── main.py # CLI version
├── agent/ # Agent orchestrator logic
├── subagents/ # Specialized agent modules
├── tools/ # Tool implementations
├── templates/ # HTML templates
│ └── index.html # Main chat UI
└── static/ # Static assets
├── style.css # Klaviyo-branded styles
└── script.js # Chat functionality
Send a message to the agent.
Request:
{
"message": "How do I create a campaign?"
}Response:
{
"response": "To create a campaign...",
"status": "success"
}Submit feedback on a response.
Request:
{
"message_id": "msg-1",
"feedback": "up",
"message": "User's question",
"response": "Agent's response"
}To run in development mode with auto-reload:
export FLASK_ENV=development
python app.py- Backend: Flask (Python web framework)
- AI: Anthropic Claude API
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Styling: Custom CSS with Klaviyo branding
Internal use only - Klaviyo organization