← back to gallery

Moat Mapper

Score your workflows on competitive moat vs automation safety

aistrategyautomationworkflowsai-delegationrisk-scoring
Open product ↗

moat-mapper

Analyzes your product's internal workflows and scores each on competitive differentiation vs automation safety, producing a risk-scored AI delegation roadmap. Plots workflows on a 2x2 quadrant map (Protect / Augment / Delegate / Automate) so CTOs and PMs can see exactly which workflows to keep human-in-the-loop and which to hand to AI.

How It Works

  1. Create a product and add your internal workflows (name, description, category)
  2. Run LLM-powered analysis — each workflow gets scored on moat strength (0-100) and automation risk (0-100)
  3. View the quadrant map: workflows are plotted on a moat vs safety grid, color-coded by recommendation
  4. Share a public report card URL for stakeholder review

Data Sources

| Source | URL | Refresh Interval |
|--------|-----|-----------------|
| HN Algolia — AI automation discussions | https://hn.algolia.com/api/v1/search?query=AI+automation+risk&tags=story&hitsPerPage=30 | Every 3 hours (node-cron) |
| HN Algolia — AI moat/delegation stories | https://hn.algolia.com/api/v1/search?query=AI+moat+delegation&tags=story&hitsPerPage=20 | Every 3 hours (node-cron) |
| OpenRouter LLM API | https://openrouter.ai/api/v1/chat/completions | On-demand (per analysis request) |

HN Algolia is free and unauthenticated. OpenRouter requires OPENROUTER_API_KEY.

API Endpoints

| Method | Path | Description |
|--------|------|-------------|
| GET | /moat-mapper/health | Health check — returns {"ok":true} |
| GET | /moat-mapper/api/products | List all products with workflow counts and scores |
| POST | /moat-mapper/api/products | Create product {name, description} |
| GET | /moat-mapper/api/products/:id | Get product with all workflows |
| DELETE | /moat-mapper/api/products/:id | Delete product and its workflows |
| POST | /moat-mapper/api/products/:id/workflows | Add workflows {workflows: [{name, description, category}]} |
| PUT | /moat-mapper/api/workflows/:id | Update workflow fields |
| DELETE | /moat-mapper/api/workflows/:id | Delete a workflow |
| POST | /moat-mapper/api/products/:id/analyze | Analyze unanalyzed workflows (add ?force=true to re-analyze all) |
| POST | /moat-mapper/api/workflows/:id/analyze | Re-analyze a single workflow |
| GET | /moat-mapper/api/reports/:shareId | Public report data by share token |
| GET | /moat-mapper/api/signals | Recent AI automation signals from HN |
| GET | /moat-mapper/api/signals/relevant?category=:cat | Signals filtered by category keyword |

Run Locally

cp .env.example .env
# Edit .env and set OPENROUTER_API_KEY

npm install
PORT=4726 node server.js
```

Open http://localhost:4726/moat-mapper/

Stack