H A S T E
High-speed Assessment and Satellite Tracking for Emergencies
HASTE is an AI-driven framework for rapid disaster assessment using satellite and remote sensing data. It automates geospatial analysis with machine learning to produce accurate disaster maps, and provides a user-friendly web interface so that non-technical users can generate critical insights alongside disaster experts.
Quick Start
The fastest way to run HASTE locally is with Docker Compose, which starts the full stack — API, queue workers, tile server, storage emulator, and UI — with no Azure subscription required.
Prefer to let an AI agent do it? QUICKSTART.md is a phased, verify-gated runbook written for coding agents. Point Claude Code or GitHub Copilot at it with a prompt like "Using QUICKSTART.md, stand up and start a local instance of HASTE" and it will run the steps, handle platform quirks (e.g. Apple Silicon), and stop at each health-check gate.
Prerequisites: Docker and Docker Compose
git clone https://github.com/microsoft/haste.git
cd haste
docker compose -f docker/docker-compose.yml up
| Service | URL | |---------|-----| | UI | http://localhost:4280 | | REST API | http://localhost:7071/api/ | | TiTiler tile server | http://localhost:8000 | | Azurite storage emulator | http://localhost:10000 |
Note: This stack is for local development and evaluation only — it uses development
defaults (in-memory storage emulator, disabled auth, wildcard CORS) that aren't suitable
for production. To stand up a production environment on Azure, follow the
Deployment Guide and
Configuration Guide.
See it in action
Documentation
Full documentation is published at microsoft.github.io/haste:
Using HASTE
- User Guide — create projects, add imagery, label, train, and assess damage end to end
- Local Development — run the full stack locally with Docker Compose
- Deployment Guide — deploy to Azure with a single
azd up - Configuration Guide — all deployment settings
- Secure Configuration Guidance — production hardening checklist
- Architecture — how the components fit together
- API Reference — REST, queue, and tile-server APIs
- Releasing — versioning and tagging conventions for the product, the
hastegeowheel, and Docker images
docs/ and is built with Jupyter Book.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ React UI (Vite) │
│ Projects · Labeling Tool · Visualizer · Admin · Model Catalog │
└───────────────────────────┬─────────────────────────────────────┘
│ HTTP
┌───────────────────────────▼─────────────────────────────────────┐
│ Azure Static Web Apps / SWA CLI │
└──────┬────────────────────────────────────────────┬─────────────┘
│ /api/* │ tile requests
┌──────▼──────────────┐ ┌────────▼─────────────┐
│ hastefuncapi │ │ titilerfuncapi │
│ (41 HTTP routes) │ │ (TiTiler/FastAPI) │
│ Azure Functions │ │ COG tile serving │
└──────┬──────────────┘ └──────────────────────┘
│ Queue messages
┌──────▼──────────────┐
│ hastefuncqueues │
│ (7 queue triggers) │
│ Azure Functions │
└──────┬──────────────┘
│
┌──────▼──────────────────────────────────────────────────────────┐
│ hastegeo core library │
│ Config · Models · Processors · Data Layers · Runners · Utils │
└──────┬───────────┬───────────┬───────────┬──────────────────────┘
│ │ │ │
┌────▼───┐ ┌───▼────┐ ┌──▼───┐ ┌───▼──────────┐
│ Blob │ │ Cosmos │ │ Data │ │ Azure Batch │
│ Storage│ │ DB │ │ Lake │ │ (GPU pools) │
└────────┘ └────────┘ └──────┘ └──────────────┘
Components
| Component | Technology | Description |
|-----------|-----------|-------------|
| UI | React + Vite | Single-page app for project management, labeling, and visualization |
| REST API (hastefuncapi) | Python Azure Functions | HTTP endpoints for CRUD operations |
| Queue Workers (hastefuncqueues) | Python Azure Functions | Queue-triggered functions for async processing |
| Tile Server (titilerfuncapi) | TiTiler + FastAPI | Cloud Optimized GeoTIFF tile serving |
| Core Library (hastegeo) | Python package | Shared models, processors, data layers, and utilities |
Contributing
We welcome contributions! Please read CONTRIBUTING.md for coding standards, the pull request process, and the Contributor License Agreement requirement.
- Open an issue to report a bug or request a feature
- Start a discussion for questions or ideas
- Read the security policy before reporting vulnerabilities
License
This project is licensed under the MIT License — see LICENSE.txt for details.
Third-Party Software
This project includes third-party components. See THIRD-PARTY-NOTICES.md for details.