NASA Space Apps Challenge 2025 — Grand Finalist
A hyper-local, personalised weather intelligence app that goes beyond standard forecasts. ChronoClime uses the ACIS (Activity-Centric Impact Score) — a custom 1–10 risk metric — to help you plan activities around weather, not around raw numbers.
Built with React + TypeScript + Vite, with optional ESP8266 IoT gateway integration for hardware-based location input.
Standard weather apps tell you it's 28°C and partly cloudy. ChronoClime tells you whether that day is a 9/10 for cycling or a 3/10 for a picnic — and why. It combines temperature, wind, precipitation, humidity, UV, and AQI into a single, activity-specific score, then finds your Optimal Day across the forecast window automatically.
- ACIS Scoring — personalised 1–10 weather suitability score per activity
- Optimal Day Finder — automatically identifies the best day for your planned activity
- Activity Planner — supports trekking, cycling, photography, beach days, camping, picnics, and more
- AI Weather Chatbot — context-aware assistant for weather queries
- Living Forecast — animated, real-time forecast with dynamic weather backgrounds
- ESP8266 IoT Gateway — optional hardware integration for GPS-based location input
- Satellite Connection Animation — visual feedback for IoT data sync
- Favourites & Notifications — save locations and receive weather alerts
- Share — share forecasts and activity plans
| Layer | Tech |
|---|---|
| Frontend | React 18 · TypeScript · Vite · Tailwind CSS |
| Animation | Framer Motion |
| Maps | Leaflet · React-Leaflet |
| Weather API | OpenWeatherMap API |
| IoT Hardware | ESP8266 (NodeMCU) · Arduino |
| Backend Sync | Google Apps Script · Google Sheets |
| Database | Supabase |
| HTTP | Axios |
ChronoClime/
├── src/
│ ├── components/ # UI components
│ │ ├── ACISResults # ACIS score display
│ │ ├── ActivityPlanner # Activity selection & planning
│ │ ├── ChatBot # AI weather assistant
│ │ ├── DayDetail # Detailed day view
│ │ ├── ESP8266Status # IoT connection status
│ │ ├── LivingForecast # Animated forecast view
│ │ ├── LocationInput # Location search
│ │ └── ...
│ ├── services/ # API & data services
│ │ ├── weatherService # OpenWeatherMap integration
│ │ ├── aiService # AI chatbot service
│ │ ├── esp8266Service # IoT gateway service
│ │ └── ...
│ └── utils/
│ ├── weatherData # Data models & ACIS logic
│ └── chatbot # Chatbot context utilities
├── public/videos/ # Weather background videos
├── esp8266_weather_gateway.ino # Arduino firmware
├── google-apps-script.js # Google Sheets sync script
└── ESP8266_SETUP_GUIDE.md # IoT hardware setup
- Node.js v18+
- npm
- OpenWeatherMap API key (free at openweathermap.org)
- (Optional) ESP8266 NodeMCU board for IoT mode
git clone https://github.com/Ankitnotnani/ChronoClime.git
cd ChronoClimenpm installCreate a .env file in the root directory:
VITE_OPENWEATHER_API_KEY=your_openweathermap_api_key_hereNever commit your
.envfile — it's already in.gitignore.
npm run devOpen http://localhost:5173 in your browser.
ChronoClime supports an ESP8266 NodeMCU as a hardware weather gateway for GPS-based location input.
See ESP8266_SETUP_GUIDE.md for full setup instructions.
Quick overview:
- Open
esp8266_weather_gateway.inoin Arduino IDE - Update WiFi credentials in the sketch before uploading
- Upload to your NodeMCU board
- Update the ESP8266 IP address in
src/services/esp8266Service.ts - Start the webapp — the satellite connection animation will appear
ChronoClime can sync weather data to Google Sheets for logging and analysis.
See GOOGLE_SHEETS_SETUP.md for setup instructions.
npm run buildOutput goes to the dist/ folder. Deploy to Vercel, Netlify, or any static host.
Built as part of the NASA Space Apps Challenge 2025 team entry (Grand Finalist). My specific contributions:
- Designed and implemented the ACIS scoring algorithm — the core differentiator of the app
- Built the Activity Planner component and activity preference system
- Integrated the OpenWeatherMap API and weather data pipeline
- Developed the ESP8266 IoT gateway integration and satellite animation
- Built the AI chatbot service and context-aware weather assistant
Built for NASA Space Apps Challenge 2025 by the ChronoClime team, UPES Dehradun.
MIT License — see LICENSE for details.