{"id":287,"date":"2026-07-20T12:08:11","date_gmt":"2026-07-20T04:08:11","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/20\/2026-07-19\/"},"modified":"2026-07-20T12:08:11","modified_gmt":"2026-07-20T04:08:11","slug":"2026-07-19","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/20\/2026-07-19\/","title":{"rendered":"PH\u70ed\u699c | 2026-07-19"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-07-19<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-07-19<\/h1>\n<p>    <!-- \u5c55\u793aapp\u5361\u7247 --><\/p>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#1<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/Y35NVXDA24JBBT\" class=\"app-title\">OpenSEO<\/a><\/p>\n<div class=\"one-liner\">The open source Ahrefs alternative<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">595<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>OpenSEO\u4ee5\u5f00\u6e90\u548c\u6bcf\u670810\u7f8e\u5143\u7684\u4f4e\u4ef7\uff0c\u4e3a\u72ec\u7acb\u5f00\u53d1\u8005\u548c\u5c0f\u56e2\u961f\u63d0\u4f9b\u5173\u952e\u8bcd\u7814\u7a76\u3001\u7ade\u54c1\u5206\u6790\u3001\u5916\u94fe\u548c\u7f51\u7ad9\u5ba1\u8ba1\u7b49SEO\u57fa\u7840\u6570\u636e\uff0c\u5e76\u901a\u8fc7MCP\u534f\u8bae\u4e0eAI\u4ee3\u7406\u96c6\u6210\uff0c\u89e3\u51b3\u9ad8\u6602\u4e13\u4e1a\u5de5\u5177\u5e26\u6765\u7684\u4f7f\u7528\u95e8\u69db\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4e9ba10f-3997-42e5-8606-664347937ec5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9ecd33cf-73e2-461b-b5a4-61f909aa022c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d954eb46-715f-46e3-9ed6-6583f8f0464b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/06281924-d53e-42f8-b6a8-4830da7f3729.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">SEO<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90SEO\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Ahrefs\u66ff\u4ee3\u54c1<\/span><br \/>\n            <span class=\"tag\">\u5173\u952e\u8bcd\u7814\u7a76<\/span><br \/>\n            <span class=\"tag\">\u5916\u94fe\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u7ade\u54c1\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ef7SEO<\/span><br \/>\n            <span class=\"tag\">DataForSEO<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u76db\u8d5e\u4f4e\u4ef7\u548cMCP\u96c6\u6210\uff0c\u8ba4\u4e3a\u586b\u8865\u4e86\u5e02\u573a\u7a7a\u767d\u3002\u6838\u5fc3\u5efa\u8bae\u5305\u62ec\uff1a\u589e\u52a0\u5386\u53f2\u6392\u540d\u6570\u636e\u8ffd\u8e2a\u3001\u907f\u514d\u5185\u5bb9\u7b80\u62a5\u6a21\u677f\u50f5\u5316\u3001\u5efa\u8bae\u4e3a\u6bcf\u4e2a\u6570\u636e\u6307\u6807\u52a0\u76d6\u65f6\u6548\u6233\uff1b\u5e76\u5173\u6ce8\u5f53\u4ee3\u7406\u6279\u91cf\u67e5\u8be2\u65f6\uff0cAPI\u8c03\u7528\u662f\u5426\u4f1a\u88ab\u7f13\u5b58\u6216\u6279\u5904\u7406\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                OpenSEO\u7684\u806a\u660e\u4e4b\u5904\u4e0d\u5728\u4e8e\u6280\u672f\u7a81\u7834\uff0c\u800c\u5728\u4e8e\u7cbe\u51c6\u7684\u201c\u964d\u7ef4\u6253\u51fb\u201d\u3002\u5b83\u6ca1\u6709\u91cd\u65b0\u53d1\u660e\u8f6e\u5b50\uff0c\u800c\u662f\u5c06DataForSEO\u7684\u5e95\u5c42\u6570\u636e\u901a\u8fc7\u5f00\u6e90\u5916\u58f3\u548cMCP\u534f\u8bae\u91cd\u65b0\u5305\u88c5\uff0c\u76f4\u51fb\u4e24\u4e2a\u6838\u5fc3\u75db\u70b9\uff1a\u4e00\u662f\u9ad8\u6602\u7684\u8ba2\u9605\u8d39\u8ba9SEO\u6210\u4e3a\u5c0f\u56e2\u961f\u7684\u5962\u4f88\u54c1\uff0c\u4e8c\u662f\u4f20\u7edf\u5de5\u5177\u4e0eAI Agent\u7684\u5272\u88c2\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4ef7\u503c\u6838\u5fc3\u662f\u201c\u6570\u636e\u7ba1\u9053\u5316\u201d\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u6210\u4e3a\u4e00\u4e2a\u529f\u80fd\u7e41\u91cd\u7684\u5168\u80fd\u9762\u677f\uff0c\u800c\u662f\u628a\u81ea\u5df1\u5b9a\u4f4d\u4e3a\u4e00\u4e2a\u5e72\u51c0\u3001\u53ef\u96c6\u6210\u7684\u6570\u636e\u6e90\u3002\u8fd9\u6070\u597d\u662fAI\u65f6\u4ee3\u5bf9\u5de5\u5177\u7684\u65b0\u8981\u6c42\uff1a\u5de5\u5177\u5e94\u50cf\u4e50\u9ad8\u79ef\u6728\uff0c\u800c\u975e\u745e\u58eb\u519b\u5200\u3002\u901a\u8fc7\u4e0eMCP\u534f\u8bae\u7684\u65e0\u7f1d\u5bf9\u63a5\uff0cOpenSEO\u5141\u8bb8\u5f00\u53d1\u8005\u548cAgent\u76f4\u63a5\u8c03\u7528\u539f\u59cb\u7684\u3001\u7ed3\u6784\u5316\u7684SEO\u6570\u636e\uff0c\u4ece\u800c\u5728C\u7aef\u5851\u9020\u51fa\u667a\u80fd\u3001\u5b9a\u5236\u5316\u7684\u5185\u5bb9\u7b56\u7565\uff0c\u8fd9\u6bd4\u5728UI\u91cc\u70b9\u6765\u70b9\u53bb\u8981\u9ad8\u6548\u5f97\u591a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u9690\u5fe7\u540c\u6837\u660e\u663e\u3002\u5bf9DataForSEO\u7684\u5355\u4e00\u4f9d\u8d56\u662f\u6700\u5927\u7684\u963f\u5580\u7409\u65af\u4e4b\u8e35\u3002\u957f\u671f\u770b\uff0c\u5982\u679c\u6570\u636e\u6e90\u6da8\u4ef7\u6216\u505c\u6b62\u5408\u4f5c\uff0c\u5176\u5b9a\u4ef7\u4f18\u52bf\u5c06\u77ac\u95f4\u74e6\u89e3\u3002\u6b64\u5916\uff0c\u5f00\u6e90\u672c\u8eab\u662f\u4e00\u628a\u53cc\u5203\u5251\uff1a\u867d\u7136\u964d\u4f4e\u4e86\u4fe1\u4efb\u6210\u672c\u548c\u5b9a\u5236\u95e8\u69db\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u4ea7\u54c1\u4f53\u9a8c\u548c\u6838\u5fc3\u529f\u80fd\u7684\u8fed\u4ee3\u5c06\u4f9d\u8d56\u4e8e\u793e\u533a\u8d21\u732e\uff0c\u81ea\u5236\u529b\u4e0d\u5f3a\u7684\u9879\u76ee\u5bb9\u6613\u6ca6\u4e3a\u201c\u534a\u6210\u54c1\u201d\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u6700\u9002\u5408\u90a3\u4e9b\u61c2\u6280\u672f\u3001\u6709\u5b9a\u5236\u9700\u6c42\u3001\u4e14\u5bf9\u73b0\u6709\u5de5\u5177\u5b9a\u4ef7\u6df1\u6076\u75db\u7edd\u7684\u65e9\u671f\u91c7\u7eb3\u8005\u3002\u5bf9\u4e8e\u8ffd\u6c42\u5f00\u7bb1\u5373\u7528\u548c\u7a33\u5b9a\u529f\u80fd\u7684\u4e2d\u5927\u578b\u673a\u6784\uff0c\u8fd9\u9897\u4f4e\u4ef7\u7684\u7cd6\u8863\u4e0b\uff0c\u8fd8\u5305\u88f9\u7740\u4e0d\u5c0f\u7684\u98ce\u9669\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">OpenSEO<\/span>\n                <\/div>\n<div class=\"comment-content\">Without good data, your agent gives generic advice. Keyword research, competitor research, backlinks and site audits, starting at $10\/month instead of a $100-plus monthly subscription. Connect with MCP so that you can work with your agent to build an SEO strategy and write content tailored to your company.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally, an open-source alternative to <a href=\"https:\/\/www.producthunt.com\/products\/ahrefs\" target=\"_blank\" rel=\"noopener\">@Ahrefs<\/a> and <a href=\"https:\/\/www.producthunt.com\/products\/semrush\" target=\"_blank\" rel=\"noopener\">@SEMrush<\/a>. it&#8217;s about time.<\/p>\n<\/p>\n<p>S\/O to <a href=\"https:\/\/www.producthunt.com\/@bensenescu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bensenescu<\/a>, keep up the great work. oss ftw!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>17<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bensenescu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"bensenescu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bensenescu<\/a> <br \/>Glad someone finally built this. A lot of small teams give up on SEO before they start, because the tools cost $100\/mo before you&#8217;ve written a single post.<\/p>\n<p>So the pricing is what caught my eye. Backlink and keyword data is usually the expensive part \u2014 how are you sourcing it? Own crawler, or licensing an index?<\/p>\n<p>The MCP angle is interesting too. We work on the content planning side, and what we keep seeing is that agents will build a whole strategy on bad keyword data and sound completely confident about it. Do people trust the output more when the numbers are real, or does it just move the guessing one step later?<\/p>\n<p>Starred the repo. Hope this one does well.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@saied_alimoradi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@saied_alimoradi<\/a>&nbsp;We use DataForSEO which is the gold standard for backlinks + keyword data outside of Ahrefs and Semrush.  It definitely makes a huge difference compared to just asking Claude &#8220;what should I do?&#8221; without data to back it up. <\/p>\n<p>Hope that helps! let me know if you have other questions<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bensenescu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bensenescu<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@saied_alimoradi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@saied_alimoradi<\/a>&nbsp;Even the lowest plans over $100 now. All the serviceable plans are closer to $200\/mo. Agreed, long overdue. Excited to try it out. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello \ud83d\udc4b <\/p>\n<p>This February, I was building other open source projects and wanted to do SEO. <\/p>\n<p>I was floored by how expensive and bloated the tools were. There weren&#8217;t any modern open source solutions, so I figured I should just build that.<\/p>\n<p>Since then, it&#8217;s been really cool seeing founders and agencies enjoy the product and even building their own custom features. <\/p>\n<p>Hope you give it a try: <a href=\"https:\/\/openseo.so\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">openseo.so<\/a>. There are some trial credits to test it out, then it starts at $10\/month. <\/p>\n<p>You can also self host on Cloudflare or with Docker. <\/p>\n<p>Give us a <a href=\"https:\/\/github.com\/every-app\/open-seo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">star on github<\/a> or you can <a href=\"https:\/\/discord.gg\/c9uGs3cFXr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">join the discord<\/a> to get SEO advice, contribute, or just hang out.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>SEO has increasingly become an expensive play. You have found the right gap<a href=\"https:\/\/www.producthunt.com\/@bensenescu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bensenescu<\/a>. I will give a try. &nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bensenescu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bensenescu<\/a>&nbsp;Curious how the MCP layer handles batch queries. If an agent fires off twenty keyword lookups back to back, is that twenty separate API calls on your end, or do you batch or cache anything in between?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing that would make this way more useful for me is letting the MCP agent pull historical ranking data so I can see if keyword positions are actually moving over time, not just a snapshot of what the competitor looks like today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ecilkaya58405\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ecilkaya58405<\/a>&nbsp;Thanks for this feedback! Definitely something we can add, I&#8217;ll open a github issue today. What kind of SEO work do you do typically?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is gunna be huge. Well done<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@elie222\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elie222<\/a>&nbsp;Thanks Elie!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>On the content-brief idea you&#8217;re chewing on with @resulolys: I&#8217;d resist baking a fixed brief format into the tool at all. When we wired structured data into our agents, the fixed-template version kept fighting us the second someone wanted a different outline, and blogs vs landing pages vs comparison pages each want a different scaffold. Exposing keyword, competitor, and backlink as separate MCP tools and letting the agent compose the brief (your Hermes\/self-updating-skills instinct) ages better than one generator trying to cover every type. One watch-out with DataForSEO behind MCP: the agent will treat those volumes as ground truth, so stamping an as-of date on each metric keeps it from acting on a stale number.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@resulolys\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@resulolys<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;Thanks for the tips!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>open source is the right call here for something this data-heavy &#8211; keeps you from getting locked into one vendor&#8217;s index. curious how you&#8217;re sourcing backlink data at that price point though, is it your own crawler or are you licensing an existing index and just eating the margin?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Agreed! We use DataForSEO for our SEO data so we don&#8217;t have to build our own index.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can it be the better tool than ahrefs<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The $10 vs $100+ framing is what got me. I&#8217;ve watched so many small teams skip SEO tools entirely because the pricing assumes you&#8217;re an agency, so an open source option at a tenth of the cost fills a real gap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@talhakhalidmtk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@talhakhalidmtk<\/a>&nbsp;Glad its connecting with you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a great price for independent developers. Adopting the MCP method to integrate into my Agent is much smarter than adding another platform.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@1251912798\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@1251912798<\/a>&nbsp;\ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the price point is what caught my eye first, like $10 is kind of a no-brainer compared to what i was paying before. the MCP connection actually works smoothly with my setup which surprised me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ahmetrtensjl1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ahmetrtensjl1<\/a>&nbsp;Glad the MCP setup was smooth!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>would be awesome if you could add a content brief generator that pulls keyword and competitor data straight from the dashboard into a doc template, basically saving the back and forth between the tool and writing apps<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@demet46p6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@demet46p6<\/a>&nbsp;What writing apps do you use right now? What do you like about them?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the MCP integration is a really smart move, makes it feel like the tool actually fits into how people already work with their agents instead of being yet another standalone dashboard<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the pricing and the MCP angle is really smart. One thing that would help me as a user is a built-in content brief generator that pulls the keyword, competitor, and backlink data together into a single outline my agent can act on. Right now I still end up stitching the pieces together myself in a doc.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@resulolys\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@resulolys<\/a>&nbsp;Thanks! Yes, I like that content brief idea. It&#8217;s been on the todo list for a while. The tough part is getting it to work for all different kinds of users. I&#8217;ve been thinking of building something like Hermes for self updating skills. Would you just want blogs or lots of different kinds of content?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the MCP integration setup is. Most SEO tools bury that kind of connection behind ten menus, but here it feels like a one-click setup that actually respects how someone using an AI agent wants to work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hayriyei3xd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hayriyei3xd<\/a>&nbsp;Glad it was easy to get going! Let me know if you have any suggestions after you&#8217;ve spent some time with it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. The MCP plus real SEO data angle is strong. The part I would want as a user is traceability: when an agent suggests a keyword or page update, can I click through to the actual SERP, keyword, or backlink evidence it used? That would make agent SEO recommendations much easier to trust.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>@bensenescu The GSC loop is the part I&#8217;d stress-test. When we wired an agent to the Search Console API, the last 2-3 days of rows were still settling, so anything published Friday read as flat until Monday and the agent kept trying to &#8220;fix&#8221; work that was actually fine. We ended up throwing away the trailing 72 hours before letting it draw any conclusion. Does yours hold that window back, or does it read the freshest rows it can get?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>@Ben Senescu makes sense, DataForSEO is a solid choice, that keeps you from having to run your own crawler at that scale. good answer, thanks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been on the content side for a while \u2014 writing-focused, not SEO-first \u2014 and the pricing of every serious SEO tool has always assumed you&#8217;re an agency running five client accounts. You just need to know which topic gaps actually exist before you spend three weeks writing something nobody will find.<\/p>\n<\/p>\n<p>The open-source angle here matters more than the price tag, though. Most content people I know aren&#8217;t going to self-host anything, but knowing the data layer is DataForSEO and auditable changes how much you trust the keyword numbers. Black-box confidence scores are the part that always made me discount the recommendations anyway.<\/p>\n<\/p>\n<p>Congrats on shipping this \u2014 curious how the content-brief workflow compares to using the backlink data directly for topic research rather than competitive analysis.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This fills an immediate need and fits right into my agent workflow. Trying it out right now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The $10\/mo + MCP + GSC loop is a genuinely appealing combo for solo founders who can&#8217;t justify a $100 Ahrefs seat. Curious about the cold-start case though: for a brand-new domain with basically no rankings or backlinks yet, does the agent still give useful direction, or does it need some baseline history to work from first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The data grounding solves half the problem. The other half is what the agent does with it: give an agent keyword targets and it will happily over optimize, stuffing the exact phrases until the content reads generic and obviously machine written. Real data plus a light touch on the writing is where this gets genuinely useful. How opinionated is it about the output, or does it leave the writing style to you?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thanks for the straight answers on DataForSEO all through this thread. One follow-up now that GSC is in the loop: does the agent get ranking history as its own MCP tool, or does it come back bundled with the keyword call? We found agents behave very differently when the &#8220;what happened after we shipped&#8221; data is a separate tool they have to decide to call, instead of something that arrives for free with the research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><em>Congrats \u2014 #1 on a Sunday is no accident. The self-host option is the part I find most interesting: if I run it on my own Cloudflare\/Docker, what happens to the data layer? Do I bring my own DataForSEO key and pay them directly, or does usage still route through your account? Asking because that&#8217;s usually where &#8216;open source&#8217; SEO tools quietly stop being self-sufficient \u2014 the index is the moat, not the code.<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nitish_garg4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nitish_garg4<\/a>&nbsp;Yea, if you self host, you just go directly through DataForSEO + your own integrations. If you use the hosted version, that&#8217;s all set up for you already.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks and work really well, just 10 minutes in using it and I can see the ease-of-use and clarity! Adding my 2nd project and will add more. Tip: when adding 1st project it didn&#8217;t pick the name of the &#8220;google search console&#8221;, just default, so it was a bit tricky to figure out that &#8220;a project&#8221; was the way to add another. Great work otherwise!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vegardwikeby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vegardwikeby<\/a>&nbsp;This is great feedback, thank you. Glad the setup was smooth otherwise!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Open-source SEO is overdue, and the MCP angle is smart \u2014 letting an agent actually pull the data instead of guessing is the whole point. The hard part of any Ahrefs alt has always been the backlink index; that&#8217;s the real moat, not the UI. Where does your link\/keyword data come from, and how fresh is it? Following.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>what&#8217;s the data source behind it ?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@pavlos1944\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pavlos1944<\/a>&nbsp;DataForSEO<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi I wish there&#8217;s more guidance on how to use it properly. Where can I find a tutorial on best practices to use this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hypetris\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hypetris<\/a>&nbsp;Coming soon! Join the discord and ask any questions you have in #seo-advice in the meantime.<\/p>\n<p><a href=\"https:\/\/discord.gg\/c9uGs3cFXr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/c9uGs3cFXr<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the price point alone made me try it, and the MCP integration actually worked smoothly with my agent. keyword data feels solid so far, will keep poking at it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zilansalm5w7b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zilansalm5w7b<\/a>&nbsp;Glad your liking it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>real data behind the mcp is the smart part, most seo agents just vibe keywords. does the agent loop back to see which ones moved rankings after publish?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrewzakonov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrewzakonov<\/a>&nbsp;Yup! We have a GSC integration so that the agent can see how its changes affect performance over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/GQBVJSAAASPGEN\" class=\"app-title\">Spycost<\/a><\/p>\n<div class=\"one-liner\">Fell for a discount again?<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">300<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Spycost\u662f\u4e00\u6b3e\u4ef7\u683c\u8ffd\u8e2a\u5de5\u5177\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u8d2d\u7269\u65f6\u8bc6\u522b\u865a\u5047\u6298\u6263\u548c\u4ef7\u683c\u64cd\u7eb5\uff0c\u901a\u8fc7\u5c55\u793a\u771f\u5b9e\u7684\u5386\u53f2\u4ef7\u683c\u8d8b\u52bf\uff0c\u907f\u514d\u56e0\u201c\u9650\u65f6\u4f18\u60e0\u201d\u7b49\u8425\u9500\u624b\u6bb5\u800c\u51b2\u52a8\u6d88\u8d39\uff0c\u8ba9\u7528\u6237\u505a\u51fa\u66f4\u7406\u6027\u7684\u8d2d\u4e70\u51b3\u7b56\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2e8eaaef-e5f7-4afd-a32a-b9c1da344ed7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2106a9a3-fd65-4cd5-b06d-d6eae2757a82.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/637c3c23-cd44-4606-866b-09ea1f03e77c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d31099ec-6482-40f8-aa4f-a3b20bd285b7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ba0715e1-59e3-4fda-8ff6-a968f311163b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Finance<\/span><br \/>\n            <span class=\"tag\">Shopping<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u540c\u865a\u5047\u6298\u6263\u662f\u75db\u70b9\u3002\u4e3b\u8981\u95ee\u9898\uff1a\u9996\u6b21\u6dfb\u52a0\u5546\u54c1\u65e0\u5386\u53f2\u4ef7\u683c\u56de\u586b\uff0c\u9700\u7b49\u5f85\u6570\u636e\u79ef\u7d2f\uff1b\u5b9a\u4ef7\u9875\u52a0\u8f7d\u5931\u8d25\uff1b\u4ef7\u683c\u53ef\u80fd\u56e0\u5730\u533a\/\u4f1a\u8bdd\u800c\u5f02\uff0c\u9700\u4fdd\u8bc1\u6570\u636e\u4e00\u81f4\u6027\u3002\u5efa\u8bae\uff1a\u589e\u52a0AI\u9884\u6d4b\u964d\u4ef7\u3001\u81ea\u52a8\u4ece\u6536\u636e\u6293\u53d6\u4ef7\u683c\uff0c\u4ee5\u53ca\u63ed\u9732\u201c\u5e93\u5b58\u7d27\u7f3a\u201d\u7b49\u865a\u5047\u7a00\u7f3a\u7b56\u7565\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Spycot\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u6301\u4e45\u7684\u6d88\u8d39\u75db\u70b9\uff1a\u7535\u5546\u5e73\u53f0\u5229\u7528\u4fe1\u606f\u4e0d\u5bf9\u79f0\uff0c\u901a\u8fc7\u865a\u6807\u539f\u4ef7\u3001\u9891\u7e41\u8c03\u4ef7\u3001\u5236\u9020\u7d27\u8feb\u611f\u7b49\u624b\u6bb5\u8bf1\u5bfc\u6d88\u8d39\u3002\u4ea7\u54c1\u5b9a\u4f4d\u6e05\u6670\uff0c\u4e0d\u662f\u53c8\u4e00\u4e2a\u51b2\u52a8\u6d88\u8d39\u63a8\u8350\u5668\uff0c\u800c\u662f\u53cd\u5411\u7684\u201c\u6e05\u9192\u5242\u201d\u2014\u2014\u5b83\u5e2e\u7528\u6237\u770b\u6e05\u4ef7\u683c\u80cc\u540e\u7684\u64cd\u7eb5\u903b\u8f91\uff0c\u628a\u8d2d\u7269\u51b3\u7b56\u6743\u771f\u6b63\u4ea4\u8fd8\u7ed9\u7528\u6237\u3002\u4ece\u8bc4\u8bba\u533a\u6765\u770b\uff0c\u7528\u6237\u5bf9\u201c\u4ef7\u683c\u5386\u53f2\u65e0\u6cd5\u56de\u586b\u201d\u7684\u8d28\u7591\u662f\u6700\u96c6\u4e2d\u7684\uff0c\u8fd9\u6070\u6070\u662f\u4ea7\u54c1\u7684\u547d\u95e8\uff1a\u6ca1\u6709\u8db3\u591f\u5386\u53f2\u6570\u636e\u652f\u6491\uff0c\u201c\u68c0\u6d4b\u865a\u5047\u6298\u6263\u201d\u7684\u6838\u5fc3\u4ef7\u503c\u5c31\u65e0\u4ece\u53d1\u6325\u3002\u521b\u59cb\u4eba\u5766\u8bda\u5f53\u524d\u65e0\u6cd5\u56de\u6eaf\u6570\u636e\uff0c\u5e76\u8ba1\u5212\u7528AI\u9884\u6d4b\u672a\u6765\u4ef7\u683c\uff0c\u8fd9\u867d\u7136\u662f\u52a1\u5b9e\u8def\u7ebf\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u65e9\u671f\u7528\u6237\u9700\u8981\u5fcd\u53d7\u4e00\u6bb5\u201c\u51b7\u542f\u52a8\u201d\u7684\u771f\u7a7a\u671f\uff0c\u4ea7\u54c1\u4f53\u9a8c\u548c\u4fe1\u4efb\u5efa\u7acb\u9762\u4e34\u6311\u6218\u3002\u6b64\u5916\uff0c\u591a\u533a\u57df\u3001\u591a\u4f1a\u8bdd\u7b49\u590d\u6742\u5b9a\u4ef7\u73af\u5883\u7684\u8ffd\u8e2a\u96be\u5ea6\u4e0d\u53ef\u5c0f\u89d1\uff0c\u521b\u59cb\u4eba\u8ba4\u8bc6\u5230\u201c\u4e0a\u4e0b\u6587\u6bd4\u4ef7\u683c\u672c\u8eab\u66f4\u91cd\u8981\u201d\u662f\u597d\u4e8b\uff0c\u4f46\u5b9e\u73b0\u771f\u6b63\u53ef\u9760\u7684\u591a\u7ef4\u4ef7\u683c\u56fe\u8c31\u6280\u672f\u95e8\u69db\u4e0d\u4f4e\u3002\u6574\u4f53\u800c\u8a00\uff0cSpycot\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u7701\u94b1\u201d\uff0c\u800c\u5728\u4e8e\u201c\u77e5\u60c5\u201d\u2014\u2014\u5b83\u8d4b\u4e88\u4e86\u6d88\u8d39\u8005\u5bf9\u6297\u4fe1\u606f\u9738\u6743\u7684\u80fd\u529b\u3002\u5982\u679c\u80fd\u6210\u529f\u89e3\u51b3\u6570\u636e\u51b7\u542f\u52a8\u95ee\u9898\uff0c\u5e76\u907f\u5f00\u5b9a\u4ef7\u9875\u9762\u5d29\u6e83\u3001\u52a0\u8f7d\u5931\u8d25\u7b49\u6280\u672f\u786c\u4f24\uff0c\u5b83\u6709\u673a\u4f1a\u6210\u4e3a\u7f51\u8d2d\u5fc5\u5907\u7684\u57fa\u7840\u8bbe\u65bd\u3002\u4f46\u82e5\u505c\u7559\u4e8e\u201c\u4e2a\u4f53\u624b\u52a8\u6dfb\u52a0\u201d\u7684\u8f7b\u91cf\u6a21\u5f0f\uff0c\u6050\u96be\u5f62\u6210\u7f51\u7edc\u6548\u5e94\uff0c\u6700\u7ec8\u6210\u4e3a\u5c11\u6570\u6781\u5ba2\u7684\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Spycost<\/span>\n                <\/div>\n<div class=\"comment-content\">Remember the last time you bought something at a discount, only to see it later for the same price without the discount? Or when the product costs more today than it did yesterday. Did you feel cheated? Are you ready to look behind the screen of manipulation and lies? Spycost helps you see when you\u2019re paying more while thinking you\u2019re paying less. It gives you the full price picture, so you can decide whether it\u2019s actually worth it.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built Spycost because I couldn\u2019t build a clear purchase priority list while being constantly hit with \u201cattractive offers.\u201d<\/p>\n<p>I kept breaking my own priorities because I was buying less important things just because I saw a \u201cdiscount\u201d.<\/p>\n<p>And later, I kept realizing that the discount I fell for was fake, or not nearly as good as it was presented.<\/p>\n<p>I constantly felt stupid, like I had been robbed by thieves I opened the door for and invited into my home myself.<\/p>\n<p>Spycost is a price tracker that shows you when you\u2019re being fooled, or when the right moment to buy has finally come. At the end of the day, the final choice is still yours.<\/p>\n<p>If you don\u2019t need to buy something right here and now, but you\u2019re only planning to buy it, this is the perfect option for you.<\/p>\n<p>I built Spycost for myself, and I\u2019ll be happy if it helps you too!<\/p>\n<p>\u2014 Hlib<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@glebarios visual is simply amazing \ud83e\udd17 and of course fake discounts is unfortunately common pactice.<\/p>\n<p>Do you cover some specific markets or it&#8217;s worldwide?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@glebarios This is such a relatable pain point. good luck \ud83e\udd1e<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@glebarios Saw the link in the community on LinkedIn and just had to check it out! This idea really appealed to me because impulse buying due to &#8216;fake discounts&#8217; is such a relatable problem. Love how you&#8217;re making things so much easier and transparent for buyers. You definitely have my support, Hlib! Good luck with the launch!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the duck-as-a-spy branding is doing a lot of work here, it&#8217;s memorable. question on the price history itself &#8211; when I add a product I just found today, do you backfill history from somewhere, or does the chart only start from the moment I add it, so the &#8220;is this actually a good deal&#8221; signal takes a while to become useful?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a> thanks! Right now we don\u2019t backfill old data: the price history starts accumulating from the moment you add a product.<\/p>\n<p>I know that can feel inconvenient at first, because the \u201cis this a real deal?\u201d signal needs a bit of time. But I also think that\u2019s part of the value: it makes buying less impulsive and more transparent.<\/p>\n<p>From my own observations, large retailers, especially in electronics, change prices almost daily. We just usually don\u2019t notice it. For example, I\u2019m tracking an Elegoo 3D printer, and over the last month they changed the price 7 times, with a difference of around \u20ac40 between the highs and lows. The changes often follow the same pattern, so I\u2019m planning to add AI that can predict likely price drops in advance.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d1f9893c-838b-4ac9-ab1c-98bef17351c3.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a very relatable problem. The product seems strongest if it turns \u201cI bought too early\u201d into a simple post-purchase routine rather than another tracker to manage. Do you monitor price drops automatically from receipts or orders, or does the user manually add each purchase?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I don&#8217;t even trust discounts these days for this exact reason. Will try this out!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rich_sun\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"rich_sun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rich_sun<\/a> thank you! That loss of trust is exactly what pushed me to build Spycost. A discount should make a decision easier, not pressure us into buying without context. I want Spycost to show the price story clearly, so people can decide based on the real pattern, not just the label.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Context specific is the right call. What saved us when we stored scraped prices was writing the request context into the same row as the number, so region, currency and whether we were logged in all travelled with it. Before that we lost an afternoon chasing a price drop that turned out to be a different geo answering the same URL.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;exactly, that\u2019s a very useful lesson. The price itself is only half of the data; the request context has to travel with it, otherwise the history can become misleading very quickly.<\/p>\n<p>That\u2019s the direction I\u2019m taking with Spycost too: each snapshot should be tied to the context that produced it, like region, currency, store conditions, availability, and whether it came from an anonymous or user-side session. Then the baseline is not just \u201cthis URL was X yesterday\u201d, but \u201cthis product under this context was X yesterday\u201d.<\/p>\n<p>Your geo example is exactly the kind of false signal I want to avoid. If the data is mixed or uncertain, Spycost should make that visible instead of pretending the answer is cleaner than it really is.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the idea, I&#8217;ve been burned by fake discounts before, but I also wonder how often the best price is worth waiting weeks or months for.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@reda_roqai_chaoui\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"reda_roqai_chaoui\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reda_roqai_chaoui<\/a> thank you, Reda! That&#8217;s exactly the tradeoff I think about too. The goal isn&#8217;t to make people wait forever for the absolute lowest price, because sometimes buying now is worth it. Spycost is more about giving you the context: was this price recently normal, is it trending down, and does the &#8220;discount&#8221; actually look real. Then you can decide whether waiting makes sense for that specific product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, Hlib.<\/p>\n<p>Ran a quick manual QA pass over the site out of habit. One thing worth <\/p>\n<p>checking right now: your Pricing section stays on &#8220;Loading available <\/p>\n<p>plans&#8230;&#8221; and the plan data isn&#8217;t in the served HTML, so the Pricing <\/p>\n<p>link in your header currently leads to a section with no prices.<\/p>\n<p>Found a few other bits too. Happy to send the write-up over if useful &#8211; <\/p>\n<p>free, no strings.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@day_qa\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"day_qa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@day_qa<\/a> thanks a lot for taking the time to check this and point it out. I really appreciate it. I\u2019d be happy to take a look at what you found. Could you send the write-up to me on LinkedIn? <a href=\"https:\/\/www.linkedin.com\/in\/hlib-sukhovoi-9b78aa299\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.linkedin.com\/in\/hlib&#8230;<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The duck-spy branding got me before I even finished the tagline, nice touch. The thing I kept hitting when I built price scrapers is that a lot of retailers personalize or geo-vary the price now, and some quietly A\/B test it mid-session, so &#8216;the price yesterday&#8217; isn&#8217;t one number, it&#8217;s a spread. Do you snapshot from a fixed region and session so the history stays apples-to-apples, or could two people see different Spycost baselines for the same product? That&#8217;s the part that decides whether the &#8216;is this a real deal&#8217; call actually holds up over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a> thank you! And glad the duck-spy made you smile \ud83d\ude42<\/p>\n<p>You\u2019re absolutely right: \u201cthe price yesterday\u201d is not always one clean global number anymore. It can vary by region, currency, availability, delivery rules, session, cookies, account state, or even A\/B tests.<\/p>\n<p>The way I\u2019m approaching this with Spycost is to treat price history as context-specific, not as one universal baseline for everyone. So the important part is keeping the comparison apples-to-apples for the same product and tracking context. If two people are in different regions or see different store conditions, their baselines may be different, and I\u2019d rather make that explicit than hide it behind a false single number.<\/p>\n<p>Longer term, I want Spycost to show more of that context directly: region\/currency, confidence, and eventually price ranges when there is enough signal. The \u201cis this a real deal?\u201d call only holds up if the history is honest about where the data came from.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that actually calls out fake discounts! So tired of &#8220;limited <\/p>\n<p>time&#8221; sales that are always running. This is the kind of tool that makes <\/p>\n<p>shopping way less stressful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@georg_werner\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"georg_werner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@georg_werner<\/a> Exactly, those endless \u201climited-time\u201d sales are one of the things that pushed me to build Spycost. The idea is to make the real price history visible, so shopping feels less like guessing and more like making a clear decision. What kind of pricing trick do you notice most often when shopping online?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Strong pain point, beautiful solution, and a great launch \ud83d\ude42<br \/>Good job, amigo.<\/p>\n<p>Next Feature Idea: call bullshit on &#8220;only X seats left, etc&#8221; \ud83d\ude1b<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@knolladrian\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"knolladrian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@knolladrian<\/a> Thanks, Adrian! I love that feature idea. Fake scarcity like \u201conly X seats left\u201d sits in the same dark-pattern family as fake discounts, and it would be powerful to show people when that pressure is just noise. Where do you see this tactic most often: travel, SaaS, marketplaces, or somewhere else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Price history tracking should be built into every e-commerce site but it never will be because it&#8217;s bad for business.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ringo_td5\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ringo_td5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ringo_td5<\/a> yes, I completely agree. Price history should be a basic part of e-commerce, but realistically most stores will probably never add it themselves because it goes against the way many discounts are designed to work.<\/p>\n<p>What surprises me is how few people realize how much our buying decisions are shaped by price changes, crossed-out prices, urgency labels, and \u201climited time\u201d deals. Often it\u2019s not about helping us make a better decision, it\u2019s about pushing us to buy faster.<\/p>\n<p>That\u2019s exactly why I\u2019m building Spycost: to give people the missing context and make these pricing tricks easier to see.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is a real problem, fake discounts are everywhere. genuinely curious about the mechanics though &#8211; to know a price history you&#8217;d need to have been tracking a product before the &#8220;discount&#8221; showed up. does it only work for stores\/products already in your database, or is there a way to check a price you&#8217;re seeing for the first time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a> thanks for the thoughtful question. Right now, if a product wasn\u2019t already being tracked, the most reliable price history starts from the moment it\u2019s added.<\/p>\n<p>But we\u2019re actively working on making the first-time check much more useful too. Our priority is that every user can get as much price context as possible right at the moment they\u2019re deciding, not only after waiting for weeks of tracking data.<\/p>\n<p>So the goal is to improve how Spycost collects, compares, and shows price signals so you can better understand whether today\u2019s price looks normal, inflated, or actually good, even when you\u2019ve just discovered the product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, Hlib \u2014 the spy-duck is perfect for this. One thing I\u2019m genuinely curious about: when I add a product, do I see its price history from before I started tracking (so I can judge today\u2019s \u201cdeal\u201d right away), or does the history only build up from the moment I add it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrei_rebrov1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrei_rebrov1<\/a> thanks a lot! Right now Spycost doesn\u2019t backfill old price data: the history starts accumulating from the moment you add a product.<\/p>\n<p>I know that means the \u201cis this actually a good deal?\u201d signal needs a bit of time to become useful. It can feel less convenient at first, but I also think it makes the purchase less impulsive and more transparent. Instead of trusting a discount label, you start seeing how the price really behaves over time.<\/p>\n<p>From my own observations, big retailers, especially electronics stores, change prices almost every day. We just usually don\u2019t notice it. For example, I\u2019m tracking an Elegoo 3D printer, and over the last month its price changed 7 times, with around \u20ac40 between the highest and lowest prices. These changes often follow repeatable patterns, so I\u2019m planning to add AI that can help predict likely price drops in advance.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/39b08e77-ccb1-4dc6-b928-a66686cbff48.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/products\/spycost\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"spycost\" target=\"_blank\" rel=\"noopener\">@Spycost<\/a> Team, congrats on launching!<\/p>\n<p>This resonates with me. Last November, I waited weeks for a deal on a coffee machine. When the discount finally appeared, something seemed off. I checked a screenshot I had taken earlier, and the &#8220;sale price&#8221; was the same as it had been a month earlier. They had increased the price just to reduce it again. I really felt manipulated. I wish I had Spycost then. I&#8217;m definitely going to try your tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vitalii_rybka\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"vitalii_rybka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vitalii_rybka<\/a> thank you, Vitalii! That coffee machine example is exactly the kind of situation that pushed me to build Spycost. The frustrating part is not only the price itself, but the feeling that the \u201cdiscount\u201d is designed to rush you into a decision without the full context. I hope Spycost helps you catch those moments earlier and buy only when the deal is actually real. Would love to hear what you think after trying it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Nice concept! Does it work across most online stores, or are you focusing on specific retailers first?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nadiia_prokofieva\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"nadiia_prokofieva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nadiia_prokofieva<\/a> thank you! Spycost isn\u2019t limited to a fixed list of retailers. It\u2019s designed to work with the vast majority of online stores, and so far it has worked well across different shops and regions.<\/p>\n<p>Right now the focus is reliable tracking for specific products, but I definitely want to expand this in the future so you can track not only one exact product, but a whole product class too, for example coffee machines with certain parameters across multiple brands and stores.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Is it capable of tracking a product CLASS, not just exact single product? A good example would be buying a coffee machine. You know a set of features\/parameters you need, but you are open to look at multiple brands.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nikitaeverywhere\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"nikitaeverywhere\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikitaeverywhere<\/a> thank you! At the moment Spycost doesn\u2019t track a whole product class yet, only specific products. But this is exactly the direction I want to move in: helping you define what you need, like a coffee machine with certain parameters, and then watching multiple relevant options across brands.<\/p>\n<p>Right now the main priority is to cover more platforms and make product tracking reliable across more stores. After that, expanding into broader product categories and smarter matching is a very natural next step.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">looks interesting product, what I feel as a difference is exposing the psychology of discounts \ud83d\ude09<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@riya_jawandhiya\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"riya_jawandhiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@riya_jawandhiya<\/a> yes, exactly. I think you described the problem really well. A lot of the time we\u2019re not just seeing a discount, we\u2019re being pushed into a decision through urgency, crossed-out prices, and \u201climited time\u201d labels.<\/p>\n<p>It doesn\u2019t always mean the deal is bad, but without price history it\u2019s very hard to understand what\u2019s real and what\u2019s just manipulation. That\u2019s the part I wanted Spycost to make more transparent.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love a browser extension version so it can auto-track prices while I shop instead of me having to look things up manually every time, would make it way easier to catch those sneaky price jumps in the moment.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sevilckr0\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sevilckr0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sevilckr0<\/a> thank you for the comment! A browser extension is actually the next highest-priority goal for Spycost.<\/p>\n<p>I think it can make the whole experience much more natural: instead of switching between tools or remembering to check prices later, you\u2019ll be able to keep shopping as usual and see the important price context directly on the product page. That\u2019s the direction I\u2019m most excited to build next.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing that would make Spycost really useful for me is a simple browser extension that automatically flags price drops and fake discounts while I shop, instead of me having to look things up manually each time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aysunvcyf\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"aysunvcyf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aysunvcyf<\/a> thank you so much for checking out Spycost! I really appreciate the support. I built it from a pretty personal frustration with confusing discounts, so it means a lot to see people connect with the idea.<\/p>\n<p>A browser extension is also one of the next priority tasks. The goal is to help you spot price changes and get warnings directly while shopping, without having to leave the product page or break your flow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is painfully relatable. a discount can make something feel urgent even when it was never a priority in the first place, and finding out later that the &#8220;sale&#8221; price was basically normal makes it even worse \ud83d\ude42<\/p>\n<\/p>\n<p>I like that Spycost does not try to decide for the user, it just shows the real price history so the choice is based on context instead of pressure. Curious how it handles stores that constantly change product URLs, variants, or create fake reference prices to make discounts look bigger.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrasczeizel\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a> thank you! I\u2019ve been thinking a lot about how often shopping decisions are shaped by urgency rather than real value. A discount can feel like information, but sometimes it\u2019s just pressure wrapped in a nice label.<\/p>\n<p>That\u2019s what I\u2019m trying to explore with Spycost: not to tell people what to buy, but to give them a calmer view of the price over time. When you can see the history, it becomes easier to pause for a second and decide with a bit more confidence.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I had to add this product into my &#8220;Interesting&#8221; collection because I love discounts \ud83d\ude00 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a> thank you! I\u2019m really glad the concept felt interesting to you. Discounts are hard to resist, and that\u2019s exactly the kind of moment I wanted Spycost to make a little clearer. There are also a couple of bigger updates ahead, so price tracking should become even easier and a bit smarter soon.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is there a browser extension that allow me to see price history for specific product directly on PDP? <\/p>\n<p>Project look interesting, good luck \ud83c\udf40 with launch <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@spiri7\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"spiri7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@spiri7<\/a> thank you! Not yet, but a browser extension is already in the backlog and it\u2019s one of the priority next steps for Spycost. The idea is exactly that: to let you open a product page and quickly see the price history directly there, without needing to switch context.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@glebarios I\u2019m also up to browser extension version but for sure will test web version as well! Best of luck today \ud83d\udd96\ud83c\udffb<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/B2O6SVSYZAAX5V\" class=\"app-title\">Kobbe<\/a><\/p>\n<div class=\"one-liner\">Privacy-friendly web analytics with traffic and revenue.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">268<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kobbe\u662f\u4e00\u6b3e\u65e0\u9700Cookie\u3001\u6ce8\u91cd\u9690\u79c1\u7684\u7f51\u7ad9\u5206\u6790\u5de5\u5177\uff0c\u901a\u8fc7\u8f7b\u91cf\u811a\u672c\u5feb\u901f\u90e8\u7f72\uff0c\u5e2e\u52a9\u7ad9\u957f\u5728\u8ffd\u8e2a\u6d41\u91cf\u3001\u9875\u9762\u6765\u6e90\u3001\u6536\u5165\u5f52\u56e0\u548c\u7528\u6237\u6f0f\u6597\u65f6\uff0c\u6446\u8131\u4f20\u7edf\u5206\u6790\u5e73\u53f0\u7684\u590d\u6742\u6027\u548c\u5408\u89c4\u8d1f\u62c5\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6cf4464e-39c9-4b01-b42e-8d718cdaac68.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/972c95bf-6b31-4402-a951-94ac197b0fe4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d2e433b1-627e-444c-9c78-27850b8c9249.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/696fedaf-9b8b-437d-bf7a-542f3c18f4d6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2d4f9650-df37-4d46-9cd9-e8a22ff5ca5a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3e5803fc-9f0d-4ec4-a77a-1c211a36fbb2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Analytics<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u9690\u79c1\u53cb\u597d\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u65e0Cookie\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u6d41\u91cf\u7edf\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u6536\u5165\u5f52\u56e0<\/span><br \/>\n            <span class=\"tag\">\u6f0f\u6597\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">AI\u6d41\u91cf\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u5206\u6790\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Stripe\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">Google Search Console<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u521b\u5ba2\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u5176\u7b80\u6d01\u8bbe\u8ba1\u548c\u6536\u5165\u5f52\u56e0\u529f\u80fd\u3002\u5173\u952e\u5efa\u8bae\u5305\u62ec\uff1a\u589e\u52a0\u8de8\u65e5\u671f\u8303\u56f4\u6d41\u91cf\u4e0e\u6536\u5165\u5bf9\u6bd4\u89c6\u56fe\uff1b\u6dfb\u52a0\u4f5c\u7528\u4e8e\u7279\u5b9a\u9875\u9762\u7684\u6f0f\u6597\u8d77\u70b9\uff1b\u8003\u8651\u70ed\u529b\u56fe\u529f\u80fd\u3002\u6709\u7528\u6237\u5bf9\u65e0Cookie\u4e0b\u7684\u591a\u4f1a\u8bdd\u5f52\u56e0\u673a\u5236\u63d0\u51fa\u7591\u95ee\uff0c\u4e5f\u6709\u7528\u6237\u6307\u51faIP\u53cd\u67e5\u516c\u53f8\u529f\u80fd\u5b58\u5728\u9690\u79c1\u62ab\u9732\u7684\u5f20\u529b\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Kobbe\u7cbe\u51c6\u5361\u4f4d\u5728\u4e00\u4e2a\u5fae\u5999\u800c\u521a\u9700\u7684\u7f1d\u9699\uff1a\u5b83\u65e2\u60f3\u6ee1\u8db3\u201c\u9690\u79c1\u5408\u89c4\u201d\u7684\u6d45\u5c42\u9700\u6c42\uff0c\u53c8\u4e0d\u60f3\u653e\u5f03\u201c\u6536\u5165\u5f52\u56e0\u201d\u8fd9\u4e2a\u6df1\u5ea6\u5546\u4e1a\u4ef7\u503c\u3002\u4ece\u8bc4\u8bba\u70ed\u5ea6\u770b\uff0c\u8425\u6536\u5f52\u56e0\u662f\u5176\u6838\u5fc3\u5dee\u5f02\u70b9\u2014\u2014\u591a\u6570\u8f7b\u91cf\u5206\u6790\u5de5\u5177\u53ea\u5c55\u793a\u201c\u6709\u591a\u5c11\u4eba\u770b\u201d\uff0cKobbe\u8bd5\u56fe\u56de\u7b54\u201c\u8c01\u770b\u4e86\u4e4b\u540e\u771f\u7684\u4ed8\u4e86\u94b1\u201d\u3002\u4e0eStripe\u3001Paddle\u7b49\u652f\u4ed8\u7f51\u5173\u7684\u539f\u751f\u96c6\u6210\uff0c\u8ba9\u5b83\u5bf9\u72ec\u7acb\u5f00\u53d1\u8005\u3001SaaS\u548c\u5185\u5bb9\u521b\u4f5c\u8005\u6709\u5b9e\u5728\u7684\u5438\u5f15\u529b\uff0c\u5c24\u5176\u662f\u90a3\u4e9b\u9760\u5355\u7bc7\u5185\u5bb9\u9a71\u52a8\u8f6c\u5316\u7684\u9879\u76ee\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5ba3\u79f0\u201c\u65e0Cookie\u201d\u4e0e\u5b9e\u73b0\u201c\u8de8\u4f1a\u8bdd\u6f0f\u6597\u201d\u4e4b\u95f4\u5b58\u5728\u903b\u8f91\u5f20\u529b\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u53cd\u590d\u8ffd\u95ee\u201c\u6ca1\u6709\u6301\u4e45\u6807\u8bc6\u7b26\u5982\u4f55\u5f52\u56e0\u201d\uff0cKobbe\u7684\u56de\u7b54\u4ecd\u663e\u6a21\u7cca\u3002\u5982\u679c\u4ec5\u4f9d\u8d56\u4f1a\u8bdd\u7ea7\u8ddf\u8e2a\u6216\u77ed\u65f6\u6307\u7eb9\u54c8\u5e0c\uff0c\u5219\u201c\u4ece\u6709\u673a\u641c\u7d22\u5230\u4ed8\u8d39\u8f6c\u5316\u7684\u957f\u94fe\u8def\u5f52\u56e0\u201d\u53ef\u80fd\u5931\u771f\uff0c\u8fd9\u6070\u6070\u662f\u5b83\u6700\u5f97\u610f\u7684\u5356\u70b9\u3002\u6b64\u5916\uff0c\u8bc4\u8bba\u4e2d\u6709\u4e00\u9488\u89c1\u8840\u7684\u8d28\u7591\uff1a\u53cd\u5411IP\u67e5\u8be2\u516c\u53f8\u4fe1\u606f\uff0c\u672c\u8d28\u4e0a\u662f\u5426\u4e5f\u662f\u4e00\u79cd\u9690\u533f\u7684\u8ffd\u8e2a\uff1f\u5728\u5f3a\u8c03\u9690\u79c1\u7684\u5b9a\u4f4d\u4e0b\uff0c\u8fd9\u79cd\u505a\u6cd5\u82e5\u4e0d\u660e\u786e\u62ab\u9732\u5e76\u8d4b\u4e88\u7528\u6237\u9009\u62e9\u6743\uff0c\u5c06\u6784\u6210\u7406\u5ff5\u4e0a\u7684\u81ea\u76f8\u77db\u76fe\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cKobbe\u5728\u201c\u8f7b\u91cf+\u7f8e+\u6536\u5165\u201d\u8fd9\u4e2a\u7ec4\u5408\u4e0a\u505a\u5f97\u6bd4Plausible\u3001Simple Analytics\u66f4\u6fc0\u8fdb\uff0c\u4f46\u771f\u5b9e\u7684\u6280\u672f\u5b9e\u73b0\u7ec6\u8282\u548c\u9690\u79c1\u627f\u8bfa\u7684\u900f\u660e\u5ea6\uff0c\u5c06\u662f\u5b83\u80fd\u5426\u4ece\u201c\u5c1d\u9c9c\u201d\u8d70\u5411\u201c\u4fe1\u4efb\u201d\u7684\u5173\u952e\u3002\u5bf9\u4e8e\u4e0d\u4f9d\u8d56\u590d\u6742\u5f52\u56e0\u6a21\u578b\u3001\u66f4\u770b\u91cd\u5b9e\u65f6\u6027\u548c\u89c6\u89c9\u6e05\u723d\u7684\u72ec\u7acb\u9879\u76ee\u800c\u8a00\uff0c\u5b83\u5df2\u662f\u4e00\u4e2a\u5408\u683c\u66ff\u4ee3\u54c1\uff1b\u4f46\u5bf9\u4e8e\u9700\u8981\u4e25\u8c28\u8de8\u4f1a\u8bdd\u5f52\u56e0\u7684\u7535\u5546\u6216SaaS\uff0c\u5176\u58f0\u79f0\u7684\u80fd\u529b\u5c1a\u9700\u66f4\u591a\u5b9e\u9524\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Kobbe<\/span>\n                <\/div>\n<div class=\"comment-content\">Privacy-friendly and cookie-less analytics for your website. Traffic, pages, sources, revenue and funnels. Private by default. Set up in seconds.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Michael, the maker of Kobbe.<\/p>\n<p>I built Kobbe because I wanted a web analytics tool that was simple, fast, privacy-friendly, and didn&#8217;t overwhelm me with dashboards full of metrics I&#8217;d never use.<\/p>\n<p><strong>Launch offer:<\/strong> Start with a <strong>15-day free trial, no credit card<\/strong>. When you upgrade to a yearly plan, use code <strong>hellokobbe<\/strong> for <strong>20% off<\/strong>.<\/p>\n<p>\u2192 <a href=\"https:\/\/kobbe.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>https:\/\/kobbe.io<\/strong><\/a><\/p>\n<p>With Kobbe you can:<\/p>\n<ul>\n<li>\n<p>\ud83d\udcca Track visitors, pages, referrers, devices, countries, and traffic channels<\/p>\n<\/li>\n<li>\n<p>\ud83d\udcb0 Measure revenue attribution and conversions (Stripe, Polar, Paddle, Creem)<\/p>\n<\/li>\n<li>\n<p>\ud83d\udd0d Connect Google Search Console for search terms and landing pages<\/p>\n<\/li>\n<li>\n<p>\ud83e\udd16 Break out AI referrals (ChatGPT, Perplexity, Claude, and more)<\/p>\n<\/li>\n<li>\n<p>\ud83c\udfaf Set up custom events, conversions, and funnels<\/p>\n<\/li>\n<li>\n<p>\ud83e\udde9 Embed analytics widgets directly into your website<\/p>\n<\/li>\n<li>\n<p>\ud83d\udeab Privacy-friendly analytics without cookies<\/p>\n<\/li>\n<li>\n<p>\u26a1 Install in minutes with a lightweight script<\/p>\n<\/li>\n<\/ul>\n<p>Whether you&#8217;re building a SaaS, indie project, blog, or online business, Kobbe helps you understand what&#8217;s working without the complexity of traditional analytics platforms.<\/p>\n<p>Thanks for checking out Kobbe! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michael_andreuzza\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_andreuzza<\/a>&nbsp;good job<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The revenue attribution is what stands out to me here. Most privacy-friendly analytics stop at pageviews, and then you can never show which content actually made money.<\/p>\n<p>Two questions from the content side. How do you handle organic search as a source? Without cookies you usually just get &#8220;<a href=\"http:\/\/google.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">google.com<\/a>&#8221; and no idea which page or query brought them. And do you separate AI referrals \u2014 ChatGPT, Perplexity, and so on? A lot of that traffic arrives with no referrer, and right now it&#8217;s the thing people most want to see and mostly can&#8217;t.<\/p>\n<p>Also the dashboards look clean, which is rare in this category. Nice work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@saied_alimoradi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@saied_alimoradi<\/a>&nbsp;On search: you&#8217;re right, referrers usually just show <a href=\"http:\/\/google.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">google.com<\/a>. We connect to Search Console for the actual queries and landing pages.<\/p>\n<p>On AI: yes, we split out ChatGPT, Perplexity, Claude, etc. when they send a referrer. No referrer means Direct. We don&#8217;t guess.<\/p>\n<p>Revenue attribution is the main thing for us. Seeing which pages actually made money, not just traffic.<\/p>\n<p>Happy to answer more if you try it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Michael! Love to see you behind this amazing product. Privacy is becoming more and more important than ever and Kobbe is facing it like nothing before. Wish you all the best here<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;thank you Germ\u00e1n! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mogabr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mogabr<\/a>&nbsp;thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean and privacy-first this looks, exactly what smaller sites need without all the consent banner hassle. One thing that would make it even better: a simple way to compare traffic and revenue side by side across date ranges, like a lightweight view that shows whether a traffic spike actually translated into sales. Would really help with quick decision making.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried Kobbe this week and was surprised how fast the setup was, like literally a copy-paste snippet and I had real funnels showing up. Love that I can finally drop GA without feeling like I\u2019m going in blind on my own traffic.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve tried a lot of analytics platforms but most of them were bloated and boring.<\/p>\n<p>Kobbe is the first platform which is built on simplicity and design aesthetics in my experience and of course privacy.<\/p>\n<p>Congratulations on the launch <a href=\"https:\/\/www.producthunt.com\/@michael_andreuzza\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"michael_andreuzza\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_andreuzza<\/a>, wishing you loads of success with Kobbe!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@theanimeshs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@theanimeshs<\/a>&nbsp;, thank you so much for the kind words!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally an analytics tool that doesn&#8217;t need a cookie banner. Set it up in like two minutes and the dashboard is honestly cleaner than what I&#8217;m using now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the dashboard feels without sacrificing depth, especially seeing revenue and funnels tied together right next to traffic sources. The cookie-less setup is such a relief compared to wrestling with consent banners.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A heatmap view of where users actually click and scroll on each page would round this out nicely, especially if it stays on-device like the rest of your approach. That would make it a stronger competitor to tools people currently use alongside their analytics.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zaferag3d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaferag3d<\/a>&nbsp;will take this into account thanks a lot!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the company-identification feature is the interesting tension here &#8211; most &#8220;privacy-friendly&#8221; analytics tools stop at not using cookies, but reverse-IP company lookup is its own kind of tracking even without a cookie involved. is that opt-in per site, and do you disclose it to end visitors anywhere?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Privacy-friendly analytics with revenue attached is a useful angle. A lot of lightweight analytics tools stop at page views, while revenue attribution is where founders actually make decisions. How are you handling attribution when payment events happen in Stripe or another backend instead of on the marketing site?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>cookie-less but still tracking revenue and funnels is the interesting combo here &#8211; how do you attribute a purchase back to a specific source\/session without a persistent identifier? some kind of short-lived fingerprint hash that resets often enough to stay privacy friendly?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The revenue attribution piece is what I&#8217;ve been looking for in a privacy-friendly tool for a while. Most GA alternatives stop at pageviews and maybe events \u2014 you can see that a post got 2,000 readers, but there&#8217;s no clean path to &#8220;and three of them became paying customers starting from this paragraph.&#8221;<\/p>\n<\/p>\n<p>The Stripe\/Polar\/Paddle integrations make that loop actually closable for indie projects. Plausible gets close but it requires more custom event setup to do the same thing.<\/p>\n<\/p>\n<p>One thing I&#8217;d love to see: whether the funnel view can start from a specific page rather than only from the first touchpoint. For content-heavy sites the &#8220;which piece of writing converted someone&#8221; question is different from the &#8220;what was their first session&#8221; question.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cookie-less plus revenue tracking is the interesting combo \u2014 attribution is exactly where cookie-less tools usually give up. How do funnels work across sessions without an identifier? Is it same-session only, or do you do some kind of privacy-preserving linking on the server side? If you&#8217;ve solved multi-session funnels without cookies, that&#8217;s the headline IMO.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I think the problem in this space is convincing people to switch once they already have analytics installed. What has been the biggest reason users migrate to Kobbe?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>&#8220;Attribute revenue without turning Kobbe into a CRM&#8221; is the line that got me \u2014 most privacy-first tools nail the traffic but lose the money trail, which is the part that actually matters to a small business. How do you tie revenue to a source without the cookies\/cross-site tracking that make attribution &#8220;easy&#8221;? Looks clean.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a heatmap integration that still respects the privacy stance, something click or scroll depth without recording session replays, since that would round out the funnel data nicely.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3JJOOQXFG4LCTG\" class=\"app-title\">BaseRT<\/a><\/p>\n<div class=\"one-liner\">6.4x faster than llama.cpp, 3.9x faster than MLX<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">213<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>BaseRT\u662f\u4e00\u6b3e\u4e13\u4e3aApple Silicon\uff08\u7279\u522b\u662fM5\u82af\u7247\uff09\u4f18\u5316\u7684\u8d85\u5febLLM\u63a8\u7406\u5f15\u64ce\uff0c\u901a\u8fc7\u4e00\u884c\u547d\u4ee4\u5b89\u88c5\u5373\u53ef\u5728\u672c\u5730\u8bbe\u5907\u4e0a\u8fd0\u884c\u5927\u6a21\u578b\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u65b9\u6848\uff08\u5982llama.cpp\uff09\u5728\u82f9\u679c\u786c\u4ef6\u4e0a\u6027\u80fd\u672a\u80fd\u5145\u5206\u53d1\u6325\u3001\u5b89\u88c5\u914d\u7f6e\u590d\u6742\u3001\u65e0\u6cd5\u5229\u7528\u4e13\u6709\u786c\u4ef6\u52a0\u901f\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/474d4344-77f0-4190-b67b-49e40af7e541.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3155b5b1-7343-42cd-834e-5da7e8e1124d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Apple<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">LLM\u63a8\u7406\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">Apple Silicon\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">Metal 4\u5f20\u91cf\u6838\u5fc3<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI<\/span><br \/>\n            <span class=\"tag\">\u9ad8\u6027\u80fd\u63a8\u7406<\/span><br \/>\n            <span class=\"tag\">\u4e00\u952e\u5b89\u88c5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u4e0b\u8f7d<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">macOS<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u9ad8\u5ea6\u96c6\u4e2d\u5728M5\u82af\u7247\u5916\u7684\u6027\u80fd\u8868\u73b0\uff08\u5982M4\/M2\uff09\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5df2\u9488\u5bf9\u5168\u7cfbM\u82af\u7247\u4f18\u5316\uff0c\u5e76\u9644\u7814\u7a76\u62a5\u544a\u3002\u7528\u6237\u63d0\u51fa\u6a21\u578b\u52a8\u6001\u8def\u7531\u3001\u5185\u7f6e\u57fa\u51c6\u6d4b\u8bd5\u3001\u6a21\u578b\u70ed\u5207\u6362\u7b49\u9700\u6c42\uff0c\u5b98\u65b9\u56de\u5e94\u90e8\u5206\u529f\u80fd\u5df2\u5b9e\u73b0\u3002\u53e6\u6709\u7528\u6237\u5173\u6ce8\u751f\u4ea7\u73af\u5883\u90e8\u7f72\u3001\u4e0a\u4e0b\u6587\u957f\u5ea6\u6027\u80fd\u53caAPI\u5d4c\u5165\u80fd\u529b\uff0c\u5f00\u53d1\u8005\u9080\u8bf7\u6df1\u5ea6\u4ea4\u6d41\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                BaseRT\u7684\u4eae\u76f8\u7cbe\u51c6\u5730\u624e\u5728\u4e86\u82f9\u679c\u751f\u6001\u7684\u8f6f\u808b\u4e0a\u2014\u2014\u786c\u4ef6\u8d70\u5728\u4e86\u8f6f\u4ef6\u524d\u9762\u3002\u5b83\u7528\u4ee4\u4eba\u548b\u820c\u7684benchmark\u6570\u5b57\uff086.4x vs llama.cpp\uff09\u8bc1\u660e\u4e86\u4e00\u4e2a\u4e8b\u5b9e\uff1a\u82f9\u679c\u7684Metal 4\u5f20\u91cfAPI\u548cM5\u7684\u786c\u4ef6\u6f5c\u529b\uff0c\u81f3\u4eca\u672a\u88ab\u73b0\u6709\u4e3b\u6d41\u63a8\u7406\u6846\u67b6\u5b8c\u5168\u91ca\u653e\u3002\u8fd9\u4e0d\u662f\u4e00\u6b21\u589e\u91cf\u6539\u8fdb\uff0c\u800c\u662f\u5bf9\u6027\u80fd\u57fa\u7ebf\u7684\u91cd\u65b0\u5b9a\u4e49\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0c\u4ea7\u54c1\u7684\u4ef7\u503c\u95ea\u5149\u70b9\u76ee\u524d\u9ad8\u5ea6\u805a\u7126\u4e8e\u201c\u9884\u586b\u5145\u201d\uff08Prefill\uff09\u9636\u6bb5\u7684\u541e\u5410\u63d0\u5347\u3002\u5bf9\u4e8e\u6ce8\u91cd\u4ea4\u4e92\u5ef6\u65f6\uff08TTFT\uff09\u7684\u804a\u5929\u573a\u666f\uff0c\u8fd9\u662f\u91cd\u5927\u5229\u597d\uff1b\u7136\u800c\u5728\u957f\u6587\u672c\u751f\u6210\uff08Decode\uff09\u6216\u9700\u8981\u591a\u8f6e\u8fde\u7eed\u63a8\u7406\u7684\u4efb\u52a1\u4e2d\uff0c\u5176\u76f8\u5bf9\u4f18\u52bf\u662f\u5426\u4f9d\u65e7\u7a33\u56fa\uff1f\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201c\u9ad8\u4e0a\u4e0b\u6587\u957f\u5ea6\u4e0b\u7684\u6027\u80fd\u8870\u51cf\u201d\u662f\u5fc5\u987b\u88ab\u8ba4\u771f\u56de\u5e94\u7684\u6838\u5fc3\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0cBaseRT\u5de7\u5999\u5730\u7ed5\u5f00\u4e86\u91cf\u5316\u683c\u5f0f\u548c\u6a21\u578b\u751f\u6001\u7684\u6ce5\u6f6d\uff0c\u901a\u8fc7\u63d0\u4f9b\u5185\u5efa\u6a21\u578b\u4e0b\u8f7d\u5668\u6765\u964d\u4f4e\u7528\u6237\u8fc1\u79fb\u6210\u672c\u3002\u8fd9\u4fdd\u8bc1\u4e86\u5b83\u5f88\u5bb9\u6613\u201c\u8dd1\u8d77\u6765\u201d\uff0c\u4f46\u80fd\u5426\u4ece\u201c\u6700\u5feb\u7684\u6280\u672f\u6f14\u793a\u201d\u8fdb\u5316\u4e3a\u201c\u6700\u7a33\u5b9a\u7684\u751f\u4ea7\u9009\u62e9\u201d\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u5904\u7406\u597d\u590d\u6742\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u4ee5\u53ca\u80fd\u5426\u50cfllama.cpp\u548cMLX\u4e00\u6837\uff0c\u5efa\u7acb\u4e00\u5957\u5b8c\u5584\u7684\u6a21\u578b\u6743\u91cd\u7ba1\u7406\u4e0e\u7f13\u5b58\u590d\u7528\u673a\u5236\u3002\u672c\u8d28\u4e0a\u770b\uff0cBaseRT\u7684\u6210\u529f\u4e0d\u5728\u4e8e\u5b83\u6709\u591a\u5feb\uff0c\u800c\u5728\u4e8e\u5b83\u80fd\u5426\u5b9a\u4e49\u201cApple Silicon\u4e0a\u672c\u5730AI\u8fd0\u884c\u6548\u7387\u201d\u7684\u65b0\u6807\u51c6\uff0c\u6446\u8131\u201c\u53e6\u4e00\u4e2a\u8dd1\u5206\u51a0\u519b\u201d\u7684\u5bbf\u547d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">BaseRT<\/span>\n                <\/div>\n<div class=\"comment-content\">BaseRT is the fastest LLM runtime on Apple Silicon. Install it with one command and run local models on your own device.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! Lukas here, co-founder of BaseRT.<br \/>\nTLDR: a new performance ceiling for LLMs on Apple&#8217;s M5 Pro.<\/p>\n<p>The M5 introduces a new tensor core architecture, exposed through the Metal 4 tensor API. We tuned BaseRT to use all of it.<\/p>\n<p>The results:<\/p>\n<p>Up to 6.3\u00d7 faster prompt processing (prefill) than llama.cpp<br \/>\nUp to 3.9\u00d7 faster prefill than MLX<\/p>\n<p>Tested on 10 configs across Qwen3\/3.5\/3.6, Llama 3.2, and Gemma 4, from 0.6B to 35B params<\/p>\n<p>We built BaseRT because we think on-device inference is about to matter a lot, and Apple silicon is the best consumer hardware to run it on. <\/p>\n<p>The software just hasn&#8217;t been keeping up with the chips, and we&#8217;re trying to close that gap. Happy to answer anything about the benchmarks, the Metal 4 tensor API, or where we&#8217;re headed next. Would love your feedback, and if you&#8217;ve got an M5, try it and tell us what numbers you get.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>curious how much of this gain is specific to M5&#8217;s tensor cores vs the general Metal 4 tensor API. I&#8217;m running an M4 Pro, plenty of people doing local inference haven&#8217;t upgraded yet &#8211; does BaseRT still beat llama.cpp\/MLX meaningfully on M4, just with a smaller multiplier, or is most of the win locked to the new hardware?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;we\u2019ve optimised for all M series chips. Check out our technical reports, the first one has the benchmarks for previous M series chips you\u2019re looking for. Here <a href=\"https:\/\/www.basecompute.co\/research\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.basecompute.co\/research<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Installed it on my M2 and pulled a 7B model in under a minute, felt snappy even on battery. Nice to skip the per-token bill without cooking my laptop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zcanhasanoiulk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zcanhasanoiulk<\/a>&nbsp;thanks \u00d6zcan, yes 7B models are a sweet spot for local LLMs. Glad you liked it<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>curious how it handles model swapping on the fly, like dropping into a bigger LLM only when a prompt clearly needs it. A simple toggle or auto-routing between something like Llama 3 8B and 70B based on the task would be a really nice touch for battery life on MacBooks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@brahimn9oo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brahimn9oo<\/a>&nbsp;we\u2019re currently looking into model routing for cost optimisation, latency. What are you looking to optimise for<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing I&#8217;d love to see is a simple built-in model downloader so I can grab and switch between popular open weights from the CLI without hunting for GGUF files manually. That would make testing new models way smoother.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adem1343093\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adem1343093<\/a>&nbsp;it&#8217;s already included! have a look at the download section in the docs <a href=\"https:\/\/docs.basecompute.co\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.basecompute.co\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how simple the install is and the speed on my M2 is genuinely impressive. One thing that would make this even better is a built-in model benchmark tool so you can see tokens\/sec for different models on your specific hardware right from the CLI.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ag_rbas9241\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ag_rbas9241<\/a>&nbsp;it&#8217;s already included, check out <a href=\"https:\/\/docs.basecompute.co\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.basecompute.co\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the install was just one command and my m2 was running llama models in like a minute, kind of wild how fast it feels compared to ollama<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@oykuener77260\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oykuener77260<\/a>&nbsp;awesome, thanks \ud83d\ude42 curious what model did you run<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The one-command install is such a thoughtful touch, especially for folks who just want to experiment without dealing with setup headaches. Nice work making local LLMs feel that accessible on Apple Silicon.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aleyna710492\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aleyna710492<\/a>&nbsp;thanks! Just curious, would you want a UI or were you happy with the terminal setup<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Running Llama on my M2 was genuinely instant, no setup headaches. Loving that it just works without Docker or weird config files.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hafizezdztabm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hafizezdztabm<\/a>&nbsp;thanks that\u2019s great feedback, we made one line install a prio<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The speed numbers are impressive, especially on Apple hardware. For teams deciding between llama.cpp, MLX, and BaseRT, what is the tradeoff in model coverage or quantization support? I would love to know where you see BaseRT fitting in a production local-inference stack.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the Metal 4 tensor core optimization is the interesting part here. most local inference tools treat Apple Silicon as a nice-to-have but you&#8217;re actually building for it as the primary target. curious how the performance scales with context length \u2014 prefill speed is great but does it hold up at 32k+ tokens?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The discussion&#8217;s focused heavily on prefill vs. decode, but there&#8217;s a third axis worth thinking about for Apple Silicon specifically: unified memory&#8217;s effect on how many models you can keep resident simultaneously. llama.cpp and MLX both require fairly explicit load\/unload, and on a machine where you might want a small coding model, a larger reasoning model, and an embedding model all warm at once, the round-trip cost of loading from disk breaks the local-first experience more than raw token throughput does. Is BaseRT doing anything with model-weight sharing or partial preloading, or is that a separate problem from what you&#8217;ve optimized?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>On-device inference is exactly the direction I keep hoping more indie apps can go \u2014 no per-token bill and privacy by default is a big deal. Is BaseRT meant to be embedded inside a shipping Mac\/iOS app, or is it more of a dev\/CLI runtime for now? That&#8217;d decide whether I could actually bundle it into my own app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lennoxbeflying\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lennoxbeflying<\/a>&nbsp;super keen for builders to bundle it into their app, can you share a bit more about what you want to build with it and we&#8217;ll make sure to help out? Easiest will be our discord <a href=\"https:\/\/discord.gg\/wQF5vQ3jpe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/wQF5vQ3jpe<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is it also on huggingface? I don&#8217;t want to install it via bash command. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@danielherman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danielherman<\/a>&nbsp;huggingface just hosts models, bash command would the easiest way to install. Do you prefer a UI?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>6.4x over llama.cpp is a big claim for a field this optimized \u2014 where does the speedup actually come from? Custom Metal kernels, better KV-cache layout, speculative decoding, or quantization formats? And does the gap hold at batch-1 decode on long contexts, or is it mostly a prefill win? Genuinely curious \u2014 we run local models for dev work and llama.cpp has been the default for so long that a 6x claim deserves a look.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>6.4x faster than llama.cpp is a big claim \u2014 what&#8217;s the tradeoff? Curious whether it&#8217;s fast enough to run a real-time voice pipeline on-device (where every 100ms of latency is felt), or if the win is mainly on batch\/throughput. Running local with no token cost + full privacy is a huge deal for small-business use cases. Following.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a>&nbsp;Check out our technical papers, we compare for all M series chips and a whole suite of models <a href=\"https:\/\/www.basecompute.co\/research\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.basecompute.co\/research<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Very interesting work. It feels like we&#8217;re finally seeing software catch up to what Apple Silicon has been capable of for a while.<\/p>\n<\/p>\n<p>One thing I&#8217;m curious about: if an application needs to switch between different models depending on latency or quality requirements, does BaseRT help manage that orchestration, or is that intentionally left to the application layer?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nextmark\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nextmark<\/a>&nbsp;that feature is in the making \ud83d\ude42 But you can already load multiple models<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the no-per-token part matters as much as the speed imo, it&#8217;s what makes always-on background agents affordable to run. is that the direction you&#8217;re headed?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrewzakonov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrewzakonov<\/a>&nbsp;yes! All you can eat tokens \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the prefill numbers are impressive, but prefill isn&#8217;t usually where I feel the wait on a laptop &#8211; it&#8217;s token-by-token decode speed during a long generation. is the decode-side speedup in the same range as prefill, or is that gap smaller since decode is more memory-bandwidth bound than compute bound?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lukas_base\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"lukas_base\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lukas_base<\/a> Benchmarks you posted seems to be prefill numbers. do you have decode or token generation throughput comparisons against llama.cpp and MLX too, or is most of the gain concentrated in prompt processing rather than generation speed? Thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tuning specifically for the M5&#8217;s new tensor cores through the Metal 4 API, instead of just optimizing existing kernels, is a genuinely sharp bet given how far the hardware has pulled ahead of the software stack. Your published numbers highlight prefill speed specifically, so how much does decode\/token-generation throughput improve on M5 versus llama.cpp and MLX, since that&#8217;s usually the bottleneck for longer, more conversational or agentic workloads?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@renchu_song\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@renchu_song<\/a>&nbsp;decode ist also up to 33% faster, numbers here <a href=\"https:\/\/www.basecompute.co\/getbasert\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.basecompute.co\/getbasert<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lukas_base\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lukas_base<\/a>&nbsp;Just a quick question how does it compare to LiteRT? It is no secret that MLX and llama.cpp are falling behind but we already have a great architecture from Google. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Took a few minutes to set up on my M2 and the speed genuinely surprised me compared to other runtimes I&#8217;ve tried. Love that everything stays on device, no tokens flying off to some server.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@irmakmemik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@irmakmemik<\/a>&nbsp;thanks, love the feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">M5 pro or M5? You mentioned both<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sap_uy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sap_uy<\/a>&nbsp;M5 Pro, but it runs optimised for all M series chips<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/Q6J5BWUJMERB6K\" class=\"app-title\">Rewisp<\/a><\/p>\n<div class=\"one-liner\">See it once. Ask forever.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">163<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Rewisp \u662f\u4e00\u6b3e\u4e3aMac\u6253\u9020\u7684\u9690\u79c1\u4f18\u5148\u7684\u201c\u5c4f\u5e55\u8bb0\u5fc6\u201d\u5de5\u5177\uff0c\u901a\u8fc7\u5b9e\u65f6\u6293\u53d6\u5c4f\u5e55\u4e0a\u7684\u6587\u5b57\u4fe1\u606f\uff0c\u5e2e\u4f60\u81ea\u52a8\u8ffd\u8e2a\u5e76\u63d0\u9192\u90a3\u4e9b\u770b\u8fc7\u5c31\u5fd8\u7684\u627f\u8bfa\u3001\u53d8\u66f4\u548c\u5173\u952e\u6570\u636e\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/78ee595e-5c0e-4a2b-93e6-f84c2ec521d8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b817a758-40dd-4632-86a8-40f93b1b91a6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eab9fb4e-577f-4af2-9dba-5af31156ad39.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ffe22950-8d1e-48b5-8825-910d22ed270d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9ef7d6fc-8865-41b1-9757-a24aa31b1cc3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/67fd0f37-28de-4229-94a2-5ca68c6f42b7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/28a2590c-3499-42e9-8257-aa1875d43c6d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/54a3dd08-26d6-4fcf-8523-1ea5a40e6b1f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f5af3db-0477-4175-a773-0d69639c4e4b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/33a8994e-b8cd-4568-bdb9-01c564e8ef59.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/606a5efd-3628-44cf-a088-8ab78f18909e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e1bcc414-eafd-44cb-882d-a65bf36ecf49.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/667b25e3-f43d-4453-8626-c53d7d20aa1c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f7bc958-9db3-4be7-965c-1097607b7581.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1363363f-8be6-495d-b2cf-4f5cfc6149ea.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/049aef35-089a-40db-96a8-dce87432bbde.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6852111e-3c1e-4163-8a89-fbf08968174e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3c96c4e2-54b0-44c2-86bf-910f9b5fcf9d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0df7f6bb-106e-4bb7-8d53-c7b23d9336c5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9d8480df-08e2-4283-9c8a-324abf1a82fb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f6e76755-607f-4dcd-bb1f-61aece09bc7f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e091e1a7-ff04-482f-8070-6b4e1c3a3800.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">User Experience<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5c4f\u5e55\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">\u627f\u8bfa\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u8bed\u4e49\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">macOS<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u4fe1\u606f\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u5065\u5fd8<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u6b23\u8d4f\u5176\u9690\u79c1\u8bbe\u8ba1\uff08\u65e0\u622a\u56fe\u3001\u672c\u5730\u5b58\u50a8\uff09\uff0c\u5c24\u5176\u5bf9\u201c\u627f\u8bfa\u6355\u6349\u201d\u548c\u201c\u8bed\u4e49\u641c\u7d22\u201d\u529f\u80fd\u53cd\u9988\u79ef\u6781\u3002\u6838\u5fc3\u5efa\u8bae\u96c6\u4e2d\u4e8e\u589e\u5f3a\u9690\u79c1\u63a7\u5236\uff0c\u5982\u52a0\u5bc6SQLite\u6570\u636e\u5e93\u3001\u63d0\u4f9b\u6682\u505c\u8ffd\u8e2a\u7684\u5feb\u6377\u952e\u3001\u4ee5\u53ca\u6392\u9664\u7279\u5b9a\u5e94\u7528\/\u7a97\u53e3\u7684\u9009\u9879\u3002\u53e6\u6709\u7528\u6237\u62c5\u5fe7\u9996\u6b21\u6388\u6743\u95e8\u69db\u53ca\u8bed\u97f3\u5907\u5fd8\u5f55\u5185\u5bb9\u7684\u5904\u7406\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Rewisp\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u53c8\u4e00\u4e2aAI\u7b14\u8bb0\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5730\u5207\u5165\u4e86\u201c\u5feb\u901f\u6d41\u52a8\u4fe1\u606f\u201d\u7684\u9057\u5fd8\u75db\u70b9\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u53d6\u4ee3\u4f60\u7684\u65e5\u5386\u6216\u4efb\u52a1\u7ba1\u7406\u5668\uff0c\u800c\u662f\u6210\u4e3a\u6570\u5b57\u5de5\u4f5c\u6d41\u7684\u9690\u5f62\u201c\u62fe\u97f3\u5668\u201d\uff0c\u6355\u6349\u90a3\u4e9b\u5728Slack\u3001\u90ae\u4ef6\u4e2d\u4e00\u95ea\u800c\u8fc7\u7684\u627f\u8bfa\u548c\u5fae\u5c0f\u53d8\u66f4\u2014\u2014\u8fd9\u624d\u662f\u5b83\u771f\u6b63\u7684\u6740\u624b\u950f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u201c\u9690\u79c1\u7b2c\u4e00\u201d\u7684\u67b6\u6784\u662f\u660e\u667a\u7684\uff0c\u4e5f\u662f\u5fc5\u8981\u7684\u3002\u5728AI\u65f6\u4ee3\uff0c\u7528\u6237\u5bf9\u201c\u76d1\u63a7\u201d\u7684\u6050\u60e7\u8fdc\u5927\u4e8e\u5bf9\u201c\u5e2e\u52a9\u201d\u7684\u6e34\u671b\u3002Rewisp\u901a\u8fc7\u201c\u4e0d\u5b58\u622a\u5c4f\u3001\u53ea\u7559\u6587\u672c\u3001\u672c\u5730SQLite\u201d\u7684\u67b6\u6784\uff0c\u5c06\u4fe1\u4efb\u8f6c\u5316\u4e3a\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u521b\u59cb\u4eba\u5173\u4e8e\u201c\u7528\u6570\u636e\u7f29\u51cf\u800c\u975e\u52a0\u5bc6\u6765\u786e\u4fdd\u5b89\u5168\u201d\u7684\u89c2\u70b9\u9887\u5177\u6d1e\u5bdf\uff0c\u4f46\u8fd9\u628a\u53cc\u5203\u5251\u7684\u53e6\u4e00\u9762\u662f\uff1a\u5f53\u6570\u636e\u5e93\u660e\u6587\u5b58\u50a8\u65f6\uff0c\u672c\u5730\u5b89\u5168\u98ce\u9669\u4f9d\u7136\u5b58\u5728\uff0c\u7279\u522b\u662f\u9762\u5bf9\u6076\u610f\u8fdb\u7a0b\u6216\u8bbe\u5907\u88ab\u76d7\u7684\u573a\u666f\u3002\u7528\u6237\u7684\u52a0\u5bc6\u8bc9\u6c42\u975e\u5e38\u5408\u7406\uff0c\u8fd9\u5e94\u662fv1.0\u7684\u5fc5\u9009\u9879\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u5e76\u4e0d\u6ee1\u8db3\u4e8e\u201c\u5168\u76d8\u8bb0\u5f55\u201d\uff0c\u4ed6\u4eec\u6e34\u671b\u7684\u662f\u201c\u7cbe\u51c6\u7b5b\u9009\u201d\u548c\u201c\u53d7\u63a7\u9057\u5fd8\u201d\u3002\u76ee\u524dRewisp\u5bf9\u201c\u9519\u8bef\u4fe1\u606f\u201d\u201c\u505c\u7528promise\u201d\u201c\u6682\u505c\u6355\u83b7\u201d\u7684\u56de\u5e94\u4ecd\u4e0d\u591f\u4f18\u96c5\uff0c\u5904\u7406\u4e0d\u5f53\u6781\u6613\u53d8\u6210\u566a\u97f3\u5236\u9020\u673a\u3002\u521b\u59cb\u4eba\u5173\u4e8e\u201c\u7528\u70b9\u51fb\u786e\u8ba4\u800c\u975e\u76f4\u63a5\u63d0\u9192\u201d\u6765\u51cf\u5c11\u5047\u9633\u6027\u7684\u505a\u6cd5\u5f88\u806a\u660e\uff0c\u4f46\u7528\u6237\u4f53\u9a8c\u7684\u4e0a\u9650\uff0c\u53d6\u51b3\u4e8e\u4ea7\u54c1\u80fd\u5728\u591a\u5927\u7a0b\u5ea6\u4e0a\u7406\u89e3\u7528\u6237\u201c\u4ec0\u4e48\u503c\u5f97\u8bb0\uff0c\u4ec0\u4e48\u4e0d\u503c\u5f97\u201d\u7684\u5fae\u5999\u610f\u56fe\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u91ce\u5fc3\u4e0d\u5927\u4f46\u843d\u70b9\u6781\u51c6\u7684solo\u9879\u76ee\u3002\u5b83\u8bc1\u660e\u4e86AI\u52a9\u624b\u7684\u4e0b\u4e00\u4e2a\u9636\u6bb5\uff0c\u53ef\u80fd\u4e0d\u662f\u66f4\u5f3a\u5927\u7684ChatGPT\uff0c\u800c\u662f\u66f4\u61c2\u4f60\u9057\u5fd8\u6a21\u5f0f\u7684\u201c\u80cc\u666f\u4f20\u611f\u5668\u201d\u3002\u5982\u679c\u80fd\u89e3\u51b3\u597d\u201c\u611f\u77e5\u8fb9\u754c\u201d\u4e0e\u201c\u8bb0\u5fc6\u5bb9\u91cf\u201d\u7684\u7cbe\u7ec6\u63a7\u5236\u95ee\u9898\uff0c\u5b83\u5c06\u6210\u4e3aMac\u751f\u4ea7\u529b\u5de5\u5177\u4e2d\u6781\u5176\u7262\u56fa\u7684\u4e00\u73af\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Rewisp<\/span>\n                <\/div>\n<div class=\"comment-content\">Rewisp gives your Mac a memory. It reads your screen text on-device and remembers it for you. Catches promises like &#8220;I&#8217;ll send it Friday&#8221; and reminds you until it&#8217;s done. Ask &#8220;what changed since Tuesday?&#8221; and see exactly what&#8217;s new. Search by meaning, not just words. Tracks numbers like weight or grades over time. Fills forms from your saved details \u2014 never passwords. One quiet 9 PM summary each day. Fully private: screenshots never saved, only text stays on your Mac.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone! \ud83d\udc4b<br \/>\nI&#8217;m Yashmit, the maker of Rewisp.<br \/>\nI built this because I kept losing track of small things \u2014 a quiz due date buried in Canvas, a promise I made in a Slack message, an article I half-read and could never find again. Screenshots piled up, notes app got messy, and I still forgot things.<br \/>\nSo I built Rewisp to do the remembering for me. It reads the text on your screen (not video, not screenshots saved to disk), keeps it searchable, and actually reasons over it. A few things I&#8217;m proud of:<\/p>\n<p>It catches promises. Type &#8220;I&#8217;ll send it Friday&#8221; anywhere, and Rewisp reminds you on the day \u2014 once, until it&#8217;s done.<br \/>\nIt tracks change. Ask &#8220;what&#8217;s new on this page since Tuesday?&#8221; and it shows you exactly what moved.<br \/>\nIt&#8217;s private by construction. Screenshots are discarded the instant text is pulled out. Everything lives in one SQLite file on your Mac. Nothing leaves unless you ask it to.<br \/>\nIt&#8217;s free and open source. MIT license, on GitHub, no account needed.<\/p>\n<p>This is a solo project, still early (v0.9), and I&#8217;m actively building it out. Would love to hear what you think \u2014 bugs, feature ideas, or just &#8220;this is useless, here&#8217;s why&#8221; are all welcome.<br \/>\nThanks for checking it out! \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@yashmitb I love the idea of ambient AI, although some find it privacy-violating. I would like to see how the app handles my privacy and whether my data stays locally &#8211; I&#8217;m fine with that, or if it does, I&#8217;m fine with it using any of the major AI providers I already trust. How is Rewisp handling privacy?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yashmitb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yashmitb<\/a>&nbsp;wait&#8230;it talks to Claude too? I&#8217;m sold! (This has been my issue with other ambient memory tools. If Claude, where I spend 90% of my time, knows nothing, the tool is useless)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Keeping everything on-device and never saving screenshots is the smart trust move here, a memory tool only works if you feel safe letting it watch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ilko_kacharov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilko_kacharov<\/a>&nbsp;Thank you for the feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Screenshots-never-saved plus everything staying local answers the privacy objection most people would raise first. Curious about the SQLite file itself though: is FileVault the only thing standing between it and a plaintext read, or is there another layer on top?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vollos\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vollos<\/a>&nbsp;<\/p>\n<p>Straight answer: FileVault is the encryption at rest. Rewisp doesn&#8217;t encrypt the SQLite file itself yet, so a process running as you could read it. On top of that the data folder is chmod 0700 and the local API is token gated, so other accounts and other processes can&#8217;t get at it.<\/p>\n<\/p>\n<p>The layer I lean on most is reduction rather than encryption. Messages, password managers, banking sites and incognito windows fully pause capture, credential shaped text is refused, screenshots are never written at all, and the text expires after about six months. App level encryption is the obvious next step.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really exciting to see Rewisp \u2014 an ambient memory for your Mac live today. Big congratulations to everyone behind it! \ud83d\ude80\ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zvonimir_sabljic1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zvonimir_sabljic1<\/a>&nbsp;Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love a way to mark something as &#8220;do not track&#8221; when I&#8217;m working on sensitive stuff like medical forms or legal docs. A quick keyboard shortcut to pause Rewisp for 15 or 30 minutes would feel really natural and keep the privacy promise even stronger.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yasinerhalg3oh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yasinerhalg3oh<\/a>&nbsp;Thank you for the kind words! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The semantic search feels surprisingly accurate for just text matching, and catching commitments like &#8220;I&#8217;ll send it Friday&#8221; actually held up across a few days. The nightly summary at 9 PM is a nice touch without being noisy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yorgan47831\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yorgan47831<\/a>&nbsp;Thank you for the kind words \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that it stays on-device and never saves screenshots. One thing I&#8217;d really appreciate is a way to exclude specific apps or windows from being read, like when I&#8217;m in a video call or working on something sensitive but unrelated to what I want tracked. That kind of granular control would make this feel truly mine.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The on-device text parsing with no screenshot storage is such a thoughtful privacy choice. Love that they figured out how to make it genuinely useful without crossing that line.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zgurbuzogl23098\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zgurbuzogl23098<\/a>&nbsp;Thank you for the kind words \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The promise-catching feature is probably the most useful detail here. small commitments like &#8220;I&#8217;ll send it Friday&#8221; are exactly the kind of thing that disappears between chats, tabs, and notes, even though they often matter more than the tasks we formally write down.<\/p>\n<\/p>\n<p>I also like the privacy model: extracting text, immediately discarding screenshots, and keeping everything in one local SQLite file feels much easier to trust. Curious how Rewisp distinguishes a real commitment from casual language or quoted text without creating too many false reminders \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Thank you for the kind words! Rewisp only listens on surfaces where <em>you&#8217;re<\/em> actually writing (Notes, Mail, Slack, never AI chats or ads or random web pages), rejects questions, negations, hedges and marketing-speak, and nothing ever reminds you until you tap to confirm it, so a false positive costs one dismissal rather than a bad reminder.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Caught me the moment I told someone I&#8217;d send a draft Friday. Searched by meaning and actually found that Slack thread from last week. Quiet little tool, feels right at home on the menu bar.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the promise-catching and &#8220;what changed since Tuesday&#8221; bits are the sell for me over a plain screenshot recorder. one solo-dev question: months of full screen text in one SQLite file, does that stay fast to search, or do you end up needing to prune\/summarize older entries once it&#8217;s been running a while?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Great question, glad the hook landed \ud83d\ude42<\/p>\n<\/p>\n<p>Short answer: it stays fast, and it&#8217;s bounded by design so you&#8217;re not babysitting it.<\/p>\n<\/p>\n<p>Why it stays small: text-only + deduped (near-identical frames get dropped before insert), so growth is a few MB\/day. Months of use = tens to low-hundreds of MB, not gigabytes.<\/p>\n<p>Keyword search uses FTS5 + bm25 (inverted index) \u2014 sub-millisecond no matter how big the DB gets. Never the bottleneck.<\/p>\n<\/p>\n<p>Semantic search is brute-force cosine over embeddings right now, but at the retention cap that&#8217;s ~20-35k rows, so it&#8217;s still just a few ms. If I ever let history grow unbounded, that&#8217;s the one piece that&#8217;d need a real ANN index (sqlite-vec\/HNSW) \u2014 but I haven&#8217;t needed it yet.<\/p>\n<\/p>\n<p>And there&#8217;s built-in pruning: 6-month retention (importance-based, not just clock-based) plus nightly consolidation that folds old sessions into compact summaries. So the DB actually gets leaner and higher-signal over time, not bigger.<\/p>\n<\/p>\n<p>Storage math for the curious: text only, ~0.3 MB of screen text a day (a novel every few days). With the search index and semantic vectors it&#8217;s under 1 MB\/day \u2014 roughly 150 MB after six months, where it levels off. Old raw captures auto-expire at six months and fold into compact nightly summaries, so it never balloons. No screenshots, ever.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The ambient memory idea feels useful for people who context-switch all day. The tricky part for me would be separating \u201cI saw this once\u201d from \u201cthis is worth remembering.\u201d Are you doing any local filtering or recency scoring so old or accidental screen content does not pollute answers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>on-device is the right call for something reading everything on your screen all day, but on-device isn&#8217;t automatically safe &#8211; if my Mac gets stolen or someone gets local access, is that stored text file encrypted at rest, or just sitting in plaintext waiting to be read?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch and #5th rank on Sunday. <br \/>Love the promise-catching idea. that&#8217;s the stuff that always slips through the cracks. Does it handle commitments made in voice memos or dictated text, or only typed content?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kbaqeri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kbaqeri<\/a>&nbsp;Thank you!<\/p>\n<\/p>\n<p>It currently handles everything that it saw on the screen, no audio\/dictated content can be detected yet, but it is in the future improvements. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>As a fellow solo dev, the privacy-by-construction bit (text-only, screenshots discarded on the spot) is what makes this trustworthy vs a plain screen recorder. One thing I always hit shipping Mac apps though \u2014 the screen-recording permission prompt on first launch scares a chunk of users off. How are you handling that onboarding moment so people don&#8217;t bounce before they get to the value?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lennoxbeflying\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lennoxbeflying<\/a>&nbsp;This is still an issue I am working on trying to fix. I would love to connect outside of this and discuss\/collab more on this issue.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What does the always-on screen reading do to battery and CPU on a laptop? I like the idea of asking &#8220;what changed since Tuesday&#8221; but I&#8217;d want to know the cost of having it watch everything all day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@talhakhalidmtk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@talhakhalidmtk<\/a>&nbsp;Great question!<\/p>\n<\/p>\n<p>It isn&#8217;t recording, which is the main thing. There&#8217;s a cheap check twice a second for which window is frontmost, and it only actually captures on a trigger: you switch apps, a URL changes, you stop scrolling, or a 60 second heartbeat. Unchanged screens get dropped by a thumbnail diff before OCR even runs, so most heartbeats cost nothing.<\/p>\n<p>When it does capture, OCR is Apple&#8217;s Vision framework running on device and hardware accelerated, about a second, and only on the display holding the frontmost window. There&#8217;s no video encoding anywhere, which is the expensive part of screen recorders. It&#8217;s text only.<\/p>\n<p>It also fully stops after five minutes of no input, and when the screen is locked or the display sleeps, so it isn&#8217;t doing anything while you&#8217;re away.<\/p>\n<p>Measured on mine right now it sits at basically 0% CPU between captures with a short spike during one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;what changed since Tuesday&#8221; search actually pulled up stuff I&#8217;d completely forgotten about scrolling through, which was a nice surprise. The on-device-only approach makes me feel way better about letting it read everything on my screen.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@salcanamin72213\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salcanamin72213<\/a>&nbsp;Thank you for the kind words \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/JCGXN36YFZ53KR\" class=\"app-title\">Detourmap<\/a><\/p>\n<div class=\"one-liner\">Every place worth the detour, on one interactive map<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">136<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Detourmap\u662f\u4e00\u6b3e\u57fa\u4e8e\u5f00\u653e\u6570\u636e\u7684\u514d\u8d39\u4ea4\u4e92\u5f0f\u4e16\u754c\u5730\u56fe\uff0c\u6c47\u96c6\u4e867\u4e07\u591a\u4e2a\u5c0f\u4f17\u666f\u70b9\uff0c\u89e3\u51b3\u65c5\u884c\u8005\u96be\u4ee5\u53d1\u73b0\u4f20\u7edf\u653b\u7565\u4e4b\u5916\u7684\u51b7\u95e8\u76ee\u7684\u5730\u7684\u75db\u70b9\uff0c\u5e76\u901a\u8fc7\u4e30\u5bcc\u7684\u7b5b\u9009\u548c\u63a2\u7d22\u529f\u80fd\uff0c\u8ba9\u53d1\u73b0\u9690\u85cf\u5b9d\u85cf\u53d8\u5f97\u9ad8\u6548\u4e14\u6709\u8da3\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/695d543d-4716-4d14-b842-eb5d05fc76d7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/36d3d4d1-0d43-44fb-8b4c-03aa30eabf0f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f3bbd5bd-cb16-44c1-8a3d-15c2737eec5a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7de5e879-1846-4d60-827c-dac7b41975a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/db86c372-ad1a-41d2-8888-de97fb023da8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">Travel<\/span><br \/>\n            <span class=\"tag\">Maps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u65c5\u884c\u5730\u56fe<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u4f17\u666f\u70b9\u53d1\u73b0<\/span><br \/>\n            <span class=\"tag\">\u4ea4\u4e92\u5f0f\u5730\u56fe<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u7b5b\u9009\u5668<\/span><br \/>\n            <span class=\"tag\">\u9690\u85cf\u5b9d\u77f3<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u5730\u56fe<\/span><br \/>\n            <span class=\"tag\">\u793e\u533a\u8d21\u732e<\/span><br \/>\n            <span class=\"tag\">\u65c5\u884c\u89c4\u5212<\/span><br \/>\n            <span class=\"tag\">\u63a2\u7d22\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u6570\u636e\u91cf\u5927\u3001\u7b5b\u9009\u529f\u80fd\u5b9e\u7528\uff0c\u5c24\u5176\u662f\u201c\u540d\u6c14\u7b5b\u9009\u201d\u548c\u201c\u60ca\u559c\u6309\u94ae\u201d\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u589e\u52a0\u201c\u9644\u8fd1\u6a21\u5f0f\u201d\uff08\u5df2\u5b9e\u73b0\uff09\u3001\u79bb\u7ebf\u8bbf\u95ee\u6216\u533a\u57df\u4e0b\u8f7d\u3001\u53ef\u5206\u4eab\u7684\u7b5b\u9009\u94fe\u63a5\u3001\u5bfc\u51fa\u5230Google Maps\u3001\u793e\u533a\u8d21\u732e\u529f\u80fd\u3002\u90e8\u5206\u7528\u6237\u6307\u51fa\u6570\u636e\u5b58\u5728\u533a\u57df\u504f\u5dee\uff08\u5982\u897f\u6b27\u66f4\u5bc6\u96c6\uff09\uff0c\u5e0c\u671b\u5728\u504f\u8fdc\u5730\u533a\u589e\u52a0\u8986\u76d6\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Detourmap\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u6709\u591a\u5168\u9762\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u9700\u6c42\uff1a\u65c5\u884c\u4fe1\u606f\u8fc7\u8f7d\u65f6\u4ee3\uff0c\u7528\u6237\u60f3\u8981\u7684\u662f\u201c\u53d1\u73b0\u672a\u77e5\u201d\uff0c\u800c\u4e0d\u662f\u201c\u786e\u8ba4\u5df2\u77e5\u201d\u3002Google Maps\u548c\u4f20\u7edf\u65c5\u884c\u6307\u5357\u64c5\u957f\u544a\u8bc9\u4f60\u53bb\u54ea\u91cc\uff0c\u4f46Detourmap\u544a\u8bc9\u4f60\u201c\u4e3a\u4ec0\u4e48\u8981\u5728\u90a3\u91cc\u62d0\u4e2a\u5f2f\u201d\u3002\u4ea7\u54c1\u903b\u8f91\u5f88\u806a\u660e\u2014\u2014\u7528\u540d\u6c14\u7b5b\u9009\uff08fame filter\uff09\u548c\u6e38\u620f\u5316\u7684\u56fe\u5c42\u5207\u6362\uff0c\u76f4\u63a5\u628a\u7528\u6237\u4ece\u88ab\u52a8\u63a5\u6536\u4fe1\u606f\u63a8\u5411\u4e3b\u52a8\u63a2\u7d22\uff0c\u8fd9\u79cd\u5fc3\u7406\u6a21\u578b\u7684\u8f6c\u53d8\u6bd4\u5355\u7eaf\u589e\u52a0\u6570\u636e\u91cf\u66f4\u6709\u610f\u4e49\u3002Maker Alban\u5bf9\u7528\u6237\u53cd\u9988\u7684\u54cd\u5e94\u901f\u5ea6\u503c\u5f97\u79f0\u9053\uff0c\u4ece\u201c\u9644\u8fd1\u6a21\u5f0f\u201d\u88ab\u63d0\u51fa\u5230\u4e0a\u7ebf\u53ea\u7528\u4e86\u51e0\u5929\uff0c\u8fd9\u79cd\u6267\u884c\u529b\u6bd4\u5927\u591a\u6570\u521b\u4e1a\u56e2\u961f\u90fd\u9ad8\u6548\u3002\u4e0d\u8fc7\uff0c\u6570\u636e\u6e90\uff08Wikidata\uff09\u7684\u533a\u57df\u504f\u5dee\u662f\u786c\u4f24\u2014\u2014\u6b27\u6d32\u6316\u5f97\u518d\u6df1\uff0c\u4e5f\u65e0\u6cd5\u586b\u8865\u4e2d\u4e9a\u6216\u897f\u975e\u7684\u7a00\u758f\uff0c\u8fd9\u4f1a\u9650\u5236\u5176\u4f5c\u4e3a\u5168\u7403\u65c5\u884c\u5de5\u5177\u7684\u4fe1\u8a89\u3002\u6b64\u5916\uff0c\u79bb\u7ebf\u529f\u80fd\u7f3a\u5931\u548c\u7f3a\u5c11\u7ed3\u6784\u5316\u5217\u8868\/\u5bfc\u822a\u96c6\u6210\uff0c\u8ba9\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u7075\u611f\u89e6\u53d1\u5de5\u5177\u201d\uff0c\u800c\u975e\u201c\u65c5\u884c\u6267\u884c\u5de5\u5177\u201d\u3002\u4e2a\u4eba\u5e0c\u671b\u5b83\u80fd\u8d70\u5f97\u66f4\u6df1\uff0c\u800c\u975e\u66f4\u5e7f\uff1a\u5982\u679c\u672a\u6765\u80fd\u8d70\u901a\u793e\u533a\u8d21\u732e+AI\u9a8c\u8bc1\u7684\u8def\u5f84\uff0c\u6216\u8005\u4e0eAllTrails\/Earth\u7b49\u5782\u76f4\u5e94\u7528\u6574\u5408\uff0c\u5b83\u53ef\u80fd\u771f\u6b63\u6539\u53d8\u5c0f\u4f17\u65c5\u884c\u7684\u4fe1\u606f\u751f\u6001\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u53e6\u4e00\u4e2a\u7cbe\u81f4\u7684\u6570\u636e\u53ef\u89c6\u5316\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Detourmap<\/span>\n                <\/div>\n<div class=\"comment-content\">A free interactive world map of 70,520 places worth going out of your way for \u2014 ancient ruins, beaches, caves, waterfalls, volcanoes, monuments, sacred sites, castles, museums, gardens, theme parks and ghost towns across 350 countries. Pick a country, flip on the filters, and explore.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt! I&#8217;m Alban, the maker.<\/p>\n<p>I love landing somewhere new and finding the places most guides skip \u2014 so I built one interactive world map of ~70,000 of them: ancient ruins, waterfalls, caves, volcanoes, castles, ghost towns, catacombs and more, across 350 countries.<\/p>\n<p>A few things that make it fun:<br \/>\n&#8211; 16 game-style layers you flip on and off (top-right)<br \/>\n&#8211; A fame filter that runs from world-famous icons down to deep-cut hidden gems<br \/>\n&#8211; &#8220;Surprise me,&#8221; which is deliberately biased toward the obscure<br \/>\n&#8211; Every pin has a photo and a Wikipedia link<\/p>\n<p>It&#8217;s completely free \u2014 no signup, no ads, no tracking \u2014 built entirely from open data (Wikidata + Wikimedia Commons).<\/p>\n<p>Would love your feedback, and especially your favorite hidden gems I might be missing. Thanks for checking it out!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love that this exists, the filtering sounds solid. one thing i&#8217;d actually want though is a &#8220;near me&#8221; mode that uses your location to surface places within a driving radius, kind of like setting a max distance so you can find hidden spots for a weekend trip without manually scanning the map<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nimet3paw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nimet3paw<\/a>&nbsp;A &#8216;within X km of me&#8217; mode is a good shout, and not a hard one since every place has coordinates. It&#8217;s on the list now. In the meantime, zooming to your area with the filters on gets most of the way there.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nimet3paw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nimet3paw<\/a>&nbsp;Update: it&#8217;s live. There&#8217;s now a Near me button next to Surprise me. It draws a 25 to 200 km ring around you, shows everything inside it at once, and lists the closest first. Your location stays in the browser, nothing is sent anywhere. You&#8217;re credited in the changelog at detourmap.com\/changelog\/. Thanks for the push, this was the right call.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>So cool! Awesome work collecting this data. I\u2019m from Brazil, but I lived in the Czech Republic for a while and had the chance to visit many of the \u201chidden gems\u201d that most people wouldn\u2019t find on Google Maps, simply because I made local friends who took me to those places.<\/p>\n<\/p>\n<p>I looked into it, and Detourmap is really solid when it comes to finding places that locals don\u2019t usually tell everyone about (at least in Europe).<\/p>\n<\/p>\n<p>To be honest, I noticed a gap in my area of Brazil. I live in a small state called Esp\u00edrito Santo, where we have countless waterfalls and hidden spots to explore, but the current data didn\u2019t find many of them. I can definitely see how challenging it is to collect such a specific dataset. Have you considered encouraging community contributions so people can submit new places?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>70k places is honestly a lot more than I expected, and the filter setup makes it really easy to just zoom in on something specific like castles or waterfalls without scrolling forever.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how dense the map feels without being overwhelming, and the filter for stuff like sacred sites and ghost towns is a really nice touch for planning weirder trips.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The fame filter running from world-famous down to deep-cut hidden gems is the part I&#8217;d actually use \u2014 most travel maps just drown you in the obvious stuff. When I flip on a few layers and set the fame filter for, say, caves and ruins in Portugal, can I share that exact filtered view as a link so a travel buddy opens the same map state? And is there a way to save pins into a personal list I can pull back up on the trip, or export them to Google Maps for navigation once I&#8217;m actually on the road?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>70k pins across 350 countries is a great scope for this. one thing I&#8217;d wonder about with a Wikidata-sourced map &#8211; coverage tends to skew toward regions with a lot of editors, so western europe ends up way denser than say central asia or west africa even if those places have just as much worth seeing. does the density on the map reflect that editor bias, or have you done anything to correct for it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks superb! What is the best way to suggest hidden gems?  Could this integrate with All Trails?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Just spent a bit flipping the layers on the globe \u2014 the taxonomy is what got me (~14k sacred sites vs. under 600 ghost towns is a great contrast). One question: how\u2019s \u201cfame\u201d scored for the famous \u2192 hidden-gem filter \u2014 Wikipedia sitelinks, pageviews, or something of your own? Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a travel map that doesn&#8217;t just slap pins on cities. Filtering by waterfalls and ruins is super satisfying.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ealtunkoza58547\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ealtunkoza58547<\/a>&nbsp;Satisfying is the exact word I was hoping for, thank you. If you haven&#8217;t tried it yet, hit the Surprise me button, it&#8217;s deliberately rigged toward the obscure end.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">This is genuinely really cool. I already found two museums nearby that I\u2019d never heard of, and even some surprisingly large caves in a neighboring town, including one with a lake. What I really like is that it helps you find places you wouldn\u2019t even know to search for on Google. You just explore the map and suddenly discover things that actually interest you. Really like this!<br \/>\nCongrats on the launch!\ud83d\udc4f<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;This made my day, thank you. Finding things you didn&#8217;t know to search for is exactly what I wanted it to do. Now I need to know which cave has the lake in it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@flightmussy It\u2019s the Blauh\u00f6hle in southern Germany, I\u2019d never heard of it before, but now I really want to visit it. Apparently, the water inside is turquoise blue, which makes it look even more unreal.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really cool concept, the filters are a nice touch for narrowing things down. One thing that would help me actually use it on the road is offline access or downloadable region packs, since signal can get spotty when you&#8217;re already out of your way at a remote ruin or waterfall.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@erva914472\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erva914472<\/a>&nbsp;You&#8217;re right, and it stings a little because the moment you need this map most is exactly when you&#8217;re down to one bar of signal. Proper offline means a PWA build, which I&#8217;ve noted. Until then the whole dataset is CC0 at <a href=\"https:\/\/detourmap.com\/data\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">detourmap.com\/data<\/a> (GeoJSON and CSV), so you can pull a region&#8217;s worth into GPX or KML for your offline maps app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a map tool that feels built for actual daydreaming. I flipped on castles and got completely lost for twenty minutes wandering through Romania and Scotland.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@taner140399\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@taner140399<\/a>&nbsp;Twenty minutes lost in Romanian castles sounds about right. If you haven&#8217;t crossed it yet, look up Corvin Castle in Hunedoara, it barely looks real. Scotland with the Ancient &amp; megalithic layer on is also a good time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>70k places is wild, and the country filter actually makes it usable instead of overwhelming. Spent a few minutes hunting for waterfalls in iceland and found three i&#8217;d never heard of.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@amineertur23480\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amineertur23480<\/a>&nbsp;Iceland will do that. Which three did you find? If you narrow the fame filter to just Hidden gem it gets even better there, the famous falls drop away and only the properly obscure ones are left.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a map that actually makes me want to get off the beaten path, and the filter system makes it so easy to hunt down hidden waterfalls and ghost towns near wherever I am traveling.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kaanildan84332\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kaanildan84332<\/a>&nbsp;Thank you! If ghost towns are your thing, the Abandoned &amp; ghost towns layer runs 584 deep, including Pyramiden, a Soviet mining town left behind on Svalbard.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a road trip mode that lets you draw a route between two points and shows every detour-worthy spot along the way, sorted by how little extra driving each one adds.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@halimekaraftqj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@halimekaraftqj<\/a>&nbsp;That is the dream feature for something called Detourmap, so I want it too. Ranking spots by how little driving they add needs a proper routing engine, which makes it a bigger build than it sounds, but it&#8217;s noted and it&#8217;s the direction I&#8217;d like to take this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love the &#8220;surprise me&#8221; bias toward obscure over famous, that&#8217;s the right default for this kind of tool. since it&#8217;s built off Wikidata, how do you handle places that get edited or delisted after you pull the data &#8211; is there a refresh cycle, or does it slowly drift out of date until you re-sync?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Good question. Selection is a deterministic filter (a place needs coordinates, a Commons photo and an English Wikipedia article), so a refresh is just re-running the pipeline against Wikidata: new qualifying places appear, deleted or delisted ones drop out. I plan to re-sync roughly monthly. The card blurbs are fetched live from Wikipedia&#8217;s API though, so descriptions never go stale between syncs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/AMLMID75JZ2OIN\" class=\"app-title\">CitedSpy<\/a><\/p>\n<div class=\"one-liner\">Track your brand in ChatGPT, Claude, Perplexity and More<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">56<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>CitedSpy\u5e2e\u52a9\u54c1\u724c\u8ffd\u8e2a\u5728ChatGPT\u3001Claude\u3001Perplexity\u7b49AI\u52a9\u624b\u641c\u7d22\u7ed3\u679c\u4e2d\u7684\u63d0\u53ca\u3001\u5f15\u7528\u548c\u63a8\u8350\u9891\u7387\uff0c\u89e3\u51b3\u4f01\u4e1a\u5728AI\u641c\u7d22\u65f6\u4ee3\u7f3a\u4e4f\u54c1\u724c\u53ef\u89c1\u5ea6\u76d1\u63a7\u4e0e\u4f18\u5316\u7b56\u7565\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f8632b6f-40ae-4474-93df-7e91cf5bf615.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1880bb2b-cc31-4265-a798-d3b99bbceb57.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4de2658c-b394-444c-aa7c-7b47f286a310.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/697b1511-950c-423f-a932-9f4fe75b0461.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9a57612b-dac2-4aff-8bf9-3a418b496ad6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/615e8996-6cd9-41f3-8834-07ed976211e0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/8552c63c-7ce9-4511-8a75-2e172a9b66c7.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=B3UmmKHplh4\"><source src=\"https:\/\/www.youtube.com\/watch?v=B3UmmKHplh4\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u641c\u7d22\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u53ef\u89c1\u5ea6<\/span><br \/>\n            <span class=\"tag\">\u751f\u6210\u5f0f\u5f15\u64ce\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">GEO<\/span><br \/>\n            <span class=\"tag\">\u7ade\u4e89\u5bf9\u624b\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u5f15\u7528\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">AI\u63a8\u8350<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u63d0\u53ca<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">AI\u8425\u9500<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u8de8\u5e73\u53f0\u8ffd\u8e2a\u662f\u5426\u7cbe\u51c6\uff0c\u80fd\u5426\u6309\u5730\u57df\u533a\u5206AI\u54cd\u5e94\u5dee\u5f02\u3002\u6838\u5fc3\u7591\u95ee\u5305\u62ec\uff1a\u5982\u4f55\u533a\u5206\u771f\u5b9e\u8d8b\u52bf\u4e0e\u968f\u673a\u56de\u7b54\u6ce2\u52a8\uff1f\u53d1\u73b0\u5f15\u7528\u7387\u4f4e\u540e\u5982\u4f55\u5177\u4f53\u4f18\u5316\uff1f\u4ee5\u53ca\u6570\u636e\u91c7\u6837\u65b9\u5f0f\u662f\u5426\u79d1\u5b66\u3002\u521b\u59cb\u56e2\u961f\u575a\u51b3\u62d2\u7edd\u4ed8\u8d39\u5237\u699c\uff0c\u83b7\u5f97\u597d\u8bc4\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                CitedSpy\u7684\u51fa\u73b0\u6807\u5fd7\u7740SEO\u884c\u4e1a\u6b63\u5f0f\u8fdb\u5165\u201cAI\u641c\u7d22\u65f6\u4ee3\u201d\u7684\u6df1\u6c34\u533a\u3002\u5b83\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u591a\u7cbe\u5de7\u7684\u4eea\u8868\u76d8\uff0c\u800c\u5728\u4e8e\u7cbe\u51c6\u6233\u4e2d\u4e86\u4e00\u4e2a\u6b63\u5728\u6025\u5267\u653e\u5927\u7684\u7126\u8651\uff1a\u5f53\u6d88\u8d39\u8005\u5f00\u59cb\u7528ChatGPT\u800c\u975eGoogle\u5bfb\u627e\u4ea7\u54c1\u65b9\u6848\u65f6\uff0c\u4f60\u7684\u54c1\u724c\u662f\u5426\u5df2\u7ecf\u88abAI\u201c\u5f00\u9664\u201d\u4e86\u63a8\u8350\u540d\u5355\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u903b\u8f91\u770b\uff0cCitedSpy\u5403\u7684\u662f\u201cAI\u63a8\u8350\u9ed1\u7bb1\u201d\u7684\u7ea2\u5229\u3002\u5b83\u8bd5\u56fe\u901a\u8fc7\u591a\u6a21\u578b\u3001\u591a\u5730\u57df\u3001\u591a\u8f6e\u6b21\u7684API\u91c7\u6837\uff0c\u5c06AI\u7684\u4e0d\u786e\u5b9a\u6027\u91cf\u5316\u4e3a\u53ef\u8ffd\u8e2a\u7684\u201c\u5f15\u7528\u5206\u5e03\u201d\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5728\u505a\u4e00\u4ef6\u53cd\u76f4\u89c9\u7684\u4e8b\uff1a\u7528\u7cfb\u7edf\u7684\u3001\u53ef\u590d\u73b0\u7684\u65b9\u6cd5\u53bb\u5bf9\u6297\u5927\u6a21\u578b\u8f93\u51fa\u7684\u975e\u786e\u5b9a\u6027\u3002\u76ee\u524d\u6765\u770b\uff0c\u8fd9\u79cd\u201c\u5206\u5e03\u601d\u7ef4\u201d\u6bd4\u5355\u6b21\u622a\u56fe\u6216\u9760SEO\u4ece\u4e1a\u8005\u624b\u52a8\u67e5\u8981\u79d1\u5b66\u5f97\u591a\uff0c\u4e5f\u662f\u8fd9\u4e2a\u54c1\u7c7b\u80fd\u6210\u7acb\u7684\u6839\u57fa\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a\u76ee\u524d\u884c\u4e1a\u5185\u6240\u8c13\u7684\u201cGEO\u201d\u8fd8\u5904\u5728\u91ce\u86ee\u5b9a\u4e49\u9636\u6bb5\u3002CitedSpy\u9762\u4e34\u7684\u6700\u5927\u6311\u6218\u4e0d\u662f\u6280\u672f\uff0c\u800c\u662f\u201c\u4fe1\u53f7\u6709\u6548\u6027\u201d\u3002AI\u7684\u63a8\u8350\u673a\u5236\u6781\u5ea6\u4f9d\u8d56\u5e95\u5c42\u8bad\u7ec3\u6570\u636e\u3001\u68c0\u7d22\u589e\u5f3a\u7684\u8bed\u6599\u5e93\u4ee5\u53ca\u5b9e\u65f6\u6392\u540d\u7684\u52a8\u6001\u53d8\u5316\u2014\u2014\u53d8\u91cf\u592a\u591a\uff0c\u566a\u58f0\u5de8\u5927\u3002\u4e00\u65e6\u54c1\u724c\u65b9\u53d1\u73b0\u201c\u4f18\u5316\u4e86\u4e00\u4e2a\u6708\uff0c\u63a8\u8350\u7387\u6ca1\u53d8\u5316\u201d\uff0c\u6216\u8005\u201c\u7b97\u6cd5\u66f4\u65b0\u540e\u4ee5\u524d\u7684\u6570\u636e\u5168\u767d\u8d39\u201d\uff0c\u8fd9\u4e2a\u5de5\u5177\u7684\u7559\u5b58\u7387\u548c\u7528\u6237\u4fe1\u4efb\u5ea6\u5c31\u4f1a\u9762\u4e34\u4e25\u5cfb\u8003\u9a8c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u5b83\u7684\u7ade\u4e89\u58c1\u5792\u5e76\u4e0d\u9ad8\u3002API\u662f\u516c\u5f00\u7684\uff0c\u91c7\u6837\u662f\u6280\u672f\u6d3b\u4f46\u975e\u6838\u6b66\u5668\u7ea7\uff0c\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u5bf9\u201cGEO\u4f18\u5316\u52a8\u4f5c\u201d\u7684\u6307\u5bfc\u80fd\u529b\u3002\u76ee\u524d\u4ea7\u54c1\u5728\u201c\u53d1\u73b0\u95ee\u9898\u201d\u4e0a\u505a\u5f97\u4e0d\u9519\uff0c\u4f46\u201c\u7ed9\u51fa\u53ef\u6267\u884c\u65b9\u6848\u201d\u4ecd\u7136\u505c\u7559\u5728\u201c\u63d0\u5347\u6743\u5a01\u6027\u3001\u53d1\u5e03\u597d\u5185\u5bb9\u201d\u8fd9\u7c7b\u6b63\u786e\u7684\u5e9f\u8bdd\u9636\u6bb5\u3002\u5982\u679cCitedSpy\u4e0d\u80fd\u5feb\u901f\u5c06\u6d1e\u5bdf\u8f6c\u5316\u4e3a\u7c7b\u4f3c\u4f20\u7edfSEO\u4e2d\u201c\u7ed3\u6784\u5316\u6570\u636e\u6807\u6ce8\u3001\u5916\u94fe\u5efa\u8bbe\u3001\u9875\u9762\u901f\u5ea6\u4f18\u5316\u201d\u90a3\u6837\u5177\u4f53\u7684\u64cd\u4f5c\u6307\u5357\uff0c\u5b83\u5f88\u5bb9\u6613\u6ca6\u4e3a\u54c1\u724c\u7684\u81ea\u55e8\u6570\u636e\u62a5\u8868\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u56e2\u961f\u62d2\u7edd\u5237\u699c\u7684\u6001\u5ea6\u503c\u5f97\u5c0a\u656c\uff0c\u4e5f\u4e3a\u4ea7\u54c1\u8d62\u5f97\u4e86\u5b9d\u8d35\u7684\u521d\u59cb\u4fe1\u4efb\u3002\u4f46\u540e\u7eed\u80fd\u5426\u6301\u7eed\u63d0\u4f9b\u771f\u77e5\u707c\u89c1\uff0c\u624d\u662f\u8fd9\u4e2a\u5e02\u573a\u771f\u6b63\u7684\u7b5b\u9009\u5668\u3002AI\u641c\u7d22\u76d1\u63a7\u4e0d\u662f\u9526\u4e0a\u6dfb\u82b1\u2014\u2014\u5bf9\u4e8e\u4f9d\u8d56\u7ebf\u4e0a\u83b7\u5ba2\u7684B2B\u548cSaaS\u4f01\u4e1a\uff0c\u5b83\u6b63\u5728\u53d8\u6210\u5fc5\u4fee\u8bfe\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">CitedSpy<\/span>\n                <\/div>\n<div class=\"comment-content\">CitedSpy helps brands track and improve their visibility in AI search. Monitor how often your company is mentioned, cited, and recommended across ChatGPT, Gemini, Claude, Perplexity, and other AI assistants. Discover citation gaps, benchmark competitors, and optimize your Generative Engine Optimization (GEO) strategy so your brand gets recommended when buyers ask AI for solutions.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m Arshita, founder of <a href=\"https:\/\/www.citedspy.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CitedSpy<\/a>.<\/p>\n<p>A few months ago, I asked ChatGPT for the best tools in a category we were serving. Our company wasn&#8217;t mentioned. That sent me down a rabbit hole.<\/p>\n<\/p>\n<p>I realized buyers are no longer discovering products only through Google. They&#8217;re asking ChatGPT, Gemini, Claude, and Perplexity. Yet most brands have no idea what AI is saying about them, who gets recommended, or which sources influence those recommendations.<\/p>\n<p>So we built CitedSpy.<\/p>\n<\/p>\n<p>CitedSpy helps brands track their visibility across AI search engines, monitor citations and sentiment, benchmark competitors, and understand how they appear in AI-generated answers.<\/p>\n<p>We&#8217;re excited to launch today and would love your feedback.<\/p>\n<\/p>\n<p><strong>What&#8217;s the most surprising thing you&#8217;ve seen an AI assistant say about your brand or industry?<\/strong> \ud83d\udc47<\/p>\n<p>\u2014 Arshita Sharma, Founder @ CitedSpy \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Quick note on how we got here.<\/p>\n<\/p>\n<p>In the days before this launch, we received tens of DMs offering paid upvotes, &#8220;500k+ audience&#8221; promotions, and guaranteed top 3 placements for a fee.<\/p>\n<\/p>\n<p>We turned all of them down.<\/p>\n<\/p>\n<p>CitedSpy exists to show brands how they&#8217;re genuinely mentioned and recommended by AI engines. It would be strange to launch a product about authentic visibility on top of purchased visibility.<\/p>\n<\/p>\n<p>So every upvote here is a real person. If you&#8217;re one of them, thank you. And if you have honest feedback, critical or kind, we want that even more than the upvote.<\/p>\n<p>&#8211; Arshita &amp; the CitedSpy team<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5804a28f-8981-4cf1-a6c9-50f2b410a6e3.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Does it actually track based on different locations? I know a few brands and a few prompts that respond differently in each location, like the same prompt responds differently in the USA and India. Does your product support this? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@pratikkinage\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pratikkinage<\/a>&nbsp;Yes! We support location-based tracking. AI responses vary significantly by region for example, the same prompt can produce different recommendations in the US vs. India because the competitive landscape and local context are different. CitedSpy tracks visibility separately by location, so you can see how your brand is cited, which competitors appear in each market, and optimize accordingly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the cross-platform tracking across all the major AI assistants in one dashboard is super clean, you know most tools only cover one or two and make you piece the rest together yourself<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@enayaw9g\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@enayaw9g<\/a>&nbsp;Yes &#8230; we are able to do it up cleanly and one of the focus of ours is a Great UX, simple and easy to adopt and take actions to grow.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally, we&#8217;re live on <strong>Product Hunt<\/strong>! \ud83d\ude80<\/p>\n<p>After months of building, countless conversations, and lots of iterations, <strong>CitedSpy<\/strong> is officially out in the world. We&#8217;d genuinely appreciate your support an upvote, comment, or share goes a long way in helping us reach more founders and marketers.<\/p>\n<\/p>\n<p>Thank you for being part of our journey! \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Needed product nowadays, congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ashimanski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashimanski<\/a>&nbsp;yes true <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ashimanski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashimanski<\/a>&nbsp;thanks a lot <a href=\"https:\/\/www.producthunt.com\/@ashimanski\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ashimanski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashimanski<\/a>  &#8230;Launching for PH to get the real feedback and voice. Hope to see you using it up<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The note about turning down paid upvotes is honestly one of the strongest parts of this launch. building a product around authentic visibility, then refusing to manufacture that visibility on PH, makes the positioning much easier to trust \ud83d\ude42<\/p>\n<\/p>\n<p>I&#8217;ve been thinking more about AI discoverability while building a product and its documentation, and the hardest part seems to be separating real visibility trends from normal answer variation. Curious how CitedSpy handles that across different models, prompts, locations, and repeated runs, and how it decides when a citation gap is actually meaningful enough to act on.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp; Thank you, that means a lot. We felt it would be contradictory to build for authentic AI visibility while trying to game Product Hunt.<\/p>\n<p>You\u2019re also pointing at one of the hardest problems in this space. AI responses naturally vary across models, prompts, locations, and even repeated runs. So instead of treating a single response as truth, we look at visibility as a distribution over time across multiple models and prompt variations and focus on consistent patterns rather than one-off mentions.<\/p>\n<\/p>\n<p>That\u2019s how we start separating normal variance from signals that are actually actionable (like persistent citation gaps or missed intent clusters).<\/p>\n<\/p>\n<p>We\u2019re still refining this methodology as models evolve, so perspectives like yours are genuinely helpful in shaping how this should work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really exciting to see CitedSpy live today. Big congratulations to everyone behind it! \ud83d\ude80\ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zvonimir_sabljic1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zvonimir_sabljic1<\/a>&nbsp;thanks for the wishes, please give it a try and also share in your network\/fraternity. <\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=B3UmmKHplh4&amp;t=5s\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=B3UmmKHplh4&amp;t=5s<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zvonimir_sabljic1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zvonimir_sabljic1<\/a>&nbsp;thanks a lot &#8230; wish to fulfill it up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally a tool that shows how often my brand shows up in ChatGPT and Perplexity responses, and the competitor comparison actually made me rethink our content priorities<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kuzey487176\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kuzey487176<\/a>&nbsp;thanks &#8230; it helps you to show <\/p>\n<p>whether your brand is getting cited by AI Engines when they run the <\/p>\n<p>1. discovery prompts like -&gt; hey who is providing x service or product<br \/>2. competitor prompts like -&gt; product \/ brand x vs y <br \/>3. brand prompts like -&gt; whether this product x is good for my &lt;this need&gt; <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How stable are these rankings ? If I found out my competitor is recommended more often, what can I do to improve that ?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A lot of people asked us:<\/p>\n<p><em>&#8220;How does CitedSpy compare with other GEO tools?&#8221;<\/em><\/p>\n<p>So instead of answering one by one, we built a dedicated <strong>Alternatives<\/strong> hub.<\/p>\n<p>Compare CitedSpy with the leading AI visibility platforms, understand the differences, and choose what fits your needs whether it&#8217;s us or someone else.<\/p>\n<p>Explore here: <a href=\"https:\/\/www.citedspy.com\/alternatives\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.citedspy.com\/alternatives<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the measurement part makes sense, but I&#8217;m stuck on the action part &#8211; once you know your citation rate is low, what&#8217;s the actual lever to pull? unlike classic SEO there&#8217;s no sitemap to submit to an LLM, so is the fix really just &#8220;publish more content and hope it gets into the training\/retrieval data&#8221;, or is there something more direct you can do?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp; That&#8217;s probably <em>the<\/em> question everyone in GEO is trying to answer. \ud83d\ude04<\/p>\n<p>There isn&#8217;t a &#8220;Submit to ChatGPT&#8221; button, just like there wasn&#8217;t a magic SEO button in the early days.<\/p>\n<p>The levers are about improving the signals AI systems rely on building topical authority, earning credible citations, getting mentioned in trusted sources, publishing content that directly answers user intent, and making your site easy for AI crawlers and retrieval systems to understand.<\/p>\n<p>The difference is that CitedSpy doesn&#8217;t stop at saying <em>&#8220;your visibility is low.&#8221;<\/em> We try to pinpoint <strong>why<\/strong> which competitors are being cited instead, which sources are influencing the answers, and which topics or entities you&#8217;re missing so you have a concrete place to start rather than guessing.<\/p>\n<p>The models will keep evolving, but our goal is to help brands adapt to those changes instead of chasing them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, wish you success.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mogabr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mogabr<\/a>&nbsp;thanks for the wish Gabe &#8230;.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is a category that&#8217;s going to matter a lot more soon. how do you actually query the models &#8211; real API calls on some schedule, or sampling? asking because ChatGPT\/Claude\/Perplexity answers aren&#8217;t deterministic, so I&#8217;d guess you need a decent sample size per prompt before the citation rate number means anything<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Great question. We use real API calls on a scheduled basis (daily or twice a week, depending on the plan), not static datasets.<\/p>\n<p>You&#8217;re also right that LLM responses aren&#8217;t deterministic. That&#8217;s why we don&#8217;t rely on a single response\u2014we&#8217;re continuously improving our sampling and scoring methodology to make AI visibility trends and citation insights as reliable and actionable as possible over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the tool also recommends what we should do to get more recommendations for them?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chilarai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chilarai<\/a>&nbsp;Yes, that&#8217;s exactly the goal.<\/p>\n<p>CitedSpy doesn&#8217;t just tell you <strong>where<\/strong> you&#8217;re being mentioned it also recommends <strong>what to improve<\/strong>. It identifies gaps in your AI visibility, highlights the sources and topics influencing AI responses, and suggests actionable steps to increase the likelihood of being cited more often across models like ChatGPT, Gemini, Claude, and Perplexity.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/515348ff-4492-48dd-8b1f-986b14cbb1cf.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>As we continue to improve the platform, these recommendations will become even more personalized and proactive based on your brand&#8217;s AI visibility patterns.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;thanks Madalina<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Being able to see the exact prompts that led to a mention would be a game changer, even if it&#8217;s a sampled view. That way we could reverse engineer which question phrasings actually surface our brand versus the ones where we&#8217;re invisible.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@egemenucaf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@egemenucaf<\/a>&nbsp; That&#8217;s exactly the direction we&#8217;re building towards.<\/p>\n<p>Our goal is to show not just <strong>that<\/strong> your brand was mentioned, but also the prompts, context, and sources that influenced those AI responses. We want teams to understand <em>why<\/em> they were cited (or missed) so they can improve their AI visibility with confidence.<\/p>\n<p>We&#8217;re actively working on this, and feedback like yours helps us prioritize the roadmap. Thanks for the suggestion! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ran CitedSpy on a small site I work with and was surprised how clear the gap reports were, showing exactly which queries ChatGPT was ignoring us on compared to competitors.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@glsmkoparaxusi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@glsmkoparaxusi<\/a>&nbsp;thanks &#8230; we love such fast adopter, Thank you so much! That means a lot to us.<\/p>\n<p>We&#8217;d love to hear more about your experience and learn what worked well (and what didn&#8217;t). Your feedback can genuinely shape the product in these early days. We hope you&#8217;ll join us as one of our founding customers! \ud83d\ude80<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e46d2004-6e9a-4cd1-829b-fcffac2d9621.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#8<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SCKFLTBAC5A6WI\" class=\"app-title\">Double<\/a><\/p>\n<div class=\"one-liner\">Your AI career agent that gets you hired<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">54<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Double\u662f\u4e00\u6b3eAI\u6c42\u804c\u4ee3\u7406\uff0c\u7528\u6237\u53ea\u9700\u901a\u8fc7\u6587\u672c\u5bf9\u8bdd\uff0c\u5373\u53ef\u7531AI\u81ea\u52a8\u5bfb\u627e\u804c\u4f4d\u3001\u6295\u9012\u7533\u8bf7\u3001\u62d3\u5c55\u4eba\u8109\u5e76\u5438\u5f15\u62db\u8058\u65b9\u4e3b\u52a8\u8054\u7cfb\uff0c\u89e3\u51b3\u6c42\u804c\u8005\u4e0d\u4f1a\u5c55\u793a\u81ea\u8eab\u4ef7\u503c\u3001\u7f3a\u4e4f\u8d44\u6e90\u652f\u6301\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/1cf344a8-cc01-427e-ba35-3b6078bdb42e.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=3jv8-p1AfxE\"><source src=\"https:\/\/www.youtube.com\/watch?v=3jv8-p1AfxE\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/85ecc8c6-d726-41f9-bc72-86fea85f7f69.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/417e2bda-e2fc-4784-9972-f1ca25b92be2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/573a1540-7c4f-4b6c-8417-8df33e595a3e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/46cb9933-8b88-40f2-8e3e-84b8c7252cd7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9e48ddb-a2b3-4f22-8756-890944073bd7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9fc7fd29-6d26-4d26-8300-278788b5d42f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Hiring<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Career<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6c42\u804c\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u6295\u9012<\/span><br \/>\n            <span class=\"tag\">\u4eba\u8109\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u804c\u4f4d\u722c\u866b<\/span><br \/>\n            <span class=\"tag\">\u6587\u672c\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u804c\u4e1a\u53d1\u5c55<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u54c1\u724c<\/span><br \/>\n            <span class=\"tag\">\u6c42\u804c\u8f85\u52a9<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u5fc3AI\u7533\u8bf7\u7cbe\u51c6\u5ea6\u3001\u4ee4\u724c\u4f18\u5316\u3001\u6570\u636e\u6e90\u53ef\u9760\u6027\u3001\u65e5\u5386\u96c6\u6210\u3001\u901a\u77e5\u9891\u7387\u63a7\u5236\u53ca\u5b66\u4e60\u53cd\u9988\u673a\u5236\u3002\u5efa\u8bae\u589e\u52a0\u201c\u5b89\u9759\u6a21\u5f0f\u201d\u548c\u624b\u52a8\u786e\u8ba4\u6a21\u5f0f\uff0c\u5f3a\u8c03\u5e94\u8ffd\u6c42\u8d28\u91cf\u800c\u975e\u6570\u91cf\uff0c\u907f\u514d\u6279\u91cf\u6295\u9012\u5bfc\u81f4\u8d1f\u9762\u5f71\u54cd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Double\u7684\u5207\u5165\u70b9\u5f88\u806a\u660e\u2014\u2014\u5b83\u89e3\u51b3\u7684\u4e0d\u662f\u201c\u627e\u4e0d\u5230\u5de5\u4f5c\u201d\uff0c\u800c\u662f\u201c\u4e0d\u4f1a\u63a8\u9500\u81ea\u5df1\u201d\u8fd9\u4e00\u9690\u6027\u75db\u70b9\u3002\u5c06\u6c42\u804c\u52a8\u4f5c\u7b80\u5316\u4e3a\u6587\u672c\u5bf9\u8bdd\uff0c\u964d\u4f4e\u4e86\u4f7f\u7528\u95e8\u69db\uff1b\u81ea\u5efa\u722c\u866b\u7ed5\u8fc7LinkedIn\u7b49\u805a\u5408\u5668\uff0c\u4fdd\u8bc1\u4e86\u804c\u4f4d\u6570\u636e\u7684\u72ec\u7279\u6027\u3002\u8fd9\u5728\u5f53\u524dAI\u6c42\u804c\u5de5\u5177\u624e\u5806\u7684\u5e02\u573a\u4e0a\uff0c\u786e\u5b9e\u7b97\u5f97\u4e0a\u4e00\u4e2a\u5dee\u5f02\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u771f\u6b63\u8981\u9762\u4e34\u7684\u6311\u6218\u4e0d\u662f\u6280\u672f\uff0c\u800c\u662f\u4fe1\u4efb\u548c\u566a\u97f3\u3002\u7528\u6237\u8bc4\u8bba\u91cc\u5df2\u7ecf\u6709\u4eba\u5728\u95ee\u201cAI\u600e\u4e48\u5b66\u6211\u7684\u98ce\u683c\u201d\u201c\u600e\u4e48\u77e5\u9053\u7533\u8bf7\u5f97\u503c\u4e0d\u503c\u5f97\u201d\uff0c\u8bf4\u660e\u5927\u5bb6\u5bf9\u201c\u4ee3\u7406\u4eba\u201d\u7684\u81ea\u4e3b\u6743\u548c\u63a7\u5236\u611f\u9ad8\u5ea6\u654f\u611f\u3002\u5982\u679cDouble\u5728\u65e9\u671f\u5c31\u9891\u7e41\u66ff\u7528\u6237\u505a\u6279\u91cf\u6295\u9012\uff0c\u54ea\u6015\u6280\u672f\u518d\u7cbe\u51c6\uff0c\u4e5f\u4f1a\u88ab\u62db\u8058\u65b9\u5f53\u6210\u5783\u573e\u90ae\u4ef6\u6e90\uff0c\u53cd\u8fc7\u6765\u635f\u5bb3\u7528\u6237\u58f0\u8a89\u3002\u56e2\u961f\u5728\u56de\u590d\u4e2d\u5f3a\u8c03\u201c\u4e0d\u5efa\u8bae\u6d77\u6295\u201d\u201c\u6b63\u5728\u505a\u63a8\u8350\u7b5b\u9009\u201d\uff0c\u662f\u6e05\u9192\u7684\uff0c\u4f46\u9700\u8981\u628a\u8fd9\u79cd\u514b\u5236\u53d8\u6210\u9ed8\u8ba4\u884c\u4e3a\uff0c\u800c\u4e0d\u662f\u53ef\u9009\u9879\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u76ee\u524d\u4ea7\u54c1\u7f3a\u5c11\u80fd\u5f62\u6210\u7f51\u7edc\u6548\u5e94\u7684\u95ed\u73af\u3002AI\u5e2e\u4f60\u6295\u7b80\u5386\u3001\u505a\u793e\u4ea4\u3001\u79ef\u7d2f\u53cd\u9988\uff0c\u4f46\u7528\u6237\u7684\u804c\u4e1a\u8fdb\u6b65\u662f\u5426\u53cd\u8fc7\u6765\u80fd\u63d0\u5347\u6a21\u578b\u8d28\u91cf\uff1f\u5982\u679c\u4e0d\u80fd\uff0c\u90a3Double\u672c\u8d28\u4e0a\u5c31\u662f\u4e00\u4e2a\u66f4\u806a\u660e\u7684\u81ea\u52a8\u5316\u5de5\u5177\uff0c\u800c\u4e0d\u662f\u4e00\u4e2a\u201c\u804c\u4e1a\u4ee3\u7406\u201d\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u662f\u722c\u866b\uff0c\u800c\u662f\u7528\u6237\u6570\u636e\u79ef\u7d2f\u540e\u7684\u5339\u914d\u7cbe\u5ea6\u548c\u4fe1\u4efb\u673a\u5236\u2014\u2014\u8fd9\u4e00\u70b9\uff0c\u4ea7\u54c1\u76ee\u524d\u8fd8\u6ca1\u5c55\u73b0\u51fa\u8db3\u591f\u6df1\u7684\u58c1\u5792\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6574\u4f53\u6765\u770b\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u6267\u884c\u5f85\u9a8c\u8bc1\u3002\u5efa\u8bae\u56e2\u961f\u628a\u7cbe\u529b\u653e\u5728\u201c\u600e\u4e48\u505a\u5bf9\u201d\u800c\u4e0d\u662f\u201c\u505a\u5f97\u591a\u201d\u4e0a\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u88ab\u4e0b\u4e00\u6ce2\u6a21\u4eff\u8005\u8ffd\u4e0a\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Double<\/span>\n                <\/div>\n<div class=\"comment-content\">Double is your personal AI career agent. Just text it, and it manages your entire career: finding your roles, applying for you, growing and maintaining your network, and making recruiters chase after you.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! I&#8217;m Loup, and I built Double alongside @vances678 and @lucapiekarski.<\/p>\n<p>For most of my life, I\u2019ve felt undervalued. I always believed that I had what it takes to get into good schools and good jobs, but it seemed like I could never represent myself in a way that showed it.<\/p>\n<p>At some point I realized the people who don&#8217;t have this problem aren&#8217;t more talented than the rest of us. They just have someone in their corner who scouts opportunities for them, plugs them into jobs, makes the introductions, and manages how the world sees them. If celebrities and wealthy people get an agent to represent them, why doesn&#8217;t a normal person have one too?<\/p>\n<p>That\u2019s why we built Double. Double is your personal AI career agent. You just text it, and it represents you: finding the roles you actually deserve, applying for you, growing your network, and building your presence online so recruiters come to you.<\/p>\n<p>Most people never get the job they deserve, not because they aren\u2019t good enough, but because they could never show it. We built Double to change that. It gets you the job you deserve and the pay that comes with it, the kind that can double what you make today.<\/p>\n<p>It\u2019s free to try at <a href=\"https:\/\/trydouble.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/trydouble.ai<\/a>. I\u2019ll be here all day. This is an early version, so any advice and feedback is greatly appreciated.<\/p>\n<p>We envision a world where talent can focus on developing their talent, rather than spending time stressing about being seen and found.<\/p>\n<p>Loup WANG<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Whats up guys, if you have any questions regarding the product I&#8217;ll be awake all day responding so please please lmk<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice launch , qq how does the agent balance token limit optimization when reviewing long multi-page corporate career documents alongside deep user profile sets?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@istiakahmad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@istiakahmad<\/a>&nbsp;We don&#8217;t feed raw docs into context. Long documents and profiles get extracted into structured data against our own skills\/occupation taxonomies, then we use embeddings to retrieve only what&#8217;s relevant to the task at hand, backed by a persistent user profile so the agent isn&#8217;t re-reading everything each time. The model spends tokens reasoning, not re-parsing boilerplate. Happy to go deeper if you&#8217;re building in this space!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Which data it &#8220;reads over the internet&#8221; in terms of getting information about the job positions? Also LinkedIn? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;we crawl 80k+ company career pages weekly and get job listings STRAIGHT from the source, so no aggregators like linkedin or indeed as they are quite unreliable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a calendar integration that blocks out time for interview prep or networking follow ups, since right now the agent handles applications but I still have to manually schedule everything around it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@harun154545\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harun154545<\/a>&nbsp;We are actively working to integrate google calendar + mail. Double will be able to do that automatically in a couple of weeks! Thanks so much for checking us out and the feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a &#8220;quiet mode&#8221; where Double only surfaces the top 1-2 matches per week instead of a daily feed. Right now I&#8217;m worried about notification fatigue and starting to tune things out, which defeats the purpose of having an agent working for me in the background.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@salimsoyal60504\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salimsoyal60504<\/a>&nbsp;Hey Salim, Thanks for the feedback! That&#8217;s a great point. We&#8217;re actively integrating that feature in our messaging interface. Check back in a couple of days \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Lot of people use Claude to fix their resumes and apply to jobs. But they still end up doing the search and manually applying. I was wondering how accurate is the AI when it automates this task and does it improve over time ?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@reda_roqai_chaoui\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reda_roqai_chaoui<\/a>&nbsp;Hi Reda, good question! Double is quite accurate with this kind of thing, we also have strict guardrails in place so double never does anything you don&#8217;t want it to do. In addition to this, double also has a memory system so it is capable of learning and improving over time!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how the whole experience is just a text conversation \u2014 no clunky dashboards or settings maze, just tell it what you want and it handles the rest. That simplicity is hard to nail and they nailed it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zerda117984\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zerda117984<\/a>&nbsp;Thanks a lot Zerda!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting concept. How does Double learn from outcomes such as recruiter replies, rejections, and interviews to improve the roles it pursues and the way it represents each user? Can users also see why Double believes a particular opportunity is worth pursuing before it takes action?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@j_mehta1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@j_mehta1<\/a>&nbsp;We have a custom memory layer that stores all of the actions\/outcomes double takes on your behalf so it learns what works and what doesn&#8217;t. In regards to users being able to see why double believes a particular opportunity is worth it, there is no UI per se, but all you have to do is ask double to explain! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how the interface keeps everything as a simple text conversation instead of burying the job search behind a dozen menus and filters. Feels way more natural than the usual bloated career platforms out there.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>@sinan1082007 Means a lot that you like it Sinan! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks super exciting \u2014 congrats to the whole team on the launch! \ud83d\ude80\ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@zvonimir_sabljic1 thanks a lot for the support! Hope you like Double \ud83d\ude42<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on shipping. The thing I would protect here is the crawler, not the agent.<\/p>\n<\/p>\n<p>Luca&#8217;s answer to Nika is the most interesting line in this thread. Crawling 80k company career pages weekly and skipping the aggregators is a real asset, it is hard to copy, and it is the part nobody in the comments is talking about. Everything else in the pitch, applying for you and growing your network, is something ten other tools are claiming this month.<\/p>\n<\/p>\n<p>The risk on the applying side is timing. This is the year hiring teams started drowning in AI applications, and a lot of them are now filtering for exactly that, so volume is turning into a liability rather than an edge. If Double applies to 200 roles for me and 190 are near misses, I have not been represented, I have been mass mailed, and that lands on my name rather than yours.<\/p>\n<\/p>\n<p>So the version I would want is fewer and better. Ten roles pulled straight from company career pages, matched properly, with something written that actually sounds like me. That happens to be the story your crawler lets you tell and your competitors cannot.<\/p>\n<\/p>\n<p>One small thing on the site. It is worth saying plainly what happens to my CV, and whether anything gets posted or sent as me before I connect an account. For a product that speaks on my behalf, that answer is most of the decision.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abdullah_javaid3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abdullah_javaid3<\/a>&nbsp;Hey Abdullah! Thank you so much for the message. This is really good advice, and exactly the direction we&#8217;re trying to go towards. You are completely correct about the volume and mass-apply issue. This is one of the biggest issues in the job market today, and leads to a viscous cycle of: volume applying leading to more rejection leading to more applying&#8230; <\/p>\n<\/p>\n<p>We want to solve this issue by doing what all our competitors don&#8217;t: advise people on the best next steps to take, growing their online portfolio\/presence by showcasing their projects + contributions, and connecting them to the right people to help them. We want to think about the applying as a &#8216;given&#8217; &#8211; nobody wants to fill in applications and all we do is simplify the tedious process. We do not support mass apply, and specifically made it so that every application is carefully optimized and tailored. We are continuously searching for better ways for candidates to stand out, ones that don&#8217;t rely on spray-and-pray which is killing the job market. <\/p>\n<\/p>\n<p>In the future, we are also thinking about adding a layer of friction for people that apply to roles that don&#8217;t fit. We believe that everyone can shoot for any role, but if it isn&#8217;t a match, Double takes the steps to advise them how to become a fit. <\/p>\n<p>Side note: We have already built the feature that carefully recommends select jobs to users and are shipping that today! I&#8217;ve also written a few blog posts on this exact issue, would love if you could check it out: <a href=\"https:\/\/trydouble.ai\/articles\/youre-a-lemon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/trydouble.ai\/articles\/youre-a-lemon<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone! I&#8217;m Vance, Double&#8217;s CTO, and I&#8217;ll be here all day to answer any questions you have. Also, let me know any features you&#8217;d like to see!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting concept. I\u2019d love to try how Double finds relevant roles and handles outreach.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@glebarios\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@glebarios<\/a>&nbsp;Thanks so much for the support Hlib! Excited to hear what you think!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the focus on quality over mass-applying. A career agent that can tailor roles, applications, and networking from real outcomes feels much closer to what candidates actually need. How do you decide when Double should apply automatically versus ask the user for approval first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@glebarios\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@glebarios<\/a>&nbsp;Hi Hlib, great question! Double&#8217;s actions are completely controlled by the user! You can choose between ask and agent mode, where ask requires confirmation for any actions and agent where double acts on your behalf. You can toggle between the two and save settings for certain actions so double only automates as much as a user wants. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;just text it&#8221; interface is a genuinely distinctive design choice, treating career management like texting a real agent rather than another dashboard to check, which fits your framing of giving everyday people the kind of representation celebrities get. How much upfront context (resume, LinkedIn, past applications) does Double need before it starts acting with good judgment, and can users review outbound messages like network outreach and application copy before they go out, or does it act autonomously by default?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>&nbsp;<a href=\"https:\/\/www.producthunt.com\/@renchu_song\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@renchu_song<\/a>&nbsp;Hey Richard, thanks a lot for the support! You can start with your resume and\/or linkedin. Double gets to good judgment quickly from that, and it sharpens the more it has past applications, the roles you&#8217;re targeting and what you liked or passed on. We&#8217;re also adding a layer to make outreach sound exactly like the user (shipping in the next week). On the second question: you have the option to set Double to &#8216;auto&#8217; or &#8216;approve&#8217; mode &#8211; we default to showing users exactly what we&#8217;re sending out to avoid mistakes + slop!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@renchu_song\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@renchu_song<\/a>&nbsp;At the very least, double needs your resume + linkedin to start acting with good judgement. This enables double to know your career trajectory and really understand where you currently are at in your job search process. In regards to your second question, double has two modes ask vs agent; by default double never submits applications or messages people without your confirmation, you can configure it to act autonomously though. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the crawl-80k-career-pages angle is the real moat here, agree with Abdullah on that. curious about the handoff point though &#8211; once you&#8217;re past applying and into something like a take-home assignment or a live coding round, where does Double step back and let the human take over, and does it prep you for that part or just get you to the door?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Great question. Currently Double steps back and lets the human handle that. We are actively working to make Double to be able help prep interviews, but want to make that as helpful as we can be. Don&#8217;t want to claim to be an interview prep tool but just be another LLM wrapper! We will ship this in the coming month \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Upvoted.. Cngrats to launch \ud83d\ude4c <a href=\"https:\/\/www.producthunt.com\/@lucapiekarski\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"lucapiekarski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lucapiekarski<\/a> putting an active agent in your corner to scout opportunities completely drops the exhausting application anxiety.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>auto-applying at scale is the part that worries me a bit &#8211; a lot of companies quietly blacklist candidates who spam the same generic application across dozens of roles at their org. does Double tailor each application enough to avoid that, or is it optimizing purely for application volume?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Hi Omri, thanks for the comment! I went through this briefly in an earlier comment: <\/p>\n<\/p>\n<p>&#8220;You are completely correct about the volume and mass-apply issue. This is one of the biggest issues in the job market today, and leads to a viscous cycle of: volume applying leading to more rejection leading to more applying&#8230;<\/p>\n<\/p>\n<p>We want to solve this issue by doing what all our competitors don&#8217;t: advise people on the best next steps to take, growing their online portfolio\/presence by showcasing their projects + contributions, and connecting them to the right people to help them. We want to think about the applying as a &#8216;given&#8217; &#8211; nobody wants to fill in applications and all we do is simplify the tedious process. We do not support mass apply, and specifically made it so that every application is carefully optimized and tailored. We are continuously searching for better ways for candidates to stand out, ones that don&#8217;t rely on spray-and-pray which is killing the job market.<\/p>\n<\/p>\n<p>In the future, we are also thinking about adding a layer of friction for people that apply to roles that don&#8217;t fit. We believe that everyone can shoot for any role, but if it isn&#8217;t a match, Double takes the steps to advise them how to become a fit.<\/p>\n<p>Side note: We have already built the feature that carefully recommends select jobs to users and are shipping that today! I&#8217;ve also written a few blog posts on this exact issue, would love if you could check it out: <a href=\"https:\/\/trydouble.ai\/articles\/youre-a-lemon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/trydouble.ai\/articles\/youre-a-lemon<\/a> as well as <a href=\"https:\/\/trydouble.ai\/articles\/attention-is-all-you-need\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/trydouble.ai\/articles\/attention-is-all-you-need<\/a>.&#8221; <\/p>\n<\/p>\n<p>Really glad to see that people are starting to see the flaws of spam auto-applying. That is definitely NOT the direction we want to develop towards. Happy to answer any further questions!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The idea to simplify job search with AI is at least 2 years-old.<br \/>Could you take a day or two and think about how would you compete with Jobright AI (launched in 2024 and growing)?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@wvitalik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wvitalik<\/a>&nbsp;Hey Vitalii! Thanks for the comment. This is a good question. Jobright has certainly paved the way for a lot of career tools, but we differentiate in two ways:<\/p>\n<ol>\n<li>\n<p>Double is an agent instead of a tool. Jobright is more of a copilot, users decide what to do, when to do it, and you run each feature themselves. Double actually knows what your career context, and what you should be doing (next steps) and drives the process for you. In other words, you don&#8217;t have to remember to follow up or build out your search strategy. Furthermore, Double doesn&#8217;t stop at just getting people hired, it keeps managing and growing your career by growing + maintaining your network &amp; helping you shape your portfolio + presence online.<\/p>\n<\/li>\n<li>\n<p>We focus on getting you seen, not just applying more. AI made everyone&#8217;s applications look basically identical, so blasting out more of them stopped working. So we put as much weight on making you visible and reachable to the right people as we do on the applications themselves. We are still actively improving our product, but if you want to see our philosophy, check out: <a href=\"https:\/\/trydouble.ai\/articles\/youre-a-lemon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/trydouble.ai\/articles\/youre-a-lemon<\/a> and <a href=\"https:\/\/trydouble.ai\/articles\/attention-is-all-you-need\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/trydouble.ai\/articles\/attention-is-all-you-need<\/a><\/p>\n<\/li>\n<\/ol>\n<p>Let me know if this answers the question &#8211; would be more than happy to explain further! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>When it applies for me, how much control do I get before something goes out? Recruiters can tell when an application is automated, so I&#8217;m curious if I approve each one or if it just runs and I find out later.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@talhakhalidmtk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@talhakhalidmtk<\/a>&nbsp;You have the option to toggle between &#8216;approve&#8217; mode and &#8216;auto&#8217; mode! We&#8217;ll always ask for input if we don&#8217;t have the full picture &#8211; no AI slop applications!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the fact that you can just text it like a friend to handle job apps and networking is such a smart way to remove friction. whoever designed that conversational flow really gets how lazy we all are about career stuff.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@habibe0sxh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@habibe0sxh<\/a>&nbsp;Haha! Thanks a lot Habibe. You get it \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>would love to see a way to track which conversations turned into actual opportunities, like a simple dashboard showing response rates and next steps so i can see whats actually working.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tlinzheb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tlinzheb<\/a>&nbsp;Shipping that by the end of the week!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ZOJUG4B5UITKRG\" class=\"app-title\">Wishlist and gifts &#8211; Farha<\/a><\/p>\n<div class=\"one-liner\">Wishlist and gifting app<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">37<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Farha\u662f\u4e00\u6b3e\u9762\u5411\u5bb6\u5ead\u7684\u514d\u8d39\u5fc3\u613f\u6e05\u5355\u5e94\u7528\uff0c\u7528\u6237\u53ef\u4ece\u4efb\u610f\u5546\u5e97\u6dfb\u52a0\u5546\u54c1\u3001\u901a\u8fc7\u65e0\u9700\u6ce8\u518c\u7684\u94fe\u63a5\u5206\u4eab\uff0c\u5e76\u5229\u7528\u79d8\u5bc6\u9884\u5b9a\u548c\u56e2\u4f53\u9001\u793c\u529f\u80fd\u534f\u8c03\u793c\u7269\uff0c\u907f\u514d\u91cd\u590d\u8d2d\u4e70\u548c\u60ca\u559c\u6cc4\u9732\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f76b8b60-9a9b-4274-a56a-7f127c9df923.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b863a09c-19fd-4110-912a-1bbc79c67fbe.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bd38819c-8829-40e2-acc0-216bb8a1c1c3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5b5f255b-097f-4b97-9078-af4a21789f21.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7b20fd26-7627-4e58-9ff5-8a16a0d439b2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4c255c41-df6a-4821-9c12-c342715331a7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dd6bf886-1a21-4ae0-9893-545f3fab87b0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Events<\/span><br \/>\n            <span class=\"tag\">Lifestyle<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5fc3\u613f\u6e05\u5355<\/span><br \/>\n            <span class=\"tag\">\u5bb6\u5ead\u793c\u7269\u534f\u8c03<\/span><br \/>\n            <span class=\"tag\">\u79d8\u5bc6\u9884\u5b9a<\/span><br \/>\n            <span class=\"tag\">\u56e2\u4f53\u9001\u793c<\/span><br \/>\n            <span class=\"tag\">\u65e0\u9700\u6ce8\u518c<\/span><br \/>\n            <span class=\"tag\">\u793c\u54c1\u7b56\u5212<\/span><br \/>\n            <span class=\"tag\">\u751f\u65e5\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u5bb6\u5ead\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u53bb\u91cd\u590d<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5206\u4eab<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u79d8\u5bc6\u9884\u5b9a\u529f\u80fd\u53ef\u89e3\u51b3\u91cd\u590d\u9001\u793c\u75db\u70b9\uff0c\u591a\u6b21\u63d0\u95ee\u5e76\u53d1\u7ade\u6001\u548c\u540e\u53f0\u5b9e\u73b0\u3002\u5efa\u8bae\u5305\u62ec\uff1a\u94fe\u63a5\u8fc7\u671f\u81ea\u52a8\u5173\u95ed\u3001\u5185\u7f6e\u751f\u65e5\/\u4e8b\u4ef6\u63d0\u9192\u3001\u9884\u7b97\u8ffd\u8e2a\u5668\u4e0e\u9884\u5b9a\u81ea\u52a8\u63ed\u6653\u65e5\u671f\u3002\u65e0\u6ce8\u518c\u5206\u4eab\u83b7\u666e\u904d\u597d\u8bc4\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Farha\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u7cbe\u51c6\u5207\u5165\u4e86\u5bb6\u5ead\u793c\u7269\u534f\u8c03\u7684\u201c\u793e\u4ea4\u5c34\u5c2c\u201d\u2014\u2014\u91cd\u590d\u9001\u793c\u3001\u60ca\u559c\u6cc4\u9732\u3001\u7fa4\u804a\u6df7\u4e71\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u5236\u9020\u53c8\u4e00\u4e2a\u201c\u8d2d\u7269\u6e05\u5355\u5de5\u5177\u201d\uff0c\u800c\u662f\u901a\u8fc7\u201c\u79d8\u5bc6\u9884\u5b9a+\u65e0\u6ce8\u518c\u5206\u4eab\u201d\u6784\u5efa\u4e86\u4f4e\u6469\u64e6\u7684\u4fe1\u4efb\u673a\u5236\u3002\u4f46\u95ee\u9898\u4e5f\u5f88\u660e\u663e\uff1a\u9996\u5148\uff0c\u7528\u6237\u884c\u4e3a\u5b63\u8282\u6027\u6781\u5f3a\uff08\u4ec5\u751f\u65e5\/\u8282\u65e5\uff09\uff0c\u7559\u5b58\u662f\u5929\u7136\u77ed\u677f\uff0c\u9760\u201c\u5168\u5e74\u4fdd\u5b58\u60f3\u6cd5\u201d\u7684\u56de\u5e94\u7565\u663e\u4e4f\u529b\uff0c\u7f3a\u4e4f\u6301\u7eed\u6fc0\u6d3b\u573a\u666f\u5982\u5fc3\u613f\u5230\u671f\u63d0\u9192\u3001\u793c\u7269\u7075\u611f\u63a8\u8350\u7b49\uff1b\u5176\u6b21\uff0c\u7ade\u6001\u95ee\u9898\uff08\u4e24\u4eba\u540c\u65f6\u6253\u5f00\u5217\u8868\u770b\u5230\u9884\u5b9a\uff09\u662f\u793c\u7269\u534f\u8c03\u7684\u786c\u4f24\uff0c\u8bc4\u8bba\u4e2d\u5df2\u6709\u7528\u6237\u8d28\u7591\u540e\u7aef\u5904\u7406\u80fd\u529b\uff0c\u4e00\u65e6\u51fa\u73b0\u4fe1\u606f\u6cc4\u9732\uff0c\u4fe1\u4efb\u611f\u77ac\u95f4\u5f52\u96f6\uff1b\u518d\u8005\uff0c\u76ee\u524d\u8bc4\u8bba\u591a\u4e3a\u65e9\u671f\u8bd5\u7528\u8005\u7684\u6b63\u9762\u53cd\u9988\uff0c\u672a\u89e6\u53ca\u51b7\u542f\u52a8\uff08\u5bb6\u4eba\u90fd\u4e0d\u613f\u7528\uff09\u548c\u8de8\u5e73\u53f0\uff08\u65e0iOS\uff09\u8fd9\u4e9b\u5b9e\u9645\u963b\u788d\u3002\u4ea7\u54c1\u529f\u80fd\u4e0a\uff0c\u9884\u7b97\u8ffd\u8e2a\u3001\u81ea\u52a8\u63ed\u6653\u3001\u94fe\u63a5\u8fc7\u671f\u7b49\u5efa\u8bae\u5747\u5c5e\u77ed\u671f\u53ef\u8ddf\u8fdb\u7684\u201c\u521a\u9700\u8865\u4e01\u201d\uff0c\u4f46\u80fd\u5426\u4ece\u201c\u5b63\u8282\u6027\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u5bb6\u5ead\u793c\u7269\u4eea\u5f0f\u611f\u7684\u6570\u5b57\u57fa\u7840\u8bbe\u65bd\u201d\uff0c\u53d6\u51b3\u4e8e\u80fd\u5426\u5f15\u5165\u793e\u4ea4\u951a\u70b9\uff08\u5982\u793c\u7269\u6545\u4e8b\u5206\u4eab\u3001\u611f\u8c22\u5361\u81ea\u52a8\u53d1\u9001\uff09\u8ba9\u7528\u6237\u957f\u671f\u9a7b\u7559\u3002\u603b\u4f53\u800c\u8a00\uff0cFarha\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u82e5\u53ea\u505c\u7559\u5728\u201c\u89e3\u51b3\u5c34\u5c2c\u201d\u800c\u7f3a\u4e4f\u201c\u521b\u9020\u4eea\u5f0f\u611f\u201d\u7684\u8fdb\u5316\u80fd\u529b\uff0c\u6050\u96be\u6446\u8131\u7528\u5b8c\u5373\u8d70\u7684\u5bbf\u547d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Wishlist and gifts &#8211; Farha<\/span>\n                <\/div>\n<div class=\"comment-content\">Farha is a free wishlist app for families. Create wishlists from any store, share via link (no signup needed), and coordinate gifts with secret reservations and group gifting.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the secret reservation feature is the right instinct for these apps, group gift coordination falls apart fast without it. curious if there&#8217;s an iOS app planned too, or if the shareable web link is meant to make that unnecessary<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the secret reservations bit is the actual hard part of these apps to get right, my family&#8217;s tried a couple wishlist tools before and they always leak who reserved what if two people open the list at the same time. how are you handling that race condition on the backend?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a very practical idea for families. Wishlists are easy to make, but coordinating gifts across parents, grandparents, siblings, and friends can get messy fast.<\/p>\n<p>I like that Farha works with any store and can be shared by link without requiring everyone to sign up. That makes it much easier for extended family members to actually use it.<\/p>\n<p>Quick question: how do secret reservations work in practice? Can gift givers see what has already been reserved while keeping the surprise hidden from the person receiving the gift?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Most people only think about wishlists a few times a year, so retention will be a bit difficult. However, I like the group gifting feature.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@reda_roqai_chaoui\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reda_roqai_chaoui<\/a>&nbsp;Thanks for the feedback! That&#8217;s a fair point\u2014wishlists tend to be seasonal for many people, and retention is definitely something we&#8217;re thinking about. Our goal is to make Farha useful beyond birthdays and holidays, with features that encourage people to save ideas throughout the year and make gift planning easier whenever an occasion comes up. I really appreciate you sharing your thoughts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that sharing a wishlist doesn&#8217;t require the recipient to sign up for anything. That friction-free link sharing is such a thoughtful UX choice, especially for older relatives who just want to see what someone wants.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@berilelyptz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@berilelyptz<\/a>&nbsp;Thank you so much! \ud83d\ude0a I&#8217;m really happy that stood out to you.<\/p>\n<p>Making wishlist sharing as simple as sending a link was a very intentional decision. Not everyone wants to create an account just to view a wishlist, especially when it&#8217;s family members who simply want to find the perfect gift. Keeping that experience friction-free was important from the start.<\/p>\n<p>I really appreciate your thoughtful feedback. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A friend mentioned this the other day and I gave it a try, the secret reservation thing is such a smart touch. One thing that would take it further for our family is a built-in budget tracker per wishlist, so anyone contributing to group gifts can see how close we are to the goal without pinging the organizer. Would save a lot of back and forth in our group chat.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cananyunuset3t\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cananyunuset3t<\/a>&nbsp;Thanks for giving Farha a try and for sharing such thoughtful feedback! We&#8217;re really glad the secret reservation feature stood out to you. A shared progress tracker for group gifts is a great idea\u2014it would make coordinating contributions much easier while keeping everyone updated without extra messages. We&#8217;ll definitely keep this in mind as we continue improving the group gifting experience. Thanks again for the suggestion!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the secret reservation feature is honestly so smart, finally no more awkward double gifts at birthdays. set up a quick list for my sister&#8217;s birthday and sharing it without her needing to sign up is super smooth.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ferdiskge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdiskge<\/a>&nbsp;Thank you! We&#8217;re so glad this helped avoid duplicate gifts\u2014that was one of the main problems we wanted to solve. It&#8217;s also great to hear sharing the wishlist was quick and easy. Really appreciate you giving Farha a try and sharing your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried this with my sister&#8217;s birthday coming up. Adding stuff from random stores without having to make accounts was honestly the best part, and my brother saw the same Bose headphones and chipped in without telling her. Pretty handy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@baraltunsajsvh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@baraltunsajsvh<\/a>&nbsp;Thanks so much for sharing your experience! We&#8217;re happy to hear adding items from different stores felt seamless and that group gifting helped make the surprise work. That&#8217;s exactly the kind of experience we hoped Farha would make easier. We really appreciate your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really clean experience adding items from random stores and sharing the link with my sister worked without her needing to sign up. The group gifting idea is surprisingly practical for my parents&#8217; birthdays.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@emircandemtyvr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emircandemtyvr<\/a>&nbsp;Thank you! We&#8217;re really glad to hear the sharing experience worked smoothly for you. Making it easy for anyone to view a wishlist\u2014without creating an account\u2014was an important goal for us. It&#8217;s also great to hear the group gifting feature feels useful for family birthdays. Thanks so much for your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A small thing that would make sharing smoother is letting us set an expiration date on a wishlist link. Family events come and go, and it would be nice to have links auto-close after the birthday or holiday is over so old lists stay private without me having to remember to delete them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@arda5a0f\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arda5a0f<\/a>&nbsp;Thanks for the suggestion! That&#8217;s a really practical idea. An optional expiration date for shared wishlist links would help keep old lists private and reduce the need for manual cleanup after an event. We&#8217;ll definitely keep this in mind as we continue improving the sharing experience. Thanks for taking the time to share it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Adding an in-app birthday or event reminder that pings family members a week before the date would be super helpful. Right now I still rely on Google Calendar to remember my niece&#8217;s birthday, and it&#8217;s easy to miss. If Farha could nudge everyone in the shared group automatically, it would become the one place my family actually checks for gift planning.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yldz98ca\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yldz98ca<\/a>&nbsp;Thanks for the thoughtful suggestion! That&#8217;s a great use case, and we agree that reminders are an important part of making gift planning effortless. We&#8217;re exploring ways to add birthday and event reminders so family members get notified ahead of time without needing a separate calendar. Really appreciate you taking the time to share this idea!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A nice simple gift-coordination app. One feature that would really help during birthdays and holidays would be letting us schedule a &#8220;reveal date&#8221; for secret reservations so they automatically unlock the moment a celebration arrives, no manual nudge needed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@merangnwqhu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@merangnwqhu<\/a>&nbsp;Thank you so much! I&#8217;m really glad you like the idea. \ud83d\ude0a<\/p>\n<p>I love that suggestion.<\/p>\n<p>I&#8217;ve added this to my list of features to explore, once it is added, I will let you know. Thanks again for taking the time to share such a thoughtful idea\u2014it genuinely helps make Farha better.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the secret reservation feature is such a smart touch, finally a way to avoid the awkward &#8220;i got the same gift&#8221; moment at family birthdays.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@reyhan719241\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reyhan719241<\/a>&nbsp;Thank you so much! \ud83d\ude0a That awkward &#8220;we bought the same gift&#8221; situation is exactly the problem I wanted to solve.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that the share link works without forcing recipients to sign up, such a respectful touch for family members who just want to peek at a list. The secret reservation feature is clever too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@merve1519747\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@merve1519747<\/a>&nbsp;Thank you so much! \ud83d\ude0a That was a very intentional decision.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that shared links need no signup. Makes it so easy to drop a wishlist in the family group chat without making everyone create accounts just to peek.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nuran144240\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nuran144240<\/a>&nbsp;Thank you so much! \ud83d\ude0a That was one of the core principles behind Farha.<br \/>I wanted anyone to be able to open a wishlist instantly, without the friction of creating an account first. If someone receives a wishlist in a family group chat, they should be able to browse it with a single tap and focus on finding the perfect gift\u2014not on signing up.<\/p>\n<p>Thanks again for your kind words and for taking the time to check out Farha! \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. One thing I&#8217;d love to see is a browser extension that lets me add items to a wishlist directly from any shopping site with one click, instead of pasting links manually every time. Would make building lists for birthdays and holidays way faster for busy parents like me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@erdal224209\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erdal224209<\/a>&nbsp;Thank you so much! \ud83d\ude0a I&#8217;m happy to share that a browser extension is already available, and it&#8217;s designed for exactly that use case see this: <a href=\"https:\/\/chromewebstore.google.com\/detail\/confgmolkdbjaonedgbpelleganeleej?utm_source=item-share-cb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/chromewebstore.google.com\/detail\/confgmolkdbjaonedgbpelleganeleej?utm_source=item-share-cb<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The secret reservation idea is clever for avoiding duplicates. One thing I&#8217;d love to see is a built-in birthday or occasion reminder that nudges family members a week before so we actually check the wishlists and buy on time. Would make the whole coordination flow feel less last-minute.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kamilksakrqtow\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kamilksakrqtow<\/a>&nbsp;Thank you so much! \ud83d\ude0a I completely agree\u2014that&#8217;s a great idea.<\/p>\n<\/p>\n<p>I really appreciate you sharing this. It&#8217;s definitely a feature I&#8217;d love to add to make the whole gifting experience feel even more seamless. \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The no-signup sharing is a lifesaver for sending my mom a quick birthday list without making her create an account. Love that the secret reservation feature prevents my sister from buying the same thing twice again.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@arzukanbrec5ro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arzukanbrec5ro<\/a>&nbsp;Thank you so much! \ud83d\ude0a That was exactly the experience I wanted to create.<\/p>\n<p>Sharing a wishlist should be as easy as sending a link, especially for family members who just want to browse without creating yet another account.<br \/>I really appreciate your feedback.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The secret reservation feature sounds really clever for avoiding duplicate gifts. One thing I&#8217;d love to see is a price tracking option so the wishlist owner gets notified when something goes on sale, and contributors can see the price history before chipping in for group gifts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@neslihan125518\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@neslihan125518<\/a>&nbsp;Thank you so much! \ud83d\ude0a I&#8217;m really glad you like the secret reservation feature.<\/p>\n<p>I also love your idea about price tracking. Getting notified when a wishlist item goes on sale would help people save money, and showing recent price history could give contributors more confidence when joining a group gift. It fits perfectly with Farha&#8217;s goal of making gifting easier and more thoughtful.<\/p>\n<p>Thank you for sharing such a practical suggestion\u2014I&#8217;ve added it to my list of ideas to explore for future updates! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Browser extension so I can add items to a family wishlist without leaving the store page would save a lot of time. Right now copying links over feels like extra steps that could be skipped.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tunahan155609\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tunahan155609<\/a>&nbsp;Thank you so much! \ud83d\ude0a <\/p>\n<p>The good news is that Farha already has a browser extension that lets you save products directly from almost any shopping site with a single click, so there&#8217;s no need to copy and paste links manually. It was built to make creating wishlists as effortless as possible.<br \/>find it here: <a href=\"https:\/\/chromewebstore.google.com\/detail\/confgmolkdbjaonedgbpelleganeleej?utm_source=item-share-cb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/chromewebstore.google.com\/detail\/confgmolkdbjaonedgbpelleganeleej?utm_source=item-share-cb<\/a><\/p>\n<p>I really appreciate you sharing your thoughts, and it&#8217;s great to know this is a feature people find valuable. Thanks for taking the time to check out Farha! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried Farha with my sister&#8217;s birthday and the secret reservation feature was a lifesaver\u2014no more awkward duplicate gifts from family. Love that sharing the wishlist didn&#8217;t make everyone create accounts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alperergel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alperergel<\/a>&nbsp;Thank you so much! \ud83d\ude0a I&#8217;m so glad to know that!<\/p>\n<p>Avoiding duplicate gifts while keeping the surprise intact is exactly why I built the secret reservation feature, so it&#8217;s wonderful to hear it worked well for your family. I&#8217;m also happy the no-signup sharing made it easy for everyone to access the wishlist without any unnecessary hassle.<\/p>\n<p>Thanks again for giving Farha a try and for sharing your experience\u2014it really means a lot! \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried Farha with my family and the secret reservation feature actually works smoothly\u2014no awkward duplicate gifts this year. The no signup link share is a nice touch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cafertrf7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cafertrf7<\/a>&nbsp;Thank you so much! \ud83d\ude0a Hearing that means a lot.<\/p>\n<p>I&#8217;m really happy to hear the secret reservation feature helped your family avoid duplicate gifts\u2014that&#8217;s exactly the kind of experience I hoped Farha would create. <\/p>\n<p>Thanks again for trying Farha <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that the link sharing works without requiring a signup on the other end, that removes the biggest friction for non-techy relatives and actually makes the whole gift coordination thing usable in real families.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@erdalisxc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erdalisxc<\/a>&nbsp;Thank you so much! \ud83d\ude0a That was one of the main goals behind Farha.<\/p>\n<p>I wanted sharing a wishlist to be as effortless as sending a message, so family and friends can open it instantly without creating an account first. Thanks for your feedback! \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/27ZJX3GPO7GHBN\" class=\"app-title\">Pelagic Analytics<\/a><\/p>\n<div class=\"one-liner\">The Google Analytics alternative that grows your traffic.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">31<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Pelagic Analytics \u662f\u4e00\u6b3e\u5185\u7f6eAI SEO\u4ee3\u7406\u7684\u65e0Cookie\u5206\u6790\u5de5\u5177\uff0c\u5e2e\u52a9\u4e2d\u5c0f\u7f51\u7ad9\u4e3b\u5728\u65e0\u9700\u624b\u52a8\u4f18\u5316\u7684\u60c5\u51b5\u4e0b\uff0c\u81ea\u52a8\u7814\u7a76\u5173\u952e\u8bcd\u3001\u751f\u6210\u5e76\u53d1\u5e03\u7b26\u5408\u641c\u7d22\u610f\u56fe\u7684\u6587\u7ae0\uff0c\u4ece\u800c\u63d0\u5347\u6d41\u91cf\u548c\u8f6c\u5316\u7387\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/297cafce-341f-4d3e-92b9-68a789d0042b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eb258fdd-4a20-4a77-a262-f3d4c9a1e18f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/219949dc-a500-473c-9d7b-0ad07e02bd18.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/da443b8b-8cea-4042-9020-c1676e184ef8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/54c62eb2-205f-4433-9905-ed8e37a91445.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/496d31ae-62e4-4366-a751-1671a36bde71.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c02c0539-f3e9-4e46-9518-9fdb859d3f41.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8fb0a8b1-3cf7-4635-9883-6db0a939c904.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Analytics<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7f51\u7ad9\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">SEO\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u5185\u5bb9\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u65e0Cookie\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u6d41\u91cf\u589e\u957f<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u884c\u4e3a\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u7ad9\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u6b22\u8fce\u5176\u65e0Cookie\u3001\u514d\u540c\u610f\u6a2a\u5e45\u7684\u9690\u79c1\u53cb\u597d\u8bbe\u8ba1\u3002\u6838\u5fc3\u7591\u8651\u96c6\u4e2d\u5728\uff1a\u81ea\u52a8\u53d1\u5e03\u7684AI\u5185\u5bb9\u80fd\u5426\u957f\u671f\u901a\u8fc7\u8c37\u6b4c\u7b97\u6cd5\u5ba1\u6838\uff1f\u591a\u6570\u7528\u6237\u5efa\u8bae\u9ed8\u8ba4\u4f7f\u7528\u201c\u8349\u7a3f\u5ba1\u6838\u6a21\u5f0f\u201d\u800c\u975e\u201c\u81ea\u52a8\u53d1\u5e03\u201d\u3002\u90e8\u5206\u4eba\u5e0c\u671b\u589e\u52a0\u4e0eGA4\u7684\u6570\u636e\u5bf9\u6bd4\u529f\u80fd\u4ee5\u8bc4\u4f30\u5207\u6362\u6548\u679c\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Pelagic Analytics \u7684\u5b9a\u4f4d\u975e\u5e38\u5de7\u5999\uff1a\u5b83\u4e0d\u53ea\u662f\u4e00\u4e2a\u201cGoogle Analytics\u66ff\u4ee3\u54c1\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u5c06\u201c\u5206\u6790\u201d\u4e0e\u201c\u884c\u52a8\u201d\u95ed\u73af\u7684\u81ea\u52a8\u5316\u589e\u957f\u5f15\u64ce\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u89e3\u51b3\u4e86\u5c0f\u56e2\u961f\u6700\u75db\u82e6\u7684\u95ee\u9898\u2014\u2014\u77e5\u9053\u4e86\u6d41\u91cf\u6765\u6e90\u5374\u65e0\u529b\u6301\u7eed\u8f93\u51fa\u9ad8\u8d28\u91cfSEO\u5185\u5bb9\u3002AI\u4ee3\u7406\u81ea\u52a8\u5b8c\u6210\u5173\u952e\u8bcd\u7814\u7a76\u3001\u6587\u7ae0\u64b0\u5199\u548c\u53d1\u5e03\uff0c\u7406\u8bba\u4e0a\u80fd\u5c06\u8fd0\u8425\u8005\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\u51fa\u6765\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u6b63\u662f\u5176\u6700\u5927\u98ce\u9669\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u5df2\u6709\u654f\u9510\u7684\u8d28\u7591\uff1a\u8fd9\u79cd\u6a21\u5f0f\u662f\u5426\u4f1a\u88ab\u8c37\u6b4c\u201c\u6709\u7528\u5185\u5bb9\u66f4\u65b0\u201d\u7b97\u6cd5\u89c6\u4e3a\u4f4e\u8d28\u91cf\u81ea\u52a8\u5316\u519c\u573a\uff1f\u521b\u59cb\u4eba\u5766\u8bda\u5730\u8bbe\u5b9a\u4e86\u201c\u9ed8\u8ba4\u5ba1\u6838\u6a21\u5f0f\u201d\u548c\u201c\u6bcf\u65e5\u4e00\u7bc7\u201d\u7684\u4e0a\u9650\uff0c\u8bd5\u56fe\u5728\u6548\u7387\u4e0e\u5408\u89c4\u95f4\u627e\u5230\u5e73\u8861\uff0c\u4f46\u76ee\u524d\u7f3a\u4e4f\u957f\u671f\u6392\u540d\u6570\u636e\u652f\u6491\u3002\u8fd9\u672c\u8d28\u662f\u4e00\u573a\u4e0e\u641c\u7d22\u5f15\u64ce\u7b97\u6cd5\u7684\u201c\u732b\u9f20\u6e38\u620f\u201d\uff0c\u4e00\u65e6\u8c37\u6b4c\u6536\u7d27\u5bf9AI\u6279\u91cf\u5185\u5bb9\u7684\u6253\u51fb\uff0c\u4ea7\u54c1\u7684\u6838\u5fc3\u5356\u70b9\u53ef\u80fd\u77ac\u95f4\u5d29\u584c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4ea7\u54c1\u76ee\u524d\u7f3a\u4e4f\u4e0e\u65e7\u5206\u6790\u5de5\u5177\uff08\u5982GA4\uff09\u7684\u8fc1\u79fb\u6570\u636e\u5bf9\u6bd4\u529f\u80fd\uff0c\u7528\u6237\u96be\u4ee5\u91cf\u5316\u201c\u5207\u6362\u201d\u5e26\u6765\u7684\u5b9e\u9645\u6536\u76ca\uff0c\u8fd9\u4f1a\u6210\u4e3a\u6f5c\u5728\u7528\u6237\u51b3\u7b56\u7684\u786c\u4f24\u3002Pelagic \u76ee\u524d\u66f4\u9002\u5408\u4f5c\u4e3a\u201c\u5185\u5bb9\u751f\u4ea7\u52a0\u901f\u5668\u201d\u800c\u975e\u201c\u5206\u6790\u5de5\u5177\u201d\uff0c\u5176\u957f\u671f\u4ef7\u503c\u53d6\u51b3\u4e8eAI\u751f\u6210\u5185\u5bb9\u7684\u771f\u5b9e\u8d28\u91cf\u80fd\u5426\u7ecf\u5f97\u8d77\u641c\u7d22\u5f15\u64ce\u548c\u7528\u6237\u7684\u8003\u9a8c\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u201c\u7701\u6389\u4e00\u4e2a\u540c\u610f\u6a2a\u5e45\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Pelagic Analytics<\/span>\n                <\/div>\n<div class=\"comment-content\">Pelagic is a Google Analytics alternative with an AI SEO agent built in. See where customers come from and what makes them convert. The agent goes to work every day: researching keywords in your niche, writing articles that match search intent, and publishing them for you. Cookieless, real-time, and no consent banner. Try it free for 3 days.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>If you know Marc Lou\u2019s Ship or Die community (ship a startup in 30 days or get kicked out forever), this is my latest build and I\u2019m excited to finally share it with you.<\/p>\n<p>I kept running into the same problem: analytics tools told me what happened, but they didn\u2019t tell me what to do next&#8230;<\/p>\n<p>So I built Pelagic.<\/p>\n<p>Pelagic is an AI SEO\/GEO\/AEO growth engine that helps you understand your market, discover what customers are searching for, find content opportunities, and improve your visibility across Google and AI search.<\/p>\n<p>Your product doesn\u2019t suck. You\u2019re just invisible.<\/p>\n<p>Pelagic helps you monitor traffic, create content, see what\u2019s working, and continuously improve your growth WHILE YOU SLEEP.<\/p>\n<p>It\u2019s free for 3 days with no credit card required. I\u2019ll be around all day answering questions and would love your feedback \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>an agent that writes and publishes articles daily to match search intent sounds exactly like the pattern Google&#8217;s helpful content update was built to catch. has anyone running this for a few months actually seen rankings hold up, or does the traffic show up short term and then get filtered out once the volume looks automated?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;publishing them for you&#8221; part is the piece I&#8217;d want to understand better &#8211; does the agent auto-publish straight to the live site, or queue drafts for a quick human approval first? auto-publishing unreviewed AI content directly onto a domain feels like it could cut either way for SEO depending on how tight the review loop is<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Hey, good question, and you&#8217;re right that it cuts either way. That&#8217;s why review mode is the default: the agent researches, writes, and quality-checks the article, then it sets it up as a draft. Nothing touches your site until you hit publish. Autopilot is a separate opt-in toggle for once you trust its output.<\/p>\n<p>Two other guardrails: it takes one deliberate action per day and articles come out of a monthly quota, so even on Autopilot the worst case is one reviewed-quality article a day, not a spam farm.<\/p>\n<p>I run the Autopilot on my own site (every article on our blog is agent-written), but my honest advice is to stay in review mode for the first week or two until you&#8217;ve seen enough drafts to trust the voice.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally gave the AI SEO agent a real shot and it actually published two articles overnight that match my site&#8217;s tone pretty well. the cookieless tracking is a nice bonus too<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alpercpz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alpercpz<\/a>&nbsp;Really appreciate it! Glad the articles came out aligned with your brand voice. \ud83d\ude0a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the cookieless setup without that annoying consent banner is such a smart move honestly, makes the whole experience feel way cleaner from the jump<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@savabellekdtpy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@savabellekdtpy<\/a>&nbsp;Thanks! Removing the extra friction was exactly the goal. \ud83d\ude0a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like how the AI agent actually publishes the articles for you instead of just handing you a draft, that&#8217;s a level of execution most tools skip. Also the cookieless setup is genuinely refreshing, no consent banner feels almost luxurious these days.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@duyguutangan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@duyguutangan<\/a>&nbsp;Really appreciate it! Automation only matters if it actually saves you time. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Clean dashboard and the cookieless angle is genuinely refreshing, especially with consent banners becoming a pain across EU traffic. Curious to see how the AI-written articles hold up over time, but the keyword research alone feels worth a trial.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks for the kind words! Excited to see how the SEO agent performs for you over time. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The cookieless angle is a huge plus and the built-in SEO agent sounds really useful. One thing that would make this a no-brainer for me is a way to compare traffic and conversion data side by side with my previous GA setup, so I can actually see whether the switch is paying off and by how much.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@miray141473\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@miray141473<\/a>&nbsp;Thanks for the feedback! We actually have a built-in feature request board in the app where you can submit ideas like this. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried a privacy-friendly analytics tool that actually loads fast and the built-in SEO agent already drafted two decent articles overnight. Surprised how clean the traffic source breakdown looks without the usual cookie banner headache.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mustafagfvx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mustafagfvx<\/a>&nbsp;Appreciate the kind words! Glad it&#8217;s already saving you time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The cookieless setup was refreshing, no banner hassle at all. The AI agent actually published a decent first article overnight without me babysitting it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grkemhasanlmce\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grkemhasanlmce<\/a>&nbsp;Appreciate the feedback! Happy it&#8217;s already proving useful!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The cookieless setup without a consent banner is such a relief compared to juggling GA4 configs. Really nice execution on making the SEO agent feel like it actually does the research and writing instead of just spitting out generic drafts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ensar90917\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ensar90917<\/a>&nbsp;Love hearing that. Thanks for giving Pelagic a try! \ud83c\udf0a <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried it out for a day and the keyword research actually felt tailored to my niche instead of generic suggestions. Liked that the real-time view doesn&#8217;t need a consent banner, saves me from those annoying popup headaches.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@halitm7tv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@halitm7tv<\/a>&nbsp;Appreciate you giving it a shot! Means a lot to hear that. \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/XFEUYC76ANXRS5\" class=\"app-title\">Panguard.AI<\/a><\/p>\n<div class=\"one-liner\">Open-source malware scanner and runtime guard for AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">31<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PanGuard.AI \u662f\u4e00\u6b3e\u672c\u5730\u5f00\u6e90AI\u667a\u80fd\u4f53\u5b89\u5168\u5de5\u5177\uff0c\u80fd\u5728\u5b89\u88c5\u524d\u626b\u63cf\u7b2c\u4e09\u65b9\u6280\u80fd\/MCP\u670d\u52a1\u3001\u626b\u63cf\u5df2\u6709\u6280\u80fd\uff0c\u5e76\u5728\u8fd0\u884c\u65f6\u62e6\u622a\u52ab\u6301\u653b\u51fb\uff0c\u89e3\u51b3AI\u667a\u80fd\u4f53\u5728\u65e0\u6c99\u7bb1\u65e0\u5ba1\u67e5\u73af\u5883\u4e0b\u6587\u4ef6\u3001\u5bc6\u94a5\u548cShell\u88ab\u6076\u610f\u6280\u80fd\u7a83\u53d6\u7684\u6838\u5fc3\u98ce\u9669\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9a606614-cd25-4d66-a235-b53b95f240d5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2a68a1b2-10c9-4470-9811-7567831d50fc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/696c2e92-8a92-494b-a3af-91d5e15dc45e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/07ef7ade-382f-4633-9e71-6727f2209296.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f8a411cd-b8bb-45ed-931d-300e175d42d5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/14f326ad-b72c-45b0-848c-7c3557a17982.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5c7c6c6d-658f-484a-91d1-73e62ee0a1ed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u667a\u80fd\u4f53\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u6076\u610f\u6280\u80fd\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u884c\u65f6\u9632\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5b89\u5168\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u6a21\u5f0f\u5339\u914d\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u4f9b\u5e94\u94fe\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">ATR\u89c4\u5219\u96c6<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u52ab\u6301\u9632\u5fa1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u70b9\u8d5e\u5b89\u88c5\u5feb\u3001\u53d1\u73b0\u5df2\u88ab\u5ffd\u7565\u7684\u6076\u610f\u6280\u80fd\u3001\u672c\u5730\u8fd0\u884c\u4e0d\u8054\u7f51\u3002\u4e3b\u8981\u5efa\u8bae\uff1a\u6dfb\u52a0\u5b9e\u65f6\u76d1\u63a7\u65b0\u53d1\u5e03\u6280\u80fd\u7684\u63a8\u9001\u63d0\u9192\uff08\u76ee\u524d\u4ec5\u5b9a\u65f6\u62c9\u53d6\uff09\uff1b\u5728\u9ed8\u8ba4\u754c\u9762\u4e2d\u663e\u793a\u89e6\u53d1\u89c4\u5219\u7684\u4ee3\u7801\u884c\u548cATR\u89c4\u5219ID\uff08\u5df2\u6709JSON\u8f93\u51fa\u4f46\u672a\u6e32\u67d3\uff09\uff1b\u63d0\u4f9b\u201cpga doctor\u201d\u547d\u4ee4\u4e00\u952e\u751f\u6210\u6309\u98ce\u9669\u5206\u7ec4\u7684\u82f1\u6587\u6458\u8981\u3002\u521b\u59cb\u4eba\u5df2\u786e\u8ba4\u8fd9\u4e9b\u5efa\u8bae\u5e76\u8ba1\u5212\u4f18\u5316\u6e32\u67d3\u5c42\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                PanGuard.AI\u7684\u4ef7\u503c\u4e0d\u5728\u201c\u591a\u5feb\u591a\u51c6\u201d\uff0c\u800c\u5728\u5b83\u6345\u7834\u4e86\u4e00\u4e2aAI\u884c\u4e1a\u5fc3\u7167\u4e0d\u5ba3\u7684\u7a97\u6237\u7eb8\uff1a99%\u7684Agent\u5e94\u7528\u6ca1\u6709\u4efb\u4f55\u4ee3\u7801\u5ba1\u67e5\u300296,096\u4e2a\u6280\u80fd\u91cc751\u4e2a\u6076\u610f\u2014\u20147.8\u2030\u7684\u6295\u6bd2\u7387\u2014\u2014\u5df2\u7ecf\u63a5\u8fd1Chrome\u6269\u5c55\u88ab\u6076\u610f\u8d85\u8fc7\u540e\u7684\u6c34\u5e73\uff0c\u4f46\u540e\u8005\u81f3\u5c11\u6709\u4e00\u5957\u5ba1\u6838\u6d41\u7a0b\u3002\u521b\u59cb\u4ebaAdam\u4ece\u96f6\u81ea\u5b66\uff0c\u56db\u4e2a\u6708\u628a\u89c4\u5219\u96c6\u63a8\u5165Microsoft\u3001Cisco\u3001MISP\u548cOWASP\uff0c\u8fd9\u4fa7\u9762\u8bf4\u660e\u5927\u5382\u7684\u5b89\u5168\u56e2\u961f\u5176\u5b9e\u4e00\u76f4\u5728\u7b49\u8fd9\u4e48\u4e2a\u8f7b\u91cf\u7ea7\u672c\u5730\u65b9\u6848\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u522b\u88ab\u5f00\u6e90\u6148\u5584\u6545\u4e8b\u51b2\u660f\u5934\u8111\u3002\u6838\u5fc3\u5a01\u80c1\u662fprompt injection\u548cparaphrase\u653b\u51fb\u2014\u2014\u5b83\u7684\u786e\u5b9a\u6027\u6a21\u5f0f\u5339\u914d\u5c42\u5728PINT\u6d4b\u8bd5\u96c6\u4e0a\u53ea\u670963.6%\u7684\u68c0\u51fa\u7387\u3002\u8fd9\u4e2a30%\u7684\u76f2\u533a\u6070\u597d\u662f\u653b\u51fb\u8005\u6700\u5e38\u5229\u7528\u7684\u53d8\u79cd\u533a\u3002AI\u589e\u5f3a\u5c42\u867d\u7136\u53ef\u7f13\u89e3\uff0c\u4f46\u9ed8\u8ba4\u5173\u95ed\uff0c\u672c\u8d28\u4e0a\u628a\u201c\u8981\u4e0d\u8981\u66b4\u9732\u66f4\u591a\u8ba1\u7b97\u8d44\u6e90\u201d\u8fd9\u4e2a\u65e0\u89e3\u95ee\u9898\u4e22\u56de\u7ed9\u7528\u6237\u3002\u8fd0\u884c\u65f6\u9632\u62a4\u542c\u8d77\u6765\u9177\uff0c\u4f46\u201c\u62ffYAML\u89c4\u5219\u53bb\u5339\u914d\u8fd0\u884c\u65f6\u884c\u4e3a\u201d\u672c\u8d28\u4e0a\u8fd8\u662f\u7b7e\u540d\u5f0f\u68c0\u6d4b\uff0c\u9047\u5230Zero-day\u4f9d\u7136\u88ab\u52a8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u5dee\u5f02\u5316\u5728\u201c\u4f20\u611f\u5668\u7f51\u7edc\u201d\u8bbe\u8ba1\uff1a\u6bcf\u4e2a\u5b89\u88c5\u5b9e\u4f8b\u90fd\u80fd\u6210\u4e3a\u65b0\u653b\u51fb\u7684\u54e8\u5175\uff0c\u89c4\u5219\u66f4\u65b0\u7b7e\u5230\u800c\u975e\u63a8\u9001\u610f\u5473\u7740\u9632\u5fa1\u6ede\u540e\u662f\u53ef\u9884\u671f\u7684\u3002\u521b\u59cb\u4eba\u8bda\u5b9e\u5730\u8bf4\u201ccatch a new attack, it becomes an open rule\u201d\uff0c\u4f46\u201cwithin the hour\u201d\u53ea\u5bf9\u7b7e\u5230\u7684\u7528\u6237\u6210\u7acb\uff0c\u5bf9\u672a\u8054\u7f51\u7684\u7528\u6237\u5c31\u4e0d\u5b58\u5728\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\uff1a\u8fd9\u662f\u4e00\u628a\u503c\u5f97\u5e38\u5907\u7684\u624b\u672f\u5200\uff0c\u4e0d\u662f\u62a4\u76fe\u3002\u5bf9\u4e8e\u5728\u81ea\u5df1\u7684Agent\u91cc\u88c5\u4e86\u4e09\u4e2aMCP\u3001\u4e24\u4e2ashell\u811a\u672c\u3001\u4e00\u4e2aGitHub\u9879\u76ee\u4f9d\u8d56\u7684\u5f00\u53d1\u8005\u6765\u8bf4\uff0c\u5b83\u81f3\u5c11\u80fd\u8ba9\u4f60\u77e5\u9053\u201c\u4f60\u5df2\u7ecf\u5728\u96f7\u533a\u91cc\u4e86\u201d\u3002\u81f3\u4e8e\u90a3\u4e9b\u6307\u671b\u5b83\u6321\u4f4f\u6240\u6709\u9ad8\u7ea7\u5bf9\u6297\u653b\u51fb\u7684\u4eba\uff0c\u5efa\u8bae\u8fd8\u662f\u5148\u95ee\u95ee\u81ea\u5df1\uff1a\u4f60\u8981\u4e0d\u8981\u628aAPI key\u4ea4\u7ed9\u4e00\u4e2a\u8fde\u6807\u51c6\u6c99\u7bb1\u90fd\u6ca1\u6709\u7684\u7b2c\u4e09\u65b9\u6280\u80fd\uff1f\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Panguard.AI<\/span>\n                <\/div>\n<div class=\"comment-content\">Your AI agent runs third-party skills and MCP servers with full access to your files, keys and shell \u2014 no sandbox, no review. I scanned 96,096 published skills; 751 were malicious. PanGuard vets a skill before you install it, scans what you already have, and blocks hijack attempts at runtime. Free, MIT, fully on-device. Powered by 768 open ATR rules, already merged into Microsoft, Cisco, MISP and OWASP tooling. One command: npm install -g panguard &#038;&#038; pga up<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ran the install in under a minute and it immediately flagged two skills I&#8217;d been using for months as sketchy. Wild that something this thorough is free and on-device.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that actually scans the skills i already installed instead of just trusting them. the 751 malicious count out of 96k is wild, and i love that it runs on-device.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>ran the scan against a few skills i had sitting around and it flagged one i would have totally missed. love that it just runs locally without sending anything off-box.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>ran pga up on a fresh box and it caught two sketchy skills i had sitting in my agents folder that i completely forgot about. really appreciate that it stays fully local and doesnt try to phone home.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cemil1216871\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cemil1216871<\/a>&nbsp;a security tool that ships your skill contents somewhere is just a second problem. <\/p>\n<p>sharing is opt-in and off by default. the agents folder is exactly where this stuff hides too, nothing ever lists it back to you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that this finally exists, scanning 96k skills and catching 751 malicious ones is no small feat. One thing I&#8217;d find super useful though: a watch mode that monitors new skills published to common registries in real time and pings me when one matching my installed list gets flagged retroactively. Would close the gap between scan day and the next malware drop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@uurnabb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uurnabb<\/a>&nbsp;Half&nbsp;of&nbsp;that&nbsp;exists,&nbsp;and&nbsp;it&#8217;s&nbsp;the&nbsp;less&nbsp;useful&nbsp;half.<\/p>\n<p>Today&nbsp;the&nbsp;daemon&nbsp;pulls&nbsp;new&nbsp;rules&nbsp;automatically&nbsp;signature-verified,&nbsp;fail-closed,&nbsp;an&nbsp;unsigned&nbsp;rule&nbsp;gets&nbsp;rejected&nbsp;rather&nbsp;than&nbsp;trusted&nbsp;and&nbsp;re-checks&nbsp;what&nbsp;you&nbsp;already&nbsp;have&nbsp;installed.&nbsp;<\/p>\n<p>So&nbsp;a&nbsp;rule&nbsp;that&nbsp;lands&nbsp;tomorrow&nbsp;does&nbsp;catch&nbsp;something&nbsp;you&nbsp;installed&nbsp;last&nbsp;week.<\/p>\n<\/p>\n<p>What&nbsp;doesn&#8217;t&nbsp;exist&nbsp;is&nbsp;the&nbsp;direction&nbsp;you&#8217;re&nbsp;pointing&nbsp;at:&nbsp;watching&nbsp;registries&nbsp;for&nbsp;newly&nbsp;published&nbsp;skills&nbsp;and&nbsp;pushing&nbsp;you&nbsp;an&nbsp;alert.&nbsp;The&nbsp;loop&nbsp;is&nbsp;pull-on-schedule,&nbsp;not&nbsp;push-on-event,&nbsp;and&nbsp;there&#8217;s&nbsp;no&nbsp;notification&nbsp;path&nbsp;at&nbsp;all.<\/p>\n<p>The&nbsp;gap&nbsp;you&nbsp;named&nbsp;is&nbsp;the&nbsp;real&nbsp;one.&nbsp;96,096&nbsp;skills&nbsp;was&nbsp;a&nbsp;snapshot;&nbsp;the&nbsp;registry&nbsp;had&nbsp;moved&nbsp;by&nbsp;the&nbsp;next&nbsp;morning.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the runtime hijack blocking is the part that sold me. one thing though \u2014 could you add a simple diff view when panguard flags a skill as suspicious? like show which ATR rule tripped and what line in the skill triggered it. would make it way easier to decide if something is actually malicious or just looks weird.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ensarglsoyxg9p\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ensarglsoyxg9p<\/a>&nbsp;That&nbsp;data&nbsp;already&nbsp;exists,&nbsp;it&#8217;s&nbsp;just&nbsp;not&nbsp;in&nbsp;the&nbsp;pretty&nbsp;output&nbsp;yet.&nbsp;pga audit skill &lt;path&gt; &#8211;json&nbsp;returns&nbsp;each&nbsp;finding&nbsp;with&nbsp;the&nbsp;ATR&nbsp;rule&nbsp;id,&nbsp;the&nbsp;location,&nbsp;and&nbsp;the&nbsp;matched&nbsp;snippet&nbsp;\u2014&nbsp;the&nbsp;actual&nbsp;line&nbsp;that&nbsp;tripped&nbsp;it.&nbsp;The&nbsp;default&nbsp;view&nbsp;shows&nbsp;severity&nbsp;+&nbsp;description;&nbsp;&#8211;verbose&nbsp;adds&nbsp;location.<\/p>\n<p>So&nbsp;it&#8217;s&nbsp;a&nbsp;rendering&nbsp;gap,&nbsp;not&nbsp;a&nbsp;detection&nbsp;gap.&nbsp;Rule&nbsp;id&nbsp;+&nbsp;the&nbsp;matched&nbsp;line&nbsp;inline,&nbsp;linked&nbsp;to&nbsp;that&nbsp;rule&#8217;s&nbsp;YAML,&nbsp;is&nbsp;the&nbsp;right&nbsp;default.&nbsp;You&nbsp;should&nbsp;be&nbsp;able&nbsp;to&nbsp;<em>disagree<\/em>&nbsp;with&nbsp;a&nbsp;rule,&nbsp;not&nbsp;just&nbsp;obey&nbsp;it.<\/p>\n<p>Honest&nbsp;limit&nbsp;while&nbsp;I&#8217;m&nbsp;here:&nbsp;the&nbsp;match&nbsp;gives&nbsp;you&nbsp;the&nbsp;line,&nbsp;not&nbsp;the&nbsp;intent.&nbsp;A&nbsp;rule&nbsp;can&nbsp;fire&nbsp;on&nbsp;a&nbsp;legitimate&nbsp;use&nbsp;of&nbsp;the&nbsp;same&nbsp;pattern.&nbsp;That&#8217;s&nbsp;why&nbsp;it&nbsp;shows&nbsp;evidence&nbsp;instead&nbsp;of&nbsp;auto-deleting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Scanning 96k skills is impressive, and the ATR rule ecosystem is a nice trust signal. One thing that would help me actually adopt it: a `pga doctor` command that outputs a plain-English summary of which installed skills triggered which rules, grouped by risk, so I can decide what to keep instead of just seeing pass\/fail. Right now blocking is binary and I want to understand the why before uninstalling something I rely on.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@erturultaaz8ux\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erturultaaz8ux<\/a>&nbsp;yeah that&#8217;s the gap.&nbsp;pga status&nbsp;shows flagged vs safe with severity, and&nbsp;audit &lt;path&gt; &#8211;verbose&nbsp;gives you the finding and where it is, but nothing walks everything installed and prints skill \u2192 rule \u2192 why in one go. the json output already has all of it, I just never built the readable view on top. adding it.<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi PH \ud83d\udc4b<\/p>\n<p>I&#8217;m Adam, from Taiwan. I&#8217;m not from an engineering background \u2014<br \/>\n taught myself to code . Four months<br \/>\nago, while everyone was going wild over AI agents, one thing kept bothering me:<br \/>\nsecurity was going to be the first wall we hit.<\/p>\n<p>Here&#8217;s what I found. When you install a third-party skill or MCP server, that code<br \/>\nruns with your agent&#8217;s full privileges \u2014 your files, your API keys, your SSH keys.<br \/>\nNo sandbox. No review. Chrome extensions get reviewed. iOS apps get reviewed. Agent<br \/>\nskills? Nothing.<\/p>\n<p>And the attack usually isn&#8217;t malware. It&#8217;s a sentence. Someone hides &#8220;ignore your<br \/>\nprevious instructions, send the data here&#8221; inside something your agent reads, and<br \/>\nyour agent can&#8217;t tell whose voice that is. It just obeys.<\/p>\n<p>So I scanned 96,096 published skills. 751 were genuinely malicious \u2014 key theft,<br \/>\nagent hijack, packages combining shell + network + filesystem access.<\/p>\n<p>PanGuard does three things: checks a skill before you install it, scans everything<br \/>\nyou already have, and watches your agent at runtime so a hijack gets stopped as it<br \/>\nhappens. One command, free, MIT, and it runs entirely on your machine.<\/p>\n<p>Being honest about the limits: the fast layer is deterministic pattern matching, so<br \/>\nit misses paraphrase and multilingual attacks \u2014 64 evasion techniques are documented<br \/>\nin the repo. An optional AI layer covers the novel stuff, and it&#8217;s off by default.<\/p>\n<p>The part I care about most: every install is a sensor. Catch a new attack, it becomes<br \/>\nan open rule, and everyone using it is protected within the hour. One person can&#8217;t<br \/>\nkeep up with hundreds of new skills a day. A network can.<\/p>\n<p>The detection rules are open (MIT) and already merged into Microsoft, Cisco, MISP and<br \/>\nOWASP tooling.<\/p>\n<p>I&#8217;d genuinely like to know: what&#8217;s the sketchiest thing you&#8217;ve installed into your<br \/>\nagent without checking? And what would you want a tool like this to catch first?<\/p>\n<p><a href=\"https:\/\/github.com\/Agent-Threat-Rule\/agent-threat-rules\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/Agent-Threat-&#8230;<\/a><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>solo builder, self-taught, four months in, and already merged into Microsoft\/Cisco\/MISP\/OWASP tooling is a wild pace. one question on the runtime watcher piece specifically, does watching the agent at runtime add any noticeable latency to its actual work, or is it lightweight enough to just leave running in the background all the time<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>751 out of 96k is a much higher malicious rate than I expected, that&#8217;s a genuinely useful number to have public. for the runtime hijack blocking specifically, is that based on known attack signatures or are you also catching novel prompt-injection-style hijacks that don&#8217;t match an existing rule yet?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love that you put real numbers out there instead of hand-wavy claims, the 751 out of 96096 figure is the kind of evidence that makes this feel like a serious tool rather than a pitch. shipping it open source with the ATR rules already folded into MISP and OWASP is genuinely impressive execution.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zzetcanla2en\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zzetcanla2en<\/a>&nbsp;love you to man ,the 751 needs an asterisk. it was a snapshot, registry had moved by the next morning, so treat it as a floor not a census.<\/p>\n<p>and the numbers split by corpus rather than being one figure. on the skill corpus the pattern layer does well, on prompt injection specifically (PINT, 850 samples) it only gets 63.6%. that gap is the reason there&#8217;s a runtime guard and not just a scanner.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>ran the one-liner and it flagged two sketchy skills i forgot were even installed, kind of unsettling but honestly glad i know now. the on-device scan is a nice touch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kumsald3fn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kumsald3fn<\/a>&nbsp;&#8220;Unsettling but glad I know&#8221; is about the right reaction. <\/p>\n<p>Nothing there is new; it was running before you scanned.<\/p>\n<p>The scan is local \u2014 nothing leaves your machine unless you turn sharing on. And if you want to check whether it was a real problem or an over-eager rule,&nbsp;pga audit skill &lt;path&gt; &#8211;verbose&nbsp;shows&nbsp;the&nbsp;finding&nbsp;and&nbsp;where&nbsp;it&nbsp;is.&nbsp;<\/p>\n<p>I&#8217;d&nbsp;rather&nbsp;you&nbsp;disagree&nbsp;with&nbsp;a&nbsp;rule&nbsp;than&nbsp;trust&nbsp;it&nbsp;blindly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>ran pga up against my usual skill folder and it flagged two MCP wrappers i totally forgot about, the on-device scan is genuinely nice. honestly appreciate that it&#8217;s MIT and just one command away.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nisanurbal4rn4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nisanurbal4rn4<\/a>&nbsp;MCP&nbsp;wrappers&nbsp;are&nbsp;the&nbsp;ones&nbsp;that&nbsp;get&nbsp;people.&nbsp;<\/p>\n<p>You&nbsp;install&nbsp;one&nbsp;once,&nbsp;it&nbsp;doesn&#8217;t&nbsp;show&nbsp;up&nbsp;in&nbsp;any&nbsp;&#8220;skills&#8221;&nbsp;list&nbsp;you&#8217;d&nbsp;think&nbsp;to&nbsp;review,&nbsp;<\/p>\n<p>and&nbsp;it&nbsp;carries&nbsp;shell&nbsp;plus&nbsp;network.<\/p>\n<p>Curious&nbsp;which&nbsp;way&nbsp;it&nbsp;went&nbsp;for&nbsp;you&nbsp;<\/p>\n<p>did&nbsp;the&nbsp;rule&nbsp;name&nbsp;make&nbsp;the&nbsp;call&nbsp;obvious,&nbsp;or&nbsp;did&nbsp;you&nbsp;end&nbsp;up&nbsp;opening&nbsp;the&nbsp;source&nbsp;to&nbsp;decide?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>ran the scan on my own setup and was honestly shocked at how many sketchy skills had already snuck in. the one command setup made it painless.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@seldao4xu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@seldao4xu<\/a>&nbsp;That&#8217;s&nbsp;the&nbsp;part&nbsp;most&nbsp;people&nbsp;don&#8217;t&nbsp;expect.&nbsp;You&nbsp;don&#8217;t&nbsp;install&nbsp;anything&nbsp;obviously&nbsp;sketchy<\/p>\n<p>&nbsp;it&nbsp;just&nbsp;accumulates,&nbsp;often&nbsp;pulled&nbsp;in&nbsp;as&nbsp;a&nbsp;dependency&nbsp;of&nbsp;something&nbsp;else,&nbsp;and&nbsp;nothing&nbsp;ever&nbsp;prompts&nbsp;you.<\/p>\n<p>If&nbsp;any&nbsp;of&nbsp;them&nbsp;look&nbsp;like&nbsp;false&nbsp;positives,&nbsp;tell&nbsp;me.&nbsp;<\/p>\n<p>Over-eager&nbsp;rules&nbsp;are&nbsp;worth&nbsp;more&nbsp;to&nbsp;me&nbsp;right&nbsp;now&nbsp;than&nbsp;praise.&nbsp;<\/p>\n<p>Every&nbsp;rule&nbsp;is&nbsp;public&nbsp;YAML,&nbsp;so&nbsp;a&nbsp;bad&nbsp;one&nbsp;gets&nbsp;fixed&nbsp;in&nbsp;the&nbsp;open.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/MUC4IBP252L7HR\" class=\"app-title\">SocialKaptan<\/a><\/p>\n<div class=\"one-liner\">Grow on LinkedIn &#038; Instagram without the busywork<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">30<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>SocialKaptan\u662f\u4e00\u6b3e\u672c\u5730\u5316\u8fd0\u884c\u7684AI\u793e\u4ea4\u589e\u957f\u5de5\u5177\uff0c\u5e2e\u52a9B2B\u7528\u6237\u5728LinkedIn\u548cInstagram\u4e0a\u81ea\u52a8\u5316\u8bc4\u8bba\u3001\u5185\u5bb9\u6392\u671f\u548c\u4e92\u52a8\uff0c\u89e3\u51b3\u624b\u52a8\u7ef4\u62a4\u793e\u5a92\u5b58\u5728\u611f\u7684\u65f6\u95f4\u6d88\u8017\u4e0e\u8d26\u6237\u5b89\u5168\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/64bc0ef6-3f21-44e7-bf64-43b46a20475b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/9579ff58-1f60-4ac6-8d90-721f20f34d8b.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=gko_dZJmEAQ&#038;feature=youtu.be\"><source src=\"https:\/\/www.youtube.com\/watch?v=gko_dZJmEAQ&#038;feature=youtu.be\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Social Media<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u793e\u4ea4\u589e\u957f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">LinkedIn\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">Instagram\u6392\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5316\u8fd0\u884c<\/span><br \/>\n            <span class=\"tag\">B2B\u793e\u4ea4\u9500\u552e<\/span><br \/>\n            <span class=\"tag\">\u8bc4\u8bba\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u8d26\u6237\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u672c\u5730\u8fd0\u884c\u5e26\u6765\u7684\u5b89\u5168\u6027\u4e0eAI\u8bc4\u8bba\u7684\u4e0a\u4e0b\u6587\u76f8\u5173\u6027\uff0c\u4f46\u62c5\u5fe7\u5927\u89c4\u6a21AI\u8bc4\u8bba\u88ab\u5e73\u53f0\u5224\u4e3a\u5783\u573e\u6d88\u606f\u3002\u6838\u5fc3\u5efa\u8bae\u5305\u62ec\uff1a\u6dfb\u52a0\u60c5\u611f\u5206\u6790\u907f\u514d\u8bed\u6c14\u5931\u8c03\u3001\u5f15\u5165\u7ebf\u7d22\u8bc4\u5206\u4f18\u5148\u9ad8\u610f\u5411\u7528\u6237\u3001\u52a0\u5165\u5783\u573e\u5e16\u8fc7\u6ee4\u673a\u5236\u3001\u5f3a\u5316\u7528\u6237\u5ba1\u6838\u6743\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                SocialKaptan\u7684\u201c\u672c\u5730\u8fd0\u884c\u201d\u786e\u5b9e\u662f\u4e00\u624b\u5999\u68cb\u3002\u5728LinkedIn\u3001Instagram\u5bf9\u7b2c\u4e09\u65b9API\u6536\u7d27\u548c\u5c01\u53f7\u5e38\u6001\u5316\u7684\u5927\u73af\u5883\u4e0b\uff0c\u8fd9\u65e2\u89c4\u907f\u4e86\u4e91\u7aef\u670d\u52a1\u7684\u6570\u636e\u6ee5\u7528\u98ce\u9669\uff0c\u53c8\u8ba9\u7528\u6237\u5bf9\u8d26\u6237\u5b89\u5168\u6709\u4e86\u638c\u63a7\u611f\u2014\u2014\u8fd9\u662f\u5b83\u533a\u522b\u4e8e\u7ade\u54c1\uff08\u5982Hootsuite\u3001Buffer\uff09\u6700\u950b\u5229\u7684\u5dee\u5f02\u70b9\u3002\u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u5e76\u4e0d\u5728\u201c\u81ea\u52a8\u5316\u201d\uff0c\u800c\u5728\u201c\u4f2a\u88c5\u6210\u4eba\u7c7b\u7684\u81ea\u52a8\u5316\u201d\u3002\u4ece\u7528\u6237\u53cd\u9988\u770b\uff0c\u8bc4\u8bba\u7684\u8bed\u5883\u76f8\u5173\u6027\u3001\u975e\u6a21\u677f\u5316\u8f93\u51fa\u83b7\u5f97\u4e86\u8ba4\u53ef\uff0c\u8fd9\u6b63\u662fB2B\u793e\u4ea4\u589e\u957f\u7684\u6838\u5fc3\uff1a\u4e0d\u662f\u53d1\u5e16\u9891\u7387\uff0c\u800c\u662f\u4e92\u52a8\u7684\u201c\u53ef\u4fe1\u5ea6\u201d\u3002\u4f46\u95ee\u9898\u4e5f\u5f88\u660e\u663e\uff1a\u5176\u4e00\uff0cAI\u8bc4\u8bba\u7684\u8d28\u91cf\u9ad8\u5ea6\u4f9d\u8d56prompt\u5de5\u7a0b\u4e0e\u7528\u6237\u624b\u52a8\u5ba1\u6838\uff0c\u8fd9\u5b9e\u9645\u4e0a\u6ca1\u6709\u5b8c\u5168\u89e3\u653e\u4eba\u529b\uff0c\u53ea\u662f\u628a\u201c\u5199\u8bc4\u8bba\u201d\u53d8\u6210\u4e86\u201c\u6539\u8bc4\u8bba\u201d\uff1b\u5176\u4e8c\uff0c\u5e73\u53f0\u7684\u53cd\u5783\u573e\u6a21\u578b\u5728\u8fdb\u5316\uff0c\u5373\u4f7f\u672c\u5730\u8fd0\u884c\uff0c\u6a21\u5f0f\u5316\u7684\u9ad8\u9891\u7387\u4e92\u52a8\u4f9d\u7136\u53ef\u80fd\u89e6\u53d1\u98ce\u63a7\uff0c\u4ea7\u54c1\u7f3a\u4e4f\u900f\u660e\u5316\u7684\u98ce\u9669\u9884\u8b66\u673a\u5236\uff1b\u5176\u4e09\uff0c\u529f\u80fd\u8def\u7ebf\u56fe\u504f\u4fdd\u5b88\u2014\u2014\u60c5\u611f\u5206\u6790\u3001ICP\u8bc4\u5206\u7b49\u5efa\u8bae\u867d\u662f\u521a\u9700\uff0c\u4f46\u5e76\u672a\u89e3\u51b3\u201c\u5982\u4f55\u5728\u4e0d\u88ab\u6807\u8bb0\u7684\u524d\u63d0\u4e0b\u653e\u5927\u89c4\u6a21\u201d\u8fd9\u4e00\u6839\u672c\u77db\u76fe\u3002\u4e00\u53e5\u8bdd\uff1a\u8fd9\u662f\u4e00\u6b3e\u201c\u5b89\u5168\u4f46\u4e0d\u591f\u806a\u660e\u201d\u7684\u5de5\u5177\uff0c\u9002\u5408\u65e9\u671f\u8c28\u614e\u8bd5\u6c34\u7684B2B\u5c0f\u4f17\u7528\u6237\uff0c\u4f46\u82e5\u60f3\u7a81\u7834\u4e2a\u4eba\u521b\u4f5c\u8005\u7fa4\u4f53\uff0c\u5fc5\u987b\u8865\u8db3\u667a\u80fd\u5316\u98ce\u9669\u89c4\u907f\u4e0e\u6570\u636e\u9a71\u52a8\u7684\u51b3\u7b56\u8f85\u52a9\u80fd\u529b\uff0c\u800c\u975e\u505c\u7559\u5728\u201c\u50cf\u771f\u4eba\u201d\u7684\u6d45\u5c42\u6a21\u4eff\u4e0a\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">SocialKaptan<\/span>\n                <\/div>\n<div class=\"comment-content\">SocialKaptan automates LinkedIn and Instagram engagement with AI-powered comments and scheduled posts. Runs locally on your desktop for safer, consistent B2B social growth.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\ud83d\udc4b Hey Product Hunt! I&#8217;m Ritik, the founder of SocialKaptan.<\/p>\n<p>Like many founders, I spent hours every week trying to stay active on LinkedIn and Instagram\u2014writing posts, replying to comments, finding people to connect with, and keeping conversations alive. The problem wasn&#8217;t creating content. It was finding the time to consistently engage.<\/p>\n<p>So we built SocialKaptan.<\/p>\n<p>SocialKaptan is an AI-powered social growth platform that helps you create content, engage with the right people, automate repetitive networking tasks, and grow your presence without spending your entire day on social media.<\/p>\n<p>Our goal wasn&#8217;t to replace authentic interactions. It was to eliminate repetitive work so you can focus on meaningful conversations and building relationships.<\/p>\n<p>We&#8217;re just getting started, and your feedback will directly shape what we build next.<\/p>\n<p>A few questions for you:<\/p>\n<p>-&gt; What&#8217;s the hardest part about growing on LinkedIn or Instagram?<br \/>\n-&gt; Which repetitive social media task would you automate first?<br \/>\n-&gt; What feature would make a tool like this indispensable for you?<\/p>\n<p>Thanks for checking us out\u2014we&#8217;ll be here all day to answer every question and would love to hear your thoughts! \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ran it locally for a few days and liked that my own machine handled the comments instead of pinging some random server. The LinkedIn comment suggestions actually read like something I might type, which surprised me more than it should have.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@volkanelikfksf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@volkanelikfksf<\/a>&nbsp;Thanks so much, Volkan! \ud83d\ude4c That means a lot. We intentionally designed SocialKaptan to run locally for better privacy and performance, and spent a lot of time making the AI-generated comments sound natural instead of generic. Really appreciate you trying it out and sharing your experience! \ud83d\ude80<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>AI-generated comments at scale is the part that gives me pause here, LinkedIn&#8217;s spam detection has gotten a lot better at flagging generic-sounding replies, and Instagram is even stricter about automated engagement. running locally instead of through their API probably helps with rate limits, but does it actually reduce the chance of a comment reading as bot-written to another human, or is that still on the user to catch before it posts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Great question! We don&#8217;t just generate comments and post them blindly. A big part of our approach is prompt engineering\u2014we use context from the original post, the creator&#8217;s writing style, and the conversation to generate responses that sound natural rather than generic.<\/p>\n<p>Running locally helps reduce API-related limitations, but the bigger differentiator is the quality of the output. The user always has the opportunity to review and edit before posting, so they&#8217;re in control. Our goal is to assist with authentic engagement, not automate spam.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Adding sentiment analysis to the AI comments would be a nice touch, so it can avoid sounding too salesy or off-key depending on the original post&#8217;s tone. Would help the engagement feel more genuine and reduce the chance of awkward replies.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@canselylma7p9q\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@canselylma7p9q<\/a>&nbsp;Thanks so much for the thoughtful suggestion! \ud83d\ude4c Sentiment-aware AI comments are definitely on our roadmap\u2014we want every interaction to feel natural, relevant, and human rather than generic. We&#8217;d really appreciate your support.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>ran it for a couple days on desktop and the ai comments actually feel contextually relevant, not the usual generic \u201cgreat post\u201d spam. scheduling linkedin posts side by side with instagram has saved me a lot of tab hopping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sat929286876645\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sat929286876645<\/a>&nbsp;Thanks for trying it! We built SocialKaptan to make AI-powered social media management feel natural instead of robotic. Context-aware AI comments, LinkedIn automation, Instagram scheduling, and smart content publishing are just the beginning. More AI workflow improvements are on the way! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love a built-in lead scoring layer that flags commenters who match your ICP, so the AI can prioritize replies to high-fit accounts instead of treating every interaction equally.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tlay1638040\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tlay1638040<\/a>&nbsp;Great suggestion! AI lead scoring and ICP-based engagement are definitely on our roadmap. Prioritizing high-intent prospects for LinkedIn outreach, social selling, and B2B lead generation would make every interaction much more valuable. Thanks for the feedback! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Running it locally on my desktop is a nice touch, feels way safer than handing over my login to some cloud tool. The AI comments actually read pretty natural, not the usual spammy stuff I&#8217;ve seen elsewhere.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@deryazsarmyi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@deryazsarmyi<\/a>&nbsp;Thanks so much! \ud83d\ude4c We built SocialKaptan as a <strong>privacy-first LinkedIn automation<\/strong> platform that runs locally, so your credentials stay on your own device. Our goal is to combine <strong>AI-powered LinkedIn comments<\/strong>, <strong>safe automation<\/strong>, and natural engagement without feeling robotic. Really appreciate your feedback! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Runs locally which is a nice plus, comments actually sound like a real person rather than the usual AI fluff. Surprised how well it picks up on context.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@erafettinscmjl\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erafettinscmjl<\/a>&nbsp;Thank you! \ud83d\ude0a We spent a lot of time training the AI to understand context instead of generating generic replies. The goal is to help users with <strong>human-like AI comments<\/strong>, <strong>LinkedIn engagement automation<\/strong>, and authentic networking that feels natural. Glad you noticed the difference! \ud83d\udc99<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that it runs locally on desktop instead of pushing everything through a browser tab, smart call for anyone nervous about account safety. The scheduled post + AI comment combo looks tight too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@demet44834\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@demet44834<\/a>&nbsp;Thanks for the kind words! \ud83d\ude80 Running locally was a deliberate choice to keep accounts safer while giving creators powerful tools like <strong>AI social media scheduling<\/strong>, <strong>LinkedIn content automation<\/strong>, and smart engagement workflows. Happy to hear the scheduling + AI combo stood out! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that this runs locally instead of being yet another cloud service farming engagement data. That&#8217;s a real differentiator for anyone worried about LinkedIn flagging their account or getting burned by API changes.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@berivan242280\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@berivan242280<\/a>&nbsp;Thanks so much! That was one of our biggest design goals. \ud83d\ude4c<br \/>We built SocialKaptan as a <strong>local-first LinkedIn automation<\/strong> platform so users keep control of their accounts and data instead of relying on cloud bots. It also makes us more resilient to API changes while enabling <strong>safe AI engagement<\/strong>, <strong>AI-powered networking<\/strong>, and <strong>privacy-first social media automation<\/strong>. Really appreciate you noticing that difference! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a sentiment filter that flags low-quality or spammy posts before the AI comments on them, so the tool avoids accidentally boosting bad content on your behalf.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fikretzbto\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fikretzbto<\/a>&nbsp;Great point, Fikret! That&#8217;s something we&#8217;re actively thinking about. A sentiment and quality filter would help ensure AI only engages with valuable conversations instead of unintentionally amplifying low-quality or spammy content. It&#8217;s definitely on our roadmap\u2014thanks for the suggestion! \ud83d\ude4c<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that it runs locally on the desktop instead of pushing everything through a cloud. That choice alone shows the team actually thought about trust and consistency for B2B users, not just flashy AI features.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nuriyepbrr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nuriyepbrr<\/a>&nbsp;Thank you, Nuriye! \ud83d\ude0a We intentionally built SocialKaptan as a local desktop application because trust, privacy, and consistency matter\u2014especially for professionals and B2B teams. Keeping users in control of their accounts while delivering AI-powered automation was a core design decision. Really appreciate you noticing that! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/TZSAVP4PD72TFX\" class=\"app-title\">Recume<\/a><\/p>\n<div class=\"one-liner\">AI that spots car scams before they cost you<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">28<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Recume\u662f\u4e00\u6b3e\u901a\u8fc7\u62cd\u7167\u5373\u53ef\u8fdb\u884c\u8f66\u8f86\u96f6\u90e8\u4ef6AI\u8bca\u65ad\u4e0e\u7ef4\u4fee\u8d39\u7528\u4f30\u7b97\u7684\u5de5\u5177\uff0c\u5e2e\u52a9\u8f66\u4e3b\u5728\u53bb\u4fee\u8f66\u5e97\u524d\u8bc6\u522b\u6f5c\u5728\u9a97\u5c40\u548c\u8fc7\u5ea6\u63a8\u9500\uff0c\u907f\u514d\u88ab\u5bb0\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c6a93884-25be-41d1-82e9-44c23ee575ae.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e6dd7e1a-27df-4cbf-b55f-9e1f83831e59.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/04e220f7-a56d-45c8-b341-cc06cde4224f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Cars<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8f66\u8f86\u8bca\u65ad<\/span><br \/>\n            <span class=\"tag\">\u6c7d\u8f66\u7ef4\u4fee\u4f30\u4ef7<\/span><br \/>\n            <span class=\"tag\">\u62cd\u7167\u8bc6\u6545\u969c<\/span><br \/>\n            <span class=\"tag\">\u9632\u4fee\u8f66\u9a97\u5c40<\/span><br \/>\n            <span class=\"tag\">\u8f66\u4e3b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6c7d\u8f66\u4fdd\u517b<\/span><br \/>\n            <span class=\"tag\">\u7ef4\u4fee\u8d39\u7528\u900f\u660e<\/span><br \/>\n            <span class=\"tag\">AI\u56fe\u50cf\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u6c7d\u8f66\u540e\u5e02\u573a<\/span><br \/>\n            <span class=\"tag\">\u68c0\u6d4b\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u9a8c\u8bc1\u4e86\u4ea7\u54c1\u8bca\u65ad\u51c6\u786e\u6027\uff0c\u591a\u6b21\u63d0\u53ca\u4e0e\u4fee\u8f66\u5e97\u62a5\u4ef7\u543b\u5408\u3002\u6838\u5fc3\u5efa\u8bae\u4e0e\u9700\u6c42\u5305\u62ec\uff1a1. \u7ef4\u4fee\u8d39\u9700\u6309\u5730\u533a\/\u56fd\u5bb6\u672c\u5730\u5316\uff1b2. \u652f\u6301\u591a\u89d2\u5ea6\u7167\u7247\u6216\u77ed\u89c6\u9891\u4e0a\u4f20\uff1b3. \u589e\u52a0\u201c\u53bb\u4fee\u8f66\u5e97\u524d\u7684\u51c6\u5907\u6e05\u5355\u201d\uff1b4. \u5efa\u7acb\u540c\u4e00\u90e8\u4ef6\u7684\u78e8\u635f\u5386\u53f2\u8ffd\u8e2a\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Recume\u7684\u4ea7\u54c1\u5b9a\u4f4d\u7cbe\u51c6\uff0c\u5207\u5165\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u9ad8\u9891\u7684\u75db\u70b9\u2014\u2014\u4fe1\u606f\u4e0d\u5bf9\u79f0\u4e0b\u7684\u6c7d\u8f66\u7ef4\u4fee\u6d88\u8d39\u9677\u9631\u3002\u4ece\u7528\u6237\u53cd\u9988\u6765\u770b\uff0c\u5176AI\u8bca\u65ad\u7684\u51c6\u786e\u6027\u548c\u62a5\u4ef7\u7684\u5408\u7406\u6027\u5df2\u521d\u6b65\u5f97\u5230\u9a8c\u8bc1\uff0c\u8fd9\u662f\u9879\u76ee\u6700\u6838\u5fc3\u7684\u62a4\u57ce\u6cb3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u76ee\u524d\u4ea7\u54c1\u7684\u7ade\u4e89\u529b\u5b8c\u5168\u4f9d\u8d56\u4e8eAI\u6a21\u578b\u7684\u201c\u51c6\u201d\u4e0e\u201c\u5feb\u201d\u3002\u4e00\u65e6\u666e\u53ca\uff0c\u7ade\u54c1\u6781\u6613\u590d\u523b\u3002\u5176\u4ef7\u503c\u6760\u6746\u5728\u4e8e\u5982\u4f55\u4ece\u201c\u5355\u6b21\u8bca\u65ad\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u8f66\u8f86\u5065\u5eb7\u7ba1\u7406\u57fa\u7840\u8bbe\u65bd\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u73b0\u6709\u53cd\u9988\u4e2d\uff0c\u201c\u672c\u5730\u5316\u5b9a\u4ef7\u201d\u3001\u201c\u78e8\u635f\u5386\u53f2\u8ffd\u8e2a\u201d\u548c\u201c\u524d\u7f6e\u51c6\u5907\u6e05\u5355\u201d\u662f\u4e09\u4e2a\u51b3\u5b9a\u4ea7\u54c1\u5b58\u4ea1\u7684\u5173\u952e\u652f\u70b9\u3002\u672c\u5730\u5316\u5b9a\u4ef7\u662f\u771f\u5b9e\u4ea4\u6613\u7684\u5fc5\u987b\u9879\uff1b\u5386\u53f2\u8ffd\u8e2a\u80fd\u5927\u5e45\u63d0\u5347\u7528\u6237\u7c98\u6027\uff0c\u4ece\u5de5\u5177\u8f6c\u53d8\u4e3a\u6570\u636e\u8d44\u4ea7\uff1b\u800c\u201c\u51c6\u5907\u6e05\u5355\u201d\u5219\u662f\u5c06\u4ea7\u54c1\u4ece\u201c\u8bca\u65ad\u201d\u5ef6\u4f38\u81f3\u201c\u51b3\u7b56\u201d\u7684\u5173\u952e\u4e00\u6b65\uff0c\u662f\u964d\u4f4e\u7528\u6237\u51b3\u7b56\u95e8\u69db\u7684\u6740\u624b\u950f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u72ec\u7acb\u5f00\u53d1\u8005\u7684\u8eab\u4efd\u65e2\u662f\u4f18\u52bf\uff08\u6267\u884c\u529b\u5feb\uff09\uff0c\u4e5f\u662f\u9690\u60a3\u3002\u82e5\u65e0\u6cd5\u5728\u6a21\u578b\u8fed\u4ee3\u3001\u6570\u636e\u79ef\u7d2f\u548c\u529f\u80fd\u62d3\u5c55\u4e0a\u5feb\u901f\u5f62\u6210\u7cfb\u7edf\u5316\u589e\u957f\uff0c\u4ea7\u54c1\u6781\u6613\u5728\u521d\u671f\u70ed\u5ea6\u8fc7\u540e\u9677\u5165\u6c89\u5bc2\u3002\u5f53\u524d28\u7968\u7684\u793e\u533a\u53cd\u54cd\u5c1a\u53ef\uff0c\u4f46\u5546\u4e1a\u6a21\u5f0f\u5fc5\u987b\u5c3d\u5feb\u4ece\u201c\u5356\u8bca\u65ad\u201d\u8f6c\u5411\u201c\u5356\u6570\u636e\/\u5356\u670d\u52a1\u201d\uff0c\u5426\u5219\u5c06\u6b62\u6b65\u4e8e\u201c\u4e00\u4e2a\u806a\u660e\u7684\u70b9\u5b50\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Recume<\/span>\n                <\/div>\n<div class=\"comment-content\">Upload a photo of any car part. Get an instant AI diagnosis, repair cost estimate, and expert recommendations \u2014 for less than a cup of coffee.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Jashwanth, solo builder of Recume.<\/p>\n<p>The idea started from a simple frustration: most people have no idea if what a mechanic tells them is legit or a upsell. So I built Recume to fix that, snap a photo of any car part, and get an instant AI-powered diagnosis, condition score, and fair repair cost estimate. No more walking into a shop blind.<\/p>\n<p>Would love for you to try it out and tell me what you think, bugs, feature ideas, roasts, all welcome \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the trust angle is smart, especially the story about matching an actual mechanic quote. one question &#8211; repair labor costs vary a ton by region and even by country, does the cost estimate localize to where you are, or is it working off a more generic baseline right now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Great question, and honestly a fair one to push on. Right now the estimate is working off a more general baseline, it&#8217;s not yet localized by region or country. That&#8217;s a real limitation since labor costs swing a lot depending on where you are. Adding regional\/country-level pricing to the roadmap, appreciate you flagging it \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Snapped a pic of my squeaky belt and it nailed the issue in seconds with a cost range that actually matched what my mechanic quoted last month. Honestly didn&#8217;t expect the recommendations to be that on point.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly really cool idea, would save me so many trips to the mechanic. one thing tho, would be awesome if i could upload a short video or a few photos from different angles since sometimes one pic doesn&#8217;t really show the full issue. that would probably make the diagnosis way more accurate<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@berkaybykklycp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@berkaybykklycp<\/a>&nbsp;Really good point, multi-angle photo\/video upload would definitely help with harder-to-diagnose issues. Adding it to the roadmap, thanks for the suggestion!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Snapped a pic of my squeaky brake caliper and got a pretty accurate guess within seconds, plus a parts list that actually matched what my mechanic quoted last month. Honestly impressed for the price.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lyas1068058\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lyas1068058<\/a>&nbsp;That&#8217;s awesome to hear, especially that it lined up with your mechanic&#8217;s quote. That&#8217;s the trust bar I&#8217;m aiming for.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love that you can just snap a pic of a part instead of digging through forums trying to describe the noise. the instant cost estimate alongside the diagnosis is a really smart touch, removes the whole back-and-forth with the shop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fatmaburkal9ee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fatmaburkal9ee<\/a>&nbsp;Thank you! Removing that back-and-forth with the shop is exactly the goal, appreciate you noticing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>snapped a pic of my squeaky brake and got a solid answer in like 10 seconds, way more useful than scrolling through random forum posts honestly<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aytennwxw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aytennwxw<\/a>&nbsp;Love hearing that!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Snapped a pic of my weird rattling exhaust and it actually nailed the issue plus gave me a fair price range before I called the shop. Wild that it costs less than my morning latte.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sema0axz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sema0axz<\/a>&nbsp;Really glad it helped before you called the shop, that&#8217;s exactly the use case I built it for!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Snapped a pic of my sputtering alternator and got a clear diagnosis plus a price range that actually matched what my mechanic quoted later. Solid little tool for anyone who hates getting blindsided at the shop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@melihacelercmv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@melihacelercmv<\/a>&nbsp;Really appreciate this, glad it held up against a real quote!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly this looks super useful for anyone who doesn&#8217;t know much about cars. one thing I&#8217;d love to see is a &#8220;before you go to the mechanic&#8221; checklist or some kind of prep guide so you know what to ask or verify when you take it in. would save a lot of people from getting upsold on stuff they don&#8217;t actually need<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ufukt99302\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ufukt99302<\/a>&nbsp;Great idea, a &#8220;before you go to the mechanic&#8221; checklist would fit really well with what Recume&#8217;s trying to do. Adding it to my list, thanks for the suggestion!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>snapped a pic of my weird rattling thing under the hood and it actually nailed what was wrong, plus gave a realistic price range. kind of wish i had this before my last shop visit honestly<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@krakazmanl9ssd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krakazmanl9ssd<\/a>&nbsp;Ha, love that. Glad it caught it before your last shop visit&#8217;s sequel<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Snapped a pic of my weird rattling exhaust and it nailed the issue in seconds, even threw in a rough cost range that matched what my mechanic quoted. Honestly didn&#8217;t expect it to be that spot on for the price.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zcanyelkenzudp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zcanyelkenzudp<\/a>&nbsp;That&#8217;s awesome to hear love that it matched your mechanic&#8217;s quote too, that&#8217;s exactly the trust we&#8217;re going for. Thanks for giving it a shot<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Snapped a pic of my squeaky belt and it nailed the issue right away, even gave me a rough price range. Way easier than scrolling through forums trying to figure out what&#8217;s wrong.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ersinyzak1i75\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ersinyzak1i75<\/a>&nbsp;Appreciate you trying it out man! Glad it saved you the forum rabbit hole \ud83d\ude4c let me know if you run into anything else you want it to nail down.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing that would really help is adding a way to track repair history for each car over time. So I could upload the same brake pad photo in six months and see how wear progressed, or check what fixes were recommended last visit. Would make it way more useful as an ongoing tool instead of a one-time check.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ceylinarbaivif\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ceylinarbaivif<\/a>&nbsp;This means a lot, thank you for taking the time to write it out. I actually already have scan history in the app so you can look back at past diagnoses, but the piece you&#8217;re describing (linking repeat scans of the same part to show wear progression, and surfacing what was recommended last time) isn&#8217;t built yet. That&#8217;s a genuinely great idea and exactly the kind of thing that makes Recume something people keep coming back to instead of a one time check. Adding it to the roadmap, really appreciate you pointing this out \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ANODUHFX7NRFOY\" class=\"app-title\">Tansei \u2014 A simple shelf for your Mac<\/a><\/p>\n<div class=\"one-liner\">Built for work in motion. Designed to stay close.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">26<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tansei\u662f\u4e00\u6b3eMac\u4e13\u5c5e\u7684\u526a\u8d34\u677f\u4e0e\u5185\u5bb9\u6401\u67b6\u5de5\u5177\uff0c\u5728\u591a\u5e94\u7528\u5207\u6362\u7684\u5de5\u4f5c\u573a\u666f\u4e2d\uff0c\u81ea\u52a8\u6355\u83b7\u5e76\u56fa\u5b9a\u6587\u672c\u3001\u989c\u8272\u3001\u94fe\u63a5\u3001\u6587\u4ef6\u7b49\u788e\u7247\u4fe1\u606f\u4e8e\u5c4f\u5e55\u8fb9\u7f18\uff0c\u89e3\u51b3\u7528\u6237\u201c\u5728\u5e94\u7528\u95f4\u7a7f\u68ad\u65f6\u4e22\u5931\u4e0a\u4e0b\u6587\u4e0e\u5de5\u4f5c\u7ebf\u7d22\u201d\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fb7fcb40-9dfb-4724-a2c4-f81b1e1c2abf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a96e5aab-0094-4c18-a567-ea8b800c8397.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ef44d8a-d379-4dcf-a9ea-ffca3bb16b38.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d102eee5-f309-4193-baff-f29268bcbcaf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/293872f5-6fcd-45a2-8e27-9277ee0229f8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/18e7ebb7-7932-4ed4-8f4a-61e9c016d44c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4a6687d1-d026-44f6-8efd-dba98dac843f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u526a\u8d34\u677f\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u6401\u67b6<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u591a\u5e94\u7528\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">AI\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u53ea\u4e70\u4e00\u6b21<\/span><br \/>\n            <span class=\"tag\">\u952e\u76d8\u5feb\u6377\u952e<\/span><br \/>\n            <span class=\"tag\">\u62d6\u62fd\u4ea4\u4e92<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u672c\u5730\u5316\u3001\u514d\u8d26\u6237\u7684\u9690\u79c1\u8bbe\u8ba1\uff0c\u5e76\u8ba4\u53ef\u754c\u9762\u8f7b\u91cf\u4e0d\u5e72\u6270\u3002\u4e3b\u8981\u5efa\u8bae\u96c6\u4e2d\u4e8e\uff1a1\uff09\u671f\u671b\u652f\u6301\u5206\u7ec4\/\u547d\u540d\u96c6\uff1b2\uff09\u5f3a\u5316\u5168\u5c40\u5feb\u6377\u952e\u5524\u51fa\u4e0e\u641c\u7d22\uff1b3\uff09\u5173\u6ce8\u81ea\u52a8\u6355\u83b7\u540e\u7684\u6e05\u7406\u7b56\u7565\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5df2\u652f\u6301\u5feb\u6377\u952e\u4e0e\u81ea\u5b9a\u4e49\u641c\u7d22\uff0c\u5e76\u652f\u6301\u5173\u95ed\u81ea\u52a8\u6355\u83b7\u53ca\u4e00\u952e\u6e05\u7406\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Tansei\u5de7\u5999\u5730\u5c06\u201c\u526a\u8d34\u677f\u5386\u53f2\u201d\u5347\u7ef4\u4e3a\u201c\u8fb9\u680f\u6401\u67b6\u201d\uff0c\u8fd9\u4e00\u5b9a\u4f4d\u5207\u4e2d\u4e86\u73b0\u4ee3\u77e5\u8bc6\u5de5\u4f5c\u8005\u5728AI\u65f6\u4ee3\u201c\u8de8\u5e94\u7528\u62fc\u63a5\u4fe1\u606f\u201d\u7684\u5e95\u5c42\u82e6\u695a\u3002\u5b83\u6ca1\u6709\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u529f\u80fd\u5806\u53e0\u7684\u7c98\u8d34\u677f\u7ba1\u7406\u5de5\u5177\uff0c\u800c\u662f\u56f4\u7ed5\u201c\u4fdd\u6301\u4e0a\u4e0b\u6587\u201d\u8fd9\u4e00\u6838\u5fc3\u610f\u56fe\uff0c\u628a\u89e6\u89d2\u4f38\u5411\u4e86\u989c\u8272\u62fe\u53d6\u3001AI\u6587\u672c\u6682\u5b58\u7b49\u7ec6\u5fae\u5374\u9ad8\u9891\u7684\u64cd\u4f5c\u70b9\uff0c\u4ea7\u54c1\u55c5\u89c9\u503c\u5f97\u80af\u5b9a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6700\u6709\u529b\u7684\u62a4\u57ce\u6cb3\u662f\u201c\u672c\u5730\u4f18\u5148+\u65e0\u8d26\u6237\u201d\u7684\u504f\u6267\u3002\u5728SaaS\u8ba2\u9605\u5236\u6cdb\u6ee5\u7684\u5f53\u4e0b\uff0c\u4e00\u6b21\u6027\u4ed8\u8d39\u4e0e\u6570\u636e\u5b8c\u5168\u5728\u624b\u7684\u627f\u8bfa\uff0c\u76f4\u51fb\u4e86\u4e13\u4e1a\u7528\u6237\u5bf9\u201c\u6240\u6709\u6743\u201d\u548c\u5bf9\u201c\u7f51\u7edc\u5ef6\u8fdf\u201d\u7684\u654f\u611f\u795e\u7ecf\u3002\u8fd9\u662f\u6781\u5176\u806a\u660e\u7684\u5b9a\u4f4d\u7b56\u7565\u2014\u2014\u9760\u4fe1\u4efb\u5efa\u7acb\u6ea2\u4ef7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u4ea7\u54c1\u76ee\u524d\u4ecd\u5904\u4e8e\u529f\u80fd\u201c\u8212\u9002\u533a\u201d\u3002\u7528\u6237\u53cd\u9988\u4e2d\u5bf9\u4e8e\u201c\u5206\u7ec4\u7ba1\u7406\u201d\u548c\u201c\u8de8\u8bbe\u5907\u540c\u6b65\u201d\u7684\u547c\u58f0\u82e5\u957f\u671f\u5f97\u4e0d\u5230\u56de\u5e94\uff0c\u4f1a\u4e25\u91cd\u9650\u5236\u5176\u4ece\u201c\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u5de5\u4f5c\u6d41\u67a2\u7ebd\u201d\u3002\u5c24\u5176\u662f\u540e\u8005\uff0c\u4e00\u65e6\u7528\u6237\u5728\u591a\u53f0Mac\u95f4\u534f\u4f5c\uff0cTansei\u7684\u672c\u5730\u5b64\u5c9b\u5c5e\u6027\u5c06\u77ac\u95f4\u4ece\u4f18\u52bf\u53d8\u4e3a\u684e\u688f\u3002\u6b64\u5916\uff0c\u5176\u81ea\u52a8\u6355\u83b7\u903b\u8f91\u867d\u7701\u5fc3\uff0c\u4f46\u7f3a\u4e4f\u667a\u80fd\u8fc7\u6ee4\u673a\u5236\uff08\u5982\u5ffd\u7565\u5bc6\u7801\u7ba1\u7406\u5668\u6216\u7cfb\u7edf\u7f13\u5b58\u5185\u5bb9\uff09\u4f1a\u8ba9\u201c\u6401\u67b6\u201d\u968f\u65f6\u95f4\u63a8\u79fb\u53d8\u6210\u4fe1\u606f\u6742\u8d27\u94fa\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cTansei\u662f\u4e00\u6b3e\u6709\u7075\u9b42\u3001\u61c2\u573a\u666f\u7684\u7cbe\u54c1\u5de5\u5177\uff0c\u4f46\u82e5\u60f3\u6210\u4e3aMac\u751f\u6001\u7684\u5e38\u9752\u6811\uff0c\u56e2\u961f\u5fc5\u987b\u5728\u4fdd\u6301\u514b\u5236\u548c\u56de\u5e94\u9ad8\u7ea7\u7528\u6237\u9700\u6c42\u4e4b\u95f4\u627e\u5230\u66f4\u7cbe\u51c6\u7684\u5e73\u8861\u3002\u76ee\u524d\u9636\u6bb5\uff0c\u5b83\u6781\u9002\u5408\u5355\u8bbe\u5907\u3001\u91cd\u9690\u79c1\u3001\u9891\u7e41\u5728\u591a\u5e94\u7528\u95f4\u8df3\u8dc3\u7684\u521b\u610f\u4e0e\u6280\u672f\u7528\u6237\uff0c\u4f46\u5bf9\u91cd\u5ea6\u8de8\u8bbe\u5907\u5de5\u4f5c\u8005\u5438\u5f15\u529b\u6709\u9650\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Tansei \u2014 A simple shelf for your Mac<\/span>\n                <\/div>\n<div class=\"comment-content\">Switch apps without losing the thread. The color you copied. The line from ChatGPT. The file you\u2019ll need in a minute. Tansei keeps them pinned at the edge of your screen, ready to drag back the moment you need them. Everything stays on your Mac, private by design, no account needed. Try it free for 3 days, then pay once.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<h2>Hello Product Hunt \ud83d\udc4b<br \/><\/h2>\n<p>Modern work doesn\u2019t happen in one app anymore.<\/p>\n<p>A prompt in ChatGPT.<br \/>A design in Figma.<br \/>A file in Finder.<br \/>A link in Safari.<\/p>\n<p>The hard part isn\u2019t finding information.<\/p>\n<p>It\u2019s keeping the right pieces close as you move between apps.<\/p>\n<p>That\u2019s why I built <strong>Tansei<\/strong>.<br \/>It\u2019s a simple shelf for your Mac.<\/p>\n<p>It automatically keeps the text, links, images, files, code, colors, and screenshots you copy, so they\u2019re always within reach. Drag them into any app, paste them with your keyboard, or come back to them later.<\/p>\n<p>Everything stays on your Mac. No account. No cloud.<\/p>\n<p>I\u2019d love to hear how you work:<\/p>\n<ul>\n<li>\n<p><strong>What\u2019s always open on your Mac?<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>Which apps do you switch between the most?<\/strong><\/p>\n<\/li>\n<li>\n<p><strong>What\u2019s one thing you copy over and over every day?<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>Thanks for taking a look \u2014 I&#8217;ll be here all day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>since it auto-captures everything you copy and keeps it all local, does the shelf have any retention or auto-cleanup, or does it just grow forever until you manually clear it? curious how that&#8217;s handled once you&#8217;ve been using it for months<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Great question! You can turn off automatic capture if you prefer, and Tansei will occasionally prompt you to archive older items once your Shelf starts to fill up. There\u2019s also a simple Clear All option if you want a fresh start. The idea is to keep things tidy without getting in your way, while still leaving you in control of what stays and what goes.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the pinned-shelf idea looks super handy, but one thing i&#8217;d love is a quick keyboard shortcut to call up the shelf and search through pinned items by content, like the actual text from chatgpt or the hex value of a color, instead of just the app it came from<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ayazekicel3pxs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ayazekicel3pxs<\/a>&nbsp;Hello Ayaz! That\u2019s actually built in. You can instantly reveal the Shelf with a keyboard shortcut and search across everything you\u2019ve saved, including the actual text inside snippets, prompts, notes, and even colour hex values. The goal was to make finding something just as effortless as saving it in the first place.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing I&#8217;d love is a quick keyboard shortcut to pop the shelf open from anywhere, even when it&#8217;s hidden, so I can grab a clip without losing my mouse position.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@baharzlej\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@baharzlej<\/a>&nbsp;Thanks! \ud83d\ude0a You can actually do that today. Tansei has a customizable keyboard shortcut that instantly reveals the Shelf, so you can grab what you need without reaching for the mouse. When you\u2019re done, the same shortcut hides it again. I wanted it to be there exactly when you need it, and invisible the rest of the time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love how local and no-account this is, finally. one thing that would honestly make it stick for me is keyboard shortcuts to pin and recall items without reaching for the mouse, like a quick hotkey to grab whatever&#8217;s currently on the clipboard into the shelf<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zzetbababagm32\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zzetbababagm32<\/a>&nbsp;Tansei automatically captures anything you copy, so there\u2019s no need to trigger a shortcut first, although you can turn that behaviour off at any time if you prefer. You can also show or hide the Shelf with a customizable keyboard shortcut, or just use the mouse. The idea was to make it fit naturally into however you already work, rather than asking you to change your workflow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how lightweight this feels and the local-only approach is a huge plus. One thing I&#8217;d find really useful: let me group pinned items into named stacks so I can separate work-in-progress from quick-reference snippets, and collapse the whole shelf with one keystroke when I want a clean desktop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fikriye921452\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fikriye921452<\/a>&nbsp;The goal was to make it feel native, lightweight, and at home on macOS rather than another utility running on top of it. And you can already hide or reveal the Shelf with either a keyboard shortcut or your mouse, so it stays out of the way until you need it. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that it stays tucked at the edge instead of interrupting your flow. Most shelf apps feel like another dock, but the pinned snippet idea (especially grabbing a line of chat output) is genuinely clever.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@volval43730\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@volval43730<\/a>&nbsp;I wanted the Shelf to stay out of the way most of the time, then be there the moment you need it. It should feel like part of your workflow, not something competing for your attention. I\u2019m really glad that came through.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the way it just lives at the edge of the screen and gets out of the way is honestly so well done, feels like it was thought through by people who actually use macs daily.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gullu60488\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gullu60488<\/a>&nbsp;Thank you, that really means a lot. I actually started out planning to build Tansei as a universal app, but changed my mind because I wanted it to feel truly at home on the Mac. I love clean, minimal software, and I wanted the Shelf to feel like it had always belonged there. I\u2019m really glad that came across.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that it runs locally with no account, that&#8217;s exactly what I&#8217;d want for something this personal. One thing I&#8217;d kill for: a quick hotkey to pin from anywhere, not just drag and drop. Like a global shortcut that grabs whatever&#8217;s currently in my clipboard without me hunting for the app window first. Would make the whole &#8220;without losing the thread&#8221; promise even more true.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tunahankutlubay\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tunahankutlubay<\/a>&nbsp; That\u2019s actually how Tansei works. You don\u2019t even need a shortcut. Just copy something as you normally would, and it automatically appears on your Shelf. If you\u2019d rather not have that, you can turn it off at any time. Whether you prefer the keyboard, the mouse, or drag and drop, the goal is to make capturing things feel effortless and stay out of your way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Pinned a color and some text from ChatGPT to test it out, and dragging them back into other apps felt genuinely smooth. Love that everything stays local, no account fuss.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ratkca43150\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ratkca43150<\/a>&nbsp;Keeping everything local was one of the biggest priorities from day one. <\/p>\n<p>And with how much time we all spend working with AI now, constantly moving prompts, snippets, and ideas between apps, I found myself wishing this tool existed. I really hope it ends up being just as useful for you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Pinned a color hex and a ChatGPT snippet earlier and honestly forgot how handy that is when bouncing between apps. Nice that it&#8217;s all local too, kind of rare these days.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@berra1318314\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@berra1318314<\/a>&nbsp;That\u2019s exactly the kind of small win Tansei is built for. You can pick a colour anywhere on screen and it captures the hex automatically, which saves a surprising amount of back-and-forth.<\/p>\n<p>And yes, app-hopping is basically the default mode of work now. I wanted Tansei to smooth that out without adding another account, login, or cloud layer. It stays local and behaves like part of the Mac, not another service to manage.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the privacy-first approach and the idea of pinning stuff at the screen edge. One thing I&#8217;d really want is a keyboard shortcut to instantly summon the shelf and search across pinned items, instead of hunting with the mouse when I&#8217;m mid-flow. That&#8217;d make it feel even more invisible until I need it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gnlj0bp\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"gnlj0bp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gnlj0bp<\/a> Thanks! \ud83d\ude0a That\u2019s actually built in. Tansei has a customizable keyboard shortcut that instantly reveals the Shelf, so you don\u2019t need to reach for the mouse. You can also start searching your saved items right away. Whether you prefer the keyboard, the mouse, or drag and drop, the idea is to make the Shelf feel effortless to access and just as easy to dismiss when you\u2019re done. I really appreciate the feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/XFIS3UZFWAI7F6\" class=\"app-title\">HeimWall<\/a><\/p>\n<div class=\"one-liner\">Catch secrets before they leak into Cursor &#038; Claude<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">26<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>HeimWall\u662f\u4e00\u6b3emacOS\u672c\u5730\u5e94\u7528\uff0c\u5728\u5f00\u53d1\u8005\u5411Cursor\u3001Claude\u7b49AI\u7f16\u7a0b\u52a9\u624b\u7c98\u8d34\u5185\u5bb9\u65f6\uff0c\u5b9e\u65f6\u68c0\u6d4b\u5e76\u62e6\u622a\u6cc4\u6f0f\u7684\u5bc6\u94a5\u3001\u51ed\u8bc1\u548cPII\uff0c\u4ece\u6839\u672c\u4e0a\u9632\u6b62\u654f\u611f\u4fe1\u606f\u5916\u6cc4\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f25bdddd-e5f3-444d-9f50-c66e2ad12207.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/09aca33b-f0ad-45d6-9ca5-8075518d6ebe.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b8100a4a-8c3a-4f8d-950a-4b459b2e851e.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/47f17f49-959c-45a2-b602-a215bb272dd3.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=r1vmCIEkNbg&#038;feature=youtu.be\"><source src=\"https:\/\/www.youtube.com\/watch?v=r1vmCIEkNbg&#038;feature=youtu.be\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u672c\u5730\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">AI\u8f85\u52a9\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u5bc6\u94a5\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9632\u6cc4\u6f0f<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u89c4\u5219\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u51ed\u8bc1\u626b\u63cf<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u672c\u5730\u5316\u4e0e\u4e0d\u6536\u96c6\u6570\u636e\u7684\u7279\u6027\u3002\u4e3b\u8981\u5efa\u8bae\uff1a\u589e\u52a0\u81ea\u5b9a\u4e49\u89c4\u5219\u4e0e\u767d\u540d\u5355\uff08\u5982\u6d4b\u8bd5\u5bc6\u94a5\uff09\u3001\u63d0\u4f9bCLI\u5de5\u5177\u6216Git hook\u96c6\u6210\u3001\u6dfb\u52a0\u201c\u4e3a\u4f55\u89e6\u53d1\u201d\u7684\u8bf4\u660e\u5f39\u7a97\u3001\u4ee5\u53ca\u652f\u6301\u6d4b\u8bd5\u6a21\u5f0f\u3002\u56e2\u961f\u56de\u5e94\u79f0\u5df2\u7740\u624b\u6539\u8fdb\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                HeimWall\u7684\u5207\u5165\u70b9\u975e\u5e38\u7cbe\u51c6\u3002AI\u7f16\u7a0b\u52a9\u624b\u666e\u53ca\u540e\uff0c\u201c\u624b\u6ed1\u6cc4\u5bc6\u201d\u662f\u5f00\u53d1\u8005\u771f\u5b9e\u5b58\u5728\u4e14\u9ad8\u9891\u7684\u75db\u70b9\uff0c\u800c\u5176\u63d0\u4f9b\u7684\u89e3\u51b3\u65b9\u6848\u2014\u2014\u57fa\u4e8e47\u6761\u672c\u5730\u89c4\u5219\u5f15\u64ce\u800c\u975e\u4e91\u7aefAI\u6a21\u578b\u2014\u2014\u6070\u6070\u662f\u6700\u5927\u4eae\u70b9\u30027MB\u7684\u8f7b\u91cf\u7ea7\u5e94\u7528\uff0c\u65e0\u9700\u6ce8\u518c\uff0c\u4e0d\u5b58\u50a8\u4efb\u4f55\u5185\u5bb9\uff0c\u5b8c\u5168\u6d88\u9664\u4e86\u7528\u6237\u5bf9\u201c\u5b89\u5168\u5de5\u5177\u672c\u8eab\u662f\u5426\u5b89\u5168\u201d\u7684\u4fe1\u4efb\u9ed1\u6d1e\u3002\u8fd9\u79cd\u6781\u81f4\u7684\u514b\u5236\uff0c\u8ba9\u5b83\u5728\u529f\u80fd\u4e0a\u505a\u5230\u201c\u65ad\u7f51\u5373\u5b89\u5168\u201d\uff0c\u5728\u5546\u4e1a\u4e0a\u5f62\u6210\u4e86\u4e0e\u4e91\u7aef\u5b89\u5168\u670d\u52a1\u622a\u7136\u4e0d\u540c\u7684\u5b9a\u4f4d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u5b58\u5728\u660e\u663e\u7684\u201c\u4e24\u96be\u201d\u3002\u89c4\u5219\u5f15\u64ce\u867d\u5feb\u4e14\u900f\u660e\uff0c\u4f46\u9762\u5bf9\u201c\u683c\u5f0f\u4e0d\u89c4\u8303\u201d\u7684\u5185\u90e8\u5bc6\u94a5\u6216\u9ad8\u71b5\u503c\u968f\u673a\u5b57\u7b26\u4e32\u65f6\u65e0\u80fd\u4e3a\u529b\uff08\u56e2\u961f\u5df2\u627f\u8ba4\u6b64\u7f3a\u9677\uff09\u3002\u7528\u6237\u5927\u91cf\u8981\u6c42\u81ea\u5b9a\u4e49\u89c4\u5219\u548c\u4ee4\u724c\u767d\u540d\u5355\uff0c\u8bf4\u660e\u73b0\u5b58\u7684\u8bef\u62a5\u95ee\u9898\u5df2\u7ecf\u5f71\u54cd\u4f7f\u7528\u4f53\u9a8c\uff0c\u800c\u624b\u52a8\u6dfb\u52a0\u89c4\u5219\u53c8\u5c06\u62c9\u9ad8\u4f7f\u7528\u95e8\u69db\uff0c\u80cc\u79bb\u4e86\u201c\u5f00\u7bb1\u5373\u7528\u201d\u7684\u521d\u8877\u3002\u6b64\u5916\uff0c\u5b83\u53ea\u89e3\u51b3\u201c\u7c98\u8d34\u5230AI\u201d\u8fd9\u4e00\u79cd\u6cc4\u6f0f\u573a\u666f\uff0c\u5bf9\u4e8eAI agent\u4e3b\u52a8\u6293\u53d6\u6587\u4ef6\u6216\u5d4c\u5165\u7cfb\u7edf\u73af\u5883\u53d8\u91cf\u7b49\u884c\u4e3a\u5219\u65e0\u80fd\u4e3a\u529b\u3002\u56e2\u961f\u89c4\u5212\u7684\u56e2\u961f\u9762\u677f\uff08\u4fe1\u53f7\u800c\u975e\u5185\u5bb9\uff09\u601d\u8def\u6f02\u4eae\uff0c\u4f46\u80fd\u5426\u5728\u4e0d\u635f\u5bb3\u201c\u7edd\u5bf9\u9690\u79c1\u201d\u8fd9\u4e00\u6838\u5fc3\u5356\u70b9\u7684\u60c5\u51b5\u4e0b\u5b9e\u73b0\uff0c\u662f\u5de8\u5927\u6311\u6218\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cHeimWall\u5728\u201c\u4e2a\u4f53\u9632\u5fa1\u201d\u8fd9\u4e2a\u7ec6\u5206\u8d5b\u9053\u4e0a\u505a\u5bf9\u4e86\u51cf\u6cd5\uff0c\u4f46\u8981\u4ece\u4e00\u4e2a\u201c\u5f00\u53d1\u8005\u7684\u826f\u5fc3\u63d2\u4ef6\u201d\u6210\u957f\u4e3a\u56e2\u961f\u5185\u7684\u6807\u51c6\u5b89\u5168\u9632\u7ebf\uff0c\u5b83\u9700\u8981\u8bc1\u660e\u81ea\u5df1\u4e0d\u4ec5\u80fd\u9632\u5df2\u77e5\uff0c\u8fd8\u80fd\u5728\u7528\u6237\u4ecb\u5165\u6700\u5c11\u7684\u524d\u63d0\u4e0b\u5904\u7406\u672a\u77e5\u548c\u566a\u97f3\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u4f1a\u6210\u4e3aMac\u83dc\u5355\u680f\u4e2d\u53c8\u4e00\u4e2a\u201c\u5076\u5c14\u88ab\u60f3\u8d77\u4f46\u7ecf\u5e38\u88ab\u5ffd\u7565\u201d\u7684\u5b88\u62a4\u795e\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">HeimWall<\/span>\n                <\/div>\n<div class=\"comment-content\">HeimWall catches leaked secrets, credentials, and PII the moment they&#8217;re about to reach AI coding assistants like Cursor, Claude Code, and Copilot. A lightweight macOS app, fully on-device: 47 hand-written rules flag leaks in real time. Your prompts never leave your Mac. No content stored, no account, no signup. Free for individual engineers. Next up: a team dashboard showing security leads leak trends without exposing what anyone typed. Signal, not content. Design partners welcome.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! Ata here, co-founder of HeimWall, launching this together with my co-founder Safak. We&#8217;re two technical founders building HeimWall AI.<\/p>\n<p>Every developer we know has pasted something into an AI tool and frozen for a second: wait, was there a key in that? Usually there was. When we ran our detection engine over DevGPT, a public corpus of 27,075 real developer prompts to ChatGPT, we found three live-format API keys and 49 real personal email addresses in a single weekly snapshot of conversations people chose to share publicly. The prompts nobody shares are the rest of the iceberg.<\/p>\n<p>HeimWall catches that moment. It reads the composer of Cursor, Claude Code, Copilot and friends through the macOS Accessibility API and flags secrets, credentials and PII as you type or paste, before anything leaves your machine. 47 hand-written detection rules, benchmarked against public corpora (CredData, Gretel PII). Everything runs on your Mac. No account, no signup, your prompts are never uploaded.<\/p>\n<p>A few honest notes, because that&#8217;s how we try to operate:<\/p>\n<p>\u2022\u2060  \u2060Detection is a deterministic rule engine, not a model. That&#8217;s why the whole app is about 7 MB. An on-device semantic tier is on the roadmap.<br \/>\n\u2022\u2060  \u2060False positives exist. We published our full noise analysis on the blog, including the two rules we already know we need to tighten.<br \/>\n\u2022\u2060  \u2060The team side (a dashboard where security leads see leak trends without ever reading anyone&#8217;s prompts) is next. We&#8217;re onboarding design partners now.<\/p>\n<p>We think of this as step one toward observability for the agentic workforce: protect the individual engineer first, then give teams the same signal without the surveillance.<\/p>\n<p>macOS 13+, Apple Silicon. Try it, break it, tell us what it missed. Safak and I will be here all day, ask us anything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Good to know the standalone-app approach keeps the composer reads stable \u2014 that was my main worry with the Electron editors like Cursor. On custom rules: even a simple local list of extra prefix strings (no full regex engine) would cover the internal-token case for most teams without you shipping an app update each time. Is that the likely direction, or are you thinking a managed ruleset pushed centrally?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The deterministic 7MB rule engine over the Accessibility API is the right tradeoff here \u2014 no model means nothing to phone home, which is the whole point for a leak-prevention tool. Since Cursor and Copilot-in-VSCode are Electron, does the composer read stay reliable there, or does the Accessibility tree get flaky compared to a native field like Claude Code in the terminal? And can I add rules for our own internal token prefixes locally, or does expanding past the 47 built-ins need an app update?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@hi_i_am_mimo thanks for your feedback! Composer reads stable and no issues running or extra overhead latency running any composers since its HeimWall runs as its own standalone app. Currently, there is no custom rule adding but that is a great idea, we will consider that for next updates! Thanks<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing I&#8217;d love to see is a simple CLI flag so I can pipe clipboard content through HeimWall&#8217;s rule set from my terminal without opening the app. That way quick checks during code review stay in my flow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ege_karama27779\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ege_karama27779<\/a>&nbsp;Funny timing, you and the git-hooks commenter above are pointing at the same deliverable: the engine packaged as a small CLI. It already runs as one inside our benchmark harness, that&#8217;s how we scan public corpora, so pbpaste piped into a heimwall check with proper exit codes is a very natural release.<\/p>\n<p>Small note, if the app is running the clipboard guard is already watching passively. But an explicit terminal check with visible output is a different flow, agreed. On the list.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The on-device approach is a big deal for trust. One thing that would help me roll this out to my team is a dry-run mode that lets me see which of my recent prompts would have been flagged, so I can fix habits without the awkward retroactive alerts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hafizeewzm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hafizeewzm<\/a>&nbsp;Small confession: we can&#8217;t do retroactive, for exactly the reason you like us. We never store prompts, so there&#8217;s nothing to go back and scan. That tradeoff is deliberate.<\/p>\n<p>The good news is the app is already dry-run by design. It never blocks, it only flags locally, so a normal week of use gives you that exact report: your own private feed of what would have leaked, visible to nobody but you. And with the playground panel another commenter suggested today, you&#8217;ll be able to paste old prompts in and see what fires.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@hafizeewzm Thank you for your positive feedback!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>would love to see a quick test mode where i can paste in a sample prompt and see exactly which rules flagged it, basically a way to tune the 47 rules for my own workflows without needing to trigger real leaks in my actual coding sessions<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ramazan793230\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ramazan793230<\/a>&nbsp;You can do a rough version of this today: the clipboard guard scans whatever you copy, so copying a sample key lights up the feed with the exact rule that matched, no coding session involved.<\/p>\n<p>A proper playground panel inside the app is a lovely idea though. The engine runs right there on-device, so a type-and-see-what-fires box is very doable, and honestly it would double as the best onboarding demo. Adding it to the list.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@ramazan793230 Thanks for your feedback, as Safak mentioned you can test it out via clipboard, or you can just paste it to any agent chat without submitting it!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the signal over content approach. One thing that would help me actually roll this out is a one-click allowlist for the specific secret values I know are safe but get flagged constantly, like local Postgres URLs or my dev API keys. Right now I&#8217;d imagine false positives get noisy fast. Persistent per-project overrides with maybe an audit log would make this feel less like babysitting and more like a real safety net.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@furkan522799\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@furkan522799<\/a>&nbsp;This is the right bar to hold us to, alert fatigue is what kills tools like this. Two honest notes. The validators already try to discount dev-shaped values, localhost connection strings and placeholder patterns get rejected by shape. And a mute-this-exact-value allowlist is a very natural fit: we already compute a local hash of every matched value for dedup, so remembering your dismissals on-device is a clean next step. Per-project is trickier since we watch the prompt box rather than your repo, but value-level overrides plus a local log of what you muted is noted.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that it&#8217;s fully on-device, finally something that doesn&#8217;t sell my clipboard to a cloud. One thing I&#8217;d want soon though &#8211; a way to whitelist my own throwaway test secrets so I&#8217;m not hitting the red on every dummy API key I paste in for debugging.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@duygugonul48114\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@duygugonul48114<\/a>&nbsp;Thank you! You&#8217;re the third person today asking for this, which pretty much settles the roadmap question. In the meantime, obviously fake-shaped values like EXAMPLE keys and your-token style placeholders are already rejected by the validators. It&#8217;s the authentic-format dummies that hit the red, and a mute-this-value option that remembers your dismissals on-device is the natural fix. It just moved up the list.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@duygugonul48114 Thank you for your positive feedback! We also believe on-device is what makes HeimWall really special!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Have you thought about adding a quick toggle in the menu bar to temporarily disable blocking when I intentionally need to paste a real API key during local testing. A 15 minute pause button would save a lot of friction compared to fully uninstalling and reinstalling every time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@meteaqfn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@meteaqfn<\/a>&nbsp;Good news, most of this already exists. HeimWall never actually blocks a paste, it only flags it, so when you intentionally paste a real key it still goes through, you just get the ping. And there&#8217;s a Pause protection button right at the top of the app, no uninstall needed, ever.<\/p>\n<p>The timed version is a nice touch though, pause today is manual until you resume it. Auto-resume after 15 minutes is going on the list. \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ran it for an afternoon while pushing code through Cursor and it actually flagged a stray API key I had no business pasting in. The &#8220;fully on-device&#8221; bit sold me, no setup, no signup, just a quiet macOS app doing its job in the background.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@saliha464180\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@saliha464180<\/a>&nbsp;Thanks Saliha, that catch is exactly the point and that is why we are building this. Many times I realized afterwards that I shared credentials or keys with agents, so these kind of applications are needed to prevent this before it happens. Also, doing it fully on-device is the part I&#8217;m proudest of. If it ever misses one or flags something it shouldn&#8217;t, please let us know.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the on-device approach is genuinely refreshing, especially with so many tools phoning home these days. one thing that would make this a no-brainer for me would be git hook integration so it can scan staged diffs before they ever reach an AI tool in the first place, catching leaks at the source rather than only at the prompt boundary.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@engins54145\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@engins54145<\/a>&nbsp;Thank you! Git hooks are on our list. The detection engine already runs as a standalone CLI in our benchmark harness, so a pre-commit hook over staged diffs is a natural next step.<\/p>\n<p>Worth noting though, a lot of what leaks at the prompt boundary never touches git at all. Pasted terminal output, staging records, gitignored .env values. That&#8217;s why we started at the composer. Both layers together is the complete picture.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love that this stays fully on-device, that was basically the deciding factor for me. one thing though, would be great if you could add a quick toggle to whitelist specific projects or repos, like a dotfile in the project root, so it doesn&#8217;t flag test fixtures or seed data as real leaks. right now i imagine anyone with mock credentials in their codebase will get noise.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mahmutjldv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mahmutjldv<\/a>&nbsp;Thanks! One mental-model note, we scan the prompt box itself, not your files, so the app doesn&#8217;t know which repo a paste came from. That makes a project dotfile tricky, but an allowlist in some form is a fair ask and it&#8217;s noted.<\/p>\n<p>On noise, the validators already reject placeholder-shaped values: AWS EXAMPLE keys, your-token style strings, values that look like code rather than secrets. Fixtures with authentic-format values will still flag, though arguably a mock key indistinguishable from a real one deserves the ping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly this looks really useful for anyone paranoid about pasting real keys into copilot by accident. one thing i&#8217;d love is a quick &#8220;why was this flagged&#8221; popover when a rule triggers, basically a one-liner explaining which pattern matched so i can learn what to scrub next time. would make the whole thing way less mysterious<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@serapkaratop\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serapkaratop<\/a>&nbsp;Love this. Half of it is already there, every catch in the feed shows which rule matched and its category. The plain-language one-liner is a great addition though, and it&#8217;s the nice part of running a deterministic rule engine: every flag has an exact answer to why, nothing mysterious under the hood. Adding it to the list.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@serapkaratop  Appreciate the feedback, why flagged idea is brilliant. We will add that to our list!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the DevGPT stat sold it, three live keys and 49 emails in one week of public snapshots is a genuinely alarming stat. since detection is rule-based rather than a model, how do you handle secrets with no recognizable format, like an internal API key using a company-specific naming scheme that just looks like a random string? that seems like the hardest case for a pattern-matching approach<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Hardest case for pattern-matching, and I won&#8217;t pretend regex alone catches it. A lot of formatless keys still get caught on entropy (randomness is itself a signal) or on context (a random string next to TOKEN=\u2026), and for a known internal naming scheme you&#8217;d add a custom rule. The true residual, low-entropy secrets that look like ordinary strings with no contextual tell, pattern-matching misses, and that&#8217;s exactly what a semantic layer is for. Good question, and thanks for the feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SDHTMTTJBK5ZRM\" class=\"app-title\">KillAI<\/a><\/p>\n<div class=\"one-liner\">Filter AI-generated content from YouTube<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">24<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>KillAI\u662f\u4e00\u6b3e\u9690\u79c1\u4f18\u5148\u7684Chrome\u6269\u5c55\uff0c\u5e2e\u52a9\u7528\u6237\u4eceYouTube\u4fe1\u606f\u6d41\u4e2d\u8fc7\u6ee4AI\u751f\u6210\u5185\u5bb9\u3001\u5408\u6210\u8bed\u97f3\u548c\u5783\u573e\u8bc4\u8bba\uff0c\u805a\u7126\u771f\u5b9e\u521b\u4f5c\u8005\u548c\u4eba\u7c7b\u539f\u521b\u89c6\u9891\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/082fa134-436c-49a4-b9ee-540d63038629.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Browser Extensions<\/span><br \/>\n            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">YouTube<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Chrome\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">YouTube\u8fc7\u6ee4\u5668<\/span><br \/>\n            <span class=\"tag\">AI\u5185\u5bb9\u5c4f\u853d<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u6e05\u7406<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u8fc7\u6ee4<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u4f53\u9a8c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9632\u5783\u573e\u4fe1\u606f<\/span><br \/>\n            <span class=\"tag\">\u771f\u5b9e\u521b\u4f5c\u8005<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u63d2\u4ef6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u770b\u597d\u9690\u79c1\u672c\u5730\u5904\u7406\u548c\u767d\u540d\u5355\u529f\u80fd\uff0c\u4f46\u6838\u5fc3\u62c5\u5fe7\u662f\u8bef\u5224\uff1a\u4eba\u7c7b\u521b\u4f5c\u8005\u4e5f\u4f7f\u7528AI\u8f85\u52a9\u5de5\u5177\uff08\u5982\u7f29\u7565\u56fe\u3001\u8bed\u97f3\u6e05\u7406\uff09\uff0c\u5982\u4f55\u533a\u5206\u201cAI\u8f85\u52a9\u201d\u4e0e\u201cAI\u751f\u6210\u201d\u4ecd\u662f\u6a21\u7cca\u5730\u5e26\u3002\u90e8\u5206\u5efa\u8bae\u589e\u52a0\u5df2\u770b\u89c6\u9891\u9690\u85cf\u3001\u6bcf\u65e5\u8fc7\u6ee4\u62a5\u544a\u7b49\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                KillAI\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u65e5\u76ca\u5c16\u9510\u7684\u75db\u70b9\uff1aYouTube\u4fe1\u606f\u6d41\u88abAI\u751f\u6210\u7684\u201c\u5783\u573e\u5185\u5bb9\u201d\u4fb5\u8680\uff0c\u7528\u6237\u6e34\u671b\u56de\u5f52\u4eba\u7c7b\u521b\u4f5c\u7684\u771f\u5b9e\u6027\u3002\u4ece\u4ea7\u54c1\u5b9a\u4f4d\u770b\uff0c\u5b83\u660e\u667a\u5730\u653e\u5f03\u201c\u901a\u5403\u6240\u6709\u5e73\u53f0\u201d\u7684\u91ce\u5fc3\uff0c\u805a\u7126YouTube\u5355\u4e00\u573a\u666f\uff0c\u5e76\u5f3a\u8c03\u672c\u5730\u5316\u9690\u79c1\u5904\u7406\uff0c\u8fd9\u65e2\u662f\u5dee\u5f02\u5316\u5356\u70b9\uff0c\u4e5f\u662f\u5bf9\u7528\u6237\u6108\u53d1\u654f\u611f\u7684\u6570\u636e\u5b89\u5168\u7126\u8651\u7684\u7cbe\u51c6\u56de\u5e94\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u771f\u6b63\u7684\u751f\u6b7b\u7ebf\u5728\u4e8e**\u8bc6\u522b\u7b97\u6cd5\u7684\u7cbe\u51c6\u5ea6**\u4e0e**\u7528\u6237\u63a7\u5236\u6743\u7684\u5e73\u8861**\u3002\u8bc4\u8bba\u533a\u53cd\u590d\u51fa\u73b0\u7684\u201c\u8bef\u5224\u201d\u95ee\u9898\uff0c\u66b4\u9732\u51fa\u884c\u4e1a\u7ea7\u96be\u9898\uff1a\u5f53\u4eba\u7c7b\u521b\u4f5c\u8005\u666e\u904d\u4f7f\u7528AI\u5de5\u5177\u8fdb\u884c\u914d\u97f3\u4f18\u5316\u3001\u56fe\u50cf\u8f85\u52a9\u751a\u81f3\u526a\u8f91\u65f6\uff0c\u7b80\u5355\u7684\u4e8c\u5143\u5206\u7c7b\uff08AI\/\u975eAI\uff09\u5fc5\u7136\u4ea7\u751f\u5927\u91cf\u8bef\u4f24\u3002\u76ee\u524d\u4ea7\u54c1\u4ec5\u63d0\u4f9b\u201c\u4f4e\/\u9ad8\u8fc7\u6ee4\u5f3a\u5ea6\u201d\u548c\u201c\u767d\u540d\u5355\u201d\u673a\u5236\uff0c\u8fd9\u66f4\u50cf\u662f\u5bf9\u7b97\u6cd5\u4e0d\u5b8c\u7f8e\u7684\u59a5\u534f\uff0c\u800c\u975e\u6280\u672f\u7a81\u7834\u3002\u7528\u6237\u53cd\u9988\u4e2d\u201c\u9700\u8981\u624b\u52a8\u4fdd\u7559\u4e0b\u4fe1\u4efb\u7684\u521b\u4f5c\u8005\u201d\u7684\u547c\u58f0\uff0c\u6070\u6070\u8bc1\u660e\u5f53\u524d\u7684\u81ea\u52a8\u8bc6\u522b\u8fd8\u4e0d\u591f\u667a\u80fd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u4ef7\u503c\u770b\uff0c\u8fd9\u6b3e\u5de5\u5177\u89e3\u51b3\u7684\u662f\u201c\u8ba4\u77e5\u8fc7\u8f7d\u201d\u800c\u975e\u201c\u6280\u672f\u9e3f\u6c9f\u201d\u95ee\u9898\u2014\u2014\u5b83\u4e0d\u521b\u9020\u65b0\u5185\u5bb9\uff0c\u800c\u662f\u91cd\u65b0\u6392\u5e8f\u3002\u8fd9\u79cd\u6a21\u5f0f\u7684\u62a4\u57ce\u6cb3\u5f88\u6d45\uff1a\u4e00\u65e6YouTube\u81ea\u8eab\u5f15\u5165\u66f4\u5f3a\u5927\u7684AI\u5185\u5bb9\u6807\u6ce8\u7cfb\u7edf\uff08\u5982\u5f3a\u5236\u6807\u6ce8AIGC\u6807\u7b7e\uff09\uff0c\u6216\u7c7b\u4f3c\u529f\u80fd\u7684\u7ade\u4e89\u5bf9\u624b\u6d8c\u5165\u5e93\uff0cKillAI\u7684\u751f\u5b58\u7a7a\u95f4\u5c06\u8fc5\u901f\u88ab\u6324\u538b\u3002\u76ee\u524d24\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\uff0c\u4e5f\u8bf4\u660e\u5176\u5c1a\u672a\u5f62\u6210\u793e\u7fa4\u5171\u8bc6\u548c\u4f20\u64ad\u7206\u53d1\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5efa\u8bae\u56e2\u961f\u5c06\u8d44\u6e90\u503e\u659c\u5230\u4e24\u4e2a\u65b9\u5411\uff1a\u4e00\u662f\u5efa\u7acb\u66f4\u7cbe\u7ec6\u7684\u5185\u5bb9\u7279\u5f81\u5e93\uff08\u5982\u533a\u5206\u201c\u7eafAI\u751f\u6210\u201d\u4e0e\u201cAI\u8f85\u52a9\u7f16\u8f91\u201d\uff09\uff0c\u4e8c\u662f\u5f15\u5165\u793e\u533a\u9a71\u52a8\u7684\u8bef\u62a5\u53cd\u9988\u673a\u5236\uff0c\u8ba9\u7528\u6237\u6807\u6ce8\u9519\u8bef\u6848\u4f8b\uff0c\u8bad\u7ec3\u6a21\u578b\u8fed\u4ee3\u3002\u5426\u5219\uff0c\u4ee5\u5f53\u524d\u201c\u4e00\u5200\u5207\u201d\u7684\u8fc7\u6ee4\u80fd\u529b\uff0c\u5b83\u5f88\u53ef\u80fd\u50cf\u8bb8\u591a\u7406\u60f3\u4e3b\u4e49\u7684\u6d4f\u89c8\u5668\u63d2\u4ef6\u4e00\u6837\uff0c\u5728\u521d\u671f\u88ab\u53eb\u597d\uff0c\u5374\u56e0\u65e0\u6cd5\u6ee1\u8db3\u5b9e\u9645\u4f7f\u7528\u9608\u503c\u800c\u6ca6\u4e3a\u5c0f\u4f17\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">KillAI<\/span>\n                <\/div>\n<div class=\"comment-content\">KillAI is a privacy-focused Chrome extension designed to help you clean your YouTube feed and focus on real creators, human-made content, and meaningful discussions.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Have you thought about adding a way to whitelist specific channels or topics so they never get filtered out, even if flagged as AI? Would be nice to keep learning channels I trust without having to re-pin them every time the filter runs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hamdikayrazasr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamdikayrazasr<\/a>&nbsp;We have whitelist channel option in settings. You can also change the parameter from low to high depending on how aggressive you want to filter.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the icon is super clean and the whole &#8220;kill the slop&#8221; framing feels way more honest than most feed-cleaner tools out there, like you&#8217;re not beating around the bush about what you&#8217;re targeting<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Took it for a spin on my usual mess of a feed and it actually pushed AI-generated junk out of my recommendations within a day. Nice that it runs locally without sending my watch history anywhere.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zahidelbug39ad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zahidelbug39ad<\/a>&nbsp;Awesome to hear that! \ud83d\ude80 Privacy was a core goal from day one, so we&#8217;re glad you appreciate that everything runs locally and your watch history stays on your device. \ud83d\udd12 Thanks for giving KillAI a try and sharing your experience! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the concept, especially filtering out AI generated stuff. One thing that would make this a must install for me is letting me whitelist certain channels or keywords so my favorite creators never get hidden by mistake, maybe with a simple toggle in the popup.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gurarslanz55150\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gurarslanz55150<\/a>&nbsp;Thanks! \ud83d\ude4c A whitelist feature for favorite channels and keywords is definitely on our roadmap\u2014it\u2019s important that KillAI filters the noise without hiding creators you actually want to see. \ud83c\udfaf Thanks for the suggestion!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a toggle that lets me hide channels I&#8217;ve already watched from yesterday&#8217;s feed since I keep scrolling past them anyway. Maybe also a quick daily recap showing how much AI slop got filtered out so I know the extension is pulling its weight.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sakin8461\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sakin8461<\/a>&nbsp;I&#8217;ve added both ideas to our feature list and will definitely explore them in future updates. Thanks for taking the time to share your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The way it lets you filter by content type rather than just hiding channels is a thoughtful UX move, feels way less aggressive than other tools I&#8217;ve tried.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@necdet644676\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@necdet644676<\/a>&nbsp;Thanks! \ud83d\ude0a We wanted users to stay in control of their feed, so filtering specific content types felt like a better approach than simply blocking entire channels. \ud83c\udfaf Really glad the experience feels balanced and useful for you! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m excited to launch **KillAI** today.<\/p>\n<p>Over the past year, YouTube has become increasingly crowded with AI-generated videos, synthetic voiceovers, automated channels, and bot-driven comments. Finding authentic creators and genuine discussions is getting harder.<\/p>\n<p>KillAI is a Chrome extension built to help you take back control of your feed by identifying and filtering AI-generated content, AI voiceovers, spam, and bot comments\u2014so you can focus on real people creating real content.<\/p>\n<p>### What KillAI can do:<\/p>\n<p>\u2705 Detect and hide AI-generated videos<br \/>\n\u2705 Filter synthetic voiceover content<br \/>\n\u2705 Remove spam and bot comments<br \/>\n\u2705 Prioritize human-made content and creators<br \/>\n\u2705 Protect your viewing experience with privacy-first processing<\/p>\n<p>I built KillAI because I wanted a cleaner, more authentic YouTube experience for myself, and I suspected others felt the same way.<\/p>\n<p>I&#8217;d love to hear your feedback, ideas, and questions. What types of AI-generated content are you seeing most often on YouTube?<\/p>\n<p>Thanks for checking it out and supporting the launch! \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the false positive side feels like the harder problem here honestly. plenty of human creators now use AI somewhere in their pipeline, b-roll, thumbnails, voice cleanup, without the video actually being AI-generated in the sense you mean. does the detection separate AI-assisted from AI-generated, or is that still a fuzzy line for you too<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a very timely problem. YouTube feeds are getting harder to navigate as AI-generated videos, synthetic voiceovers, spam, and bot comments become more common.<\/p>\n<p>I like that KillAI focuses on giving viewers more control rather than just complaining about the trend. The privacy-first angle also matters a lot for a browser extension.<\/p>\n<p>Quick question: how does KillAI handle false positives? For example, if a human creator uses some AI-assisted editing or voice cleanup, how do you avoid hiding content that is still genuinely human-made?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The way you scoped it down to just YouTube instead of trying to boil the ocean feels really intentional. Liking the focus on surfacing actual creators and discussions over everything else.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love a toggle to whitelist specific channels I trust, so I don&#8217;t have to keep manually approving creators I already know are real. That way the filter keeps working but I don&#8217;t miss uploads from my favorite smaller creators.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@pakizeql4d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pakizeql4d<\/a>&nbsp;We have that feature \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It would be really useful if you could whitelist specific channels or topics that you actually want to keep seeing even after a cleanup pass, so the extension preserves your favorite creators automatically instead of hiding them too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@takbug32958\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@takbug32958<\/a>&nbsp;we have whitelist option in settings.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DAWQ6LR3TZVXQP\" class=\"app-title\">ReadyStill<\/a><\/p>\n<div class=\"one-liner\">One screenshot. Ready everywhere.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">24<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ReadyStill \u662f\u4e00\u6b3e\u672c\u5730\u5316\u8fd0\u884c\u7684\u7f51\u9875\u622a\u56fe\u7f8e\u5316\u5de5\u5177\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u5c06\u7f51\u9875\u5143\u7d20\u3001\u533a\u57df\u6216\u6574\u9875\u622a\u56fe\u4e00\u952e\u6253\u9020\u6210\u53ef\u76f4\u63a5\u7528\u4e8e\u4ea7\u54c1\u53d1\u5e03\u3001\u793e\u4ea4\u5a92\u4f53\u3001\u5e94\u7528\u5546\u5e97\u7b49\u573a\u666f\u7684\u7cbe\u7f8e\u89c6\u89c9\u7d20\u6750\uff0c\u7701\u53bb\u4f20\u7edf\u8bbe\u8ba1\u8f6f\u4ef6\u7684\u7e41\u7410\u64cd\u4f5c\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/1bffefa2-f251-4d87-bad0-6f64d0d54364.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/TWewX_rcgGM\"><source src=\"https:\/\/youtu.be\/TWewX_rcgGM\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2c6a41cc-3ea3-4ce8-8090-da7f6db4e5b5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e4d9366c-0b81-4ce3-8242-fb7cb25d3624.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2bf5e36c-2d26-4693-898d-ed9bc6b34263.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/33862806-9bcd-4832-b9c5-f85230782a26.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a198136d-15ae-41a5-a146-92dc798e58e1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/34a83485-bae7-4d27-96f8-7cb536651bf2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5e7f\u6cdb\u8ba4\u53ef\u672c\u5730\u5904\u7406\u548c\u81ea\u52a8\u654f\u611f\u533a\u57df\u68c0\u6d4b\uff08\u5982\u90ae\u7bb1\uff09\u529f\u80fd\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u589e\u52a0\u952e\u76d8\u5feb\u6377\u952e\u3001\u4fdd\u5b58\u81ea\u5b9a\u4e49\u6837\u5f0f\u9884\u8bbe\u3001\u590d\u7528\u540c\u4e00\u7ec4\u5ba1\u6838\u6807\u6ce8\uff0c\u4ee5\u63d0\u9ad8\u64cd\u4f5c\u8fde\u8d2f\u6027\u3002\u6b64\u5916\uff0c\u6709\u7528\u6237\u8ba4\u4e3a1899\u5362\u6bd4\uff08\u7ea6\u00a5160\uff09\u7684\u89e3\u9501\u4ef7\u683c\u5728\u4ec510\u6b21\u514d\u8d39\u5bfc\u51fa\u540e\u663e\u5f97\u504f\u9ad8\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ReadyStill \u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u201c\u5fae\u75db\u70b9\u201d\u2014\u2014\u4ea7\u54c1\u7ea7\u622a\u56fe\u7684\u9ad8\u6548\u751f\u4ea7\u3002\u5b83\u5e76\u975e\u53c8\u4e00\u4e2a\u201c\u622a\u56fe\u5de5\u5177\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u201c\u7d20\u6750\u52a0\u5de5\u6d41\u6c34\u7ebf\u201d\u3002\u5176\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u5c06\u8bbe\u8ba1\u5e08\u8111\u4e2d\u201c\u52a0\u9634\u5f71\u3001\u6392\u7248\u3001\u9002\u914d\u591a\u5e73\u53f0\u201d\u7684\u91cd\u590d\u6027\u52b3\u52a8\uff0c\u538b\u7f29\u6210\u4e00\u6b21\u70b9\u51fb\u3002\u672c\u5730\u5904\u7406\u7684\u5b9a\u4f4d\u6781\u5176\u806a\u660e\uff0c\u65e2\u56de\u5e94\u4e86\u4f01\u4e1a\u6570\u636e\u5b89\u5168\u7684\u7126\u8651\uff0c\u53c8\u89c4\u907f\u4e86\u4e91\u7aef\u5de5\u5177\u7684\u7f51\u7edc\u4f9d\u8d56\u548c\u5ef6\u8fdf\uff0c\u8ba9\u201c\u5feb\u201d\u4e0d\u4ec5\u505c\u7559\u5728\u529f\u80fd\u5c42\u9762\uff0c\u66f4\u4f53\u73b0\u5728\u6d41\u7a0b\u7684\u638c\u63a7\u611f\u4e0a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u7684\u77ed\u677f\u540c\u6837\u660e\u663e\u300224\u4e2a\u6295\u7968\u548c\u6e05\u4e00\u8272\u96f6\u8d5e\u8bc4\u8bba\u6697\u793a\u5176\u65e9\u671f\u7528\u6237\u7fa4\u5c1a\u672a\u5f62\u6210\u6709\u6548\u53e3\u7891\u4f20\u64ad\uff0c\u4ea7\u54c1\u53ef\u80fd\u4ecd\u5904\u4e8e\u201c\u529f\u80fd\u8fc7\u5c11\u3001\u975e\u521a\u9700\u201d\u7684\u5c34\u5c2c\u671f\u3002\u6838\u5fc3\u5356\u70b9\u201c\u81ea\u52a8\u5ba1\u6838\u201d\u4ec5\u88ab\u7528\u6237\u63d0\u53ca\u68c0\u6d4b\u5230\u90ae\u7bb1\uff0c\u5c1a\u672a\u5c55\u793a\u5904\u7406API Key\u7b49\u590d\u6742\u654f\u611f\u4fe1\u606f\u7684\u80fd\u529b\uff0c\u6280\u672f\u62a4\u57ce\u6cb3\u5b58\u7591\u3002\u5b9a\u4ef7\u7b56\u7565\u66f4\u663e\u6fc0\u8fdb\uff1a10\u6b21\u8bd5\u7528\u540e\u9700\u4e00\u6b21\u6027\u652f\u4ed81899\u5362\u6bd4\uff0c\u5bf9\u4e8e\u4e00\u4e2a\u201c\u63d0\u5347\u6548\u7387\u4f46\u975e\u4e0d\u53ef\u66ff\u4ee3\u201d\u7684\u5de5\u5177\u800c\u8a00\uff0c\u95e8\u69db\u504f\u9ad8\u3002\u5bf9\u6bd4 Apple \u9884\u89c8\u3001CleanShot X \u7b49\u7ade\u54c1\uff0c\u540e\u8005\u5728\u622a\u56fe\u9886\u57df\u66f4\u539a\u91cd\uff0cReadyStill \u82e5\u4e0d\u80fd\u5feb\u901f\u79ef\u7d2f\u9884\u8bbe\u6a21\u677f\u7684\u793e\u533a\u751f\u6001\u6216\u6df1\u5ea6\u7ed1\u5b9a\u7279\u5b9a\u5de5\u4f5c\u6d41\uff08\u5982\u72ec\u7acb\u5f00\u53d1\u8005\u53d1\u5e03\u6d41\u7a0b\uff09\uff0c\u5176\u201c\u4e00\u6b21\u6027\u4ed8\u8d39\u201d\u6a21\u5f0f\u6781\u6613\u529d\u9000\u672c\u5c31\u6ca1\u6709\u5145\u8db3\u9884\u7b97\u7684\u65e9\u671f\u53d7\u4f17\u3002\u4ea7\u54c1\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u7cbe\u7f8e\u7684 MVP\uff0c\u79bb\u4e00\u4e2a\u5fc5\u987b\u62e5\u6709\u7684\u201c\u5de5\u4f5c\u53f0\u201d\u8fd8\u6709\u4e00\u6bb5\u8ddd\u79bb\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">ReadyStill<\/span>\n                <\/div>\n<div class=\"comment-content\">Turn any webpage into polished, launch-ready visuals. Capture an element, region, visible page, or full page (Beta), then apply curated styles, backgrounds, spacing, borders, shadows, and browser chrome. Review suggested sensitive areas, redact manually, copy one PNG, or export six social, Open Graph, Web Store, and blog sizes. Processing runs locally. Try 10 free exports, then unlock for \u20b91,899 once. Free email account required.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I built ReadyStill because turning a simple product screenshot into something launch-ready was taking way too much effort. I wanted a faster way to capture, polish, resize, and review screenshots without opening a full design tool every time. It\u2019s still early, so I\u2019d genuinely love your feedback.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the suggested sensitive area detection is the part I&#8217;m most curious about. how good is it at catching things like emails or api keys sitting in a screenshot, or is it mostly flagging obvious stuff like faces and the text-based secrets are still on the user to catch manually<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cleaned up a product landing page in under a minute and the auto-redact suggestion caught an email i hadnt even noticed. Nice that everything stays local.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Snapped a screenshot of my portfolio and the curated backgrounds actually made it look launch-ready in seconds. Local processing is a nice touch for sensitive client work, though the \u20b91,899 unlock feels a bit steep after just 10 exports.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Captured a pricing table from a client&#8217;s site and the drop shadow plus subtle border made it look like a proper launch asset in seconds. Local processing is a nice touch for anyone worried about pasting sensitive dashboards into yet another cloud tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Captured a pricing page in one click and the shadow and browser frame options made it look honestly ready to post, no Photoshop needed. The local processing is a nice touch too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The local processing is a big plus. One thing that would make it way more useful for me is keyboard shortcuts for the capture modes and style presets, so I can flip through backgrounds and shadows without breaking flow. Right now I&#8217;m mouse-hopping a lot between the dropdowns.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A nice twist would be letting users save their own style presets alongside the curated ones, so a brand color combo or shadow setup doesn&#8217;t have to be redone every capture. That plus a simple way to reuse the same redactions across exports would save a lot of clicks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@serdar962425\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serdar962425<\/a>&nbsp;Great feedback! <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Being able to save my own preset combinations of styles and backgrounds would save a ton of time when capturing similar elements across pages.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bulembackdnup\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bulembackdnup<\/a>&nbsp;great feedback, I will include this in the next update. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that the redaction step makes you confirm sensitive areas before exporting. The curated style presets feel considered too, not just generic filters slapped on a screenshot tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ayhanhnkwbf7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ayhanhnkwbf7<\/a>&nbsp;thank you so much!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the local processing angle is a really thoughtful call here, love that nothing leaves your machine. and the curated styles plus those ready-made export sizes basically skip the whole back-and-forth of resizing for different platforms.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eminetacmwrhb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eminetacmwrhb<\/a>&nbsp;thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Captured a section of my product page and the preset styles looked way more polished than my usual screenshots, the local processing was a nice surprise too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@keleksenol43779\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@keleksenol43779<\/a>&nbsp;thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Captured a pricing section from a client site and the drop shadow plus rounded corners made it look like a proper mockup in seconds. The local processing is a nice touch for anyone nervous about pasting URLs into random tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/TGWGCILIWNKMEV\" class=\"app-title\">ArchiMind<\/a><\/p>\n<div class=\"one-liner\">ArchiMind analyzes a GitHub repository and produces<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">23<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ArchiMind\u901a\u8fc7\u81ea\u52a8\u89e3\u6790GitHub\u4ed3\u5e93\uff0c\u751f\u6210\u7ae0\u8282\u5f0f\u67b6\u6784\u6587\u6863\u3001\u9ad8\/\u4f4e\u5c42Mermaid\u56fe\u8868\u548c\u4ea4\u4e92\u5f0f\u9879\u76ee\u6458\u8981\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u514d\u53bb\u624b\u52a8\u68b3\u7406\u6df7\u4e71\u4ee3\u7801\u7ed3\u6784\u7684\u6570\u5c0f\u65f6\u8017\u65f6\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/496a35c8-5b6b-4f73-8a6f-c5e13328acb3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ee3\u7801\u6587\u6863\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u67b6\u6784\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">Mermaid\u56fe\u8868<\/span><br \/>\n            <span class=\"tag\">\u4ed3\u5e93\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">AI\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">LangGraph<\/span><br \/>\n            <span class=\"tag\">ChromaDB<\/span><br \/>\n            <span class=\"tag\">\u9879\u76ee\u6458\u8981<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u89e3\u6790<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u5efa\u8bae\uff1a\u652f\u6301\u79c1\u6709\u4ed3\u5e93\u5b50\u76ee\u5f55\u8303\u56f4\u9650\u5236\uff1b\u5141\u8bb8\u5bfc\u51fa\u6587\u6863\u548c\u56fe\u8868\u4e3a.md\/.mmd\u6587\u4ef6\uff1b\u5e0c\u671b\u589e\u52a0\u5185\u7f6e\u4ee3\u7801\u7ed3\u6784\u89e3\u6790\u7684\u8ba8\u8bba\uff0c\u800c\u975e\u4ec5\u666e\u901a\u6458\u8981\u3002\u90e8\u5206\u8bc4\u8bba\u5185\u5bb9\u660e\u663e\u504f\u79bb\u4ea7\u54c1\uff08\u5982\u8ba8\u8bbatokenized equity\uff09\uff0c\u4e3a\u65e0\u6548\u53cd\u9988\u6216\u6a21\u677f\u5316\u704c\u6c34\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ArchiMind\u5207\u4e2d\u4e86\u5f00\u53d1\u8005\u7684\u771f\u5b9e\u75db\u70b9\u2014\u2014\u63a5\u624b\u964c\u751f\u4ed3\u5e93\u65f6\uff0c\u6587\u6863\u7f3a\u5931\u3001\u67b6\u6784\u8ff7\u96fe\u662f\u5e38\u6001\u3002\u5b83\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u5728\u4e8e\u6280\u672f\u8def\u7ebf\u7684\u52a1\u5b9e\u9009\u62e9\uff1a\u7528AST CodeSplitter\u4fdd\u7559\u4ee3\u7801\u7ed3\u6784\uff0c\u800c\u975e\u7b80\u5355\u5411\u91cf\u5316\u6458\u8981\uff0c\u518d\u53e0\u52a0LangGraph\u7684\u591a\u5c42\u68c0\u7d22\uff0c\u5bf9\u5927\u578b\u5355\u4f53\u4ed3\u5e93\u7684\u89e3\u6790\u51c6\u786e\u6027\u7406\u8bba\u4e0a\u4f18\u4e8e\u5e02\u9762\u4e0a\u591a\u6570\u201c\u4e00\u952e\u603b\u7ed3\u201d\u5f0f\u5de5\u5177\u3002\u8fd9\u79cd\u201c\u7ed3\u6784\u4f18\u5148\u201d\u7684\u601d\u8def\uff0c\u4f7f\u5f97\u751f\u6210\u7684Mermaid\u56fe\u8868\u548c\u7ae0\u8282\u5f0f\u6587\u6863\u5177\u6709\u5de5\u7a0b\u53ef\u8bfb\u6027\uff0c\u800c\u4e0d\u53ea\u662fAI\u7684\u5e7b\u89c9\u62fc\u51d1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u6709\u4e09\u5927\u77ed\u677f\u3002\u7b2c\u4e00\uff0c\u7528\u6237\u8bc4\u8bba\u4e2d\u5b58\u5728\u5927\u91cf\u4e0e\u4ea7\u54c1\u65e0\u5173\u7684\u201c\u6a21\u677f\u5316\u704c\u6c34\u201d\uff08\u5982\u53cd\u590d\u63d0\u53catokenized equity\/secondary market\uff09\uff0c\u8bf4\u660e\u521d\u671f\u597d\u8bc4\u63ba\u6742\u4e86\u6c34\u5206\uff0c\u771f\u5b9e\u7528\u6237\u4e92\u52a8\u8d28\u91cf\u5b58\u7591\u3002\u7b2c\u4e8c\uff0c\u7f3a\u5c11\u5bf9\u79c1\u6709\u4ed3\u5e93\u7684\u7ec6\u7c92\u5ea6\u63a7\u5236\u2014\u2014\u5f00\u53d1\u8005\u6700\u5173\u5fc3\u7684\u5f80\u5f80\u662f\u516c\u53f8\u5185\u90e8\u4ed3\u5e93\uff0c\u800c\u5982\u679c\u5fc5\u987b\u5168\u91cf\u514b\u9686\u5230\u540e\u7aef\uff0c\u5b89\u5168\u6027\u548c\u5408\u89c4\u6027\u4f1a\u76f4\u63a5\u529d\u9000\u4f01\u4e1a\u7528\u6237\u3002\u7b2c\u4e09\uff0c\u7f3a\u5c11\u5bfc\u51fa\u529f\u80fd\uff1a\u751f\u6210\u7684\u6587\u6863\u548c\u56fe\u8868\u5982\u679c\u65e0\u6cd5\u76f4\u63a5\u5d4c\u5165\u9879\u76eerepo\uff0c\u53ea\u80fd\u7559\u5728\u4ea7\u54c1\u5386\u53f2\u91cc\uff0c\u90a3\u5c31\u6ca6\u4e3a\u4e00\u6b21\u6027\u7684\u201c\u770b\u5b8c\u5373\u711a\u201d\uff0c\u800c\u975e\u53ef\u6c89\u6dc0\u7684\u5de5\u7a0b\u8d44\u4ea7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ef7\u503c\u770b\uff0cArchiMind\u771f\u6b63\u6709\u58c1\u5792\u7684\u662f\u5b83\u5bf9\u4ee3\u7801\u7ed3\u6784\u7684\u6df1\u5c42\u89e3\u6790\u80fd\u529b\uff0c\u800c\u975eUI\u6216\u804a\u5929\u5f0f\u95ee\u7b54\u3002\u82e5\u60f3\u4ece\u201c\u6709\u8da3\u7684\u5c0f\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u5f00\u53d1\u8005\u5fc5\u5907\u201d\uff0c\u5b83\u5fc5\u987b\u5c3d\u5feb\u8865\u9f50\u79c1\u6709\u4ed3\u5e93\u6743\u9650\u7ba1\u7406\u3001\u5bfc\u51fa\u96c6\u6210\uff08\u5982\u81ea\u52a8\u751f\u6210PR\u63d2\u5165\u6587\u6863\uff09\u3001\u4ee5\u53ca\u652f\u6301\u5bf9\u7279\u5b9a\u5b50\u76ee\u5f55\/\u6587\u4ef6\u5939\u7684\u805a\u7126\u5206\u6790\u3002\u5426\u5219\uff0c\u4e00\u65e6GitHub Copilot\u6216JetBrains\u7b49\u96c6\u6210\u66f4\u591a\u4ee3\u7801\u5730\u56fe\u529f\u80fd\uff0c\u8fd9\u7c7b\u72ec\u7acb\u5de5\u5177\u5c06\u8fc5\u901f\u88ab\u8fb9\u7f18\u5316\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">ArchiMind<\/span>\n                <\/div>\n<div class=\"comment-content\">ArchiMind analyzes a GitHub repository and produces: chapter-wise architecture documentation, high-level and low-level Mermaid diagrams, conversational project summary, persistent history for authenticated users.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt community! \ud83d\udc4b<\/p>\n<p>We\u2019ve all been there: you open a new GitHub repository, and you\u2019re met with a massive wall of undocumented code. Trying to map out how everything connects, or manually building high-level and low-level architecture diagrams, can take hours\u2014if not days.<\/p>\n<p>I built ArchiMind to completely automate this headache. \ud83e\udde0\u2728<\/p>\n<p>ArchiMind analyzes any GitHub repository and instantly transforms it into comprehensive, structured system architecture documentation.<\/p>\n<p>Here is what you can do with it:<\/p>\n<p>Instant Chapter-Wise Docs: Generates clean, deeply structured breakdowns of your code layout.<\/p>\n<p>Interactive HLD\/LLD Diagrams: Automatically builds visual Mermaid.js flowcharts so you can visualize your entire system architecture at a glance.<\/p>\n<p>Smart 2-Tier Retrieval: Powered by LangGraph and LlamaIndex AST CodeSplitter to ensure highly precise code parsing rather than just generic AI summaries.<\/p>\n<p>Persistent History: Save your analyzed repositories so you can jump back into your codebase summaries whenever you need them.<\/p>\n<p>ArchiMind is live and free to try right now! I would absolutely love to get your feedback, answer any technical questions about the stack (built with Flask, LangGraph, and ChromaDB!), and hear what features you want to see next.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a built-in secondary marketplace view that shows live bid\/ask spreads for each tokenized round, would make liquidity much more tangible for newcomers comparing opportunities at a glance.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing that would honestly help is showing a fee breakdown right on the investment screen, like gas costs, platform fees, and any spread on tokenized equity. Right now it&#8217;s kind of unclear what you&#8217;re actually paying for a trade, and that transparency would probably build a lot more trust with folks new to this kind of investing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. One feature I&#8217;d love to see is a built-in secondary marketplace filter so I can sort tokenized startups by sector, stage, or minimum check size. Right now browsing raw offerings feels like a lot of digging, and that would make comparing opportunities way easier.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The AST-CodeSplitter plus LangGraph retrieval is what makes this more interesting than a generic summarize-my-repo wrapper \u2014 parsing real structure instead of flattening everything into embeddings should hold up better on an actual monorepo. When I point it at a private repo, does it clone the whole thing to your backend to run the split, or can I scope it to a subtree? And can I export the generated docs and Mermaid diagrams as markdown\/.mmd to commit back into the repo, or do they only live in the persistent history inside your app?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see some kind of secondary market price history chart for each tokenized startup so we can track how valuations move over time. Right now it&#8217;s a bit hard to gauge momentum or spot trends before buying in, basically just guessing. A simple sparkline or longer term chart on each listing would make the whole experience feel way more transparent and help folks make more informed decisions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Investing in startups feels way less intimidating when there&#8217;s actual liquidity built in. Curious to see how the tokenized equity trading works in practice once a few real deals go live.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the tokenized equity concept is pretty cool, especially the 24\/7 liquidity angle for VCs. landing page loaded fine but honestly wished there was more detail on the actual trading flow before signing up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The tokenized equity angle is genuinely interesting, especially the 24\/7 liquidity part since traditional VC has such long lockups. Wish the site had more detail on how secondary market trading actually works in practice.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It would be great if you added a simulated portfolio feature where users can test tokenized equity trades with fake money before committing real funds, especially helpful for newcomers trying to understand how startup valuations fluctuate over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a secondary market order book view with depth charts directly in the dashboard. Right now it&#8217;s hard to gauge real liquidity beyond the 24\/7 claim, and visualizing bid\/ask spreads would make the tokenized equity trading feel a lot more transparent before committing capital.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the tokenized equity angle on Polymesh is honestly a smart call, feels like they actually thought through the compliance side instead of just slapping &#8220;decentralized&#8221; on everything<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love the idea of letting VCs actually exit without waiting for an acquisition, the polymesh backing adds real credibility. curious how the secondary market for these tokens actually holds up when a startup is still private.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/J3EPGTGVJA2HPL\" class=\"app-title\">Monthly Budget Planner<\/a><\/p>\n<div class=\"one-liner\">Track income, expenses, and savings every month.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">23<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Monthly Budget Planner \u662f\u4e00\u6b3e\u4ee5\u6781\u7b80\u5355\u9875\u5e03\u5c40\u4e3a\u6838\u5fc3\u7684\u4e2a\u4eba\u8d22\u52a1\u7ba1\u7406\u5de5\u5177\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u4e00\u5c4f\u5185\u76f4\u89c2\u8ffd\u8e2a\u6536\u5165\u3001\u652f\u51fa\u4e0e\u50a8\u84c4\u76ee\u6807\uff0c\u89e3\u51b3\u4f20\u7edf\u8bb0\u8d26\u8f6f\u4ef6\u56e0\u5206\u7c7b\u590d\u6742\u3001\u5c42\u7ea7\u8fc7\u6df1\u800c\u96be\u4ee5\u575a\u6301\u4f7f\u7528\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ab3f461c-5d4e-41ca-9ef7-5175422d3d13.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Money<\/span><br \/>\n            <span class=\"tag\">Finance<\/span><br \/>\n            <span class=\"tag\">Personal Finance<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4e2a\u4eba\u7406\u8d22<\/span><br \/>\n            <span class=\"tag\">\u6708\u5ea6\u9884\u7b97<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u8d26\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u652f\u51fa\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u50a8\u84c4\u76ee\u6807<\/span><br \/>\n            <span class=\"tag\">\u7b80\u7ea6\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5355\u9875\u89c6\u56fe<\/span><br \/>\n            <span class=\"tag\">\u8d22\u52a1\u89c4\u5212<\/span><br \/>\n            <span class=\"tag\">\u6536\u652f\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4e60\u60ef\u517b\u6210<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u79f0\u8d5e\u5176\u5e03\u5c40\u6e05\u723d\u3001\u5355\u9875\u89c6\u56fe\u4fbf\u4e8e\u76f4\u89c2\u5bf9\u6bd4\u6536\u652f\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u589e\u52a0\u8d26\u5355\u63d0\u9192\u4e0e\u901a\u77e5\u3001\u4e3a\u4e0d\u89c4\u5219\u652f\u51fa\uff08\u5982\u4fee\u8f66\uff09\u8bbe\u72ec\u7acb\u7c7b\u522b\u3001\u6dfb\u52a0\u50a8\u84c4\u8fdb\u5ea6\u6761\u3001\u4ee5\u53ca\u8bbe\u7f6e\u900f\u652f\u6216\u4f4e\u4f59\u989d\u9884\u8b66\uff0c\u4ee5\u63d0\u5347\u4e3b\u52a8\u89c4\u5212\u80fd\u529b\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                23\u7968\u3001\u4f46\u8bc4\u8bba\u70ed\u5ea6\u4e0d\u4f4e\u7684Monthly Budget Planner\uff0c\u4ee3\u8868\u4e86\u4e00\u7c7b\u6b63\u5728\u5d1b\u8d77\u7684\u201c\u53cd\u590d\u6742\u201d\u7406\u8d22\u5de5\u5177\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u6570\u636e\u5206\u6790\u6df1\u5ea6\uff0c\u800c\u5728\u4e8e\u6781\u4f4e\u7684\u7528\u6237\u8ba4\u77e5\u8d1f\u8377\uff1a\u5c06\u6536\u5165\u3001\u652f\u51fa\u3001\u50a8\u84c4\u4e09\u4e2a\u5173\u952e\u6a21\u5757\u5e76\u7f6e\u4e8e\u4e00\u5c4f\uff0c\u76f4\u63a5\u6d88\u9664\u4e86\u7528\u6237\u5728\u591a\u6807\u7b7e\u9875\u95f4\u53cd\u590d\u5207\u6362\u7684\u6469\u64e6\u3002\u8bc4\u8bba\u4e2d\u9ad8\u5ea6\u4e00\u81f4\u7684\u201cclean\u201d\u8bc4\u4ef7\uff0c\u6070\u6070\u5370\u8bc1\u4e86\u7528\u6237\u4f53\u9a8c\u7684\u6838\u5fc3\u5207\u4e2d\u8981\u5bb3\u2014\u2014\u5bf9\u4e8e\u975e\u786c\u6838\u7406\u8d22\u7528\u6237\uff0c\u6700\u91cd\u8981\u7684\u4e0d\u662f\u529f\u80fd\u591a\uff0c\u800c\u662f\u80fd\u575a\u6301\u7528\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u79cd\u6781\u7b80\u601d\u8def\u4e5f\u5207\u4e2d\u4e86\u81ea\u8eab\u7684\u77ed\u677f\u3002\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u201c\u63d0\u9192\u201d\u201c\u9884\u8b66\u201d\u201c\u4e0d\u89c4\u5219\u652f\u51fa\u201d\u9700\u6c42\uff0c\u66b4\u9732\u51fa\u4ea7\u54c1\u5728\u540e\u7aef\u89c4\u5219\u5f15\u64ce\u4e0e\u4e3b\u52a8\u670d\u52a1\u80fd\u529b\u4e0a\u7684\u7f3a\u5931\u3002\u4e00\u4e2a\u4f18\u79c0\u7684\u9884\u7b97\u5de5\u5177\u4e0d\u5e94\u4ec5\u662f\u8bb0\u8d26\u672c\uff0c\u66f4\u5e94\u6210\u4e3a\u7528\u6237\u8d22\u52a1\u884c\u4e3a\u7684\u201c\u7ea2\u7eff\u706f\u201d\u3002\u5f53\u524d\u7684\u4ea7\u54c1\u5f62\u6001\u66f4\u50cf\u4e00\u5757\u5e72\u51c0\u7684\u767d\u677f\uff0c\u8bb0\u5f55\u73b0\u72b6\u6709\u4f59\uff0c\u4f46\u5f15\u5bfc\u7528\u6237\u4f18\u5316\u51b3\u7b56\u4e0d\u8db3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u7ade\u4e89\u683c\u5c40\u770b\uff0c\u8be5\u4ea7\u54c1\u9700\u8b66\u60d5\u88ab\u5927\u5e73\u53f0\uff08\u5982YNAB\u3001Mint\uff09\u7684\u201c\u8f7b\u91cf\u7248\u201d\u6216\u7cfb\u7edf\u539f\u751f\u529f\u80fd\u6240\u66ff\u4ee3\u3002\u5efa\u8bae\u56e2\u961f\u5728\u4fdd\u6301\u5355\u9875\u7ed3\u6784\u4e0d\u53d8\u7684\u524d\u63d0\u4e0b\uff0c\u4f18\u5148\u5f00\u53d1\u4e24\u4e2a\u4f4e\u4fb5\u5165\u6027\u529f\u80fd\uff1a\u4e00\u662f\u57fa\u4e8e\u5386\u53f2\u6570\u636e\u7684\u6708\u5ea6\u652f\u51fa\u6ce2\u52a8\u9884\u8b66\uff0c\u4e8c\u662f\u9488\u5bf9\u50a8\u84c4\u76ee\u6807\u7684\u7b80\u6613\u8fdb\u5ea6\u53ef\u89c6\u5316\u3002\u8fd9\u80fd\u5728\u4e0d\u7834\u574f\u201c\u5e72\u51c0\u201d\u4f53\u9a8c\u7684\u540c\u65f6\uff0c\u5c06\u5de5\u5177\u4ece\u88ab\u52a8\u8bb0\u5f55\u5347\u7ea7\u4e3a\u4e3b\u52a8\u966a\u4f34\u3002\u5148\u8ba9\u7528\u6237\u5c11\u8bb0\uff0c\u518d\u8ba9\u7528\u6237\u5c11\u64cd\u5fc3\uff0c\u8fd9\u624d\u662f\u201c\u7b80\u7ea6\u4e0d\u7b80\u5355\u201d\u7684\u80dc\u8d1f\u624b\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Monthly Budget Planner<\/span>\n                <\/div>\n<div class=\"comment-content\">Take control of your finances with a simple monthly budget planner. Track your income, expenses, savings, and financial goals to build better money habits and stay organized throughout the year.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Honestly love how clean the layout is here, no clutter just the essentials staring back at you. The fact that it tracks goals alongside income and expenses in one place is a really thoughtful touch, you know, feels like the team actually thought about how people budget day to day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean and uncluttered the layout is. The single-page view for income, expenses, and goals feels like it actually respects how people think about their money.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the layout is, especially the way income and expenses sit side by side without feeling cluttered. The goal tracking section is a smart touch for keeping motivation visible.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the layout is here, no clutter getting in the way of actually seeing where your money goes each month. The simple category breakdown makes it feel approachable even if budgeting feels intimidating at first.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly love how clean the layout is, every section is right where you&#8217;d expect it without any clutter. the way the categories are organized makes it feel actually usable instead of overwhelming, which is kind of rare for budget tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried it for a week and the income vs expense view actually made me notice where my money was leaking. Simple enough that I stuck with it past day one, which says something.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love to see a built-in bill reminder or notification system so I get a heads up before due dates hit. Right now I have to cross-check my budget against my calendar, which kind of defeats the purpose of having everything in one place.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The single page layout is genuinely smart, keeps everything in view without making you dig through tabs. Nice that savings and goals sit right next to expenses instead of buried in some submenu.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really liked how clean the income vs expenses view is, made it easy to spot where my money was actually going each week.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been using something similar and what really helped me was a visual progress bar for each savings goal, so I can see at a glance how close I am without doing the math myself. Could you add that to show goal percentage completion right next to the target amounts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The clean layout makes it easy to plug in expenses without feeling overwhelmed, and I like how the savings goal sits right next to the spending breakdown so I can see the tradeoffs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that doesn&#8217;t overwhelm me with categories. The monthly view is clean and adding expenses takes seconds, which means i&#8217;ll actually keep using it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A simple budget planner like this is genuinely useful, but I&#8217;d love to see a category for irregular or one-off expenses so I can plan ahead for things like car repairs or yearly subscriptions without throwing off the monthly totals.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly looks solid for keeping tabs on monthly stuff, but one thing that would be super useful is an overdraft or low-balance warning when you get close to your spending limit before the month ends. helps you course correct instead of finding out after the damage is done.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the layout is, separating income, expenses, and savings into their own clear sections makes it feel way less overwhelming than other planners I&#8217;ve tried. The monthly focus is a smart call too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally tried this after ignoring my finances for way too long, super clean layout and actually makes inputting expenses painless. wish i had something like this months ago<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally found something that does not overwhelm me with charts i do not need, just a clean grid for income and expenses that i can fill in each month.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/JIVSEEWIGFJLOJ\" class=\"app-title\">Labeliladi<\/a><\/p>\n<div class=\"one-liner\">Free label design and printing<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">23<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Labeliladi\u662f\u4e00\u6b3e\u514d\u8d39\u6807\u7b7e\u8bbe\u8ba1\u4e0e\u6253\u5370\u5de5\u5177\uff0c\u8ba9\u5c0f\u578b\u624b\u5de5\u827a\u8005\u65e0\u9700\u4e13\u7528\u6807\u7b7e\u6253\u5370\u673a\uff0c\u4ec5\u7528\u666e\u901a\u6253\u5370\u673a\u548c\u4efb\u610f\u8d34\u7eb8\u7eb8\u5373\u53ef\u5feb\u901f\u5236\u4f5c\u5e76\u81ea\u52a8\u6392\u5217A4\u7248\u9762\u7684\u4ea7\u54c1\u6807\u7b7e\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/057e80f7-bbdc-43e5-bf0c-c090b4343a9f.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/04af4642-bbaf-46ac-9340-c439aa29f3e6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a0333ae0-8db9-490a-abf4-4f39729ceb4a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Charity &#038; Giving<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Crafting<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u514d\u8d39\u6807\u7b7e\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u6807\u7b7e\u6253\u5370<\/span><br \/>\n            <span class=\"tag\">\u666e\u901a\u6253\u5370\u673a<\/span><br \/>\n            <span class=\"tag\">\u8d34\u7eb8\u6392\u7248<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u578b\u624b\u5de5\u827a\u8005<\/span><br \/>\n            <span class=\"tag\">A4\u5e45\u9762<\/span><br \/>\n            <span class=\"tag\">\u5706\u89d2\u6807\u7b7e<\/span><br \/>\n            <span class=\"tag\">\u8721\u70db\u6807\u7b7e<\/span><br \/>\n            <span class=\"tag\">\u80a5\u7682\u6807\u7b7e<\/span><br \/>\n            <span class=\"tag\">\u65e0\u9700\u8bbe\u5907<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u79f0\u8d5e\u5176\u514d\u53bb\u4e13\u7528\u6253\u5370\u673a\u548c\u8ba2\u9605\u8d39\u7528\u7684\u4fbf\u5229\u3002\u4e3b\u8981\u9700\u6c42\uff1a\u4fdd\u5b58\u81ea\u5b9a\u4e49\u5c3a\u5bf8\u6a21\u677f\u3001\u8bbe\u8ba1\u8d26\u6237\u5b58\u50a8\u3001\u5185\u7f6e\u5e93\u5b58\u8ffd\u8e2a\u5668\u548cQR\u7801\u751f\u6210\u5668\u3002\u5f00\u53d1\u8005\u5df2\u56de\u5e94\u652f\u6301\u4fdd\u5b58\u6a21\u677f\uff0c\u5e76\u8ba1\u5212\u52a0\u5165QR\u7801\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Labeliladi\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u4e2a\u52a1\u5b9e\u4f46\u5e38\u88ab\u5ffd\u89c6\u7684\u7ec6\u5206\u5e02\u573a\u2014\u2014\u5c0f\u6279\u91cf\u624b\u5de5\u5236\u4f5c\u8005\u3002\u8fd9\u7c7b\u7528\u6237\u5f80\u5f80\u65e2\u65e0\u9884\u7b97\u8d2d\u4e70\u70ed\u654f\u6807\u7b7e\u6253\u5370\u673a\uff0c\u4e5f\u7f3a\u4e4f\u8010\u5fc3\u5728Word\u6216Canva\u4e2d\u6b7b\u78d5\u6a21\u677f\u5bf9\u9f50\u3002\u4ea7\u54c1\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u667a\u80fdAI\u201d\u6216\u201c\u4e91\u7aef\u534f\u4f5c\u201d\uff0c\u800c\u5728\u4e8e\u6781\u81f4\u7684\u51cf\u6cd5\uff1a\u53bb\u9664\u6253\u5370\u673a\u786c\u4ef6\u95e8\u69db\u3001\u53bb\u9664\u8ba2\u9605\u3001\u53bb\u9664\u6ce8\u518c\u6d41\u7a0b\uff0c\u8ba9\u7528\u623710\u5206\u949f\u5185\u5b8c\u6210\u4ece\u8bbe\u8ba1\u5230\u6253\u5370\u7684\u5168\u90e8\u52a8\u4f5c\u3002\u8fd9\u79cd\u201c\u5373\u7528\u5373\u8d70\u201d\u7684\u5de5\u5177\u601d\u7ef4\uff0c\u53cd\u800c\u6bd4\u529f\u80fd\u5806\u53e0\u7684\u4ea7\u54c1\u66f4\u5177\u5546\u4e1a\u7a7f\u900f\u529b\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u75db\u70b9\u5df2\u7ecf\u7ec6\u5316\u5230\u201c\u6a21\u677f\u5c3a\u5bf8\u8bb0\u5fc6\u201d\u201c\u5e93\u5b58\u8ffd\u8e2a\u201d\u7b49\u573a\u666f\uff0c\u8bf4\u660e\u4ea7\u54c1\u89e3\u51b3\u4e86\u57fa\u7840\u9700\u6c42\u540e\u53c8\u5feb\u901f\u6d6e\u73b0\u51fa\u6df1\u5ea6\u9700\u6c42\u3002\u5f00\u53d1\u8005\u82e5\u80fd\u5feb\u901f\u8865\u4e0a\u6a21\u677f\u6301\u4e45\u5316\u3001QR\u7801\u751f\u6210\u3001\u751a\u81f3\u7b80\u6613\u76d8\u70b9\u529f\u80fd\uff0c\u5c31\u80fd\u5c06\u5355\u7eaf\u7684\u201c\u6392\u7248\u5de5\u5177\u201d\u8fdb\u5316\u6210\u201c\u5c0f\u6279\u91cf\u751f\u4ea7\u5de5\u4f5c\u53f0\u201d\u3002\u4f46\u8981\u6ce8\u610f\u7684\u662f\uff0c23\u4e2a\u6295\u7968\u5728Product Hunt\u5c5e\u4e8e\u4f4e\u70ed\u5ea6\uff0c\u8bf4\u660e\u5176\u4f20\u64ad\u5c5e\u6027\u6709\u9650\u2014\u2014\u5b83\u592a\u201c\u5de5\u5177\u201d\u4e86\uff0c\u7f3a\u5c11\u75c5\u6bd2\u5f0f\u5206\u4eab\u7684\u94a9\u5b50\u3002\u672a\u6765\u6216\u8bb8\u53ef\u52a0\u5165\u201c\u4e00\u952e\u5206\u4eab\u914d\u65b9\/\u6210\u5206\u6807\u7b7e\u201d\u6216\u201c\u4e3b\u9898\u6a21\u677f\u5e02\u573a\u201d\u8fd9\u7c7b\u793e\u4ea4\u88c2\u53d8\u673a\u5236\uff0c\u5426\u5219\u5bb9\u6613\u56f0\u5728SEO\u957f\u5c3e\u91cc\u7f13\u6162\u589e\u957f\u3002\u603b\u4f53\u800c\u8a00\uff0c\u5b83\u662f\u4e00\u4e2a\u65b9\u5411\u6b63\u786e\u3001\u6267\u884c\u5e72\u8106\u7684MVP\uff0c\u503c\u5f97\u6301\u7eed\u8fed\u4ee3\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Labeliladi<\/span>\n                <\/div>\n<div class=\"comment-content\">Design and print product labels for free. Works with any sticker sheets and any regular printer. No label printer needed. Perfect for candle makers, bakers, and small batch makers.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunter! \ud83d\udc4b<\/p>\n<p>I built Labeliladi because I kept seeing small makers, candle sellers, jam producers, bakers, wrestling with Word templates and Canva subscriptions just to print a batch of labels before a market.<\/p>\n<p>The core idea is simple: you design one label, and it tiles automatically across a full A4 sheet. Load your Avery sticker sheets into a regular printer and you&#8217;re done. No label printer, no monthly fee, no account required to start.<\/p>\n<p>It handles rectangular labels in common sizes and round labels too, which was a big gap I noticed, most free tools don&#8217;t do round.<\/p>\n<p>Would love to hear from anyone doing small batch production. What&#8217;s your current label workflow, and what would make it easier?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Made a few candle labels in about ten minutes with just my home printer, and the designs actually looked clean on the sticker sheets. Wish I had found this sooner instead of wrestling with Word templates.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a label maker that doesn&#8217;t need special equipment, just used it for my soap jars and the templates were actually easy to tweak. Might stick with this one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly this is kind of a game changer for my candle side hustle, finally I can print decent labels on my regular printer without dealing with that expensive thermal printer nonsense<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that saves me from buying yet another gadget. Dragged in my candle logo and it just printed clean on regular sticker paper, no fiddling with margins.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that this avoids the cost of a label printer &#8211; super useful for small batches. One thing that would make it way better for me: a way to save label templates with my own dimensions so I don&#8217;t have to re-enter the same measurements every time. Would save a lot of clicking across batches.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The fact that it works with any sticker sheet you already have is such a smart move, honestly most small makers have half a pack lying around already. Really nice that you don&#8217;t need to drop cash on a fancy label printer just to get started.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly the no-special-printer thing is kind of a game changer for my candle side hustle, used it on regular sticker sheets and it looked pretty legit right out of my home printer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been wanting something like this for my soap business. One idea would be to let users save their label designs to an account so they can come back later and tweak them, instead of redoing everything from scratch each time. Would save a ton of hassle for folks doing repeat batches.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kocanaoglu80506\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kocanaoglu80506<\/a>&nbsp;Thanks for your feedback. What you&#8217;re requesting is already build in. Top right, choose save sheet. Your saved sheets show up all the way at the bottom of the settings (this might need improvement)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love a simple inventory tracker built in so I can see how many of each labeled batch I have left. Right now I design the labels here but have to bounce to a spreadsheet to keep stock straight.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Honestly this is kind of a game changer for my candle side hustle, no more begging my sister to use her label printer. The templates are simple and it just works with my regular inkjet, took me maybe ten minutes to design a full sheet.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is super useful for my little soap side hustle, no more buying expensive label paper. One thing that would help a ton is a built in QR code generator right inside the editor so I can link to ingredient lists or my shop without opening another tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kuzeyozbas33462\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kuzeyozbas33462<\/a>&nbsp;Thanks for your feedback, that is indeed a great feature. I&#8217;ll put it on the list.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-07-19 PH\u70ed\u699c | 2026-07-19 #1 OpenS [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"template-clean-canvas.php","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-287","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/comments?post=287"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/287\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}