{"id":254,"date":"2026-06-17T13:19:53","date_gmt":"2026-06-17T05:19:53","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/06\/17\/2026-06-16\/"},"modified":"2026-06-17T13:19:53","modified_gmt":"2026-06-17T05:19:53","slug":"2026-06-16","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/06\/17\/2026-06-16\/","title":{"rendered":"PH\u70ed\u699c | 2026-06-16"},"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-06-16<\/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-06-16<\/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\/P4WFRWL26YL6CK\" class=\"app-title\">Goldfish<\/a><\/p>\n<div class=\"one-liner\">Press Option. It knows your work and replies like you<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">519<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Goldfish \u662f\u4e00\u6b3e\u4e3aMac\u6253\u9020\u7684\u79c1\u4ebaAI\u8bb0\u5fc6\u5c42\uff0c\u901a\u8fc7Option\u952e\u5feb\u6377\u952e\uff0c\u8ba9\u4f60\u5728\u4efb\u4f55\u5e94\u7528\u4e2d\u65e0\u9700\u91cd\u590d\u7c98\u8d34\u548c\u89e3\u91ca\u4e0a\u4e0b\u6587\uff0c\u5373\u53ef\u57fa\u4e8e\u672c\u5730\u5de5\u4f5c\u8bb0\u5fc6\u76f4\u63a5\u64b0\u5199\u56de\u590d\u3001\u603b\u7ed3\u4fe1\u606f\u6216\u56de\u5fc6\u7ec6\u8282\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\/e8daeeb6-2f20-4074-b8f5-aa1f3e42e321.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\/25119cf6-817c-4145-a831-3c43a6fc4b03.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\/851e9b33-e9f3-4bec-aee6-35e03c830b0b.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\/5a757823-e55c-4955-8014-2f304a1f0563.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\/d99c2193-4e20-4bc3-a3de-9530feb27bc2.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\/264829b4-9a63-40a5-8d02-707b8ccbd9d8.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\/1f06c367-3bc4-4bb1-a08f-29c5d5b66826.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/7fTJeqjQn88?si=G7Mz2XfKXxIr6J0s\"><source src=\"https:\/\/youtu.be\/7fTJeqjQn88?si=G7Mz2XfKXxIr6J0s\" 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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bb0\u5fc6\u5c42<\/span><br \/>\n            <span class=\"tag\">Mac\u672c\u5730\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u611f\u77e5<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u79c1\u4ebaAI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5199\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u4fe1\u606f\u68c0\u7d22<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762AI<\/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\u89e3\u51b3\u201c\u6bcf\u6b21\u4ece\u96f6\u5f00\u59cb\u201d\u7684\u75db\u70b9\uff0c\u5bf9\u9690\u79c1\u672c\u5730\u5b58\u50a8\u548cOption\u952e\u7684\u6d41\u7545\u4f53\u9a8c\u8d5e\u8a89\u6709\u52a0\u3002\u4e3b\u8981\u7591\u95ee\u5728\u4e8e\u8bb0\u5fc6\u7cbe\u5ea6\uff08\u5982\u4f55\u533a\u5206\u76f8\u4f3c\u9879\u76ee\uff09\u3001\u957f\u77ed\u671f\u8bb0\u5fc6\u5e73\u8861\u673a\u5236\u3001\u53ca\u5bf9Mac\u6027\u80fd\u7684\u5f71\u54cd\u3002\u4ea6\u6709\u7528\u6237\u6307\u51fa\u64a4\u9500\u64cd\u4f5c\u4e0d\u7edf\u4e00\u7b49\u4ea4\u4e92\u6469\u64e6\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                Goldfish\u7684\u91ce\u5fc3\u4e0d\u5728\u6253\u9020\u53c8\u4e00\u4e2aAI\u804a\u5929\u6846\uff0c\u800c\u662f\u8981\u6210\u4e3a\u201c\u5fae\u8f6fCopilot\u7684Mac\u672c\u5730\u5316\u5e73\u66ff\u201d\u6216\u201cAI\u65f6\u4ee3\u7684\u5168\u5c40\u641c\u7d22\u4e0e\u667a\u80fd\u8f93\u5165\u589e\u5f3a\u5668\u201d\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5c06AI\u4ecb\u5165\u70b9\u4ece\u201c\u4e3b\u52a8\u6253\u5f00\u5bf9\u8bdd\u6846\u201d\u524d\u79fb\u5230\u4e86\u201c\u4f60\u6b63\u5728\u6253\u5b57\u7684\u90a3\u4e00\u523b\u201d\uff0c\u7528Option\u952e\u7684\u65e0\u610f\u8bc6\u89e6\u53d1\uff0c\u771f\u6b63\u5c06AI\u5185\u5316\u4e3a\u64cd\u4f5c\u7cfb\u7edf\u7684\u5ef6\u5c55\u795e\u7ecf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u903b\u8f91\u6781\u5176\u6e05\u9192\uff1a\u4e0e\u5176\u8ba9AI\u53d8\u5f97\u66f4\u806a\u660e\uff0c\u4e0d\u5982\u8ba9AI\u66f4\u61c2\u4f60\u684c\u4e0a\u7684\u6587\u4ef6\u3002\u5b83\u7cbe\u51c6\u51fb\u4e2d\u4e86\u77e5\u8bc6\u5de5\u4f5c\u8005\u9ad8\u9891\u4f46\u7410\u788e\u7684\u201c\u91cd\u65b0\u89e3\u91ca\u4e0a\u4e0b\u6587\u201d\u4e4b\u75db\uff0c\u5c24\u5176\u662f\u591a\u4efb\u52a1\u5207\u6362\u9891\u7e41\u7684\u521b\u59cb\u4eba\u3001\u8fd0\u8425\u548c\u9500\u552e\u3002\u672c\u5730\u4f18\u5148\u7684\u9690\u79c1\u8bbe\u8ba1\u5219\u662f\u9762\u5bf9\u4f01\u4e1a\u7ea7\u7528\u6237\u7684\u660e\u667a\u4fdd\u547d\u724c\uff0c\u89c4\u907f\u4e86SaaS\u6a21\u5f0f\u7684\u4fe1\u4efb\u5371\u673a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u540c\u6837\u5c16\u9510\u3002\u9996\u5148\uff0c\u5176\u6210\u529f\u9ad8\u5ea6\u4f9d\u8d56\u201c\u53ec\u56de\u7cbe\u5ea6\u201d\u2014\u2014\u4efb\u4f55\u4e00\u6b21\u9519\u8bef\u7684\u4e0a\u4e0b\u6587\u5339\u914d\u90fd\u4f1a\u77ac\u95f4\u6467\u6bc1\u7528\u6237\u4fe1\u4efb\uff0c\u8fd9\u5728\u5904\u7406\u9ad8\u5ea6\u76f8\u4f3c\u7684\u9879\u76ee\u65f6\u5c24\u5176\u81f4\u547d\u3002\u5176\u6b21\uff0c\u5b83\u672c\u8d28\u4e0a\u662f\u5728\u201c\u76d1\u63a7\u201d\u4f60\u7684\u5de5\u4f5c\u6d41\uff0c\u5373\u4f7f\u7528\u6237\u53ef\u4ee5\u6392\u9664\u5e94\u7528\uff0c\u8fd9\u79cd\u5168\u5929\u5019\u6355\u83b7\u7684\u201c\u88ab\u7aa5\u89c6\u611f\u201d\u662f\u5426\u4f1a\u88ab\u5e38\u6001\u5316\u63a5\u53d7\uff0c\u4ecd\u9700\u5e02\u573a\u6559\u80b2\u3002\u6700\u540e\uff0c\u9762\u5bf9\u5373\u5c06\u5230\u6765\u7684Apple Intelligence\u548c\u66f4\u6210\u719f\u7684\u8de8\u5e94\u7528\u81ea\u52a8\u64cd\u4f5c\uff0cGoldfish\u5fc5\u987b\u5728\u5177\u4f53\u573a\u666f\uff08\u5982\u6781\u901f\u56de\u590d\u90ae\u4ef6\u3001\u603b\u7ed3Slack\u7ebf\u7a0b\uff09\u4e0a\u505a\u5230\u6781\u9ad8\u8fa8\u8bc6\u5ea6\uff0c\u5426\u5219\u6781\u6613\u88ab\u5e73\u53f0\u7ea7\u529f\u80fd\u78be\u8fc7\u3002\u76ee\u524d\u7684\u4ea7\u54c1\u5f62\u6001\u66f4\u50cf\u4e00\u4e2a\u7cbe\u81f4\u7684\u201c\u94a9\u5b50\u201d\uff0c\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u80fd\u5426\u901a\u8fc7\u7528\u6237\u6301\u7eed\u4f7f\u7528\uff0c\u6c89\u6dc0\u51fa\u4e0d\u53ef\u66ff\u4ee3\u7684\u3001\u9ad8\u7cbe\u5ea6\u7684\u4e2a\u4eba\u5de5\u4f5c\u4e0a\u4e0b\u6587\u6a21\u578b\u3002\u5982\u679c\u80fd\uff0c\u5b83\u5c31\u662fAI\u65f6\u4ee3\u7684Workflow\u6838\u5fc3\uff1b\u5982\u679c\u4e0d\u80fd\uff0c\u5b83\u5c31\u662f\u53c8\u4e00\u4e2a\u6f02\u4eae\u7684\u5de5\u5177\u58f3\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\">Goldfish<\/span>\n                <\/div>\n<div class=\"comment-content\">Most AI tools make you explain the context before they can help. Goldfish already has it. It privately remembers what you\u2019ve been working on across your Mac, then helps you write better from any app. Press Option in a text field to draft replies, summarize threads, rewrite sentences, or recall important details from your recent work without copying, pasting, or re-explaining the whole backstory.<\/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 Joel here, one of the two Swedish founders building Goldfish.<\/p>\n<p><strong>Why we built it:<\/strong><\/p>\n<\/p>\n<p>We started building Goldfish because AI still has one weird problem: it knows the internet, but not the work sitting right in front of you. AI has memory like a goldfish!<\/p>\n<\/p>\n<p>Your messages, docs, tabs, meetings, half-written drafts, people, decisions, and loose threads already live on your computer. But every time you open a chatbot, you start from zero again. You paste the thread, explain the project, describe the person, and try to make it sound like you.<\/p>\n<\/p>\n<p>That felt backwards to us.<\/p>\n<\/p>\n<p><strong>What Goldfish is:<\/strong><\/p>\n<\/p>\n<p>Goldfish is a private AI memory layer for your Mac. It understands what you\u2019re working on across apps, then lets you use that context anywhere you type.<\/p>\n<\/p>\n<p>Press \u2325 Option in any text field and Goldfish can help you:<\/p>\n<ul>\n<li>\n<p>write replies in your own tone, with the thread and relationship context already there<\/p>\n<\/li>\n<li>\n<p>summarize messy work from Slack, Gmail, docs, tabs, or meetings<\/p>\n<\/li>\n<li>\n<p>recall things you saw, wrote, read, or discussed<\/p>\n<\/li>\n<li>\n<p>rewrite highlighted text without touching the rest<\/p>\n<\/li>\n<li>\n<p>bring your full computer context into Claude Desktop through our local MCP server<\/p>\n<\/li>\n<\/ul>\n<p><strong>What we believe:<\/strong><\/p>\n<\/p>\n<p>The best AI product won\u2019t be another empty chat box.<\/p>\n<\/p>\n<p>It will be the memory layer underneath your work. Something that understands your context privately, shows up where you already are, and removes the need to re-explain yourself 50 times a day.<\/p>\n<\/p>\n<p><strong>Early traction:<\/strong><\/p>\n<\/p>\n<p>We\u2019ve worked closely with 1,000+ founding members to build a product people can\u2019t live without. GTM people at ElevenLabs, Deel, and Vercel are already using Goldfish to write faster replies in their own tone.<\/p>\n<\/p>\n<p>Our founding team comes from Strawberry Browser (General Catalyst) and Depict (YC20), and we\u2019re currently building from The Bridge by Entrepreneur First in San Francisco.<\/p>\n<\/p>\n<p><strong>Privacy:<\/strong><\/p>\n<\/p>\n<p>Privacy is core to the product. Your memory stays on your Mac in a local database. No cloud sync, no backend where we can browse your data, and you can stop capture of apps and domains any time. AI calls have zero data retention.<\/p>\n<\/p>\n<p><strong>Product Hunt offer:<\/strong><\/p>\n<\/p>\n<p>Goldfish is still in closed beta, but we\u2019re opening early access to the Product Hunt community first.<\/p>\n<p>As a thank you, everyone from Product Hunt gets&nbsp;<strong>3 months of free access!! <\/strong><\/p>\n<\/p>\n<p>Download now at <a href=\"https:\/\/goldfish.sh\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">goldfish.sh<\/a><\/p>\n<\/p>\n<p><strong>We\u2019d love feedback on:<\/strong><\/p>\n<ul>\n<li>\n<p>where it feels magical<\/p>\n<\/li>\n<li>\n<p>where it gets context wrong<\/p>\n<\/li>\n<li>\n<p>what more you\u2019d want goldfish to do in the future<\/p>\n<\/li>\n<\/ul>\n<p>Thanks for checking us out \ud83d\udc20<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>61<\/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\/@joel_edholm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joel_edholm<\/a>&nbsp;Good Idea Joel!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@joel_edholm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joel_edholm<\/a>&nbsp;hi Joel, congratulations on the launch. I am trying to and it looks very smooth. First, one of the best on-boarding I have seen. Very very cool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>7<\/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\/@joel_edholm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joel_edholm<\/a>&nbsp;Hey Joel \ud83d\udc4b<\/p>\n<\/p>\n<p>&#8220;AI has memory like a goldfish&#8221; is such a simple way to describe a problem almost everyone using AI runs into daily.<\/p>\n<\/p>\n<p>What resonates most with me is the idea that context already exists on our computers, yet we spend so much time copying, pasting, and re explaining the same things over and over. It really does feel backwards.<\/p>\n<\/p>\n<p>One thing I&#8217;d love to know: among your first 1,000+ users, what was the most unexpectedly valuable use case? Was it writing replies, recalling information, meeting preparation, or something completely different that you didn&#8217;t anticipate when you started building Goldfish?<\/p>\n<\/p>\n<p>Congrats to you and the team on the launch. Excited to see where this 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>This is one of the more interesting AI products I\u2019ve seen here recently.<\/p>\n<\/p>\n<p>The part that resonates most is the \u201cstarting from zero every time\u201d problem. As a founder, I constantly switch between product decisions, emails, support, launch copy, team messages, and random notes. Most AI tools are useful, but only after I spend time explaining the context again. \ud83d\ude05<\/p>\n<\/p>\n<p>The privacy approach is also important here. A product like this only works if users can actually trust it with messy, unfinished, sometimes sensitive work! \ud83d\ude42<\/p>\n<\/p>\n<p>Curious how much control users have over what Goldfish remembers or ignores. Can I exclude specific apps, websites, projects, or time periods from memory?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/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>  You can control it pretty tightly. You can pause capture whenever you want, and exclude specific apps or domains so they never get remembered.<\/p>\n<p>The memory lives locally on your Mac, and you can delete stored history too. We built it assuming people will have messy, sensitive work on screen, so \u201cwhat should Goldfish ignore?\u201d is a core part of the product, not an afterthought! \ud83d\ude42<\/p>\n<p>Our real power users are mostly founders, so I would love for you to try it! lmk if you have any feedback! \ud83d\ude42 <\/p>\n<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p>@andrasczeizel yes, exactly. You can exclude specific apps and websites from memory, and pause capture whenever you want. Is app\/site level enough for control, or would you want something more granular? We are working on a way to dynamically distinct between &#8220;personal&#8221; and &#8220;work&#8221; context <\/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\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Hello Andras<\/p>\n<p>Nice meeting 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 the idea of pressing Option to draft replies in your own tone. How far back does Goldfish remember your work context?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>@doganakbulut It keeps a short buffer of the very recent context, which is usually enough for the reply\/summarize moment. If it needs more, it can search longer-term local memory for the relevant project, person, or thread.<\/p>\n<p>All of that memory stays on your Mac, and you can exclude apps\/domains or pause capture whenever you want.<\/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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a> we keep a recent working memory for the stuff you\u2019ve actively had on screen, plus longer-term summaries\/wiki pages for projects, people and docs you touch repeatedly.<\/p>\n<p>so in practice: it can answer \u201cwhat was I just working on?\u201d from the last few hours, and also remember broader context like ongoing projects, recurring contacts, launch docs, etc. the goal is enough memory to write the right reply without you re-explaining the thread every time \ud83d\udc20<\/p>\n<p>But it stores exact text of everything, so goldfish could technically recall an exact quote from months ago. Do you think it works well for you so far?<\/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>Well done! Though where I&#8217;d get nervous is recall precision:) Once a month of my screen sits in that vector DB, what stops Option from grabbing the wrong thread when two clients have near identical projects open? Overall, solid work!<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a> totally fair concern. the short answer is: Goldfish should not be \u201csemantic search over your whole screen history and hope for the best\u201d.<\/p>\n<p>we\u2019re treating context as scoped and ranked, with recency, active app\/thread, focused field, and visible surface mattering a lot. if two client threads look similar, it should prefer the one you\u2019re actually in, not some old near-match.<\/p>\n<p>still early, and recall precision is exactly one of the things we\u2019re obsessing over. thank you for calling it out \ud83d\udc20 how do you think it works, if you&#8217;ve tried 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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;super good question! We do use chronological relevance too, so if Goldfish gets any timing signal, we use that as a heuristic. Under the hood it has three representations: recent context, long-term memory, and chronological memory. Would love for you to try it and let me know how it 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>Early access communities can make or break a product, and Goldfish looks like it&#8217;s creating a meaningful experience for its first users. Looking forward to following the journey!<\/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\/@1mirul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@1mirul<\/a>&nbsp;Thank you so much! I agree and we&#8217;ve tried to optimize it for being as useful as possible for our early users! Feel free to test it out and let me know if you have any feedback! \ud83d\udc20<\/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&#8217;ve been using Goldfish for more than 2 weeks now, and it&#8217;s game-changer. A super useful use case for me is writing simple answers to email loops. Goldfish already has the context, the response are always very appropriate, and the Option key provides a seamless experience to use Goldfish in your workflow.<\/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\/@el_pa_b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@el_pa_b<\/a>&nbsp;Thank you so much Pierre-Antoine! Happy to hear that its useful for you. Have you tried it in French yet? \ud83c\uddeb\ud83c\uddf7<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@el_pa_b\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"el_pa_b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@el_pa_b<\/a> love that email loops became the use case. merci for pushing it so hard \ud83d\udc20<\/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><em>Congrats on the launch! Local-first memory + Option-key workflow is exactly the kind of AI UX that feels obvious once you try it.<\/em><\/p>\n<p><em>Curious how you handle drift over time. Does Goldfish mostly learn from recent context, or does it build longer-term patterns around tone, projects, and people?<\/em><\/p>\n<p><strong>HUMAN TAKEOVER:<\/strong><br \/>If you are skeptical about gold fish, the above review was written from just a single button press (goldfish!), with no additional context provided. Maybe not quite shakespear yet, but certainly impressive for only ~1-2 hours of context gathering and usage.<\/p>\n<p>Initial first reactions \/ points of friction:<br \/>&#8211; Realized I uncocousnly used the right Option key for other things (like writing @ and ~), so will have to unlearn that habit.<br \/>&#8211; (biggest one by far), there seems to (at least not always) be no ultra low friction of undoing? In some text-editors ctrl+z works, but others not? And if you do use ctrl+z, you often get the appended &#8220;Goldfishing&#8230;&#8221; which you have to manually remove. For me, just this simple friction turns goldfish from a zero-downside task <em>(fine if it doesnt work all the time, it literally just takes 1 second)<\/em>, to a low-downside task. I have to stop and think &#8220;will goldfish improve this? because if not its still a tiny bit of friction to go back to what I had previously&#8221;.<\/p>\n<p>Anyways! Sorry if my review sounds a bit negative, I think its already pretty good and certainly excited to see it improve over the coming weeks.<\/p>\n<p>Final closing words from goldfish:<br \/><em>&#8220;Just please don&#8217;t use this comment as training data for making future comments less annoying.&#8221;<\/em><\/p>\n<p>\ud83e\udd37\u200d\u2642\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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@felix_bergstrom\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@felix_bergstrom<\/a>&nbsp;<\/p>\n<\/p>\n<p>Thanks Felix, this is super useful.<\/p>\n<p>On drift, it uses both. There is a very recent context buffer for the \u201cwhat am I replying to right now?\u201d moments, and then longer-term local memory for patterns around tone, projects, people, and recurring work. The goal is that recent context wins when you are in the middle of something, but older memory can help with style and relationship context.<\/p>\n<\/p>\n<p>does goldfish trigger when you press right option for @? it should recognize its a part of a chord, but if it does not lmk! <\/p>\n<\/p>\n<p>And yeah, the undo friction is real. If using Goldfish ever makes you stop and calculate the downside, it&#8217;s not good. we&#8217;re considering alternatives as to unify the view of the loading indicators and making sure one cmd-z works! another benefit would be if you could launch several goldfishes in different textboxes at the same time <\/p>\n<\/p>\n<p>Thank you for the review and thoughts! \ud83d\udc20<\/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, Joel! The &#8216;starting from zero every time&#8217; problem with AI is incredibly real\u2014I waste so much time re-pasting Slack threads and briefs. Keeping the memory layer local via SQLite\/vector DB is a massive win for trust. Quick question: How does it impact Mac performance or battery life when it&#8217;s actively indexing active apps?<\/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\/@bilal_niaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bilal_niaz<\/a>&nbsp;I feel you, we had the same problem before goldfish existed! Yes indeed &#8211; local first is a winner in our opinion :)!<\/p>\n<\/p>\n<p>It doesn&#8217;t affect performance too much, we utilize the already existing accessibility APIs to get the text from open windows, which is super lightweight. We also run an optimized model for doing embeddings as not to tax the computer unnecessarily much.<\/p>\n<\/p>\n<p>Have you given goldfish a try yet? Best way to assess performance also! :- D<\/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>Huge congrats on the launch, team \ud83d\udc20 <\/p>\n<p>Downloaded it yesterday and it&#8217;s so easy to use, already saved me a lot of time on Slack messages!!<\/p>\n<\/p>\n<p>Let&#8217;s go!!<\/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\/@andreas_hjelm1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"andreas_hjelm1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andreas_hjelm1<\/a> thanks Andreas, Slack messages saving time is exactly the use case we hoped would click first \ud83d\udc20 <br \/>What would you want us to build or improve 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andreas_hjelm1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andreas_hjelm1<\/a>&nbsp;Thank you so much Andreas! I really appreciate it! <\/p>\n<\/p>\n<p>Slack is good usecase \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>Really enjoying Goldfish so far and is genuinely useful, especially not having to copy, paste, and re-explain everything every time. It&#8217;s been a game changer for my LinkedIn outreach. Great job Joel and Kaspian!!<\/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\/@daniel_yamamoto\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_yamamoto<\/a>&nbsp;Thank you Daniel!! LinkedIn outreach is such a perfect use case for Goldfish, because the context is always spread across profiles, messages, tabs, and previous conversations. Really happy it\u2019s saving you from the copy\/paste loop \ud83d\udc20 How many hours a week (and mental load) do you think it saves 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 very very cool, just tried it! \ud83d\ude42<br \/>is it able to change the tone of your reply to say your grandmother vs your best friend? <\/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\/@armaan_nagra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@armaan_nagra<\/a>&nbsp;Happy to hear that you like it, Armaan! \ud83d\ude42 <\/p>\n<p>Yes, it knows the tone of you depending on in what context and who you&#8217;re responding to. One user told us it understood even a certain dialect of a language where she only wrote in that dialect with family members, so hopefully it understands enough. <\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@armaan_nagra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@armaan_nagra<\/a>&nbsp;yes, it also stores memory about how your tone changes between different apps and sites! What apps do you think you&#8217;ll use it most for?<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@armaan_nagra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@armaan_nagra<\/a>&nbsp;Hello<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>I think I&#8217;m <em>actually<\/em> going to use this. For me, that is the highest grade I can give.<\/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\/@kalle_hansson\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kalle_hansson<\/a>&nbsp;Love this, that&#8217;s the best kind of feedback. Hope it sticks \ud83d\udc20<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 very cool, 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\/@sebastian_thunman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebastian_thunman<\/a>&nbsp;Thanks Sebastian! Appreciate 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>@sebastian_thunman thanks Sebastian, really appreciate the support! \ud83d\udc20 I have plugged in Goldfish local MCP into Strawberry to give it more context and it&#8217;s lit!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 epic! Super excited to try it out. Congrats on 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\/@charles_maddock\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charles_maddock<\/a>&nbsp;Thanks Charles! Excited to hear what you think \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@charles_maddock\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"charles_maddock\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charles_maddock<\/a> thanks Charles! would love to hear how it feels once you\u2019ve tried it \ud83d\udc20 Have plugged in my Goldfish local MCP into Strawberry to give it more context about me and it&#8217;s lit<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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;knows your work&#8221; part is where these tools either actually deliver or fall apart. <\/p>\n<\/p>\n<p>Curious what that means concretely here: are you indexing local files, pulling from open apps, reading browser tabs, or something else? And how does it handle context switching across very different types of work, like if I&#8217;m mid-deep-work on a coding problem and then get a Slack message about a completely separate client project, does it actually pick the right context or does it need a nudge?<\/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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;Hey Florent! Yeah so we&#8217;re using the built in accessibility API:s to get the text content currently visible on the screen, and that is enough to get enough context about what you&#8217;re working on. We store that on a local database and in a vector database. It tracks the sort of work you do across different surfaces and remembers what belongs to where, so that it adapts to your tone in different projects.<\/p>\n<\/p>\n<p>Feel free to try it out and let me know what you love and what you hate! It would be super useful to get some feedback! \ud83d\ude42 <\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;Hello Fberrez<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Wow gonna give this a try. Are the memories local?<\/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\/@alexander_gusev3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexander_gusev3<\/a>&nbsp;Happy to hear that Alexander!<\/p>\n<p>Yes, so everything is saved in a local sqlite database and a vector database! Let me know when you&#8217;ve tried it and if you have any feedback \ud83d\ude4f\u263a\ufe0f<\/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\/@alexander_gusev3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"alexander_gusev3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexander_gusev3<\/a> yes, fully local. Nobody can see your data, not even us the creators!<\/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>Goldfish takes precious cognitive load out of so many of my boring repetitive tasks in sales. Congrats on the launch team! \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@axel_larsson1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@axel_larsson1<\/a>&nbsp;thank you Axel, really glad it\u2019s helping with the boring sales stuff. any workflow where it has saved you the most time so far?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>tbh now I cannot even imagine my day to day workflow without Goldfish! I&#8217;m a big fan of the Option button<\/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\/@roydev01\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"roydev01\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roydev01<\/a> Thanks Roy, love to hear that. Option button is king \ud83d\udc20<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 challenge with AI memory is often trust and relevance. How do you prevent important details from getting buried as more conversations accumulate?<\/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\/@harini_mukesh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harini_mukesh<\/a>&nbsp;This is basically the core design problem for Goldfish.<\/p>\n<p>We don\u2019t treat memory as one giant chat history. It\u2019s split into layers: the immediate screen context, recent activity, longer-term summaries, and entity\/project-level memory. When you press Option, Goldfish first anchors on what you\u2019re doing right now, then pulls in only the memory that looks relevant to that surface.<\/p>\n<p>Important details should also become easier to retrieve over time, not harder. So instead of relying on raw conversation logs forever, Goldfish distills repeated people, projects, preferences, and commitments into more structured memory.<\/p>\n<p>And there are controls for excluding things you don\u2019t want remembered, because trust only works if the user can shape the memory.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Ben, Goldfish looks like a genuinely clever take on ambient AI. How does it handle context switches between work projects or clients that have very different tones?<\/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\/@mbertone911\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mbertone911<\/a>&nbsp;Thanks Marco! It uses the focused field and nearby context as the anchor first, then pulls in only the relevant recent memory for that surface. So a client email, a dev task, and a Slack reply each get treated as separate writing situations, with different tone and context.<\/p>\n<p>Have you tried it? What do you think? \ud83d\udc20<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Just got set up. Onboarding was a bit clunky but overall really novel and refreshing. Love it so far. Interested to see how useful this is after a few weeks of use. The option key doesn&#8217;t seem to work with Atlas browser.<\/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\/@goldhaxx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@goldhaxx<\/a>&nbsp;Thanks for flagging this, Zach! Atlas is likely blocking or exposing the focused field differently than Safari\/Chrome, so we\u2019ll take a look and add a fix if we can. Appreciate the comment &#8211; we&#8217;re looking into increasing stability as we speak! \ud83d\ude4f\ud83d\udc20<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 great! How big can the context get? <\/p>\n<p>I also saw you using graphs, I guess it is to increase accuracy. So how is the memory layer structured?<\/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\/@vugar_javadov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vugar_javadov<\/a>&nbsp;the context can get pretty large, but we keep it scoped rather than just dumping everything in.<\/p>\n<p>The rough structure is:<\/p>\n<p>1. Immediate screen\/app context from the current field<\/p>\n<p>2. Recent activity from the last few minutes\/hours<\/p>\n<p>3. Longer-term memory summaries and searchable snapshots<\/p>\n<p>4. A small identity\/voice layer for how you usually write<\/p>\n<p>The graph is mostly there to connect people, projects, apps, threads, docs, etc. so the memory retrieval is more accurate than plain keyword search. When you press Option, Goldfish pulls the relevant slice for that exact surface and intent, then ignores the rest.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! \ud83d\udc20<\/p>\n<p>Goldfish has the best onboarding experience I\u2019ve ever had. Genuinely blew my mind.<\/p>\n<p>Also, yes, this comment was written using Goldfish \u2728<\/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\/@akashnawani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akashnawani<\/a>&nbsp;this is the most meta comment we could\u2019ve hoped for haha. thank you for trying it, and very glad Goldfish wrote this one well \ud83d\udc20<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! I have a small question, with Goldfish capturing context across so many apps, how does it filter out irrelevant noise when you&#8217;re rapidly switching between unrelated projects throughout the day?<\/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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Great question. Goldfish uses the current app, focused field, surrounding UI, and recent activity as the strongest signals, so it does not just dump one giant memory into the prompt.<\/p>\n<p>When you press Option, it ranks the context by relevance to what you are doing right now, then pulls in only the pieces that match. If you have been jumping between unrelated projects, the current window and field usually anchor it pretty well, and the noisy stuff gets ignored. It is also designed to be explicit about uncertainty rather than blending contexts together.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 &#8216;replies like you&#8217; part is what i&#8217;m most curious about. how do you handle voice consistency across contexts where someone writes very differently (boss vs partner vs friend)? is the model learning per recipient or one general voice trained on all past replies?<\/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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;love this question. it\u2019s per-context, not one blob of \u201cyour voice\u201d averaged over everything.<\/p>\n<p>Goldfish looks at the surface you\u2019re writing in, the current thread, who you\u2019re talking to, and your past examples that are relevant to that kind of interaction. So a Slack reply to a teammate, a LinkedIn DM, and an email to a customer can all come out differently.<\/p>\n<p>We\u2019re trying pretty hard to avoid the uncanny \u201csame tone everywhere\u201d thing. It should feel like you, in that specific situation.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! I&#8217;ve tried the beta and really like the UI and ambition. I&#8217;m curious: what&#8217;s your own\/the team&#8217;s favorite use cases in everyday 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\/@per_clingweld\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@per_clingweld<\/a>&nbsp;Thank you Per for being an early supporter and for the comment! Mostly messaging for me, but I also use it to find old tweets. Weirdly, when I can\u2019t remember a song, I sometimes use transcription in Spotify to see if it can match it. Works 50% of the time haha<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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><strong>Wow, this hits right where it hurts. \ud83d\udc20<\/strong><\/p>\n<p>The &#8220;goldfish memory&#8221; of current AI tools is easily the most frustrating part of my daily workflow. I waste so much time copy-pasting Slack threads or brief docs into Claude just to get a relevant reply. Having that context accessible natively with just the \u2325 Option key sounds like a massive productivity unlock.<\/p>\n<p>Love the local database approach for privacy too, that&#8217;s usually the biggest blocker for these kinds of tools.<\/p>\n<\/p>\n<p>Congrats on the launch Joel!<\/p>\n<\/p>\n<p>Quick question: how does Goldfish handle context switching? If I move from a client email to a technical dev task, does it easily separate the two &#8220;memories&#8221; when I press Option?<\/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\/@keirodev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@keirodev<\/a>&nbsp;Hey K\u00e9vin, great question!<\/p>\n<p>Goldfish separates context by what you are actually doing when you press Option. It reads the focused field, the surrounding window, and relevant recent activity, then pulls in the memory that matches that situation.<\/p>\n<p>So if you move from a client email to a technical dev task, it treats those as different contexts and avoid blending them. The goal is exactly to stop you from having to re-explain which thread, doc, or task you are in every time.<\/p>\n<p>And yes, the local database part is a big piece of making that safe and usable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 context problem is real and underrated. most AI writing tools make you re-explain the situation every single time, which kills the flow. the passive memory angle is interesting, curious how it handles switching between very different work contexts (e.g. a support thread vs a technical doc vs a slack message where tone should be completely different).<\/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\/@rnagulapalle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rnagulapalle<\/a>&nbsp;Great question. The goal is exactly that Goldfish should adapt to the surface you&#8217;re in, not just dump the same generic voice everywhere.<\/p>\n<p>It combines what\u2019s visible on screen right now with your recent\/passive context, then the rewrite prompt is grounded in the actual app and field you\u2019re typing in. So a support thread, a technical doc, and a Slack reply should all get treated differently in terms of tone, level of detail, and what context matters.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>wow this product is gold. well done!<\/p>\n<p>I do have a few questions on the infrastructure:<\/p>\n<ol>\n<li>\n<p>Is a local model used to generate the replies?<\/p>\n<\/li>\n<li>\n<p>How does It formulate a reply in the language (writing style) of the user?<\/p>\n<\/li>\n<li>\n<p>Does it only work with what is given on the screen in realtime?<\/p>\n<\/li>\n<\/ol>\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>This is so good! Surprisingly works for pretty much any task you could think of, have been using it for the past 3 weeks<\/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\/@samuel_barnholdt1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samuel_barnholdt1<\/a>&nbsp;So happy to hear that Samuel! :- D<\/p>\n<p>What has been your best use case so far? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/CKKHYA5Y262PSX\" class=\"app-title\">Invoko<\/a><\/p>\n<div class=\"one-liner\">A little hand on your Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">386<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Invoko \u662f\u4e00\u6b3e\u8fd0\u884c\u5728 Mac \u4e0a\u7684\u684c\u9762AI\u52a9\u624b\uff0c\u901a\u8fc7\u8bed\u97f3\u6216\u5feb\u6377\u952e\uff08Fn\uff09\u64cd\u4f5c\uff0c\u5728\u5de5\u4f5c\u65f6\u5e2e\u4f60\u5904\u7406\u90ae\u4ef6\u3001\u65e5\u7a0b\u3001\u6d88\u606f\u7b49\u7410\u788e\u4efb\u52a1\uff0c\u51cf\u5c11\u5206\u5fc3\uff0c\u4e13\u6ce8\u4e8e\u6838\u5fc3\u5de5\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                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fc5261eb-4700-4545-9f5b-86c421a61444.jpeg?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\/2a16cef9-3c8f-48d0-9304-838c9622903b.jpeg?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\/08ca6ac9-647e-414a-9109-874ac0179cc4.jpeg?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\/4f4eb4dc-f11a-4d9e-82f4-4fd249c981c3.jpeg?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\/058e5ae3-8972-409e-9172-ae49926defac.jpeg?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\/71b7caf8-582e-4249-ae35-4ef71b176d62.jpeg?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\/7371eb5f-2032-4214-84b5-097431bdc1b3.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\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u52a9\u7406<\/span><br \/>\n            <span class=\"tag\">\u9ad8\u6548\u529e\u516c<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u611f\u77e5<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\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\u5173\u6ce8\u4ea7\u54c1\u7684\u5b9a\u4f4d\u6a21\u7cca\uff0c\u5e0c\u671b\u660e\u786e\u5176\u662f\u201c\u7cfb\u7edf\u7ea7AI\u5c42\u201d\u8fd8\u662f\u201c\u4efb\u52a1\u542f\u52a8\u5668\u201d\u3002\u6838\u5fc3\u7591\u95ee\u5305\u62ec\uff1a\u5982\u4f55\u5b9e\u73b0\u8de8\u5e94\u7528\u4e0a\u4e0b\u6587\u7406\u89e3\uff0c\u6d88\u606f\u56de\u590d\u7684\u8bed\u6c14\u5982\u4f55\u8bbe\u5b9a\uff0c\u6267\u884c\u524d\u662f\u5426\u6709\u786e\u8ba4\u6b65\u9aa4\uff0c\u4ee5\u53ca\u5982\u4f55\u89e3\u51b3\u591a\u4efb\u52a1\u5207\u6362\u65f6\u7684\u610f\u56fe\u7406\u89e3\u3002\u521b\u59cb\u56e2\u961f\u53cd\u9988\u79ef\u6781\uff0c\u5f3a\u8c03\u5f53\u524d\u7248\u672c\u5df2\u5177\u5907\u8bb0\u5fc6\u5c42\u548c\u4e0a\u4e0b\u6587\u611f\u77e5\u80fd\u529b\uff0c\u5e76\u652f\u6301\u786e\u8ba4\u673a\u5236\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                \u4ece\u6982\u5ff5\u548c\u4ea7\u54c1\u6267\u884c\u529b\u4e0a\u770b\uff0cInvoko\u65e0\u7591\u5207\u4e2d\u4e86\u201c\u64cd\u4f5c\u7cfb\u7edf\u4e2d\u5b58\u5728\u5927\u91cf\u788e\u7247\u5316\u3001\u91cd\u590d\u6027\u5e72\u6270\u201d\u7684\u6df1\u5c42\u75db\u70b9\u3002\u5b83\u806a\u660e\u5730\u907f\u5f00\u4e86\u201cAI Agent\u201d\u6cdb\u6ee5\u7684\u5671\u5934\uff0c\u9009\u62e9\u4e86\u4e00\u6761\u201c\u7cfb\u7edf\u539f\u751f\u96c6\u6210\u201d\u7684\u8def\u5f84\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u80fd\u505a\u4ec0\u4e48\u201d\uff0c\u800c\u5728\u4e8e\u201c\u5982\u4f55\u4ecb\u5165\u201d\u2014\u2014\u901a\u8fc7\u6a21\u62df\u4e00\u4e2a\u7269\u7406\u610f\u4e49\u4e0a\u7684\u201c\u684c\u9762\u5c0f\u5e2e\u624b\u201d\uff0c\u7528\u6781\u4f4e\u7684\u5fc3\u667a\u8d1f\u62c5\uff08Fn\u952e\uff09\u5c06AI\u5185\u5316\u4e3a\u64cd\u4f5c\u7cfb\u7edf\u7684\u539f\u751f\u80fd\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u7684\u201c\u6cdb\u5316\u201d\u5b9a\u4f4d\u662f\u5176\u6700\u5927\u7684\u53cc\u5203\u5251\u3002\u7528\u6237\u7684\u8bc4\u8bba\u76f4\u6307\u6838\u5fc3\uff1a\u5b83\u5230\u5e95\u662f\u201c\u4e07\u80fd\u5c42\u201d\u8fd8\u662f\u201c\u4efb\u52a1\u8def\u7531\u5668\u201d\uff1f\u6e05\u6670\u754c\u5b9a\u8fd9\u4e00\u5b9a\u4f4d\uff0c\u662f\u907f\u514d\u6ca6\u4e3a\u201c\u4ec0\u4e48\u90fd\u60f3\u5e72\uff0c\u4f46\u4ec0\u4e48\u90fd\u5e72\u4e0d\u6df1\u201d\u7684AI\u5c0f\u5de5\u5177\u7684\u5173\u952e\u3002\u5f53\u524d\u8bc4\u8bba\u4e2d\u900f\u9732\u7684\u201c\u8bb0\u5fc6\u5c42\u201d\u548c\u201c\u786e\u8ba4\u673a\u5236\u201d\u7ec6\u8282\uff0c\u8bc1\u660e\u56e2\u961f\u5728\u6613\u7528\u6027\u4e0e\u53ef\u63a7\u6027\u4e4b\u95f4\u505a\u4e86\u6743\u8861\uff0c\u8fd9\u662f\u6b63\u786e\u65b9\u5411\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\u957f\u5c3e\u573a\u666f\u7684\u771f\u5b9e\u53ef\u9760\u6027\u3002\u5f53\u7528\u6237\u5f00\u59cb\u4fe1\u4efb\u5b83\u5e76\u59d4\u6258\u66f4\u590d\u6742\u3001\u66f4\u201c\u9ad8\u6743\u9650\u201d\u7684\u64cd\u4f5c\uff08\u5982\u8de8\u5e94\u7528\u6570\u636e\u6574\u5408\u3001\u81ea\u4e3b\u56de\u590d\u654f\u611f\u90ae\u4ef6\uff09\u65f6\uff0c\u4efb\u4f55\u539f\u5b50\u7ea7\u5931\u8bef\u90fd\u53ef\u80fd\u77ac\u95f4\u74e6\u89e3\u4fe1\u4efb\u3002\u56e2\u961f\u5ba3\u79f0\u7684\u201c\u770b\u5b8c\u56de\u590d\u518d\u53d1\u9001\u201d\u5e76\u975e\u62a4\u57ce\u6cb3\uff0c\u80fd\u7cbe\u51c6\u7406\u89e3\u4e0a\u4e0b\u6587\u3001\u5e76\u751f\u6210\u201c\u50cf\u4eba\u4e00\u6837\u201d\u7684\u56de\u590d\uff0c\u624d\u662f\u80fd\u529b\u4e0a\u9650\u7684\u4f53\u73b0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u540c\u65f6\uff0c\u201cLocal on Mac\u201d\u7684\u6982\u5ff5\u662f\u9690\u79c1\u5356\u70b9\uff0c\u4f46\u4e5f\u9650\u6b7b\u4e86\u7b97\u529b\u5929\u82b1\u677f\u4e0e\u8de8\u8bbe\u5907\u534f\u540c\u7684\u53ef\u80fd\u6027\u3002Invoko\u80fd\u5426\u5728\u201c\u672c\u5730\u5b89\u5168\u201d\u4e0e\u201c\u667a\u80fd\u9700\u8054\u7f51\u201d\u7684\u77db\u76fe\u4e2d\u627e\u5230\u52a8\u6001\u5e73\u8861\uff0c\u5c06\u662f\u5176\u80fd\u5426\u4ece\u201c\u56e2\u961f\u5185\u90e8\u597d\u7528\u7684\u5c0f\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u901a\u7528\u751f\u4ea7\u529b\u57fa\u7840\u8bbe\u65bd\u201d\u7684\u5173\u952e\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u662f\u4e00\u4e2a\u4f18\u79c0\u7684\u201c\u5f00\u59cb\u201d\uff0c\u4f46\u79bb\u201c\u7ed3\u5c40\u201d\u8fd8\u5f88\u8fdc\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\">Invoko<\/span>\n                <\/div>\n<div class=\"comment-content\">Invoko is an AI desktop helper you can talk to while you work. Bring it beside anything on your screen, ask it questions, or let it handle tasks across your apps.<\/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, <\/p>\n<p>We are bacccck again! This time I&#8217;d like to introduce our latest product: Invoko.<\/p>\n<p>When dealing with everyday tasks, we&#8217;d always feel overwhelmed with a lot of distractions: multiple agent sessions running at the same time, messages from slack popping up all day, colleges asking for quick calls out of nowhere, isn&#8217;t it nice to have someone or something to handle these and sort them out for you? <\/p>\n<p>That&#8217;s the reason we build Invoko.<\/p>\n<p>Invoko is a desktop agent lives on your mac that you can talk to while working. By simply pressing a shortcut (Fn), you can dispatch all the tasks that you don&#8217;t want to handle to it. No matter it&#8217;s sorting your emails and extract todo lists, or scheduling calendar to avoid those annoying quick calls, or simply replying to messages that you don&#8217;t want to engage, Invoko got your back.<\/p>\n<p>It&#8217;s fully local deployed on your mac, which means it can easily understand what you are doing right now and what&#8217;s your intention. It can operate across all your apps with full functionalities and zero privacy concern.<\/p>\n<p>We&#8217;ve put around 3 months to build Invoko and have iterated 71 times till this morning (based on the version # lol)<br \/>It&#8217;s something that we use daily within our team and we genuinely think that it can benefit ppl with the same pain points and passion.<\/p>\n<p>For trying it out, please head to: <a href=\"https:\/\/invoko.ai\/?utm_source=ph&amp;utm_medium=referral&amp;utm_campaign=june\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/invoko.ai\/?utm_source=ph&amp;utm_medium=referral&amp;utm_campaign=june<\/a><br \/>(We use utm to track the incoming traffic more precisely FYI)<\/p>\n<p>If you find any issue or bug, please reach out to <a href=\"mailto:hey@invoko.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">hey@invoko.ai<\/a>. We read &amp; reply to every user email manually (100% hand written)<\/p>\n<p>Hope you like it and we can&#8217;t wait to hear your thoughts!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>25<\/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\/@alex_tao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_tao<\/a>&nbsp;71 iterations in 3 months is insane , you can feel the polish in the demo.<\/p>\n<p>The Fn shortcut to dispatch tasks is a clever UX choice. <\/p>\n<p>Question: how does Invoko decide the tone when replying to messages on your behalf? Does it learn from your writing style or do you set it manually?<\/p>\n<p>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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>71 versions in 3 months is wild, honestly \ud83d\ude05 <\/p>\n<p>what was the biggest thing that changed between the early builds and what launched today?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Hey Abdul, thanks for the kind word! Actually the product is nothing like the initial version, UI wise and feature wise. We narrow it down to focus more on productivity scenarios and give it the capability to fetch context and memorize your preference so that it understands you better. Have a try and let us know 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>The &#8220;little hand on your Mac&#8221; framing is deliberately vague, so I&#8217;m genuinely not sure what this does from the listing alone. Is Invoko more like a system-wide AI layer that acts on whatever&#8217;s on screen, or is it closer to a launcher that routes specific tasks to specific tools? That distinction matters a lot for how much you&#8217;d actually trust it to touch things without reviewing what it&#8217;s about to do.<\/p>\n<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;Hey Florent, it&#8217;s rly insightful. Currently Invoko acts as a system wide AI layer instead of a task router. We&#8217;re working on narrowing the product perception rn so that it can be more clear and intuitive. Stay tuned:)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! Curious how does Invoko handle context switching when you&#8217;re jumping between unrelated tasks and suddenly press Fn to delegate something?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/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\/@chengfeng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chengfeng<\/a>&nbsp;Hey there, quote my previous answer: We mainly use your mac&#8217;s current focus to understand your intention, combined with a relative long term memory. Also the model&#8217;s inference capability is quite good to understand and execute the task that you delegate to it so it&#8217;s not a problem for now:)<\/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 beside anything on your screen positioning is really interesting how does Invoko handle context awareness across different app types like jumping from a spreadsheet to a browser tab to a design tool without losing the thread of what you&#8217;re working on?<\/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\/@amna9\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amna9<\/a>&nbsp;We build a memory layer for Invoko specifically, enabling it to distinguish between different task threads with different context. Making sure it can handle them all in parallel.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 guys,We\u2019re thrilled to finally launch Invoko. Over many late nights, we kept asking ourselves a simple question: could we actually deliver real value in a space crowded with AI agents and desktop apps claiming to do everything?<\/p>\n<p>So we narrowed our focus to a few everyday scenarios: helping you handle messages, emails, and the flood of information, plus scheduling and other routine tasks. Now, we feel more confident than ever that we\u2019ve built exactly that.<\/p>\n<p>Give Invoko a try, and we think you\u2019ll have something to say after using it. \ud83d\ude0a<\/p>\n<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Invoko is as though it descended from the heavens of a thousand years past.<\/p>\n<p>We have refined it over time, drawing from the wisdom of the ancients and weaving it together with the technology of today. It moves without friction, smooth as chocolate, and stays by your side like a quiet stream.<\/p>\n<p>It accompanies you in silence, unseen yet ever-present, helping you complete all manner of things. To experience its wonder is no complicated matter.<br \/>with just one click, all its subtle magic becomes yours.<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>congratulations! building something your own team uses daily is always a great sign. what&#8217;s been the most surprising use case discovered internally?<\/p>\n<p><\/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\/@james_carter35\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@james_carter35<\/a>&nbsp;I would say it&#8217;s the scheduler and auto reply, saving me 90% of the time trying to coordinate everyone&#8217;s time and drafting replies. Huge W<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! Curious how does Invoko handle context switching when you&#8217;re jumping between unrelated tasks and suddenly press Fn to delegate something?<\/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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Hey Xuefei, thanks for bringing that up. We mainly use your mac&#8217;s current focus to understand your intention, combined with a relative long term memory. Also the model&#8217;s inference capability is quite good to understand and execute the task that you delegate to it so it&#8217;s not a problem for now:)<\/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 team \ud83c\udf89<br \/>Curious, when Invoko is operating across apps, does it need any permissions setup or does it just work out of the box on Mac?<\/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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a> Hey Boyuan, good question! Actually you&#8217;ll need to give Invoko permission to connect to your daily working apps due to privacy protection, but that&#8217;s basically all it need! Super convenient and handy after 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>The fully-local, on-device approach is what makes this compelling to me \u2014 having it read your current focus without anything leaving the Mac is a real differentiator versus cloud agents. Since it can act across all your apps, do you give users a review\/confirm step before it sends a reply or edits a calendar, or does it execute directly once you delegate via Fn?<\/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\/@zain_sheikh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zain_sheikh<\/a>&nbsp;Ofc, in terms of drafting a reply or editing calendar, confirmation is always something you&#8217;d like to have a look first before letting it do its 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>Designer here \ud83d\ude4b Alex covered the why \u2014 I&#8217;ll cover the how it feels.<\/p>\n<p>The thing I obsessed over: how do you put an AI on someone&#8217;s screen all day without it becoming the annoying thing they quit by Friday? The answer we landed on was to make it ambient \u2014 it sits in the notch, stays quiet until you hit Fn, and shows you what it&#8217;s about to do instead of just doing it.<\/p>\n<p>If you try it and something feels heavy, cluttered, or in the way \u2014 that&#8217;s the feedback I care about most. Drop it here or <a href=\"mailto:hey@invoko.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">hey@invoko.ai<\/a> and it&#8217;ll land directly with the person who designed the thing. \ud83d\ude4f<\/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>Interesting. Having AI available alongside your workflow feels more practical than another browser tab. 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\/@mrunal_upadhye\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mrunal_upadhye<\/a>&nbsp;thanks for your support!<\/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 like the UI of the website &#8211; dynamic and cute! Reducing distraction is indeed a strong need. Go Invoko!<\/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\/@cruise_chen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cruise_chen<\/a>&nbsp;Credits to <a href=\"https:\/\/www.producthunt.com\/@jw_floater\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jw_floater\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jw_floater<\/a> &amp; our UI designer <a href=\"https:\/\/www.producthunt.com\/@fayann\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"fayann\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fayann<\/a> , glad you like 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>I like that this starts from the Mac layer instead of yet another tab. Curious what it handles best when my desktop is already chaos.<\/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\">@sarveshsea Try asking it to re arrange your desktop! Sorting out folders and apps and even free up some of your storage ( I rly tried it and it went well;)<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>For developers and power users who want to extend Invoko&#8217;s capabilities is there an API or plugin layer planned that would let people define custom tasks or connect it to tools that aren&#8217;t supported out of the 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ding_hao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ding_hao<\/a>&nbsp;Nahh we don&#8217;t provide API at the moment. But letting ppl define their own widgets might be a good 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>This feels like a really practical take on desktop AI. Instead of making you switch context into another chat window, Invoko brings the assistant right into your workflow and lets you interact with it naturally while you work. Very easy to imagine this becoming part of someone\u2019s daily setup.<\/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\/@xiangpeng_wan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xiangpeng_wan<\/a>&nbsp;Thanks Xiangpeng! Well said lol<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 like an interesting way to use AI anywhere on your Mac.  <\/p>\n<p>I&#8217;m wondering which use cases it works best for outside of drafting message replies? <\/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\/@anthony_latona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anthony_latona<\/a>&nbsp;We usually use it to conclude our daily routine and performance at the end of the day, and also asking it to make pre meeting prep and post meeting recap and more. Still exploring tho!<\/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>Nice, a talk-to-it helper triggered by Fn is handy. Can Invoko run multiple delegated tasks at once, or one at a 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Yes! It can do tasks in parallel. Finally someone ask this question lol<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>When Invoko reads content from the screen to answer a question how does it handle dynamically updating content like live dashboards, streaming data or real-time collaboration tools where the state changes constantly?<\/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\/@diego_joaquin1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@diego_joaquin1<\/a>&nbsp;we mainly use high refresh rate to solve that, which means the context itself will be update quite frequently during the process<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Most productivity tools plateau after the initial novelty wears off what behavioral patterns are you seeing in your most engaged users that tell you Invoko is becoming a genuine daily habit rather than a curiosity?<\/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\/@new_user___10520260379921a76fc2d64\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@new_user___10520260379921a76fc2d64<\/a>&nbsp;The local first approach is definitely the right call here I&#8217;d say. Regarding the workflow, having a confirmation step for actions like calendar edits or emails is a must for me, it keeps that balance of speed and control without feeling like the agent is running wild.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Voice activated desktop tools have historically struggled with accuracy in noisy environments like open offices or calls how does Invoko perform when there&#8217;s background noise or when the user is already on a meeting?<\/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\/@daniel_juan2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_juan2<\/a>&nbsp;We integrate advanced ASR technology so it shouldn&#8217;t be a problem at all.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 ask it questions use case is clear but the let it handle tasks side is where things get really interesting. What&#8217;s the most complex multi step workflow Invoko can currently execute end to end without human intervention?<\/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\/@chen_hao3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chen_hao3<\/a>&nbsp;Great question, from our internal record, Invoko can currently execute long term tasks such as gathering information from slack channels and long time meetings and generate recap and further report based on the context fully by itself, but more use cases is still being explored tho! Would love to see if you can test it out more:)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>since Invoko operates locally, what models are being used under the hood, and what are the hardware requirements for smooth performance?<\/p>\n<p><\/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\/@daris_esteban\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daris_esteban<\/a>&nbsp;We mainly use the best coding models out there so it depends, currently we support macos version 14+<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>For users working across multiple monitors or virtual desktops how does Invoko decide which screen content is relevant to the question being asked does it have spatial awareness of your entire workspace?<\/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\/@carter_son\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carter_son<\/a>&nbsp;Primarily we&#8217;d use the current desktop focus, but it will also leverage other context such as the apps that you open at the moment and your prompt &amp; working habbits<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 does Invoko compare to browser based AI agents when it comes to speed and context awareness?<\/p>\n<p><\/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\/@vespertine_dallarosa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vespertine_dallarosa<\/a>&nbsp;It will outperforms browser based AI agent for sure since it&#8217;s local deployed and gets more context besides browser.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 switching is expensive cognitively does Invoko remember what you were working on if you step away and come back or does each interaction start from a cold state?<\/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\/@carlos_leonardo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carlos_leonardo1<\/a>&nbsp;Definitely, the memory layer is something that we build solely for this purpose. It will only getting smarter when you use it in your daily routine<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>if you could add one major capability to Invoko tomorrow, what would be at the top of your roadmap?<\/p>\n<p><\/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\/@dylan_russell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dylan_russell<\/a>&nbsp;Definitely adding Fable 5 into it (if we could&#8230;&#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>Congrats on the launch, <a href=\"https:\/\/www.google.com\/search?q=https:\/\/www.producthunt.com\/%40alex_zhao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Alex<\/a>! The idea of a system-wide AI layer that automatically picks up on your current Mac focus is exactly how an assistant 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bilal_niaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bilal_niaz<\/a>&nbsp;Appreciate it Bilal! Let me know what you think after trying 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>how does Invoko manage permissions across different apps while maintaining privacy and security?<\/p>\n<p><\/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\/@carter_garcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carter_garcia<\/a>&nbsp;It&#8217;s fully local, we even don&#8217;t add any event tracking to ensure 100% data private and secure<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/7T4D2IUJO2CB3U\" class=\"app-title\">MakersClaw<\/a><\/p>\n<div class=\"one-liner\">Hire AI employees that live in your Slack, Teams, Telegram<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">341<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>MakersClaw \u8ba9\u4f01\u4e1a\u80fd\u5728 Slack\u3001Teams \u7b49\u534f\u4f5c\u5de5\u5177\u4e2d\u201c\u96c7\u4f63\u201d\u5177\u5907\u72ec\u7acb\u5185\u5b58\u548c\u5bb9\u5668\u73af\u5883\u7684 AI \u5458\u5de5\uff0c24\/7 \u6267\u884c\u5ba2\u670d\u3001\u9500\u552e\u3001\u7814\u7a76\u7b49\u4efb\u52a1\uff0c\u89e3\u51b3\u4f20\u7edf AI \u5de5\u5177\u65e0\u72b6\u6001\u4e14\u65e0\u6cd5\u6df1\u5ea6\u96c6\u6210\u5de5\u4f5c\u6d41\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\/008404fb-9dce-4549-8a17-5876ada52d87.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\/a7eb3876-e6d9-402a-815a-d7dd8756e143.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\/0c894047-5fc4-4f1c-88ef-874c7396da26.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\/216054a0-7464-4f60-a077-176e620f70bc.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\/9f2604d8-a969-4226-a766-aa42f0c9b6e1.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\/c945e21f-1bd9-4108-8865-eae12e727965.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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Bots<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5458\u5de5<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">Teams\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u6301\u4e45\u5316\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">\u6309\u6b21\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">Kubernetes\u5bb9\u5668<\/span><br \/>\n            <span class=\"tag\">MCP\u96c6\u6210\u5c42<\/span><br \/>\n            <span class=\"tag\">\u804a\u5929\u9a71\u52a8\u914d\u7f6e<\/span><br \/>\n            <span class=\"tag\">\u6280\u80fd\u6a21\u5757<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u81ea\u52a8\u5316<\/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\u5bf9\u201c\u72ec\u7acb\u5bb9\u5668+\u6301\u4e45\u8bb0\u5fc6\u201d\u8bbe\u8ba1\u70b9\u8d5e\uff0c\u8ba4\u4e3a\u89e3\u51b3\u4e86\u4e0a\u4e0b\u6587\u4e22\u5931\u95ee\u9898\u3002\u4e3b\u8981\u7591\u95ee\u5305\u62ec\uff1a\u6309\u6b21\u4ed8\u8d39\u6a21\u578b\u4e0b\u5faa\u73af\u8c03\u7528\u6210\u672c\u5931\u63a7\u98ce\u9669\uff1b\u9500\u552e\u573a\u666f\u7684\u62a4\u680f\u4e0e\u8d28\u91cf\u63a7\u5236\uff1b\u671f\u671b\u589e\u52a0\u793e\u4ea4\u5a92\u4f53\u7ba1\u7406\u6a21\u677f\uff1b\u5173\u6ce8\u8de8\u6e20\u9053\uff08Slack\u4e0eTelegram\uff09\u7684\u4e0a\u4e0b\u6587\u8fde\u7eed\u6027\u4ee5\u53ca AI \u5728\u4e0d\u540c\u56e2\u961f\u95f4\u79fb\u52a8\u65f6\u7684\u201c\u804c\u4e1a\u5c65\u5386\u201d\u5982\u4f55\u4fdd\u7559\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                MakersClaw \u8d70\u4e86\u4e00\u6761\u65e2\u806a\u660e\u53c8\u5371\u9669\u7684\u8def\u7ebf\u3002\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u8ddf\u98ce\u505a\u4e00\u4e2a\u201c\u6362\u4e2a\u76ae\u201d\u7684\u804a\u5929\u673a\u5668\u4eba\uff0c\u800c\u662f\u7528 Kubernetes \u5bb9\u5668 + PostgreSQL \u6301\u4e45\u5316\u8bb0\u5fc6\uff0c\u89e3\u51b3\u4e86\u901a\u7528 AI \u5de5\u5177\u201c\u5173\u6807\u7b7e\u5c31\u5931\u5fc6\u201d\u7684\u6b7b\u7a74\u3002\u8fd9\u79cd\u67b6\u6784\u8bbe\u8ba1\u786e\u5b9e\u66f4\u63a5\u8fd1\u4e00\u4e2a\u201c\u5458\u5de5\u201d\u800c\u975e\u201c\u5de5\u5177\u201d\u2014\u2014\u8bb0\u5fc6\u8de8\u91cd\u542f\u4e0d\u4e22\u5931\uff0c\u6309\u89d2\u8272\u914d\u7f6e\u800c\u975e\u586b\u8868\uff0c\u751a\u81f3\u652f\u6301\u8de8\u6e20\u9053\u6d88\u606f\u540c\u6b65\u3002\u8fd9\u79cd\u6280\u672f\u5e95\u5c42\u7684\u8ba4\u771f\u6295\u5165\uff0c\u5728\u5982\u4eca\u7684 AI \u5957\u58f3\u6d6a\u6f6e\u4e2d\u5b9e\u5c5e\u7f55\u89c1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5371\u9669\u4e5f\u663e\u800c\u6613\u89c1\u3002\u9996\u5148\u662f\u5e02\u573a\u5b9a\u4f4d\u7684\u62e5\u6324\u3002\u201cAI \u5458\u5de5\u4f4f\u8fdb Slack\u201d\u8fd9\u4e2a\u53d9\u4e8b\u672c\u6708\u5df2\u7ecf\u5192\u51fa\u592a\u591a\u7ade\u54c1\uff0c\u7edd\u5927\u591a\u6570\u90fd\u6ca6\u4e3a\u53ef\u6709\u53ef\u65e0\u7684\u804a\u5929\u63d2\u4ef6\u3002MakersClaw \u60f3\u7528\u201c\u72ec\u7acb\u5bb9\u5668\u201d\u548c\u201c\u6309\u6b21\u4ed8\u8d39\u201d\u505a\u533a\u5206\uff0c\u4f46\u6309\u6b21\u4ed8\u8d39\u6a21\u578b\u7ed9\u7528\u6237\u5e26\u6765\u7684\u5fc3\u7406\u969c\u788d\u8fdc\u672a\u88ab\u89e3\u51b3\u2014\u2014AI \u5931\u63a7\u5faa\u73af\u8c03\u7528\u4e00\u6b21\uff0c\u8d39\u7528\u53ef\u80fd\u4e00\u591c\u66b4\u589e\u3002\u56e2\u961f\u56de\u5e94\u79f0\u201c\u5931\u8d25\u8c03\u7528\u4e0d\u6536\u8d39\u201d\uff0c\u4f46\u771f\u6b63\u9700\u8981\u7684\u662f\u53ef\u914d\u7f6e\u7684\u8c03\u7528\u4e0a\u9650\u3001\u5b9e\u65f6\u544a\u8b66\u548c\u9884\u7b97\u9501\uff0c\u800c\u8fd9\u4e9b\u5728\u8bc4\u8bba\u4e2d\u5e76\u672a\u5f97\u5230\u660e\u786e\u4fdd\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6b21\uff0c\u4ea7\u54c1\u53d9\u4e8b\u6781\u529b\u5f3a\u8c03\u201c\u50cf\u96c7\u4f63\u4eba\u7c7b\u4e00\u6837\u7b80\u5355\u201d\uff0c\u4f46 AI \u5458\u5de5\u7684\u201c\u804c\u4e1a\u5c65\u5386\u201d\u672c\u8d28\u4e0a\u53ea\u662f\u4e00\u5806\u5411\u91cf\u6570\u636e\u5e93\u91cc\u7684\u5bf9\u8bdd\u8bb0\u5f55\uff0c\u65e2\u4e0d\u80fd\u8bc1\u660e\u6548\u7387\uff0c\u4e5f\u65e0\u6cd5\u5ba1\u8ba1\u7ed3\u679c\u3002\u76f8\u6bd4\u4eba\u7c7b\u5458\u5de5\u6709\u6e05\u6670\u7684\u7ee9\u6548\u8bc4\u4f30\u548c\u6539\u8fdb\u8def\u5f84\uff0cAI \u5458\u5de5\u201c\u8d8a\u7528\u8d8a\u806a\u660e\u201d\u8fd9\u53e5\u8bdd\u5f80\u5f80\u662f\u6280\u672f\u56e2\u961f\u7684\u4e00\u53a2\u60c5\u613f\u2014\u2014\u82e5\u6280\u80fd\u6a21\u5757\u548c\u8bb0\u5fc6\u7f3a\u4e4f\u6709\u6548\u7684\u8d28\u91cf\u5206\u7ea7\u4e0e\u5254\u9664\u673a\u5236\uff0c\u4f4e\u8d28\u91cf\u6570\u636e\u53ea\u4f1a\u5bfc\u81f4\u8d8a\u6765\u8d8a\u4e0d\u9760\u8c31\u7684\u56de\u590d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u540e\uff0cMakersClaw \u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u53ef\u80fd\u4e0d\u662f\u201c\u66f4\u806a\u660e\u7684 AI\u201d\uff0c\u800c\u662f MCP \u96c6\u6210\u5c42\u548c\u6280\u80fd\u5e02\u573a\u3002\u5f53\u7528\u6237\u53ea\u9700\u8981\u4e00\u6b21 OAuth \u5c31\u80fd\u6253\u901a\u6574\u4e2a\u5de5\u5177\u6808\uff0c\u4e14\u516c\u5f00\/\u79c1\u6709\u6280\u80fd\u6a21\u5757\u80fd\u7d2f\u79ef\u751f\u6001\u58c1\u5792\u65f6\uff0c\u4ea7\u54c1\u624d\u4ece\u201c\u53c8\u4e00\u4e2a Slack \u673a\u5668\u4eba\u201d\u53d8\u6210\u5e73\u53f0\u3002\u76ee\u524d\u770b\uff0c\u65b9\u5411\u5bf9\uff0c\u4f46\u6267\u884c\u7ec6\u8282\u548c\u98ce\u9669\u63a7\u5236\u4ecd\u9700\u5927\u5200\u9614\u65a7\u7684\u8865\u8bfe\u3002\u5efa\u8bae\u56e2\u961f\u4f18\u5148\u89e3\u51b3\u6210\u672c\u900f\u660e\u5ea6\u548c\u62a4\u680f\u80fd\u529b\uff0c\u5426\u5219\u518d\u591a\u201c\u8bb0\u5fc6\u201d\u4e5f\u6551\u4e0d\u4e86\u88ab\u5931\u63a7\u8d26\u5355\u5413\u8dd1\u7684\u65e9\u671f\u7528\u6237\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\">MakersClaw<\/span>\n                <\/div>\n<div class=\"comment-content\">Hire AI employees that run 24\/7 in their own container with their own memory. One-click into your Slack, Telegram, or Teams. Pre-built for support, sales, research, SEO, or anything you write yourself. Pay per call for the tools they use.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH \ud83d\udc4b Shreyans here, co-founder of MakersClaw. Sachin&#8217;s in the thread with me today.<\/p>\n<p>We started this because every &#8220;hire an AI agent&#8221; tool we tried felt like a chat widget with a coat of paint. It forgot the conversation when you closed the tab, it couldn&#8217;t actually do anything in the apps you use all day, and we kept hitting walls trying to make one do real work.<\/p>\n<p>So we built MakersClaw the way we wanted to use it. You hire an AI employee for whatever role you need: support, sales, personal assistant, research, SEO, or your own custom thing. Each one runs in its own container with its own memory, 24\/7. You connect it to your Slack, Telegram, or Teams in one click. No bot tokens, no webhook config, no JSON.<\/p>\n<p>Sachin&#8217;s dropping a comment right below with how the guts work, the tools, the runtimes, the pay-per-call model. Read that if you want the mechanics.<\/p>\n<p>Two specific things we&#8217;d love your honest take on:<br \/>\n1. Does the per-call tool model make sense to you, or is the mental shift from &#8220;subscribe to a tool&#8221; to &#8220;your agent pays per action&#8221; confusing the first time you see it?<br \/>\n2. We ship with four pre-built templates (support, sales, personal assistant, SEO). Which one would you actually try first, and which role do you wish we had a template for?<\/p>\n<p>We&#8217;ll be here all day. Pile on the questions and we&#8217;ll answer everything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>22<\/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\/@shreyans_assistiv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shreyans_assistiv<\/a>&nbsp;congrats on the launch! I&#8217;d definitely try the PA and the support template first. On sales, I&#8217;d actually be a little wary of having the agent interact directly with prospects. What are the guardrails\/quality controls you have around that?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>7<\/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\/@shreyans_assistiv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shreyans_assistiv<\/a>&nbsp;Congrats on the launch! Giving each AI employee its own container and persistent memory is a brilliant design choice. It solves the context-loss problem most teams face with generic wrappers.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@shreyans_assistiv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shreyans_assistiv<\/a>&nbsp;Great job and congrats for the launch!<\/p>\n<p>To answer your second question, I&#8217;d LOVE some sort of social media manager template. I hate spending time crafting posts (which usually means I don&#8217;t post at all), and on social media consistency matters at least as much as the quality of any individual post. A thoughtful, well-designed automation that helps maintain a consistent presence would save a lot of time that could honestly be spent elsewhere, without having to manufacture content from scratch every other 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH \ud83d\udc4b Sachin here, jumping in with the engineering side for anyone curious.<\/p>\n<p>Each employee is a Kubernetes pod with its own filesystem and its own postgres-backed memory. State survives restarts and channel disconnects. Even a full redeploy. We chose this over a serverless function model because we wanted the agent to be a process you can talk to at 3 AM and have it remember the conversation from yesterday morning. Cold starts and stateless containers kill that.<\/p>\n<p>For app integrations we run a hosted MCP layer at the workspace level. You OAuth once per app (GitHub, HubSpot, Zendesk, Jira, Asana, Airtable, Gmail, Outlook, Calendar, more) and any employee in your workspace can use the integration after that. Each MCP server is managed on our side, so there&#8217;s no JSON config or token paste on yours. No re-auth per agent.<\/p>\n<p>For configuration we built a chat-driven onboarding flow. Instead of filling forms to set up the employee&#8217;s role, tone, and context, you talk to it. It asks the questions, you answer, it writes its own config record. The mental model is onboarding a remote hire rather than setting up software.<\/p>\n<p>Skills are modular blocks of context the agent retrieves dynamically when a task needs them. Private skills stay scoped to your workspace. Public ones get installable by any maker. So the agent isn&#8217;t carrying the whole brain on every call. It pulls the right context for the work at hand.<\/p>\n<p>Two runtimes:<br \/>&#8211; PicoClaw runs on Python. Lighter, supports email channel and cron scheduling.<br \/>&#8211; Moltis runs on Rust. Heavier. Web dashboard, browser automation, voice (15+ TTS\/STT providers), CalDAV.<\/p>\n<p>Happy to go deeper on any of the architecture. Ask me anything.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>13<\/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>AI employees living right in Slack and Teams sounds really useful. Can each AI employee be customized to a specific role or task?<\/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\">@doganakbulut yes we have a vibe based agent creation system which would let you customise the agent to your needs \ud83d\udc4d<\/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 &#8216;ai employee&#8217; framing is getting crowded fast &#8211; so many tools launched this month doing the same slack\/teams bot thing. the per-call pricing on tools is the bit that&#8217;ll catch people off guard when an agent loops or retries unexpectedly. what actually differentiates the memory layer here vs just wiring up a standard agent with a slack connector?<\/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;Honestly, fair points. We&#8217;re not trying to win the &#8220;another Slack bot&#8221; race &#8211; Slack\/Teams is just the easy on-ramp. The actual bet is the ecosystem around the agents. On memory and the per-call cost problem you flagged, that&#8217;s exactly what having a few ai researchers on team helps with, testing a few approaches to optimize and cut cost. No grand claims yet; we&#8217;d rather ship something that holds up than overstate it on launch day. Would genuinely value your eyes on it as it evolves.<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The per-call model is a smart call, pay for what your agent actually does is way easier to justify than another monthly subscription. Personal assistant template first for me. Would love to see a research analyst role next<\/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\">@sofiia_havryliuk easier to understand and see value for. <\/p>\n<p>Noted for the personal assistant template \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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sofiia_havryliuk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sofiia_havryliuk<\/a>&nbsp;Research analyst is the one we&#8217;ve been talking about for the next template drop. We held off in the first batch because the role means wildly different things across industries (financial, market, technical etc.). The first four templates were the ones with clearest scope. The next batch will be shaped by what people actually ask for, so this is genuinely useful signal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Giving each employee its own pod with persistent postgres-backed memory that survives restarts is the detail that won me over, &#8220;remembers yesterday&#8217;s conversation at 3 AM&#8221; is exactly where most chat-widget agents fall apart. On the pay-per-call model: do users get spend caps or alerts per employee, so a retry loop on a tool can&#8217;t quietly rack up cost overnight?<\/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\/@zain_sheikh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zain_sheikh<\/a>&nbsp;Tool calls are fail safe, you pay for the successful ones. We are designing makersclaw to be human centric so humans can monitor everything agent does.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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!<\/p>\n<p>The &#8220;AI employee in Slack\/Teams&#8221; framing has been tried a few times but the pricing always trips it up \u2014 per-seat feels wrong for a non-human. How did you land on your model?<\/p>\n<p>(Indie maker here, curious about the pricing call more than the product itself.)<\/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\/@somdip_roy1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@somdip_roy1<\/a>&nbsp;Thanks! Per-seat felt wrong to us too. We went per-employee instead after trying out multiple pricing models as the product was developing. One monthly subscription per AI worker for its pod and storage. Inference is metered separately against a wallet at provider cost, no markup. Predictable infra floor, and a variable thinking cost you control. <\/p>\n<p>Honestly still chewing on whether one wallet across a customer&#8217;s whole workforce beats one wallet per employee.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 really cool, congratulations on launching! what&#8217;s next for your roadmap? <\/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\/@joe_hewett\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joe_hewett<\/a>&nbsp;Thanks! Two directions we&#8217;re most excited about.<\/p>\n<p>The skills marketplace keeps compounding as makers publish private and public skills. Every employee on the platform gets sharper as that pool grows. Same with the integration set on the MCP layer where we keep adding more apps and channels, so one OAuth gets you plugged in across your stack.<\/p>\n<p>What&#8217;s been pulling our attention lately is a MakersClaw API \/ MCP layer that would let you bring your own skills and tools into the platform. If you&#8217;ve already built agent skills locally (in Claude Code, Cursor, your own runtime, anywhere), you&#8217;d be able to drop them into an employee slot in one move (Making a local agent online and running 24\/7).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! I&#8217;m a little curious how does MakersClaw handle context continuity when the same user interacts across Slack and Telegram simultaneously?<\/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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Great question. The employee&#8217;s memory is the employee&#8217;s. Channels are just the interface you talk to it through. Each employee runs in its own pod with its own memory, so messages from every connected channel write to the same store. Switch from Slack to Telegram mid-conversation and the agent pulls the same context. From a technical standpoint, the pod processes inbound messages serially, so simultaneous threads don&#8217;t collide either.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 framing of &#8216;AI employees that live in slack&#8217; is sharp. the part i&#8217;m most curious about: how does an AI employee accumulate a track record? a human gets references from former teammates, a paper trail of what they shipped. when this AI moves between teams, what travels with 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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;&nbsp;Good question. The track record builds up in the employee&#8217;s persistent memory: every conversation, every action it took, every file you uploaded (there is a file system for the agent where you can upload files), every customer it dealt with. All of that accumulates in a store inside its pod.<\/p>\n<p>When the role changes inside a workspace, all of it travels. You reconfigure the same employee and nothing gets erased. Memory persists and the file system stays. For this, skills get added on top rather than replacing what was there (just like a human, a skill learnt is not lost).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Super cool idea. I think the pay-per-call tool model is great.<\/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\">@adam_maceachern1 thank you, I think it makes it easier to keep adding more which keeping an eye on real spends<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 employees living where the team already talks is the right move. The hard part is making them helpful without becoming one more coworker to manage.<\/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\">@sarveshsea ohhh I would be really interested in what you think would make ai employee easier \ud83d\ude4f<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 teammates living where you already work, rather than another dashboard to check, feels like the right direction. Bookmarking this one.<\/p>\n<\/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\">@shubham4real we want the agent to also be able to initiate conversations with you. Not just human initiated \ud83d\ude4f<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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;configure by chatting with the employee&#8221; concept really caught my attention. In practice, do users prefer conversational setup over traditional forms and 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! The chat-driven onboarding is interesting. How are you validating role configuration flows when users give ambiguous or conflicting instructions to an AI employee? I imagine those edge cases could be challenging to test across multiple integrations.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@srishti_patil\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@srishti_patil<\/a>&nbsp;Thank you, we want agentic setup to feel very easy. As easy as how you would onboard an human. Edge cases is always challenging for any ai based onboarding but we have mapped a lot of use cases and it is still button controllable so multiple ways to get people hiring their first ai employee<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ZVIUG5CKIUEZDF\" class=\"app-title\">PeakRoutine<\/a><\/p>\n<div class=\"one-liner\">Personalized health coaching powered by your biomarkers<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">210<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PeakRoutine\u901a\u8fc7AI\u5173\u8054\u5206\u6790\u4f60\u7684\u7761\u7720\u3001\u8fd0\u52a8\u3001\u8425\u517b\u7b49\u751f\u7269\u6807\u5fd7\u7269\u6570\u636e\uff0c\u5c06\u6742\u4e71\u7684\u53ef\u7a7f\u6234\u6570\u636e\u8f6c\u5316\u4e3a\u6bcf\u65e5\u53ef\u6267\u884c\u7684\u4e2a\u6027\u5316\u5065\u5eb7\u4e60\u60ef\uff0c\u89e3\u51b3\u201c\u6570\u636e\u770b\u5f97\u89c1\u5374\u4e0d\u77e5\u8be5\u505a\u4ec0\u4e48\u201d\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\/cacd2325-0b1e-45f6-ba5b-c58ce8fbd33c.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\/a3266b11-3009-426f-8be0-bfbdc9a3942a.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\/bf15463f-0f93-4242-82e0-a31133608470.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\/7351c72c-21dc-4c58-b87a-012ca4aae3bc.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\/34baf8c8-84f7-432b-b8d1-62dd4d9bfd33.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\/ebcdf7ed-4ac6-4775-9210-6f5f489b0b8a.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\/4084430a-bc5d-49eb-aad7-566d5e195fe4.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\/e40d2577-6251-4845-b4dd-ba9f613f49ab.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\/bf8f9bb7-cdf7-4643-bed4-bd7b0c8fc63f.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\/6f27b43b-258a-4f34-a163-ed5ca75573d2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/MZAxdkIedkQ\"><source src=\"https:\/\/youtu.be\/MZAxdkIedkQ\" 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\">iOS<\/span><br \/>\n            <span class=\"tag\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Wearables<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5065\u5eb7\u6559\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u751f\u7269\u6807\u5fd7\u7269\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7a7f\u6234\u6570\u636e\u5173\u8054<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u4e60\u60ef\u517b\u6210<\/span><br \/>\n            <span class=\"tag\">\u7761\u7720\u4e0e\u65e5\u5149\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u6570\u636e\u89e3\u8bfb<\/span><br \/>\n            <span class=\"tag\">N1\u5065\u5eb7\u6d1e\u5bdf<\/span><br \/>\n            <span class=\"tag\">\u9884\u9632\u6027\u5065\u5eb7<\/span><br \/>\n            <span class=\"tag\">iOS\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\u4e3b\u8981\u5173\u6ce8\uff1a\u4e0eWhoop\u7b49\u7ade\u54c1\u7684\u5dee\u5f02\u3001AI\u5982\u4f55\u907f\u514d\u865a\u5047\u5173\u8054\uff08\u5982\u65e5\u5149vs\u6212\u9152\uff09\u3001\u4e60\u60ef\u5f15\u64ce\u5728\u4f4e\u6062\u590d\u65e5\u662f\u5426\u8c03\u6574\u3001\u5bf9\u7236\u6bcd\/\u5973\u6027\u5065\u5eb7\u7684\u652f\u6301\u89c4\u5212\u3002\u5efa\u8bae\u660e\u786e\u533a\u5206\u56e0\u679c\u4e0e\u5de7\u5408\uff0c\u5e76\u5c55\u793a\u5b9e\u9645\u6539\u5584\u8bc1\u636e\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                PeakRoutine\u7684\u6210\u529f\u4e4b\u5904\u5728\u4e8e\u7cbe\u51c6\u51fb\u4e2d\u4e86\u201c\u6570\u636e\u7126\u8651\u201d\u8fd9\u4e00\u666e\u904d\u75db\u70b9\u2014\u2014\u591a\u6570\u5065\u5eb7App\u626e\u6f14\u7684\u662f\u201c\u6570\u636e\u955c\u5b50\u201d\uff0c\u800c\u5b83\u8bd5\u56fe\u6210\u4e3a\u201c\u884c\u52a8\u6307\u5357\u201d\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975eAI\u6559\u7ec3\u6709\u591a\u806a\u660e\uff0c\u800c\u662f\u5c06\u201c\u76f8\u5173\u6027\u5206\u6790\u201d\u8f6c\u5316\u4e3a\u201c\u751f\u7269\u53cd\u9988\u9a71\u52a8\u7684\u5fae\u4e60\u60ef\u5f15\u64ce\u201d\u3002\u8fd9\u5de7\u5999\u89c4\u907f\u4e86N1\u6570\u636e\u65e0\u6cd5\u505a\u56e0\u679c\u63a8\u65ad\u7684\u5148\u5929\u7f3a\u9677\uff1a\u5b83\u4e0d\u5ba3\u79f0\u201cX\u5bfc\u81f4Y\u201d\uff0c\u800c\u662f\u6784\u9020\u4e00\u4e2a\u57fa\u4e8e\u4f60\u81ea\u8eab\u6570\u636e\u7684\u201c\u6d4b\u8bd5-\u53cd\u9988\u201d\u5faa\u73af\uff0c\u8ba9\u8eab\u4f53\u81ea\u5df1\u8bf4\u8bdd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ece\u8bc4\u8bba\u53cd\u9988\u770b\uff0c\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u5c1a\u4e0d\u6e05\u6670\u3002\u7ade\u54c1\u5982Whoop\u3001Oura\u4e5f\u5728\u9010\u6b65\u52a0\u5165AI\u6d1e\u5bdf\u4e0e\u4e60\u60ef\u5efa\u8bae\uff0cPeakRoutine\u7684\u201c\u8de8\u6307\u6807\u5173\u8054\u201d\u4e0e\u201c\u591a\u4e13\u5bb6AI\u201d\u80fd\u5426\u5f62\u6210\u8db3\u591f\u58c1\u5792\u503c\u5f97\u6000\u7591\u3002\u5173\u952e\u5728\u4e8e\uff1a\u5f53\u7528\u6237\u65b0\u9c9c\u611f\u6d88\u9000\u540e\uff0c\u90a3\u4e9b\u201c\u9690\u85cf\u7684\u6a21\u5f0f\u201d\uff08\u5982\u65e5\u5149\u6539\u5584\u7761\u7720\uff09\u662f\u5426\u8db3\u591f\u98a0\u8986\u4ed6\u4eec\u7684\u8ba4\u77e5\uff0c\u4ece\u800c\u5f62\u6210\u4f9d\u8d56\uff1f\u76ee\u524d\u4ea7\u54c1\u4ecd\u5904\u4e8e\u201c\u63d0\u793a\u201d\u9636\u6bb5\uff0c\u79bb\u771f\u6b63\u7684\u201c\u884c\u4e3a\u6539\u53d8\u201d\u5c1a\u6709\u8ddd\u79bb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u81f4\u547d\u7684\u6f5c\u5728\u95ee\u9898\u662f\u7528\u6237\u5951\u5408\u5ea6\u3002\u521b\u59cb\u4eba\u56e0\u524d\u9a71\u7cd6\u5c3f\u75c5\u800c\u521b\u4e1a\uff0c\u4f46\u4ea7\u54c1\u5b9a\u4f4d\u5374\u662f\u201c\u975e\u4e34\u5e8a\u3001\u7eaf\u9884\u9632\u201d\u7684\u65e5\u5e38\u4fdd\u5065App\u3002\u8fd9\u5b58\u5728\u5929\u7136\u77db\u76fe\uff1a\u771f\u6b63\u9700\u8981\u884c\u4e3a\u6539\u53d8\u7684\u9ad8\u98ce\u9669\u7528\u6237\uff08\u5982\u524d\u9a71\u7cd6\u5c3f\u75c5\uff09\u53ef\u80fd\u5e0c\u671b\u66f4\u4e13\u4e1a\u7684\u6307\u5bfc\uff0c\u800c\u666e\u901a\u7528\u6237\u53ef\u80fd\u89c9\u5f97\u201c\u63d0\u9192\u6211\u6652\u6652\u592a\u9633\u201d\u592a\u9e21\u808b\u3002\u5982\u679c\u65e0\u6cd5\u5728\u65e9\u671f\u9501\u5b9a\u5e76\u9a8c\u8bc1\u4e00\u4e2a\u9ad8\u4ef7\u503c\u4eba\u7fa4\uff08\u5982\u4ea7\u540e\u6062\u590d\u7684\u5988\u5988\uff09\uff0c\u4ea7\u54c1\u5f88\u5bb9\u6613\u9677\u5165\u201c\u4eba\u4eba\u9700\u8981\u4f46\u65e0\u4eba\u613f\u610f\u4ed8\u8d39\u201d\u7684\u7a98\u5883\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u540e\uff0c\u4f9d\u8d56Apple Health\u4f5c\u4e3a\u6570\u636e\u4e2d\u67a2\u662f\u4e00\u628a\u53cc\u5203\u5251\uff0c\u65e2\u964d\u4f4e\u4e86\u63a5\u5165\u95e8\u69db\uff0c\u4e5f\u5e26\u6765\u4e86\u5e73\u53f0\u4f9d\u8d56\u548cAndroid\u7528\u6237\u7684\u6d41\u5931\u98ce\u9669\u3002\u6574\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u6781\u5177\u6d1e\u5bdf\u7684\u8bbe\u8ba1\uff0c\u4f46\u5176\u957f\u671f\u4ef7\u503c\u53d6\u51b3\u4e8e\u80fd\u5426\u5c06\u201c\u6709\u8da3\u7684\u6d1e\u5bdf\u201d\u6301\u7eed\u8f6c\u5316\u4e3a\u201c\u6709\u7c98\u6027\u7684\u4e60\u60ef\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\">PeakRoutine<\/span>\n                <\/div>\n<div class=\"comment-content\">PeakRoutine connects your sleep, sunlight, exercise, calories, nutrition, mood, hydration, and more \u2014 correlates them against each other \u2014 then tells you exactly what it means for your body. No generic plans. Just a proactive AI coach that learns your biology and builds habits around it.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Hey Product Hunt \ud83d\udc4b \u2014 I&#8217;m Siddhant, co-founder of PeakRoutine.<\/strong><\/p>\n<p>Two years ago I was pre-diabetic at 32, staring at an Apple Watch full of data and still had no idea what was actually making me sick. Turns out it was my sleep. No app told me that. That&#8217;s the thing nobody tells you: most health apps are expensive mirrors. They track everything and change nothing.<\/p>\n<p><strong>So we built one that would.<\/strong><br \/>That gap became PeakRoutine. We pull in everything \u2014 sleep, sunlight, exercise, calories, nutrition, mood, hydration, HRV, stress \u2014 and instead of handing you another dashboard, our AI correlation engine finds the patterns that matter for your body specifically. Not a generic plan. Your biology, learned over time.<\/p>\n<p><strong>Here&#8217;s what that looks like in practice:<\/strong><\/p>\n<ol>\n<li>\n<p>You sync through Apple Health, so your Apple Watch, Oura, WHOOP, or whatever you use all flows in automatically.<\/p>\n<\/li>\n<li>\n<p>We correlate your biomarkers against each other and surface the relationships you&#8217;d never catch manually \u2014 the ones that explain why you&#8217;ve been dragging this week.<\/p>\n<\/li>\n<li>\n<p>Six AI health coaches answer anything about your sleep, recovery, stress, nutrition, or energy, grounded in your full biological picture.<\/p>\n<\/li>\n<li>\n<p>A biology-aware habit engine builds your daily routine around what your body can actually handle right now \u2014 not what a template says you should do.<\/p>\n<\/li>\n<\/ol>\n<p>We recently became new parents \u2014 which has a way of making you ruthless about long-term health. You stop optimizing for today and start thinking in decades. It also showed us how differently health shows up depending on who you are and what season of life you&#8217;re in. Women&#8217;s health and parent-specific experiences are next on our roadmap \u2014 not as an afterthought, but because we&#8217;ve lived the gap firsthand.<\/p>\n<p><strong>So we built around your biology, not a dashboard.<\/strong><\/p>\n<p>If you&#8217;ve ever looked at your health app and thought &#8220;so what?&#8221; \u2014 this is built for you.<\/p>\n<p>We&#8217;re in early access on TestFlight right now \u2014 a small, intentional rollout before our full App Store launch. Install takes 2 minutes. Honest feedback from this community means everything at this stage \u2014 the good, the bad, and especially the brutal.<\/p>\n<p><strong>One question to kick things off: <\/strong>do you actually act on your wearable data, or mostly just look at it?<\/p>\n<p><strong>For the launch day we are offering 35% &#8211; come and try it out and I am sure you will love it. <\/strong><\/p>\n<p>AMA in the comments. Let&#8217;s talk. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>22<\/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\/@siddhant_gupta12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@siddhant_gupta12<\/a>&nbsp;Yeah, wearable data provided instant action impulse, get me to work on things for a day or two  and when the fear subsides, back to what I do normally, ignoring the health related red flags. Does Peakroutine provides a plan, motivation and daily achievable goals to work on the red flags?<\/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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@siddhant_gupta12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@siddhant_gupta12<\/a>&nbsp;love the focus on actionable habits over just data mirrors. btw are you guys running 6 LLM agents with custom prompts for the coaches or is it one unified model? <\/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\/@siddhant_gupta12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@siddhant_gupta12<\/a>&nbsp;Many congratulations on the launch, Siddhant. \ud83d\ude42 <\/p>\n<\/p>\n<p>When Siddhant reached out to me about PeakRoutine, he didn\u2019t just share a product pitch, he shared his personal story of recovering from pre-diabetes at 32. That raw honesty about his own health journey is exactly why I backed this hunt. <\/p>\n<\/p>\n<p>PeakRoutine offers personalized health coaching powered by your biomarkers. Instead of another dashboard, it connects your sleep, sunlight, exercise, calories, nutrition, mood, and hydration and correlates them against each other to reveal hidden patterns only your body shows. <\/p>\n<\/p>\n<p>Most health apps just track your health data, PeakRoutine is the opposite: a proactive AI coach that learns your biology over time and builds habits <em>around<\/em> it, not around generic templates. <\/p>\n<\/p>\n<p>The fact that it was born from Siddhant\u2019s own frustration with wearable data that created fear but no action makes this mission deeply personal and trustworthy. Give it a spin! \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>10<\/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>In my experience every other app guilt-trips you over one bad night and kills the streak, so building around what your body can actually handle that day is a real wedge, congrats! I was wondering at n=1 with noisy wearable data, how do you stop it surfacing a coincidence as a pattern, i.e. telling me morning sunlight fixed my sleep when really I just skipped the late glass of wine? Is there a confidence threshold before a correlation becomes advice?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/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\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Thanks \u2014 and you nailed why the streak model is broken: punishing one bad night ignores that some days your body just can&#8217;t <\/p>\n<p>The sunlight-vs-wine case is the perfect question, and honestly: from passive n=1 data you can&#8217;t fully separate two things that moved together. Nobody can. So one good night never becomes &#8220;sunlight worked.&#8221;<\/p>\n<p>What keeps coincidences out: the moment your wearable syncs we pull your last 90 days, so we&#8217;re reading across dozens of nights \u2014 and a pattern has to repeat (including days the &#8220;wine&#8221; wasn&#8217;t a factor) before it&#8217;s advice. One-off signals stay low-confidence and never surface. So yes, there&#8217;s a real threshold before a correlation becomes a recommendation.<\/p>\n<p>The real fix though is the test loop: hold one variable for a few days and see if your sleep replicates. Holds without the wine \u2192 real for you. Doesn&#8217;t \u2192 we drop it. About as close to causal as you get at n=1, and we&#8217;d rather admit that than dress a fluke up as proof.<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b Maker here.<\/p>\n<\/p>\n<p>PeakRoutine started from a simple frustration: health apps drown you in data and starve you of direction. Most of them hand you dashboards and leave you to play scientist with your own body. The goal here was the opposite: less charts, more &#8220;here&#8217;s what to actually do tomorrow.&#8221;<\/p>\n<\/p>\n<p>So it&#8217;s built around the things the category mostly ignores:<\/p>\n<ul>\n<li>\n<p>Per-biomarker AI insights \u2014 every metric (sleep, HRV, RHR, sunlight, activity\u2026) gets a plain-English read on how you&#8217;re doing and exactly what to improve, not just a number on a chart.<\/p>\n<\/li>\n<li>\n<p>Correlation, not dashboards \u2014 it connects sleep, HRV, mood, activity and sunlight and surfaces the hidden links (the most common &#8220;whoa&#8221; moment: morning light before 10am quietly driving both mood and deep sleep).<\/p>\n<\/li>\n<li>\n<p>6 named specialist coaches with memory \u2014 Health, Sleep, Fitness, Nutrition, Recovery and Mental Health \u2014 all reading the same biomarker data. No generic, one-size AI.<\/p>\n<\/li>\n<li>\n<p>Sunlight \/ circadian tracking \u2014 genuinely rare in health apps, and a real wedge rather than a footnote.<\/p>\n<\/li>\n<\/ul>\n<p>v1 is biomarker insight + correlation, all pulled from Apple Health (hardware-agnostic). Habit execution, direct wearable integration, and parent mode come next.<\/p>\n<\/p>\n<p>Would genuinely love for you to tear it apart: what&#8217;s the one thing you&#8217;d need to see before you&#8217;d switch from whatever you use today?<\/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>Health coaching based on your actual biomarkers is a great angle. Which biomarkers does PeakRoutine track, and how do you input them?<\/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\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Thanks! \ud83d\ude0a <\/p>\n<p>Core ones: sleep (duration + stages), HRV, resting heart rate, steps\/activity\/active energy, workouts, and daylight exposure \u2014 plus mood, journaling, and nutrition on the self-reported side.<\/p>\n<\/p>\n<p>Best part: you don&#8217;t really input most of it. Connect Apple Health once and it pulls everything automatically \u2014 whatever your wearable writes to Apple Health flows in, nothing to type. The only manual bits are quick mood, journaling, and nutrition check-ins.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I wear a whoop band. Whoop already has coaching feature. Would Peak Routine still be useful? <\/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\/@iamanantgupta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iamanantgupta<\/a>&nbsp;Totally fair question \u2014 Whoop&#8217;s coaching is genuinely solid at what it does. Honest answer: PeakRoutine isn&#8217;t trying to replace your Whoop, it adds a different layer on top.<\/p>\n<\/p>\n<p>Whoop goes deep on recovery and strain inside its own metrics, with one general coach. We&#8217;re built around breadth and habits instead:<\/p>\n<ul>\n<li>\n<p>It correlates across your whole picture \u2014 sleep, HRV, activity, sunlight, even mood\/journaling \u2014 not just strain and recovery. That sunlight + mood angle is where a lot of the &#8220;aha&#8221; lives, and it&#8217;s mostly outside Whoop&#8217;s lane.<\/p>\n<\/li>\n<li>\n<p>6 specialist coaches with memory (Sleep, Recovery, Nutrition, etc.) instead of one general voice.<\/p>\n<\/li>\n<li>\n<p>The big one: it&#8217;s a habit-building engine, not just a daily score. It turns insights into small daily goals and helps you actually stick with them \u2014 the part most of us bounce off once the novelty fades.<\/p>\n<\/li>\n<\/ul>\n<p>So if Whoop already keeps you on track, honestly, amazing. But if you&#8217;ve got great data and still aren&#8217;t changing the daily habits, that gap is exactly what we&#8217;re built for. <\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Other than the Apple health data, does it also sync with other wearables? <\/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\/@roopreddy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roopreddy<\/a>&nbsp;Great question! Today it all comes through Apple Health \u2014 which means any device that writes to Apple Health (Apple Watch, Oura, Garmin, etc.) already syncs automatically, so we&#8217;re not locked to one wearable.<\/p>\n<p>Native per-device integrations and Android support are next on the roadmap. Anything specific you&#8217;re hoping to connect?<\/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<\/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 this more of a preventive care app or it&#8217;s meant for people with chronic conditions or both? How do you envision it? <\/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\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;Thanks so much, Himani! \u2728<\/p>\n<p>Honestly, it&#8217;s neither in the clinical sense \u2014 at heart it&#8217;s a wellness app. The whole point is helping you feel and function better day to day, and turning that into habits that compound into real long-term health.<\/p>\n<p>So less &#8220;diagnose or manage a condition,&#8221; more &#8220;understand your body, build the small habits that keep you well, and actually stick with them.&#8221; Anyone can use it \u2014 it&#8217;s about everyday wellness and playing the long game, not replacing medical care.<\/p>\n<p>That&#8217;s exactly how we envision it: your long-term health and habit-building companion. Curious what made you ask?<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@siddhant_gupta12\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"siddhant_gupta12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@siddhant_gupta12<\/a> !<\/p>\n<\/p>\n<p>Why would someone use this instead of Apple Health? Is the biggest differentiator the unified dashboard, the AI insights, or the habit-building system?<\/p>\n<\/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\/@byalexai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@byalexai<\/a>&nbsp;Thanks so much \ud83d\ude4f<\/p>\n<p>Great question &#8211; and the honest answer is we&#8217;re not trying to replace Apple Health, we sit on top of it.  Honestly, it&#8217;s not any one of them. The dashboard, AI insights, and habits are all just pillars toward the real goal: actually improving your health, not just recording it.<\/p>\n<p>Apple Health is a brilliant vault \u2014 it stores everything but tells you almost nothing. PeakRoutine actually makes sense of that data &#8211; surfacing correlations, trends, and patterns and tells you in plain language what it means for you, then helps you act on it through habits while taking into account recovery days, so one off day doesn&#8217;t wreck your momentum.<\/p>\n<\/p>\n<p>None of the pillars does much alone. Together, they turn your data into a healthier you. That&#8217;s the difference.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>6<\/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 Product Hunt! \ud83d\udc4b I\u2019m Sakshi, one of the makers of PeakRoutine.<\/p>\n<\/p>\n<p>We built PeakRoutine because most health apps felt like expensive mirrors.<\/p>\n<\/p>\n<p>They showed us sleep scores, steps, HRV, stress, and trends \u2014 but still left us asking:<\/p>\n<\/p>\n<p>\u201cOkay\u2026 what should I actually do today?\u201d<\/p>\n<\/p>\n<p>PeakRoutine turns your wearable and lifestyle data into simple, personalized weekly routines across sleep, movement, sunlight, mood, energy, and recovery.<\/p>\n<p>No overwhelming dashboards.<br \/>No generic habit lists.<\/p>\n<p>Just small, practical actions that help your body feel better over time.<\/p>\n<\/p>\n<p>Our mission is simple:<\/p>\n<p><strong>Turn health data into direction.<\/strong><\/p>\n<\/p>\n<p>We\u2019re launching our first version today and would love your honest feedback:<\/p>\n<\/p>\n<p>What\u2019s one thing you wish your wearable or health app helped you improve automatically?<\/p>\n<p>Excited to hear what the PH community thinks \ud83d\ude4f<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I noticed the app connects sleep, HRV and mood. Have users discovered any surprising patterns about themselves through PeakRoutine ?<\/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\/@harini_mukesh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harini_mukesh<\/a>&nbsp;Great question! Yes, absolutely. One of the most interesting things we&#8217;ve seen is that users often assume exercise or nutrition is the main driver of how they feel, but the data frequently points elsewhere. For example, some users discovered that just 20\u201330 minutes of morning sunlight was closely linked to better sleep quality and recovery, while others found that a few nights of poor sleep had a much bigger impact on mood and HRV than they expected. Helping people uncover these hidden connections is exactly why we built PeakRoutine.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The recovery-aware habit engine feels like the strongest part. Wearables already show what happened, but turning that into small actions your body can actually handle is much harder. Curious how quickly the routine adapts after a few bad nights.<\/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\/@farrukh_butt1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farrukh_butt1<\/a>&nbsp;You get it  \u2014 any band can tell you that you slept like trash. The annoying part is it still expects you to crush the same workout. That&#8217;s the bit we built around.<\/p>\n<p>It reacts the next morning, not next week. One rough night, it takes the edge off the day. A few in a row, it properly backs off \u2014 hard session \u2192 a walk or mobility, gentler targets, and it nudges you to recover instead of guilt-tripping you. It follows the trend, not one reading, so no overreacting to a single late night \u2014 and the second you bounce back, it ramps you up again instead of babying you. The plan moves with you instead of making you feel like you failed 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The correlation engine is the part that stands out to me, surfacing relationships across sleep, HRV and sunlight is genuinely hard to do well at n=1. How many days of synced history do you typically need before the AI starts surfacing confident patterns rather than noise?<\/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\/@zain_sheikh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zain_sheikh<\/a>&nbsp;Appreciate that \u2014 the n=1 correlation problem is honestly the hardest part to get right <\/p>\n<\/p>\n<p>Real answer: it&#8217;s recurrence-driven, not a fixed day count. We backfill ~90 days the moment you sync, so a lot of the first patterns show up on day one. After that, a high-frequency daily signal (sunlight \u2192 that night&#8217;s sleep) firms up in ~2\u20133 weeks since you get a data point every day; rarer behaviors take proportionally longer.<\/p>\n<\/p>\n<p>So ballpark: confident single-link patterns in a couple of weeks (or instantly if your history already shows them), multi-variable stuff over a month or so. And anything that hasn&#8217;t earned confidence stays &#8220;noticing,&#8221; not advice \u2014 we&#8217;d rather under-claim than surface noise. <\/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>Finally an app that turns my wearable data into something I can actually act on instead of just staring at. Does the habit engine adapt on low-recovery days, or hold me to the same plan?<\/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\/@zain_sheikh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zain_sheikh<\/a>&nbsp;This made our day \ud83d\ude4c \u2014 &#8220;act on it instead of staring at it&#8221; is literally the whole reason we built it.<\/p>\n<p>And yes, it adapts. Holding you to the same plan on a low-recovery day is exactly the streak-guilt trap we wanted to kill. When your recovery, sleep or HRV say you&#8217;re running low, the engine dials the day back \u2014 swaps the hard session for a walk or mobility, protects your streak instead of breaking it, and nudges the harder stuff to a day your body can actually take it.<\/p>\n<p>And it doesn&#8217;t just hand you tasks \u2014 every step tells you what it affects and how it&#8217;ll help (the &#8220;why it matters&#8221; + expected impact on your numbers), all laid out as a priority list so you know exactly what to do first instead of guessing.<\/p>\n<p>The goal is consistency with your biology, not in spite of it \u2014 push when you&#8217;ve got capacity, recover when you don&#8217;t, and always know which move matters most.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does PeakRoutine distinguish between a real causal signal and a random correlation? What evidence shows the recommendations actually improve outcomes?<\/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>Love this question \u2014 it&#8217;s the exact trap we built the whole thing to avoid.<\/p>\n<\/p>\n<p>We only surface a pattern when it keeps repeating over time \u2014 that&#8217;s what separates a real signal from a one-off coincidence. And even then it&#8217;s shown as &#8220;likely,&#8221; never &#8220;this caused that.&#8221; It&#8217;s always *your* data vs your own baseline, not averages from other people.<\/p>\n<\/p>\n<p>Here&#8217;s the part that matters most though: we don&#8217;t just tell you, we test it. Suggest one small change, then check whether your numbers actually move. That per-person loop is the strongest kind of proof there is \u2014 it&#8217;s evidence from *your* body, not a &#8220;studies say&#8221; average that might not apply to you at all.<\/p>\n<\/p>\n<p>Do we have formal clinical studies behind it yet? Not yet, and we won&#8217;t pretend to. But the whole engine is built to earn trust one validated change at a time \u2014 which beats confident-sounding guesses every day.<\/p>\n<\/p>\n<p>Put it to the test and let it prove itself \ud83d\ude4f<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Which wearables and data sources do you support right now, and do you rely on Apple Health as the hub?<\/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\/@naimz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naimz<\/a>&nbsp;PeakRoutine works with all major wearables \u2014 Apple Watch, Oura, WHOOP, Garmin, you name it. Right now we use Apple Health as the hub, so if your device syncs there, you&#8217;re good to go with zero setup. In the next few weeks though, we&#8217;re rolling out direct wearable integrations, which means you&#8217;ll be able to connect multiple devices and pick which one you want powering which activity \u2014 so your Oura handles sleep, your Apple Watch handles workouts, that kind of thing.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>personalized health coaching from biomarkers is the kind of thing that only works if the recommendations stay coherent over time. how do you handle the case where a biomarker shifts (sleep, HRV, fasting glucose) and your last week&#8217;s plan suddenly contradicts this week&#8217;s? does it explain the why behind the change or just hand you the new plan?<\/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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;This is a sharp question \u2014 and one of the core product challenges we&#8217;ve been obsessing over.<\/p>\n<p><strong>The short answer<\/strong>: we don&#8217;t just hand you a new plan. Every recommendation has two elements baked in \u2014 <em>why that step was recommended<\/em> and <em>its expected impact<\/em>. Beyond that, when a plan changes, the coaching explains the delta: what shifted in your data, why it matters biologically, and why the recommendation is evolving as a result.<\/p>\n<p><strong>Here&#8217;s how it actually works in practice:<\/strong><\/p>\n<p>When a biomarker shifts (say your HRV drops 15% over 5 days while sleep duration looks fine), the system doesn&#8217;t treat it in isolation. It looks at the cluster \u2014 did workout intensity spike? Is sunlight exposure down? The coaching narrative is built around that pattern, not the single number.<\/p>\n<p>The &#8220;<strong>why behind the change<\/strong>&#8221; isn&#8217;t optional \u2014 it&#8217;s the core UI moment. We found in early beta that users ignored recommendations they didn&#8217;t understand, even good ones. So the coaching surfaces something like: <em>&#8220;Your HRV dropped after you hit 3 high-intensity days in a row \u2014 your nervous system is signaling it needs recovery, not another push day.&#8221;<\/em> The plan change follows from that explanation, not the other way around.<\/p>\n<p><strong>On coherence over time<\/strong>: this is genuinely hard. We maintain a rolling context of your recent biomarker trajectory so a new recommendation doesn&#8217;t contradict last week&#8217;s without acknowledging it. If we told you to prioritize Zone 2 cardio last week and we&#8217;re now saying dial back intensity, the coaching bridges that \u2014 it doesn&#8217;t just silently flip.<\/p>\n<p>What we&#8217;re still building: a more robust &#8220;plan memory&#8221; layer that surfaces when the AI updates its model of you and why \u2014 so you can see your health narrative evolve, not just get a new set of instructions every Monday.<\/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\">This is amazing,  team! Congrats on the launch! Can you clarify how my data is stored? Also how personalized are the recommendations\/notifications? are they generic or super tailored to my habits<\/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\/@sakshi_patil8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sakshi_patil8<\/a>&nbsp;Thank you so much \u2728 Both great questions:<\/p>\n<p>On your data \u2014 it&#8217;s encrypted in transit and at rest, never sold, and never shared with advertisers. You stay in control: you choose what syncs from Apple Health, and you can export or delete everything whenever you want. It&#8217;s your health data, full stop.<\/p>\n<p>On personalization \u2014 it&#8217;s the opposite of generic. Every recommendation is built off <em>your<\/em> baselines and <em>your<\/em> patterns, not population averages. So instead of &#8220;everyone should get 8 hours,&#8221; it&#8217;s more like &#8220;your deep sleep drops on the nights you train after 7pm \u2014 here&#8217;s what to try.&#8221; The notifications work the same way: they fire off your actual trends and recovery, so they show up when they&#8217;re relevant to you, not on a generic schedule. The whole point is advice that sounds like it&#8217;s about you \u2014 because it is.<\/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>Biomarkers plus coaching is way more useful than another dashboard yelling at me. How do you keep the advice simple enough to actually follow?<\/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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;Ha \u2014 &#8220;dashboard yelling at me&#8221; is basically this app&#8217;s villain origin story <\/p>\n<\/p>\n<p>The trick is restraint. It might spot ten things but won&#8217;t dump ten on you \u2014 it gives a short ranked list and leads with one priority, the single move that matters most right now. And each step is small and concrete: not &#8220;improve your sleep,&#8221; but &#8220;20 min of morning light before 10am, 4 days this week.&#8221; Plus a quick why, so it reads as a reason, not a nag. Fewer things, said plainly, that fit a real 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<pre><code>The biomarker-driven angle is what makes this stand out from generic coaching apps \u2014 most personalize on goals, not actual physiology. Curious which wearables\/inputs it pulls from out of the box?<\/code><\/pre>\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\/@felix_masera\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@felix_masera<\/a>&nbsp;Thanks so much \u2014 you&#8217;ve nailed exactly what we set out to do. Most apps personalize on <em>intent<\/em> (&#8220;I want to lose weight&#8221;), we personalize on <em>state<\/em> (&#8220;your HRV dropped 18% this week and your sleep efficiency is at 71% \u2014 here&#8217;s what that means for today&#8221;).<\/p>\n<p>Out of the box we pull from <strong>Apple Health<\/strong>, which means anything feeding into it works \u2014 Apple Watch, Oura, WHOOP, Garmin, and manual logs for nutrition, mood, and hydration. We&#8217;re hardware-agnostic by design so you&#8217;re not locked into one ecosystem.<\/p>\n<p>Direct integrations (WHOOP, Oura Ring, AmazFit etc) are next on the roadmap. Would love to hear what you&#8217;re tracking \u2014 always shapes what we prioritize! \ud83d\ude4f<\/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>Looks really interesting Sakshi &#8211; using biomarker data to drive coaching recommendations is a much more honest approach than generic advice. What biomarker sources are you currently integrating with? (Oura, Apple Health, blood panels?) &#8211; I have a friend of mine that was working in sth similar&#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<\/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\/RA45EQ767HXQGH\" class=\"app-title\">Edgee Turbo Models<\/a><\/p>\n<div class=\"one-liner\">Use Claude Code with Kimi K2.7 Code, MiniMax M2.7, and more<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">175<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Edgee Turbo Models \u901a\u8fc7\u4e00\u4e2a\u56fa\u5b9a\u6708\u8d39\u7684\u7f51\u5173\uff0c\u8ba9\u5f00\u53d1\u8005\u80fd\u5728 Claude Code \u7b49\u7f16\u7801\u52a9\u624b\u4e2d\u65e0\u7f1d\u5207\u6362\u5e76\u4f7f\u7528\u9ad8\u901f\u63a8\u7406\u7684\u5f00\u6e90\u5927\u6a21\u578b\uff0c\u89e3\u51b3\u4e86 LLM \u7f16\u7801\u65f6\u901f\u5ea6\u6162\u3001\u8d39\u7528\u4e0d\u53ef\u9884\u6d4b\u4ee5\u53ca\u6a21\u578b\u5207\u6362\u914d\u7f6e\u7e41\u7410\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\/f3791be9-99e9-49f3-99c5-036f9db7143d.jpeg?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\/d1814f73-ad0d-4a11-bef4-2606e0543b53.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\/23f7e2e4-2dcc-4278-be5c-49f14b764a4d.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\/f0631590-f32c-41dd-8d91-841d5e643a61.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=mKoLEopExKA\"><source src=\"https:\/\/www.youtube.com\/watch?v=mKoLEopExKA\" 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\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7801\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u7f51\u5173<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5927\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">\u63a8\u7406\u52a0\u901f<\/span><br \/>\n            <span class=\"tag\">\u56fa\u5b9a\u5b9a\u4ef7<\/span><br \/>\n            <span class=\"tag\">Codex<\/span><br \/>\n            <span class=\"tag\">API\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">Kimi<\/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\u80af\u5b9a\u56fa\u5b9a\u6708\u8d39\u6a21\u5f0f\uff0c\u8ba4\u4e3a\u8fd9\u89e3\u51b3\u4e86\u4ee4\u724c\u8ba1\u8d39\u4e0d\u53ef\u63a7\u7684\u6838\u5fc3\u7126\u8651\u3002\u53cd\u9988\u96c6\u4e2d\u4e8e\u6280\u672f\u7ec6\u8282\uff1a\u8be2\u95ee\u662f\u5426\u652f\u6301\u6a21\u578b\u95f4\u70ed\u5207\u6362\u3001\u81ea\u52a8\u56de\u9000\u3001\u9ad8\u901f\u63a8\u7406\u7684\u51b7\u542f\u52a8\u95ee\u9898\uff0c\u4ee5\u53ca\u5bf9 DeepSeek V4\u3001Qwen 3.5 Coder \u7b49\u66f4\u591a\u6a21\u578b\u7684\u52a0\u5165\u671f\u5f85\u3002\u5f00\u53d1\u8005\u5bf9\u5728 Claude Code \u5185\u76f4\u63a5\u4f7f\u7528 Kimi K2.7\u3001GLM 5.1 \u7684\u96f6\u914d\u7f6e\u4f53\u9a8c\u8868\u793a\u8d5e\u8d4f\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                Edgee Turbo Models \u662f\u4e00\u6b3e\u7cbe\u51c6\u5207\u4e2d\u5f00\u53d1\u8005\u201c\u7f16\u7801\u7259\u75bc\u201d\u7684\u6b62\u75db\u836f\u3002\u5b83\u7684\u4ef7\u503c\u5728\u4e8e\uff0c\u5b83\u4e0d\u518d\u8c08\u8bba\u6a21\u578b\u6027\u80fd\u7684\u767e\u5206\u4f4d\u63d0\u5347\uff0c\u800c\u662f\u805a\u7126\u4e8e\u4e24\u4e2a\u66f4\u81f4\u547d\u7684\u5de5\u7a0b\u95ee\u9898\uff1a**\u4f53\u9a8c\u7684\u4e0d\u53ef\u9884\u6d4b\u6027**\u548c**\u5207\u6362\u6469\u64e6**\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u672c\u8d28\u770b\uff0c\u5b83\u4e0d\u662f\u4e00\u4e2a\u6a21\u578b\uff0c\u800c\u662f\u4e00\u4e2a\u201c\u5b9a\u4ef7\u4e3b\u6743\u201d\u4e0e\u201c\u8def\u7531\u4f18\u5316\u7684\u7ec4\u5408\u62f3\u201d\u3002\u56fa\u5b9a\u6708\u8d39 $29 \u76f4\u51fb AI \u7f16\u7801\u6700\u5927\u7684\u9690\u5f62\u6210\u672c\u2014\u2014\u5fc3\u7406\u8d1f\u62c5\u3002\u5f53\u5f00\u53d1\u8005\u4e0d\u518d\u62c5\u5fc3\u201c\u8fd9\u4e2a\u5faa\u73af\u70e7\u4e86\u591a\u5c11\u94b1\u201d\uff0c\u4ed6\u4eec\u6562\u4e8e\u8fdb\u884c\u66f4\u6fc0\u8fdb\u7684 Agent \u5faa\u73af\u5b9e\u9a8c\u3002\u8fd9\u79cd\u5fc3\u6001\u8f6c\u53d8\u5bf9\u751f\u4ea7\u529b\u7684\u89e3\u653e\uff0c\u53ef\u80fd\u6bd4\u6a21\u578b\u80fd\u529b\u63d0\u5347 5% \u66f4\u6709\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6838\u5fc3\u62a4\u57ce\u6cb3\u5728\u4e8e\u201c\u96f6\u914d\u7f6e\u5207\u6362\u201d\u548c\u201c\u9ad8\u901f\u7f51\u5173\u201d\u3002\u901a\u8fc7\u900f\u660e\u4ee3\u7406 Claude Code \u7684 API \u8c03\u7528\uff0c\u5b83\u964d\u4f4e\u4e86\u5c1d\u8bd5\u65b0\u6a21\u578b\u7684\u5fc3\u7406\u95e8\u69db\u3002\u6b63\u5982\u8bc4\u8bba\u8005\u6240\u8a00\uff0c\u5f53\u524d\u95ed\u6e90\u4e0e\u5f00\u6e90\u6a21\u578b\u7684\u7f16\u7801\u80fd\u529b\u5dee\u8ddd\u6b63\u5728\u7f29\u5c0f\uff0c\u771f\u6b63\u7684\u5dee\u8ddd\u5728\u4e8e\u201c\u82b1\u4e00\u4e2a\u4e0b\u5348\u914d\u7f6e\u201d\u8fd8\u662f\u201c30 \u79d2\u5207\u6362\u201d\u3002Edgee \u89e3\u51b3\u4e86\u540e\u8005\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u6311\u6218\u540c\u6837\u660e\u663e\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u4e2d\u95f4\u5546\u201d\u751f\u610f\uff0c\u4f9d\u8d56\u80cc\u540e\u7684\u6a21\u578b\u63d0\u4f9b\u5546\uff08Together AI\u3001Fireworks \u7b49\uff09\u3002\u5982\u679c\u8fd9\u4e9b\u63d0\u4f9b\u5546\u672a\u6765\u63a8\u51fa\u66f4\u4f18\u7684\u76f4\u8fde\u65b9\u6848\u6216\u7c7b\u4f3c\u5b9a\u4ef7\uff0cEdgee \u7684\u8bae\u4ef7\u80fd\u529b\u548c\u5dee\u5f02\u5316\u5c06\u53d7\u5230\u51b2\u51fb\u3002\u6b64\u5916\uff0c\u201c\u9ad8\u901f\u63a8\u7406\u201d\u7684\u957f\u671f\u53ef\u6301\u7eed\u6027\u503c\u5f97\u89c2\u5bdf\uff0c\u5f53\u7528\u6237\u89c4\u6a21\u66b4\u6da8\uff0c\u7ef4\u6301 200 tok\/s \u548c\u4f4e\u5ef6\u8fdf\u7684\u6210\u672c\u80fd\u5426\u88ab $29 \u8986\u76d6\uff0c\u5c06\u662f\u5bf9\u5176\u57fa\u7840\u8bbe\u65bd\u548c\u8d44\u672c\u6548\u7387\u7684\u4e25\u683c\u8003\u9a8c\u3002\u5b83\u7684\u80dc\u5229\uff0c\u5c06\u662f**LLM \u7f16\u7801\u6218\u4e89\u4ece\u201c\u6a21\u578b\u519b\u5907\u7ade\u8d5b\u201d\u8f6c\u5411\u201c\u57fa\u7840\u8bbe\u65bd\u4e0e\u670d\u52a1\u4f53\u9a8c\u7ade\u4e89\u201d** \u7684\u4e00\u4e2a\u6807\u5fd7\u6027\u4fe1\u53f7\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\">Edgee Turbo Models<\/span>\n                <\/div>\n<div class=\"comment-content\">Run state-of-the-art open-source models (GLM 5.1, Kimi K2.7 Code, MiniMax M2.7, and more) in Claude Code at up to 4\u00d7 the speed (up to 200 tok\/s) for a flat $29\/month. Set up in minutes, no code changes.<\/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>Sacha here, co founder of Edgee.<\/p>\n<p>Story time. A few weeks ago I was working with Claude Code on a refactor with Opus. The model knew exactly what to do, but I sat there watching a 500-line file crawl out one token at a time. Two minutes for one file. Multiply that by every step of the agent loop and you realize: speed is the silent tax on every coding session.<\/p>\n<p>Around the same time I started testing open-source models like GLM and Kimi K2.7. The quality on coding tasks was honestly impressive. <\/p>\n<p>But the speed on standard endpoints was even slower than the closed models. And the setup was painful: API keys, code changes, CLAUDE md to rewrite, MCP servers to reconfigure.<\/p>\n<p>That&#8217;s the problem we built Edgee Turbo Models to solve.<\/p>\n<p>What it does:<\/p>\n<p>\u2192 Run frontier open-source models (GLM 5.1, Kimi K2.7 Code, Kimi K2.6, MiniMax 2.7) directly in Claude Code.<\/p>\n<p>\u2192 At up to 4x the speed of standard endpoints (~200 tok\/s vs ~50).<\/p>\n<p>\u2192 Flat $29\/month. No metered token bill that climbs as your agents work harder.<\/p>\n<p>\u2192 Setup in 2 minutes. Your CLAUDE md, MCP servers, and entire setup stay exactly where they are.<\/p>\n<p>Important point I want to get out front because it&#8217;ll come up:<\/p>\n<p>Turbo is NOT a smaller or quantized version of these models. They are the full open-weight checkpoints. Turbo only changes how they are served, on dedicated high-throughput inference infrastructure built for raw speed, not a shared best-effort endpoint. Same outputs, just faster.<\/p>\n<p>How this fits with our previous launches:<\/p>\n<p>&#8211; Compression: use fewer tokens per request<\/p>\n<p>&#8211; Teams: see who uses what, per repo, per PR<\/p>\n<p>&#8211; Fallback Models: keep working when Claude or Copilot hit limits<\/p>\n<p>&#8211; Turbo Models: run open-source models at premium speed, for flat pricing<\/p>\n<p>Together that is the Route + Compress + Observe stack of our Agent Gateway. Today we&#8217;re shipping the speed layer.<\/p>\n<p>Why now: The Economist published a piece this week confirming that &#8220;token-maxxing is over&#8221; and that companies are routing to cheaper models. Open-source models are clearly part of the answer. Turbo <\/p>\n<p>makes them actually usable.<\/p>\n<p>A few questions I&#8217;d love your feedback on:<\/p>\n<p>\u2192 Which open-source coding model are you most curious to try?<\/p>\n<p>\u2192 Is flat $29\/month the right price point, or would you prefer usage-based?<\/p>\n<p>\u2192 What other models should we add to the Turbo lineup?<\/p>\n<p>Will be in comments all day. Thanks for checking it out \ud83d\ude4f<\/p>\n<\/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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sachamorard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sachamorard<\/a>&nbsp;<a href=\"https:\/\/www.producthunt.com\/products\/producthunt\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"producthunt\" target=\"_blank\" rel=\"noopener\">@Product Hunt<\/a> is about consistency, S\/O for this new launch! keep up the great, and keep launching \ud83d\udc4f\ud83d\udc4f<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sachamorard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sachamorard<\/a>&nbsp; rather pay flat out . I Have used <a href=\"https:\/\/onspace.al\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">onspace.al<\/a> app and its great! You can tell it to download clients for app creations (if thats ya thing) and it&#8217;ll download the CL . Adds github files , dependencies, repository .json CL \/ files. And much moreee. I have also used agent opus, and manyyyyyyy more to learn coding thru first hand having an AI do most the work . Bad thing  EVERY THING COSTS TOKENS. AND THE RATES ARE TO HIGH. JUST GETTING ONE APP DONE ALONE . RUNS 40 50$ OR MORE JUST IN TOKENS. <\/p>\n<p>WOULD LOVE TO SEE THIS HELP JUST LIKE ONSPACE OR OPENSOURCE , opusclip , loveable, OPENAI, netlify . All great <\/p>\n<p> Tokens just are irritating so loveee the 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>Being able to run different models through Claude Code is really cool. Can you switch between models mid-session, or is it set per project?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;You can switch whenever you want, please be aware that this will result in a cache miss at providers level therefore we recommend waiting for the next session if you want to switch ! <\/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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Yep, we can switch mid-session whenever you want. Or we can switch automatically when you reach your Claude usage limit, or when the Anthropic API is down (quite often, isn&#8217;t it? \ud83d\ude06)<\/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\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;<a href=\"https:\/\/www.producthunt.com\/p\/vercel\/my-favorite-vercel-day-launches-today\" target=\"_blank\" rel=\"noopener\">thanks for the shout-out btw!<\/a> cc ?makers<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Are you planning to add more models to the Turbo lineup? Curious specifically about DeepSeek V4 and Qwen 3.5 Coder. Also, will Turbo ever work with Codex or just Claude Code?<\/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>Hey <a href=\"https:\/\/www.producthunt.com\/@gilles_raymond\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gilles_raymond<\/a>, you again \ud83d\ude09<br \/>Yes on both.<\/p>\n<p>Models: DeepSeek V4 and Qwen 3.5 Coder are both on the shortlist. <\/p>\n<p>We&#8217;re benchmarking them right now and they&#8217;ll likely join the lineup in the next few weeks. The criteria we use: agentic capability, tool calling reliability, and inference infrastructure availability for genuine high-throughput serving.<\/p>\n<p>Codex: yes. Turbo already works with Codex today through the same gateway. <br \/>And it works on Cursor, Copilot, OpenCode&#8230; <br \/>We focused the launch messaging on Claude Code because that&#8217;s where the speed pain point is most acute in our user base, but the same flat $29\/month gets you Turbo Models in Codex too.<br \/>\u2764\ufe0f<\/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>flat $29\/month instead of usage-based is the right call for anyone running agents that loop unpredictably. the worst part of token-based pricing is never knowing what the bill will be until it&#8217;s too late. also being able to swap in open-source models without changing any code or rewriting configs removes the biggest barrier to actually trying them. most people stick with what they know because switching is painful, not because alternatives aren&#8217;t good enough<\/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\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;Both points are exactly what we kept hearing in customer conversations before we built this.<\/p>\n<p>On flat pricing: agentic workflows are genuinely unpredictable. One day you have a clean refactor, the next your agent is in a 30-minute edit-run-fix loop and you&#8217;ve burned $40. Knowing your monthly ceiling upfront is a different kind of freedom. It changes how teams use the tool because the meter isn&#8217;t running in their heads.<\/p>\n<p>On switching cost: this is the part most people underestimate. The quality gap between closed and open frontier models on coding tasks is far smaller than the gap in setup friction. We benchmarked GLM 5.1 and Kimi K2.6 Code against Sonnet on real coding sessions for weeks before this launch, and the outputs are genuinely close. But &#8220;close on output&#8221; doesn&#8217;t matter if &#8220;setup takes a Saturday.&#8221; So that&#8217;s the actual battle: zero-config switching.<\/p>\n<p>The whole point of routing through a gateway is that &#8220;trying a new model&#8221; becomes a 30-second toggle, not a project.<\/p>\n<p>Thanks for the thoughtful comment \ud83d\ude4f<\/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>Proxying Claude Code&#8217;s API calls through a gateway to route to Kimi K2.7 or MiniMax without code changes is clean architecture. We&#8217;ve hit throughput ceilings in agentic workflows where task latency compounds fast, so the 4x speed claim is interesting. Does Edgee handle automatic fallback if a model hits rate limits mid-session?<\/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\/@anand_thakkar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anand_thakkar1<\/a>&nbsp;Yes, exactly! Edgee is able to fall back to the model\/provider you choose.<br \/>Even without the turbo models, you can use it with Claude and fall back to Kimi when your usage limit is reached (or when Anthropic has an incident), for example.<\/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 the flat rate approach for unpredictable agent loops, excited to test Kimi K2.7 Code with this kind of speed. Huge congrats on shipping this, <a href=\"https:\/\/www.producthunt.com\/@sachamorard\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sachamorard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sachamorard<\/a> <\/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\/@priya_kushwaha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priya_kushwaha1<\/a>&nbsp;You&#8217;ll see, Kimi K2.7 Code (turbo version) is really impressive. Looking forward to having your feedback<\/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>Really great product. Our team can have a good usecase with the product. Already filled the contact us button. (poko.video email ID). Lets schedule a meet!<\/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>Thank you <a href=\"https:\/\/www.producthunt.com\/@myselfkushal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@myselfkushal<\/a>, this made my day. I just checked the contact form, got your details, and I&#8217;m sending you a calendar link by email right now. Looking forward to digging into the use case.<\/p>\n<p>Quick question for the thread: I&#8217;m always curious which model in the Turbo lineup catches the eye of teams with video and multimodal workflows. Are you thinking GLM 5.1, Kimi K2.7 Code, or are you waiting for something we haven&#8217;t shipped yet?<\/p>\n<p>Talk soon \ud83d\ude4f<\/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>Using Edgee with Kimi K2.7, huge savings comparing to OpenRouter. Keep going guy!<\/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>Haha, Thank you <a href=\"https:\/\/www.producthunt.com\/@denis_lt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@denis_lt<\/a>&nbsp;, that means a lot.<\/p>\n<p>Kimi K2.7 Code on Turbo is genuinely a sweet spot right now. The combination of the model&#8217;s coding capability and the speed\/price of how it&#8217;s served changes the calculus for a lot of agentic workflows.<\/p>\n<p>Keep building \ud83d\ude4f <\/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>This is exactly the kind of model switching devs pretend they do not need and then use 12 times a day. Love the practical angle.<\/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>Haha, thanks<a href=\"https:\/\/www.producthunt.com\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;, accurate. I&#8217;m the founder and I still catch myself defending <\/p>\n<p>my &#8220;main&#8221; model out of pure habit, then switching three times in the same session.<\/p>\n<p>The honest truth is most devs don&#8217;t need one perfect model, they need the right one for each task. Turbo just makes that switching free.<\/p>\n<p>Thanks \ud83d\ude4f<\/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 edge angle I always want clarity on: cold-start and state. For these turbo models running at the edge, are you keeping them warm across regions or is there a first-hit penalty when a PoP hasn&#8217;t served the model recently? And for anything stateful, how do you reconcile across PoPs without round-tripping to a central region \u2014 or is the model purely stateless inference?<\/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>Hey <a href=\"https:\/\/www.producthunt.com\/@mikebrandswarm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikebrandswarm<\/a>&nbsp;<br \/>Important clarification first: the models themselves don&#8217;t run at the edge. What runs at the edge is the Edgee gateway. The models run on dedicated high-throughput inference infrastructure (ours, or partners like Together AI, Fireworks, and a few others depending on the model), and our gateway routes each request to the fastest path between your machine and the inference backend.<\/p>\n<p>This split matters for your cold-start question. Here&#8217;s how we handle it:<\/p>\n<ul>\n<li>\n<p>The gateway itself has no cold start for a given PoP. It runs continuously across regions on infrastructure built for low-latency request handling.<\/p>\n<\/li>\n<li>\n<p>For the inference backend, we maintain persistent keep-alive connections to each provider so the first hit from a PoP doesn&#8217;t pay a TCP\/TLS handshake tax. We use HTTP\/2 with multiplexing, TCP_NODELAY, and pre-warmed connection pools.<\/p>\n<\/li>\n<li>\n<p>Combined with provider keep-warm on their side, the practical result is sub-100ms TTFB from most PoPs to most Turbo Models, even on a request that hasn&#8217;t been served from that PoP in hours.<\/p>\n<\/li>\n<\/ul>\n<p>On the stateful question: <\/p>\n<p>LLM inference is fundamentally stateless per request. Every prompt carries its own context, and the model itself doesn&#8217;t retain anything between calls. So there&#8217;s nothing to reconcile across PoPs at our layer.<\/p>\n<p>The interesting state lives on the provider side, specifically KV-cache and prompt cache. Each provider has their own strategy for how they keep that warm and how they route subsequent requests to the same warm replica. That&#8217;s their domain and they&#8217;re better at it than we&#8217;d ever be from the gateway layer. Our job is to pick the best provider for the model you asked for, route you to them on the fastest path, and stay out of the way.<\/p>\n<\/p>\n<p>Edgee owns the routing and connection optimization layer. Providers own the inference stateful layer. The specialization works because each side is doing what they&#8217;re best at.<\/p>\n<p>Happy to go deeper if you want, this is a fun part of the system.<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do GLM 5.1 and Kimi K2.7 Code actually compare to Sonnet 4.6 on real coding tasks? I&#8217;ve tried open-source coding models a few times over the past year and they always felt one tier below the closed ones. Has that gap really closed?<\/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\/@gilles_raymond2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gilles_raymond2<\/a>&nbsp;Honest answer: the gap is much smaller than it was 6 months ago, and on a lot of tasks it&#8217;s gone.<\/p>\n<p>We benchmarked GLM 5.1, Kimi K2.6, and MiniMax 2.7 against Sonnet 4.6 on real coding sessions for several weeks before this launch. Three patterns emerged:<\/p>\n<ul>\n<li>\n<p>On focused tasks (write a function, fix a bug, refactor a file), outputs are genuinely comparable. A blind test wouldn&#8217;t reliably pick the closed model.<\/p>\n<\/li>\n<li>\n<p>On long agentic loops with heavy tool calling, GLM 5.1 holds up best. It was trained explicitly for agentic workflows and it shows.<\/p>\n<\/li>\n<li>\n<p>On extreme long-context reasoning (whole-repo Q&amp;A across hundreds of files), Sonnet still has a small edge for now.<\/p>\n<\/li>\n<\/ul>\n<p>The bigger insight from those weeks: the choice of model matters less than people think. The choice of how the model is served matters way more. A &#8220;weaker&#8221; model at 200 tok\/s with no metered bill often produces a better dev experience than a &#8220;stronger&#8221; one crawling out tokens at premium pricing.<\/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>Congrats on the launch, Sacha! Curious about how does Edgee handle consistency during peak demand when multiple teams are hitting the same Turbo endpoints simultaneously?<\/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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Thanks \ud83d\ude4f<\/p>\n<p>Three layers handle this:<\/p>\n<p>1\/ Gateway: requests don&#8217;t queue locally. Per-provider HTTP\/2 connection pools with multiplexing, horizontal scaling, no shared serialization point. A burst from one team doesn&#8217;t slow down another.<\/p>\n<p>2\/ Inference: Turbo runs on dedicated high-throughput infra with our partners ( <a href=\"https:\/\/www.producthunt.com\/products\/together-ai\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"together-ai\" target=\"_blank\" rel=\"noopener\">@Together AI<\/a> , <a href=\"https:\/\/www.producthunt.com\/products\/fireworks\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"fireworks\" target=\"_blank\" rel=\"noopener\">@Fireworks &#8211; Fastest Inference for Generative AI<\/a> , others depending on model). They auto-scale and load-balance across replicas. We&#8217;ve sized partnerships with headroom for peak hours.<\/p>\n<p>3\/ Fallback: if a Turbo lane is ever saturated, Edgee routes automatically to a standard endpoint of the same model family. The agent loop never breaks, the user might just see a slightly slower response for that call.<\/p>\n<p>Plus per-key rate limiting at the team level so one heavy user doesn&#8217;t degrade the experience for the others.<\/p>\n<p>\ud83d\ude4f<\/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>token reduction at the gateway is the kind of infra that quietly changes the economics of agent workflows. curious about the tradeoff curve: at what compression ratio do you start seeing measurable accuracy loss on downstream tasks? and is that loss uniform across model families or does it hit some harder than others?<\/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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;Our defaults target ~50% reduction with measurable accuracy loss <\/p>\n<p>in the noise on coding benchmarks. Past ~70% you start seeing degradation on long-horizon tasks (multi-step refactors, anything that needs to recall earlier tool results). Single-step tasks <\/p>\n<p>tolerate more.<\/p>\n<p>It&#8217;s less &#8220;how much can I compress&#8221; and more &#8220;what can I drop without breaking the loop&#8221;. <br \/>We have implemented three compression techniques:<br \/>&#8211; Tool result trimming by RTK<br \/>&#8211; Tool surface reduction <br \/>&#8211; Output brevity<\/p>\n<p>We are trying to make each of these techniques as lossless as possible, and I can already say that the effects on the model&#8217;s efficiency are almost negligible. We will be releasing our benchmark work within the next few days.<\/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>So I can create apps with this new Edge Turbo Model?? An also a standard fee 29.99 ? No more token manipulation?<\/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\/@chaseforbis98\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chaseforbis98<\/a>&nbsp;thanks for your questions, let me clarify a few things:<\/p>\n<p>Turbo Models is a feature inside Edgee, not a single model. It lets you run frontier open-source models (GLM 5.1, Kimi K2.7 Code, Kimi K2.6, MiniMax 2.7) directly inside Claude Code or Codex. So you&#8217;re not building apps &#8220;with Turbo&#8221;, you&#8217;re using Turbo to power your coding assistant when you build whatever apps you want.<\/p>\n<p>Yes, flat $29\/month per developer. Not $29.99. The plan includes a generous monthly usage allowance that covers full-time intensive coding for the vast majority of developers. There is a ceiling at the very high end (for context, you&#8217;d need to be running agentic loops nearly continuously to hit it), and if you ever get close, we&#8217;ll talk before anything changes. Transparent and fair.<\/p>\n<p>On &#8220;no more token manipulation&#8221;: you&#8217;re right that you stop worrying about the per-token meter, which is the big mental shift. But Edgee actually does smart token compression behind the scenes (cutting what gets sent to the model by ~50% on coding sessions), so you get the benefit of token optimization without having to think about it. Set it and forget it.<\/p>\n<p>Hope this clarifies. Happy to go deeper on anything \ud83d\ude4f<\/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<\/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\/NOKJBALHGBNUSR\" class=\"app-title\">Zoona AI<\/a><\/p>\n<div class=\"one-liner\">Automated support that learns from docs + past conversations<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">154<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Zoona AI \u662f\u4e00\u4e2a\u80fd\u4ece\u4f01\u4e1a\u6587\u6863\u548c\u5386\u53f2\u5bf9\u8bdd\u4e2d\u81ea\u4e3b\u5b66\u4e60\u3001\u81ea\u52a8\u89e3\u51b3\u8d8560%\u5ba2\u670d\u5de5\u5355\u7684AI\u5ba2\u670d\u4ee3\u7406\uff0c\u5e2e\u52a9\u73b0\u4ee3\u56e2\u961f\u544a\u522b\u81c3\u80bf\u7684\u9057\u7559\u5de5\u5177\u548c\u4eba\u529b\u5806\u79ef\uff0c\u5b9e\u73b0\u89c4\u6a21\u5316\u652f\u6301\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\/04a8039a-ee15-4817-a206-3739006c3a5e.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\/d57e4a14-1edb-4971-9494-e9657e6ae1b0.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\/4e9f808b-3903-42e4-bb49-3405df5c9e64.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\/5a709e0d-1059-4f82-8e52-c897f32cb996.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\/1871a4da-8c50-4bb2-a294-c71b0808037a.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=h-XpeyMv0x4\"><source src=\"https:\/\/www.youtube.com\/watch?v=h-XpeyMv0x4\" 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\">Customer Success<\/span><br \/>\n            <span class=\"tag\">Customer Communication<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5ba2\u670d\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5de5\u5355\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u5e93\u81ea\u6108<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5ba2\u670d<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u6237\u652f\u6301\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u5f0fAI<\/span><br \/>\n            <span class=\"tag\">Copilot\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u652f\u6301<\/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\u5176UI\u7b80\u6d01\u3001\u4f53\u9a8c\u6d41\u7545\uff0c\u5bf9\u624b\u52a8\u63a5\u7ba1\u65f6\u7684\u4e0a\u4e0b\u6587\u4f20\u9012\u8868\u793a\u8d5e\u8d4f\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1aAI\u81ea\u4e3b\u89e3\u51b3\u4e0e\u4eba\u5de5\u5e72\u9884\u7684\u8fb9\u754c\u5982\u4f55\u8bbe\u5b9a\uff08\u5982\u9000\u6b3e\u7b49\u654f\u611f\u64cd\u4f5c\uff09\uff1f\u80fd\u5426\u4eceZendesk\u7b49\u65e7\u5e73\u53f0\u5bfc\u5165\u5386\u53f2\u6570\u636e\uff1f\u4ee5\u53ca\u4e1a\u52a1\u589e\u957f\u540e\uff0cAI\u5ba2\u670d\u662f\u5426\u4f1a\u5f7b\u5e95\u6539\u53d8\u56e2\u961f\u804c\u80fd\u7ed3\u6784\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                Zoona AI \u7684\u201c\u7384\u5b66\u201d\u5728\u4e8e\u5b83\u628a\u201cAI\u81ea\u6211\u8fdb\u5316\u201d\u4ece\u53e3\u53f7\u53d8\u6210\u4e86\u4ea7\u54c1\u6838\u5fc3\u3002\u5b83\u4e0d\u662f\u53c8\u4e00\u4e2a\u4f1a\u5199\u56de\u590d\u7684\u804a\u5929\u673a\u5668\u4eba\uff0c\u800c\u662f\u901a\u8fc7\u201c\u81ea\u6108\u578b\u77e5\u8bc6\u5e93\u201d\u5c06\u89e3\u51b3\u8fc7\u7684\u5de5\u5355\u53cd\u54fa\u8bad\u7ec3\u6750\u6599\uff0c\u5f62\u6210\u4e86\u4e00\u4e2a\u673a\u5668\u9a71\u52a8\u7684\u4f18\u5316\u95ed\u73af\u3002\u8fd9\u6bd4\u5355\u7eaf\u7528LLM\u751f\u6210\u8bdd\u672f\u9ad8\u51fa\u4e00\u4e2a\u7ef4\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u80fd\u770b\u51fa\uff0c\u7528\u6237\u5e76\u975e\u53ea\u5728\u610f\u89e3\u9898\u901f\u5ea6\uff0c\u66f4\u5173\u5fc3\u4e24\u4e2a\u81f4\u547d\u95ee\u9898\uff1a\u8fb9\u754c\uff08\u54ea\u4e9b\u80fd\u81ea\u52a8\u5e72\uff0c\u54ea\u4e9b\u5fc5\u987b\u4ea4\u4eba\uff09\u548c\u5386\u53f2\uff08\u6211\u7684\u65e7\u5e73\u53f0\u6570\u636e\u80fd\u5426\u65e0\u7f1d\u8fc1\u79fb\uff09\u3002SparrowDesk\u5bf9\u201c\u8fb9\u754c\u201d\u6709\u56de\u5e94\uff08\u5982\u914d\u7f6e\u9000\u6b3e\u547d\u4ee4\u5f3a\u5236\u8f6c\u4eba\u5de5\uff09\uff0c\u4f46\u5bf9\u201c\u5386\u53f2\u6570\u636e\u201d\u7684\u56de\u7b54\u76f8\u5f53\u66a7\u6627\uff0c\u4ec5\u79f0\u201c\u4f1a\u5b66\u4e60\u65e7\u5de5\u5355\u201d\uff0c\u5e76\u672a\u660e\u786e\u63d0\u4f9b\u4eceZendesk\u7b49\u7ade\u54c1\u5b8c\u6574\u5bfc\u5165\u5386\u53f2\u6848\u4f8b\u7684\u6280\u672f\u8def\u5f84\u3002\u8fd9\u5bf9\u4e8e\u8bd5\u56fe\u66ff\u6362\u5df2\u6709\u5806\u6808\u7684\u56e2\u961f\uff0c\u662f\u7edd\u5bf9\u7684\u62e6\u8def\u864e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u5176\u201c\u96f6\u95e8\u69db\u90e8\u7f72\u201d+\u201c\u591a\u5e73\u53f0\u7edf\u4e00\u6536\u4ef6\u7bb1\u201d\u7684\u5b9a\u4f4d\uff0c\u7cbe\u51c6\u6253\u51fb\u4e86\u4e2d\u5c0f\u56e2\u961f\u7684\u75db\u70b9\uff0c\u4f46\u201c\u4f01\u4e1a\u7ea7\u201d\u4e09\u4e2a\u5b57\u610f\u5473\u7740\u9762\u5bf9\u590d\u6742\u6743\u9650\u3001SLA\u89c4\u5219\u3001RBAC\u3001\u4ee5\u53ca\u786c\u6838\u5ba1\u8ba1\u9700\u6c42\u65f6\uff0cZoona\u7684\u8f7b\u91cf\u5316\u8bbe\u8ba1\u80fd\u5426\u625b\u4f4f\u8003\u9a8c\uff0c\u5b58\u7591\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u4ea7\u54c1\u903b\u8f91\u6f02\u4eae\uff0c\u5207\u4e2d\u4e86AI\u5ba2\u670d\u4ece\u201c\u8f85\u52a9\u201d\u5230\u201c\u81ea\u4e3b\u201d\u7684\u8fdb\u5316\u8def\u5f84\u3002\u4f46\u82e5\u4ec5\u9760\u201c\u81ea\u5b66\u201d\uff0c\u800c\u6ca1\u6709\u80fd\u529b\u4e0e\u7532\u65b9\u65e7\u6709\u6570\u636e\u8d44\u4ea7\u5f7b\u5e95\u6253\u901a\u3001\u5e76\u7075\u6d3b\u5b9a\u4e49AI\u7684\u51b3\u7b56\u6743\u9650\uff0cZoona\u6700\u7ec8\u53ef\u80fd\u4f1a\u88ab\u56f0\u5728\u201c\u4e0d\u613f\u653e\u5f03\u65e7\u7cfb\u7edf\u53c8\u60f3\u5c1d\u9c9cAI\u201d\u7684\u4e2d\u95f4\u5730\u5e26\u3002\u60f3\u771f\u6b63\u53d6\u4ee3Servicenow\u6216Zendesk\uff0c\u8fd8\u9700\u8865\u9f50\u201c\u66ff\u8eab\u201d\u800c\u975e\u201c\u5206\u8eab\u201d\u7684\u5165\u573a\u5238\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\">Zoona AI<\/span>\n                <\/div>\n<div class=\"comment-content\">Sluggish, bloated, legacy support tools are dead. Zoona is support for modern teams \u2014 it learns from your docs and past conversations, then resolves 60%+ of tickets the second they land. No backlog. No burnout. No endless hiring to keep up. When it does need a human, it hands off with full context so the customer never repeats themselves. This is support that scales with you, not against you. Train it, go live, done.<\/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 Excited to finally share this with the world.<\/p>\n<p>Honest origin story: we used other support platforms for years, and we were constantly frustrated &#8211; bloated UIs, slow as hell, features buried under features, and pricing that made no sense for a startup.<\/p>\n<p>So we built SparrowDesk the way we always wished those tools worked.<\/p>\n<p>The centerpiece is Zoona, our AI agent that actually handles support end-to-end &#8211; not just suggests replies, but resolves tickets. Across Slack, WhatsApp, chat, email, and your help center. One setup, everywhere your customers are.<\/p>\n<p>Here&#8217;s what makes Zoona different:<\/p>\n<p>\ud83e\udde0 Train from anything<\/p>\n<p>Connect your help articles, URLs, documents, Notion pages \u2014 Zoona learns from all of it and stays up to date as your product evolves.<\/p>\n<p>\u26a1 Commands that take action<\/p>\n<p>Zoona doesn&#8217;t just answer questions. Use commands to make your AI agent trigger API calls, update records, create tickets, and take real actions inside your stack.<\/p>\n<p>\u270d\ufe0f Copilot for your team<\/p>\n<p>Get AI-suggested replies, instant conversation summaries, and a copilot that helps your agents close tickets faster \u2014 without burning out.<\/p>\n<p>\ud83d\udcda Self-healing knowledge base<\/p>\n<p>Our copilot analyzes resolved conversations and automatically rewrites + improves your knowledge base. Your docs get smarter every day without anyone lifting a finger.<\/p>\n<p><\/p>\n<p>We built this for startups who want enterprise-grade support without the enterprise-grade pain.<\/p>\n<p>And if you&#8217;re a startup &#8211; we have a special program just for you: <a href=\"http:\/\/sparrowdesk.com\/startup\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">sparrowdesk.com\/startup<\/a><\/p>\n<p>Would love your honest feedback \u2014 the good and the brutal. Ask me anything! \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>15<\/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 UI looks great and the timing is interesting too. With Fin heading into Salesforce, a lot of teams are about to re-evaluate their support stack, and a focused agent like Zoona is well placed to catch that wave. Strong first impression. All the best with the launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/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\/@its_grs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_grs<\/a>&nbsp;Thanks for the 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>Spent some time this week red teaming support chatbots,<\/p>\n<p>Sparrow&#8217;s ZoonaAI held up to everything. Asking it to repeat its instructions, rephrasing the request a dozen ways, sneaking it through a translation, getting it to &#8220;autocomplete&#8221; its own prompt , nothing worked. Genuinely well built. Congrats to the <a href=\"https:\/\/www.producthunt.com\/products\/sparrowdesk\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"sparrowdesk\" target=\"_blank\" rel=\"noopener\">@SparrowDesk<\/a> team, and <a href=\"https:\/\/www.producthunt.com\/@ayesha_kulsum_s_j\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ayesha_kulsum_s_j\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ayesha_kulsum_s_j<\/a> . \ud83d\udc4f<\/p>\n<p>Then there was Zomato&#8217;s bot, which made me laugh.<\/p>\n<p>I&#8217;d spent ages trying to reach a human for a delivery issue ,it kept getting told all agents were busy. So on a whim I asked for its system prompt.<\/p>\n<p>It transferred me to a human instantly.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6c167178-ac02-4cc5-b154-649b8d594f60.jpeg?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>It&#8217;s funny that the magic word for reaching a human wasn&#8217;t &#8220;human&#8221; five times over. It was &#8220;what&#8217;s your system prompt.&#8221;<\/p>\n<p>Support bots are getting harder to crack than they used to be.<\/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>Thanks <a href=\"https:\/\/www.producthunt.com\/@jazib_mahmood1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jazib_mahmood1<\/a>&nbsp;. Ayesha told me about the bet you guys had \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<\/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\/@georgejustin22\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"georgejustin22\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@georgejustin22<\/a> A lot of support tools promise faster responses.<\/p>\n<\/p>\n<p>What\u2019s more interesting here is the claim that customers never have to repeat themselves when a human takes over.<\/p>\n<\/p>\n<p>In practice, that handoff is where many AI support experiences fall apart.<\/p>\n<\/p>\n<p>How much context is actually transferred to the human agent, and have you measured whether customers feel the transition is seamless versus just receiving a conversation summary?<\/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\/@josh_bennett1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@josh_bennett1<\/a>&nbsp;the entire conversation, proof of work done by AI Agent, Summary is transferred to human agents. And even after transfer &#8211; Zoona can suggest responses based on customer&#8217;s new messages. So, the AI enablement does not stop at handoff<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>An AI-first help desk that cuts down on searching sounds great for support teams. Does SparrowDesk pull answers from your existing docs and tickets?<\/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\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Yes. Not just that &#8211; we keep your knowledge fresh, always. From the resolved conversation &#8211; Zoona can update your knowledge base, taking over the boring task from knowledge authors. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Zoona for a bit and the first thing that stood out was how polished the experience feels. The inbox workflow is intuitive, and the AI seems focused on actually helping resolve tickets rather than just being a flashy add on. Curious to see how teams adopt it over the next few months. 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been using SparrowDesk and it&#8217;s been impressive so far. Clean UX, useful AI capabilities, and a strong focus on productivity. Excited to see where SparrowDesk goes!<\/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><a href=\"https:\/\/www.producthunt.com\/@kevin\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"kevin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevin<\/a> The product makes sense, but I wonder if the future customer support team even<\/p>\n<p>looks like today&#8217;s support team.<\/p>\n<p>If Al ends up handling most inbound requests, do you think support eventually becomes a product and operations function rather than a customer service function?<\/p>\n<p>Curious how your customers think about that shift.<\/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>Just checked out Zoona AI and the setup experience genuinely surprised me! No complex configurations, no developer dependency- it felt like something any support team could get running on day one. This is the kind of simplicity that support teams would require. Great work, team!<\/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>Congrats on the launch. The past-conversation learning part is the interesting bit for support teams. How are you handling the boundary between what Zoona can resolve automatically and what needs human approval or owner sign-off?<\/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\/@blah_mad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@blah_mad<\/a>&nbsp; If Zoona does not know the answer -&gt; thats an escalation (if the context is clear). <\/p>\n<p>On top of this, necessary commands\/instructions can be given to Zoona on how to handle delicate queries. <\/p>\n<\/p>\n<p>For example: if customers are reaching out for Refund requests, you can instruct Zoona to handover that immediately. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">Clean UI and snappy experience. I especially love the flexibility to switch between a table like inbox (which is a bit dated admittedly- but has its rightful keepers &#8211; and a more modern inbox for more &#8211; chatty teams! ). Yet to take the AI agent to full spin, but the ability to create agents for more than one product\/ service from one single account looks interesting.<\/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\/@uxfish\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uxfish<\/a>&nbsp;Thanks for the 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>I tried SparrowDesk and was impressed with the overall experience. The design is clean, intuitive, and easy to use, making ticket management simple and efficient. Beyond the great user experience, the product feels fast and responsive, even when handling a large volume of tickets.<\/p>\n<p>It\u2019s clear that a lot of thought has gone into both the design and the underlying performance.<\/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>How do you handle rollback or recovery when an AI-initiated action goes wrong mid-ticket?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 help desk space is brutal because the value isn&#8217;t in answering the easy 80%, it&#8217;s in not breaking the hard 20%. curious how you decide when to confidently resolve vs route to a human. is the threshold the same per category (billing vs technical vs account) or are you tuning it per tenant once you learn their support team&#8217;s tolerance?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>How would this build on top of existing support platform data? Can you import from zendesk etc. to bring in historical cases and how they were closed? Also can it use a human&#8217;s response as info to automate any future tickets with similar issues?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 tried SparrowDesk and I fell in love with it, intuitive UI and clean layout, fast and responsive. The AI assistant is very powerful and it makes it easier to be productive <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@georgejustin22\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"georgejustin22\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@georgejustin22<\/a> The self-healing knowledge base sounds powerful, but also slightly risky.<\/p>\n<p>If Zoona learns from thousands of customer interactions and continuously updates documentation, who ultimately owns the truth: the documentation team or the Al?<\/p>\n<p>Feels like there could be interesting situations where the Al discovers patterns and solutions before the company officially documents 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\/@nxan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nxan<\/a>&nbsp;I agree. That&#8217;s why we have an approval process in between. AI writes them &#8211; your team approves 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>J&#8217;ai pu tester Zoona r\u00e9cemment et franchement, \u00e7a m&#8217;a agr\u00e9ablement surpris. L&#8217;interface est agr\u00e9able \u00e0 utiliser, la gestion des tickets ne demande pas de prise en main particuli\u00e8re, et l&#8217;IA est vraiment l\u00e0 o\u00f9 on en a besoin pas juste pour faire bien sur la fiche produit. Vivement la suite pour voir comment les \u00e9quipes vont s&#8217;en emparer. Beau travail pour ce lancement !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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;learns from past conversations&#8221; angle is underrated. Most support bots reset context every time. Does this work across channels like WhatsApp or just web widget? 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<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;Web widget (live chat), WhatsApp, Slack, Email. Messenger and Instagram launching soon. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Learning from past conversations is the bit that matters. Docs alone miss all the weird customer phrasing where support actually happens.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Learning from past conversations is the key part here. Docs alone rarely cover the messy edge cases in support. Curious how much review control teams get before Zoona starts replying 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><a href=\"https:\/\/www.producthunt.com\/@georgejustin22\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"georgejustin22\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@georgejustin22<\/a> Resolving 60%+ of tickets automatically sounds impressive, but I\u2019ve always found the hardest support tickets aren\u2019t the repetitive ones.<\/p>\n<\/p>\n<p>They\u2019re the edge cases where a customer explains something in an unexpected way, where the issue spans multiple systems, or where policy and judgment matter.<\/p>\n<\/p>\n<p>What types of tickets have you found Zoona consistently struggles with today, and where do you still believe humans are significantly 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@moh_codokiai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@moh_codokiai<\/a>&nbsp;humans are still better at empathising, troubleshoot technical issues &#8211; because they are humans and they have more access\/context to connected systems and knowledge. <\/p>\n<p>AI Agents are good as how much info you give them and how much access you <em>give<\/em> them. <\/p>\n<\/p>\n<p>But AI Agents have come long way. Dealing with bigger context, doing agentic actions  &#8211; exciting times ahead<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Gave Zoona AI a try and it really stands out. The UI\/UX is clean, intuitive, and genuinely easy to use from the first click. No fumbling around to figure things out, which is rare. The AI responses also felt useful right out of the gate and the setup was way easier than I expected. Looking forward to exploring more. Excited to see how Zoona evolves.  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<\/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\/MKOAUFLRC2WD5V\" class=\"app-title\">GitHits beta 0.9<\/a><\/p>\n<div class=\"one-liner\">Give your AI coding agent access to open-source code<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">143<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>GitHits\u4e3aAI\u7f16\u7a0b\u52a9\u624b\uff08\u5982Claude Code\u3001Cursor\u7b49\uff09\u6784\u5efa\u7248\u672c\u611f\u77e5\u7684\u4f9d\u8d56\u4ee3\u7801\u7d22\u5f15\uff0c\u89e3\u51b3\u5176\u65e0\u6cd5\u6709\u6548\u67e5\u627e\u548c\u9605\u8bfb\u6240\u4f9d\u8d56\u7684\u5f00\u6e90\u4ee3\u7801\u800c\u5bfc\u81f4\u7684\u731c\u6d4b\u3001\u91cd\u8bd5\u548c\u6b7b\u5faa\u73af\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\/b2262a57-a282-48a2-b444-979be18974c6.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\/a028cb9b-c8f6-4c71-bb1b-6ca0d4791503.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\/a576b0ce-2674-4ae0-84e8-cf74ef65a4ee.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\/3e26c941-fc9f-4c21-a5cb-f463cbe8a290.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/lWp4slJMzJA\"><source src=\"https:\/\/youtu.be\/lWp4slJMzJA\" 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\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7a0b\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u4ee3\u7801\u7d22\u5f15<\/span><br \/>\n            <span class=\"tag\">\u4f9d\u8d56\u6e90\u7801\u5bfc\u822a<\/span><br \/>\n            <span class=\"tag\">\u7248\u672c\u611f\u77e5<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u68c0\u7d22<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u8d28\u91cf<\/span><br \/>\n            <span class=\"tag\">\u8f6f\u4ef6\u5de5\u7a0b<\/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\u5176\u89e3\u51b3\u201c\u7248\u672c\u4f9d\u8d56\u201d\u548c\u201c\u4ee3\u7801\u4e0a\u4e0b\u6587\u201d\u7684\u75db\u70b9\uff0c\u8ba4\u4e3a\u80fd\u51cf\u5c11AI\u5e7b\u89c9\u3002\u6838\u5fc3\u5173\u5207\u96c6\u4e2d\u5728\uff1a\u5982\u4f55\u4ece\u6d77\u91cf\u566a\u58f0\u4ee3\u7801\u4e2d\u7cbe\u51c6\u6392\u5e8f\uff1b\u5982\u4f55\u5904\u7406monorepo\u548c\u72ec\u7acb\u7248\u672c\u5305\uff1b\u4ee5\u53ca\u5728\u5546\u4e1a\u9879\u76ee\u4e2d\u5982\u4f55\u89c4\u907fCopyleft\u8bb8\u53ef\u8bc1\u98ce\u9669\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                GitHits\u5207\u4e2d\u4e86\u4e00\u4e2a\u88abAI\u7f16\u7a0b\u70ed\u6f6e\u63a9\u76d6\u7684\u201c\u8ba4\u77e5\u9e3f\u6c9f\u201d\uff1a\u5f53\u524dAI\u4ee3\u7406\u64c5\u957f\u89e3\u6790\u9879\u76ee\u5185\u90e8\u4ee3\u7801\uff0c\u4f46\u9762\u5bf9\u4f9d\u8d56\u7684\u5f00\u6e90\u5e93\u65f6\uff0c\u5176\u201c\u77e5\u8bc6\u201d\u5f80\u5f80\u662f\u6cdb\u5316\u3001\u8fc7\u65f6\u751a\u81f3\u9519\u8bef\u7684\u3002\u5b83\u6ca1\u6709\u9009\u62e9\u9020\u4e00\u4e2a\u66f4\u5f3a\u7684\u201c\u7f16\u7a0b\u5927\u8111\u201d\uff0c\u800c\u662f\u4e3a\u73b0\u6709\u7684\u5927\u8111\uff08Claude Code\u7b49\uff09\u63d0\u4f9b\u4e00\u4e2a\u7cbe\u51c6\u7684\u201c\u5916\u63a5\u8bb0\u5fc6\u786c\u76d8\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4ef7\u503c\u6838\u5fc3\u5e76\u975e\u201c\u7d22\u5f15\u5f00\u6e90\u4ee3\u7801\u201d\u8fd9\u4e2a\u7b80\u5355\u52a8\u4f5c\uff0c\u800c\u662f\u201c\u7248\u672c\u611f\u77e5\u201d\u548c\u201c\u7ed3\u6784\u5316\u6392\u5e8f\u201d\u3002GitHits\u653e\u5f03\u4e86GitHub\u9ed8\u8ba4\u5206\u652f\u7684\u201c\u5feb\u7167\u5f0f\u201d\u641c\u7d22\uff0c\u8f6c\u800c\u9488\u5bf9\u6bcf\u4e2a\u4f9d\u8d56\u7684\u7cbe\u786e\u7248\u672c\u6784\u5efa\u7d22\u5f15\uff0c\u8fd9\u5bf9\u4e8e\u89e3\u51b3\u56e0API\u7248\u672c\u9519\u914d\u5bfc\u81f4\u7684\u5e7b\u89c9\u662f\u6839\u672c\u6027\u7684\u3002\u66f4\u91cd\u8981\u7684\u662f\uff0c\u5b83\u5e76\u975e\u7b80\u5355\u8fd4\u56de\u6587\u672c\uff0c\u800c\u662f\u5c1d\u8bd5\u901a\u8fc7\u591a\u91cd\u4fe1\u53f7\uff08\u4ee3\u7801\u76f8\u5173\u6027\u3001\u4ed3\u5e93\u8d28\u91cf\u3001\u4ee3\u7801\u6d4b\u8bd5\u7528\u4f8b\u7b49\uff09\u5bf9\u7ed3\u679c\u8fdb\u884c\u6392\u5e8f\uff0c\u8bd5\u56fe\u4ece\u201c\u5f00\u6e90\u5783\u573e\u5806\u201d\u4e2d\u6311\u51fa\u201c\u94bb\u77f3\u201d\uff0c\u8fd9\u6bd4\u5355\u7eaf\u68c0\u7d22\u96be\u5f97\u591a\uff0c\u4e5f\u662f\u5176\u62a4\u57ce\u6cb3\u6240\u5728\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u524d\u666f\u65b9\u9762\uff0c\u5b83\u7cbe\u51c6\u5207\u5165\u4e86\u4f01\u4e1a\u7ea7AI\u7f16\u7a0b\u843d\u5730\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u2014\u2014\u53ef\u9760\u6027\u3002\u4f46\u98ce\u9669\u540c\u6837\u660e\u663e\uff1a1\uff09\u7d22\u5f15\u751f\u6001\u7684\u5f00\u9500\u5de8\u5927\uff0c\u652f\u6301\u8d8a\u6765\u8d8a\u591a\u7684\u6846\u67b6\u548c\u7248\u672c\uff0c\u662f\u6301\u7eed\u7684\u8010\u529b\u6218\uff1b2\uff09\u8bb8\u53ef\u8bc1\u8fc7\u6ee4\u529f\u80fd\u81f3\u5173\u91cd\u8981\uff0c\u82e5\u5904\u7406\u4e0d\u5f53\uff0c\u53ef\u80fd\u6210\u4e3a\u6cd5\u5f8b\u98ce\u9669\u7684\u5bfc\u706b\u7d22\uff1b3\uff09\u4ea7\u54c1\u5b9a\u4f4d\u51b3\u5b9a\u4e86\u5b83\u53ea\u662f\u4e00\u4e2a\u201c\u5de5\u5177\u201d\u800c\u975e\u201c\u5e73\u53f0\u201d\uff0c\u6781\u6613\u88abCursor\u3001JetBrains\u7b49\u96c6\u6210\u5546\u5185\u7f6e\u7c7b\u4f3c\u529f\u80fd\u6240\u8fb9\u7f18\u5316\u3002\u672a\u6765\uff0cGitHits\u9700\u8981\u66f4\u5feb\u5730\u4ece\u201c\u8f85\u52a9\u4ee3\u7406\u8c03\u8bd5\u201d\u8fdb\u5316\u4e3a\u63d0\u4f9b\u201c\u53ef\u4fe1\u4ee3\u7801\u63a8\u8350\u201d\u7684\u6807\u51c6\u5316\u5e95\u5c42\u534f\u8bae\uff0c\u800c\u975e\u4ec5\u4ec5\u662f\u4e00\u4e2aAPI\u8c03\u7528\u4e2d\u4ecb\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\">GitHits beta 0.9<\/span>\n                <\/div>\n<div class=\"comment-content\">GitHits gives coding agents access to the open-source code your app depends on. Get real implementation examples, dependency source navigation, package inspection and documentation. Agents can grep and read your codebase. They can&#8217;t grep and read the open-source code your app depends on. That&#8217;s where they start guessing, retrying, and looping. GitHits builds a version-aware index on demand. Agents can search, navigate, and inspect the code behind their dependencies. CLI: npx githits@latest init<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt! \ud83d\udc4b<\/p>\n<\/p>\n<p>I\u2019m Olli-Pekka, one of the co-founders of GitHits.<\/p>\n<\/p>\n<p>I&#8217;ve been a member of the open-source community for 15 years. I created opencv-python, which got 100M+ downloads while I maintained it as a side hustle. Fun fact: I\u2019m from \ud83c\uddeb\ud83c\uddee, just like Linus Torvalds. \ud83d\ude42<\/p>\n<\/p>\n<p>I noticed I kept giving the same advice to colleagues and friends when the docs were missing something. My go-to hack was simple: use GitHub search to find code that already solves the problem. It\u2019s powerful, even though it only returns raw results rather than the answer in context.<\/p>\n<\/p>\n<p>I started building GitHits to bring that workflow to coding agents.<\/p>\n<\/p>\n<p>GitHits complements tools like Claude Code, Codex, Cursor, and other AI coding agents.<\/p>\n<\/p>\n<p>Those agents are great at navigating your local codebase. They can grep, search, and read files to understand how your application works.<\/p>\n<\/p>\n<p>The problem is that modern software doesn&#8217;t stop at the repository boundary.<\/p>\n<\/p>\n<p>A large part of the system lives in frameworks, libraries, SDKs, and other open-source dependencies. Agents can usually see where your code calls into those dependencies, but they often can&#8217;t navigate and inspect them in the same way. And even when an agent reads the docs, they only tell it what to call, not how it actually behaves. For that, you need the source.<\/p>\n<\/p>\n<p><strong>GitHits gives agents access to:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Code examples<\/strong> based on real implementations from repositories, issues, discussions, and pull requests, linked back to the implementation code<\/p>\n<\/li>\n<li>\n<p><strong>Code navigation<\/strong> across packages and repositories: search, grep, file listing, and exact line reads without cloning<\/p>\n<\/li>\n<li>\n<p><strong>Package inspection<\/strong> for dependencies, vulnerabilities, changelogs, and upgrade changes<\/p>\n<\/li>\n<li>\n<p><strong>Documentation access<\/strong> across hosted docs and repository-backed docs<\/p>\n<\/li>\n<\/ul>\n<p>GitHits does this by building a version-aware index of open-source code on demand, usually in 10-20 seconds for an average repository.<\/p>\n<\/p>\n<p><strong>GitHits is useful when an agent reaches the limits of the local repository.<\/strong><\/p>\n<\/p>\n<p>That might happen during planning and research, when it needs to understand how a dependency works, what changed between versions, or how something has been implemented elsewhere. It also happens during implementation, when the agent starts retrying variations and exploring dead ends because the answer isn&#8217;t in the local repository.<\/p>\n<\/p>\n<p>As developers, that&#8217;s usually the point where we leave our own repository and start reading somebody else&#8217;s.<\/p>\n<\/p>\n<p><strong>What users say about GitHits:<\/strong><\/p>\n<ul>\n<li>\n<p>Onni: <a href=\"https:\/\/flaky.build\/helping-claude-code-to-find-undocumented-apis-from-the-code\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Helping Claude Code to find undocumented APIs from the code<\/a><\/p>\n<\/li>\n<li>\n<p>Rob: <a href=\"https:\/\/x.com\/robinebers\/status\/2062172873587134471\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">had a problem in my openusage v2 app &#8211; boom, perfect fix without guesses<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>Forever free tier available.<\/strong><\/p>\n<\/p>\n<p>No trial period. Just create your account and connect your agent to GitHits.<\/p>\n<\/p>\n<p><strong>Launch day special.<\/strong><\/p>\n<\/p>\n<p>Everyone who signs up today gets <strong>3x credits for 6 months<\/strong>. No strings, just more GitHits.<\/p>\n<\/p>\n<p>Setup is one command:<\/p>\n<\/p>\n<pre><code>npx githits@latest init<\/code><\/pre>\n<\/p>\n<p>It installs the CLI and connects GitHits to Claude Code, Codex, Cursor, or any MCP-compatible agent. Or sign up using <a href=\"https:\/\/app.githits.com\/signup\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">this link<\/a>.<\/p>\n<\/p>\n<p>If you\u2019re already using GitHits, let me know what you use it for, and how we can make GitHits even better.<\/p>\n<\/p>\n<p>We look forward to your brutally honest feedback and sincerely appreciate the support!<\/p>\n<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt! \ud83d\udc4b<\/p>\n<\/p>\n<p>I&#8217;m Juha, co-founder and chief architect of GitHits. I&#8217;m responsible for the indexing engine underneath, so I want to talk about the part you don&#8217;t see.<\/p>\n<\/p>\n<p>The question I get more than any other is some version of this: my coding agent can already clone a repo, grep it, and search GitHub, so what is GitHits actually adding?<\/p>\n<\/p>\n<p>It&#8217;s a fair question, and the honest answer is that scraping GitHub gives your agent raw results, not understanding. It clones whatever is at the top of the default branch and greps one repo at a time, treating code as text with no sense of what is worth trusting. And here&#8217;s the part that surprises a lot of people: GitHub&#8217;s own code search only covers a repository&#8217;s default branch, so the older version you actually depend on usually isn&#8217;t even searchable. That&#8217;s fine for a quick lookup, but it falls apart the moment the problem gets specific.<\/p>\n<\/p>\n<p>What GitHits does instead is build a real, version-aware index. We fetch the actual source, parse it, turn it into structure, and keep that structure version by version, so your agent reads from something we already built rather than scraping and guessing in the moment.<\/p>\n<\/p>\n<p>People are usually surprised how much work that is. One small example: just figuring out which commit a version like <em>1.2.3<\/em> actually points to. There&#8217;s no standard for how projects tag releases, so the part of our indexer whose only job is that is more than 700 lines, and we&#8217;ve rewritten it six times as we keep hitting new conventions in the wild. And that&#8217;s before we&#8217;ve parsed a single line of the actual code.<\/p>\n<\/p>\n<p>And it isn&#8217;t only code. We index documentation the same way, version by version, and combine it with the rest so your agent grounds itself in a balanced mix of code, tests, examples, and docs, instead of one slice it has to guess from.<\/p>\n<p>I wrote up the full under-the-hood walkthrough here if you want the long version: <a href=\"https:\/\/githits.com\/blog\/what-it-actually-takes-to-index-open-source\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/githits.com\/blog\/what-it-actually-takes-to-index-open-source\/<\/a><\/p>\n<\/p>\n<p>The best way to judge it is to just test it out. Setup is one command:<\/p>\n<\/p>\n<pre><code>npx githits@latest init<\/code><\/pre>\n<\/p>\n<p>It connects GitHits to Claude Code, Codex, Cursor, or any MCP-compatible agent. Or sign up here: <a href=\"https:\/\/app.githits.com\/signup\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/app.githits.com\/signup<\/a><\/p>\n<\/p>\n<p>I built the indexing engine, so I&#8217;d genuinely love to hear where it works or breaks for you. Brutally honest feedback is the most useful kind.<\/p>\n<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This app is seriously helpful and turns your coding agent in a top tier senior engineer. When I am introducing a new pattern or library in my code, I always think to find real battle tested implementations first from GitHits. Eventually you realize just letting a coding agent vibe out consequential and high leverage code is just plain dumb and irresponsible.<\/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>Thanks,<a href=\"https:\/\/www.producthunt.com\/@lukeotwell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lukeotwell<\/a>! Let us know how we could make GitHits even better!<\/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>Really impressive backend work. Are you guys running the parsing\/indexing entirely on your infra and serving it via API, or is there a local caching layer involved when we link it to Claude Code via MCP? Happy to support  \ud83d\ude4c<\/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\/@vikramp7470\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vikramp7470<\/a>&nbsp;We are running indexing it fully on our infra. CLI and MCP are just make API calls to our backend. We have Rust-based indexing engine, Elixir based coordination layer and Python based agentic layer.<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Building a version-aware index per release rather than scraping GitHub&#8217;s default branch is the right call. Agents that can&#8217;t inspect the exact version they depend on just hallucinate API signatures. We&#8217;ve hit this when agent-generated code breaks because docs described the wrong version. How does GitHits handle monorepos with independently versioned packages?<\/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\/@anand_thakkar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anand_thakkar1<\/a>&nbsp;That&#8217;s indeed a complex problem, but we solved the monorepo issue with our custom crawler and indexer. There might be still raw edges and that&#8217;s why there is the beta label. So many different ways of versioning software out 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Works great, I&#8217;ve been using Githits to explore implementation details from different libraries to ground my coding agent with real world examples. It&#8217;s cool to point your coding agent towards an open source reference implementation that you know has already implemented what you want to implement.<\/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>Thanks,<a href=\"https:\/\/www.producthunt.com\/@matti_ryttylainen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matti_ryttylainen<\/a>&nbsp;Appreciate your kind words and all feedback you&#8217;ve provided along the 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>giving the agent access to open source code is the easy half. the hard half is helping it pick the right code. github has incredible code and also a long tail of broken half written experiments. how do you weight signals like maintained recently, used by many, tests pass, vs raw similarity to what the agent is trying to write?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Giving agents real OSS context feels like a cheat code. Curious how you rank which repos are signal vs random GitHub soup.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;For the distilled examples, ranking is one of the hardest problems.<\/p>\n<p>We don&#8217;t treat every repository equally. We combine code relevance, semantic relevance, repository quality signals, and package metadata to separate useful implementation patterns from random GitHub noise.<\/p>\n<p>The goal is to surface examples that show how similar problems are actually solved in code, rather than repositories that simply contain matching keywords. However, sometimes the solution to an issue can be found in a single random repo, which is like finding a needle in a haystack. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 dependency-context angle makes a lot of sense. Docs explain the API, but source code and real examples show how it actually behaves. I\u2019d be interested to see how GitHits weighs tests vs production implementations when finding examples.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@farrukh_butt1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farrukh_butt1<\/a>&nbsp;We don&#8217;t automatically favor production code over tests.<\/p>\n<\/p>\n<p>Our ranking includes signals for both because tests often demonstrate the intended usage pattern much more clearly than production implementations. Production code shows how things are used in the wild, while tests often isolate the behavior you&#8217;re trying to understand.<\/p>\n<\/p>\n<p>Both can be valuable depending on the query.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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!<\/p>\n<p>The &#8220;AI agent + OSS context&#8221; gap is real \u2014 most agents either hallucinate APIs or refuse to commit when they&#8217;re unsure. Giving them grounded access flips that.<\/p>\n<p>Question for you: how do you handle licensing exposure when the agent pulls from copyleft repos and the user is on a proprietary codebase? That&#8217;s the piece I&#8217;d worry about if I were shipping this into a regulated team.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@somdip_roy1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@somdip_roy1<\/a>&nbsp;You can setup license filtering in the settings for the example generation. In strict mode we skip repositories with copyleft, unknown and missing license information.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Giving a coding agent access to real open-source code is a smart idea. How does GitHits pick which repos or snippets are most relevant?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;For snippets it&#8217;s actually pretty involved. We run our own code index, so on top of standard ranking like BM25 we can use a bunch of code-specific signals for scoring. We also keep a separate document index for docs from canonical documentation sites. That lets us pull a balanced mix of function definitions, real usage examples, tests and related documentation, so the agent gets proper grounding, with each snippet linking back to the source it came from.<\/p>\n<\/p>\n<p>For picking which repos to pull from, right now we lean on a wide range of GitHub searches plus our own reranking. We&#8217;re also building out a dedicated index for that part.<\/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>Congrats!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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<a href=\"https:\/\/www.producthunt.com\/@orliesaurus\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@orliesaurus<\/a>! Appreciate your support! &nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/G5J5MQCMRAFBSI\" class=\"app-title\">Stride<\/a><\/p>\n<div class=\"one-liner\">The AI workspace that plans, designs and ships with you.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">127<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Stride\u662f\u4e00\u4e2aAI\u539f\u751f\u7684\u5168\u6d41\u7a0b\u5de5\u4f5c\u7a7a\u95f4\uff0c\u5c06\u89c4\u5212\u3001\u7cfb\u7edf\u8bbe\u8ba1\u3001\u9a8c\u8bc1\u548c\u4ea4\u4ed8\u96c6\u6210\u5728\u7edf\u4e00\u5e73\u53f0\u5185\uff0c\u901a\u8fc7MCP\u534f\u8bae\u8fde\u63a5Claude Code\u548cCodex\u7b49AI\u7f16\u7801\u4ee3\u7406\uff0c\u65e8\u5728\u89e3\u51b3\u56e2\u961f\u5728\u8de8\u5de5\u5177\u534f\u4f5c\u4e2d\u53cd\u590d\u5207\u6362\u4e0a\u4e0b\u6587\u3001\u4fe1\u606f\u788e\u7247\u5316\u548cAI\u7f3a\u4e4f\u9879\u76ee\u8bed\u5883\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\/8dfd1dfb-69fc-4b29-973a-c936862bc0d1.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\/1d14a246-1aa2-433f-9934-4a27b30b07ff.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\/4880595e-67a0-45ac-9ab6-1486e1792330.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\/726be646-b8be-47ed-8b99-f2b823077349.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\/654fd4f6-3197-437e-b0e9-375b50dfd145.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\/ba7da460-e59c-41d1-a8c6-7b1086a8e513.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\/3129ca1d-d49c-4a12-bb63-c506b7bea39f.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Kz_OTN3UMjA\"><source src=\"https:\/\/youtu.be\/Kz_OTN3UMjA\" 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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5de5\u4f5c\u7a7a\u95f4<\/span><br \/>\n            <span class=\"tag\">\u9879\u76ee\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u7cfb\u7edf\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7801\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u5168\u6d41\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u9700\u6c42\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u8d28\u91cf\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u8fde\u8d2f<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/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\u5176\u5168\u6d41\u7a0b\u95ed\u73af\u548c\u4ef7\u503c\uff0c\u4f46\u4e3b\u8981\u95ee\u9898\u96c6\u4e2d\u4e8e\uff1a1) \u7f3a\u4e4fFigma\u7b49UI\u8bbe\u8ba1\u5de5\u5177\u96c6\u6210\uff1b2) \u4e0eVercel\u7684\u90e8\u7f72\u96c6\u6210\u5c1a\u672a\u5b9e\u73b0\uff1b3) \u8de8\u804c\u80fd\u4ea4\u63a5\u548c\u5916\u90e8\u5de5\u5177\u517c\u5bb9\u6027\u9700\u6c42\uff1b4) \u5173\u952e\u8ffd\u95ee\u201c\u8bbe\u8ba1\u5230\u4ee3\u7801\u201d\u7684\u8fc7\u6e21\u5177\u4f53\u5982\u4f55\u5b9e\u73b0\uff0c\u4ee5\u53caAI\u662f\u5426\u80fd\u4e3b\u52a8\u5904\u7406\u8bbe\u8ba1\u9636\u6bb5\u53d1\u73b0\u7684\u51b2\u7a81\uff0c\u800c\u975e\u4ec5\u5c55\u793a\u77db\u76fe\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                Stride\u7684\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u8bd5\u56fe\u91cd\u9020\u4e00\u4e2aIDE\u6216AI\u804a\u5929\u6846\uff0c\u800c\u662f\u7cbe\u51c6\u5730\u6355\u6349\u5230\u4e86AI\u7f16\u7801\u65f6\u4ee3\u6700\u75db\u7684\u65ad\u5c42\uff1a**\u89c4\u5212\u8bed\u5883\u4e0e\u6267\u884c\u8bed\u5883\u7684\u5272\u88c2**\u3002\u5f53\u6240\u6709AI\u5de5\u5177\u90fd\u5728\u6bd4\u62fc\u201c\u5199\u4ee3\u7801\u201d\u80fd\u529b\u65f6\uff0cStride\u9009\u62e9\u53bb\u89e3\u51b3\u201c\u5582\u7ed9AI\u7684\u4ee3\u7801\u4e0a\u4e0b\u6587\u201d\u95ee\u9898\u3002\u5176\u6838\u5fc3\u8d44\u4ea7\u662f\u90a3\u4e2a\u5c06\u201c\u6545\u4e8b\/ADRs\/\u6d4b\u8bd5\u7528\u4f8b\u201d\u7edf\u4e00\u5173\u8054\u7684\u5de5\u7a0b\u56fe\uff0c\u5e76\u901a\u8fc7MCP\u534f\u8bae\u8ba9Claude Code\u548cCodex\u7b49\u4ee3\u7406\u76f4\u63a5\u6d88\u8d39\u8fd9\u4e2a\u56fe\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8fd9\u5e76\u975e\u4e00\u4e2a\u7b80\u5355\u7684\u201c\u4e00\u4f53\u5316\u201d\u5de5\u5177\uff0c\u800c\u662f\u4e00\u4e2a**AI\u5de5\u4f5c\u6d41\u7684\u7f16\u6392\u5c42**\u3002\u5b83\u627f\u8ba4AI\u7f16\u7801\u4ee3\u7406\u662f\u672a\u6765\u7684\u4e3b\u529b\uff0c\u5e76\u7518\u5f53\u201c\u603b\u5de5\u201d\uff0c\u8d1f\u8d23\u751f\u4ea7\u9ad8\u8d28\u91cf\u7684PRD\u3001\u67b6\u6784\u51b3\u7b56\u8bb0\u5f55\uff08ADR\uff09\u548c\u9a8c\u6536\u6807\u51c6\uff0c\u786e\u4fdd\u4ee3\u7406\u4eec\u62ff\u5230\u7684\u662f\u7cbe\u786e\u7684\u5de5\u7a0b\u6307\u4ee4\uff0c\u800c\u975e\u6a21\u7cca\u7684\u81ea\u7136\u8bed\u8a00\u63d0\u793a\u3002\u521b\u59cb\u4eba\u523b\u610f\u56de\u907f\u4e86UI\u8bbe\u8ba1\uff08Figma\uff09\u548c\u90e8\u7f72\uff08Vercel\uff09\u7684\u96c6\u6210\uff0c\u9009\u62e9\u5148\u5728\u201c\u89c4\u5212-\u7cfb\u7edf\u8bbe\u8ba1-\u9a8c\u8bc1\u201d\u7684\u6df1\u5ea6\u4e0a\u624e\u4e0b\u53bb\uff0c\u8fd9\u662f\u4e00\u4e2a\u660e\u667a\u7684MVP\u7b56\u7565\u3002\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u5b83\u81ea\u5df1\u201c\u53d1\u8d27\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u8ba9\u7f16\u7801\u4ee3\u7406\u7684\u201c\u81ea\u5efa\u201d\u548c\u201c\u81ea\u6d4b\u201d\u53d8\u5f97\u66f4\u53ef\u9760\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u98ce\u9669\u4e5f\u540c\u6837\u660e\u663e\uff1a\u5b83\u9ad8\u5ea6\u7ed1\u5b9a\u4e86MCP\u751f\u6001\uff0c\u82e5Claude Code\u6216Codex\u6709\u4e00\u5929\u81ea\u5df1\u5b9e\u73b0\u4e86\u5185\u7f6e\u7684\u4e0a\u4e0b\u6587\u7ba1\u7406\uff0cStride\u7684\u62a4\u57ce\u6cb3\u5c06\u8fc5\u901f\u53d8\u7a84\u3002\u6b64\u5916\uff0c\u201c\u4fdd\u6301\u4eba\u7c7b\u5728\u51b3\u7b56\u5faa\u73af\u4e2d\u201d\u56fa\u7136\u9ad8\u5c1a\uff0c\u4f46\u82e5AI\u4e0d\u80fd\u771f\u6b63\u81ea\u4e3b\u5904\u7406\u8bbe\u8ba1\u77db\u76fe\uff0c\u6240\u8c13\u7684\u201c\u5168\u6d41\u7a0b\u201d\u4f9d\u7136\u5b58\u5728\u9700\u8981\u4eba\u5de5\u8df3\u8f6c\u7684\u5361\u70b9\u3002\u5b83\u76ee\u524d\u66f4\u50cf\u662f\u4e00\u4e2a\u56e2\u961f\u7684**\u5de5\u7a0b\u51b3\u7b56\u6307\u6325\u4e2d\u5fc3**\uff0c\u800c\u4e0d\u662f\u65e0\u4eba\u9a7e\u9a76\u5de5\u5382\u3002\u80fd\u5426\u6700\u7ec8\u4ece\u201c\u8f85\u52a9\u4eba\u7c7b\u505a\u51b3\u7b56\u201d\u8fdb\u5316\u4e3a\u201cAI\u81ea\u4e3b\u95ed\u73af\u5e76\u4ec5\u5728\u4f8b\u5916\u65f6\u4e0a\u62a5\u201d\uff0c\u5c06\u51b3\u5b9a\u5b83\u662f\u4e00\u65f6\u7684\u6548\u7387\u8865\u4e01\uff0c\u8fd8\u662f\u4e0b\u4e00\u4ee3\u5f00\u53d1\u8303\u5f0f\u7684\u6838\u5fc3\u57fa\u5efa\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\">Stride<\/span>\n                <\/div>\n<div class=\"comment-content\">Stride is the AI-native workspace for the whole build: plan, design, verify, and ship. Its AI works inside your real project data and plugs into Claude Code and Codex over MCP, so it does the work instead of just talking about it. Your team goes from idea to launch without switching tools.<\/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 Kunal, the founder of Stride.<br \/><a href=\"https:\/\/www.stride.page\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.stride.page\/<\/a><\/p>\n<p>Here&#8217;s the moment that made me build it. I was &#8220;planning a feature&#8221; and counted the tabs open to do one job: a board for the tickets, a whiteboard for the diagram, a doc for the spec, a tracker for status, and three AI chats I kept re-explaining my project to from scratch. None of them talked to each other. I was the integration layer. And I was exhausted.<\/p>\n<p>So we built Stride: one AI-native workspace for the whole journey from idea to shipped.<\/p>\n<p>\ud83d\udccb <strong>Plan<\/strong> \u2014 a flexible board with custom stages, WIP limits, and issue tracking that bends to how your team actually works (not the other way around)<br \/>\ud83c\udfa8 <strong>Design<\/strong> \u2014 architecture diagrams, solution design, and PRDs, drafted and refined with AI right next to the work<br \/>\u2699\ufe0f <strong>Optimize<\/strong> \u2014 map, model, and mine your processes to see how work really flows and where it gets stuck<br \/>\u2705 <strong>Verify<\/strong> \u2014 close the loop on quality: define acceptance criteria, build test plans, validate that what ships actually matches what you planned, and catch gaps before they reach users<br \/>\ud83e\udd16 <strong>Agent<\/strong> \u2014 an AI teammate that lives inside your real project. It creates, updates, and moves work for you, and plugs into Claude Code and Codex over MCP<br \/>\u26a1 <strong>Ship<\/strong> \u2014 go from idea to PRD to shipped without ever leaving the app<\/p>\n<p>The thing I&#8217;m proudest of: the AI isn&#8217;t a bolt-on chatbot staring at a blank box. It sits inside your actual project data, so it already knows your tickets, your stages, and your context. It does the work instead of just talking about it. Less &#8220;write me a prompt,&#8221; more &#8220;handle this.&#8221;<\/p>\n<p>We&#8217;re a small team and every comment today genuinely shapes what we build next, so I&#8217;m parked in the thread all day. One question I&#8217;d love your honest answer to: <strong>what&#8217;s the one tool-switch in your workflow that makes you sigh every single time?<\/strong> Plan to design? Spec to tickets? Reply and I&#8217;ll tell you exactly how (or honestly, whether) Stride kills it for you.<\/p>\n<p>Thank you for being here. It means a lot. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>14<\/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\/@kunalsharda\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kunalsharda<\/a>&nbsp;Love the vision of an AI workspace that handles planning through shipping\u2014that&#8217;s the full lifecycle. How does Stride handle cross-functional handoffs or integrations with external tools teams already rely on? Curious if this is meant as a replacement or complement to existing workflows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>An AI workspace that goes from planning all the way to shipping is a neat all-in-one approach. Does Stride integrate with tools like GitHub or Figma?<\/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\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Thanks! Yes to GitHub, connect your repo and Stride can even draft a real PR. We also import from Jira and plug into Claude Code or Codex via MCP. Figma&#8217;s an honest not yet, since our design layer is architecture (C4, ADRs, deployment diagrams) rather than UI, but UI design is on the path ahead. What&#8217;s your stack? Happy to share what connects 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What used to take days of planning, grooming, and coordination can now be completed in under a minute. \ud83d\udc4f<\/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\/@prajeet_jain\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prajeet_jain<\/a>&nbsp;&#8211; Long road ahead, but what a day to be live. \ud83d\ude4c<\/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\u2019ve been using Stride heavily for AI-assisted full-stack development, especially with Codex and Claude Code through MCP, and this is where it really clicks.<\/p>\n<p>The biggest value for me is the flow from product thinking to execution: PRD \u2192 epics \u2192 stories \u2192 acceptance criteria \u2192 test cases \u2192 implementation.<\/p>\n<p>I can then hand that work off to an AI coding agent that has the full project context through MCP. That means the agent is not starting from a vague prompt. It knows the ticket, expected behavior, acceptance criteria, related test cases, and the current workflow state.<\/p>\n<p>In practice, this makes the dev loop much tighter. Claude Code or Codex can pick up a ticket, work through the implementation, use the acceptance criteria as the target, run the relevant test cases, and move the ticket from To Do \u2192 In Progress \u2192 Ready for Review.<\/p>\n<p>What I also like is that the workflow does not stop when implementation is done. Once a ticket moves into review, Codex can continue updating the work through MCP: adding comments, attaching relevant context or outputs, recording what changed, and keeping the ticket useful for the next person reviewing it.<\/p>\n<p>For anyone building with AI coding agents, this solves a very real problem: the gap between \u201cwe planned the work\u201d and \u201cthe agent actually has enough structured context to build the right thing.\u201d Stride gives that context a home, and MCP makes it usable directly inside the development workflow.<\/p>\n<p>If you\u2019re doing AI-assisted development with Claude Code, Codex, or similar tools, I\u2019d definitely recommend trying Stride.<\/p>\n<p>\ud83c\udf81 Early-bird discount for the Product Hunt community: use code AAYUSH10<\/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\/@aayushsharma\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aayushsharma<\/a>&nbsp;That gap between &#8220;we planned the work&#8221; and &#8220;the agent has enough context to build the right thing&#8221; is the whole thesis, and giving that context a home through MCP is exactly what we were after. The bit about it not stopping at implementation is the underrated part too. Thanks for sharing the code with the community.<\/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;plans, designs, and ships&#8221; framing covers a lot of ground, and the interesting question is where the handoffs happen. Most tools like this are solid at one of those three and then quietly hand you back the wheel for the others. Curious whether Stride is actually driving the design-to-code transition itself, or whether &#8220;designs with you&#8221; means something closer to a Figma-adjacent whiteboard that you then feed into the build step. Also wondering how the Vercel tie-in works in practice: is deployment genuinely wired into the workspace so shipping is one action, or is it more of a pre-configured export target?<\/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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;&#8211; Really sharp question, and you&#8217;re right that the handoffs are where most tools quietly give you back the wheel.<\/p>\n<p>Two clarifications on today. First, &#8220;design&#8221; in Stride means system and architecture design, not Figma-style UI. Think scored solution options, ADRs grounded in your past decisions, and versioned C4, sequence and deployment diagrams, all tied to the same graph your stories and tests live in.<\/p>\n<p>On the design-to-code transition: Stride doesn&#8217;t try to be the IDE. It drives the handoff by producing the artifacts that feed the build, and its architecture review can draft a real GitHub PR. The code itself gets written by your coding agents, Claude Code or Codex, plugged in through our MCP server, so they work from the full product context instead of a snippet. And on Vercel, that&#8217;s the Product Hunt launch event, not a deploy integration. &#8220;Ships&#8221; today is the delivery layer: releases, release notes from real commits, and quality gates that block a release with gaps.<\/p>\n<p>But you&#8217;re pointing right at where this naturally goes. UI design and one-click deploy are both extensions of the same core idea, that everything lives in one connected graph the AI can see end to end. As the coding agents close the design-to-code loop, owning more of that transition, and eventually the deploy step itself, is exactly the direction we&#8217;re building toward. Today we&#8217;re deliberately deep on plan, design, verify &amp; optimize first, then we earn the rest.<\/p>\n<\/p>\n<p>Happy to go deeper on any of these.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>7<\/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\">Recently i switched from jira-confluence to stride and i learned that the biggest flex stride has is not some flashy Al feature-it&#8217;s that I don&#8217;t have to keep reminding myself where everything is. Usually I&#8217;m jumping between docs, tickets, chats, and random notes trying to piece everything together. With Stride, it just feels like everything is in one place and connected.<\/p>\n<p>It&#8217;s one of those things you don&#8217;t fully appreciate until you go back to your old workflow and realize how much time you were wasting.<\/p>\n<p>Curious if anyone else has the same problem or if it&#8217;s just me.\ud83d\ude05<\/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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@diggiwalabhishek\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@diggiwalabhishek<\/a>&nbsp;&#8211; Honestly this is my favorite kind of feedback. The flashy AI stuff gets the attention, but the quiet win, not having to reassemble context in your head every morning, is the part we care about most. And you said it perfectly: you don&#8217;t feel the weight of it until you go back.<\/p>\n<p>Really glad the switch landed. Thank you for sharing this. \ud83d\ude4f<\/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 interesting part is keeping planning, design, and shipping in one loop. Most tools nail one of those then lose the thread.<\/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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;&#8211; Exactly this. &#8220;Lose the thread&#8221; is the perfect way to put it, that&#8217;s precisely where it leaks, in the handoffs between tools. Keeping planning, design and shipping in one loop so the context carries through instead of getting re-explained at every step is the whole bet.  \ud83d\ude4f<\/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&#8217;ve had a front-row seat watching Stride come to life, and one thing that constantly stood out was how much time teams lose simply moving context between tools.<\/p>\n<p>One doc becomes five tabs. One requirement becomes ten conversations. And before you know it, half the effort is spent reconnecting information instead of building.<\/p>\n<p>Seeing Stride evolve from an idea into something that actually keeps planning, design, engineering, and QA connected has been incredibly rewarding.<\/p>\n<p>I&#8217;d genuinely love to know: what&#8217;s the one context switch in your daily workflow that frustrates you the most?<\/p>\n<p>Every answer helps us build a better product. \u2764\ufe0f<\/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\/@monish_mandavra1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monish_mandavra1<\/a>&nbsp;&#8211; That line about half the effort going into reconnecting information instead of building, that&#8217;s the exact moment we knew Stride had to exist. Now the real challenge is earning the one tab everything else collapses into.<\/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>plans, designs, and ships are three very different modes. plan is about exploring options, design is about constraint, ship is about commit. curious how Stride keeps context coherent across these without flattening them. does it know when to push back on something planned because the design phase showed it&#8217;s not feasible, or does it just keep building?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;&#8211; This is a genuinely good way to frame it: divergent in plan, narrowing in design, committal in ship. We think about it the same way.<\/p>\n<p>What keeps them from flattening is that they aren&#8217;t one document, they&#8217;re different kinds of nodes in one graph. A story isn&#8217;t an ADR isn&#8217;t a test case. Plan stays exploratory (multiple options, draft stories), design is explicitly evaluative (the Solution Designer scores three to five options against constraints, so &#8220;not feasible&#8221; shows up as a low score with reasons, not a vibe), and ship is where the quality gates actually commit or block. The same context flows between them, but each mode keeps its own shape.<\/p>\n<p>On your real question, I&#8217;ll be honest rather than oversell. Stride won&#8217;t silently build over a conflict. Because everything&#8217;s linked, when a design decision or an ADR contradicts something planned, that tension is traceable back to the stories it touches, and a quality gate can block a release with gaps. What it does today is surface the conflict and make you decide, the human stays in the loop on the renegotiation. What it doesn&#8217;t do yet is autonomously rewrite your plan because design hit a wall, and honestly we think that call should stay human for now. Making the AI flag those conflicts more proactively is exactly where we&#8217;re headed.<\/p>\n<p>Happy to go deeper on any of it, this is the kind of question we enjoy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Great platform! The ability to generate test cases directly from requirements and maintain traceability throughout the development process has been particularly valuable for our team. \ud83d\udc4f<\/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\/@manav_bhattacharya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manav_bhattacharya<\/a>&nbsp;Thank you! Traceability is one of those things that sounds boring on a slide and then quietly saves you the day something breaks and you can actually follow it from story to test to defect. Genuinely glad it&#8217;s earning its keep<\/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<\/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\/HR3TS5ETG3GBID\" class=\"app-title\">Dirac<\/a><\/p>\n<div class=\"one-liner\">The AI inbox that briefs founders every morning<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">114<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Dirac\u662fAI\u539f\u751f\u90ae\u4ef6\u5ba2\u6237\u7aef\uff0c\u6bcf\u5929\u6e05\u6668\u4e3a\u521b\u59cb\u4eba\u81ea\u52a8\u7b5b\u9009\u90ae\u4ef6\u3001\u751f\u6210\u7b80\u62a5\uff0c\u53ea\u5448\u73b0\u9700\u8981\u4eba\u5de5\u51b3\u7b56\u7684\u91cd\u8981\u4fe1\u606f\uff0c\u5e76\u4ee3\u7b14\u56de\u590d80%\u7684\u7410\u788e\u90ae\u4ef6\uff0c\u5e2e\u52a9\u521b\u59cb\u4eba\u4ece\u90ae\u4ef6\u82e6\u5f79\u4e2d\u89e3\u653e\u51fa\u6765\uff0c\u4e13\u6ce8\u4ea7\u54c1\u4e0e\u4e1a\u52a1\u6784\u5efa\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\/842bce7b-1f4f-4930-8a2b-2502808c0ab5.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\/a953dc9b-f35e-41f9-94d5-e9a5203237d7.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\/30b8e15f-6046-4cde-916f-b48c39a4c860.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\/30184208-8363-4573-8c64-98e4d9f17153.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\/01b77323-26e3-480d-9efe-e1a8b674d23a.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\/4ceb137a-b0ff-4792-9a83-d50ab0e973fb.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/TX4zg2JTnYs\"><source src=\"https:\/\/youtu.be\/TX4zg2JTnYs\" 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\">Email<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u90ae\u7bb1<\/span><br \/>\n            <span class=\"tag\">\u521b\u59cb\u4eba\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u7b80\u62a5<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u7b5b\u9009<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7b14<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u51b3\u7b56\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b<\/span><br \/>\n            <span class=\"tag\">Agentic AI<\/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\u6ce8AI\u5982\u4f55\u5224\u65ad\u90ae\u4ef6\u91cd\u8981\u6027\uff0c\u662f\u5426\u53ef\u5b66\u4e60\u4e2a\u4eba\u4e60\u60ef\uff1b\u5bf9AI\u4ee3\u7b14\u7684\u4fe1\u4efb\u548c\u5ba1\u8ba1\u8ffd\u8e2a\u8868\u793a\u5173\u5207\uff1b\u8be2\u95ee\u662f\u5426\u652f\u6301\u81ea\u5b9a\u4e49\u7b80\u62a5\u7126\u70b9\u53ca\u63a5\u5165Linear\u7b49\u5916\u90e8\u5de5\u5177\uff1b\u8ba4\u53ef\u201c\u53ea\u5448\u73b0\u9700\u51b3\u7b56\u4fe1\u606f\u201d\u7684\u7406\u5ff5\uff0c\u4f46\u5bf9\u4e00\u52b3\u6c38\u9038\u7684\u667a\u80fd\u7a0b\u5ea6\u6301\u8c28\u614e\u6000\u7591\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                Dirac\u7cbe\u51c6\u5207\u4e2d\u4e86\u521b\u59cb\u4eba\u90ae\u4ef6\u7ba1\u7406\u7684\u7ed3\u6784\u6027\u77db\u76fe\u2014\u2014\u5de5\u5177\u90fd\u5728\u5e2e\u4f60\u66f4\u5feb\u5730\u5904\u7406\u90ae\u4ef6\uff0c\u4f46\u90ae\u4ef6\u672c\u8eab\u4f9d\u7136\u662f\u5e72\u6270\u6e90\u3002Superhuman\u8ba9\u56de\u90ae\u4ef6\u53d8\u5feb\uff0c\u4f46\u6ca1\u8ba9\u201c\u5fc5\u987b\u770b\u6bcf\u4e00\u5c01\u90ae\u4ef6\u201d\u7684\u51b3\u7b56\u903b\u8f91\u6d88\u5931\u3002Dirac\u7684\u201c\u7b80\u62a5+\u80cc\u666f\u5904\u7406\u201d\u6a21\u5f0f\uff0c\u672c\u8d28\u4e0a\u662f\u5c06\u90ae\u4ef6\u4ece\u201c\u5f85\u529e\u6e05\u5355\u201d\u964d\u7ea7\u4e3a\u201c\u5f02\u6b65\u9605\u8bfb\u5668\u201d\uff0c\u8fd9\u6bd4\u4efb\u4f55AI\u8f85\u52a9\u56de\u590d\u90fd\u66f4\u6709\u98a0\u8986\u6027\u3002\u771f\u6b63\u6709\u4ef7\u503c\u7684\u5730\u65b9\u5728\u4e8e\uff1a\u5b83\u7528AI\u5b8c\u6210\u4e86\u4e00\u4e2a\u521b\u59cb\u4eba\u52a9\u740680%\u7684\u5de5\u4f5c\u2014\u2014\u8fc7\u6ee4\u566a\u97f3\u3001\u8d77\u8349\u5e38\u89c1\u56de\u590d\u3001\u5f52\u7c7b\u5b58\u6863\uff0c\u53ea\u628a\u5fc5\u987b\u4f60\u62cd\u677f\u7684\u4e8b\u7559\u7ed9\u4f60\u3002\u8fd9\u4e0d\u4ec5\u662f\u6548\u7387\u63d0\u5347\uff0c\u66f4\u662f\u6ce8\u610f\u529b\u7684\u91cd\u542f\u3002\u4f46\u95ee\u9898\u7684\u6838\u5fc3\u5728\u4e8e\u201c\u4fe1\u4efb\u201d\uff1aAI\u600e\u4e48\u5224\u65ad\u4ec0\u4e48\u662f\u91cd\u8981\uff1f\u5982\u679c\u7b2c\u4e00\u5929\u5c31\u6f0f\u6389\u5ba2\u6237\u6295\u8bc9\u6216\u6295\u8d44\u4eba\u6d88\u606f\uff0c\u7528\u6237\u4f1a\u77ac\u95f4\u4e27\u5931\u4fe1\u5fc3\u3002\u76ee\u524dDirac\u63d0\u5230\u901a\u8fc7\u53ef\u9006\u64cd\u4f5c\uff08\u5f52\u6863\u3001\u52a0\u661f\u3001\u5206\u7c7b\uff09\u6765\u964d\u4f4e\u98ce\u9669\uff0c\u8fd9\u662f\u52a1\u5b9e\u7684\u59a5\u534f\uff0c\u4f46\u4e5f\u66b4\u9732\u4e86AI\u8fd8\u8fdc\u4e0d\u80fd\u5b8c\u5168\u66ff\u4ee3\u4eba\u7c7b\u7684\u5224\u65ad\u3002\u53e6\u4e00\u4e2a\u9690\u5fe7\u662f\u201c\u667a\u80fd\u7684\u4e2a\u6027\u5316\u201d\u9700\u8981\u65f6\u95f4\u8bad\u7ec3\uff0c\u800c\u521b\u59cb\u4eba\u7684\u90ae\u4ef6\u573a\u666f\u9ad8\u5ea6\u81ea\u5b9a\u4e49\uff0c\u65e9\u671f\u4f53\u9a8c\u53ef\u80fd\u504f\u201c\u901a\u7528\u201d\u3002\u4e2d\u957f\u671f\u770b\uff0cDirac\u80fd\u5426\u4ece\u90ae\u4ef6\u6269\u5c55\u5230Slack\u3001Linear\u3001CRM\u7b49\u5de5\u5177\uff0c\u5f62\u6210\u771f\u6b63\u7684\u201c\u51b3\u7b56\u4e2d\u5fc3\u201d\u800c\u975e\u201c\u90ae\u4ef6\u52a0\u901f\u5668\u201d\uff0c\u624d\u662f\u51b3\u5b9a\u5b83\u662f\u5426\u80fd\u6210\u4e3a\u521b\u59cb\u4eba\u5fc3\u667a\u6355\u83b7\u8005\u7684\u5173\u952e\u3002\u76ee\u524d\u7684\u4ea7\u54c1\u54f2\u5b66\u8db3\u591f\u950b\u5229\uff0c\u4f46\u843d\u5730\u80fd\u529b\u624d\u662f\u6700\u7ec8\u7684\u5ba1\u5224\u5b98\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\">Dirac<\/span>\n                <\/div>\n<div class=\"comment-content\">Founders lose hours everyday to doing email, when they should be spending the time to build and make real progress. Dirac was made to end that. Dirac is an AI-native inbox that scans your threads, drafts replies in your voice, and shows a brief with only what needs your decision, quietly dealing with the 80% of un-important emails in the background. You run your inbox by deciding, not being your own assitant.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the framing that founders shouldn\u2019t just become faster at doing email. The real unlock is probably seeing only what actually needs a decision, and letting the rest move without constantly pulling you away from building.<\/p>\n<\/p>\n<p>Curious how Dirac decides what needs the founder\u2019s attention and what can safely be handled in the background. Is that something users train manually over time, or does it learn mostly from inbox and sent email behavior?<\/p>\n<\/p>\n<p>Also, the \u201cwhat would you always keep for yourself?\u201d question is a good one. For me, anything related to partnerships, sensitive customer issues, or important founder-to-founder communication should probably stay human.<\/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\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;<\/p>\n<p>Great questions, Andras!<\/p>\n<\/p>\n<p>This was actually something that I debated internally alot, cuz you <strong>wouldn&#8217;t<\/strong> want any ai to just go off on their own, replying to stuff. Nobody trusts any tool with that, right?<\/p>\n<\/p>\n<p>So Dirac bg tasks follows 1 rule: reversability.<\/p>\n<p>Think: archiving, starring, sorting, briefing you.<\/p>\n<\/p>\n<p>And one last thing &#8211; Definitely, human-to-human stuff is quite hard to get right, but Dirac (I believe) has hopefully nailed it \ud83d\udc85 <\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A morning briefing from your inbox is such a useful idea for busy founders. Can you customize what the daily brief focuses on?<\/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\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Dirac tries to be \u201csmart\u201d and see patterns by itself. <strong>But yes, you can tell it what you mostly want in the brief. <\/strong><\/p>\n<\/p>\n<p>Eg. \u201cUpdates from work\u201d, \u201csent by Sarah\u201d, \u201cprospects replies\u201d. <\/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>I like the framing of \u201conly what needs your decision.\u201d Most inbox tools still assume you want to process everything, while in reality most emails are just noise <\/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\/@alex_j_jemmy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_j_jemmy<\/a>&nbsp;One concern I have is trust. Email is very sensitive, so I would want clear visibility into what the AI is drafting and why it chose certain actions.<\/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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alex_j_jemmy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_j_jemmy<\/a>&nbsp;A suggestion from my side would be to show an audit trail of actions taken by the AI, so users can quickly understand what was handled in the background.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@alex_j_jemmy\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"alex_j_jemmy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_j_jemmy<\/a> Most email apps fall between \u201ceverything needs your decision\u201d or \u201cnothing needs your decision\u201d. And both are unreliable. <\/p>\n<\/p>\n<p>I tried rlly hard to find the balance for Dirac. Glad someone noticed, Alex!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>#9 and 82 points on launch day \u2014 how&#8217;d you pull that off straight out of the gate?  Pre-warmed audience, community seeding, a strong hunter? Genuinely trying to learn what a clean PH launch takes these days.<\/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\/@zhou_pin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zhou_pin<\/a>&nbsp;Thanks pin.<\/p>\n<\/p>\n<p>I really tried to do things right for the launch: Strong hunter, clean slides, but one thing slightly missing:<\/p>\n<p><strong>Pre-warmed audience<\/strong>. But with this launch, the followers of Dirac would be the <strong>prewarmed audience for the next launch. <\/strong><\/p>\n<\/p>\n<p>And it will just snowball&#8230;<\/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 Product Hunt!! \ud83d\udc4b I&#8217;m Peter, the Maker of Dirac.<\/p>\n<p>On my last startup we were a tiny team with barely any traction. And I was still losing about a fifth of my working time to email. Cold outreach, notifications, prospects, internal threads. Volume wasn&#8217;t the real issue.Everything funneled through me, and most of it didn&#8217;t need me. But I had to read every message just to know which was which, or risk something important slipping through.<\/p>\n<p>That&#8217;s the part I kept coming back to. Founders aren&#8217;t bad at email. They&#8217;re stuck being their own assistant.<br \/>Every tool out there makes you faster at doing email. Superhuman, Hey, Gmail, all of them. But being faster at the wrong job is still the wrong job. Email pulls you out of building all day, and the best tools only make that a little more bearable.<\/p>\n<p>\ud83d\ude80 \ud83d\ude80<br \/>So I built Dirac. An AI-native inbox where the AI does the busywork, not you.<br \/>Every morning it hands you a brief with only the emails that actually need you. Everything else gets sorted, filed, and handled in the background. Tell it to reply and it drafts in your voice. It already learned your tone from your sent mail. You show up to email already knowing what matters and what to say.<br \/>\ud83c\udfaf<br \/>That&#8217;s the difference. Every competitor is AI bolted onto a traditional inbox. Dirac is agentic. You make the calls, it does the work.<\/p>\n<p>It&#8217;s live at <a href=\"https:\/\/dirac.app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/dirac.app<\/a> if you want to try it. 14 days free, no card needed. But mostly I want to hear from you. What&#8217;s the one email task you&#8217;d kill first? And what would you always keep for yourself?<\/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\/@peterz_shu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peterz_shu<\/a>&nbsp;<br \/>Congrats on the launch, Peter! \ud83c\udf89 Love the framing here\u2014&#8221;founders aren&#8217;t bad at email, they&#8217;re stuck being their own assistant&#8221; really nails it. The shift from <em>faster at email<\/em> to <em>not doing the busywork at all<\/em> is the right insight. Excited to see where Dirac goes. Wishing you a great launch 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>morning founder brief is a beloved category that everyone underdelivers on because importance is so personal. curious how Dirac learns my actual signal of importance. is it from explicit feedback (i marked this as relevant), implicit signals (i replied within an hour), or a blend? and how long until the brief stops feeling generic?<\/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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;I&#8217;m currently in the process of making the ai more &#8220;malleable&#8221;. As in being able to learn about your habits in real time. For example, if the morning brief contains A,B,C,D,E and you only interact with A,B,E, Dirac should know to add C and D less frequently and less prioritized in the morning brief.<\/p>\n<\/p>\n<p>Currently, it scans the inbox -&gt; takes in topics and types (Eg. needs reply. prospect may be interested). And puts it on.<\/p>\n<\/p>\n<p><strong>And no, it won&#8217;t ever be generic (Cuz it&#8217;s your own inbox, after all, and all the important things only).<\/strong><\/p>\n<\/p>\n<p>Great questions, Mustafa!<\/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\">Looks great, congrats on the launch \ud83d\ude42<\/p>\n<p>Let me know if you\u2019d like some help with design in the future. Feel like I could contribute to your growth.<\/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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@peterdasilva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peterdasilva<\/a>&nbsp;Of course! Design is a huge component in a product and I do indeed will need some help with it in the future (maybe with the next launch in a few weeks).<\/p>\n<\/p>\n<p>Wanna add X?<\/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>An inbox that briefs me before I open the inbox is the dream. Founder email is basically a boss fight with subject lines.<\/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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;Absolutely man! Thanks for the support<\/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>Congrats on the launch!<\/p>\n<p>The &#8220;morning brief&#8221; framing makes more sense to me than &#8220;inbox AI&#8221; \u2014 most founders I know don&#8217;t have an inbox problem, they have a &#8220;what should I care about first&#8221; problem.<\/p>\n<p>Does Dirac pull from anywhere outside email (Linear, GitHub, Sentry, etc.) for the brief, or is email the only signal source for 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@somdip_roy1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@somdip_roy1<\/a>&nbsp;You\u2019ve pretty much summarized my weeks of market validation into 1 paragraph!<\/p>\n<\/p>\n<p>For now, email is the only thing Dirac plugs into. But we may be adding others in the future.<\/p>\n<\/p>\n<p>Which ones would you like to see?<\/p>\n<\/p>\n<p>Thanks Somdip for the feedback<\/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>As someone who spends way too much of her morning triaging email instead of actually building, this hits close to home. The &#8220;drafts replies in your voice&#8221; part is what I&#8217;m most curious about. Does it actually learn your tone over time or is it more of a one-time setup?<\/p>\n<p>Congrats on the launch, rooting for this 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@demi_tan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@demi_tan<\/a>&nbsp;Thanks Demi!<\/p>\n<p>It&#8217;s a one-time setup in the settings page, but every time you click &#8220;analyze&#8221; it can scan for your tone again. <\/p>\n<\/p>\n<p>So yes and no, hope this helps \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\">I like that it does the prep work but still leaves the actual communication to you. How does Dirac know if I\u2019m writing to a client, an investor or a friend? Does it change the tone automatically?<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>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\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;Thanks for the question, Etienne.<\/p>\n<\/p>\n<p>Dirac reads your inbox and scans for context. EG. maybe 5 threads ago, your coworker mentioned his dog went to the vet on Tuesday 7pm. And when you wanna email him about booking a dinner, Dirac would know to avoid Tuesday.<\/p>\n<\/p>\n<p>And yes, it has a bunch of tonal ques that it uses for each seperate type of emails and changes tone automatically.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Update: We have a yearly coupon too: <br \/>TRYDIRAC25 <\/p>\n<\/p>\n<p>use wisely&#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<\/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\/HEBBP5MHRLOSYY\" class=\"app-title\">MindReader v1<\/a><\/p>\n<div class=\"one-liner\">Read minds (simulated fMRI data, channeled to neuro-metrics)<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">113<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u901a\u8fc7\u6a21\u62dffMRI\u6570\u636e\u9884\u6d4b\u5927\u8111\u5bf9\u5185\u5bb9\u7684\u5206\u533a\u53cd\u5e94\uff0c\u4e3a\u521b\u4f5c\u8005\u3001\u8425\u9500\u56e2\u961f\u548cAI\u8bc4\u4f30\u8005\u63d0\u4f9b\u795e\u7ecf\u79d1\u5b66\u5c42\u9762\u7684\u5185\u5bb9\u6548\u679c\u4ee3\u7406\u6d4b\u8bd5\u5de5\u5177\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\/889241a1-cf00-42fb-a5e2-8490a505e188.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\/d1f8467f-2c2b-476b-86d2-39f09b586ebf.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\/d44c627e-fca7-4a5c-8945-80e0bea4551e.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\/7d00894e-ed00-40e8-931a-289f469e0ec5.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\/43d65042-dcef-4278-8023-9f98db4be6e1.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\/d395fc35-97a8-4376-9362-981e426acb23.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\/c15a9f03-b1c0-46e3-8d01-9116caef6c00.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\/57af8b2b-6e95-4822-bc3d-57ce910cbf2e.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\/4c542650-9930-40a1-b485-d26ddaa0cab2.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\/bad75a6b-fd5c-43a2-a7b5-d250fadbe40a.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\/0c213c1a-6f5a-434e-b2c8-b9ff9df0a748.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/363a33db292145879c28a11c00361693\"><source src=\"https:\/\/www.loom.com\/share\/363a33db292145879c28a11c00361693\" 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\">Open Source<\/span><br \/>\n            <span class=\"tag\">User Experience<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8111\u673a\u63a5\u53e3\u6a21\u62df<\/span><br \/>\n            <span class=\"tag\">\u795e\u7ecf\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u8bc4\u4f30AI<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u795e\u7ecf\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">fMRI\u9884\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u6ce8\u610f\u529b\u5efa\u6a21<\/span><br \/>\n            <span class=\"tag\">AI\u8bc4\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u4f53\u9a8c\u91cf\u5316<\/span><br \/>\n            <span class=\"tag\">\u7814\u7a76\u534f\u4f5c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u8ba1\u7b97<\/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\u8d28\u7591\u6a21\u62df\u795e\u7ecf\u6570\u636e\u7684\u79d1\u5b66\u4e25\u8c28\u6027\uff0c\u62c5\u5fc3\u88ab\u8fc7\u5ea6\u89e3\u8bfb\u4e3a\u201c\u8bfb\u5fc3\u672f\u201d\u3002\u591a\u6570\u8bc4\u8bba\u5efa\u8bae\u660e\u786e\u5176\u4f5c\u4e3a\u201c\u9884\u6d4b\u6a21\u578b\u201d\u800c\u975e\u201c\u6d4b\u91cf\u5de5\u5177\u201d\u7684\u5c40\u9650\uff0c\u5e76\u547c\u5401\u4e0e\u6807\u51c6UX\u6d4b\u8bc4\u5de5\u5177\u8fdb\u884c\u57fa\u51c6\u5bf9\u6bd4\u3002\u793e\u533a\u5bf9\u5f00\u6e90\u3001\u53ef\u5ba1\u8ba1\u7684\u7814\u7a76\u65b9\u5411\u8868\u793a\u80af\u5b9a\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                MindReader v1\u5b8c\u7f8e\u8e29\u4e2d\u4e86\u6280\u672f\u5708\u5f53\u4e0b\u7684\u4e24\u5927\u5174\u594b\u70b9\uff1a\u795e\u7ecf\u79d1\u5b66\u7684\u795e\u79d8\u611f\u548c\u5f00\u6e90\u5171\u5efa\u7684\u4fe1\u4ef0\u3002113\u7968\u5bf9\u4e00\u6b3e\u4ece\u96f6\u5f00\u59cb\u7684B2B\u7814\u7a76\u5de5\u5177\u5df2\u662f\u4e0d\u9519\u5f00\u5c40\uff0c\u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u5e76\u4e0d\u5728\u4e8e\u201c\u8bfb\u5fc3\u201d\uff0c\u800c\u5728\u4e8e\u4e3a\u4f20\u7edf\u67af\u71e5\u7684A\/B\u6d4b\u8bd5\u6216\u5185\u5bb9\u8bc4\u4f30\u63d0\u4f9b\u4e86\u4e00\u5957\u6781\u5ea6\u6027\u611f\u7684\u8bdd\u672f\u6846\u67b6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6839\u672c\u4e0a\u8bf4\uff0c\u8fd9\u662f\u7528\u4e00\u6574\u5957\u795e\u7ecf\u5b66\u9ed1\u8bdd\uff08voxel\u9884\u6d4b\u3001\u6ce8\u610f\u529b\u6e90\u4e8eFalk\u535a\u58eb\u7814\u7a76\uff09\u6765\u5305\u88c5\u4e00\u4e2a\u201c\u4ee3\u7406\u8bc4\u4f30\u6a21\u578b\u201d\u3002\u5176\u6838\u5fc3\u903b\u8f91\u2014\u2014\u6839\u636e\u7ea61000\u5c0f\u65f6fMRI\u6570\u636e\u9884\u6d4b\u5e73\u5747\u5927\u8111\u53cd\u5e94\u2014\u2014\u5728\u79d1\u5b66\u4e0a\u4ecd\u5904\u4e8e\u201c\u597d\u4f46\u975e\u798f\u97f3\u201d\u9636\u6bb5\u3002\u4ea7\u54c1\u5728\u8bc4\u8bba\u4e2d\u5766\u8bda\u5176\u76f8\u5173\u6027\u7cfb\u6570\u7ea60.4\uff0c\u8fd9\u610f\u5473\u7740\u5728\u7edd\u5927\u591a\u6570\u7684\u4e2a\u4f53\u5316\u6216\u975e\u5178\u578b\u5185\u5bb9\u573a\u666f\u4e0b\uff0c\u5176\u8f93\u51fa\u66f4\u63a5\u8fd1\u4e00\u79cd\u53ef\u89c6\u5316\u827a\u672f\u800c\u975e\u53ef\u91cf\u5316\u7684\u771f\u7406\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f18\u70b9\u5728\u4e8e\u5f00\u6e90\u7b56\u7565\u7684\u9ad8\u5ea6\u660e\u667a\u3002\u9762\u5bf9\u201c\u53ef\u80fd\u5b58\u5728\u8fc7\u5ea6\u89e3\u8bfb\u201d\u7684\u6838\u5fc3\u6279\u8bc4\uff0c\u5f00\u653e\u6e90\u7801\u65e2\u662f\u6280\u672f\u58c1\u5792\uff0c\u53c8\u662f\u4fe1\u4efb\u76fe\u724c\u3002\u8fd9\u5141\u8bb8\u793e\u533a\u5728\u5b66\u672f\u5ba1\u8ba1\u548c\u5b9a\u5236\u5316\u5e94\u7528\uff08\u5982CCPs\u3001\u547c\u53eb\u4e2d\u5fc3\u57f9\u8bad\uff09\u4e0a\u8fdb\u884c\u4e8c\u6b21\u8fed\u4ee3\uff0c\u4ece\u800c\u7ed5\u5f00\u4e86\u5355\u7eaf\u4f9d\u8d56\u201c\u51c6\u786e\u7387\u201d\u7684\u77ed\u89c6\u7ade\u4e89\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u98ce\u9669\u5219\u5728\u4e8e\uff0c\u5176\u6807\u8bed\u548c\u8425\u9500\u63aa\u8f9e\uff08\u201cRead minds\u201d\uff09\u5728B\u7aef\u9500\u552e\u4e2d\u4e00\u65e6\u88ab\u975e\u6280\u672f\u51b3\u7b56\u8005\u7406\u89e3\uff0c\u6781\u6613\u5f15\u53d1\u9884\u671f\u6ce1\u6cab\u3002\u76ee\u524d\u4ea7\u54c1\u663e\u7136\u66f4\u9002\u5408\u201c\u7814\u7a76\u63a2\u7d22\u201d\u800c\u975e\u201c\u91c7\u8d2d\u90e8\u7f72\u201d\u3002\u82e5\u56e2\u961f\u4e0d\u80fd\u5728\u672a\u67656\u4e2a\u6708\u5185\u53d1\u5e03\u81f3\u5c11\u4e00\u4efd\u4e0e\u771f\u5b9efMRI\u6216\u773c\u7403\u8ffd\u8e2a\u7684\u4e25\u8c28\u5bf9\u6bd4benchmark\uff0c\u5b83\u5f88\u53ef\u80fd\u6ca6\u4e3a\u79d1\u6280\u5708\u6619\u82b1\u4e00\u73b0\u7684\u730e\u5947\u5b9e\u9a8c\uff0c\u800c\u975e\u98a0\u8986\u5185\u5bb9\u8bc4\u4f30\u7684\u57fa\u5efa\u5de5\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\">MindReader v1<\/span>\n                <\/div>\n<div class=\"comment-content\">How do you feel? It is the oldest question in art and the newest one we can answer in technology. MindReader takes your content and simulates, region by region, how a brain responds to it. Completely Open Source &#8211; we encourage you to tinker. Exploring sales evals, neural evals for datasets and other esoteric product experiments w\/ madhat founders. MindReader is built on Meta FAIR&#8217;s TRIBE v2 + 35yrs of neuro research. Inviting collab from the academics et all.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One concern I have is overinterpretation. users might treat simulated neural outputs as scientific truth, so clear framing and limitations will be important.<\/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\/@malani_willa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malani_willa<\/a>&nbsp;\ud83e\udde0 interesting direction overall, especially for people exploring AI evaluation methods beyond traditional metrics like clicks or conversions.<\/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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@malani_willa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malani_willa<\/a>&nbsp;we completely agree! Which is why we chose to build in a completely open source manner. We want to strengthen these metrics, test them rigorously before pushing them to consumer products.<\/p>\n<p>Clear communication and community accountability is a core part of our DNA. Appreciate the flag.<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@malani_willa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malani_willa<\/a>&nbsp;Congrats on the launch \ud83c\udf89. The idea of simulating neural responses to content is  definitely ambitious, and I like that you&#8217;re framing it around experimentation and research rather than just product claims.<\/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\">Hello PH!<\/p>\n<p>Introduction: MindReader simulates, second by second how a brain responds to any content<br \/>\nExplanation: It feeds TRIBEv2 data into an insights miner that is run by a neuro-analyst agent. 7-dimensions are explored. Attention (for eg) is based on Dr. Falks&#8217; research work etc.<br \/>\nInspiration: How do you feel? EQ in AI<br \/>\nEvolution: initalyy started as brainDiff (focused on A vs B results for each &#8216;similar content&#8217; to battle absence of baselines) &#8211; ended up normalizing output scores using basic stats. <\/p>\n<p>CTA: Run you latest social media post through the platform &#8211; <a href=\"https:\/\/mindreaderai.vercel.app\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/mindreaderai.vercel.app\/<\/a><br \/>\n(self-host available)<\/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>the ositioning is bold, but also risky. When terms like \u201cread minds\u201d are used, expectations can easily go far beyond what simulated neuro-data can realistically provide.<\/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\/@simran_kumar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@simran_kumar<\/a>&nbsp;A suggestion from my side would be to include benchmark comparisons against more standard UX testing tools so people understand where this fits in the stack.<\/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\/@simran_kumar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@simran_kumar<\/a>&nbsp;we resonate! Hence we also decided to open-source the product and research. <\/p>\n<\/p>\n<p>MindReader predicts what an average brain response would look like &#8211; specifically the blood flow. <a href=\"https:\/\/mindreaderai.vercel.app\/methodology\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/mindreaderai.vercel.app\/methodology<\/a> details out everything that goes behind making Mindreader&#8217;s science backed magic.<\/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 Product Hunt community! \ud83d\udc4b<\/p>\n<p>Thrilled to see this first launch from the <a href=\"https:\/\/cassiniresearch.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Cassini Research<\/strong><\/a> collective hitting the top 10 (#9 right now! \ud83d\ude80).<\/p>\n<p><strong>MindReader V1<\/strong> is the result of deep research and countless hours collaborating with sales teams to solve real workflow bottlenecks. The best part? It\u2019s already driving impact. We&#8217;re currently being integrated into the evaluation pipelines of a marketing team and a YC-backed sales AI agent.<\/p>\n<p>Huge shoutout to <a href=\"https:\/\/www.producthunt.com\/@ishita8088\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ishita8088\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ishita8088<\/a> for building something users are clearly loving. As a co-maker, I\u2019d love to get your thoughts &#8211; where would you like to use it in your product or agent pipeline?<\/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><a href=\"https:\/\/www.producthunt.com\/@ishita8088\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ishita8088\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ishita8088<\/a> Hi, Tried the product at the trial setup page and honestly the experience felt like stepping into a neuroscience lab \ud83d\ude04 The visualizations are fascinating and definitely spark curiosity. At the same time, I found myself wondering how much of the report reflects real cognitive signals versus an interpretive model. Either way, it&#8217;s a very memorable experience and a fresh way to think about message analysis.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/49685c68-a93b-413a-8bd7-d00a778c7e3b.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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jas_jaski\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jas_jaski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jas_jaski<\/a> <a href=\"https:\/\/www.producthunt.com\/@ishita8088\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ishita8088\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ishita8088<\/a> Bold vision here. The open-source angle makes it even more exciting for people who love tinkering and experimenting.<\/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\/@jas_jaski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jas_jaski<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@dipanshu_kushwaha5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipanshu_kushwaha5<\/a>&nbsp;Thank you for checking out the product! We believe that the trust surface here has to be large. <\/p>\n<p>The only way to make people believe that we can &#8216;read minds&#8217; is by keeping our methodology and research out in the open. Looking forward to making the product even more robust.  <\/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>simulated fMRI is an interesting framing because it lowers the barrier from clinical setting to anywhere with a laptop. curious which use cases you&#8217;re seeing pull on this first. is it more researchers doing prototype experiments before booking real scanner time, or builders putting brain inspired models inside consumer apps?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! super interesting ideas. I wonder what you use as a proxy for attention. Do users need to give inputs or do you estimate where the users might be focusing on based on moment-to-moment &#8216;salience&#8217;? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>I also wonder whether your model also uses E\/MEG data, because the simulation seems to be a stretch of fMRI&#8217;s temporal resolution <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 what engineers must feel like when I show them my code. Essentially, you\u2019ve created a visualization based on averaged fMRI data to help people conceptualize what brain areas are related to certain tasks and domains?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 weird in the best Product Hunt way. Simulated mind reading for UX feels half research lab, half startup fever dream.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Simulating how a brain reacts to content is a fascinating concept, and love that it&#8217;s open source. How accurate are the neuro-metrics compared to real fMRI studies?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@doganakbulut\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a> good question, and the honest answer is it&#8217;s a prediction, not a measurement. TRIBEv2 doesn&#8217;t read a brain. It predicts the fMRI response an average brain would produce, trained on ~1,000 hrs of real scans across 720 subjects. Meta reports 2\u20133x better accuracy than prior encoding models, and zero-shot correlation around 0.4 on subjects it&#8217;s never seen. So: good, not gospel.<\/p>\n<\/p>\n<p>What that means in practice one should trust it for <strong><em>relative<\/em> signal<\/strong> (where attention holds vs. drops inside one piece of content) far more than absolute numbers. <\/p>\n<\/p>\n<p>The 7 signals sit as an interpretive layer I built on top of the voxel predictions, mapped to published region \u2192 function research. That layer carries its own assumptions, which is exactly why it&#8217;s open source &#8211; so peers can audit \/ tweak 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>Very interesting, and great that it&#8217;s open source. But I&#8217;m not sure I understand it correctly. So the goal is to determine how a demographic will respond to certain sales call scripts or ad creatives?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jn263\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jn263<\/a>&nbsp;the surface area for the product is much wider. <\/p>\n<\/p>\n<ul>\n<li>\n<p>it is useful in anything that benefits from a proxy of human reaction to it. <\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p>we have already discussed sales calls coaching as a use case; content \/ marketing \/ ads would work in a similar way<\/p>\n<\/li>\n<li>\n<p>some other use cases <\/p>\n<ul>\n<li>\n<p>neural tags for datasets (many YC audio start-ups (like usepanels.com) are selling expressive data, they can attach this as an objective measure of emotion). (would love for <a href=\"https:\/\/www.producthunt.com\/@garrytan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"garrytan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@garrytan<\/a> to weigh in)<\/p>\n<\/li>\n<li>\n<p>call centres for distress calls can use it to train their agents even better  <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>there are also darker use cases: like reverse engineering a &#8220;calm video&#8221; to hit certain neural-metrics &#8211; which is why we have chosen to stay completely open source and are building on the frontier<\/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<\/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\/JPD7O7CLK67XUG\" class=\"app-title\">Revyl<\/a><\/p>\n<div class=\"one-liner\">The mobile source of truth<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">110<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Revyl \u4e3a\u79fb\u52a8\u5f00\u53d1\u56e2\u961f\u63d0\u4f9b\u5728\u771f\u5b9e\u4e91\u8bbe\u5907\u4e0a\u7684\u5e94\u7528\u884c\u4e3a\u5168\u94fe\u8def\u53ef\u89c2\u6d4b\u6027\uff0c\u901a\u8fc7\u6b65\u9aa4\u7ea7\u6267\u884c\u8ffd\u8e2a\u3001\u6027\u80fd\u6307\u6807\u3001\u7f51\u7edc\u7011\u5e03\u56fe\u548c\u8de8\u8fd0\u884c\u72b6\u6001\/\u6587\u4ef6\u7cfb\u7edf\u5dee\u5f02\u5206\u6790\uff0c\u89e3\u51b3\u79fb\u52a8\u7aef\u7aef\u5230\u7aef\u6d4b\u8bd5\u4e2d\u201c\u53ea\u770b\u901a\u8fc7\/\u5931\u8d25\u65e0\u6cd5\u5b9a\u4f4d\u6839\u56e0\u201d\u4ee5\u53ca\u201c\u7ebf\u4e0a\u5076\u53d1Bug\u96be\u590d\u73b0\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\/ed8ed841-330b-4b4f-967f-02c079ce8a42.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\/2f9bf5d9-6202-4f97-9f51-da0ea9e6196f.gif?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\/0bc44d75-4cb3-480f-8cfa-9e5d06e50e56.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\/0d1ffb6a-c554-45c5-b768-266c9d62c490.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/jWTXJnGB2wo\"><source src=\"https:\/\/youtu.be\/jWTXJnGB2wo\" 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\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u79fb\u52a8\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u4e91\u771f\u673a<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">\u7aef\u5230\u7aef\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u6027\u80fd\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">CI\/CD<\/span><br \/>\n            <span class=\"tag\">\u8c03\u8bd5\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u5730\u56fe<\/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\u96c6\u4e2d\u5728\uff1a1) \u81ea\u7136\u8bed\u8a00\u6d4b\u8bd5\u6b65\u9aa4\u7684\u7c92\u5ea6\u95ee\u9898\uff0c\u5b98\u65b9\u5efa\u8bae\u201c\u6a21\u7cca\u6bd4\u7cbe\u786e\u66f4\u53ef\u9760\u201d\uff1b2) \u5f3a\u8c03\u6587\u4ef6\u7cfb\u7edf\u5dee\u5f02\u5206\u6790\u548c\u7f51\u7edc\u7011\u5e03\u56fe\u7ec4\u5408\u5bf9\u6392\u67e5\u201c\u4ec5\u53d1\u751f\u5728\u751f\u4ea7\u73af\u5883\u201dBug\u7684\u4ef7\u503c\uff1b3) CLI\u9a71\u52a8\u4e91\u8bbe\u5907\u4e0eCI\u96c6\u6210\uff08GitHub Action\uff09\u662f\u9ad8\u9891\u9700\u6c42\uff1b4) Atlas\u81ea\u52a8\u5730\u56fe\u529f\u80fd\u53d7\u9752\u7750\uff1b5) \u6709\u4eba\u8d28\u7591\u201c\u79fb\u52a8\u4e8b\u5b9e\u6765\u6e90\u201d\u5b9a\u4f4d\u6a21\u7cca\uff0c\u5b98\u65b9\u56de\u5e94\u4e3a\u201c\u9a8c\u8bc1\u6784\u5efa\u5b9e\u9645\u884c\u4e3a\u800c\u975e\u63a8\u65ad\u5206\u6790\u201d\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                Revyl\u5207\u5165\u7684\u662f\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u7ec6\u5206\u6218\u573a\uff1a\u79fb\u52a8\u7aefE2E\u6d4b\u8bd5\u7684\u201c\u9ed1\u76d2\u201d\u56f0\u5883\u3002\u4f20\u7edf\u5de5\u5177\u8981\u4e48\u53ea\u4ea7\u51fa\u4e8c\u8fdb\u5236\u901a\u8fc7\/\u5931\u8d25\uff0c\u8981\u4e48\u4f9d\u8d56\u7528\u6237\u7ebf\u4e0a\u5d29\u6e83\u65e5\u5fd7\u540e\u77e5\u540e\u89c9\u3002Revyl\u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5c06\u201c\u89c2\u6d4b\u201d\u4ece\u751f\u4ea7\u73af\u5883\u524d\u7f6e\u5230\u9884\u53d1\u5e03\u9636\u6bb5\u2014\u2014\u4e0d\u662f\u7b49\u7528\u6237\u8e29\u5751\uff0c\u800c\u662f\u901a\u8fc7\u4e91\u8bbe\u5907\u4e3b\u52a8\u6267\u884c\u5e76\u6355\u83b7\u6b65\u9aa4\u7ea7\u8f68\u8ff9\u3001\u6027\u80fd\u66f2\u7ebf\u548c\u72b6\u6001\u5dee\u5f02\uff0c\u8ba9\u6d4b\u8bd5\u62a5\u544a\u672c\u8eab\u6210\u4e3a\u53ef\u56de\u6eaf\u7684\u201c\u8bc1\u636e\u94fe\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u65e0\u6cd5\u91cf\u5316\u7684\u7ea2\u7eff\u706f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4ea7\u54c1\u8bbe\u8ba1\u6709\u51e0\u4e2a\u503c\u5f97\u5173\u6ce8\u7684\u8109\u51b2\uff1a**\u7b2c\u4e00\uff0cAgent\u9a71\u52a8\u7684\u81ea\u7136\u8bed\u8a00\u6d4b\u8bd5**\uff0c\u901a\u8fc7\u201c\u610f\u56fe\u89e3\u6790\u201d\u800c\u975e\u56fa\u5b9a\u5750\u6807\u5b9a\u4f4d\u5143\u7d20\uff0c\u5de7\u5999\u907f\u5f00UI\u53d8\u66f4\u5e26\u6765\u7684\u811a\u672c\u8106\u5f31\u6027\uff0c\u8fd9\u662f\u4e0d\u5c11\u56e2\u961f\u8bd5\u6c34\u81ea\u52a8\u5316\u65f6\u6700\u5927\u7684\u9690\u6027\u6210\u672c\u3002**\u7b2c\u4e8c\uff0cAtlas\u7684\u81ea\u52a8\u5730\u56fe\u751f\u6210**\uff0c\u5c06\u8f6f\u4ef6\u9648\u65e7\u6587\u6863\u4e0e\u52a8\u6001\u6784\u5efa\u5b9e\u65f6\u5bf9\u9f50\uff0c\u8fd9\u5728\u8de8\u6a21\u5757\u534f\u4f5c\u7684\u56e2\u961f\u4e2d\u80fd\u663e\u8457\u964d\u4f4e\u201c\u8be5\u56fe\u5230\u5e95\u5bf9\u5e94\u54ea\u4e2a\u7248\u672c\u201d\u7684\u6c9f\u901a\u6469\u64e6\u3002**\u7b2c\u4e09\uff0c\u6587\u4ef6\u7cfb\u7edf\u5dee\u5f02\u5206\u6790**\u662f\u771f\u6b63\u5dee\u5f02\u5316\u529f\u80fd\u2014\u2014\u5f88\u591a\u79fb\u52a8\u7aef\u5185\u5b58\u6cc4\u6f0f\u6216\u6570\u636e\u5e93\u810f\u6570\u636e\u95ee\u9898\u9700\u8981\u8de8\u4f1a\u8bdd\u7d2f\u79ef\u624d\u80fd\u590d\u73b0\uff0c\u800c\u4f20\u7edf\u6d4b\u8bd5\u6846\u67b6\u51e0\u4e4e\u4e0d\u53ef\u80fd\u6355\u83b7\u8fd9\u79cd\u201c\u72b6\u6001\u6cbc\u6cfd\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u6ce8\u610f\uff1aRevyl\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u201c\u6df1\u5ea6\u8bca\u65ad\u5de5\u5177\u201d\uff0c\u800c\u975e\u6d4b\u8bd5\u7ba1\u7406\u5e73\u53f0\u3002\u5176\u5f3a\u9879\u5728\u201cWhy\u201d\u800c\u4e0d\u662f\u201cWhat\u201d\u3002\u5982\u679c\u56e2\u961f\u53ea\u6c42\u5feb\u901f\u8dd1\u811a\u672c\u51fa\u7eff\u6807\uff0c\u5b83\u7684\u5b66\u4e60\u66f2\u7ebf\uff08\u81ea\u7136\u8bed\u8a00\u7f16\u5199\u3001Agent\u884c\u4e3a\u7406\u89e3\u3001\u62a5\u544a\u6d88\u8d39\uff09\u4f1a\u529d\u9000\u90e8\u5206\u7528\u6237\u3002\u6b64\u5916\uff0c\u5bf9\u4e8e\u5df2\u7ecf\u6295\u91cd\u8d44\u5feb\u7167\u6d4b\u8bd5\u6216\u5f55\u5236\u56de\u653e\u65b9\u6848\u7684\u4e2d\u5927\u578b\u56e2\u961f\uff0c\u5207\u6362\u5230Revyl\u610f\u5473\u7740\u57fa\u7840\u8bbe\u65bd\u548c\u65e2\u6709\u7528\u4f8b\u91cd\u6784\u7684\u9ad8\u6602\u6210\u672c\u3002\u6700\u5408\u7406\u7684\u843d\u5730\u573a\u666f\u53ef\u80fd\u662f\u5728\u65b0\u9879\u76ee\u6216\u74f6\u9888\u9636\u6bb5\u4f5c\u4e3a\u201c\u8865\u5145\u89c2\u6d4b\u5c42\u201d\u5e76\u884c\u90e8\u7f72\uff0c\u800c\u975e\u5168\u76d8\u66ff\u4ee3\u3002\u603b\u4f53\u6765\u8bf4\uff0cRevyl\u7684\u4ef7\u503c\u6210\u7acb\uff0c\u4f46\u80fd\u5426\u4ece\u201c\u6709\u8da3\u7684\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u79fb\u52a8\u5f00\u53d1\u6807\u914d\u201d\uff0c\u53d6\u51b3\u4e8e\u5b83\u662f\u5426\u80fd\u63a8\u52a8\u66f4\u591a\u5f00\u7bb1\u5373\u7528\u7684\u6700\u4f73\u5b9e\u8df5\u6a21\u677f\uff0c\u800c\u4e0d\u4ec5\u4ec5\u4f9d\u8d56\u7528\u6237\u81ea\u5df1\u6784\u5efa\u6d4b\u8bd5\u903b\u8f91\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\">Revyl<\/span>\n                <\/div>\n<div class=\"comment-content\">Revyl gives mobile teams full observability into how their app actually behaves on live cloud devices. Step-level execution traces, performance data (CPU, memory, FPS), a complete network waterfall, and state and file-system diffing across every run. Atlas auto-maps every screen and flow in your app, and revyl dev brings hot reload and device control into your dev loop.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The report is what makes this interesting to me. For mobile E2E, I care less about a bare pass\/fail and more about seeing why a run failed. When writing natural-language steps, how specific should they be to avoid brittleness across small UI changes?<\/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\/@edan_tusi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@edan_tusi<\/a>&nbsp;Counterintuitively, vaguer is more robust. &#8220;Tap checkout&#8221; survives a redesign that &#8220;tap the green button at the bottom&#8221; won&#8217;t, because the agent resolves intent against what&#8217;s actually on screen.<\/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>I literally use Revyl everyday to test regressions in our app as I&#8217;m adding new features everyday with Codex. It&#8217;s such a good tool for peace of mind. Congrats on the launch \ud83d\ude42<\/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\/@aravs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aravs<\/a>&nbsp;appreciate it man, glad it&#8217;s been useful for you \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>Have used Revyl to help me vibecode some iOS apps for fun, super fast and just makes testing so easy, the new maps feature highkey really helps for all the onboarding pages we have to build now.<\/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\/@rishabluthra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rishabluthra<\/a>&nbsp;Thank you for the kind comment!<\/p>\n<\/p>\n<p>Glad to hear Revyl is helping you out<\/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 Product Hunt\ud83d\udc4b,<\/p>\n<p>Revyl is the mobile source of truth. <\/p>\n<p>There are 3 main parts of revyl:<\/p>\n<p>&#8211; The platform captures the full run so you see why something failed<\/p>\n<p>&#8211; CLI allows you (or your coding agent) to drive cloud device from terminal<br \/>&#8211; Atlas auto-maps every screen and flow in your app, a live source of truth instead of a stale diagram<\/p>\n<p>Would love your feedback from anyone shipping mobile.<\/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>&#8216;the mobile source of truth&#8217; is a positioning that can mean a few different things. is the source of truth about app state in production, about which build is live across cohorts, or about user behavior aggregated across platforms? curious where you&#8217;ve landed and whether mobile teams are buying this as observability or as control plane.<\/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>Closest to your first framing. The source of truth is what a given build actually does, verified by exercising it rather than inferred from analytics. We drive your app on cloud devices, Atlas turns those runs into a living map of every screen and path per build, and the platform is where teams see and gate on it.<\/p>\n<\/p>\n<p>On your observability vs control plane question: it&#8217;s both, and that&#8217;s the point. You get the observability surface (step traces, network, state diffs) from runs you trigger pre-release instead of waiting for a user to hit the bug, then gate on what you see. &#8220;Which build is live across cohorts&#8221; and cross-platform diffs fall out of running per-build across the device matrix.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 super sick. Atlas is probably one of my favourite 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\/@damondeng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@damondeng<\/a>&nbsp;Thanks for the comment!<\/p>\n<\/p>\n<p>Atlas also probably my favourite feature too lol<\/p>\n<\/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>Driving real cloud devices from the CLI is the part that stands out to me. It feels especially useful for mobile teams trying to bring testing closer to the dev loop. How does it fit into CI today?<\/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\/@farrukh_butt1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farrukh_butt1<\/a>&nbsp;Thanks for the question!<\/p>\n<\/p>\n<p>&nbsp; For CI, most teams use our GitHub Action: upload the build, run the test against it. It streams results live, drops a<\/p>\n<p>&nbsp; report link in the run, and exits 0 or 1 so it gates a merge or deploy cleanly.<\/p>\n<\/p>\n<p>&nbsp; Expo\/EAS works too. If you&#8217;re not on GitHub Actions, the raw CLI does the same thing.<\/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 file-system diffing across runs is the bit i haven&#8217;t seen anywhere else &#8211; catching state that quietly accumulates between sessions is genuinely hard to debug otherwise. combining that with the full network waterfall on cloud devices is a strong combo for the &#8216;only happens in prod&#8217; class of mobile bugs<\/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;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<\/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\/WKPVLESQQFBACY\" class=\"app-title\">DevCleaner<\/a><\/p>\n<div class=\"one-liner\">Free the gigabytes your dev tools and AI apps hoard<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">102<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DevCleaner\u662f\u4e00\u6b3e\u5e38\u9a7bMac\u83dc\u5355\u680f\u7684\u514d\u8d39\u5de5\u5177\uff0c\u80fd\u4e00\u952e\u626b\u63cf\u5e76\u6e05\u7406Xcode\u3001Gradle\u3001npm\u53caAI\u5e94\u7528\uff08\u5982Cursor\u3001Claude\u3001Ollama\uff09\u7b4922\u4e2a\u5f00\u53d1\u73af\u5883\u79ef\u538b\u7684\u6570\u5341GB\u7f13\u5b58\u4e0e\u5197\u4f59\u6570\u636e\uff0c\u5e76\u9644\u5e26\u98ce\u9669\u8bc4\u7ea7\uff0c\u907f\u514d\u8bef\u5220\u5bfc\u81f4\u73af\u5883\u5d29\u6e83\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\/1c86fb60-3efc-431b-942d-fe20f4693faf.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\/da81aec7-c780-44e6-a6c9-48a80bf55308.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\/745de96f-b60f-4415-a014-86ddab431167.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\/c2b88da6-c684-41ca-ac93-d89bedb01bb0.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\/fe9dcc6b-ad7a-43ca-a745-55697400963a.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\/da99f668-98c5-4647-bdc5-298789e4e19b.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\/5e59a8d4-72fa-4bd0-9310-1cfb772d8aaf.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\/72b59dff-3609-485c-95da-1c959391e3e5.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\/0c30bcb4-bc46-4028-b8a6-7fba13012a18.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/fZY17BvMmG8\"><source src=\"https:\/\/youtu.be\/fZY17BvMmG8\" 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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u78c1\u76d8\u6e05\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u7f13\u5b58\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u98ce\u9669\u8bc4\u7ea7<\/span><br \/>\n            <span class=\"tag\">Xcode<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">AI\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u8f6f\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\u53cd\u9988\u5de5\u5177\u6548\u679c\u663e\u8457\uff0c\u5982512GB\u786c\u76d8\u6e05\u7406\u51fa110GB\uff08\u542bAndroid Studio 52GB\uff09\u3002\u6838\u5fc3\u5efa\u8bae\u662f\u589e\u52a0\u5bf9Ollama\u6a21\u578b\u7b49\u8d44\u4ea7\u7684\u201c\u6309\u6761\u76ee\u7c92\u5ea6\u6e05\u7406\u201d\u529f\u80fd\uff0c\u800c\u975e\u5168\u5220\u5168\u7559\u3002\u5f00\u53d1\u8005\u5df2\u786e\u8ba4\u8be5\u5efa\u8bae\uff0c\u5e76\u8ba1\u5212\u4f18\u5316\u4ea4\u4e92\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                DevCleaner\u5207\u5165\u4e86\u4e00\u4e2a\u8db3\u591f\u75db\u4f46\u672a\u88ab\u7cbe\u7ec6\u5316\u7684\u7ec6\u5206\u573a\u666f\uff1a\u5f00\u53d1\u8005\u8bbe\u5907\u4e0a\u7684\u201c\u4e13\u4e1a\u6027\u5783\u573e\u201d\u3002\u4f20\u7edf\u7684CleanMyMac\u7b49\u5927\u800c\u5168\u7684\u6e05\u7406\u5de5\u5177\u5bf9\u5f00\u53d1\u76ee\u5f55\uff08DerivedData\u3001Gradle\u7f13\u5b58\uff09\u6001\u5ea6\u7c97\u66b4\uff0c\u8981\u4e48\u4e0d\u6562\u52a8\uff0c\u8981\u4e48\u5168\u76d8\u5220\uff0c\u98ce\u9669\u6781\u9ad8\u3002DevCleaner\u7684\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u58c1\u5792\u2014\u2014\u626b\u63cf\u76ee\u5f55\u548c\u8ba1\u7b97\u5927\u5c0f\u5e76\u975e\u96be\u4e8b\uff0c\u800c\u5728\u4e8e\u5b83\u901a\u8fc7\u201c\u98ce\u9669\u8bc4\u7ea7\u201d\u8fd9\u4e00\u4ea7\u54c1\u8bbe\u8ba1\uff0c\u5728\u201c\u6e05\u7406\u901f\u5ea6\u201d\u548c\u201c\u73af\u5883\u7a33\u5b9a\u201d\u4e4b\u95f4\u627e\u5230\u4e86\u4e00\u4e2a\u7cbe\u51c6\u7684\u59a5\u534f\u70b9\u3002\u5b83\u5c06\u98ce\u9669\u5206\u7ea7\u660e\u793a\u3001\u7531\u7528\u6237\u505a\u6700\u7ec8\u51b3\u7b56\uff0c\u65e2\u907f\u514d\u4e86\u5c0f\u767d\u7528\u6237\u8bef\u5220\u6838\u5fc3SDK\u5bfc\u81f4\u73af\u5883\u5d29\u6e83\u7684\u707e\u96be\uff0c\u53c8\u4e3a\u9ad8\u7ea7\u7528\u6237\u63d0\u4f9b\u4e86\u201c\u4e00\u952e\u6e05\u7406\u5b89\u5168\u9879\u201d\u7684\u4fbf\u6377\u3002\u8fd9\u79cd\u8bbe\u8ba1\u903b\u8f91\uff0c\u672c\u8d28\u4e0a\u662f\u5bf9\u5f00\u53d1\u8005\u8f6f\u4ef6\u5de5\u7a0b\u7d20\u517b\u7684\u4fe1\u4efb\u548c\u8d4b\u80fd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u806a\u660e\u7684\u5730\u65b9\u5728\u4e8e\u5bf9\u201cAI\u5e94\u7528\u5783\u573e\u201d\u7684\u6355\u6349\u3002Ollama\u7684\u6a21\u578b\u6743\u91cd\u3001Cursor\u7684\u7d22\u5f15\u6587\u4ef6\uff0c\u8fd9\u4e9b\u662f\u4f20\u7edf\u6e05\u7406\u5de5\u5177\u5c1a\u672a\u8986\u76d6\u7684\u201c\u84dd\u6d77\u201d\uff0c\u800c\u5b83\u4eec\u6b63\u4ee5\u6570\u5341GB\u7ea7\u522b\u541e\u566c\u65b0\u4e00\u4ee3\u5f00\u53d1\u8005\u7684\u786c\u76d8\u3002\u8fd9\u4e0d\u4ec5\u662f\u529f\u80fd\u70b9\uff0c\u66f4\u662f\u7edd\u4f73\u7684\u8425\u9500\u53d9\u4e8b\u5207\u5165\u70b9\uff1a\u201cAI\u4e0d\u4ec5\u62a2\u4f60\u7684\u5de5\u4f5c\uff0c\u8fd8\u62a2\u4f60\u7684\u786c\u76d8\u7a7a\u95f4\u201d\uff0c\u6781\u5177\u8bdd\u9898\u4f20\u64ad\u529b\u3002\u521b\u59cb\u4ebaDavid\u5bf9\u793e\u533a\u53cd\u9988\u7684\u54cd\u5e94\uff08\u5982\u6309\u5355\u4e2a\u6a21\u578b\u6e05\u7406\uff09\u4e5f\u4f53\u73b0\u4e86\u72ec\u7acb\u5f00\u53d1\u8005\u7684\u654f\u6377\u4f18\u52bf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u7684\u957f\u671f\u62a4\u57ce\u6cb3\u5e76\u975e\u7b97\u6cd5\uff0c\u800c\u662f\u201c\u751f\u6001\u8986\u76d6\u201d\u7684\u901f\u5ea6\u548c\u5e7f\u5ea6\u3002\u76ee\u524d\u4ec522\u4e2a\u751f\u6001\uff0c\u867d\u7136\u8986\u76d6\u4e86\u4e3b\u6d41\uff0c\u4f46\u9762\u5bf9Docker\u3001Node_modules\u7b49\u66f4\u5177\u8c61\u7684\u201c\u6740\u624b\u7ea7\u201d\u573a\u666f\uff08\u5df2\u5217\u5165\u8def\u7ebf\u56fe\uff09\uff0c\u4ee5\u53caWindows\/Linux\u7528\u6237\u7684\u7f3a\u5931\uff0cDevCleaner\u76ee\u524d\u4ecd\u662f\u4e00\u4e2a\u8ba8\u5de7\u7684\u201cMac\u5f00\u53d1\u8005\u4e13\u7528\u5de5\u5177\u201d\uff0c\u800c\u975e\u5168\u5e73\u53f0\u5fc5\u5907\u54c1\u3002\u53e6\u5916\uff0c4MB\u7684\u4f53\u79ef\u548c\u65e0\u9700\u8d26\u53f7\u7684\u6a21\u5f0f\u503c\u5f97\u79f0\u8d5e\uff0c\u4f46\u201c\u793e\u533a\u8ba1\u6570\u201d\u529f\u80fd\u7a0d\u663e\u9e21\u808b\uff1a\u533f\u540d\u8ba1\u6570\u5668\u5bf9\u7528\u6237\u7684\u5b9e\u9645\u6fc0\u52b1\u6709\u9650\uff0c\u53ef\u80fd\u4e0d\u4f1a\u6210\u4e3a\u7528\u6237\u6301\u7eed\u7684\u201c\u70ab\u8000\u201d\u52a8\u529b\u3002\u5982\u679c\u672a\u6765\u80fd\u8fdb\u4e00\u6b65\u96c6\u6210\u5230CI\/CD\u6d41\u7a0b\u4e2d\uff0c\u6216\u4e0eIDE\u63d2\u4ef6\u8054\u52a8\uff0c\u5c06\u4ef7\u503c\u4ece\u201c\u4e8b\u540e\u6e05\u7406\u201d\u5ef6\u4f38\u81f3\u201c\u4e3b\u52a8\u9884\u9632\u201d\uff0c\u6216\u8bb8\u80fd\u6253\u5f00\u66f4\u5927\u7684\u60f3\u8c61\u7a7a\u95f4\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u5c0f\u800c\u7f8e\u3001\u75db\u70b9\u7cbe\u51c6\u3001\u6267\u884c\u51fa\u8272\u7684\u5de5\u5177\uff0c\u4f46\u9700\u8b66\u60d5\u201c\u529f\u80fd\u5355\u4e00\u201d\u5e26\u6765\u7684\u7528\u6237\u5ba1\u7f8e\u75b2\u52b3\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\">DevCleaner<\/span>\n                <\/div>\n<div class=\"comment-content\">DevCleaner lives in your Mac&#8217;s menu bar and frees the gigabytes that 22 dev ecosystems quietly hoard \u2014 Xcode, Gradle, npm, plus AI apps like Cursor, Claude &#038; Ollama. Every item is risk-rated, so you always know what&#8217;s safe to delete. Free, no account, 4 MB.<\/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 David, a solo dev from Prague. DevCleaner exists because of a ritual every developer knows: macOS says &#8220;your disk is almost full,&#8221; and the culprits are always the same \u2014 DerivedData, Gradle caches, npm&#8217;s attic, simulators for iOS versions you dropped a year ago.<\/p>\n<p>Existing cleaners treat your SDK like a temp folder. That&#8217;s how weekends die. So I built DevCleaner around one idea: the risk level is the product.<\/p>\n<p>\ud83d\udfe2 Safe \u2014 pure caches that regenerate on your next build. Pre-selected, one click.<br \/>\n\ud83d\udfe1 Warning \u2014 things that grow back slowly (old simulators, downloaded LLM models). Measured, visible, never pre-selected.<br \/>\n\ud83d\udd34 Danger \u2014 SDKs and device symbols that can break your environment. DevCleaner shows their size and never touches them on its own.<\/p>\n<p>The thing that surprised me while building it: AI apps are the new cache hogs. Cursor was quietly sitting on 1.3 GB on my machine, Claude&#8217;s updater keeps full copies of old versions, Ollama hoards every model you&#8217;ve ever pulled. DevCleaner covers 22 ecosystems \u2014 the classics plus Claude, ChatGPT, Cursor, Windsurf, Gemini CLI, Ollama and LM Studio. Conversations, logins and settings are never touched.<\/p>\n<p>Also in the box: live &#8220;reclaimable space&#8221; badge in the menu bar, background scans, optional auto-clean with age filters, 30-day history with charts.<\/p>\n<p>One experiment I&#8217;d love your take on: after each cleanup the app can add a single anonymous number \u2014 bytes freed \u2014 to a community counter. No paths, no IDs, no IP stored, one toggle to turn it off. When the community passes 1 TB, the counter goes live on the site.<\/p>\n<p>It&#8217;s free: no account, no trial, 4 MB, notarized, auto-updates. macOS 14+, Apple Silicon &amp; Intel.<\/p>\n<p>Next up: Docker (the biggest disk hog of them all) and a finder for dead node_modules. Tell me what your favorite tool hoards and I&#8217;ll add a scanner for it. \ud83e\uddf9<\/p><\/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>Ran this on my 512GB MacBook and it dug up 110GB of dev junk. Android Studio alone was hoarding 52GB. On a machine that small with a dozen projects open, that&#8217;s basically the gap between shipping and a &#8220;disk full&#8221; popup at the worst  moment.<\/p>\n<p>And with what SSD upgrades cost these days, clawing back 30-100GB whenever I need it beats paying Apple for the next storage tier. Good tool.<\/p>\n<p>One bit of feedback: I&#8217;d love more granularity inside the categories. Ollama&#8217;s the obvious one \u2014 it shows 22GB total, but I don&#8217;t want to wipe all my models at once. Let me open it up, see each model that&#8217;s installed, and drop just the ones I&#8217;ve stopped using. Per-model control instead of all-or-nothing would make me a lot more comfortable hitting Clean Now.<\/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\/@dardaelliande\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dardaelliande<\/a>&nbsp;<\/p>\n<p>110 GB \u2014 and Android Studio taking 52 of those is very on-brand. That tool&#8217;s Gradle cache + SDK components + emulator images is a monster. Glad it could help.<\/p>\n<\/p>\n<p>And the storage tier math is exactly right. Apple&#8217;s $200 jump from 512 GB \u2192 1 TB is basically a multi-year DevCleaner subscription at a fraction of the cost. That framing is more useful than any benchmark I could show.<\/p>\n<\/p>\n<p>The Ollama granularity feedback is 100% valid and noted. You&#8217;re right that all-or-nothing isn&#8217;t good enough for models \u2014 they&#8217;re not caches, they&#8217;re assets you chose to download. The right UI is exactly what you described: expand the category, see each model with its real size, check off the ones you don&#8217;t use anymore. That&#8217;s a different interaction than &#8220;nuke the DerivedData folder&#8221; and it deserves its own flow.<\/p>\n<\/p>\n<p>It&#8217;s on my list. No ETA I&#8217;d commit to publicly, but this comment is the kind of specific, reasoned feedback that moves things up the queue. Thanks.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow, I had no idea AI apps were hoarding that much space! Cursor and Ollama have definitely been eating up my disk. Super timely tool, congrats on launching&#8230;.<\/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\/@vikramp7470\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vikramp7470<\/a>&nbsp;Thank you! Cursor is sneaky &#8211; it keeps a local index of your entire codebase that can balloon to gigabytes over time. And Ollama is the worst offender: a single model is 2\u201340 GB, and it never garbage-collects the ones you stopped using. That was actually the trigger for building DevCleaner &#8211; I opened Finder one day and just saw a huge ~\/.ollama\/models folder staring back at me. \ud83d\ude05<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Fantastic job! I didn&#8217;t know about this problem until I&#8217;ve try it. And its HUGE. Thank you that you built DevCleaner!<\/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\/@honza_vomacka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@honza_vomacka<\/a>&nbsp;This is exactly the reaction that makes building something worth it \u2014 you don&#8217;t know the problem exists until you see the number. Glad it helped! \ud83d\ude4f<\/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>Every dev laptop eventually becomes a landfill with a keyboard. Love the idea of cleaning hidden GBs without me playing detective.<\/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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;Landfill with a keyboard&#8221; is the most accurate description of my machine pre-<strong>DevCleaner<\/strong> that I&#8217;ve ever read. Stealing that for the README. \ud83d\ude04 Thanks for the upvote!<\/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>This is genuinely one of those problems everyone has but nobody thinks to solve. How much space does the average user recover?<\/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\/@mohamed_hussein25\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohamed_hussein25<\/a>&nbsp;It varies a lot by stack &#8211; but here&#8217;s what the data shows: Xcode developers are typically sitting on 15\u201350 GB in DerivedData + simulators alone, sometimes over 100 GB if they&#8217;ve been building for a year or more without cleaning. AI tool users (Ollama especially) often have another 20\u201380 GB in model weights they&#8217;ve forgotten about. npm\/node_modules graveyards add another 5\u201315 GB if you have a lot of old projects.<\/p>\n<\/p>\n<p>We actually have a live counter on the homepage showing the total freed by everyone who&#8217;s used DevCleaner &#8211; it&#8217;s ticking up in real time today. The number that surprises most people isn&#8217;t the total, it&#8217;s how much comes from categories they&#8217;d never think to check (looking at you, iOS Simulator runtimes &#8211; a single old runtime is 7 GB).<\/p>\n<\/p>\n<p>Short answer: the median first-time clean is probably somewhere in the 20-40 GB range for an active developer. But I&#8217;ve seen screenshots from users clearing 200+ GB in one sitting. \ud83d\ude05<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is super useful, as a software engineer (and a vibe coder :P) i&#8217;m ramping up so much GBs that sometimes my top tier macos pro even hangs and asks me to free up space, turns out alot of these GBs are build artifacts! thanks OP, upvoted.<\/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\/@therayess\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@therayess<\/a>&nbsp;Ha, &#8220;vibe coder&#8221; \u2014 love it. And yes, build artifacts are the silent killers. DerivedData alone can quietly eat 50\u2013100 GB without ever asking permission. The really fun part is that macOS&#8217;s &#8220;free up space&#8221; suggestion will never point you at ~\/Library\/Developer \u2014 so most people don&#8217;t even know it&#8217;s there until they run du -sh ~\/Library\/Developer and have a small crisis. \ud83d\ude05 Thanks for the upvote, really appreciate it on launch 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<\/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\/XW2HIETNMEUAVB\" class=\"app-title\">Vidrunner<\/a><\/p>\n<div class=\"one-liner\">Publish YouTube videos faster with AI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">98<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Vidrunner \u662f\u4e00\u6b3e\u5229\u7528AI\u81ea\u52a8\u5316YouTube\u89c6\u9891\u53d1\u5e03\u6d41\u7a0b\u7684\u5de5\u5177\uff0c\u8ba9\u521b\u4f5c\u8005\u7c98\u8d34\u94fe\u63a5\u5373\u53ef\u6279\u91cf\u751f\u6210\u65f6\u95f4\u6233\u3001\u6807\u7b7e\u3001\u4e9a\u9a6c\u900a\u5546\u54c1\u94fe\u63a5\u7b49\u53d1\u5e03\u7d20\u6750\uff0c\u89e3\u51b3\u91cd\u590d\u6027\u8fd0\u8425\u5de5\u4f5c\u8017\u65f6\u8017\u529b\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\/64f1235f-f4dc-4f46-bf36-e37b2312d3ff.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\">YouTube<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u89c6\u9891\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">YouTube\u8fd0\u8425\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891SEO\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u65f6\u95f4\u6233\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u6807\u7b7e\u63a8\u8350<\/span><br \/>\n            <span class=\"tag\">\u4e9a\u9a6c\u900a\u8054\u76df\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u751f\u4ea7\u529b<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u53d1\u5e03\u5de5\u4f5c\u6d41<\/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\u53efAI\u5904\u7406\u7e41\u7410\u8fd0\u8425\u5de5\u4f5c\u7684\u65b9\u5411\uff0c\u6838\u5fc3\u5173\u6ce8\u70b9\u662f\u80fd\u5426\u81ea\u5b9a\u4e49\u63cf\u8ff0\u8bed\u6c14\uff08\u5f00\u53d1\u8005\u56de\u5e94\u6682\u65e0\u6b64\u529f\u80fd\u4f46\u53ef\u8ddf\u8fdb\u9700\u6c42\uff09\u3002\u540c\u65f6\uff0c\u6709\u7528\u6237\u62c5\u5fc3AI\u5185\u5bb9\u6cdb\u6ee5\uff0c\u5f00\u53d1\u8005\u5f3a\u8c03\u53ea\u5904\u7406SEO\u800c\u975e\u521b\u610f\u90e8\u5206\u3002\u53e6\u6709\u7528\u6237\u8be2\u95eeLasso\u5982\u4f55\u5339\u914d\u65e7\u5185\u5bb9\u7684\u8054\u76df\u8425\u9500\u673a\u4f1a\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                Vidrunner\u5207\u4e2d\u4e86YouTube\u521b\u4f5c\u8005\u751f\u6001\u4e2d\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u4f46\u6781\u4e3a\u666e\u904d\u7684\u75db\u70b9\u2014\u2014\u53d1\u5e03\u73af\u8282\u7684\u201c\u4f4e\u6c34\u5e73\u91cd\u590d\u52b3\u52a8\u201d\u3002\u4e0d\u540c\u4e8e\u90a3\u4e9b\u9f13\u5439\u7528AI\u751f\u6210\u811a\u672c\u6216\u89c6\u9891\u7684\u201c\u753b\u997c\u201d\u5de5\u5177\uff0cVidrunner\u9009\u62e9\u4e86\u4e00\u6761\u52a1\u5b9e\u751a\u81f3\u6709\u4e9b\u201c\u65e0\u804a\u201d\u7684\u8d5b\u9053\uff1a\u628a\u5143\u6570\u636e\u3001\u94fe\u63a5\u548c\u65f6\u95f4\u6233\u81ea\u52a8\u5316\u3002\u8fd9\u79cd\u5b9a\u4f4d\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u4e0d\u6311\u6218\u521b\u4f5c\u8005\u7684\u521b\u610f\u4e3b\u6743\uff08\u4e0d\u78b0\u5185\u5bb9\u751f\u6210\uff09\uff0c\u800c\u662f\u66ff\u4ed6\u4eec\u505a\u6700\u538c\u6076\u7684\u810f\u6d3b\u7d2f\u6d3b\uff0c\u4ece\u800c\u964d\u4f4e\u4e86\u7528\u6237\u7684\u5fc3\u7406\u62b5\u89e6\u3002\u4ece\u201c\u5df2\u5904\u740622.5\u4e07\u89c6\u9891\u201d\u8fd9\u4e00\u6570\u636e\u770b\uff0c\u5176\u9700\u6c42\u9a8c\u8bc1\u624e\u5b9e\uff0c\u4e14\u4e0eLasso\u7684\u8054\u76df\u8425\u9500\u7ed3\u5408\uff0c\u5e26\u6765\u660e\u786e\u7684\u53d8\u73b0\u8def\u5f84\u800c\u975e\u7eaf\u5de5\u5177\u601d\u7ef4\u3002\u4f46\u9690\u5fe7\u540c\u6837\u660e\u663e\uff1a\u529f\u80fd\u6df1\u5ea6\u548c\u58c1\u5792\u6781\u6d45\u2014\u2014\u65f6\u95f4\u6233\u3001\u6807\u7b7e\u3001\u94fe\u63a5\u751f\u6210\u5747\u53ef\u88ab\u5927\u6a21\u578bAPI\u6216\u7ade\u4e89\u5bf9\u624b\u5feb\u901f\u590d\u5236\u3002\u56e2\u961f\u9700\u8981\u601d\u8003\u5982\u4f55\u4ece\u201c\u63d2\u4ef6\u578b\u5de5\u5177\u201d\u8fdb\u5316\u6210\u201c\u521b\u4f5c\u5de5\u4f5c\u6d41\u7cfb\u7edf\u201d\uff0c\u4f8b\u5982\u57fa\u4e8e\u7528\u6237\u5386\u53f2\u53d1\u5e03\u884c\u4e3a\u8fdb\u884c\u4e2a\u6027\u5316\u5efa\u8bae\uff0c\u6216\u76f4\u63a5\u6253\u901aYouTube\u4e0a\u4f20\u63a5\u53e3\u5f62\u6210\u95ed\u73af\u3002\u6b64\u5916\uff0c\u82e5\u4e0d\u80fd\u5feb\u901f\u79ef\u7d2f\u54c1\u724c\u5fe0\u8bda\u5ea6\u6216\u6570\u636e\u58c1\u5792\uff0c\u5f88\u5bb9\u6613\u5728Wisecut\u7b49\u540c\u7c7b\u5de5\u5177\u7684\u8865\u8d34\u7ade\u4e89\u4e2d\u4e27\u5931\u4f18\u52bf\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u201c\u5c0f\u800c\u51c6\u201d\u7684\u5207\u5165\u70b9\uff0c\u4f46\u79bb\u201c\u5927\u800c\u7a33\u201d\u8fd8\u6709\u4e0d\u5c11\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\">Vidrunner<\/span>\n                <\/div>\n<div class=\"comment-content\">Generate accurate YouTube timestamps, keyword-rich tags, and Amazon product links from any video. Paste a URL, pick what you need, copy and paste into YouTube. Start free.<\/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\u2019m Gene, Head of Growth at Lasso.<\/p>\n<p>VidRunner started with a simple problem.<\/p>\n<p>Every time Brock McGoff published a YouTube video, he had to do the same tedious work over and over again:<\/p>\n<p>\u2022 Create affiliate links<br \/>\n\u2022 Write timestamps<br \/>\n\u2022 Generate tags<br \/>\n\u2022 Organize descriptions<br \/>\n\u2022 Get everything ready to publish<\/p>\n<p>None of it was difficult. It was just repetitive.<\/p>\n<p>So Brock built a tool to automate it.<\/p>\n<p>When we saw what he had built, we partnered with him to turn it into something every creator could use.<\/p>\n<p>Today, creators can paste a YouTube URL into VidRunner and get affiliate links, timestamps, tags, transcripts, and publishing assets in under a minute.<\/p>\n<p>Since launch, creators have processed more than 225,000 videos through VidRunner, saving an estimated 37,500+ hours of manual work.<\/p>\n<p>We\u2019re still early, and we\u2019d love your feedback.<\/p>\n<p>A few questions:<\/p>\n<p>\u2022 What\u2019s the most annoying part of your content publishing workflow?<br \/>\n\u2022 If you create YouTube content, what takes longer than it should?<br \/>\n\u2022 What\u2019s one thing you\u2019d want VidRunner to automate next?<\/p>\n<p>Thanks for checking us out today. I\u2019ll be hanging out in the comments all day and answering every question.<\/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>AI for the boring YouTube ops is the right lane. Let creators keep the taste, let the machine fight the metadata swamp.<\/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\">Can you customize the tone for the description?<\/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\/@montverde\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@montverde<\/a>&nbsp;We don&#8217;t currently have that option, but if it&#8217;s something users need we&#8217;re always happy to add things. Our users drive all of our product decisions. <\/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>It hurts my heart to see ai + youtube&#8230; <\/p>\n<\/p>\n<p>But I mean&#8230; as long as the content itself is good, right? I hope the future isn&#8217;t flooded with Ballerina Cappucina \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\/@peterz_shu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peterz_shu<\/a>&nbsp;Totally agree. Luckily we&#8217;re not using AI for the creative stuff that matters, just the boring SEO stuff that takes up creators&#8217; time. This way YouTubers have more time to make awesome <em>real <\/em>content. <\/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>earning more from existing creations is the part that flips the usual creator workflow on its head. most tools tell you what to make next. this looks at what&#8217;s already there. curious how Lasso decides which old content has affiliate fit and which doesn&#8217;t. is it semantic match against the affiliate catalog or are you scoring engagement patterns 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<\/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\/BALOCG7OXRTTET\" class=\"app-title\">Voice Calls in Chatwoot<\/a><\/p>\n<div class=\"one-liner\">Calls, chats, and emails all in one support inbox<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">97<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u5728Chatwoot\u7684\u7edf\u4e00\u5ba2\u670d\u6536\u4ef6\u7bb1\u4e2d\uff0c\u96c6\u6210\u6d4f\u89c8\u5668\u7aef\u8bed\u97f3\u901a\u8bdd\u529f\u80fd\uff0c\u8ba9\u5ba2\u670d\u56e2\u961f\u65e0\u9700\u5207\u6362\u5de5\u5177\u5373\u53ef\u5b8c\u6210\u7535\u8bdd\u63a5\u542c\u3001\u5916\u547c\u3001\u5f55\u97f3\u3001\u8f6c\u5199\u4e0eAI\u6458\u8981\uff0c\u89e3\u51b3\u591a\u6e20\u9053\u6c9f\u901a\u4e2d\u4e0a\u4e0b\u6587\u5272\u88c2\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\/30472b7d-475c-4963-a06c-3e67fddb54fb.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\/3f3222b5-6c66-4c36-bcc0-ba3e20f52792.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\/075a8043-f26e-4205-a943-fffb21f898d1.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\/a45766c6-bb03-49e9-86f9-698b9975988b.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\/5f3ba9c7-edf5-4e5b-85ab-5c0e1c51ec38.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=h_ei5H44BL8\"><source src=\"https:\/\/www.youtube.com\/watch?v=h_ei5H44BL8\" 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\">Messaging<\/span><br \/>\n            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Customer Communication<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5ba2\u670d\u5de5\u5355\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">\u7edf\u4e00\u6536\u4ef6\u7bb1<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u547c\u53eb<\/span><br \/>\n            <span class=\"tag\">Twilio\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u901a\u8bdd<\/span><br \/>\n            <span class=\"tag\">AI\u6458\u8981<\/span><br \/>\n            <span class=\"tag\">\u901a\u8bdd\u5f55\u97f3<\/span><br \/>\n            <span class=\"tag\">WhatsApp\u901a\u8bdd<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u7ee7\u627f<\/span><br \/>\n            <span class=\"tag\">\u591a\u6e20\u9053\u5ba2\u670d<\/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\u201c\u8bed\u97f3\u52a0\u5165\u7edf\u4e00\u6536\u4ef6\u7bb1\u201d\u89e3\u51b3\u4e86\u4e0a\u4e0b\u6587\u5206\u6563\u7684\u75db\u70b9\u3002\u6838\u5fc3\u7591\u95ee\u805a\u7126\u4e8e\u6e20\u9053\u5207\u6362\u65f6\u7684\u8fde\u7eed\u6027\uff1a\u5982WhatsApp\u901a\u8bdd\u540e\u5982\u4f55\u65e0\u7f1d\u8854\u63a5\u90ae\u4ef6\u8ddf\u8fdb\uff1f\u5ba2\u670d\u662f\u5426\u7ee7\u627f\u5ba2\u6237\u5b8c\u6574\u7684\u804a\u5929\u5386\u53f2\uff1f\u5f00\u53d1\u8005\u786e\u8ba4\uff0c\u82e5\u5148\u524d\u804a\u5929\u672a\u89e3\u51b3\uff0c\u6765\u7535\u4f1a\u81ea\u52a8\u9644\u52a0\u81f3\u540c\u4e00\u4f1a\u8bdd\u7ebf\u7a0b\uff0c\u5e76\u53ef\u8bbe\u7f6e\u9501\u5b9a\u540c\u4e00\u5ba2\u6237\u7684\u6240\u6709\u6c9f\u901a\u81f3\u5355\u4e00\u7ebf\u7a0b\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                Chatwoot Voice\u7684\u53d1\u5e03\uff0c\u672c\u8d28\u4e0a\u662f\u4e00\u6b21\u201c\u529f\u80fd\u8865\u9f50\u201d\uff0c\u800c\u975e\u98a0\u8986\u5f0f\u521b\u65b0\u3002\u5b83\u806a\u660e\u5730\u6293\u4f4f\u4e86\u5ba2\u670d\u9886\u57df\u6700\u987d\u56fa\u7684\u75db\u70b9\u2014\u2014\u4e0a\u4e0b\u6587\u5728\u4e0d\u540c\u5de5\u5177\u95f4\u7684\u5272\u88c2\u3002\u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u5176\u6838\u5fc3\u80fd\u529b\u9ad8\u5ea6\u4f9d\u8d56Twilio\u751f\u6001\uff0c\u8fd9\u65e2\u5e26\u6765\u4e86\u53ef\u9760\u7684\u5e95\u5c42\u57fa\u5efa\uff0c\u4e5f\u610f\u5473\u7740\u4f01\u4e1a\u9700\u8981\u627f\u62c5\u989d\u5916\u7684\u901a\u8baf\u6210\u672c\u548c\u914d\u7f6e\u590d\u6742\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u6709\u4ef7\u503c\u7684\u662f\u201c\u901a\u8bdd\u4f5c\u4e3a\u4f1a\u8bdd\u7ebf\u7a0b\u7684\u4e00\u90e8\u5206\u201d\u8fd9\u4e00\u8bbe\u8ba1\u54f2\u5b66\uff1a\u5f55\u97f3\u3001\u8f6c\u5199\u3001AI\u6458\u8981\u4e0d\u518d\u662f\u5b64\u7acb\u6587\u4ef6\uff0c\u800c\u662f\u4e0e\u5176\u4ed6\u6e20\u9053\u5bf9\u8bdd\u5171\u5904\u540c\u4e00\u4e0a\u4e0b\u6587\u3002\u8fd9\u5f7b\u5e95\u7ec8\u7ed3\u4e86\u5ba2\u670d\u4ee3\u8868\u5728\u7535\u8bdd\u7cfb\u7edf\u548c\u5de5\u5355\u7cfb\u7edf\u95f4\u53cd\u590d\u590d\u5236\u7c98\u8d34\u4fe1\u606f\u7684\u5669\u68a6\u3002\u7136\u800c\uff0cAI\u6458\u8981\u7684\u8d28\u91cf\u4e0e\u591a\u8bed\u8a00\u652f\u6301\u80fd\u529b\u3001\u901a\u8bdd\u5728WhatsApp\u7b49\u7b2c\u4e09\u65b9\u6e20\u9053\u4e2d\u8f6c\u573a\u65f6\u7684\u5ef6\u8fdf\u4e0e\u4e00\u81f4\u6027\uff0c\u624d\u662f\u51b3\u5b9a\u4f53\u9a8c\u80fd\u5426\u4ece\u201c\u53ef\u7528\u201d\u8de8\u8d8a\u5230\u201c\u597d\u7528\u201d\u7684\u5173\u952e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u8bc4\u8bba\u4e2d\u66b4\u9732\u51fa\u7684\u201c\u591a\u4f1a\u8bdd\u5408\u5e76\u201d\u903b\u8f91\uff0c\u867d\u7136\u5b9e\u7528\uff0c\u4f46\u6697\u85cf\u98ce\u9669\uff1a\u5047\u5982\u4e00\u4e2a\u5ba2\u6237\u7684\u9ad8\u4f18\u5148\u7ea7\u6280\u672f\u6545\u969c\u7535\u8bdd\uff0c\u88ab\u9519\u8bef\u5730\u5408\u5e76\u5230\u4f4e\u4f18\u5148\u7ea7\u7684\u5ba2\u670d\u95f2\u804a\u7ebf\u7a0b\u4e2d\uff0c\u53ef\u80fd\u5bfc\u81f4\u95ee\u9898\u9057\u6f0f\u3002\u8fd9\u9700\u8981\u66f4\u667a\u80fd\u7684\u610f\u56fe\u8bc6\u522b\u6216\u7528\u6237\u624b\u52a8\u4fee\u6b63\u673a\u5236\u3002\u5bf9\u4e8e\u8ffd\u6c42\u6781\u81f4\u6548\u7387\u7684\u5ba2\u670d\u56e2\u961f\u800c\u8a00\uff0c\u8fd9\u662f\u6709\u4ef7\u503c\u7684\u6218\u672f\u5de5\u5177\uff0c\u4f46\u8981\u60f3\u6210\u4e3a\u98a0\u8986\u6027\u4ea7\u54c1\uff0cChatwoot\u8fd8\u9700\u8981\u8bc1\u660e\u5b83\u5728\u590d\u6742\u8def\u7531\u89c4\u5219\u3001\u5b9e\u65f6\u76d1\u63a7\u4e0e\u6df1\u5ea6CRM\u96c6\u6210\u4e0a\u7684\u80fd\u529b\u3002\u6bd5\u7adf\uff0c\u7edf\u4e00\u6536\u4ef6\u7bb1\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u5806\u5f97\u5168\u201d\uff0c\u800c\u5728\u4e8e\u201c\u8054\u5f97\u6df1\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\">Voice Calls in Chatwoot<\/span>\n                <\/div>\n<div class=\"comment-content\">Chatwoot Voice has everything your support team needs to handle customer calls without leaving the inbox: browser-based calling, inbound and outbound phone support, Twilio Voice integration, WhatsApp calling support, call recordings, transcripts, AI summaries, call history, and customer context in one conversation thread.<\/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,<\/p>\n<\/p>\n<p>Over the last few years, we have focused on making Chatwoot a solid product for text-based customer conversations across live chat, email, WhatsApp, social channels, help center, automation, and AI. Once those workflows became mature, it made sense to bring voice into the same experience.<\/p>\n<\/p>\n<p>Today, we are introducing voice calls in Chatwoot.<\/p>\n<\/p>\n<p>You can receive and make calls from the browser, see customer context before picking up, and keep recordings, transcripts, summaries, and call history in the same conversation thread. It works with Twilio Voice, and we\u2019re also working on WhatsApp calling.<\/p>\n<\/p>\n<p>This is part of a broader direction for Chatwoot: Chat, email, WhatsApp, voice, AI, and customer context should all live together.<\/p>\n<p>We\u2019d love your feedback, especially from teams that still rely on phone support or are trying to bring voice into a modern support workflow.<\/p>\n<\/p>\n<p>Happy to answer questions here.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/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\/@pranavrajs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pranavrajs<\/a>&nbsp;Congrats on the launch! Managing multiple customer communication channels is a massive headache for growing startups. Bringing live chat, email, and WhatsApp into one shared inbox is a massive time-saver<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Calls inside the same support inbox makes so much sense. The worst support tax is context living in five different places.<\/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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;True 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>The voice layer inside the same conversation thread is the part I\u2019d test first for support ops, especially with recordings, transcripts, and AI summaries attached to the existing customer context. For launch\/community support, the edge case is a call that starts in WhatsApp and then needs a teammate to follow up by email. Does Chatwoot keep that handoff in one thread with the call summary visible to the next agent?<\/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\/@hazy0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hazy0<\/a>&nbsp;Yes. The previous notes and conversation history are visible to the next agent. The call sits in the same thread as the rest of the conversation, so it is not isolated.<\/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>adding voice on top of a chat first support stack is exciting because it forces a question about session continuity. when a customer calls after starting in chat, does the voice agent inherit the full transcript context or start fresh, and how do you avoid the customer having to repeat the problem? curious how you&#8217;ve structured that handoff.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Hey <a href=\"https:\/\/www.producthunt.com\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;, if the conversation from previous chat is open (basically not resolved), the call is added to the same existing conversation itself. If there are multiple open conversations from the same customer, we choose the recent one to add the incoming voice call to. This gives you the full context of previous communication. (On a side-note, we also have a feature where you can toggle the settings to lock all incoming messages\/calls from one customer to one single conversation thread).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/KNUFFPZKPUJI5O\" class=\"app-title\">Glint<\/a><\/p>\n<div class=\"one-liner\">Claude Code activity, right where you want it.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">94<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Glint\u662f\u4e00\u6b3emacOS\u83dc\u5355\u680f\u5e94\u7528\uff0c\u5c06Claude Code\u4f1a\u8bdd\u7684\u5b9e\u65f6\u72b6\u6001\u3001\u5de5\u5177\u4f7f\u7528\u3001Token\u6d88\u8017\u3001\u7b49\u5f85\u8f93\u5165\u7b49\u5173\u952e\u4fe1\u606f\u4ee5\u7075\u52a8\u5c9b\u3001\u60ac\u6d6e\u836f\u4e38\u6216Dock\u680f\u5f62\u5f0f\u5448\u73b0\uff0c\u89e3\u51b3\u5f00\u53d1\u8005\u9891\u7e41\u5207\u6362\u7a97\u53e3\u67e5\u770b\u7ec8\u7aef\u72b6\u6001\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\/9c9eb469-f041-4df9-8502-9e044bbc7bd1.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\/c311a787-a619-43a7-a654-3785c420a6fc.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\/910f78a7-e451-4411-a063-3526270a6868.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\/4d6b4d37-1fd6-4eed-a776-e89c0fa26d95.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\/161b4443-7cfd-4c78-94c3-889641865086.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\/55662027-e99d-4020-9d32-ee9b422629f4.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\/e037e422-e4e3-42b1-ba12-430eac79cc48.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\/dee9a4e8-7846-4b69-a946-5e9589637e46.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\/0bddd16a-cc56-4072-9e7a-4e6057f8c301.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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">AI\u8f85\u52a9\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u7075\u52a8\u5c9b<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u9690\u79c1<\/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\u56f0\u6270\u4e8e\u5fd8\u8bb0\u68c0\u67e5Claude Code\u4f1a\u8bdd\u662f\u5426\u5b8c\u6210\u6216\u7b49\u5f85\u8f93\u5165\u800c\u6d6a\u8d39\u65f6\u95f4\u3002\u6838\u5fc3\u9700\u6c42\u662f\u80fd\u533a\u5206\u201c\u601d\u8003\u4e2d\u201d\u548c\u201c\u7b49\u5f85\u7528\u6237\u8f93\u5165\u201d\u72b6\u6001\uff0c\u5e76\u4e3b\u52a8\u63d0\u9192\u3002\u591a\u4f4d\u7528\u6237\u671f\u5f85Windows\/Linux\u7248\u672c\u53ca\u652f\u6301Codex\u7b49\u5176\u4ed6AI\u63d0\u4f9b\u5546\u3002\u90e8\u5206\u7528\u6237\u8be2\u95ee\u6d3b\u52a8\u662f\u5426\u53ef\u64cd\u4f5c\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5373\u5c06\u63a8\u51fa\u8df3\u8f6c\u81f3\u7ec8\u7aef\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                Glint\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2aAI\u7f16\u7a0b\u65f6\u4ee3\u7684\u65b0\u75db\u70b9\u2014\u2014\u5f53AI Agent\u4ece\u201c\u5de5\u5177\u201d\u53d8\u4e3a\u201c\u534f\u4f5c\u8005\u201d\u540e\uff0c\u5f00\u53d1\u8005\u4e0eAI\u7684\u4ea4\u4e92\u4e0d\u518d\u662f\u4e00\u6b21\u6027\u6307\u4ee4\uff0c\u800c\u662f\u6301\u7eed\u7684\u3001\u5f02\u6b65\u7684\u534f\u4f5c\u5bf9\u8bdd\u3002\u9891\u7e41\u7684\u201cAlt-Tab\u7126\u8651\u201d\u548c\u201c\u7b49\u5f85\u963b\u585e\u201d\u6b63\u662f\u8fd9\u79cd\u65b0\u578b\u5de5\u4f5c\u6d41\u5e26\u6765\u7684\u6548\u7387\u635f\u8017\u3002Glint\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u589e\u52a0\u65b0\u529f\u80fd\uff0c\u800c\u5728\u4e8e\u6d88\u9664\u201c\u4fe1\u606f\u5dee\u201d\u3002\u5b83\u5c06\u7ec8\u7aef\u91cc\u6c89\u9ed8\u7684\u201c\u8fd0\u884c\u4e2d\/\u7b49\u5f85\u4e2d\u201d\u72b6\u6001\u8f6c\u8bd1\u6210\u76f4\u89c9\u5316\u7684\u89c6\u89c9\u548c\u542c\u89c9\u4fe1\u53f7\uff0c\u8ba9\u5f00\u53d1\u8005\u5f97\u4ee5\u5c06\u81ea\u5df1\u7684\u6ce8\u610f\u529b\u4ece\u4f4e\u6548\u7684\u8f6e\u8be2\u4e2d\u89e3\u653e\u51fa\u6765\uff0c\u91cd\u65b0\u805a\u7126\u4e8e\u9ad8\u4ef7\u503c\u5de5\u4f5c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u8bbe\u8ba1\u770b\uff0cGlint\u6df1\u8c19\u201c\u9690\u5f62\u5de5\u5177\u201d\u54f2\u5b66\uff1a\u96f6CPU\u5360\u7528\u3001\u672c\u5730\u8bfb\u53d6\u65e5\u5fd7\u3001\u7eaf\u672c\u5730\u5316\u8fd0\u884c\uff0c\u5c0a\u91cd\u5f00\u53d1\u8005\u5bf9\u9690\u79c1\u548c\u6027\u80fd\u7684\u6d01\u7656\u3002\u5176\u201c\u52a8\u6001\u5c9b\u201d\u548c\u201c\u60ac\u6d6e\u836f\u4e38\u201d\u7684\u8bbe\u8ba1\u5e76\u975e\u70ab\u6280\uff0c\u800c\u662f\u7cbe\u51c6\u5229\u7528\u4e86macOS\u7684\u201c\u4f59\u5149\u533a\u57df\u201d\uff0c\u5c06\u76d1\u63a7\u4ece\u4e3b\u52a8\u884c\u4e3a\u53d8\u4e3a\u88ab\u52a8\u611f\u77e5\u3002\u4e0d\u8fc7\uff0c\u8be5\u4ea7\u54c1\u76ee\u524d\u9ad8\u5ea6\u4f9d\u8d56Claude Code\u751f\u6001\uff0c\u4e14API\u63d0\u4f9b\u5546\uff08Claude\u3001Codex\u3001Kiro\uff09\u548c\u7ec8\u7aef\u5f62\u6001\u7684\u788e\u7247\u5316\u53ef\u80fd\u9650\u5236\u5176\u901a\u7528\u6027\u3002\u771f\u6b63\u7684\u4ef7\u503c\u58c1\u5792\u5728\u4e8e\u5176\u201c\u88ab\u52a8\u76d1\u63a7+\u72b6\u6001\u8bed\u4e49\u5316\u201d\u8fd9\u4e00\u901a\u7528\u8303\u5f0f\u80fd\u5426\u987a\u5229\u8fc1\u79fb\u5230\u5176\u4ed6AI\u547d\u4ee4\u884c\u5de5\u5177\u3002\u82e5\u80fd\u7387\u5148\u5b8c\u6210\u591a\u63d0\u4f9b\u5546\u652f\u6301\uff0cGlint\u6709\u671b\u6210\u4e3aAI\u672c\u5730\u5f00\u53d1\u5de5\u4f5c\u6d41\u7684\u6807\u51c6\u4ef6\uff0c\u5426\u5219\u5c06\u53ea\u662f\u4e00\u6b3e\u7cbe\u81f4\u7684\u201c\u82f9\u679c\u76ae\u201d\u914d\u4ef6\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\">Glint<\/span>\n                <\/div>\n<div class=\"comment-content\">Glint is a lightweight macOS menu-bar app that surfaces what your Claude Code sessions are doing &#8211; live status, the current tool, token spend, the plan, subagents, usage meters, and context window &#8211; in a glanceable island near your notch, a floating pill, or beside the Dock. Reads ~\/.claude locally; your session data never leaves your Mac. Support for other providers like Codex, Kiro and etc are on the roadmap to be release ASAP!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I run multiple Claude Code sessions throughout the day, and I got tired of constantly alt-tabbing into terminal windows to answer two questions: Is it done? And is it waiting on me?<\/p>\n<p>So I built Glint a lightweight macOS menu bar app that surfaces Claude Code activity in a Dynamic Island-style overlay near the notch. If you&#8217;re not a notch fan, there&#8217;s also a draggable floating pill that works over full-screen apps, plus a Dock-side bar that uses otherwise wasted screen space.<\/p>\n<p>What Glint shows:<\/p>\n<p>    &#8211; Live status: thinking, idle, or waiting for input. This was the main reason I built it\u2014no more sessions sitting blocked for 20 minutes because I forgot about them.<\/p>\n<p>    &#8211; Per-turn tokens, cost, and elapsed time, matching Claude Code&#8217;s own status line.<\/p>\n<p>    &#8211; Current plans and active sub-agents.<\/p>\n<p>    &#8211; Context window usage.<\/p>\n<p>    &#8211; Multiple sessions at once: the one needing attention takes priority, while the rest remain visible in an expanded view.<\/p>\n<p>    &#8211; Session and weekly usage limits, complete with reset countdowns.<\/p>\n<p>    &#8211; Optional subtle sounds when a task finishes or requires input.<\/p>\n<p>Privacy: Glint reads the session logs Claude Code already writes to ~\/.claude, entirely on-device. No telemetry, no data leaves your Mac. The only network request is license validation.<\/p>\n<p>Performance: Near-zero CPU usage at idle, even with hundreds of MB of session history. Glint only tails actively written transcripts and refreshes at most once per second.<\/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>The thing I never solved is the alt-tab tax&#8230; I kick off a Claude Code run, switch windows, then keep flipping back to see if it&#8217;s done or just stuck waiting on me. Does it flag when Claude&#8217;s blocked on a question vs still working? That gap is what actually eats my evenings.<\/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\/@luca_capone\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luca_capone<\/a>&nbsp;That gap is the whole reason I built Glint. It tells the states apart: <strong>Thinking<\/strong> (still working, with the live tool) vs <strong>Awaiting &#8211; needs you<\/strong> (blocked on your answer), right in the notch\/pill\/dock. And there&#8217;s an optional sound output (which can be configured in app settings) which will trigger when a run finishes or needs input, so you can stay in another window and get pinged only when you&#8217;re the bottleneck. Would love your feedback if you give it a go.<\/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>Sessions sitting blocked for 20 minutes because I forgot is exactly my problem too, except I&#8217;m on Windows so I can&#8217;t try this. The &#8220;waiting for input&#8221; priority view is the feature I&#8217;d actually want most \u2014 that&#8217;s the moment that costs the most time. Hope this comes to other platforms eventually.<\/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\/@josedamian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@josedamian<\/a>&nbsp;Thanks Jos\u00e9, that &#8220;waiting for input&#8221; priority view is the heart of Glint, and Windows is firmly on the roadmap (the lifetime license even includes the Windows and Linux versions free when they land), so hang tight.<\/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>Most of my claude code sessions run in the background while i&#8217;m doing something else. watching a video, handling emails, whatever. glint is the thing that actually tells you when it needs your attention without you having to go check. the subagent view is a nice bonus too &#8211; parallel sessions get chaotic fast. been using it every day since i stumbled on 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\/@truekasun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@truekasun<\/a>&nbsp;Glad it&#8217;s been useful! That background workflow was exactly the problem I built Glint to solve. 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Glint roadmap already includes building support for other providers like Codex, Kiro and etc.<\/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>Claude Code activity surfaced where i&#8217;m already working is the kind of utility that becomes invisible in the best way once it&#8217;s there. curious what the most common surfaces have been so far. is it editor adjacent (sidebar, status bar) or more in the team layer (slack, pr review). and is the activity feed read only or actionable from inside 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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;Right now Glint can live on the notch, a draggable floating pill, and a dock-side bar showing status, plan, tokens, and sub-agents &#8211; but by the end of this week we&#8217;re shipping the actionable bit like jumping straight to a session&#8217;s terminal from the expanded view and support for other providers as well.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Claude Code in the menu bar is exactly the tiny status layer I want. Half my agent anxiety is just wondering if it is cooking or asleep.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;Thanks! That&#8217;s great to hear. Glint gives you that glance so you always know if it&#8217;s thinking, idle, or waiting on you, without breaking 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<\/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\/43QSIX57YNBU4N\" class=\"app-title\">Tadka<\/a><\/p>\n<div class=\"one-liner\">Ship 10x more ad creative, without hiring a design team.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">92<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tadka\u662f\u4e00\u6b3eAI\u5e7f\u544a\u521b\u610f\u751f\u6210\u5de5\u5177\uff0c\u5e2e\u52a9\u8425\u9500\u56e2\u961f\u5728\u51e0\u5206\u949f\u5185\u5c06\u4e00\u4efd\u7b80\u62a5\u8f6c\u5316\u4e3a\u6570\u767e\u4e2a\u7b26\u5408\u54c1\u724c\u8c03\u6027\u3001\u9002\u914d\u4e0d\u540c\u6e20\u9053\u7684\u9759\u6001\u5e7f\u544a\u7d20\u6750\uff0c\u5e76\u901a\u8fc7\u6548\u679c\u8ffd\u8e2a\u81ea\u52a8\u4f18\u5316\u521b\u610f\u7b56\u7565\uff0c\u89e3\u51b3\u56e2\u961f\u56e0\u4eba\u529b\u4e0d\u8db3\u5bfc\u81f4\u7684\u521b\u610f\u4ea7\u51fa\u74f6\u9888\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\/d24228f8-442d-4da9-8caa-690eadeaad3e.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\/d80c3db6-e231-4448-832f-db3b7d538c6a.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\/635ab7d5-558d-410a-86a3-550cb99dd90f.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\/be67fb37-bfde-48fc-910a-eb2a1da71445.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\/1458b9d4-0272-4917-a4a0-520a3b2374e8.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\/ba663694-32be-4952-b917-07f22c414e40.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\/e4812747-1ddd-485d-b8fb-28999f94efaf.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\">Marketing<\/span><br \/>\n            <span class=\"tag\">Advertising<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5e7f\u544a\u521b\u610f\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u6279\u91cf\u7d20\u6750\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">Meta\u5e7f\u544a<\/span><br \/>\n            <span class=\"tag\">Google\u5e7f\u544a<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u4e00\u81f4\u6027<\/span><br \/>\n            <span class=\"tag\">\u6027\u80fd\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">Shopify\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u7535\u5546\u5e7f\u544a<\/span><br \/>\n            <span class=\"tag\">\u9759\u6001\u89c6\u89c9<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u6548\u7387<\/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\u54c1\u724c\u4e00\u81f4\u6027\uff08\u662f\u5426\u6709\u4eba\u5de5\u5ba1\u6838\u6216\u6a21\u578b\u81ea\u63a7\uff09\u53ca\u521b\u610f\u540c\u8d28\u5316\u95ee\u9898\uff08\u5982\u4f55\u907f\u514d\u201cAI\u5e7f\u544a\u6c64\u201d\uff09\u3002\u65e9\u671f\u53cd\u9988\u5b58\u5728\u751f\u6210\u6570\u91cf\u4e0d\u8db3\u3001\u56fe\u7247\u4e0a\u4f20\u65e0\u6cd5\u5220\u9664\u3001\u652f\u4ed8\u5f39\u7a97\u7f3a\u5931\u7b49Bug\uff0c\u5f00\u53d1\u8005\u5df2\u4fee\u590d\u5e76\u9080\u8bf7\u590d\u6d4b\u3002\u53e6\u6709\u7528\u6237\u8be2\u95ee\u662f\u5426\u652f\u6301\u89c6\u9891\u3001\u662f\u5426\u53c2\u8003\u7ade\u54c1\u5e7f\u544a\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u89c6\u9891\u5728\u8def\u7ebf\u56fe\u4e2d\uff0c\u7ade\u54c1\u4fe1\u53f7\u4ec5\u7528\u4f5c\u65b9\u5411\u53c2\u8003\u800c\u975e\u590d\u5236\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                Tadka\u7cbe\u51c6\u5207\u4e2d\u4e86\u201c\u521b\u610f\u9965\u6e34\u201d\u8fd9\u4e2a\u73b0\u5b9e\u75db\u70b9\u2014\u2014Meta\u548cGoogle\u5e7f\u544a\u7cfb\u7edf\u5bf9\u521b\u610f\u6570\u91cf\u7684\u8d2a\u5a6a\u8fdc\u8d85\u4e2d\u5c0f\u56e2\u961f\u7684\u4f9b\u7ed9\u80fd\u529b\u3002\u5176\u201c\u7b80\u62a5\u2192\u6279\u91cf\u751f\u6210\u2192\u6548\u679c\u53cd\u9988\u201d\u7684\u95ed\u73af\u903b\u8f91\u5728\u7406\u8bba\u5c42\u9762\u6210\u7acb\uff0c\u4f46\u4ea7\u54c1\u5f53\u524d\u4ef7\u503c\u91ca\u653e\u9762\u4e34\u4e09\u4e2a\u5173\u952e\u6311\u6218\uff1a\u7b2c\u4e00\uff0c\u201c\u54c1\u724c\u4e00\u81f4\u6027\u201d\u662f\u653e\u5927\u521b\u610f\u7684\u547d\u95e8\uff0c\u7528\u6237\u53cd\u9988\u76f4\u6307\u6838\u5fc3\u2014\u2014100\u4e2a\u53d8\u4f53\u5982\u4f55\u4e0d\u6ca6\u4e3a\u201cAI\u5e7f\u544a\u6c64\u201d\uff1f\u5982\u679c\u4ec5\u9760\u521d\u59cb\u54c1\u724c\u7f16\u7801\u81ea\u6211\u7ea6\u675f\uff0c\u5728\u8de8\u98ce\u683c\uff08\u5982Bold &#038; Vibrant vs. Muted &#038; Editorial\uff09\u5207\u6362\u65f6\u6781\u6613\u5931\u63a7\uff0c\u7f3a\u5c11\u4eba\u5de5\u5ba1\u6279\u73af\u8282\u53ef\u80fd\u8ba9\u54c1\u724c\u8c03\u6027\u5728\u6570\u91cf\u6d2a\u6d41\u4e2d\u7a00\u91ca\u3002\u7b2c\u4e8c\uff0c\u5f53\u524d\u4ec5\u652f\u6301\u9759\u6001\u89c6\u89c9\uff0c\u800cTikTok\u3001Reels\u7b49\u89c6\u9891\u5e7f\u544a\u624d\u662f\u6d41\u91cf\u9ad8\u5730\uff0c\u5c06\u89c6\u9891\u63a8\u8fdf\u5230\u8def\u7ebf\u56fe\u53ef\u80fd\u5bfc\u81f4\u65e9\u671f\u7528\u6237\u6d41\u5931\uff0c\u6bd5\u7adf\u7ade\u54c1\u5df2\u5f00\u59cb\u5377\u52a8\u6001\u7d20\u6750\u3002\u7b2c\u4e09\uff0c\u6027\u80fd\u5b66\u4e60\u5faa\u73af\u4f9d\u8d56\u8db3\u591f\u7684\u6570\u636e\u79ef\u7d2f\uff0c\u65b0\u54c1\u4e0a\u7ebf\u521d\u671f\u6837\u672c\u7a00\u758f\uff0c\u6548\u679c\u53cd\u9988\u53ef\u80fd\u5b58\u5728\u51b7\u542f\u52a8\u5ef6\u8fdf\uff0c\u5bf9\u6025\u9700\u7acb\u7aff\u89c1\u5f71\u7684\u56e2\u961f\u662f\u9690\u6027\u6210\u672c\u3002\u4ea7\u54c1\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u66ff\u4ee3\u8bbe\u8ba1\u5e08\u201d\uff0c\u800c\u5728\u4e8e\u8ba9\u975e\u8bbe\u8ba1\u56e2\u961f\uff08\u5982\u589e\u957f\u8fd0\u8425\uff09\u5feb\u901f\u4ea7\u51fa\u201c\u8db3\u591f\u597d\u201d\u7684A\/B\u6d4b\u8bd5\u7d20\u6750\uff0c\u771f\u6b63\u4ef7\u503c\u662f\u964d\u4f4e\u521b\u610f\u5b9e\u9a8c\u7684\u8fb9\u9645\u6210\u672c\u3002\u4f46\u8981\u6210\u4e3a\u589e\u957f\u5f15\u64ce\u7684\u6807\u914d\uff0cTadka\u5fc5\u987b\u5728\u54c1\u724c\u7ea6\u675f\u7b97\u6cd5\u548c\u5b9e\u65f6\u5b66\u4e60\u5ef6\u8fdf\u4e0a\u505a\u51fa\u5dee\u5f02\u5316\u7a81\u7834\uff0c\u5426\u5219\u5bb9\u6613\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u201c\u770b\u8d77\u6765\u5f88\u7f8e\u7684\u6279\u91cf\u751f\u6210\u5de5\u5177\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\">Tadka<\/span>\n                <\/div>\n<div class=\"comment-content\">Tadka turns one brief into hundreds of on-brand, audience-tuned ad creatives in minutes, then learns which ones win. The creative volume your Meta and Google campaigns are starving for.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<h3>Core Features<\/h3>\n<ul>\n<li>\n<p><strong>Brief-to-Creative Pipeline<\/strong> \u2014 input brand details, products, target audiences \u2192 generates on-brand ad variations<\/p>\n<\/li>\n<li>\n<p><strong>Multi-channel Export<\/strong> \u2014 Meta, Google Ads, TikTok, Pinterest, email, landing pages (PNG\/WebP)<\/p>\n<\/li>\n<li>\n<p><strong>Visual Styling<\/strong> \u2014 Bold &amp; Vibrant, Muted &amp; Editorial, Soft &amp; Minimal, Warm &amp; Playful<\/p>\n<\/li>\n<li>\n<p><strong>Performance Learning Loop<\/strong> \u2014 tracks ad performance, auto-shifts toward converting styles<\/p>\n<\/li>\n<li>\n<p><strong>Product Integration<\/strong> \u2014 syncs with Shopify and WooCommerce<\/p>\n<\/li>\n<\/ul>\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 10x without a design team framing is what every growth team wishes for. the hard part is usually brand consistency once volume goes up. curious how Tadka holds the brand together across 100 variants. is there a human in the loop reviewing tone and color before they ship, or do you encode the brand once at setup and let the model self police inside those bounds?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Ad creative is one of those jobs where speed matters more than everyone admits. How do you keep outputs from looking like the same AI ad soup?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! What kind of creative can it creates? static visuals? videos?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@luigi_receiptorai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luigi_receiptorai<\/a>&nbsp;Thanks Luigi! Right now Tadka focuses on static visuals  ad creatives exported for Meta, Google, TikTok, Pinterest, plus email and landing page formats (PNG\/WebP). The whole idea is generating a high volume of on-brand static variations fast, then learning which ones convert.<\/p>\n<p>Video&#8217;s the natural next frontier and it&#8217;s on the roadmap, but we wanted to nail static volume first since that&#8217;s where most teams are starved for creative. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>I attempted to run the process expecting it to generate eight different variations of my image, but only one was created. I also encountered some bugs during generation. For instance, while I can upload multiple images, the server returns an error for more than 4 images I think. Additionally, I can add images but cannot remove them, after accidentally adding the wrong image, I was forced to restart the entire process to upload the correct ones. Also, review the payment modal the padding is missing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@matheusdsantosr_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matheusdsantosr_dev<\/a>&nbsp;really appreciate this Matheus, this is exactly the kind of detail that helps. all four are fixed now: the variation count (you should get all 8), the multi-image limit, the inability to remove an uploaded image, and the payment modal padding. so you can swap out a wrong image without restarting the whole flow now. would love for you to give it another run, especially the generation and checkout, and tell me if it holds up. and thanks for catching the payment one, that was the important 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 brief to creative gap is where most teams lose time. Does Tadka pull from competitor ads at all or purely original <\/p>\n<p>generation?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mohamed_hussein25\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohamed_hussein25<\/a>&nbsp;Good eye, Mohamed. It&#8217;s mostly original generation from your brand inputs, but we do factor in category\/competitor signal to understand what&#8217;s working in your space used as direction, not for copying creative. The goal is on-brand variety, then the performance loop sorts winners from there. What&#8217;s your current process, do you study competitor ads before briefing, or start from scratch?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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, Nawneet here, maker of Tadka.<\/p>\n<p>Real reason I built this is because I kept watching good campaigns stall. Not because the targeting was off, but because we could only ship 3 or 4 creatives a week. Meta and Google want volume, and a small team can&#8217;t feed them fast enough. Hiring designers for that is slow and expensive.<\/p>\n<p>So Tadka takes one brief and turns it into hundreds of on-brand variations in minutes. Then it tracks which ones convert and leans into those styles.<\/p>\n<p>Would love your take. What&#8217;s your biggest creative bottleneck right now: volume, testing speed, or staying on-brand?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/YLEC52WELABAAJ\" class=\"app-title\">Kraina<\/a><\/p>\n<div class=\"one-liner\">Turn your outdoor activities into a territory game.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">91<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kraina\u5c06\u6237\u5916\u8fd0\u52a8\u8f6c\u5316\u4e3a\u593a\u56de\u9886\u5730\u6e38\u620f\uff0c\u901a\u8fc7\u201c\u6eda\u52a8\u8ff7\u96fe\u201d\u673a\u5236\uff0c\u8ba9\u7528\u6237\u753b\u5708\u89e3\u9501\u5730\u56fe\uff0c\u89e3\u51b3\u4f20\u7edf\u8f68\u8ff9\u8bb0\u5f55\u67af\u71e5\u3001\u7f3a\u4e4f\u63a2\u7d22\u52a8\u529b\u7684\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\/fa043545-09c9-46cd-8791-0753ff9e5ee2.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\/94a9da6f-3254-48dd-a567-94f416ffa491.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\/2e901d3c-23fa-408b-955e-e88a2025c50b.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\/e064fba8-c174-4cb9-8a93-c8c5b0c53247.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\/f04ffcdd-2dfd-4121-a040-a9d21200e75b.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\/56b92c68-dcca-4d0f-a8f3-5ab68ef07b08.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=U9N0SaEnR8U\"><source src=\"https:\/\/www.youtube.com\/watch?v=U9N0SaEnR8U\" 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\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Maps<\/span><br \/>\n            <span class=\"tag\">Outdoors<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6237\u5916\u63a2\u7d22<\/span><br \/>\n            <span class=\"tag\">\u9886\u5730\u6e38\u620f<\/span><br \/>\n            <span class=\"tag\">\u9690\u85cf\u5730\u56fe<\/span><br \/>\n            <span class=\"tag\">\u6eda\u52a8\u8ff7\u96fe<\/span><br \/>\n            <span class=\"tag\">\u8def\u5f84\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f92\u6b65\u5065\u8eab<\/span><br \/>\n            <span class=\"tag\">iPhone\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">Web\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u5316<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u6311\u6218<\/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\u6b23\u8d4f\u5faa\u73af\u7ed8\u56fe\u548c\u201c\u6eda\u52a8\u8ff7\u96fe\u201d\u7684\u521b\u65b0\uff0c\u8ba4\u4e3a\u5b83\u8ba9\u6563\u6b65\u201c\u4e0d\u90a3\u4e48\u50cf\u5bb6\u52a1\u201d\uff0c\u4f46\u4e5f\u6709\u8d28\u7591\uff1a\u65b0\u624b\u72ec\u81ea\u4f53\u9a8c\u662f\u5426\u8db3\u591f\uff1f\u65e9\u671f\u7528\u6237\u5c11\u65f6\uff0c\u9886\u5730\u4e89\u593a\u7f3a\u4e4f\u5bf9\u624b\uff0c\u6e38\u620f\u611f\u4f1a\u51cf\u5f31\u3002\u5f00\u53d1\u8005\u627f\u8ba4\u201c\u6eda\u52a8\u8ff7\u96fe\u201d\u662f\u201c\u90aa\u6076\u7684\u5b9e\u7528\u201d\uff0c\u5e76\u5f81\u6c42\u533a\u57df\u53ef\u89c6\u5316\u6e05\u6670\u5ea6\u548c\u4efb\u52a1\u7c7b\u578b\u53cd\u9988\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                Kraina\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u88ab\u5ffd\u89c6\u7684\u75db\u70b9\uff1a\u6237\u5916\u8fd0\u52a8App\u7684\u201c\u8bb0\u5f55\u201d\u672c\u8d28\u662f\u9759\u6001\u7684\u3001\u81ea\u6211\u91cd\u590d\u7684\u3002\u5b83\u7528\u6eda\u52a8\u7684\u8ff7\u96fe\u548c\u9886\u5730\u5316\u673a\u5236\uff0c\u6210\u529f\u5c06\u201c\u88ab\u52a8\u8bb0\u5f55\u201d\u8f6c\u5316\u4e3a\u201c\u4e3b\u52a8\u63a2\u7d22\u201d\uff0c\u8ba9\u5730\u56fe\u53d8\u6210\u4e86\u4e00\u4e2a\u6709\u751f\u547d\u3001\u9700\u8981\u7ef4\u62a4\u7684\u8d44\u4ea7\u3002\u8fd9\u79cd\u8bbe\u8ba1\u5de7\u5999\u5730\u5229\u7528\u4e86\u4eba\u4eec\u5bf9\u201c\u5360\u6709\u201d\u548c\u201c\u5931\u53bb\u201d\u7684\u5fc3\u7406\u538c\u6076\uff0c\u8ba9\u91cd\u590d\u8def\u7ebf\u6709\u4e86\u65b0\u610f\u4e49\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5b83\u7684\u5b9e\u9645\u4ef7\u503c\u53ef\u80fd\u88ab\u9ad8\u4f30\u4e86\u3002\u6e38\u620f\u673a\u5236\u770b\u8d77\u6765\u5f88\u9177\uff0c\u4f46\u7f3a\u4e4f\u6df1\u5c42\u793e\u4ea4\u548c\u7ade\u4e89\u951a\u70b9\u3002\u5982\u679c\u53ea\u662f\u4e00\u4e2a\u4eba\u5bf9\u7740\u624b\u673a\u5730\u56fe\u201c\u753b\u5708\u201d\uff0c\u65b0\u9c9c\u611f\u4f1a\u5728\u51e0\u6b21\u5f92\u6b65\u540e\u8fc5\u901f\u6d88\u9000\u3002\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201c\u65e9\u671f\u7528\u6237\u5b64\u72ec\u611f\u201d\u662f\u81f4\u547d\u95ee\u9898\u2014\u2014\u6ca1\u6709\u591a\u4eba\u5728\u540c\u4e00\u533a\u57df\u7ade\u4e89\u6216\u534f\u4f5c\uff0c\u9886\u5730\u7684\u6982\u5ff5\u5c31\u6beb\u65e0\u610f\u4e49\u3002\u6b64\u5916\uff0c\u201c\u6311\u6218\u533a\u57df\u201d\u548c\u201c\u4efb\u52a1\u201d\u5982\u679c\u7f3a\u4e4f\u4e0e\u771f\u5b9e\u4e16\u754c\u5730\u6807\uff08\u5982\u5386\u53f2\u5efa\u7b51\u3001\u89c2\u666f\u53f0\uff09\u7684\u6df1\u5ea6\u7ed1\u5b9a\uff0c\u5c31\u5bb9\u6613\u6ca6\u4e3a\u673a\u68b0\u5316\u7684\u6570\u5b57\u6253\u5361\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0cKraina\u5728\u7528\u6e38\u620f\u5316\u7684\u7cd6\u8863\u5305\u88f9\u4e00\u6b3e\u5c0f\u4f17\u8fd0\u52a8\u5de5\u5177\uff0c\u4f46\u76ee\u524d\u770b\u6765\u5b83\u66f4\u50cf\u4e00\u4e2a\u6982\u5ff5\u8bc1\u660e\u3002\u5b83\u771f\u6b63\u7684\u4e0b\u4e00\u6b65\uff0c\u662f\u628a\u201c\u9886\u5730\u201d\u53d8\u6210\u53ef\u4ea4\u6613\u3001\u53ef\u793e\u4ea4\u3001\u80fd\u5f15\u53d1\u57ce\u5e02\u7ea7\u63a2\u7d22\u6f6e\u6d41\u7684\u201c\u5730\u7406NFT\u201d\uff0c\u5426\u5219\u5b83\u53ea\u662f\u5f92\u6b65\u7231\u597d\u8005\u624b\u673a\u91cc\u53e6\u4e00\u4e2a\u51e0\u5929\u540e\u5c31\u4f1a\u88ab\u9057\u5fd8\u7684\u5947\u7279App\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\">Kraina<\/span>\n                <\/div>\n<div class=\"comment-content\">Kraina turns outdoor movement into a living territory map. Unlike standard apps that show thin route corridors, Kraina lets you draw loops to reveal the land inside. The map is alive: with Rolling Fog, places you stop visiting can fade back, giving you a reason to return and reclaim your territory. Explore with purpose through missions and challenge zones. Now on Web and iPhone.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt,<\/p>\n<p>I\u2019m Michail, a solo founder near Prague. I built Kraina because I wanted outdoor maps to feel more alive.<\/p>\n<p>Most activity maps show where you went. Kraina shows what you reveal.<\/p>\n<p>You move through the real world, clear the fog, close loops, and reveal the land inside. With Rolling Fog, places you stop visiting can fade back into fog, so the map gives you a reason to return instead of always repeating the same route.<\/p>\n<p>Kraina is not really about performance tracking. It is more about exploration: what you opened, what you lost, and where you might go next.<\/p>\n<p>It is now available on web and iPhone, with missions and challenge zones to help you explore with purpose.<\/p>\n<p>I\u2019d love to get your feedback:<\/p>\n<ul>\n<li>\n<p>Is the loop-based territory mechanic clear?<\/p>\n<\/li>\n<li>\n<p>Does Rolling Fog feel motivating or too punishing?<\/p>\n<\/li>\n<li>\n<p>What kind of missions would make you try a new route?<\/p>\n<\/li>\n<\/ul>\n<p>Thanks for taking a look. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/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>Loop based territory maps are a great way to make walking feel less like chores. Rolling Fog sounds evil in a useful way.<\/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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;Thanks &#8211; \u201cevil in a useful way\u201d is a very accurate description of Rolling Fog.<\/p>\n<p>The goal is not to punish users, but to make old places matter again.<\/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 will try you app.<\/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\/@intesar_mohammed1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@intesar_mohammed1<\/a>&nbsp;Thanks \u2014 I\u2019d really appreciate that!<\/p>\n<p>If you try it, I\u2019d be especially curious whether the loop -&gt; territory reveal mechanic feels clear, and whether Rolling Fog feels motivating or too punishing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>turning outdoor activity into a territory game is a fun layer on something most people already track passively. curious about the local network effect. does a new player joining a city need other players around to claim territory from, or does the early experience hold up solo before the area gets dense? that early game design is usually what makes or breaks adoption.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/BLZFXYRX6TUME2\" class=\"app-title\">agentbrowse<\/a><\/p>\n<div class=\"one-liner\">Give your AI coding agent the web as a command line<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">86<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>agentbrowse \u5c06\u4efb\u610f\u7f51\u7ad9\u8f6c\u6362\u4e3a AI \u7f16\u7a0b\u4ee3\u7406\u53ef\u8c03\u7528\u7684\u547d\u4ee4\u884c\u63a5\u53e3\uff0c\u8ba9 AI \u80fd\u50cf\u64cd\u4f5c\u7ec8\u7aef\u4e00\u6837\u7a33\u5b9a\u5730\u6253\u5f00\u3001\u70b9\u51fb\u3001\u586b\u5199\u548c\u8bfb\u53d6\u7f51\u9875\u5185\u5bb9\uff0c\u89e3\u51b3 AI \u4ee3\u7406\u5728\u6d4f\u89c8\u5668\u4e2d\u201c\u7b28\u624b\u7b28\u811a\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                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/ff975f3b-4312-4661-8fae-c4ca3674f26d.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/9hXBNdRezX4\"><source src=\"https:\/\/youtu.be\/9hXBNdRezX4\" 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\/960ffcfb-73be-4611-9ad5-0f0332ceda63.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\/3297094c-715f-4469-be08-7cf6c8a9c84f.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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875CLI<\/span><br \/>\n            <span class=\"tag\">\u65e0\u969c\u788d\u6811<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">Cursor<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">Gemini<\/span><br \/>\n            <span class=\"tag\">Windsurf<\/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\u767b\u5f55\u4f1a\u8bdd\u590d\u7528\u95ee\u9898\uff0c\u62c5\u5fc3AI\u4ee3\u7406\u72b6\u6001\u5316\u4ea4\u4e92\u7684\u53ef\u884c\u6027\u3002\u8bc4\u8bba\u5efa\u8bae\uff1a\u9700\u660e\u786e\u51ed\u8bc1\u6388\u6743\u65b9\u5f0f\uff08\u7ad9\u70b9\u7ea7 vs \u901a\u7528\u59d4\u6258\uff09\uff0c\u5e76\u5f3a\u8c03\u8be5\u6a21\u5f0f\u4f9d\u8d56\u201c\u4ee3\u7406\u4ee5\u52a8\u8bcd\u601d\u8003\u201d\u800c\u975e\u9875\u9762\u5bfc\u822a\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                agentbrowse \u5207\u4e2d\u4e86\u5f53\u524d AI \u7f16\u7a0b\u5de5\u5177\u94fe\u4e2d\u4e00\u4e2a\u6781\u5176\u9690\u853d\u4f46\u81f4\u547d\u7684\u65ad\u5c42\u2014\u2014\u4ee3\u7406\u5728\u7ec8\u7aef\u91cc\u662f\u795e\uff0c\u5728\u6d4f\u89c8\u5668\u91cc\u662f\u778e\u5b50\u3002\u5b83\u7528\u201c\u65e0\u969c\u788d\u6811\u201d\u66ff\u4ee3\u6613\u788e\u7684 CSS \u9009\u62e9\u5668\uff0c\u89e3\u51b3\u4e86 DOM \u53d8\u5316\u5bfc\u81f4\u7684\u64cd\u4f5c\u5931\u6548\u95ee\u9898\uff1b\u7528\u4e00\u6b21\u547d\u4ee4\u81ea\u52a8\u9002\u914d\u4e3b\u6d41\u4ee3\u7406\u914d\u7f6e\uff0c\u964d\u4f4e\u4e86\u91c7\u7528\u95e8\u69db\u3002\u8fd9\u4e24\u70b9\u786e\u5b9e\u806a\u660e\uff0c\u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u5e76\u4e0d\u5728\u4e8e\u201c\u628a\u7f51\u9875\u53d8\u6210\u547d\u4ee4\u884c\u201d\u8fd9\u4e2a\u5671\u5934\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6838\u5fc3\u58c1\u5792\u5728\u4e8e\uff1a\u5b83\u8bd5\u56fe\u4e3a AI \u4ee3\u7406\u5efa\u7acb\u4e00\u5957**\u8de8\u7ad9\u70b9\u7684\u539f\u5b50\u5316\u4ea4\u4e92\u534f\u8bae**\u3002\u5f53\u4ee3\u7406\u80fd\u901a\u8fc7 role+name \u5b9a\u4f4d\u5143\u7d20\u3001\u81ea\u52a8\u5904\u7406\u5feb\u7167\u8fc7\u671f\u3001\u901a\u8fc7 CLI \u7edf\u4e00\u8c03\u7528\u65f6\uff0c\u5b83\u5b9e\u9645\u4e0a\u5c06\u6df7\u4e71\u7684\u7f51\u9875\u4ea4\u4e92\u62bd\u8c61\u6210\u4e86\u53ef\u7f16\u7a0b\u7684\u64cd\u4f5c\u539f\u8bed\u3002\u8fd9\u8ba9 agentbrowse \u4e0d\u4ec5\u662f\u4e00\u4e2a\u5de5\u5177\uff0c\u66f4\u662f\u4e00\u4e2a**\u4ee3\u7406\u64cd\u4f5c\u7cfb\u7edf\u7684\u4e00\u90e8\u5206**\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5371\u9669\u4e5f\u5728\u8fd9\u91cc\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u7684\u8d28\u7591\u975e\u5e38\u7cbe\u51c6\uff1a\u767b\u5f55\u6001\u5982\u4f55\u7ba1\u7406\uff1f\u5982\u679c\u6bcf\u4e2a\u7ad9\u70b9\u7684\u51ed\u8bc1\u4ecd\u9700\u4eba\u5de5\u6388\u6743\uff0c\u4e14\u65e0\u5b89\u5168\u59d4\u6258\u673a\u5236\uff0c\u90a3\u4e48\u201c\u771f\u6b63\u81ea\u4e3b\u201d\u5c31\u662f\u7a7a\u8c08\u3002\u76ee\u524d\u4ea7\u54c1\u4f3c\u4e4e\u66f4\u9002\u7528\u4e8e\u516c\u5f00\u9875\u9762\u7684\u4fe1\u606f\u6293\u53d6\u6216\u7b80\u5355\u8868\u5355\u586b\u5199\uff0c\u800c\u975e\u6df1\u5ea6\u3001\u8fde\u7eed\u7684\u51b3\u7b56\u6d41\u7a0b\u3002\u6b64\u5916\uff0c\u4f9d\u8d56 `npx` \u5373\u7528\u6a21\u5f0f\u867d\u7136\u4fbf\u6377\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u6240\u6709\u4ee3\u7406\u90fd\u4f1a\u5171\u4eab\u540c\u4e00\u4e2a\u7f51\u7edc\u6808\u548c\u72b6\u6001\uff0c\u5728\u590d\u6742\u5de5\u7a0b\u573a\u666f\u4e0b\u53ef\u80fd\u5b58\u5728\u7ade\u6001\u6216\u8d44\u6e90\u51b2\u7a81\u98ce\u9669\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u89e3\u51b3\u4e86 AI \u4ee3\u7406\u7684\u201c\u773c\u201d\u548c\u201c\u624b\u201d\u7684\u95ee\u9898\uff0c\u4f46\u201c\u8eab\u4efd\u201d\u548c\u201c\u72b6\u6001\u201d\u4ecd\u60ac\u800c\u672a\u51b3\u3002\u5bf9\u4e8e\u9700\u8981\u9891\u7e41\u548c\u7f51\u9875\u4ea4\u4e92\u7684\u975e\u654f\u611f\u4efb\u52a1\uff0c\u8fd9\u662f\u795e\u5668\uff1b\u5bf9\u4e8e\u9700\u8981\u771f\u6b63\u81ea\u4e3b\u64cd\u4f5c\u767b\u5f55\u540e\u7cfb\u7edf\u7684\u573a\u666f\uff0c\u8fd8\u5f97\u518d\u7b49\u7b49\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\">agentbrowse<\/span>\n                <\/div>\n<div class=\"comment-content\">AI coding agents are great in a terminal and clumsy in a browser. agentbrowse turns any website into a CLI they drive it can open, snapshot, click, fill, read as clean markdown, even log in. One command makes Claude Code, Codex, Cursor, Gemini &#038; Windsurf use it by default.<\/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 kept watching my AI coding agents flail at websites \u2014 guessing CSS selectors, fumbling forms, dumping raw HTML into context and burning tokens. But hand that same agent a CLI and it&#8217;s flawless. <\/p>\n<p>Two things I&#8217;m proud of:<\/p>\n<p>\u2192 It acts on the page&#8217;s accessibility tree, not brittle selectors. Elements resolve by role + name, so actions survive DOM changes. If a ref goes stale, it hands back a fresh snapshot automatically.<\/p>\n<p>\u2192 Adoption is one command. `npx agentbrowse skill` auto-detects the agents in your project and writes each one&#8217;s native config \u2014 so Claude Code, Codex, Cursor, Gemini &amp; Windsurf reach for it by default. Claude Code users can also `\/plugin install<\/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>is this tool can reuse my login session when open page? or it&#8217;s like open in stateless<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 framing of the web as a command line for an agent is powerful because it implies the agent thinks in verbs not pages. curious how auth and session state work in that model. if an agent needs to read something behind a login, does the user grant per site credentials, or is there a more general delegation primitive? that part feels like the unlock for real autonomy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;FYI<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e5b4b2f3-6622-466d-be40-64d8c9979531.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\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/NCFKAVYMUAEIUQ\" class=\"app-title\">ClientJam<\/a><\/p>\n<div class=\"one-liner\">AI-powered lead generation for designers and agencies<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">86<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ClientJam \u901a\u8fc7AI\u81ea\u52a8\u626b\u63cf\u4efb\u610f\u7f51\u7ad9\u7684\u6280\u672f\u6f0f\u6d1e\uff08SSL\u3001\u79fb\u52a8\u7aef\u3001SEO\u7b49\uff09\uff0c\u751f\u6210\u673a\u4f1a\u8bc4\u5206\u548c\u5b9a\u5236\u5316\u63a8\u9500\u90ae\u4ef6\uff0c\u5e2e\u52a9\u8bbe\u8ba1\u5e08\u548c\u673a\u6784\u89e3\u51b3\u4ece\u201c\u627e\u5230\u5ba2\u6237\u201d\u5230\u201c\u5199\u5bf9\u6587\u6848\u201d\u7684\u6574\u4e2a\u83b7\u5ba2\u6d41\u7a0b\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\/c9e1552f-c2cd-4da3-844d-537e47d78583.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\/5c8aa5af-057a-437b-876c-2afc98c90033.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\/272e2b74-55d8-4e1a-bfaa-1875df73bb8c.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\/dcbc2137-f330-4289-9e2b-aa9c5a070879.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\/c4b5d3c7-f2a5-4104-b57f-f294b8d28dca.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\/2356c9cd-e87d-42b3-a3b0-e67467473050.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\">Sales<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u83b7\u5ba2<\/span><br \/>\n            <span class=\"tag\">Web\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u673a\u4f1a\u8bc4\u5206<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u63a8\u9500\u90ae\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u5e08\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u673a\u6784<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u83b7\u5ba2<\/span><br \/>\n            <span class=\"tag\">Lead Generation<\/span><br \/>\n            <span class=\"tag\">SaaS\u4ea7\u54c1<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u5065\u5eb7\u68c0\u6d4b<\/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\u8be5\u4ea7\u54c1\u7cbe\u51c6\u5b9a\u4f4d\u8bbe\u8ba1\u5e08\u627e\u5ba2\u6237\u7684\u75db\u70b9\uff0c\u4f46\u5173\u6ce8\u7126\u70b9\u5728\u4e8e\uff1a1) \u673a\u4f1a\u8bc4\u5206\u662f\u57fa\u4e8e\u56fa\u5b9a\u89c4\u5219\u800c\u975eAI\u5339\u914d\uff0c\u7f3a\u4e4f\u5bf9\u201c\u4eba-\u5ba2\u6237\u5951\u5408\u5ea6\u201d\u7684\u6df1\u5ea6\u5206\u6790\uff1b2) \u5f53\u524d\u4ec5\u9650\u8425\u9500\u7f51\u7ad9\u5ba1\u8ba1\uff0c\u672a\u652f\u6301SaaS\/\u4ea7\u54c1\u7c7bApp\u7684UX\u3001\u7528\u6237\u8bc4\u8bba\u7b49\u4fe1\u53f7\uff1b3) \u5e0c\u671b\u90ae\u4ef6\u8bed\u6c14\u80fd\u6839\u636e\u5229\u76ca\u76f8\u5173\u8005\u89d2\u8272\uff08\u521b\u59cb\u4eba\/CMO\/\u603b\u76d1\uff09\u5b9a\u5236\uff0c\u5e76\u5f3a\u8c03\u8f7b\u91cfCRM\u7684\u4f18\u52bf\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                ClientJam\u5728\u4ea7\u54c1\u730e\u624b\uff08Product Hunt\uff09\u4e0a\u83b7\u5f9786\u7968\uff0c\u4e4f\u5584\u53ef\u9648\uff0c\u4f46\u5176\u4ea7\u54c1\u903b\u8f91\u786e\u5b9e\u6293\u4f4f\u4e86\u201c\u7ebf\u7d22\u8d28\u91cf>\u6570\u91cf\u201d\u8fd9\u4e00\u5173\u952e\u75db\u70b9\u3002\u5b83\u806a\u660e\u5730\u7ed5\u8fc7\u4e86\u4e00\u4f17\u540c\u8d28\u5316\u5217\u8868\u5de5\u5177\uff0c\u7528\u201c\u6280\u672f\u5ba1\u8ba1+\u673a\u4f1a\u8bc4\u5206\u201d\u7ed9\u51b7\u90ae\u4ef6\u627e\u4e86\u4e2a\u786c\u6838\u5207\u5165\u70b9\u2014\u2014\u4e0d\u518d\u662f\u201c\u6211\u5f88\u597d\u6211\u5f88\u5f3a\u201d\uff0c\u800c\u662f\u201c\u4f60\u7684\u7f51\u7ad9\u52a0\u8f7d\u61620.7\u79d2\uff0c\u5ba2\u6237\u8dd1\u4e86\uff0c\u6211\u80fd\u4fee\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u76ee\u524d\u5904\u4e8e\u201c\u51c6AI\u201d\u800c\u975e\u201c\u771fAI\u201d\u9636\u6bb5\u3002\u8bc4\u8bba\u4e2d\u521b\u59cb\u4eba\u5766\u767d\u201c\u8bc4\u5206\u662f\u786e\u5b9a\u6027\u7684\u3001\u975e\u673a\u5668\u5b66\u4e60\u201d\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u7f3a\u4e4f\u5bf9\u201c\u4eba\u201d\u548c\u201c\u5546\u4e1a\u610f\u56fe\u201d\u7684\u6df1\u5c42\u7406\u89e3\u3002\u5b83\u77e5\u9053\u4f60\u7f51\u7ad9\u6162\u4e86\uff0c\u4f46\u65e0\u6cd5\u5224\u65ad\u4f60\u6700\u8fd1\u662f\u4e0d\u662f\u5728\u878d\u8d44\u3001\u6709\u6ca1\u6709\u62dbUX\u4e3b\u7ba1\u3001\u5bf9\u624b\u662f\u4e0d\u662f\u521a\u4e0a\u7ebf\u4e86\u65b0\u7248\u672c\u2014\u2014\u8fd9\u4e9b\u624d\u662f\u66f4\u9ad8\u9636\u7684\u201c\u65f6\u673a\u201d\u3002\u672c\u8d28\u4e0a\uff0c\u5b83\u4ecd\u662f\u4e00\u4e2a\u81ea\u52a8\u5316\u4e86\u624b\u5de5\u6d41\u7a0b\u7684\u6548\u7387\u5de5\u5177\uff0c\u800c\u975e\u667a\u80fd\u6d1e\u5bdf\u5f15\u64ce\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u6709\u4ef7\u503c\u7684\u70b9\u5728\u4e8e\u5176\u201c\u53cd\u5546\u4e1a\u5316\u8bbe\u8ba1\u201d\uff1a\u56de\u907f\u4e86\u81c3\u80bfCRM\uff0c\u96c6\u4e2d\u529b\u91cf\u8ba9\u4e00\u4e2a\u81ea\u7531\u8bbe\u8ba1\u5e08\u752860\u79d2\u5b8c\u6210\u539f\u672c1\u5c0f\u65f6\u7684\u63d0\u6848\u51c6\u5907\u3002\u4f46\u8fd9\u4e5f\u6697\u793a\u4e86\u5b83\u7684\u5929\u82b1\u677f\u2014\u2014\u9002\u7528\u4e8e\u5c0f\u6279\u91cf\u3001\u672c\u5730\u3001\u5bf9\u5c0f\u4f01\u4e1a\u8fdb\u884c\u6807\u51c6\u578b\u670d\u52a1\u63a8\u9500\u7684\u573a\u666f\u3002\u5bf9\u4e8e\u8ffd\u6c42\u9ad8\u7aefSaaS\u5b9a\u5236\u5316\u4ea7\u54c1\u8bbe\u8ba1\u6216B2B\u590d\u6742\u51b3\u7b56\u94fe\u7684\u673a\u6784\uff0c\u5b83\u7f3a\u4e4f\u7684\u6070\u6070\u662f\u7528\u6237\u9700\u6c42\u7684\u201c\u5206\u5c42\u5224\u65ad\u201d\u80fd\u529b\uff08\u5982\u57fa\u4e8e\u7528\u6237\u8bc4\u8bba\u6316\u6398\u75db\u70b9\uff09\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u662f\u76ee\u524d\u6700\u61c2\u8bbe\u8ba1\u5e08\u201c\u61d2\u5f97\u5356\u201d\u7684\u5de5\u5177\uff0c\u4e5f\u662f\u4e00\u4e2a\u503c\u5f97\u64ad\u79cd\u7684MVP\u3002\u4f46\u82e5\u60f3\u6210\u4e3a\u4e13\u4e1a\u673a\u6784\u7684\u5f39\u836f\u5e93\uff0c\u5b83\u4ecd\u9700\u4ece\u201c\u6280\u672f\u6f0f\u6d1e\u730e\u4eba\u201d\u8fdb\u5316\u4e3a\u201c\u5546\u4e1a\u673a\u4f1a\u5206\u6790\u5e08\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\">ClientJam<\/span>\n                <\/div>\n<div class=\"comment-content\">Most lead generation apps tell you who a business is. ClientJam tells you how badly they need you \u2014 then writes the pitch. Paste any URL for a plain-English audit (SSL, mobile, speed, SEO), an opportunity score ranking leads by ripeness, and 3 ready-to-send emails built from the site&#8217;s real flaws. City Prospector pulls 20 leads from any city worldwide. Anyone can list contacts \u2014 ClientJam scores intent from a real audit and writes the outreach. The gap between a list and a booked call.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Designers needing leads is painfully real. I like that this points at the boring business part agencies avoid until pipeline gets quiet.<\/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\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;Exactly \u2014 you nailed the real trap. Prospecting is feast-or-famine: nobody touches it while they&#8217;re busy, then the pipeline goes quiet and suddenly it&#8217;s a panic. The whole idea behind ClientJam is to make that &#8220;boring business part&#8221; cheap enough to do consistently \u2014 a proposal in 60 seconds instead of an hour \u2014 so you&#8217;re never starting from zero. Appreciate you getting 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>lead gen for designers and agencies is a tough category because the quality of the lead matters way more than the volume. one warm intro to the right kind of client beats 50 cold contacts. curious how ClientJam scores lead fit before it surfaces it. is it scraping signal from a designer&#8217;s portfolio and matching it to a prospect&#8217;s recent activity, or is the matching more rules based?<\/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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;You&#8217;re right that fit beats volume, and you&#8217;ve pointed at the exact line ClientJam sits on today.<\/p>\n<p>Right now the matching is deterministic, not machine learning. It doesn&#8217;t scrape a designer&#8217;s portfolio or model a prospect&#8217;s recent activity. What it does is pull up the prospect&#8217;s actual website and run real checks on it (does it load, HTTPS, title and meta tags, an H1, mobile viewport, load time, page weight), then turn the gaps into a few scores: site health, SEO, and an opportunity score. That opportunity score is basically &#8220;how much measurable upside is sitting on the table here,&#8221; so the leads that rise to the top are the ones with the most fixable, sellable problems.<\/p>\n<p>So to be precise: today it scores opportunity, not fit. It tells you who has a clear problem you can solve, not whether that prospect matches your specific niche or just raised money or is hiring. That second layer, matching a designer&#8217;s portfolio against a prospect&#8217;s recent signals, is exactly where I think this gets powerful, and it&#8217;s the direction I want to grow.<\/p>\n<p>The reason I started with the deterministic audit is that it&#8217;s transparent. You can see every reason a lead scored the way it did, no black box, and it hands you a concrete hook to open the conversation with. Genuinely good question. If you try it, I&#8217;d love to know whether opportunity scoring alone gets you close enough, or whether that fit layer is the piece you&#8217;d 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious whether you see this expanding beyond marketing sites to evaluate SaaS or native apps, scoring things like accessibility, information architecture, onboarding flows, and overall UX. The prospect company would obviously need to provide some level of access (a demo, free trial, etc.) for the agent to work with though. Maybe even analyzing customer reviews to surface common pain points if there is no product access? Asking because our agency is trying to shift away from brand design and toward more product design work, so that kind of analysis would be huge for us in lead gen on that side.<\/p>\n<p>The cold email writing is a great feature. I&#8217;m a sales rep turned project manager but still carry a small level of sales outreach responsibilities at my new company, and a piece of my soul dies every time I have to write a cold outreach. If ClientJam can take that off my plate, that&#8217;s a huge win. Have you thought about options for tailoring the tone to specific stakeholder roles? The messaging for a startup founder versus a CMO at an SMB versus a product director at enterprise level would probably vary pretty significantly. Could be a really compelling layer to add.<\/p>\n<\/p>\n<p>The basic CRM is a smart call too. We actually just cancelled our HubSpot account last week because we weren&#8217;t using it and was a waste of money. Something simple to track outreach and manage follow-ups is all we really need, that&#8217;s a great feature to include here.<\/p>\n<p>If you could incorporate product analysis into ClientJam, I&#8217;d be very intrigued and would definitely give it a try. Best of luck on the launch, sending good vibes your way! 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\/@connal_kelly\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@connal_kelly<\/a>&nbsp;Thank you for taking the time to write such a thoughtful comment!<\/p>\n<p>On product analysis: you&#8217;ve mapped the exact tension I&#8217;ve been sitting with. Auditing a marketing site is easy because it&#8217;s public; evaluating SaaS accessibility, IA, and onboarding needs access which breaks the &#8220;score a lead before you ever talk to them&#8221; magic that makes ClientJam useful for cold outreach. That&#8217;s why your customer-reviews idea is interesting. Pulling recurring pain points from public reviews (G2, app stores, Reddit) is a no-access signal you can open a pitch with: &#8220;your users keep mentioning XYZ&#8221;. That&#8217;s a real wedge into product-design lead gen, and it&#8217;s going on the list with your name next to it. The full in-product UX audit is a bigger lift, but it&#8217;s exactly the direction I want to grow.<\/p>\n<p>On tone-tailoring by stakeholder role: 100%, and this one&#8217;s very doable. A founder, an SMB CMO, and an enterprise product director don&#8217;t just have different titles they have different fears, and the email should speak to those. Role-aware outreach is a clean next layer on top of what&#8217;s already there. (And I felt &#8220;a piece of my soul dies&#8221; in my bones. That line is the entire reason the cold-email feature exists.)<\/p>\n<p>On the CRM: you just described the whole design philosophy. You shouldn&#8217;t have to keep a HubSpot seat alive just to track who you emailed and when to follow up. Lightweight on purpose.<\/p>\n<p>Run it on a few prospects and tell me where it falls short for product design work specifically. That feedback is gold right now, and I&#8217;d genuinely love to keep talking as your agency makes that shift.<\/p>\n<p>Thank you for the good vibes! Right back at you. \ud83e\uded0<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Agency lead gen is brutal. What channels are you finding work best for outreach right 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mohamed_hussein25\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohamed_hussein25<\/a>&nbsp;Warm outbound is still working best but only when it\u2019s specific. The big shift is personalization. Generic agency outreach is brutal, but if you can point to a real issue on their site &#8211; slow mobile experience, weak local SEO, outdated design, confusing CTA &#8211; the conversation feels way less cold. Right now I\u2019d say LinkedIn + email for direct outreach, X for visibility and relationship-building.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Product Hunt \ud83d\udc4b Kevin here, solo maker of ClientJam.<\/p>\n<p>The hardest part of running a web design business was never the design \u2014 it was finding clients. My process was brutal and manual: scroll Google Maps looking for businesses with rough websites, open 30 tabs to hand-audit each one (is it on mobile? is it slow? no SSL?), then stare at a blank screen trying to write a cold email that didn&#8217;t sound like every other cold email. Hours of work to send a handful of pitches.<\/p>\n<p>I kept thinking: every step here is something a computer should do for me. I already know what a &#8220;ripe&#8221; lead looks like \u2014 a real local business losing customers to a broken website. I just needed something to find them, score them, and help me say the right thing.<\/p>\n<p>So I built ClientJam to collapse that whole funnel into one pass: paste a URL (or pull a batch from any city) \u2192 technical audit \u2192 opportunity score \u2192 three outreach emails grounded in that site&#8217;s actual problems.<\/p>\n<p>How it evolved: I started thinking it was an &#8220;audit tool,&#8221; but every test user kept asking the same thing \u2014 &#8220;okay, but what do I say to them?&#8221; That reframed the whole product. The audit isn&#8217;t the point; it&#8217;s the evidence. The real value is turning a score into a sentence you can actually send. That&#8217;s when the outreach generator went from a nice-to-have to the core.<\/p>\n<p>It&#8217;s free to start (no card), and I built it solo on Next.js, Vercel, Clerk, Stripe, and Neon.<\/p>\n<p>I&#8217;d genuinely love feedback from other designers, freelancers, and agency folks: when you&#8217;re prospecting, what&#8217;s the step that actually wastes your time? Happy to answer anything in the comments \ud83e\uded0<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kevincoy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevincoy<\/a>&nbsp;Congrats on the launch! Most lead gen tools just blast you with massive, cold lists of email addresses. Using a real technical website audit to score the lead&#8217;s actual urgency is a brilliant way to save agencies 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\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/XQGC4SRBDJUTU6\" class=\"app-title\">Avocado<\/a><\/p>\n<div class=\"one-liner\">AI-native content operations for any Next.js website<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">85<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Avocado \u4e3a\u73b0\u6709 Next.js \u7f51\u7ad9\u6dfb\u52a0\u4e86\u4e00\u4e2a AI \u539f\u751f\u5185\u5bb9\u64cd\u4f5c\u5c42\uff0c\u8ba9\u56e2\u961f\u65e0\u9700\u66ff\u6362 CMS \u6216\u8bbe\u8ba1\u7cfb\u7edf\uff0c\u5373\u53ef\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u7f16\u8f91\u3001\u7ba1\u7406\u548c\u9884\u89c8\u7f51\u7ad9\u5185\u5bb9\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\/351a12c8-54d5-4d54-b529-7a1af8c8d181.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\/3bde2af6-36e0-44cf-aef0-35c8fc9a66f6.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\/fe06ec41-3fbe-4966-8440-312da88a93f9.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\/56201a87-069e-4f33-91b0-9f8889608ac1.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=QPQOZIJlC98\"><source src=\"https:\/\/www.youtube.com\/watch?v=QPQOZIJlC98\" 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\">Website Builder<\/span><br \/>\n            <span class=\"tag\">Marketing automation<\/span><br \/>\n            <span class=\"tag\">Vercel Day<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Next.js<\/span><br \/>\n            <span class=\"tag\">AI\u5185\u5bb9\u8fd0\u8425<\/span><br \/>\n            <span class=\"tag\">\u65e0\u5934CMS<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">AI\u6a21\u578b\u81ea\u5e26<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u7cfb\u7edf\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u64cd\u4f5c\u5e73\u53f0<\/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\u8ba4\u53ef\u5176\u4e0d\u66ff\u6362\u73b0\u6709\u4f53\u7cfb\u7684\u601d\u8def\uff08\u201c\u66f4\u7406\u667a\u201d\uff09\uff0c\u5e76\u5173\u6ce8\u4e0e\u73b0\u6709\u5ba1\u6279\u6d41\u7a0b\u7684\u8854\u63a5\uff08\u662f\u5426\u76f4\u63a5\u5199CMS\u8fd8\u662f\u5f00PR\uff09\u3002\u4e5f\u6709\u7528\u6237\u8be2\u95ee\u5982\u4f55\u540c\u65f6\u5bf9\u63a5\u591a\u4e2aCMS\uff08\u5982Contentful\u548cSanity\uff09\u65f6\u5982\u4f55\u5904\u7406\u6a21\u578b\u5dee\u5f02\u3002\u671f\u5f85\u5f00\u6e90\u540e\u63d0\u4f9b\u5165\u95e8\u6307\u5357\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                Avocado \u5207\u5165\u4e86\u4e00\u4e2a\u5f88\u5fae\u5999\u4f46\u5207\u5b9e\u5b58\u5728\u7684\u75db\u70b9\uff1a\u5982\u4eca\u5927\u91cf Next.js \u7f51\u7ad9\u7531\u540c\u4e00\u56e2\u961f\u7ef4\u62a4\u8425\u9500\u9875\u9762\u548c\u4ea7\u54c1\u6587\u6848\uff0c\u4f46 AI \u5185\u5bb9\u5de5\u5177\u5f80\u5f80\u8981\u4e48\u662f\u6346\u7ed1\u5728\u6602\u8d35\u7684 DXP \u91cc\uff0c\u8981\u4e48\u662f\u201c\u5373\u63d2\u5373\u7528\u201d\u7684\u95ed\u6e90\u9ed1\u7bb1\uff0c\u53cd\u800c\u5bfc\u81f4\u56e2\u961f\u5fc5\u987b\u56f4\u7ed5\u5b83\u91cd\u5efa\u5de5\u4f5c\u6d41\u3002Avocado \u7684\u201c\u4e0d\u66ff\u6362\uff0c\u53ea\u53e0\u52a0\u201d\u7b56\u7565\u770b\u7740\u50cf\u9000\u6b65\uff0c\u5b9e\u5219\u662f\u66f4\u52a1\u5b9e\u7684\u8fdb\u6b65\u2014\u2014\u5b83\u627f\u8ba4\u4e86\u4f60\u5df2\u6709\u7684 CMS\u3001\u8bbe\u8ba1\u7cfb\u7edf\u548c\u5f00\u53d1\u6d41\u7a0b\u662f\u5408\u7406\u7684\uff0c\u53ea\u662f\u7f3a\u5c11\u4e00\u4e2a\u8ba9 AI \u7406\u89e3\u8fd9\u4e9b\u7ec4\u4ef6\u548c\u5185\u5bb9\u6a21\u578b\u7684\u4e2d\u95f4\u5c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6280\u672f\u89d2\u5ea6\u770b\uff0c\u5b83\u7528\u201c\u89c4\u8303\u5316\u5757\u6a21\u5f0f\u201d\u52a0\u201c\u8584\u9002\u914d\u5668\u201d\u7684\u65b9\u5f0f\u5904\u7406\u591a CMS \u5f02\u6784\u6a21\u578b\uff0c\u8fd9\u662f\u4e00\u4e2a\u7ecf\u5178\u4f46\u6709\u6548\u7684\u67b6\u6784\u53d6\u820d\uff1a\u6ca1\u6709\u8bd5\u56fe\u505a\u611a\u8822\u7684\u5168\u5c40\u7edf\u4e00\uff0c\u800c\u662f\u627f\u8ba4\u4e0d\u540c\u6e90\u5934\u7684\u7279\u6b8a\u6027\uff0c\u53ea\u5728 AI \u64cd\u4f5c\u5c42\u505a\u201c\u7ffb\u8bd1\u201d\u3002\u8fd9\u79cd\u601d\u8def\u5bf9\u4e8e\u91c7\u7528 Composable Architecture \u7684\u56e2\u961f\u5c24\u5176\u53cb\u597d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u6216\u8bb8\u4e0d\u5728\u6280\u672f\uff0c\u800c\u5728\u5546\u4e1a\u6a21\u5f0f\uff1aBYO \u6a21\u578b\u548c\u81ea\u6258\u7ba1\uff0c\u610f\u5473\u7740\u4f01\u4e1a\u53ef\u4ee5\u907f\u514d\u5382\u5546\u9501\u5b9a\u548c\u6570\u636e\u5916\u6cc4\uff0c\u540c\u65f6\u53c8\u80fd\u5229\u7528\u6700\u524d\u6cbf\u7684\u5927\u6a21\u578b\u80fd\u529b\u3002\u8fd9\u5bf9\u90a3\u4e9b\u6709\u4fe1\u606f\u5b89\u5168\u8981\u6c42\u4f46\u53c8\u60f3\u5c1d\u9c9c AI \u7684\u56e2\u961f\u6765\u8bf4\u662f\u660e\u663e\u7684\u52a0\u5206\u9879\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0cAvocado \u9762\u4e34\u7684\u6700\u5927\u6311\u6218\u4e0d\u662f\u529f\u80fd\uff0c\u800c\u662f\u201c\u8bf4\u670d\u529b\u201d\u3002\u5bf9\u4e8e\u4e00\u4e2a\u5c1a\u672a\u5f00\u6e90\u7684\u3001\u7531\u4e2a\u4eba\u5f00\u53d1\u8005\u53d1\u8d77\u7684\u9879\u76ee\uff0c\u8981\u8ba9\u5927\u578b\u56e2\u961f\u5728\u73b0\u6709\u751f\u4ea7\u73af\u5883\u4e2d\u5f15\u5165\u53e6\u4e00\u5c42 AI \u7f16\u6392\u5c42\uff0c\u6280\u672f\u4fe1\u4efb\u548c\u6587\u6863\u5b8c\u5907\u5ea6\u662f\u6700\u5927\u7684\u969c\u788d\u3002\u8bc4\u8bba\u4e2d\u5df2\u7ecf\u6709\u4eba\u5173\u6ce8\u201c\u5982\u4f55\u4e0e\u73b0\u6709\u5ba1\u6279\u6d41\u7a0b\u5bf9\u63a5\u201d\uff0c\u8fd9\u662f\u5173\u952e\u2014\u2014\u5982\u679c\u4e0d\u80fd\u4f18\u96c5\u5730\u878d\u5165 Git \u548c CI\/CD \u7684\u534f\u4f5c\u95ed\u73af\uff08\u6bd4\u5982\u76f4\u63a5\u751f\u6210 PR\uff09\uff0cAvocado \u5f88\u53ef\u80fd\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u201c\u770b\u8d77\u6765\u5f88\u9177\u4f46\u6ca1\u6cd5\u7528\u201d\u7684\u524d\u7aef\u73a9\u5177\u3002\u6210\u529f\u7684\u5173\u952e\uff0c\u662f\u6210\u4e3a\u90a3\u4e2a\u8ba9 AI\u201c\u5b66\u4f1a\u56e2\u961f\u8bed\u8a00\u201d\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u800c\u4e0d\u662f\u53c8\u4e00\u4e2a\u9700\u8981\u56e2\u961f\u82b1\u65f6\u95f4\u7ed9\u5b83\u505a\u9002\u914d\u7684\u201c\u65b0\u7cfb\u7edf\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\">Avocado<\/span>\n                <\/div>\n<div class=\"comment-content\">Bring AI-native editing, content operations, and agentic workflows to your existing Next.js stack \u2014 without replacing your CMS, DAM, or design system. Self-hostable. BYO AI models. Live demo: https:\/\/avocado-editor.vercel.app\/<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt \ud83d\udc4b<\/p>\n<\/p>\n<p><a href=\"https:\/\/avocadostudio.dev\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Avocado<\/a> is an AI content operations platform and framework for Next.js websites.<\/p>\n<\/p>\n<p>\ud83d\ude80 Live Demo: <a href=\"https:\/\/avocado-editor.vercel.app\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/avocado-editor.vercel.app\/<\/a><\/p>\n<p>\ud83e\udde9 Component catalogue used on the demo site: <a href=\"https:\/\/avocado-site.vercel.app\/catalogue\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/avocado-site.vercel.app\/catalogue<\/a><\/p>\n<\/p>\n<p>Most AI-native content tools are bundled inside expensive DXPs, proprietary CMSs, or website builders.<\/p>\n<p>Avocado takes a different approach. Instead of replacing your stack, it adds an AI content layer on top of your existing website.<\/p>\n<\/p>\n<p>With Avocado you can:<\/p>\n<p>\u2705 Edit website content using natural language<br \/>\u2705 Manage pages, metadata, and structured content<br \/>\u2705 Work with real design-system components and content models<br \/>\u2705 Preview AI-generated changes instantly<br \/>\u2705 AI-powered content creation and updates<br \/>\u2705 Connect Contentful, Sanity, Strapi, or custom CMSs<br \/>\u2705 Bring your own OpenAI, Anthropic, or Gemini models<br \/>\u2705 Self-host and keep full control of your data<\/p>\n<\/p>\n<p>Think of it as an <strong>AI orchestration layer for content operations<\/strong>\u2014not another CMS or website builder. Avocado works with <strong>structured content and real website components<\/strong>, enabling AI to understand and modify pages the same way your content and development teams do.<\/p>\n<\/p>\n<p>I built Avocado because I believe AI-native content management should be available to every team, not just enterprises with six-figure DXP budgets.<\/p>\n<\/p>\n<p>I&#8217;d love feedback from:<\/p>\n<p>\u2022 Next.js developers<br \/>\u2022 Content teams<br \/>\u2022 Agencies<br \/>\u2022 Headless CMS users<br \/>\u2022 Composable architecture enthusiasts<\/p>\n<\/p>\n<p>What content workflows would you automate with AI?<\/p>\n<\/p>\n<p>Thanks for checking out Avocado Studio \ud83e\udd51 !<\/p>\n<\/p>\n<p><strong><em>Note:<\/em><\/strong><em> The GitHub repository isn&#8217;t public yet. I&#8217;m using this launch to validate the product direction and gather feedback before open-sourcing Avocado Studio under the Apache 2.0 license. If you&#8217;d like early access or want to contribute, let me know in the comments.<\/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\/@yury_horbach\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yury_horbach<\/a>&nbsp;such a smart way to add ai without changing our whole system. since the repo isn&#8217;t public yet, will u share a simple guide onhow to set it up for beginners when you opensource 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>content ops for Next.js sites is a sweet spot because the same team is usually shipping marketing pages and product copy from the same repo. curious how Avocado handles the boundary between AI generated drafts and the existing review workflow. does it open a PR like a teammate would, or does it write straight to a CMS layer that the team then approves?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Adding an AI content layer on top of an existing Next stack feels way more sane than replacing the whole CMS. BYO models is a nice trust 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>&nbsp;Appreciate it. That&#8217;s the whole thesis &#8211; your CMS, design system, and frontend already work, so Avocado adds an AI orchestration layer on&nbsp;top instead of replacing them. BYO models keeps you in control of keys, prompts, and data 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats! Curious how does Avocado handle content model differences when connecting to multiple CMSs like Contentful and Sanity at the same 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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Thank you ! \ud83d\ude4f We don&#8217;t reconcile the CMSs against each other \u2014 everything normalizes into one canonical content model (a typed block schema). Each CMS gets a very thin adapter that maps its content types \u2192 our blocks on read, and back on publish. So the AI editor only ever touches the canonical shape; adding a CMS is one more adapter into the same model, not an N\u00d7N mapping&nbsp;problem. We&#8217;ve got Contentful, Sanity, and Strapi adapters running this way today. The approach is really agnostic of any specific headless CMS, you can even use a plain JSON object store if you wanted to. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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-06-16 PH\u70ed\u699c | 2026-06-16 #1 Goldf [&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-254","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/254","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=254"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/254\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}