"Predict the Risk, Command the Solution."
Global trade is highly vulnerable; a single disruption can cause a multi-million dollar butterfly effect. Traditional dashboards only show what happened, but they rarely tell you what to do next. I built Sentinel v3.0 to bridge the gap between static visual analytics and strategic action, transforming a Tableau Geospatial Intelligence map into a proactive AI Agent.
Unlike static reports, Sentinel uses Tableau as its primary interactive engine and "eyes":
- Visual Command Center: Real-time tracking of over 240 vessels via an interactive Tableau Dashboard.
- Event-Driven AI: The AI analysis is triggered directly by user interactions within Tableau using the Tableau Embedding API v3 .
- Live Intelligence: Enriches Tableau's shipment data with live "ground-truth" weather conditions (wind, temperature, pressure) via OpenWeather API.
- Strategic AI Recommendations: Google Gemini 3 Flash processes Tableau's metadata to provide executive-level intervention plans.
- Actionable Alerting: Results are pushed to Slack with interactive "Block Kit" buttons for immediate approval and execution.
Sentinel v3.0 integrates a modern tech stack to create a high-performance AI Agent:
- Languages: Python 3.x (Backend), JavaScript (Frontend), HTML5, CSS3.
- Backend Framework: FastAPI (Asynchronous, High-Performance) with Uvicorn.
- Artificial Intelligence: Google Gemini 3 Flash (Generative AI).
- Visualization & Trigger: Tableau Cloud, Tableau Embedding API v3.
- External APIs: OpenWeather API (Maritime Intelligence) and Slack Webhooks (Crisis Communication).
Sentinel quantifies risk using a dynamic financial model to prioritize high-value interventions:
-
$E_{total}$ : Total Financial Exposure. -
$V_{cargo}$ : Cargo Valuation (Retrieved from Tableau metadata). -
$C_{hourly}$ : Penalty Cost per hour of delay. -
$T_{delay}$ : Estimated Duration of the disruption.
The following diagram illustrates how Tableau acts as the frontend trigger for the entire AI ecosystem:
graph TD
A[Tableau Dashboard] -- "Mark Selection (Embedding API v3)" --> B(Frontend Control Panel)
B -- "Shipment Data (ID, Location, Reason)" --> C{FastAPI Backend}
C -- "Request Live Weather" --> D[OpenWeather API]
D -- "Ground-Truth Data" --> C
C -- "Strategic Prompt" --> E[Google Gemini 3 Flash]
E -- "Executive Analysis" --> C
C -- "Rich Format Report" --> F[Slack Channel]
C -- "Update UI" --> B
F -- "Action Buttons (Approve/Reroute)" --> G[Operational Execution]
- Clone the Repository:
git clone [https://github.com/kerememree/sentinel-supply-chain-ai.git](https://github.com/kerememree/sentinel-supply-chain-ai.git) cd sentinel-supply-chain-ai - Install Dependencies:
pip install fastapi uvicorn requests google-generativeai python-dotenv
- Configure API Keys: Create a
.envfile and add your keys:GEMINI_API_KEYOPENWEATHER_API_KEYSLACK_WEBHOOK_URL
- Run the Server:
python server.py
Powered by Sentinel v3.0 | Weather: OpenWeather API