AtmosIQ is a modern, production-quality, full-stack weather intelligence and climate analytics platform. Inspired by the premium minimalism of Apple, Linear, and Vercel, AtmosIQ features full JWT authentication (with Google OAuth mock and Guest mode), interactive canvas particle weather backgrounds, dynamic Leaflet mapping overlays, zoomable Recharts trends, a Gemini-powered AI chatbot assistant, and custom report compiled downloads (PDF, Excel, CSV).
Here is a quick look at the AtmosIQ dashboard, projections, analytics, interactive map overlays, and the AI assistant:
| 📱 Dashboard | 📈 Meteorological Projections |
|---|---|
![]() |
![]() |
| 📊 Meteorological Analytics | 🗺️ Interactive Weather Map |
![]() |
![]() |
| 📜 Historical Climatic Records | 🤖 AI Atmospheric Assistant |
![]() |
![]() |
AtmosIQ uses a decoupled full-stack architecture built on clean, maintainable patterns:
┌──────────────────────┐
│ Vite React Client │ (HTML5 Canvas Background,
└──────────┬───────────┘ Recharts, Leaflet Maps)
│
HTTPS / REST / JWT
│
┌──────────▼───────────┐
│ Python Flask API │ (Routing Blueprints, Controllers)
└──────────┬───────────┘
│
┌───────────────────┼───────────────────┐
│ │ │
┌────────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ MongoDB Client │ │ OpenWeather │ │ Google Gemini │
│ (History Logs) │ │ Weather API │ │ API SDK │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- React.js & Vite (Core engine)
- Tailwind CSS (Styling styling system)
- Framer Motion (Subtle micro-animations)
- Recharts (Interactive trend line/area charts)
- React Leaflet (Map coordinates layers)
- React Icons (Feather icon sets)
- Python Flask (Controllers, services, routes, middleware, models structure)
- PyMongo (MongoDB adapter)
- PyJWT & Bcrypt (Security hashing and session validations)
- ReportLab (Binary PDF creation)
- OpenPyXL (Binary Excel spreadsheets compilation)
- Google GenerativeAI SDK (Gemini 1.5 Flash assistant integrations)
- Animated Weather Backdrops: HTML5 canvas drawing engine that renders slanted rain, snow drift, wind flurries, cloud puffs, and storm flashes matching the selected city's weather.
- Environmental Intelligence: Computes vector index ratings (Comfort Index, Running, Cycling, Photography, solar potential, driving visibility, laundry drying, and heat stress).
- AI Chatbot & Automatic Summaries: Chat box powered by Gemini with preloaded templates, and auto-generated weekly forecasts and chemical pollutant breakdowns.
- Interactive Overlays: Map controls showing street or dark base maps, and overlays (Temperature, Rain, Wind, Clouds) matching geocoded bounds.
- Data Exporter: Download customized datasets of logged records into CSV files, styled Excel worksheets, or PDF files.
- Admin Dashboard: System logs checks, active API key status flags, users count, and CPU/Memory usage indicators.
AtmosIQ/
├── backend/
│ ├── config/ # Loads environmental variables (.env)
│ ├── database/ # MongoClient ping connection
│ ├── models/ # MongoDB wrappers (User, Weather, AQI, Favorites, Reports)
│ ├── middleware/ # JWT filter and Global error captures
│ ├── utils/ # Math formulas for environmental index scores
│ ├── services/ # Weather, AQI, Gemini, report compilers, analytics
│ ├── controllers/ # Controller modules mapping actions
│ ├── routes/ # Blueprint routes mapping URLs
│ ├── .env # Backend variables
│ └── app.py # API Bootstrapper
├── client/
│ ├── public/ # PWA sw.js and manifest.json
│ ├── src/
│ │ ├── context/ # AuthContext, ThemeContext, SettingsContext
│ │ ├── components/ # WeatherBg canvas, Card panels, Skeleton lines
│ │ ├── layouts/ # DashboardLayout shell with search bar
│ │ ├── pages/ # Landing, Login, Dashboard, Forecast, Analytics, Map, AI
│ │ ├── services/ # api.js client, weatherService, aiService, reports
│ │ ├── hooks/ # useNotification local alerts
│ │ ├── main.jsx # PWA sw hook registrations
│ │ └── App.jsx # Base router
│ ├── .env # Client variables
│ ├── tailwind.config.js
│ └── postcss.config.js
└── README.md
- Python 3.8+
- Node.js 18+
- MongoDB instance (Listening on default port
27017)
Navigate to the root and install backend python requirements:
python -m pip install pymongo python-dotenv PyJWT bcrypt openpyxl pandas reportlab flask-cors google-generativeaiConfigure backend/.env:
PORT=5000
MONGO_URI=mongodb://localhost:27017/atmosiq
JWT_SECRET=atmosiq_secret_key_2026_jwt_token_auth
OPENWEATHER_API_KEY=your_openweather_api_key
GEMINI_API_KEY=your_gemini_api_key
FLASK_ENV=developmentNote: If API Keys are left blank, AtmosIQ activates Fail-Safe simulation mode generating stable, scientifically aligned weather charts and chatbot summaries.
Boot the Flask API:
python -m backend.appNavigate into client/ folder and install dependencies:
cd client
npm installConfigure client/.env:
VITE_API_URL=http://localhost:5000/apiStart the Vite development web server:
npm run dev- Live weather notifications push triggers.
- Weather timeline historical maps replay.
- Machine Learning (scikit-learn) weather predictions models.
MIT License. Created by Google Deepmind Advanced Agentic Coding team.





