{
  "version": "2026-10-20",
  "count": 13,
  "about": "Deterministic routing for the home page's solve box: a query that matches a pattern becomes a link to that tool with the values filled in. Nothing is sent anywhere — the match and the URL are built in the visitor's browser, and anything not matched falls through to the normal catalogue search. Every field id and every &run=1 is validated against the card at build time.",
  "url": "https://www.themostusefulsiteintheworld.com/intents.json",
  "limits": {
    "params": 40,
    "valueChars": 512,
    "urlChars": 1800
  },
  "intents": [
    {
      "id": "percent-of",
      "title": "Percentage Calculator",
      "card": "percentage-calculator",
      "pattern": "^(?:what\\s+is\\s+|what's\\s+|how\\s+much\\s+is\\s+|calculate\\s+)?(\\d+(?:\\.\\d+)?)\\s*(?:%|percent)\\s+of\\s+(\\d+(?:\\.\\d+)?)\\s*\\??\\s*$",
      "fills": {
        "pct-a": "$1",
        "pct-b": "$2",
        "pct-mode": "what"
      },
      "run": true,
      "example": "20% of 340",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=percentage-calculator&pct-a=20&pct-b=340&pct-mode=what&run=1",
      "note": "X% of Y — the answer is Y × X ÷ 100."
    },
    {
      "id": "percent-off",
      "title": "Percentage Calculator",
      "card": "percentage-calculator",
      "pattern": "^(?:what\\s+is\\s+|what's\\s+|how\\s+much\\s+is\\s+|calculate\\s+)?(\\d+(?:\\.\\d+)?)\\s*(?:%|percent)\\s+off\\s+(\\d+(?:\\.\\d+)?)\\s*\\??\\s*$",
      "fills": {
        "pct-mode": "discount",
        "pct-a": "$1",
        "pct-b": "$2"
      },
      "run": true,
      "example": "15% off 80",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=percentage-calculator&pct-mode=discount&pct-a=15&pct-b=80&run=1",
      "note": "X% off Y — the discounted price, not just the saving."
    },
    {
      "id": "percent-change",
      "title": "Percentage Change Calculator",
      "card": "percentage-change-calculator",
      "pattern": "^(?:what\\s+is\\s+the\\s+)?(?:percentage|percent)\\s+(?:change|increase|difference)\\s+from\\s+(\\d+(?:\\.\\d+)?)\\s+to\\s+(\\d+(?:\\.\\d+)?)\\s*\\??\\s*$",
      "fills": {
        "pct-from": "$1",
        "pct-to": "$2"
      },
      "run": true,
      "example": "percentage change from 40 to 55",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=percentage-change-calculator&pct-from=40&pct-to=55&run=1",
      "note": "Old value → new value, as a percentage up or down."
    },
    {
      "id": "tip-percent-first",
      "title": "Tip Calculator",
      "card": "tip-calculator",
      "pattern": "^(?:what\\s+is\\s+|what's\\s+|how\\s+much\\s+is\\s+|calculate\\s+)?(?:a\\s+)?(\\d+(?:\\.\\d+)?)\\s*(?:%|percent)\\s+tip\\s+(?:on|for)\\s+(?:a\\s+)?(\\d+(?:\\.\\d+)?)\\s*\\??\\s*$",
      "fills": {
        "tc-tip-percent": "$1",
        "tc-bill": "$2"
      },
      "run": true,
      "example": "15% tip on 62",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=tip-calculator&tc-tip-percent=15&tc-bill=62&run=1",
      "note": "The bill plus the tip, and the total."
    },
    {
      "id": "tip-bill-first",
      "title": "Tip Calculator",
      "card": "tip-calculator",
      "pattern": "^(?:tip|service)\\s+(?:of\\s+)?(\\d+(?:\\.\\d+)?)\\s*(?:%|percent)\\s+(?:on|for)\\s+(?:a\\s+)?(\\d+(?:\\.\\d+)?)\\s*\\??\\s*$",
      "fills": {
        "tc-tip-percent": "$1",
        "tc-bill": "$2"
      },
      "run": true,
      "example": "tip 15% on 62",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=tip-calculator&tc-tip-percent=15&tc-bill=62&run=1",
      "note": "Same tool, the other word order."
    },
    {
      "id": "bmi",
      "title": "BMI Calculator",
      "card": "bmi",
      "pattern": "^(?:my\\s+)?(?:bmi\\s+)?(\\d+(?:\\.\\d+)?)\\s*(?:cm|centimetres?|centimeters?)\\s*(?:and|,)?\\s*(?:my\\s+)?(\\d+(?:\\.\\d+)?)\\s*(?:kg|kilos?|kilograms?)\\s*\\??\\s*$",
      "fills": {
        "bmi-height-input": "$1",
        "bmi-weight-input": "$2"
      },
      "run": true,
      "example": "180cm 75kg",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=bmi&bmi-height-input=180&bmi-weight-input=75&run=1",
      "note": "Both units are required — a bare pair of numbers is a guess, not a solve."
    },
    {
      "id": "length",
      "title": "Length Converter",
      "card": "unit-converter-math",
      "pattern": "^(?:convert\\s+)?(\\d+(?:\\.\\d+)?)\\s*(metres?|meters?|kilometres?|kilometers?|centimetres?|centimeters?|miles?|feet|foot|km|cm|mi|m|ft)\\s+(?:in|to|into)\\s+(metres?|meters?|kilometres?|kilometers?|centimetres?|centimeters?|miles?|feet|foot|km|cm|mi|m|ft)\\s*\\??\\s*$",
      "fills": {
        "uc-v": "$1",
        "uc-f": "$2",
        "uc-t": "$3"
      },
      "map": {
        "2": {
          "metre": "m",
          "metres": "m",
          "meter": "m",
          "meters": "m",
          "m": "m",
          "kilometre": "km",
          "kilometres": "km",
          "kilometer": "km",
          "kilometers": "km",
          "km": "km",
          "centimetre": "cm",
          "centimetres": "cm",
          "centimeter": "cm",
          "centimeters": "cm",
          "cm": "cm",
          "mile": "mi",
          "miles": "mi",
          "mi": "mi",
          "foot": "ft",
          "feet": "ft",
          "ft": "ft"
        },
        "3": {
          "metre": "m",
          "metres": "m",
          "meter": "m",
          "meters": "m",
          "m": "m",
          "kilometre": "km",
          "kilometres": "km",
          "kilometer": "km",
          "kilometers": "km",
          "km": "km",
          "centimetre": "cm",
          "centimetres": "cm",
          "centimeter": "cm",
          "centimeters": "cm",
          "cm": "cm",
          "mile": "mi",
          "miles": "mi",
          "mi": "mi",
          "foot": "ft",
          "feet": "ft",
          "ft": "ft"
        }
      },
      "run": true,
      "example": "5 km in miles",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=unit-converter-math&uc-v=5&uc-f=km&uc-t=mi&run=1",
      "note": "Length only: this card's unit list is fixed and known, so every value here is one it accepts."
    },
    {
      "id": "mortgage",
      "title": "Mortgage Calculator",
      "card": "mortgage",
      "pattern": "^(?:mortgage|home\\s+loan)\\s+(?:of\\s+)?[£$€]?\\s*(\\d+(?:\\.\\d+)?)\\s*(?:at|@)\\s*(\\d+(?:\\.\\d+)?)\\s*(?:%|percent)(?:\\s*(?:over|for)\\s*(\\d{1,3})\\s*(?:years?|yrs?))?\\s*\\??\\s*$",
      "fills": {
        "mortgage-price": "$1",
        "mortgage-rate": "$2",
        "mortgage-years": "$3?"
      },
      "run": true,
      "example": "mortgage 250000 at 4.5% over 25 years",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=mortgage&mortgage-price=250000&mortgage-rate=4.5&mortgage-years=25&run=1",
      "note": "The monthly repayment for a price and a rate; the term defaults to the card's own when the sentence does not give one."
    },
    {
      "id": "loan",
      "title": "Loan Calculator",
      "card": "loan",
      "pattern": "^loan\\s+(?:of\\s+)?[£$€]?\\s*(\\d+(?:\\.\\d+)?)\\s*(?:at|@)\\s*(\\d+(?:\\.\\d+)?)\\s*(?:%|percent)(?:\\s*(?:over|for)\\s*(\\d{1,3})\\s*(?:years?|yrs?))?\\s*\\??\\s*$",
      "fills": {
        "lc-amount": "$1",
        "lc-interest": "$2",
        "lc-term-slider": "$3?"
      },
      "run": true,
      "example": "loan 10000 at 6% over 3 years",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=loan&lc-amount=10000&lc-interest=6&lc-term-slider=3&run=1",
      "note": "Amount, rate, and the term slider when the sentence gives years."
    },
    {
      "id": "compound",
      "title": "Compound Interest Calculator",
      "card": "compoundinterest",
      "pattern": "^compound(?:\\s+interest)?\\s+(?:on\\s+)?[£$€]?\\s*(\\d{2,9})\\s*(?:at|@)\\s*(\\d+(?:\\.\\d+)?)\\s*(?:%|percent)(?:\\s*(?:over|for)\\s*(\\d{1,3})\\s*(?:years?|yrs?))?\\s*\\??\\s*$",
      "fills": {
        "ci-principal": "$1",
        "ci-annual-rate": "$2",
        "ci-years": "$3?"
      },
      "run": true,
      "example": "compound 1000 at 5% for 10 years",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=compoundinterest&ci-principal=1000&ci-annual-rate=5&ci-years=10&run=1",
      "note": "A lump sum left to grow; no monthly contribution is assumed."
    },
    {
      "id": "take-home",
      "title": "Take-Home Pay Calculator",
      "card": "salary",
      "pattern": "^(?:take\\s*home|salary|pay)\\s+(?:on\\s+|of\\s+)?[£$€]?\\s*(\\d{4,7})(?:\\s*(?:a|per)\\s+year)?\\s*\\??\\s*$",
      "fills": {
        "sc-gross": "$1"
      },
      "run": true,
      "example": "take home on 45000",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=salary&sc-gross=45000&run=1",
      "note": "The card's own country and currency defaults apply; the visitor can change them."
    },
    {
      "id": "born",
      "title": "Age Calculator",
      "card": "age-calculator",
      "pattern": "^(?:how\\s+old\\s+am\\s+i\\s+)?(?:if\\s+i\\s+was\\s+)?born\\s+(?:on\\s+)?(\\d{4}-\\d{2}-\\d{2})\\s*\\??\\s*$",
      "fills": {
        "aced-dob": "$1"
      },
      "run": false,
      "example": "born 1990-05-01",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=age-calculator&aced-dob=1990-05-01",
      "note": "Needs a full ISO date — the date control refuses anything else — and the card recalculates as soon as it is set."
    },
    {
      "id": "days-between",
      "title": "Date Calculator",
      "card": "datecalc",
      "pattern": "^(?:days|difference|how\\s+many\\s+days)\\s+between\\s+(\\d{4}-\\d{2}-\\d{2})\\s+and\\s+(\\d{4}-\\d{2}-\\d{2})\\s*\\??\\s*$",
      "fills": {
        "dc-start": "$1",
        "dc-end": "$2"
      },
      "run": true,
      "example": "days between 2026-01-01 and 2026-03-01",
      "exampleUrl": "https://www.themostusefulsiteintheworld.com/tool.html?card=datecalc&dc-start=2026-01-01&dc-end=2026-03-01&run=1",
      "note": "Two ISO dates; the card does the calendar maths."
    }
  ]
}
