返回 Discover
Field DispatchProduct Hunt3 · 2026-05-31

Second Brain for AI

Persistent memory for Claude, ChatGPT & Cursor. Free.

Every AI conversation starts from zero. Your projects, decisions, and preferences disappear as soon as you close the chat. Second Brain fixes that. It is a self-hosted memory layer that works with Claude, ChatGPT, Cursor, and any MCP client. You can store context once and recall it by meaning instead of keywords. It includes duplicate detection, semantic search, and a web UI. Built on Cloudflare, it offers a free tier and your data remains yours. MIT licensed.

日榜日期
2026-05-31
发布时间
2026/05/31
日榜排名
#3
票数
207
评论
34
评价
0
Human Signal

创始人 / Maker 评论

优先展示 Product Hunt 上对理解条目有帮助的人类文本。

Topics
Open SourceDeveloper ToolsArtificial Intelligence

the memory problem is so underrated in AI tooling right now. you spend 20 minutes setting up context in a conversation and then it just... vanishes. self-hosted is the right call too, especially for teams dealing with proprietary code. how does it handle conflicting memories across different tools?

评论作者信息不可用1 votes查看原评论
痛点分析发布于 2026/05/31

痛点为 AI 基于上游原始证据的初步提炼;未包含额外中国市场检索。

痛点

用户在使用AI对话工具(如Claude、ChatGPT、Cursor)时,每次会话都从零开始,之前投入大量时间(例如20分钟)构建的项目上下文、决策和偏好,在关闭聊天后完全消失。这种“会话间记忆缺失”导致用户需要反复重复设置,造成严重的时间浪费和重复劳动。此外,长会话中上下文窗口溢出,早期内容丢失,即使在同一会话内也会失去连贯性。用户需要手动管理、复制和整理信息,但现有工具缺乏持久化记忆和语义检索能力,使得知识无法跨会话复用,决策依赖碎片化信息,增加了认知负担和协作成本。

Discussion

精选 Product Hunt 讨论

保留原始讨论语境,用来交叉验证上游条目的真实反馈。

The between-session memory problem is real and this solves it well. The harder problem - at least for how I use AI - is within-session overflow. My conversations regularly hit 100K+ words before they die/lag to unusble. The context window can't hold it all anyway, so even within a single session I'm losing early context. What I actually want is a rolling summarizer that compresses as the thread grows - keeping the essential through-line while shedding weight. That plus persistent cross-session memory would be the full solution. This a great idea tho, one I really like!

评论作者信息不可用筛选:高信号评论1 votes查看原评论

Quick update since launch. Here are a few things worth noting: We shipped the Second Brain CLI today. If you use the terminal, you can now capture and recall memories without leaving it. npm install -g second-brain-cf-cli For those asking about integrations, Second Brain works with Claude, ChatGPT, Cursor, Windsurf, and any MCP-compatible client. There’s also an Obsidian plugin in the community directory, a Chrome extension, iOS Shortcuts in the repo, and a web UI if you prefer managing everything visually. CLI, Obsidian, Chrome extension, iOS Shortcuts, MCP… same memory, every interface.

评论作者信息不可用筛选:高信号评论2 votes查看原评论

This is a strong wedge. The bit I’d be most careful with is treating “newer” as automatically more correct when memories conflict. For writing/product work especially, an old positioning decision might still be canonical while a recent one-off chat is just exploration. A lightweight status layer could help a lot: canonical, draft, preference, deprecated, maybe source-linked. Then the model can say “I found the current rule” vs “I found a past note that may be stale,” instead of injecting both with the same confidence.

评论作者信息不可用筛选:高信号评论2 votes查看原评论

Semantic retrieval over stored context beats keyword search for memory, and the dedup layer is a smart addition since AI workflows generate a lot of overlapping notes. We've wrestled with context window management in multi-step AI tasks too: deciding when to summarize vs. fetch older context is genuinely tricky. How does the similarity threshold work when memories partially overlap? Can users tune it?

