A next-gen AI-powered weather assistant that provides real-time weather insights, intelligent weather forecasting, and interactive chatbot support using Google's Gemini AI and advanced data visualization.
- Real-Time Weather Data β Get up-to-date weather details for any location.
- AI-Powered Insights β Smart weather analysis using Google Gemini AI.
- Nimbus AI Chatbot β A context-aware AI assistant that provides instant, human-like weather updates.
- Interactive Weather Visualizations β Stunning charts and graphs powered by Chart.js & Recharts.
- Automated Weather Alerts β Get email notifications for extreme weather conditions.
- Seamless UI & UX β Built with Tailwind CSS and enhanced by Framer Motion animations.
- Secure & Scalable β Uses modern development tools and best practices.
All pages and components are accessible through the main route (/) and dynamically rendered based on user interactions.
Nimbus AI isnβt just a chatbotβitβs a smart conversational AI designed to provide accurate, real-time weather insights in a natural, human-like manner. Whether you need a quick forecast, safety recommendations, or weather comparisons, Nimbus AI delivers context-aware responses using Google Gemini AI and a specialized weather dataset.
β
Instant Weather Updates β Ask about any city's weather, and get detailed reports instantly.
β
Weather-Based Safety Tips β Get AI-generated advice on how to stay safe in extreme conditions.
β
Location-Aware Assistance β Understands regional weather patterns and adapts its responses accordingly.
β
Predictive Insights β Uses AI-driven analysis to forecast potential severe weather changes.
- React 19 β Frontend framework
- Vite β Fast development environment
- Tailwind CSS 4.0 β Modern UI framework
- OpenWeather API β Real-time weather data
- Google Gemini AI β AI-powered weather predictions
- OpenStreetMap API β Map-based weather visualization
- Brevo API β Email notification service
- React ChartJS 2 β Interactive weather analytics
- Recharts β Advanced weather graphing
- ChartJS Data Labels Plugin β Enhanced visualization
- Heroicons β Beautiful icons
- Framer Motion β Smooth animations
- Lodash β Utility functions for optimized performance
- MongoDB β Database for storing weather alerts & user data
- Node.js & Express β Backend for handling requests
Before running the project, ensure you have:
- Node.js (v14 or higher)
- npm or yarn installed
- OpenWeather API key (for weather data retrieval)
- Google Gemini AI API key (for AI-based predictions)
- MongoDB URI (for database connection)
- Brevo API Key (for email notifications)
- Sender Email & Name (for email notifications)
-
Clone the repository:
git clone https://github.com/yourusername/Weather-Alert-Nimbus-AI.git cd Weather-Alert-Nimbus-AI -
Install dependencies:
npm install # or yarn install -
Set up environment variables:
- Create a
.envfile in the root directory. - Add the following keys:
VITE_OPENWEATHER_API_KEY=your_openweather_api_key VITE_GEMINI_AI_API_KEY=your_gemini_api_key MONGODB_URI=your_mongodb_uri BREVO_API_KEY=your_brevo_api_key SENDER_EMAIL=your_sender_email SENDER_NAME=your_sender_name
- Create a
-
Run the development server:
npm run dev # or yarn dev -
Open in browser:
- Visit
http://localhost:5173/to view the application.
- Visit
Nimbus AI automatically checks weather conditions daily at 8:00 AM for all subscribed users and sends email alerts if extreme weather conditions are detected.
- Fetches weather data from OpenWeather API for each subscriberβs location.
- Analyzes conditions based on thresholds for extreme rain, storms, wind, and more.
- Sends email alerts using Brevo API to notify users of dangerous weather conditions.
- Backend: Node.js & Express
- Database: MongoDB (stores user subscriptions)
- Email Service: Brevo API for sending alerts
- Scheduler: Runs daily weather checks and alerts subscribers
Contributions are welcome! Feel free to submit a pull request or open an issue.






