A modern, responsive AI chat application that leverages multiple state-of-the-art language models through OpenRouter's API. With a Live Weather Widget powered by an MCP server built from scratch. Tech Stack: Html, Css, TypeScript, Vite, and Tailwind CSS.
-
Multi-Model Support: Seamlessly switch between different AI models:
- Meta Llama 3 70B
- Google Gemma 3 12B
- DeepSeek R1 0528
- Mistral Small 24B
- OpenAI GPT-OSS 20B
-
Real-time Streaming: Experience instant responses with streaming text output
-
Modern UI/UX:
- Responsive design for all devices
- Beautiful gradient backgrounds
- Animated UI elements
- Dark mode optimized
-
Developer Experience:
- TypeScript for type safety
- Vite for fast development
- Tailwind CSS for styling
- Environment variable support
-
Live Weather Widget: Real-time weather information for your current or selected city, powered by the MCP server and Open-Meteo API. The widget is always visible at the bottom-right of the app.
- Frontend Framework: Vite
- Language: TypeScript
- Styling: Tailwind CSS
- AI Integration: OpenRouter API
- Build Tools: Vite
- Package Manager: npm/yarn
- Weather Integration:
- MCP Server: Handles weather data requests and validation
- Weather API: Open-Meteo API for geocoding and weather forecasts
- Validation: Zod for runtime API response validation
- UI: Weather widget with animated, responsive design, always visible at the bottom-right
- Clone the repository:
git clone https://github.com/yourusername/echobot-ai-app.git
cd echobot-ai-app- Install dependencies:
npm install- Create a
.envfile in the root directory:
VITE_OPENROUTER_KEY=your_openrouter_api_key- Start the development server:
npm run dev- Select your preferred AI model from the dropdown
- Type your question in the input field
- Click the send button or press Enter
- Watch as the AI responds in real-time
- The weather widget automatically fetches your location (with permission) and displays current weather for your city.
- You can change the city using the widget's interface.
- Weather data is fetched via the MCP server, which validates responses for safety and reliability.
- The widget is always accessible at the bottom-right of the app.
The application is fully responsive and optimized for:
- Desktop browsers
- Tablets
- Mobile devices
- API keys are stored securely in environment variables
- No sensitive data is stored locally
- HTTPS support for secure communication
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenRouter for providing access to various AI models
- Vite team for the amazing build tool
- Tailwind CSS team for the utility-first CSS framework
Made with ❤️ by Martha M. Nieto