All work

SIGAP — AI-Powered Urban Activity Decision Engine

An AI-powered web application that combines real-time environmental and mobility data into actionable safety recommendations for urban activities in Indonesia.

SIGAP helps urban residents answer a simple question: is it safe to go outside right now? Instead of checking weather, air quality, traffic, and flood information across separate services, SIGAP combines these signals into a single location-aware recommendation.

The application uses six real-time data sources and Gemini as a structured reasoning layer to assess risk, suggest suitable activities and departure times, and present the result through a decision-focused interface with maps, timelines, and activity comparisons.

Competition entry for #JuaraVibeCoding, a Google-organised developer competition involving Gemini API, Google Cloud Run, and Google Maps Platform.

Outdoor safety decisions in Indonesian cities often require checking multiple disconnected sources. SIGAP addresses this by combining environmental and mobility signals into one activity- and location-aware recommendation.

  • Combine real-time environmental and mobility data into a unified decision.
  • Use Gemini as a reasoning layer to produce structured, actionable recommendations.
  • Deliver the result through a simple decision-focused web interface.

Data from multiple external services is collected and normalised server-side before being passed to Gemini as structured environmental context. The system is designed to gracefully handle individual provider failures while the frontend focuses on presenting the resulting recommendation rather than exposing raw data alone.

BMKG, Google Air Quality, Google Routes, PetaBencana, Visual Crossing, and Stormglass.

A Next.js application orchestrates external data sources through a server-side API layer, passes the resulting context to Gemini, and returns a structured recommendation to the client. The application is containerised with Docker and deployed on Google Cloud Run.

  • Designing Gemini prompts that behave consistently across different interaction modes.
  • Handling inconsistent external API behaviour, including PetaBencana's undocumented endpoint and lack of radius filtering.
  • Resolving production deployment issues involving Cloud Build and client-side API key configuration.

A fully deployed web application combining six real-time data sources with Gemini to provide contextual safety recommendations through both natural-language queries and structured trip planning.

  • Using an AI model as a structured reasoning layer requires explicit guardrails for different user intents rather than relying on a single generic prompt.
  • Multi-source applications need graceful degradation because external APIs cannot always be assumed to behave consistently.
  • Desktop-only interface.
  • No automated tests or monitoring.
  • In-memory caching does not persist across Cloud Run instances.
AISmart CityEnvironmental IntelligenceDecision SupportReal-Time DataUrban MobilityGeospatial
Year
2026
Category
Software
Status
Live
Role
Full Stack Developer
Duration
~3 weeks, May 2026
Team
Solo project

Technologies

TypeScriptNext.jsReactGemini APIGoogle Maps PlatformBMKG APIPetaBencana APIDocker

Tools

Google Cloud RunGoogle Cloud BuildGCP Secret ManagerGitHub