AI-Driven Climate Resilience Analysis for Global Energy Infrastructure on Liquid Galaxy
A Google Summer of Code 2026 project under Liquid Galaxy LAB
EcoGrid Intelligence is a Flutter application built for the Liquid Galaxy platform that lets researchers and policymakers interactively explore global energy infrastructure through the lens of climate resilience.
It combines 34,000+ power plants from the Global Power Plant Database with real-time climate data, a custom Climate Vulnerability Score (CVS) engine, and Gemini AI insights — all visualized across a multi-screen Liquid Galaxy rig via dynamic KML overlays.
|
|
|
|
Plus: Dark/Light theming · Localization (EN, ES, DE) · Guided FTUE tour · Secure API key management · Drift (SQLite) caching · Clean Architecture with BLoC
lib/
├── config/ # Theme, routes, localization
├── core/ # Constants, enums, utilities, KML generation
├── data/ # Remote (Gemini, Open-Meteo) & local (Drift DB) sources
├── di/ # Dependency injection (get_it)
├── domain/ # Models, repository interfaces, use cases
├── presentation/ # UI screens, BLoC state management, components
├── service/ # LG, SSH, TTS, STT, Tour services
└── main.dart
The app follows Clean Architecture with clear separation between data, domain, and presentation layers. State management uses the BLoC pattern throughout.
- Flutter SDK 3.12+
- Android Studio / VS Code
- A Google Gemini API key (get one here)
- A Google Maps API key (get one here)
- (Optional) A Liquid Galaxy rig for LG features
# 1. Clone the repository
git clone https://github.com/LiquidGalaxyLAB/ecogrid-intelligence.git
cd ecogrid-intelligence
# 2. Install dependencies
flutter pub get
# 3. Configure Google Maps API Key
# Open `android/app/src/main/AndroidManifest.xml` and locate line ~40.
# Replace `YOUR_MAPS_API_KEY` with your actual Google Maps API key.
# 4. Run the app
flutter runImportant
API Keys Configuration
The Google Maps API key must be added directly into the AndroidManifest.xml file before running the app due to Android's native SDK requirements. The Gemini API key, however, can be configured later directly inside the app at runtime by going to Settings → General → API Keys.
- Open the app and navigate to Settings (gear icon)
- Enter your LG rig's IP address, SSH port, username, and password
- Set the screen count to match your rig
- Tap Connect — the status pill will turn green when connected
| Layer | Technology |
|---|---|
| Framework | Flutter 3.12+ / Dart |
| State Management | flutter_bloc, bloc_concurrency |
| AI | Google Gemini API (native REST) |
| Maps | google_maps_flutter |
| SSH / LG | dartssh2 (SSH + SFTP) |
| Local DB | Drift (SQLite) |
| Charts | fl_chart |
| DI | get_it |
| Networking | Dio |
| Voice | speech_to_text, flutter_tts |
| Storage | flutter_secure_storage, shared_preferences |
| Component | Description |
|---|---|
LGService |
Full LG lifecycle — connection, KML deployment, camera control, orbits, tours |
SSHService |
SSH connection with serialization lock and atomic SFTP uploads |
KmlUtils |
KML generation — regions, placemarks, balloons, tours, overlays |
CVSCalculator |
Climate Vulnerability Score engine with fuel-type sensitivity matrix |
AnomalyEngine |
Statistical climate anomaly computation from historical data |
RegionBoundaryService |
Real country borders from Nominatim → 3D extruded KML |
GeminiApiService |
Abstracted Gemini API transport layer |
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
This project is developed as part of Google Summer of Code 2026 under the Liquid Galaxy LAB organization.