Logo Lanfrica

Tripleace1/solacity

Domain:

environment and energyeducationnatural language processing

Record type:

softwareproject
Creator:
Tri
Host:
SolaCity — IEEE Metaverse Grand Challenge 2026 entry: Adaptive solar microgrid sim for Abeokuta, Nigeria with multilingual Socratic AI tutor # SolaCity Adaptive Smart Energy Simulation Platform for Urban Sustainability Education. Entry for the **2026 IEEE Metaverse Grand Challenge** — Theme 2: Sustainable Smart Cities & Urban Innovation. Submission deadline: **2026-08-15**. ## What is SolaCity? A browser-based 2D microgrid simulation set in Abeokuta, Nigeria. Players size solar PV arrays and battery banks against real load profiles (school, clinic, neighborhood) and Nigerian weather, then watch a 7-day simulation play out hour by hour on an isometric city canvas. A Socratic AI tutor (Claude by default, with Gemini and freellmapi fallbacks) helps learners reason about why their build failed or succeeded — in English, Yoruba, or Hausa. ## Stack - React 19 + TypeScript + Vite - Konva.js (HTML5 Canvas) for the 2D isometric city - Zustand (with `persist`) for simulation, progress, tutor, feedback state - Recharts for load profile charts - i18next + react-i18next for English / Yoruba / Hausa - Multi-provider LLM tutor: - **Anthropic Claude SDK** (`claude-opus-4-7` with adaptive thinking + prompt caching) — default - **Google `@google/genai`** (`gemini-2.5-flash`) — alternative - **freellmapi** OpenAI-compatible gateway — for free-tier aggregation - PVGIS (EU JRC) for solar irradiance at Abeokuta coordinates ## Folder layout ``` src/ engine/ runWeek simulation (PV gen, battery SoC, load shed, cost) renderer/ CityCanvas Konva isometric scene, buildings, weather, day/night ai/ AITutorService dispatcher + providers/{claude,gemini,freellm} scenarios/ Level 1-3 scenario definitions (loads, weather, success criteria) badges/ Achievement rules + evaluator state/ designStore, progressStore, tutorStore feedback/ eventLog (session events) + feedbackStore (user feedback) ui/ React components (workshop, charts, tutor, level select, badges, feedback) i18n/ i18next config + locales/{en,yo,ha}.ts ``` ## Getting started ```bash cp .env.example .env # fil …