我为开发者构建了 Trend Radar —— 下面是 Scoring Engine 的工作原理

发布: (2026年2月5日 GMT+8 05:13)
8 分钟阅读
原文: Dev.to

抱歉,我需要您提供要翻译的具体文本内容(文章正文),才能为您完成简体中文翻译。请把需要翻译的文字粘贴在这里,我会保持原有的格式、Markdown 语法以及技术术语不变,只翻译正文部分。

问题

“Trending” 在没有上下文的情况下毫无意义。一个拥有 500 个 GitHub 星标的仓库如果没有人实际使用,就没有意义。一个在 Product Hunt 上获得 200 票的发布如果一周后就消失了,也没有意义。

我想要一个系统来提问:这个信号是否在多个独立来源中出现?
如果某件事在 Hacker News 上趋势 并且 公司正在招聘相关人才 并且 npm 下载量在增长 并且 资金正流入该领域——这就不是噪声,而是信号。

数据管道

每 2 小时,一个 cron 任务会从以下来源抓取数据:

  • Hacker News – 热门故事和评论
  • GitHub Trending – 获得星标的仓库
  • Product Hunt – 新发布的产品
  • Reddit – 4 个开发者子版块(阈值:评分 65+)
  • RemoteOK – 工作招聘信息
  • npm – 包下载趋势(追踪 134 个包)
  • GitHub Stars Velocity – 50 个仓库的星标增长速率
  • Hiring Index – 632 家公司,884 条活跃招聘信息
  • Wikipedia – 技术主题的页面浏览增长
  • VC Blogs – 来自投资人博客的 124 篇文章
  • Stack Overflow – 按标签划分的未解答问题数量
  • DOE Research – 来自研究数据库的 346 条记录
  • Funding Context – 行业层面的融资热力图
  • Product Intelligence – 776 个产品的参与度和突破得分
  • GPT Reports – 对约 240 条信号的 AI 生成分析

原始信号写入快照文件;随后评分引擎对所有数据进行处理。

10 个评分维度

每个信号在 10 个维度上进行评分。原始分数累计最高为 135,随后归一化为 0‑100 规模。

#维度最高分描述
1Snapshot0‑20该信号是否存在于当前数据抓取中?
2Compare0‑15与之前快照中的信号相比如何?
3Replay0‑15该信号是否随时间持续出现?
4Topics0‑15关键词是否呈现周环比增长?检查主题历史 以及 npm 下载趋势。
5Analytics0‑15交叉验证:该信号是否出现在多个独立来源中?3 次以上验证 = 15 分。
6Intelligence0‑15AI 分析:结合 GPT 生成的机会分数与产品情报数据(在 776 个产品中的参与度 + 突破分数)。
7Funding0‑10该信号所属行业是否有资金流入?将信号映射到资金热图(例如,DevTools → 技术,AI → AI/ML + 技术)。
8Early Signals0‑10研究指标:Wikipedia 页面浏览量增长、风险投资博客提及、Stack Overflow 活动、DOE 研究关键词。对单个关键词进行索引(而非完整短语),以捕获更多匹配。
9Tracking0‑10该信号是否在我们 1,646 个已跟踪产品的产品索引中?
10Hiring0‑10公司是否在积极招聘相关岗位?检查公司名称匹配、关键词与职位标题的重叠,以及该行业是否有 10 家以上公司在招聘。

关键洞察:交叉验证

最重要的维度是 Analytics ——交叉验证检查。单一数据源可能被操纵(例如,机器人给 HN 帖子投票、购买 GitHub 星标)。当一个信号在 HN npm 下载量增长 公司正在招聘相关岗位 GitHub 仓库获得星标时,这种收敛几乎不可能被伪造。

这就是 8of8 与像 Exploding Topics(主要依赖 Google Trends)或原始爬虫数据的区别。

分数分布

在处理约 1,000 条原始信号后,约 120 条通过了资格过滤(≥ 3 个维度通过 分数 ≥ 25/100)。

  • 最高分: 81/100
  • 平均分: 43/100
  • 大多数信号聚集区间: 35‑55 范围

得分 70+ 的信号通常在数周内成为真实趋势。

技术栈

Nothing fancy:

  • Python 评分引擎 (ultimate_opportunities.py)
  • Flask 前端
  • Gunicorn + nginx 部署在单个 Vultr VPS(Ubuntu 24)上
  • Cron 任务 用于数据收集(每 2 小时)和邮件提醒(每日 UTC 上午 8 点)
  • Stripe 用于支付
  • 使用 Pillow 自动生成 Signal‑card 图像
  • 自动发布到 TwitterBlueskyMastodon(每日 3 次)

总基础设施成本: ~ $12 / 月(VPS)。

我学到的

  1. 更多的数据源胜过更好的算法。
    评分逻辑是简单的加权数学;价值来自广度,而不是巧妙的机器学习。

  2. 归一化很重要。
    原始分数在 40‑80 之间,看起来毫无意义。归一化到 0‑100 让用户立刻能理解。

  3. 免费层必须展示价值。
    我的第一个版本把所有信号都隐藏在付费墙后——没有人转化。现在免费层展示全部 120+ 信号以及分数和检查状态。专业版($29/月)解锁详细拆解、情报报告和邮件提醒。

  4. 信号类型影响沟通方式。
    热门的 HN 文章与热门的 GitHub 仓库并不相同。我必须教会自动发布系统区分它们,避免把博客文章称作“工具”(在公开场合学到的尴尬教训)。

试用

仪表盘已上线,地址为 8of8.xyz。免费套餐展示全部功能。我正在寻找 beta 测试者——以诚实的反馈换取免费 Pro 访问权限。

  • X 私信我或在下方评论。

评分引擎仅在单个 Python 文件中运行。没有 Kubernetes。没有微服务。只有定时任务和信念。

Jose Marquez Alberti 构建。由 ASOF Intelligence 提供支持。

Back to Blog

相关文章

阅读更多 »

当 AI 给你一巴掌

当 AI 给你当头一棒:在 Adama 中调试 Claude 生成的代码。你是否曾让 AI “vibe‑code” 一个复杂功能,却花了数小时调试细微的 bug……