评论作者信息不可用筛选:高信号评论2 votes查看原评论
源数据· Raw Archive
source
Product Hunt
upstream_source
producthunt_api
upstream_item_id
1151393
daily_ranking_item_id
17f1ba58-bd18-4735-8cd0-640d79fa1ccb
rank_date
2026-05-31
rank
3
name
Second Brain for AI
tagline
Persistent memory for Claude, ChatGPT & Cursor. Free.
description
Every AI conversation starts from zero. Your projects, decisions, and preferences disappear as soon as you close the chat. Second Brain fixes that. It is a self-hosted memory layer that works with Claude, ChatGPT, Cursor, and any MCP client. You can store context once and recall it by meaning instead of keywords. It includes duplicate detection, semantic search, and a web UI. Built on Cloudflare, it offers a free tier and your data remains yours. MIT licensed.
maker_comment
<p>the memory problem is so underrated in AI tooling right now. you spend 20 minutes setting up context in a conversation and then it just... vanishes. self-hosted is the right call too, especially for teams dealing with proprietary code. how does it handle conflicting memories across different tools?</p>
votes_count
207
comments_count
34
reviews_count
0
featured_at
2026-05-31T07:01:00.000Z
created_at_on_source
2026-05-31T07:01:00.000Z
makers
item-1
topics
Open SourceDeveloper ToolsArtificial Intelligence
media / source-specific data
[
  {
    "url": "https://ph-files.imgix.net/a69a7796-caae-4946-91dc-37f175206bd9.png?auto=format",
    "type": "image",
    "videoUrl": null
  },
  {
    "url": "https://ph-files.imgix.net/0a54f90c-ee12-4a58-bec5-f5ee99626053.png?auto=format",
    "type": "image",
    "videoUrl": null
  },
  {
    "url": "https://ph-files.imgix.net/2a68fbf4-74aa-40b3-975e-c6300a070cf3.jpeg?auto=format",
    "type": "video",
    "videoUrl": "https://www.youtube.com/watch?v=h0JqRM0UxHE"
  }
]
raw_payload
{
  "post_id": "1151393",
  "fetched_at": "2026-05-31T22:00:01.252Z",
  "has_post_detail": true,
  "snapshot_version": "producthunt_v1",
  "has_maker_comment": true,
  "maker_comment_source": "first_comment_fallback",
  "comments_fetch_status": "ok",
  "selected_comment_count": 5
}
source_raw_snapshot
{
  "id": "33ca00a7-e279-479d-b8a7-50200255705d",
  "daily_ranking_item_id": "17f1ba58-bd18-4735-8cd0-640d79fa1ccb",
  "source": "producthunt_api",
  "product_hunt_id": "1151393",
  "fetched_at": "2026-05-31T22:00:01.252Z",
  "post_raw": {
    "id": "1151393",
    "url": "https://www.producthunt.com/products/second-brain-cloudflare?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
    "name": "Second Brain for AI",
    "media": [
      {
        "url": "https://ph-files.imgix.net/a69a7796-caae-4946-91dc-37f175206bd9.png?auto=format",
        "type": "image",
        "videoUrl": null
      },
      {
        "url": "https://ph-files.imgix.net/0a54f90c-ee12-4a58-bec5-f5ee99626053.png?auto=format",
        "type": "image",
        "videoUrl": null
      },
      {
        "url": "https://ph-files.imgix.net/2a68fbf4-74aa-40b3-975e-c6300a070cf3.jpeg?auto=format",
        "type": "video",
        "videoUrl": "https://www.youtube.com/watch?v=h0JqRM0UxHE"
      }
    ],
    "tagline": "Persistent memory for Claude, ChatGPT & Cursor. Free.",
    "thumbnail": {
      "url": "https://ph-files.imgix.net/a258efad-8dea-4ed3-b1bb-169089817168.png?auto=format"
    },
    "votesCount": 207,
    "description": "Every AI conversation starts from zero. Your projects, decisions, and preferences disappear as soon as you close the chat. Second Brain fixes that. It is a self-hosted memory layer that works with Claude, ChatGPT, Cursor, and any MCP client. You can store context once and recall it by meaning instead of keywords. It includes duplicate detection, semantic search, and a web UI. Built on Cloudflare, it offers a free tier and your data remains yours. MIT licensed."
  },
  "post_detail_raw": {
    "id": "1151393",
    "slug": "second-brain-for-ai",
    "user": {
      "id": "25713",
      "url": "https://www.producthunt.com/@fmerian?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "name": "fmerian",
      "headline": "hunting devtools e.g. v0.dev and kilo.ai",
      "username": "fmerian",
      "websiteUrl": "https://www.producthunt.com/upcoming/notion-design-system-documentation-by-specify",
      "profileImage": "https://ph-avatars.imgix.net/25713/621b90ee-788e-42ec-8fa3-25dd2910482a.jpeg?auto=format&crop=faces&fit=crop&h=original&w=original",
      "twitterUsername": "fmerian"
    },
    "media": [
      {
        "url": "https://ph-files.imgix.net/a69a7796-caae-4946-91dc-37f175206bd9.png?auto=format",
        "type": "image",
        "videoUrl": null
      },
      {
        "url": "https://ph-files.imgix.net/0a54f90c-ee12-4a58-bec5-f5ee99626053.png?auto=format",
        "type": "image",
        "videoUrl": null
      },
      {
        "url": "https://ph-files.imgix.net/2a68fbf4-74aa-40b3-975e-c6300a070cf3.jpeg?auto=format",
        "type": "video",
        "videoUrl": "https://www.youtube.com/watch?v=h0JqRM0UxHE"
      }
    ],
    "makers": [
      {
        "id": "0",
        "url": "[REDACTED]",
        "name": "[REDACTED]",
        "headline": null,
        "username": "[REDACTED]",
        "websiteUrl": null,
        "profileImage": null,
        "twitterUsername": null
      }
    ],
    "topics": {
      "edges": [
        {
          "node": {
            "id": "89",
            "name": "Open Source",
            "slug": "open-source"
          }
        },
        {
          "node": {
            "id": "267",
            "name": "Developer Tools",
            "slug": "developer-tools"
          }
        },
        {
          "node": {
            "id": "268",
            "name": "Artificial Intelligence",
            "slug": "artificial-intelligence"
          }
        }
      ]
    },
    "website": "https://www.producthunt.com/r/DHJEGKLQBKHAGY?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
    "createdAt": "2026-05-31T07:01:00Z",
    "dailyRank": 3,
    "thumbnail": {
      "url": "https://ph-files.imgix.net/a258efad-8dea-4ed3-b1bb-169089817168.png?auto=format",
      "type": "image",
      "videoUrl": null
    },
    "featuredAt": "2026-05-31T07:01:00Z",
    "weeklyRank": 31,
    "yearlyRank": null,
    "monthlyRank": 273,
    "scheduledAt": "2026-05-31T07:01:00Z",
    "productLinks": [
      {
        "url": "https://www.producthunt.com/r/Z4T2Z6ZW56DMNT?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
        "type": "Website"
      },
      {
        "url": "https://www.producthunt.com/r/VTG2KACDVTGO3P?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
        "type": "Twitter"
      },
      {
        "url": "https://www.producthunt.com/r/DHJEGKLQBKHAGY?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
        "type": "Github"
      },
      {
        "url": "https://www.producthunt.com/r/TM3XZEZJ3QCCF2?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
        "type": "Twitter"
      },
      {
        "url": "https://www.producthunt.com/r/Y4VBFRPT4VE22L?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
        "type": "YouTube"
      }
    ],
    "reviewsCount": 0,
    "commentsCount": 34,
    "reviewsRating": 0
  },
  "maker_comment_raw": {
    "id": "5413983",
    "url": "https://www.producthunt.com/products/second-brain-cloudflare?comment=5413983&utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
    "body": "<p>the memory problem is so underrated in AI tooling right now. you spend 20 minutes setting up context in a conversation and then it just... vanishes. self-hosted is the right call too, especially for teams dealing with proprietary code. how does it handle conflicting memories across different tools?</p>",
    "user": {
      "id": "1662319",
      "url": "[REDACTED]",
      "name": "[REDACTED]",
      "headline": null,
      "username": "[REDACTED]",
      "profile_url": "[REDACTED]",
      "website_url": null,
      "profile_image": null,
      "twitter_username": null
    },
    "user_id": "1662319",
    "is_maker": false,
    "parent_id": null,
    "created_at": "2026-05-31T19:56:25Z",
    "replies_raw": [],
    "votes_count": 1
  },
  "selected_comments_raw": [
    {
      "id": "5413983",
      "url": "https://www.producthunt.com/products/second-brain-cloudflare?comment=5413983&utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "body": "<p>the memory problem is so underrated in AI tooling right now. you spend 20 minutes setting up context in a conversation and then it just... vanishes. self-hosted is the right call too, especially for teams dealing with proprietary code. how does it handle conflicting memories across different tools?</p>",
      "user": {
        "id": "1662319",
        "url": "[REDACTED]",
        "name": "[REDACTED]",
        "headline": null,
        "username": "[REDACTED]",
        "profile_url": "[REDACTED]",
        "website_url": null,
        "profile_image": null,
        "twitter_username": null
      },
      "user_id": "1662319",
      "is_maker": false,
      "parent_id": null,
      "created_at": "2026-05-31T19:56:25Z",
      "replies_raw": [],
      "votes_count": 1,
      "selection_score": 306,
      "selection_reason": "first_comment_fallback"
    },
    {
      "id": "5413968",
      "url": "https://www.producthunt.com/products/second-brain-cloudflare?comment=5413968&utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "body": "<p>The between-session memory problem is real and this solves it well. The harder problem - at least for how I use AI - is within-session overflow. My conversations regularly hit 100K+ words before they die/lag to unusble. The context window can't hold it all anyway, so even within a single session I'm losing early context. What I actually want is a rolling summarizer that compresses as the thread grows - keeping the essential through-line while shedding weight. That plus persistent cross-session memory would be the full solution. This a great idea tho, one I really like!</p>",
      "user": {
        "id": "9868402",
        "url": "[REDACTED]",
        "name": "[REDACTED]",
        "headline": null,
        "username": "[REDACTED]",
        "profile_url": "[REDACTED]",
        "website_url": null,
        "profile_image": null,
        "twitter_username": null
      },
      "user_id": "9868402",
      "is_maker": false,
      "parent_id": null,
      "created_at": "2026-05-31T19:31:14Z",
      "replies_raw": [],
      "votes_count": 1,
      "selection_score": 400,
      "selection_reason": "body_signal_score"
    },
    {
      "id": "5413688",
      "url": "https://www.producthunt.com/products/second-brain-cloudflare?comment=5413688&utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "body": "<p>Quick update since launch. Here are a few things worth noting:<br>We shipped the Second Brain CLI today. If you use the terminal, you can now capture and recall memories without leaving it.<br></p><pre><code>npm install -g second-brain-cf-cli</code></pre><p><br>For those asking about integrations, Second Brain works with Claude, ChatGPT, Cursor, Windsurf, and any MCP-compatible client. There’s also an Obsidian plugin in the community directory, a Chrome extension, iOS Shortcuts in the repo, and a web UI if you prefer managing everything visually.</p><p><br>CLI, Obsidian, Chrome extension, iOS Shortcuts, MCP… same memory, every interface.</p>",
      "user": {
        "id": "9325723",
        "url": "[REDACTED]",
        "name": "[REDACTED]",
        "headline": null,
        "username": "[REDACTED]",
        "profile_url": "[REDACTED]",
        "website_url": null,
        "profile_image": null,
        "twitter_username": null
      },
      "user_id": "9325723",
      "is_maker": false,
      "parent_id": null,
      "created_at": "2026-05-31T14:39:13Z",
      "replies_raw": [],
      "votes_count": 2,
      "selection_score": 400,
      "selection_reason": "body_signal_score"
    },
    {
      "id": "5413627",
      "url": "https://www.producthunt.com/products/second-brain-cloudflare?comment=5413627&utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "body": "<p>This is a strong wedge. The bit I’d be most careful with is treating “newer” as automatically more correct when memories conflict. For writing/product work especially, an old positioning decision might still be canonical while a recent one-off chat is just exploration.</p><p></p><p>A lightweight status layer could help a lot: canonical, draft, preference, deprecated, maybe source-linked. Then the model can say “I found the current rule” vs “I found a past note that may be stale,” instead of injecting both with the same confidence.</p>",
      "user": {
        "id": "9635808",
        "url": "[REDACTED]",
        "name": "[REDACTED]",
        "headline": null,
        "username": "[REDACTED]",
        "profile_url": "[REDACTED]",
        "website_url": null,
        "profile_image": null,
        "twitter_username": null
      },
      "user_id": "9635808",
      "is_maker": false,
      "parent_id": null,
      "created_at": "2026-05-31T14:04:38Z",
      "replies_raw": [],
      "votes_count": 2,
      "selection_score": 400,
      "selection_reason": "body_signal_score"
    },
    {
      "id": "5413461",
      "url": "https://www.producthunt.com/products/second-brain-cloudflare?comment=5413461&utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "body": "<p>Semantic retrieval over stored context beats keyword search for memory, and the dedup layer is a smart addition since AI workflows generate a lot of overlapping notes. We've wrestled with context window management in multi-step AI tasks too: deciding when to summarize vs. fetch older context is genuinely tricky. How does the similarity threshold work when memories partially overlap? Can users tune it?</p>",
      "user": {
        "id": "8689236",
        "url": "[REDACTED]",
        "name": "[REDACTED]",
        "headline": null,
        "username": "[REDACTED]",
        "profile_url": "[REDACTED]",
        "website_url": null,
        "profile_image": null,
        "twitter_username": null
      },
      "user_id": "8689236",
      "is_maker": false,
      "parent_id": null,
      "created_at": "2026-05-31T12:02:36Z",
      "replies_raw": [],
      "votes_count": 2,
      "selection_score": 400,
      "selection_reason": "body_signal_score"
    }
  ],
  "topics_raw": [
    {
      "id": "89",
      "name": "Open Source",
      "slug": "open-source"
    },
    {
      "id": "267",
      "name": "Developer Tools",
      "slug": "developer-tools"
    },
    {
      "id": "268",
      "name": "Artificial Intelligence",
      "slug": "artificial-intelligence"
    }
  ],
  "makers_raw": [
    {
      "id": "0",
      "url": "[REDACTED]",
      "name": "[REDACTED]",
      "headline": null,
      "username": "[REDACTED]",
      "profileUrl": "[REDACTED]",
      "websiteUrl": null,
      "profileImage": null,
      "twitterUsername": null
    }
  ],
  "launch_metadata_raw": {
    "slug": "second-brain-for-ai",
    "daily_rank": 3,
    "featured_at": "2026-05-31T07:01:00Z",
    "website_url": "https://www.producthunt.com/r/DHJEGKLQBKHAGY?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
    "weekly_rank": 31,
    "yearly_rank": null,
    "monthly_rank": 273,
    "scheduled_at": "2026-05-31T07:01:00Z",
    "reviews_rating": 0,
    "created_at_on_product_hunt": "2026-05-31T07:01:00Z"
  },
  "stats_raw": {
    "votes_count": 207,
    "reviews_count": 0,
    "comments_count": 34,
    "reviews_rating": 0
  },
  "aux_raw": {
    "media_extended": [
      {
        "url": "https://ph-files.imgix.net/a69a7796-caae-4946-91dc-37f175206bd9.png?auto=format",
        "type": "image",
        "videoUrl": null
      },
      {
        "url": "https://ph-files.imgix.net/0a54f90c-ee12-4a58-bec5-f5ee99626053.png?auto=format",
        "type": "image",
        "videoUrl": null
      },
      {
        "url": "https://ph-files.imgix.net/2a68fbf4-74aa-40b3-975e-c6300a070cf3.jpeg?auto=format",
        "type": "video",
        "videoUrl": "https://www.youtube.com/watch?v=h0JqRM0UxHE"
      }
    ],
    "submitter_user": {
      "id": "25713",
      "url": "https://www.producthunt.com/@fmerian?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "name": "fmerian",
      "headline": "hunting devtools e.g. v0.dev and kilo.ai",
      "username": "fmerian",
      "profileUrl": "https://www.producthunt.com/@fmerian?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "websiteUrl": "https://www.producthunt.com/upcoming/notion-design-system-documentation-by-specify",
      "profileImage": "https://ph-avatars.imgix.net/25713/621b90ee-788e-42ec-8fa3-25dd2910482a.jpeg?auto=format&crop=faces&fit=crop&h=original&w=original",
      "twitterUsername": "fmerian"
    },
    "presentation_only": {
      "thumbnail_url": "https://ph-files.imgix.net/a258efad-8dea-4ed3-b1bb-169089817168.png?auto=format",
      "product_hunt_url": "https://www.producthunt.com/products/second-brain-cloudflare?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
      "product_hunt_slug": "second-brain-for-ai"
    },
    "unused_upstream_fields": {
      "post_aux": {},
      "comments_aux": {},
      "post_detail_aux": {
        "media_raw": [
          {
            "url": "https://ph-files.imgix.net/a69a7796-caae-4946-91dc-37f175206bd9.png?auto=format",
            "type": "image",
            "videoUrl": null
          },
          {
            "url": "https://ph-files.imgix.net/0a54f90c-ee12-4a58-bec5-f5ee99626053.png?auto=format",
            "type": "image",
            "videoUrl": null
          },
          {
            "url": "https://ph-files.imgix.net/2a68fbf4-74aa-40b3-975e-c6300a070cf3.jpeg?auto=format",
            "type": "video",
            "videoUrl": "https://www.youtube.com/watch?v=h0JqRM0UxHE"
          }
        ],
        "thumbnail_raw": {
          "url": "https://ph-files.imgix.net/a258efad-8dea-4ed3-b1bb-169089817168.png?auto=format",
          "type": "image",
          "videoUrl": null
        },
        "presentation_only": {
          "product_hunt_slug": "second-brain-for-ai"
        },
        "product_links_raw": [
          {
            "url": "https://www.producthunt.com/r/Z4T2Z6ZW56DMNT?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
            "type": "Website"
          },
          {
            "url": "https://www.producthunt.com/r/VTG2KACDVTGO3P?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
            "type": "Twitter"
          },
          {
            "url": "https://www.producthunt.com/r/DHJEGKLQBKHAGY?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
            "type": "Github"
          },
          {
            "url": "https://www.producthunt.com/r/TM3XZEZJ3QCCF2?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
            "type": "Twitter"
          },
          {
            "url": "https://www.producthunt.com/r/Y4VBFRPT4VE22L?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
            "type": "YouTube"
          }
        ],
        "submitter_user_raw": {
          "id": "25713",
          "url": "https://www.producthunt.com/@fmerian?utm_campaign=producthunt-api&utm_medium=api-v2&utm_source=Application%3A+jingx+%28ID%3A+278031%29",
          "name": "fmerian",
          "headline": "hunting devtools e.g. v0.dev and kilo.ai",
          "username": "fmerian",
          "websiteUrl": "https://www.producthunt.com/upcoming/notion-design-system-documentation-by-specify",
          "profileImage": "https://ph-avatars.imgix.net/25713/621b90ee-788e-42ec-8fa3-25dd2910482a.jpeg?auto=format&crop=faces&fit=crop&h=original&w=original",
          "twitterUsername": "fmerian"
        },
        "unused_upstream_fields": {}
      }
    }
  },
  "selection_meta": {
    "scoring_basis": "maker first, then non-maker body signal score with original order tie-break",
    "first_comment_id": "5413983",
    "comments_strategy": "maker_plus_top_discussion",
    "detail_fetch_status": "ok",
    "top_candidate_count": 15,
    "maker_comment_source": "first_comment_fallback",
    "comments_fetch_status": "ok",
    "dropped_comment_count": 10,
    "comments_fetched_limit": 25,
    "newest_candidate_count": 15,
    "selected_comment_count": 5,
    "candidate_comment_count": 15,
    "selected_comment_reasons": [
      {
        "id": "5413983",
        "score": 306,
        "reason": "first_comment_fallback"
      },
      {
        "id": "5413968",
        "score": 400,
        "reason": "body_signal_score"
      },
      {
        "id": "5413688",
        "score": 400,
        "reason": "body_signal_score"
      },
      {
        "id": "5413627",
        "score": 400,
        "reason": "body_signal_score"
      },
      {
        "id": "5413461",
        "score": 400,
        "reason": "body_signal_score"
      }
    ]
  },
  "created_at": "2026-05-31T22:00:04.643Z",
  "updated_at": "2026-05-31T22:00:04.643Z"
}