{
  "id": 7190303,
  "title": "I built an email scorer in one HTML file with zero dependencies. Here is every threshold and where it came from.",
  "url": "https://urgent.news/2026/09/13/i-built-an-email-scorer-in-one-html-file-with-zero-dependencies-here",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-13T22:33:22.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/leaderr700/i-built-an-email-scorer-in-one-html-file-with-zero-dependencies-here-is-every-threshold-and-where-5fkm"
  },
  "original_language": "en",
  "account": "The author built an email scorer in a single HTML file without any dependencies. This scorer assesses cold emails and provides a score out of 100 based on eight checks. The entire project is deterministic and does not rely on models or network calls. The thresholds for each check were determined to ensure consistency and privacy.\n\nThe subject line length is important, as short subjects (28 characters) and mobile truncation are correlated with automation. The scoring is 15 points for a perfect subject length, 8 points for being too short, and 6 points otherwise. Capital letters and exclamation marks are also considered, with more of them increasing the score. Common spam phrases are matched as substrings against the subject and body, with the score adjusted based on the number of hits found.\n\nIn the body, a word count between 50 and 150 is optimal for response rates. The reading grade is calculated using the Flesch-Kincaid formula, aiming for a score of 8 or below. The call to action check uses keyword matching against a predefined list of phrases, with a fallback for unusually phrased requests. Personalization is achieved by counting the occurrences of the company name in the email.",
  "summary": "I built an email scorer in one HTML file with zero dependencies. Here is every threshold and where it came from. I write about B2B sales for a living, which means I read a lot of cold emails and a lot of advice about cold emails. The advice is almost always unfalsifiable. \"Keep it short.\" How short? \"Be personal.\" Measured how? So I turned the advice into numbers and put the numbers in a file.…",
  "key_points": [
    "Single HTML file scorer with zero dependencies",
    "Eight checks determine email score out of 100",
    "Subject length, capitalization, and spam phrases scored"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}