Skip to content

RastAgent

Navigation apps optimize for efficiency but miss the "Semantic Gap" between digital maps and the chaotic reality of Indian roads.

Core trick

Runs Gemini 3 Pro over GoPro dashcam frames to tag road hazards, then attaches them to Google Maps route planning.

Tags

Description

Navigation apps optimize for efficiency but miss the "Semantic Gap" between digital maps and the chaotic reality of Indian roads. Drivers face unmapped hazards like potholes, livestock, and narrow lanes. We use Gemini to audit this "Contextual Delta," providing the safety-critical infrastructure context that standard navigation lacks.
krishna16sharma/RastAgent★ 01 forksPythonCreated Feb 14, 2026 · last push Feb 14, 2026

README excerpt

# RoadSense — Road Hazard Intelligence for Indian Navigation

Road hazard detection from GoPro dashcam footage using Gemini 3 Pro multimodal analysis + Google Maps route planning.

## Quick Start

### Prerequisites

- Python 3.10+
- Node.js 16+ (for GoPro telemetry parsing)
- ffmpeg, ffprobe (for video processing)
- Google Maps API key
- Gemini API key

### Setup

1. **Clone and install Python dependencies:**
   ```bash
   python3 -m venv .venv
   source .venv/bin/activate
   pip install -r requirements.txt
   ```

2. **Install Node.js dependencies (for GoPro parser):**
   ```bash
   cd utils
   npm install
   cd ..
   ```

3. **Configure environment variables:**
   ```bash
   # .env file created with template
   # Add your API keys:
   GOOGLE_MAPS_API_KEY=your_key_here
   GEMINI_API_KEY=your_key_here
   ```

### Running the App

**Start the Flask server:**
```bash
python server.py
```

Open http://localhost:5000 in your browser.

### Workflow: Analyze a GoPro Video

1. Place your GoPro MP4 in `data/` directory
2. Run: `python -m rast_agent.analysis.pipeline <path_to_video.mp4>`
3. Select report from UI dropdown to view cached results

## Architecture

```
GoPro MP4 → GPS extract → Chunk → Gemini analyze → Map GPS → Dedup → Summary → Cache → UI
```

## Project Structure

```
/
├── .env                           # Environment variables
├── .gitignore                     # Secrets, cache, venv
├── README.md                      # This file
├── requirements.txt               # P

Team