{"id":207,"date":"2026-04-30T12:08:03","date_gmt":"2026-04-30T04:08:03","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/04\/30\/2026-04-29\/"},"modified":"2026-04-30T12:08:03","modified_gmt":"2026-04-30T04:08:03","slug":"2026-04-29","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/04\/30\/2026-04-29\/","title":{"rendered":"PH\u70ed\u699c | 2026-04-29"},"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-04-29<\/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-04-29<\/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\/2SG5VACZQUBMO7\" class=\"app-title\">Plurai<\/a><\/p>\n<div class=\"one-liner\">Vibe-train evals and guardrails tailored to your use case<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">587<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Plurai \u662f\u4e00\u6b3e\u8ba9\u5f00\u53d1\u8005\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u201c\u80fd\u505a\u4ec0\u4e48\/\u4e0d\u80fd\u505a\u4ec0\u4e48\u201d\uff0c\u65e0\u9700\u6807\u6ce8\u6570\u636e\u6216\u63d0\u793a\u5de5\u7a0b\uff0c\u5728\u6570\u5206\u949f\u5185\u81ea\u52a8\u751f\u6210AI\u667a\u80fd\u4f53\u4e13\u5c5e\u8bc4\u4f30\u4e0e\u62a4\u680f\u6a21\u578b\u7684\u5de5\u5177\uff0c\u89e3\u51b3\u4f20\u7edf\u201cLLM\u4f5c\u4e3a\u88c1\u5224\u201d\u6210\u672c\u9ad8\u3001\u5ef6\u8fdf\u5927\u3001\u53ea\u80fd\u91c7\u6837\u8bc4\u4f30\u800c\u9057\u6f0f\u5173\u952e\u6545\u969c\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\/9e34553a-efc6-42a4-bf4a-d9d7e327d2fb.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\/0d996f39-2e2d-46c7-b3a7-53800e7f675b.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\/b738f0ef-6d67-4433-8a79-68a718f601f1.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\/60530eb0-03dc-41db-b6f0-d79fb6f67b81.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\/7972797a-58b5-4806-8e7b-defef93111b7.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\/fd43b9f8-0582-4a93-a64e-1c1677041b14.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\/1c027ace-8a70-4dc9-a39d-f503429eb8b7.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\/924e7f99-a4b9-4543-bb31-ce932e3154bd.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/AvDc5gnql3I\"><source src=\"https:\/\/youtu.be\/AvDc5gnql3I\" 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\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u667a\u80fd\u4f53\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u62a4\u680f\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u8bed\u8a00\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u81ea\u52a8\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u8fa9\u8bba<\/span><br \/>\n            <span class=\"tag\">\u65e0\u76d1\u7763\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u6210\u672c\u63a8\u7406<\/span><br \/>\n            <span class=\"tag\">\u610f\u56fe\u6821\u51c6<\/span><br \/>\n            <span class=\"tag\">\u53ef\u9760\u6027\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\u201c\u5168\u91cf\u8bc4\u4f30\u800c\u975e\u91c7\u6837\u201d\u7684\u67b6\u6784\u4ef7\u503c\uff0c\u6838\u5fc3\u8ffd\u95ee\u96c6\u4e2d\u4e8e\uff1a\u51b7\u542f\u52a8\u65f6\u5bf9\u9690\u6027\u8fdd\u89c4\u7684\u6cdb\u5316\u80fd\u529b\u3001\u5c0f\u6a21\u578b\u4e0eLLM\u5224\u51b3\u51b2\u7a81\u65f6\u7684\u4fe1\u4efb\u673a\u5236\u3001\u591a\u8f6e\u4ea4\u4e92\u6a21\u62df\u7684\u53ef\u9760\u6027\u3002\u6709\u7528\u6237\u8d28\u7591\u6280\u672f\u80cc\u4e66\uff0c\u5b98\u65b9\u56de\u5e94\u79f0\u5df2\u53d1\u5e03\u8bba\u6587\u5e76\u5f00\u6e90\u57fa\u51c6\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                Plurai \u5207\u4e2d\u7684\u75db\u70b9\u6781\u5176\u7cbe\u51c6\u2014\u2014AI\u667a\u80fd\u4f53\u8bc4\u4f30\u5728\u5de5\u7a0b\u5b9e\u8df5\u4e2d\u957f\u671f\u5904\u4e8e\u201c\u5634\u4e0a\u8bf4\u8981\u4f46\u6c38\u8fdc\u4e0d\u505a\u201d\u7684\u5c34\u5c2c\u5883\u5730\uff0c\u6839\u56e0\u662fLLM-as-Judge\u7684\u6210\u672c\u548c\u5ef6\u8fdf\u8feb\u4f7f\u56e2\u961f\u4ec5\u91c7\u6837\u8bc4\u4f30\uff0c\u5bfc\u81f4\u751f\u4ea7\u6545\u969c\u6070\u6070\u51fa\u73b0\u5728\u91c7\u6837\u95f4\u9699\u3002Plurai \u7528\u201c\u4efb\u52a1\u63cf\u8ff0\u2192\u8fa9\u8bba\u751f\u6210\u6570\u636e\u2192\u5c0f\u6a21\u578b\u90e8\u7f72\u201d\u7684\u95ed\u73af\uff0c\u8bd5\u56fe\u5c06\u8bc4\u4f30\u4ece\u201c\u5076\u5c14\u62bd\u68c0\u201d\u53d8\u4e3a\u201c\u5b9e\u65f6\u5168\u68c0\u201d\uff0c\u5546\u4e1a\u903b\u8f91\u6210\u7acb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6280\u672f\u6838\u5fc3BARRED\uff08\u591a\u667a\u80fd\u4f53\u8fa9\u8bba\u751f\u6210\u8bad\u7ec3\u6570\u636e\uff09\u5e76\u975e\u51ed\u7a7a\u521b\u9020\uff0c\u800c\u662f\u5c06AutoPrompt\u7684\u610f\u56fe\u6821\u51c6\u4e0e\u5bf9\u6297\u9a8c\u8bc1\u7ed3\u5408\uff0c\u89e3\u51b3\u4e86\u5408\u6210\u6570\u636e\u6700\u68d8\u624b\u7684\u201c\u591a\u6837\u6027\u201d\u548c\u201c\u771f\u5b9e\u6027\u201d\u95ee\u9898\u3002\u5ba3\u79f0\u201c43%\u66f4\u5c11\u6545\u969c\u30018\u500d\u6210\u672c\u964d\u4f4e\u201d\u6709\u7814\u7a76\u57fa\u51c6\u652f\u6491\uff0c\u907f\u514d\u4e86\u5e38\u89c1\u7684\u8425\u9500\u6ce8\u6c34\u3002\u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u98ce\u9669\u4e0d\u5728\u6280\u672f\uff0c\u800c\u5728\u8fc1\u79fb\u6cdb\u5316\uff1a\u7528\u6237\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u7684\u201c\u884c\u4e3a\u89c4\u8303\u201d\u5f80\u5f80\u662f\u6a21\u7cca\u3001\u77db\u76fe\u4e14\u5b58\u5728\u9690\u542b\u4f8b\u5916\u7684\uff0c\u5982\u679c\u7cfb\u7edf\u5c06\u201c\u4e0d\u8981\u8ba2\u8d2d\u9ad8\u4ef7\u8bfe\u7a0b\u201d\u8fd9\u7c7b\u53cd\u8bbd\u5f0f\u6307\u4ee4\u8bef\u89e3\u4e3a\u5177\u4f53\u89c4\u5219\uff0c\u90a3\u4e48\u51b7\u542f\u52a8\u9636\u6bb5\u76841-2\u8f6e\u8fed\u4ee3\u53ef\u80fd\u4f1a\u5c06\u65f6\u95f4\u6210\u672c\u8f6c\u79fb\u7ed9\u7528\u6237\u8c03\u8bd5\u3002\u6b64\u5916\uff0c\u5c0f\u6a21\u578b\u5728\u9ad8\u5ea6\u590d\u6742\u3001\u9700\u8981\u5e38\u8bc6\u63a8\u7406\u7684\u8fb9\u754c\u6848\u4f8b\u4e0a\uff0c\u80fd\u5426\u6301\u7eed\u4fdd\u6301\u4e0eGPT-5\u7ea7\u88c1\u5224\u4e00\u81f4\u7684\u654f\u611f\u5ea6\uff0c\u4ecd\u662f\u60ac\u800c\u672a\u51b3\u7684\u4fe1\u4efb\u9e3f\u6c9f\u3002Plurai \u806a\u660e\u5730\u5c06\u201c\u4e89\u8bae\u6848\u4f8b\u201d\u5b9a\u4f4d\u4e3a\u53cd\u9988\u4fe1\u53f7\u800c\u975e\u5931\u8d25\uff0c\u8fd9\u79cd\u6301\u7eed\u5b66\u4e60\u7684\u8bbe\u8ba1\u662f\u7c7bMLOps\u7684\u601d\u8def\uff0c\u4f46\u80fd\u5426\u5f62\u6210\u98de\u8f6e\u6548\u5e94\u53d6\u51b3\u4e8e\u7528\u6237\u662f\u5426\u613f\u610f\u6295\u5165\u6807\u6ce8\u53cd\u9988\u2014\u2014\u8fd9\u6070\u6070\u662fPlurai\u58f0\u79f0\u8981\u6d88\u9664\u7684\u8d1f\u62c5\u3002\u603b\u4f53\u6765\u8bf4\uff0c\u5b83\u5bf9AI\u53ef\u9760\u6027\u5de5\u7a0b\u4f18\u5316\u662f\u5b9e\u8d28\u6027\u8d21\u732e\uff0c\u4f46\u201c\u65e0\u9700\u6570\u636e\u201d\u7684\u53d9\u4e8b\u6709\u8425\u9500\u5acc\u7591\uff0c\u672c\u8d28\u4e0a\u53ea\u662f\u5c06\u6570\u636e\u751f\u6210\u4ece\u4eba\u5de5\u6210\u672c\u8f6c\u79fb\u4e3a\u8ba1\u7b97\u6210\u672c\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\">Plurai<\/span>\n                <\/div>\n<div class=\"comment-content\">Vibe training for AI agent reliability. Describe what your agent should and should not do \u2014 Plurai generates training data, validates it, and deploys a custom model in minutes. It feels like vibe coding, but for evaluation and guardrails. No labeled data. No annotation pipeline. No prompt engineering. Under the hood, small language models deliver sub 100ms latency, 8x lower cost than GPT as judge, and over 43% fewer failures. Always on, not sampled. Built on published research (BARRED).<\/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, Ilan from Plurai here.<\/p>\n<p>We spent the last year on a research problem: can you train a production-grade eval or guardrail from just a task description, no labeled data, no annotation pipeline?<\/p>\n<p>Turns out you can. We call it <strong>vibe-training<\/strong>.<\/p>\n<p>Most teams today rely on LLM as a judge. It never fully converges, breaks on edge cases, and at 100ms per call it collapses economically at scale. So teams sample instead of evaluating everything. Failures happen between the samples, invisibly.<\/p>\n<p>Plurai lets you describe what your agent should and should not do. The platform generates training data, validates it through a multi-agent debate process, and deploys a custom small language model in minutes.<\/p>\n<p>Results against GPT-5 LLM-as-judge: over<strong> 43%<\/strong> fewer failures, <strong>8x<\/strong> lower cost, sub <strong>100ms<\/strong>. <br \/>Good enough to run on every interaction, not just a sample.<\/p>\n<p>The research behind it is public.<\/p>\n<p>Try it free at <a href=\"https:\/\/app.plurai.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/app.plurai.ai<\/a>, I&#8217;d love to hear what eval problem 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>34<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ilankad23\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilankad23<\/a>&nbsp;neat product &#8211; keep up the great work<\/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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ilankad23\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilankad23<\/a>&nbsp;An exciting day!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>12<\/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\/@ilankad23\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilankad23<\/a>&nbsp;This is such a great step forward &#8211; really inspiring to see this come together. Looking forward to seeing the impact it creates!<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This team just coined the concept of vibe-training: real-time, tailored evals for your AI agents, with high accuracy, at a fraction of the cost.<\/p>\n<\/p>\n<p>Brilliant.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp;&lt;3<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp;exactly what we did! what a crazy era we live in where it&#8217;s so hard to coin new concepts!<\/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><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp;Thanks We\u2019re really excited and hope this product will help accelerate GenAI 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8216;LLM as judge breaks at 100ms per call&#8217; pain is exactly where most eval pipelines silently rot. you end up with a sampling regime nobody actually trusts. the part i&#8217;m curious about is calibration in the wild: when the small model and the original llm-judge disagree on a real production trace, who do you trust, and how do you surface that disagreement to the team? that&#8217;s usually where these systems either become real or quietly shelfware.<\/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\/@sebastian_sosa1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebastian_sosa1<\/a>&nbsp; Our product is actually not &#8216;Vanilla&#8217; BARRED, it&#8217;s a combination between BARRED and our earlier AutoPrompt work (<a href=\"https:\/\/github.com\/Eladlev\/AutoPrompt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/Eladlev\/AutoPrompt<\/a>) on intent-based prompt calibration.<\/p>\n<p>The key insight: most of the time when the LLM judge are biassed, the real issue isn&#8217;t which one to trust, it&#8217;s that the judge itself was never calibrated to the user&#8217;s actual intent. Generic judge prompts encode the prompt author&#8217;s interpretation of the policy, not the user&#8217;s.<\/p>\n<p>AutoPrompt closes that gap. It surfaces boundary cases and asks the user to label only those edge cases (a handful of annotations, not thousands). That feedback calibrates the judge prompts to the user&#8217;s true intent. We then use those calibrated judges inside BARRED&#8217;s debate loop, so the synthetic training data faithfully reflects what the user actually wants the guardrail to enforce.<\/p>\n<p>So disagreement isn&#8217;t resolved by picking a winner. It&#8217;s prevented upstream by aligning the judges to user intent before the data generation runs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@sebastian_sosa1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebastian_sosa1<\/a>&nbsp;We&#8217;re here if you have any more questions! Let us know what you think once you try it out!<\/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\/@sebastian_sosa1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebastian_sosa1<\/a>&nbsp;Great question \u2014 this is exactly where systems either become real infra or shelfware.<\/p>\n<p>Our approach (from the paper) is: don\u2019t resolve disagreement in production, resolve it in training. Here is the link to our paper for more details about our approach (<a href=\"https:\/\/huggingface.co\/papers\/2604.25203\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/huggingface.co\/papers\/2604.25203<\/a>)<\/p>\n<ul>\n<li>\n<p>We establish ground truth via multi-agent debate (judges + advocate). Only samples that reach consensus make it into training; the rest are refined or discarded<\/p>\n<\/li>\n<li>\n<p>This gives us a high-fidelity dataset, so the SLM is trained on much cleaner signals than raw LLM judgments<\/p>\n<\/li>\n<li>\n<p>In production, disagreements (SLM vs LLM\/spec) are treated as high-value edge cases, fed back into the same loop (debate \u2192 refine \u2192 retrain)<\/p>\n<\/li>\n<\/ul>\n<p>So instead of asking \u201cwho do you trust?\u201d the system continuously earns trust by learning from disagreement<\/p>\n<p>That shift is what makes it actually work.<\/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\">Sounds interesting. Wanna try it \ud83d\ude80<\/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\/@dmitry_zakharov_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmitry_zakharov_ai<\/a>&nbsp;Let me know if you have any questions!<\/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><a href=\"https:\/\/www.producthunt.com\/@dmitry_zakharov_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmitry_zakharov_ai<\/a>&nbsp;go ahead! 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>6<\/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\/@dmitry_zakharov_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmitry_zakharov_ai<\/a>  hoping you find it helpful<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>So does it prevent AI agents from purchasing overpriced courses, right? \ud83d\ude00<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;\ud83d\ude05 it can!<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Yes and more:) <\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;did you get a chance to try it out yourself?<\/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>sampling-only eval has a real blind spot: anything that doesn&#8217;t repeat doesn&#8217;t get caught. ran into the same building eval flows for an AI form filler we work on \u2014 by the time a flaky failure shows up twice, you&#8217;ve already shipped it.<\/p>\n<p>the part i can&#8217;t quite picture is how the multi-agent debate establishes ground truth without existing failure modes \u2014 adversarial generation against the task spec is one read, test-time disagreement is the other. one of those would explain how the BARRED setup actually converges.&nbsp;<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@webappski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@webappski<\/a>&nbsp;both reads are right but for different parts of the pipeline. Synthetic data has two failure modes: diversity (covering edge cases) and faithfulness (correct labels).<\/p>\n<p>Convergence on faithfulness is the test-time disagreement read: judges deliberate independently across rounds, and a sample is accepted only on judge consensus. The asymmetric design (rigid Advocate vs deliberating Judges) is where the adversarial pressure comes from, not symmetric debate.<\/p>\n<p>Diversity is handled separately by dimension decomposition with verbalized sampling, plus boundary-case sampling that targets the decision boundary. That&#8217;s where the adversarial-against-spec read mostly lives.<\/p>\n<p>So the convergence isn&#8217;t one loop. Diversity is upstream coverage, faithfulness is downstream consensus, and the debate&#8217;s adversarial geometry is what makes the consensus signal informative rather than collusive.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@webappski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@webappski<\/a>&nbsp;Great point, that \u201cdoesn\u2019t repeat \u2192 doesn\u2019t get caught\u201d blind spot is exactly what bites in production. On the ground truth side: it\u2019s a mix of both. We start with adversarial generation against the task spec to surface candidate failures, then use multi-agent debate to stress and validate them until there\u2019s strong agreement \u2014 that loop is what makes it converge without needing pre-labeled failure modes.<\/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\/@webappski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@webappski<\/a>&nbsp;We&#8217;re here if you have any more questions! Let us know what you think once you try it out!<\/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>The &#8220;always on, not sampled&#8221; part is what makes this interesting. When I was running engineering at scale, sampling-based quality checks gave us a false sense of security &#8211; the failures always happened in the gaps between samples. The LLM-as-judge approach has the same problem but worse: it&#8217;s expensive enough that teams only run it on a fraction of requests, and the edge cases it misses are exactly the ones that blow up in production. Sub 100ms with small models changes the economics enough to actually evaluate everything. Curious about the cold start experience &#8211; when someone describes a new guardrail in plain language, how much iteration does it typically take before the generated eval catches the subtle violations versus just the obvious ones?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@avrisimon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avrisimon<\/a>&nbsp;<br \/>Avri, the sampling point is exactly right &#8211; the failures that matter live in the tail.<\/p>\n<\/p>\n<p>on cold start: typically 1\u20132 iterations. When someone describes a guardrail in plain language, we decompose it into behavioral dimensions and generate synthetic boundary cases specifically designed to probe the subtle violations, not just the obvious ones. There&#8217;s an adversarial validation step that challenges generated cases before they go into the training set &#8211; that&#8217;s what calibrates for edge cases from the start rather than after manual iteration.<\/p>\n<\/p>\n<p>One round of enrichment usually gets you there. The system tends to surface sub-categories the user hadn&#8217;t articulated &#8211; they just confirm or redirect.<\/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\/@avrisimon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avrisimon<\/a>&nbsp;Great question on the cold start, Avri. We invest heavily in making the system work well in zero\/few-shot settings &#8211; that&#8217;s actually the core novelty of our approach. You can define a guardrail in plain language and get great results even without needing labeled examples upfront.<\/p>\n<p>That said, as with any ML system, more examples = better calibration on subtle violations. <\/p>\n<p>Our research paper covers a diverse set of tasks where zero-shot performance is already SOTA<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@avrisimon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avrisimon<\/a>&nbsp;We&#8217;re here if you have any more questions! Let us know what you think once you try it out!<\/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\">\n<p>We talked to hundreds of AI teams before building this. <\/p>\n<\/p>\n<p>The same thing kept coming up: evals are on the roadmap, always. They just never get done. Too slow, too expensive, someone needs to label data, someone needs to set up a pipeline, and suddenly it&#8217;s a Q3 project that rolls into Q4.<\/p>\n<\/p>\n<p>That&#8217;s the problem we actually solves. <\/p>\n<p>Describe what your agent should and shouldn&#8217;t do, and you have a custom model running in minutes. Not a prototype. In prod.<\/p>\n<p>Launching today and genuinely excited about it. <\/p>\n<\/p>\n<p>Go try it free: <a href=\"http:\/\/app.plurai.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">app.plurai.ai<\/a>. Come back and tell me what eval problem 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>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_sela2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_sela2<\/a>&nbsp;\ud83d\ude80\u200b<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_sela2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_sela2<\/a>&nbsp;can you believe it&#8217;s finally out??<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_sela2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_sela2<\/a>,&nbsp;not only what is the problem, but also by how much do we outperform GPT-5 on this task?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Guys, congratulations on the launch! Good luck!<\/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\/@arthur_romanov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arthur_romanov<\/a>&nbsp;thank you very much! looking forward to hearing how you like it<\/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\/@arthur_romanov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arthur_romanov<\/a>Thanks, we just getting started! exciting to see how team are using it to make thier agents reliable<\/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\/@arthur_romanov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arthur_romanov<\/a>&nbsp;Let me know if you have any questions! 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>You&#8217;ve mentioned 43% fewer failures, was that averaged on any type of task or does the industry have specific benchmarks for that?<\/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\/@michael_vavilov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_vavilov<\/a>&nbsp;Actually, part of our contribution is that we released such a benchmark!<br \/><a href=\"https:\/\/huggingface.co\/datasets\/Plurai\/BARRED\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/huggingface.co\/datasets\/Plurai\/BARRED<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michael_vavilov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_vavilov<\/a>&nbsp;Great question!<\/p>\n<p>The 43% fewer failures comes from our research benchmarks across multiple tasks (conversational policies, agent workflows, compliance), not a single narrow use case. In the paper, we evaluate across different domains and datasets, and consistently see that task-specific models trained with our method outperform LLM-as-a-judge baselines and generic guardrails<\/p>\n<p>If you want the full breakdown (datasets, tasks, and comparisons), we shared it here:<br \/><a href=\"https:\/\/huggingface.co\/papers\/2604.25203\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/huggingface.co\/papers\/2604.25203<\/a><\/p>\n<p>Curious what kind of failures you\u2019re measuring today?<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michael_vavilov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_vavilov<\/a>&nbsp;We&#8217;re here if you have any more questions! Let us know what you think once you try it out!<\/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>Been building this for a while. If you&#8217;re running evals or guardrails on AI agents, try it out 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>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\/@ben_wisbih\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_wisbih<\/a>&nbsp;blood sweat and tears \ud83d\ude00<\/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\/@ben_wisbih\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_wisbih<\/a>&nbsp;\u2764\ufe0f\u200d\ud83d\udd25\u200b<\/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\/@ben_wisbih\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_wisbih<\/a>thank you! so grateful to have you with us<\/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 excited for everyone to try it!!<\/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\/@tammy_wolfson2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tammy_wolfson2<\/a>&nbsp;totally!!!!<\/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>Shout-out for the awesome work on this launch! \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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>If this actually reduces hallucinations or cost + policy violations at scale, thats huge!<\/p>\n<p>That&#8217;s where most of the pain is for me<\/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\/@redzumi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@redzumi<\/a>&nbsp;Totally hear you, that\u2019s exactly the pain we built this for.<\/p>\n<p>What we\u2019re seeing in practice is that once you move from generic LLM-as-a-judge to a task-specific SLM trained on synthetic + debate-validated data, you get:<\/p>\n<ul>\n<li>\n<p>Fewer hallucinations \/ policy misses (because the model actually learns your failure modes, not generic ones)<\/p>\n<\/li>\n<li>\n<p>Much lower cost + latency (small model, real-time)<\/p>\n<\/li>\n<li>\n<p>And the ability to enforce on every interaction, not just sampled evals<\/p>\n<\/li>\n<\/ul>\n<p>It\u2019s not magic, the key is the data. The paper shows that without proper validation, label noise kills performance, but with debate-based verification you get much cleaner signals and significantly better accuracy If you\u2019re feeling this pain in production, you\u2019re exactly the ICP we\u2019re building for. Curious what kind of failures are hurting you most today?<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@redzumi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@redzumi<\/a>&nbsp;That&#8217;s really validating what we&#8217;ve been hearing and the pain we want to prevent! Let me know if we managed to do it for you!<\/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\/@redzumi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@redzumi<\/a>&nbsp;Also, improve quality and consistency <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 multi-turn simulation piece is interesting.<br \/>Single prompt evals are easy, but most real failures happen across a sequence of interactions.<br \/>If this actually captures that well, that\u2019s a meaningful step up from most eval tooling I\u2019ve seen.<\/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\/@igor_martinyuk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@igor_martinyuk<\/a>&nbsp;exactly. that&#8217;s one of the challenges we have been facing and a main differentiator  <\/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>You are right regarding the challenge of generating such data. You can read our previous Intellagent research paper (we also have an open-source) on our unique approach to simulation using graph-based policy decomposition:<br \/><a href=\"https:\/\/github.com\/plurai-ai\/intellagent\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/plurai-ai\/intellagent<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@igor_martinyuk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@igor_martinyuk<\/a>&nbsp;Exactly! most real failures aren\u2019t single turns, they\u2019re stateful across interactions.<\/p>\n<p>That\u2019s why we simulate multi-turn flows and generate edge cases across the sequence, not just isolated prompts including those \u201clooks fine at each step, breaks at the end\u201d scenarios.<\/p>\n<p>Curious go hear what kind of multi-turn failures have you seen most often?<\/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>Do your evaluation algorithms backed by science? Do you have any peer-reviewed papers?<\/p>\n<\/p>\n<p>There is a lot of noise in this space.<\/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\/@sha_maayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sha_maayan<\/a>&nbsp;Of course! Our approach is backed by the research and benchmarks we\u2019ve published \u2014 you can check it out here: <a href=\"https:\/\/huggingface.co\/papers\/2604.25203\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/huggingface.co\/papers\/2604.25203<\/a><\/p>\n<p>Would love to hear your thoughts on both the method and the product.<\/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\/@sha_maayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sha_maayan<\/a>&nbsp;We&#8217;re here if you have any more questions! Let us know what you think once you try it out!<\/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\/@sha_maayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sha_maayan<\/a>&nbsp;Lol, we had a lot of headkcks in answering the rebuttals :). <br \/>BARRED is submitted to the current ICML, and our previous works (Intelligent, AutoPrompt), were published in ICLR DPFM and ICML data workshop  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Oh, this looks really cool, esp the idea of running evals on every interaction (not just samples). Just curious, how it performs on more subjective tasks though))) And congrats on the launch, btw \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@natalie_ermishina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalie_ermishina<\/a>&nbsp;Great question, Natalie! We use an <strong>&#8216;intent calibration&#8217;<\/strong> process that fine-tunes evals and guardrails to match your subjective expectations. We generate a custom training set to demonstrate the classification, then let you iterate via an agentic experience until the results are exactly where you want them<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@natalie_ermishina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalie_ermishina<\/a>&nbsp;Thanks a lot, really appreciate it!<\/p>\n<p>Great question on subjective tasks \u2014 that\u2019s actually where this approach becomes even more interesting. Instead of relying on a generic judge, we define subjectivity explicitly (via the spec \/ examples), and then generate diverse boundary cases around that intent. The key is that labels aren\u2019t coming from a single model they\u2019re validated through multi-agent debate, which helps reduce ambiguity and noise in more nuanced cases<\/p>\n<p>In practice, we\u2019ve seen that once the SLM is trained on this kind of task-specific, high-fidelity data, it handles subjective criteria (tone, style, compliance, etc.) much more consistently than LLM-as-a-judge setups.<\/p>\n<p>We go deeper into this (and share benchmarks) in the paper:<br \/><a href=\"https:\/\/huggingface.co\/papers\/2604.25203\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/huggingface.co\/papers\/2604.25203<\/a><\/p>\n<p>Would love to hear what kind of subjective evals you\u2019re thinking about, that\u2019s exactly where things get interesting \ud83d\ude42<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@natalie_ermishina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalie_ermishina<\/a>&nbsp;We&#8217;re here if you have any more questions! Let us know what you think once you try it out!<\/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>Congrats on the launch, does it work with all LLMs that provide fine-tunning capabilities? <\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@danshipit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danshipit<\/a>&nbsp;Thank you! Looping <a href=\"https:\/\/www.producthunt.com\/@ilan_kadar\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ilan_kadar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilan_kadar<\/a> to answer your question<\/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\/@danshipit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danshipit<\/a>&nbsp;No, part of the big effort that we did was to do a very efficient deployment of the SLM (in order to provide &lt;100ms and such low cost). We are going to release exactly how we are doing the deployment so efficiently in the coming days. But the buttom line is that we are doing the deployment on our own and not using 3rd party provider<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@danshipit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danshipit<\/a>&nbsp;On the LLM optimization path we&#8217;re fully model agnostic. On the SLM path we train the model ourselves on your policies \u2014 so either way, no fine-tuning on your end.<\/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&#8217;s looking real nice. Could an MCP be applicable here?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@matheus_paranhos1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matheus_paranhos1<\/a>&nbsp;Coming very soon \ud83d\udc40\u200b<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@matheus_paranhos1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matheus_paranhos1<\/a>&nbsp;Great question! coming really soon \ud83d\ude42<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@matheus_paranhos1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matheus_paranhos1<\/a>&nbsp;We&#8217;re releasing a Claude Code plugin in the coming days that lets you work directly from the IDE and integrates the evals straight into your code.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello world, I&#8217;m the product behind the product \ud83d\ude42 <\/p>\n<p>VVibe training is here to make model training accessible \u2014 and to help your agents and LLM apps actually work in production.<\/p>\n<\/p>\n<p>Also &#8211; we obsessed over both the tech and the UX -&gt; so we can&#8217;t wait to hear your feedback!<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@reut_v_plurai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reut_v_plurai<\/a>&nbsp;Great to work with you<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@reut_v_plurai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reut_v_plurai<\/a>&nbsp;so glad to work with you on this<\/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\/@reut_v_plurai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reut_v_plurai<\/a>&nbsp;The product behind the product and what a product it is.<br \/>Amazing work, couldn\u2019t have done it without you, so lucky to have you with us \u2764\ufe0f<\/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>Vibe training is such a good framing, finally something that matches how teams actually think about agent behavior. cheers team \ud83d\ude4c <br \/>BTW, what happens when two guardrails conflict with each other at runtime?<\/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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;Usually, in production, there is a simple &#8216;or&#8217; logic between all the different guardrails; if one of them fails, you block the response<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;thank you \ud83d\ude42 we&#8217;re also obsessed with the framing \ud83e\udd29<br \/>each guardrail returns its classification and reasoning &#8211; and your &#8220;state machine&#8221; can figure out how to mitigate between the two having the full 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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;means a lot, we&#8217;re obsessed with that framing too \ud83d\ude4c <a href=\"https:\/\/www.producthunt.com\/@reut_v_plurai\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"reut_v_plurai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@reut_v_plurai<\/a> nailed the answer below \u2014 each guardrail returns its classification + reasoning, so your logic layer has full context to resolve conflicts. Not just verdicts, actual signal.<\/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>Ok, you&#8217;ve got me. My product uses agents (for coding) and quality is the #1 concern, so if I can get evals and scores, I&#8217;m hooked. Heading over to your site. Take my upvote. <\/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\/@robert_douglass\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robert_douglass<\/a>&nbsp;Thanks, we benchmark ourselves on similar use cases, but always happy to get feedback and test it on more interesting and challenging cases<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>lfg, Robert! give it a spin &#8211; go to <a href=\"https:\/\/www.plurai.ai\/launch?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">plurai.ai<\/a> and add your review here: <a href=\"https:\/\/www.producthunt.com\/products\/plurai\/reviews\/new\" target=\"_blank\" rel=\"noopener\">https:\/\/www.producthunt.com\/products\/plurai\/reviews\/new<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@robert_douglass\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robert_douglass<\/a>&nbsp;exactly what we were aiming for! what did you think?<\/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>Very interesting product, would love to try<\/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\/@dimitrioskk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dimitrioskk<\/a>&nbsp;Go ahead!!!! can&#8217;t wait to hear if we managed to serve your expectations! <a href=\"https:\/\/app.plurai.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">app.plurai.ai<\/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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dimitrioskk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dimitrioskk<\/a>&nbsp;thank you! would love to get your feedback on the product<\/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\/@dimitrioskk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dimitrioskk<\/a>&nbsp;Let me know if you have any questions!<\/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>well, as an AI leader educator, I must say that this is something I must take my hat off. <br \/>incredible work<\/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\/@nir_diamant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nir_diamant<\/a>&nbsp;Thanks Nir!!! We appreciate it \u2764\ufe0f\u200b<\/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\/@nir_diamant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nir_diamant<\/a>&nbsp;thank you! it means a lot!<\/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\/@nir_diamant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nir_diamant<\/a>&nbsp;Thanks Nir, hoping this product will accelerate adoption of AI in production<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/@tammy_wolfson2\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"tammy_wolfson2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tammy_wolfson2<\/a>  Many congrats on PH launch. Quick Question, does Plurai auto-detect model drift and retrain, or is that a manual trigger?<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;In this product, it&#8217;s up to the developer to provide the feedback loop (simply by uploading a new CSV with the fresh data), and trigger the training. <\/p>\n<p>In our enterprise offering, we provide a platform that does it 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abod_rehman\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a> great question! yes, this coming soon <\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;awesome question<\/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>Tested it during the weekend and it\u2019s amazing!!!<\/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\/@eduardo_ordax\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eduardo_ordax<\/a>&nbsp;great to hear! <\/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\/@eduardo_ordax\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eduardo_ordax<\/a>&nbsp;Thanks! Glad you enjoy the product<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eduardo_ordax\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eduardo_ordax<\/a>&nbsp;amazing!<\/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\">Congrats on the launch \ud83d\udc96<\/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\/@nastassia_k\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nastassia_k<\/a>&nbsp;<br \/>Thanks! I&#8217;m here if you have any more questions! Let me know what you think once you try it out!<\/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\/@nastassia_k\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nastassia_k<\/a>&nbsp;thank you! waiting for your feedback!<\/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\/@nastassia_k\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nastassia_k<\/a>&nbsp;Thank you! would love get your feedback on the product and thoughts on our approach? we just getting started!<\/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>Just finish setting my first Evals, very immersive, I&#8217;m a fan!<\/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\/@marko_poe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marko_poe<\/a>&nbsp;Amazing! Whats your use case?<\/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\/@marko_poe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marko_poe<\/a>&nbsp;How much has your accuracy improved compared to GPT-5?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>that&#8217;s awesome &#8211; make sure to leave your review here: <a href=\"https:\/\/www.producthunt.com\/products\/plurai\/reviews\/new\" target=\"_blank\" rel=\"noopener\">https:\/\/www.producthunt.com\/products\/plurai\/reviews\/new<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love your solution! Good luck with the launch today!<\/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\/@nikvoice\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikvoice<\/a>&nbsp;thank you so much! would love your feedback!<\/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\/@nikvoice\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikvoice<\/a>&nbsp;We appreciate it! Did you get a chance to try it out?<\/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\/@nikvoice\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikvoice<\/a>&nbsp;thanks! looking forward to hear 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>I was looking for tool like this for ages!<\/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\/@urieli17\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@urieli17<\/a>&nbsp;Let me know what you think once you try it out!<\/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\/@urieli17\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@urieli17<\/a>&nbsp;it&#8217;s finally here \ud83d\ude42<\/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\/@urieli17\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@urieli17<\/a>&nbsp;we&#8217;re here!<\/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 it. The product looks great and super proffesional!<\/p>\n<\/p>\n<p>I&#8217;m just wondering can it help with any type of models or only textual models for now?<\/p>\n<\/p>\n<p>If I&#8217;m working with VLMs, or with LLMs in a pipeline but processing audio, still images or video it could help with any model as long as it&#8217;s dealing with language and semantics ?<\/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\/@jodoron\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jodoron<\/a>&nbsp;Thank you!  <\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@ilan_kadar\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ilan_kadar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilan_kadar<\/a> <a href=\"https:\/\/www.producthunt.com\/@ilankad23\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ilankad23\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilankad23<\/a> will answer your questions <\/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\/@jodoron\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jodoron<\/a>&nbsp;Currently LLMs, working on extension for vision <\/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\/@jodoron\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jodoron<\/a>&nbsp;can you provide a concrete example of a multimodal guardrail you would like to use?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/IUMQA6GC7RBMJ5\" class=\"app-title\">Open Wearables<\/a><\/p>\n<div class=\"one-liner\">Open infrastructure for wearable-powered health products.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">521<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Open Wearables \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u667a\u80fd\u5065\u5eb7\u6570\u636e\u4e2d\u95f4\u5c42\uff0c\u901a\u8fc7\u7edf\u4e00API\u6574\u5408\u6240\u6709\u53ef\u7a7f\u6234\u8bbe\u5907\u6570\u636e\uff0c\u5e76\u63d0\u4f9b\u6807\u51c6\u5316\u8bc4\u5206\u548cAI\u63a8\u7406\u80fd\u529b\uff0c\u8ba9\u5f00\u53d1\u8005\u514d\u53bb\u91cd\u590d\u5bf9\u63a5\u4e0d\u540c\u5382\u5546API\u7684\u201c\u57fa\u5efa\u82e6\u6d3b\u201d\uff0c\u76f4\u63a5\u6784\u5efa\u4e2a\u6027\u5316\u5065\u5eb7\u4ea7\u54c1\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\/14b76f8f-e685-4794-841a-287ea15b556e.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\/ab93cf02-9d64-4041-9bb8-8c06e4b35041.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\/06ff23e2-16de-406d-977b-407707969749.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\/3404c453-c5d1-4690-b74e-61bdf3c59eb3.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\/e0a1f3bd-7369-4829-95c0-c08324a10843.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\/41d09fa7-5606-46f0-895b-6b6a50ca72c8.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/fbfbd7be-b1ac-4ad3-bfc5-6bb46085d268.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=x4WIGxCqsbs\"><source src=\"https:\/\/www.youtube.com\/watch?v=x4WIGxCqsbs\" 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\">Wearables<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u53ef\u7a7f\u6234\u8bbe\u5907<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u6570\u636e\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90API<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6807\u51c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u8bc4\u5206<\/span><br \/>\n            <span class=\"tag\">AI\u63a8\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6211\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">HIPAA\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">MIT\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u89e3\u51b3\u4e86\u8bbe\u5907\u6570\u636e\u788e\u7247\u5316\u75db\u70b9\uff0c\u5c24\u5176\u597d\u8bc4\u201c\u622a\u56fe\u8ffd\u9010\u201d\u573a\u666f\u88ab\u7ec8\u7ed3\u3002\u4e3b\u8981\u5173\u6ce8\u70b9\u5305\u62ec\uff1a\u4e0eApple Health\/Google Fit\u7b49\u96c6\u6210\uff08\u5df2\u652f\u6301\uff09\uff0c\u6570\u636e\u6a21\u578b\u7248\u672c\u540c\u6b65\u7b56\u7565\uff08\u8ba1\u5212\u4e2d\uff09\uff0c\u4ee5\u53caMCP\u670d\u52a1\u5668\u8bbe\u7f6e\u95e8\u69db\uff08\u521d\u671f\u9700\u6280\u672f\u57fa\u7840\uff09\u3002\u53e6\u6709\u7528\u6237\u8be2\u95eeFitbit\u5b8c\u6574\u96c6\u6210\u53ca\u5386\u53f2\u6570\u636e\u56de\u586b\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                Open Wearables \u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u6781\u201c\u75db\u201d\u4f46\u5e38\u88ab\u5ffd\u89c6\u7684\u7f1d\u9699\u2014\u2014\u53ef\u7a7f\u6234\u6570\u636e\u57fa\u7840\u8bbe\u65bd\u7684\u91cd\u590d\u5efa\u8bbe\u3002\u5e02\u9762\u4e0a\u6bcf\u4e2a\u5065\u5eb7App\u90fd\u7ecf\u5386\u4e86\u540c\u6837\u7684OAuth\u5730\u72f1\u3001\u5b57\u6bb5\u6620\u5c04\u6df7\u4e71\u548c\u8bc4\u5206\u903b\u8f91\u9ed1\u76d2\uff0c\u800c\u8fd9\u5bb6\u56e2\u961f\u9009\u62e9\u628a\u8fd9\u5c42\u201c\u810f\u6d3b\u7d2f\u6d3b\u201d\u5f00\u6e90\uff0c\u5e76\u806a\u660e\u7684\u7528MIT\u8bb8\u53ef\u548c\u96f6\u5e2d\u4f4d\u8d39\u964d\u4f4e\u91c7\u7528\u95e8\u69db\u3002\u4ece\u4ea7\u54c1\u6765\u770b\uff0c\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6570\u636e\u805a\u5408\uff08\u5df2\u6709\u540c\u7c7bAPI\uff09\uff0c\u800c\u662f\u201c\u5065\u5eb7\u8bc4\u5206\u7b97\u6cd5\u5f00\u6e90\u201d\u548c\u201cMCP AI\u4e0a\u4e0b\u6587\u201d\u4e24\u9879\u5dee\u5f02\u5316\uff1a\u524d\u8005\u8ba9\u8bc4\u5206\u53ef\u5ba1\u8ba1\u3001\u53ef\u8c03\u4f18\uff0c\u76f4\u51fbOura\u7b49\u95ed\u6e90\u7b97\u6cd5\u7684\u4fe1\u4efb\u5371\u673a\uff1b\u540e\u8005\u5c06\u7ed3\u6784\u5316\u6570\u636e\u5582\u7ed9LLM\uff0c\u8ba9\u666e\u901a\u7528\u6237\u80fd\u95ee\u51fa\u201c\u4e3a\u4ec0\u4e48\u6211\u6628\u665a\u7761\u4e0d\u597d\u201d\u800c\u975e\u9762\u5bf9\u4e00\u5806\u6570\u5b57\u56fe\u8868\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\u6f5c\u5728\u98ce\u9669\uff1a\u5f00\u6e90\u9879\u76ee\u7684\u53ef\u6301\u7eed\u6027\u9700\u8981\u4f01\u4e1a\u7ea7\u4ed8\u8d39\u80fd\u529b\u652f\u6491\uff0c\u5f53\u524d\u201c\u5355\u5411\u5f00\u6e90+0\u5143\u5b9a\u4ef7\u201d\u6a21\u5f0f\u82e5\u65e0\u6cd5\u8f6c\u5316\u4e3a\u6258\u7ba1\u670d\u52a1\u6216\u9ad8\u7ea7\u529f\u80fd\u6536\u5165\uff0c\u957f\u671f\u7ef4\u62a4\u548c\u8d28\u91cf\u5c06\u5b58\u7591\u3002\u6b64\u5916\uff0c\u6570\u636e\u6a21\u578b\u9700\u968f\u5404\u5382\u5546API\u9891\u7e41\u66f4\u65b0\u5e26\u6765\u7684\u7248\u672c\u5206\u6b67\u95ee\u9898\uff08\u7528\u6237\u5df2\u62c5\u5fe7\uff09\uff0c\u4ee5\u53caMCP Server\u521d\u671f\u4ecd\u9700\u6280\u672f\u80cc\u666f\u624d\u80fd\u4f7f\u7528\uff0c\u90fd\u9650\u5236\u4e86\u5176\u201c\u5f00\u53d1\u8005\u53cb\u597d\u201d\u7684\u627f\u8bfa\u5151\u73b0\u3002\u4ece\u7ade\u54c1\u770b\uff0cVital\u3001Human API\u7b49\u5df2\u5360\u636e\u90e8\u5206\u5546\u4e1a\u4efd\u989d\uff0cOpen Wearables\u7684\u7834\u5c40\u70b9\u5728\u4e8e\u771f\u6b63\u5f00\u6e90\u5e26\u6765\u7684\u793e\u533a\u751f\u6001\u4e0e\u4fe1\u4efb\u5ea6\u2014\u2014\u4f46\u793e\u533a\u6d3b\u8dc3\u5ea6\u548c\u8d21\u732e\u8d28\u91cf\u624d\u662f\u51b3\u5b9a\u5176\u80fd\u5426\u4ece\u201c\u77e5\u540d\u5de5\u5177\u201d\u8fdb\u5316\u6210\u201c\u6807\u51c6\u5c42\u201d\u7684\u5173\u952e\u3002\u56e2\u961f\u80cc\u666f\uff08Momentum\u7684\u533b\u7597\u5065\u5eb7\u9886\u57df\u5de5\u7a0b\u79ef\u7d2f\uff09\u662f\u52a0\u5206\u9879\uff0c\u4f46\u5065\u5eb7\u6570\u636e\u7684\u5408\u89c4\uff08HIPAA\uff09\u548c\u4e34\u5e8a\u7ea7\u9a8c\u8bc1\u4ecd\u9700\u66f4\u900f\u660e\u7684\u62ab\u9732\u3002\u4e00\u53e5\u8bdd\uff1a\u57fa\u7840\u8bbe\u65bd\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u5f00\u6e90\u4e0d\u662f\u4e07\u80fd\u836f\uff0c\u53d8\u73b0\u548c\u751f\u6001\u624d\u662f\u771f\u6b63\u7684\u6218\u573a\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\">Open Wearables<\/span>\n                <\/div>\n<div class=\"comment-content\">Build personalized health products with one API for every wearable. Access wearable data, open health scoring algorithms, and structured context your AI can reason with. Self-hosted, open-source, MIT licensed.<\/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>\n<p>Every team building with wearable data rebuilds the same infrastructure. Oura, Garmin, Whoop, Apple Health: each with its own API, its own schema, its own quirks. Weeks of plumbing before you get to the product itself. And even once the data is flowing, you still have to turn it into something a user or a clinician can act on.<\/p>\n<\/p>\n<p>We&#8217;ve lived this at Momentum for years, shipping healthtech for digital health, wellness, and clinical teams. So we put the whole stack in the open.<\/p>\n<\/p>\n<p>Meet Open Wearables: the health intelligence platform for wearable data. One open-source layer to ingest from any wearable, standardize the signals, score them with transparent logic, and let AI reason over what&#8217;s actually happening in a user&#8217;s body.<\/p>\n<\/p>\n<p>Here&#8217;s what Open Wearables gives you:<\/p>\n<p>\ud83d\udce1 Unified wearables API , ingest from Oura, Garmin, Whoop, Apple Health, Polar, Suunto, Samsung, Strava, Google Health Connect<\/p>\n<p>\ud83e\uddec Data standardization , one consistent schema across every device, so you stop writing per-vendor normalization code<\/p>\n<p>\ud83e\uddee Open health scoring logic, auditable, forkable, tuneable for your domain. No proprietary black boxes.<\/p>\n<p>\ud83c\udfaf Coaching profiles, domain-specific intelligence layers for wellness, clinical, and performance use cases<\/p>\n<p>\ud83e\udd16 MCP server, any LLM can reason over health trends and patterns, not just read raw numbers<\/p>\n<p>\ud83d\udd12 Self-hosted by design, MIT license, HIPAA and GDPR friendly<\/p>\n<p>\ud83d\udcb8 $0 per user at any scale, no per-seat pricing, no surprise bills at 10k users<\/p>\n<\/p>\n<p>Open Wearables is already running in production inside healthcare and wellness apps, including teams building AI coaching products on top of it.<\/p>\n<\/p>\n<p>What makes Open Wearables different?<\/p>\n<\/p>\n<p>Other wearable APIs stop at raw data delivery. Open Wearables is a full health intelligence layer: data in, meaningful signals and AI-ready context out. Open algorithms, zero per-user fees, and an AI-native architecture from day one. Built by Momentum, 130+ engineers with 10+ years of shipping healthtech in regulated industries.<\/p>\n<\/p>\n<p>\ud83c\udf81 Exclusive for Product Hunt: book a free 30-min architecture call with the Momentum team that actually built it. We&#8217;ll walk through your stack and show where Open Wearables fits.<\/p>\n<p>\ud83d\udc49 <a href=\"https:\/\/www.cal.eu\/openwearables\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.cal.eu\/openwearables<\/a><a href=\"https:\/\/www.cal.eu\/openwearables\/open-wearables-demo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">&#8230;<\/a><\/p>\n<\/p>\n<p>Try it now: <a href=\"http:\/\/openwearables.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">openwearables.io<\/a><\/p>\n<\/p>\n<p>Would love your honest feedback, especially on what&#8217;s missing for your use case.<\/p>\n<\/p>\n<p>Piotr, CEO &amp; Founder @ Momentum<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>57<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@piotreksedzik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotreksedzik<\/a>&nbsp;130+ engineers and 10 years of healthtech experience shows in the schema. It\u2019s clear this wasn&#8217;t just built in a weekend it\u2019s battle-tested. How do you guys handle data backfilling for new users can we pull the last 90 days of history from Health Connect or Suunto 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@piotreksedzik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotreksedzik<\/a>&nbsp;&#8211; This is great. I have done POC with ow in my app and is much more economical as compared to the alternatives. Just waiting for the full fitbit integration available on openwearables. Thank you!<\/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\/@piotreksedzik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotreksedzik<\/a>&nbsp;It looks like it&#8217;s a great success. Well done 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Are you planning integrations with Apple Health and Google Fit out of the box? Congrats on shipping. <\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hi <a href=\"https:\/\/www.producthunt.com\/@iamanantgupta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iamanantgupta<\/a>&nbsp;We already integrate with Apple Health and Google Health and provide SDKs for SDK-based providers &#8211; you can see providers we support and full coverage matrix in the documentation: <a href=\"https:\/\/openwearables.io\/docs\/providers\/supported\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/openwearables.io\/docs\/providers\/supported<\/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<\/p><\/div>\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;Is Google Fit the same thing as Google Health? If so, we already have 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\/@iamanantgupta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iamanantgupta<\/a>&nbsp;yes, it&#8217;s already there, we support ale the major providers. Still adding more to the repo (our roadmap is also public).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 could help a lot of indie health apps that never get built because of infra friction. Good stuff.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@itsluo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsluo<\/a>&nbsp;That&#8217;s the exact problem we keep seeing. Six to twelve months of OAuth integrations before you can ship anything meaningful kills most indie health projects before they start. Railway deploy in five minutes was a deliberate choice.<\/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\/@itsluo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsluo<\/a>&nbsp;Thanks for the feedback, that&#8217;s the point exactly to use open wearables as an development accelerator for health \/  longevity \/ wellness \/ fitness apps to build on top (with our tools as well by the way &#8211; like health scores, agentic flows etc).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@itsluo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsluo<\/a>&nbsp;Does the `indie health app` label fits to you company? \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Amazing project team! I think it was the missing puzzle &#8211; the standarization of the data bus for health\/wearables and you&#8217;re jsut filling the gap. Fingers crossed!<\/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\/@piotr_karwatka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_karwatka<\/a>&nbsp;Thanks Piotr, &#8220;data bus for health\/wearables&#8221; is a sharp framing, the standardization gap is exactly what kept biting us across client projects until we decided to just open-source the fix. Appreciate the support \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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@piotr_karwatka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_karwatka<\/a>&nbsp;FInger crossed, thanks!<\/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\/@piotr_karwatka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_karwatka<\/a>&nbsp;Exactly, the whole point here is to unlock the siloed health data structures. Builders and companies should be able to focus on the priorities so building health intelligence on top of wearables data (and not only!) and beyond like recommendation engines, anomaly detection, health scores etc. <\/p>\n<\/p>\n<p>But you&#8217;re 100% right, prioritization, normalization, and putting that data into clinical context is the key. This is what we do in OW \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I wear an Oura ring and have always been curious how the readiness score actually gets calculated. The fact that you can actually look at the algorithm here seems like it could change how much I trust the number. Do you publish explanations alongside the code?<\/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\/@michal_wlodarczyk1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michal_wlodarczyk1<\/a>&nbsp;yes we do, each algorithm of open wearables is open and can be audited. Our Health Science Lead also runs her own substack in which she will also explain the details behind algorithms. <\/p>\n<p><a href=\"https:\/\/thesciencebehindwearables.substack.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/thesciencebehindwearables.substack.com\/<\/a><\/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\/@michal_wlodarczyk1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michal_wlodarczyk1<\/a>&nbsp;But to clarify that &#8211; we don&#8217;t have an access to the Oura&#8217;s alghoritms, nobody does. But our algorithms are accessible in our Github repo. They even have separate directory, so it&#8217;s easy to find and analyse 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michal_wlodarczyk1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michal_wlodarczyk1<\/a>&nbsp;That\u2019s a good instinct \u2014 \u201creadiness\u201d scores feel objective until you realize they\u2019re really just weighted models over a handful of signals.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What a geat product! I am using multiple different health techs myslef (garmin, Oura, apple) and was missing solution like that. Been following news from Open Wearables on Linkedin for some time and I&#8217;m happy to see this 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\/@zuzanna_gutkowska\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zuzanna_gutkowska<\/a>&nbsp;Thanks for following along! \ud83d\ude0a If you like this you may also like The Science Behind Wearabes where we dive much deeper into that: <a href=\"https:\/\/thesciencebehindwearables.substack.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/thesciencebehindwearables.substack.com\/<\/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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zuzanna_gutkowska\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zuzanna_gutkowska<\/a>&nbsp;Do you have your favourite Open Wearables linkdin posts series? Just curious which ones reached you \ud83d\ude09<\/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\/@zuzanna_gutkowska\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zuzanna_gutkowska<\/a>&nbsp;thank you Zuza for your ongoing support! Super important for us! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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, team <a href=\"https:\/\/www.producthunt.com\/@piotr_ratkowski\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"piotr_ratkowski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_ratkowski<\/a> <a href=\"https:\/\/www.producthunt.com\/@bartmichalak\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"bartmichalak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bartmichalak<\/a> <a href=\"https:\/\/www.producthunt.com\/@piotr_sobusiak\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"piotr_sobusiak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_sobusiak<\/a> Hehehe, seems like Piotrs are dominating. How you handle normalization across different wearable data formats? <\/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>Thanks <a href=\"https:\/\/www.producthunt.com\/@mikhail_prasolov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikhail_prasolov<\/a>&nbsp;! That&#8217;s actually quite tricky as the data coming from different providers is surprisingly quite different even though these are often the same pieces of information. As you mentioned these are often in different formats, sometimes aggregated or processed in some way. We&#8217;ve come up with what we called <a href=\"https:\/\/openwearables.io\/docs\/architecture\/unified-data-model\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Unified Health Data Model<\/a> and you can also see <a href=\"https:\/\/openwearables.io\/docs\/architecture\/data-types\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Data Types<\/a> and <a href=\"https:\/\/openwearables.io\/docs\/providers\/coverage\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Coverage Matrix<\/a> to check what data types we support and how they are normalized across providers.<\/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\/@piotr_ratkowski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_ratkowski<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@bartmichalak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bartmichalak<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@piotr_sobusiak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_sobusiak<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@mikhail_prasolov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikhail_prasolov<\/a>&nbsp;<br \/>haha Piotr representation is strong on this team, can confirm<\/p>\n<p>normalization is the boring core of the whole thing &#8211; every provider has different field names, different units, different nulls, different timestamps. we map everything to a unified schema at ingestion so whatever&#8217;s above it (scoring, AI, your app) never has to care where the data came from<\/p>\n<\/p>\n<p>it&#8217;s unglamorous work but it&#8217;s what makes everything else possible<\/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\/@piotr_ratkowski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_ratkowski<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@bartmichalak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bartmichalak<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@piotr_sobusiak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piotr_sobusiak<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@mikhail_prasolov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikhail_prasolov<\/a>&nbsp;Our unified data model assumes that we create a Strategy class for each provider. By inheriting from an abstract base strategy, this class enforces a consistent structure. This means we have predefined areas (e.g. workouts, continuous data (sleep, HR, etc.), provider authorisation, or the method of data retrieval) and in each there are either certain gaps to be filled (e.g. workouts and continuous data require the definition of a function to normalise the data to our model, which requires knowledge of the payload coming from the provider\u2019s API \u2013 the rest of the functions that process this normalised data are already inherited from the base strategy) or several defined paths to choose from (e.g. authorisation requires specifying the authorisation method imposed by the provider\u2019s API, and the data retrieval method determines whether we need to query the API periodically ourselves, or whether it is sufficient to connect once and receive data almost in real time). Finally, the normalised data is sent to the database, and from there it is retrieved, for example, by our webhooks, which will send notifications to clients\u2019 backends whenever any data becomes available.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch! Your unified health data model is what interests me the most, but I&#8217;m worried about datatype proliferation\/complexity if I build something downstream of OpenWearables (e.g. your wide table for WorkoutDetails). I really appreciate that I would have the same problem if any given wearable provider made changes to their schema, but what are your plans for keeping your data model in sync with providers without causing other developers headaches?<\/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\/@hex_miller_bakewell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hex_miller_bakewell<\/a>&nbsp;Thanks Hex &#8211; exactly the right question. Schema drift here is unavoidable, but we&#8217;re trying to make it bounded. Our approach: stable versioned core for the common path treated as a contract; provider-specific quirks accessible but separate; additive changes by default; explicit deprecation windows for actual breaking changes. WorkoutDetails specifically is one of the messier surfaces &#8211; we know, we&#8217;re treating it as evolving. Schema is in the repo &#8211; happy to go deeper via DM or GitHub issues, can loop in our engineering lead for a proper versioning rabbit-hole. Thanks for the kind words on the launch \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hex_miller_bakewell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hex_miller_bakewell<\/a>&nbsp;Thanks for the insight, super important one as well. The data schema is in the documentation. We are currently working on expanding that and will share the roadmap on GH and Discord, but if you&#8217;d like to be informed, let us know, we&#8217;ll add you to the mailing list on updates. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@hex_miller_bakewell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hex_miller_bakewell<\/a>&nbsp;I don&#8217;t think it&#8217;s possible to avoid that issue anyway.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Plugged this into our club management app. Coaches finally see readiness, sleep, and load across every athlete &#8211; regardless of which device they wear. Stops the screenshot chase.<\/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\/@iwan1212\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iwan1212<\/a>&nbsp;&#8220;Stops the screenshot chase&#8221; might be the best one-line description of the problem we&#8217;ve heard. Coaches managing 20 athletes across 5 different apps is a real workflow nightmare and it&#8217;s invisible until you sit with them.<\/p>\n<\/p>\n<p>Thanks for shipping with it Patryk. If you ever want to write up the deployment as a case study (or just a thread), happy to help, that story would land with a lot of teams.<\/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\/@iwan1212\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iwan1212<\/a>&nbsp;That\u2019s actually the most compelling version of this story \u2014 not the aggregation itself, but removing the \u201cscreenshot + interpretation by hand\u201d workflow from coaching entirely.<\/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\/@iwan1212\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iwan1212<\/a>&nbsp;Forgive me for being curios, but what type of the club is 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>Voted. Curious whether the MCP server part is something an average person could set up with ChatGPT or Claude, or if that requires serious technical knowledge. The idea of asking an AI questions about your own health data sounds more useful than any wearable dashboard I&#8217;ve seen.<\/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\/@krzysztof_szyszkiewicz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krzysztof_szyszkiewicz<\/a>&nbsp;thank you!<\/p>\n<p>honest answer: today it requires some technical setup &#8211; you need to run the platform and connect the MCP server to your AI client. not rocket science but not one-click either<\/p>\n<p>the vision is exactly what you described though &#8211; ask Claude or ChatGPT &#8220;why did I sleep badly this week&#8221; and get an actual reasoned answer based on your real data, not generic advice<\/p>\n<p>that&#8217;s where we&#8217;re going. docs here if you want to try: <a href=\"https:\/\/docs.openwearables.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.openwearables.io<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@krzysztof_szyszkiewicz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krzysztof_szyszkiewicz<\/a>&nbsp;MCPs are not that complex, but processing such big amounts of data given limited context of LLMs usually is. We already have very first version of Open Wearables MCP server (it&#8217;s in the repo so everyone can use it) but it needs some polishing to call it production grade and work flawlessly with big data sets.<\/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\/@krzysztof_szyszkiewicz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krzysztof_szyszkiewicz<\/a>&nbsp;It shold be easy to setup, but I don&#8217;t think it&#8217;s really that useful. Simple chat with AI agent will do a better job. And that&#8217;s also going to be avilable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Been on Apple Watch + Bevel for ages and still feel like I&#8217;m only using maybe 20% of what my data could actually tell me&#8230; definitely the right move. Love the open source approach, too!<\/p>\n<p>Also full disclosure \u2014 I know the team behind this and they don&#8217;t ship things halfway. Congrats guys, lfg!<\/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\/@k_waraksa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@k_waraksa<\/a>&nbsp;The 20% feeling is more common than people admit. Most apps show you the raw numbers and leave the interpretation to you. Thanks for the kind words and for vouching, Chris. We&#8217;ll try not to embarrass you.\ud83d\ude04<\/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\/@k_waraksa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@k_waraksa<\/a>&nbsp;Bevel user here too, by the way. Great product, but still a long way to go on turning that data into something genuinely actionable. Appreciate the support, lfg \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@k_waraksa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@k_waraksa<\/a>&nbsp;Chris &#8211; that 20% number is real. I run 3 platforms across my own training and still feel like half the signal is locked behind some &#8220;open the other app&#8221; wall. Vouching means a lot today. Cheers \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 would\u2019ve saved me so much time on a previous health project, I was making a meditation app that is influenced based on your health data. <\/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\/@ragsyme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ragsyme<\/a>&nbsp;A meditation app adapting to HRV and stress scores is a solid use case for exactly this. If you build it again, the stress index and HRV baseline algorithms are already in there.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ragsyme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ragsyme<\/a>&nbsp;Thank you for sharing, which data sources did you integrate in that product? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ragsyme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ragsyme<\/a>&nbsp;But it still can help you in your next projects \ud83d\ude09<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">Finally someone tackling the fragmentation problem in wearables.<br \/>\nGood to see this launch today! :))<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thanks for the kind words!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<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;Some providers (Apple, yeah, it&#8217;s about you!) forced us to keep an eye on that issue early \ud83d\ude09<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;and good to see this open sourced as well!<\/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 previously built and sold a company using wearable data to predict drug relapses and then sought to build a better infrastructure layer for wearable data similar to how Stripe changed the world for fintech. <\/p>\n<\/p>\n<p>I didn\u2019t do it nearly as well as Open Wearables has done it. Absolutely huge kudos to the team behind this \u2014 super excited to see it grow. <\/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\/@raztronaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raztronaut<\/a>&nbsp;Razi this means a lot coming from someone who&#8217;s actually been in the trenches with this data. The Stripe-for-fintech analogy is exactly the framing we kept coming back to &#8211; wearables need that layer or every team just keeps reinventing the same auth + schema mess. Would love to swap notes &#8211; DM open. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raztronaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raztronaut<\/a>&nbsp;Haha, so maybe this is time to try with another product, but this time built around Open Wearables? \ud83d\ude00<\/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\/@raztronaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raztronaut<\/a>&nbsp;wow, that&#8217;s amazing! Which other health data sources did you use in that product? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The gallery screenshot showing the API response for sleep stages actually made me stop scrolling. I&#8217;ve been pulling this data manually from Apple Health exports for two years. Why does this not exist as a consumer product yet?<\/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\/@paulina_kowalczyk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@paulina_kowalczyk<\/a>&nbsp;Two years of manual Apple Health exports is exactly the pain that shouldn&#8217;t exist in 2026. Open Wearables is the infrastructure layer for that consumer product, if anyone (you?) feels like building it, we&#8217;d happily help.<\/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\/@paulina_kowalczyk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@paulina_kowalczyk<\/a>&nbsp;It&#8217;s because most of the providers don&#8217;t want the products like this to be available for consumer. Sadly, but this is the truth. Just look at the Garmin for example &#8211; there is no way to get API access if you are not a company.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Awesome! Great idea, congrats for the launch \ud83d\udcaa<\/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\">@gregrog thanks!<\/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\/@gregrog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gregrog<\/a>&nbsp;Thank you so much \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gregrog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gregrog<\/a>&nbsp;Thank you Greg! \ud83d\udcaa<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Open source health scoring algorithms is the part that got my attention. Most of these platforms treat the scoring logic as the crown jewels. Who decides what goes into the scoring models?<\/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\/@konrad_talaga1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konrad_talaga1<\/a>&nbsp;You&#8217;re right that most platforms guard scoring as the crown jewel. We went the opposite way on purpose: black-box scores are fine until a clinician or regulator asks why the number says what it says.<\/p>\n<p>Who decides: our own R&amp;D, led by Anna Zych (Health Science Lead), grounded in published research where it exists (sleep stages, HRV, training load all have public literature) and open discussion in PRs and GitHub issues where it doesn&#8217;t. Momentum&#8217;s engineering team owns direction, contributors shape it. Thresholds are tunable, so if you disagree with our defaults you fork and calibrate for your population.<\/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\/@konrad_talaga1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konrad_talaga1<\/a>&nbsp;As a Piotr said. If you want to ask questions about scoring models, you can find Anna on Linkedin or our Discord \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\/@konrad_talaga1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konrad_talaga1<\/a>&nbsp;The idea behind it is that you can use our open source health scores as the foundation and then tune, refine and adjust to your population \/ use case. By the way, our dashboard shows a comparison between different scores (oura, whoop, garmin and 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>Am I seeing this right? Its opensource?<\/p>\n<p>Where would I be paying?<\/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\/@worklab\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worklab<\/a>&nbsp;It&#8217;s self-hosted, so you pay for infrastructure usage. As Momentum we also support custom deployment and build services around Open Wearables whenever you need building your product with our tool. <\/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\/@worklab\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worklab<\/a>&nbsp;The model is that you can self-deploy and maintain it yourself or we handle that for you ( SLA, compliance, custom features). The core is about 80% done out of the box, and we customize the rest for each use case. Dozens of companies already use it for free. Larger ones work with us to tailor it to their infrastructure and maintain it long-term as self-hosted, full control over their data pipelines, with intelligence built on top: like health scores, recommendation engines, anomaly detection, and 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@worklab\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worklab<\/a>&nbsp;You don&#8217;t pay, thats the trick \ud83d\ude09 Its license is MIT.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!! Is there something like a web dashboard for regular users, or is this purely for developers building things on top?<\/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\/@agata_wieczorek\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@agata_wieczorek<\/a>&nbsp;Thanks Agata! OW is a developer infrastructure, not a consumer product. There&#8217;s a developer portal for managing the deployment (users, OAuth credentials, debugging), but end users see whatever dashboard you build on top. Some teams ship their own UI, others embed widgets we provide.<\/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\/@agata_wieczorek\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@agata_wieczorek<\/a>&nbsp;As Piotr said, there is only a dashboard for administrators. So company using Open Wearables as a platforms has to create it&#8217;s own UI for regular users.<\/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\/@agata_wieczorek\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@agata_wieczorek<\/a>&nbsp;it is mostly b2b \/ devs but you can also run your own instance with one click deployment on Railway and play around with your data through MCP server we provide \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Slightly skeptical question: how stable is the Garmin and Oura API access? Those platforms have changed or restricted third-party access before. What happens to a self-hosted deployment if an upstream provider breaks the connection?<\/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\/@anton_zaporozhets1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anton_zaporozhets1<\/a>&nbsp;Fair question. Both have official OAuth-based developer programs, and we&#8217;ve been shipping against them long enough to know the quirks (Garmin especially took real engineering time). If a provider changes something breaking: we patch, you pull the update. That&#8217;s the OSS advantage. With a SaaS aggregator you wait for the vendor&#8217;s roadmap and keep paying while you wait. No third-party integration is fully immune. The difference is how fast the fix lands and whether you can read the diff 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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@anton_zaporozhets1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anton_zaporozhets1<\/a>&nbsp;Of course Open Wearables will propagate error (I suggest to use something like sentry to catch such exceptions), but you will still be able to connect with other providers, even if you will have broken connection with Garmin.<\/p>\n<\/p>\n<p>And I understand your concenr. In 2024 (or event 2025, don&#8217;t remember) Garmin switched from OAuth v1 to Oauth v2 for example. It&#8217;s a big change, but they didn&#8217;t remove old endpoints which based on old OAuth standsrd. Of course it wasn&#8217;t documented after the update to not tempt new users to use this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>So cool for businesses! <\/p>\n<\/p>\n<p>Do you plan to release \/ or have something for regular users, who don&#8217;t know how to use open source ? \ud83d\ude00 I mean, I would love to audit my apple health workouts and get some feedback our of 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\/@mwarcholinski\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"mwarcholinski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mwarcholinski<\/a> Thanks! Open Wearables is rather B2B product but with a little bit of Claude support you should be able to run it locally as everything is dockerized and shouldn&#8217;t take more than few minutes or use <a href=\"https:\/\/openwearables.io\/docs\/deployment\/railway\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">one-click Railway deployment <\/a>to set up your own instance in cloud. Then you could also use the MCP server to talk your apple health data and get the feedback you need \ud83d\ude04  <\/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\/@mwarcholinski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mwarcholinski<\/a>&nbsp;As Piotr said, it&#8217;s B2B, but you can still use cloud based providers as a private user (by cloud based I mean Apple, Samsung &amp; Google).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mwarcholinski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mwarcholinski<\/a>&nbsp;that&#8217;s exactly where we&#8217;re going with the AI layer &#8211; you ask a question in plain language, you get a real answer based on your actual data<\/p>\n<\/p>\n<p>not there yet for non-technical users out of the box, but it&#8217;s the direction. watch this space<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 positioning here. Feels like \u201cStripe for wearable data\u201d is spot on \ud83d\ude0a<\/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\/@zerotox\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zerotox<\/a>&nbsp;The Stripe analogy fits the data layer well:) Where we go further is that Stripe stops at the transaction: we also compute what the data means, with open algorithms you can audit and tune. Health intelligence on top of the plumbing, not just the plumbing.<\/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\/@zerotox\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zerotox<\/a>&nbsp;Interesting take, thank you for your kind words!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zerotox\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zerotox<\/a>&nbsp;we will be using that slogan more often! \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>Nice work! The developer-first approach really shows in how you\u2019re describing the product.<\/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\/@syed_shayanur_rahman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@syed_shayanur_rahman<\/a>&nbsp;Thanks. Developer-first was a deliberate call: if the foundation isn&#8217;t solid and transparent, everything built on top is fragile.<\/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\/@syed_shayanur_rahman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@syed_shayanur_rahman<\/a>&nbsp;That&#8217;s an honor to hear that, thanks!<\/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>Good launch!! Any plans for real-time streaming data support or is it batch-based right now?<\/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;Batch-based right now, which reflects the underlying provider APIs: most wearables sync to their cloud on a schedule rather than streaming continuously. Some providers like Whoop expose webhooks, and we&#8217;re looking at event-driven support for those. True real-time would require lower-level device access that most providers don&#8217;t offer yet.<\/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\/@roopreddy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roopreddy<\/a>&nbsp;Thanks! This depends also on the providers how often they push data but as soon as these data reaches Open Wearables, there are webhooks you can use to push data to your backend real-time &#8211; here is more info about it: <a href=\"https:\/\/openwearables.io\/docs\/api-reference\/guides\/webhooks#outgoing-webhooks-open-wearables\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/openwearables.io\/docs\/api-reference\/guides\/webhooks#outgoing-webhooks-open-wearables<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<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;To not repeat afer other, I can tell that FIT files supports is also planned, so it can changed how we fetch data to Open Wearables.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Feels like early days, but the direction is very promising. Excited to see how the API gets used by the builders. <\/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;It is early days, and we&#8217;re upfront about that. The use cases already showing up are the interesting part: clinical teams auditing algorithms, coaches normalizing HRV across devices, AI builders wiring the MCP server into health coaching tools. We&#8217;ll be watching what gets built.<\/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\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;Early days, yeah &#8211; but it&#8217;s already a full engine \ud83d\ude00<\/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\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;that&#8217;s true, but we ship fast. Open source is an incredible force, especially when it comes to community. \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Voted and bookmarked. We&#8217;re a small product studio in Krakow and this goes on the &#8220;evaluate for our next health client&#8221; list immediately. The Momentum team has been doing solid work in this space for a while 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\/@jakub_mitka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jakub_mitka<\/a>&nbsp; I\u2019m looking at it in a similar way, something to evaluate on the next relevant project \ud83d\udc4d<\/p>\n<p>Nice to see someone from Krakow thinking about it in a client context too. It feels like this could genuinely simplify working with health data, if it delivers on the promise. I\u2019ve also come across the Momentum team before &#8211; good to hear they already have a solid track record in<\/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\/@jakub_mitka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jakub_mitka<\/a>&nbsp;Jakub &#8211; appreciate the vouch. Product studios with multiple health clients are honestly the cleanest fit for this &#8211; one shared layer beats rebuilding integrations for every project. <\/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\/@jakub_mitka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jakub_mitka<\/a>&nbsp;Love to see this added to the studio toolkit! Having a unified API ready to roll out for future health clients is a massive time-saver for agencies. Greetings to Krakow! \ud83d\udc4b And I completely agree-the Momentum team has definitely earned their strong reputation in the healthtech space.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>so cool! MCP is a huge unlock for the millions of people also using chatgpt\/claude <\/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\/@kohnigel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kohnigel<\/a> Thanks Nigel! That&#8217;s the bet, the moment &#8220;ask Claude about my sleep last week&#8221; becomes one click instead of a CSV export, the whole consumer health workflow shifts. MCP is the entry point, but the real unlock is agentic: long-running assistants that watch your trends, flag anomalies, and reason across weeks of data without you prompting. Still early days, but the direction feels right.<\/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\/@kohnigel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kohnigel<\/a>&nbsp;Indeed, but rememember &#8211; at the moment our MCP is still not 100% production ready.<\/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\/@kohnigel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kohnigel<\/a>&nbsp;Spot on! Bridging the gap between messy wearable data and mainstream LLMs is exactly where the magic 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Can this plug directly into LLM pipelines or do we need additional processing layers?<\/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\/@raihanshezan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raihanshezan<\/a>Plugs directly. Our MCP server gives any LLM (Claude, GPT, local via Ollama) structured access to user health data with context, scores, trends, anomalies, so you&#8217;re not dumping raw numbers into a prompt. If you&#8217;d rather wire it into your own pipeline, the REST API works the same way.<\/p>\n<p>For production-grade use cases (coaching, clinical reasoning, longitudinal context), an agentic layer on top earns its keep fast. We build that at Momentum for clients and might share some templates soon, stay tuned.<\/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\/@raihanshezan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raihanshezan<\/a>&nbsp;You can use backend API to achieve that. In the future there will be also an AI agent.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">Love this! I was recently looking into adding wearable data to my somatic breathing technique site at TryBreathing.org. <\/p>\n<p>Might use open wearables if it\u2019s meant to be.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jacksonburch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jacksonburch<\/a>&nbsp;Breathing + HRV + respiratory rate is a nice fit for the data model, all three are surfaced across most providers (Garmin, Oura, Whoop especially). If you give it a spin, drop into Discord with whatever you find tricky, happy to help unblock. Good luck with TryBreathing.<\/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\">@piotr_ratkowski thanks! Trybreathing also has a sister site called: TrybeBreathing.com that is basically a Zoom for Breathing sessions (using WebRTC), I would be curious how well this would work during a live video breathing session!<\/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\/@jacksonburch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jacksonburch<\/a>&nbsp;Jackson &#8211; group breathing with live biometrics is genuinely one of the more interesting use cases I&#8217;ve heard today. The latency tradeoffs across providers are real (some are near-real-time, others poll on<\/p>\n<p>intervals) &#8211; Piotr or our infra folks can dig into the specifics on Discord. Either way, that sister site sounds like exactly the kind of thing this stack was built 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Love the open approach here&nbsp;\u2764\ufe0f More products should move in this direction honestly.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@istiakahmad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@istiakahmad<\/a>&nbsp;Thanks Istiak, appreciate it. The healthtech space especially needs more open infra: too much critical patient data sitting behind closed APIs and per-user fees.<\/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\/@istiakahmad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@istiakahmad<\/a>&nbsp;Yeah, open source with the great care for software quality is what we really need in the age of AI.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@istiakahmad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@istiakahmad<\/a>&nbsp;<\/p>\n<p>Couldn&#8217;t agree more! Having open infrastructure instead of walled gardens is exacly what this space needs to move faster. Love seeing this trend!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/6GDPBUAV25E6T6\" class=\"app-title\">KarmaBox<\/a><\/p>\n<div class=\"one-liner\">Run your own Claude Code in your pocket.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">258<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>KarmaBox\u662f\u4e00\u6b3e\u5c06\u624b\u673a\u53d8\u4e3aAI\u591a\u667a\u80fd\u4f53\u201c\u9065\u63a7\u5668\u201d\u7684\u5e94\u7528\uff0c\u8ba9\u7528\u6237\u65e0\u9700\u4f9d\u8d56\u5355\u4e00\u7ec8\u7aef\u6216\u4e91\u57fa\u7840\u8bbe\u65bd\uff0c\u5373\u53ef\u968f\u65f6\u968f\u5730\u8c03\u5ea6Claude\u3001Codex\u3001Gemini\u7b49\u6a21\u578b\uff0c\u5728\u81ea\u6709\u8bbe\u5907\u6c60\u4e2d\u5e76\u884c\u6267\u884c\u590d\u6742\u4efb\u52a1\uff0c\u89e3\u51b3AI\u5de5\u5177\u788e\u7247\u5316\u3001\u9700\u624b\u52a8\u5207\u6362\u548c\u62f7\u8d1d\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\/48044a7c-8f1f-40fc-ba12-5cd49f9fb3d1.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\/16028ceb-09b4-499c-a59d-53b581d40e11.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\/3abb12c6-a33e-4793-9063-8823fe90b80e.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\/475527e1-51d8-4a32-8956-7e9ecc561168.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\/96a33355-c9f3-4688-b11d-4f76a8bd5e91.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\/3a9d0519-46fa-466e-ba4d-7e48af4b12b3.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\/35d046d3-c9eb-457a-a1e4-6ac62a2b240c.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\/7cecc668-1405-4878-90f1-dbaf94caeaef.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Rv3UaXMMFRk\"><source src=\"https:\/\/youtu.be\/Rv3UaXMMFRk\" 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\">Privacy<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/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\u5e76\u884c\u6267\u884c\u201d\u548c\u201c\u79fb\u52a8\u7aef\u8c03\u5ea6\u201d\u7684\u4ef7\u503c\uff0c\u75db\u70b9\u96c6\u4e2d\u5728\u591a\u5de5\u5177\u767b\u5f55\u7e41\u7410\u3001\u957f\u4efb\u52a1\u7ba1\u7406\u3001\u8bbe\u5907\u79bb\u7ebf\u5f71\u54cd\u3002\u6838\u5fc3\u7591\u95ee\u5305\u62ec\uff1a\u5982\u4f55\u5904\u7406\u957f\u4efb\u52a1\uff08\u540e\u53f0\u6392\u961f+\u901a\u77e5\uff09\u3001\u8001\u65e7\u624b\u673a\u53ef\u5426\u8fd0\u884c\uff08\u8f7b\u91cf\u7ea7\u63a7\u5236\u7aef\uff09\u3001\u8bbe\u5907\u79bb\u7ebf\u6216\u4f4e\u7535\u91cf\u65f6\u4efb\u52a1\u8def\u7531\u7684\u5bb9\u9519\u673a\u5236\uff08\u5fc3\u8df3\u76d1\u6d4b+\u72b6\u6001\u5206\u79bb\uff09\uff0c\u4ee5\u53caAPI\u6210\u672c\u63a7\u5236\uff08\u4f7f\u7528\u805a\u5408\u6c60\u548c\u4e8b\u4ef6\u9a71\u52a8\u964d\u4f4e\u6d88\u8017\uff09\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                KarmaBox\u7684\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u8bd5\u56fe\u53bb\u9020\u4e00\u4e2a\u66f4\u806a\u660e\u7684AI\u6a21\u578b\uff0c\u800c\u662f\u5207\u4e2d\u4e86\u201cAI\u592a\u591a\uff0c\u4f46\u5f7c\u6b64\u4e0d\u901a\u201d\u8fd9\u4e2a\u6108\u53d1\u5c16\u9510\u7684\u4f53\u9a8c\u65ad\u5c42\u3002\u4ece\u4ea7\u54c1\u5448\u73b0\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u201cAI\u4e07\u80fd\u9065\u63a7\u5668+\u8bbe\u5907\u5c40\u57df\u7f51\u79c1\u6709\u4e91\u201d\u7684\u7ec4\u5408\uff1a\u624b\u673a\u4e0d\u518d\u662f\u7b97\u529b\u74f6\u9888\uff0c\u800c\u662f\u4f5c\u4e3a\u6307\u6325\u4e2d\u5fc3\uff0c\u8ba9\u4f60\u7684\u7b14\u8bb0\u672c\u7535\u8111\u3001\u5de5\u4f5c\u7ad9\u751a\u81f3\u65e7\u8bbe\u5907\u53d8\u6210\u514d\u8d39\u7684\u5206\u5e03\u5f0f\u8ba1\u7b97\u8282\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u534e\u4e3d\u6982\u5ff5\u80cc\u540e\u85cf\u7740\u51e0\u4e2a\u786c\u6838\u6311\u6218\u3002\u9996\u5148\uff0c**\u201c\u53bb\u4e2d\u5fc3\u5316\u201d\u7684\u79c1\u6709\u8ba1\u7b97\u6c60**\u5728\u5b9e\u9645\u4f53\u9a8c\u4e2d\u610f\u5473\u7740\u9ad8\u5ea6\u7684\u7f51\u7edc\u7a33\u5b9a\u6027\u548c\u8bbe\u5907\u72b6\u6001\u7ba1\u7406\uff0c\u7528\u6237\u5bb6\u4e2d\u65ad\u7f51\u6216\u8bbe\u5907\u5173\u673a\u65f6\uff0c\u7cfb\u7edf\u627f\u8bfa\u7684\u201c\u4e0d\u4e2d\u65ad\u201d\u5982\u4f55\u4f18\u96c5\u964d\u7ea7\uff1f\u5176\u6b21\uff0c**\u201c\u591a\u6a21\u578b\u81ea\u52a8\u8def\u7531\u201d**\u867d\u7136\u542c\u8d77\u6765\u9ad8\u7ea7\uff0c\u4f46\u4ece\u8bc4\u8bba\u4e2d\u5bf9Opus\u5168\u573a\u666f\u4f7f\u7528\u7684\u8d28\u7591\u770b\uff0c\u8def\u7531\u7684\u51c6\u786e\u6027\u548c\u6210\u672c\u4f18\u5316\u7b97\u6cd5\u900f\u660e\u5ea6\uff0c\u624d\u662f\u957f\u671f\u8bf4\u670d\u91cd\u5ea6\u7528\u6237\u7684\u5173\u952e\u3002\u5982\u679c\u8def\u7531\u903b\u8f91\u4e0d\u900f\u660e\u6216\u9891\u7e41\u9009\u9519\u6a21\u578b\uff0c\u5c31\u4f1a\u53d8\u6210\u201c\u9ed1\u76d2\u6d6a\u8d39\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5bf9\u5f00\u53d1\u8005\u800c\u8a00\uff0cKarmaBox\u7684\u786e\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6709\u8da3\u7684\u201cJARVIS\u201d\u5f0f\u613f\u666f\u3002\u4f46\u5b83\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u6781\u5ba2\u73a9\u5177\uff0c\u800c\u975e\u9762\u5411\u5927\u4f17\u7684\u6d88\u8d39\u54c1\u3002\u666e\u901a\u7528\u6237\u4e0d\u4e00\u5b9a\u62e5\u6709\u8db3\u591f\u591a\u7684\u8bbe\u5907\u6765\u7ec4\u6210\u201c\u8ba1\u7b97\u6c60\u201d\uff0c\u4e5f\u672a\u5fc5\u80fd\u63a5\u53d7\u8ba9AI\u5728\u6ca1\u6709\u660e\u786e\u6307\u4ee4\u65f6\u201c\u81ea\u4e3b\u534f\u8c03\u201d\u3002\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\uff0c\u5b83\u80fd\u4e0d\u80fd\u5728ToB\u573a\u666f\u91cc\uff0c\u4ee5\u201c\u79fb\u52a8\u8fd0\u7ef4\u7ec8\u7aef\u201d\u7684\u5f62\u5f0f\uff0c\u5e2e\u56e2\u961f\u6253\u901a\u4ece\u505a\u56fe\u3001\u5199\u4ee3\u7801\u5230\u81ea\u52a8\u5316\u6d4b\u8bd5\u7684\u5168\u95ed\u73af\u3002\u8981\u662f\u80fd\u505a\u5230\uff0c\u5b83\u5c31\u4e0d\u518d\u662f\u201c\u4e00\u4e2a\u5de5\u5177\u201d\uff0c\u800c\u662f\u201cAI\u64cd\u4f5c\u7684\u57fa\u5ea7\u7cfb\u7edf\u201d\u3002\u5426\u5219\uff0c\u5c31\u53ea\u662f\u4e2a\u6f02\u4eae\u7684\u8c03\u5ea6\u5b9e\u9a8c\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\">KarmaBox<\/span>\n                <\/div>\n<div class=\"comment-content\">Run hundreds of AI agents from your phone. Turn your devices into a private compute pool, route every task to the best AI, and use Claude, Codex, Gemini and more \u2014 no infra, no lock-in.<\/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<br \/>\nViveka here, one of the people behind KarmaBox.<br \/>\nRun your own Claude Code in your pocket.<br \/>\nThat\u2019s the idea.<br \/>\nA few months ago, I had ChatGPT for writing, Claude for coding, Perplexity for research, Zapier for automation\u2026 every tool was powerful. But I was still the one connecting everything \u2014 copying outputs, switching tabs, deciding what goes where.<br \/>\nI had a team of AIs. And somehow became their typiest.<br \/>\nThe bottleneck wasn\u2019t the AI. It was everything in between.<br \/>\nSo we built KarmaBox.<br \/>\nNow I can send one message from my phone, anywhere, anytime \u2014 and hundreds of AI agents take over.<br \/>\nClaude writes the code. Codex reviews the code. Gemini for generating image. Other agents execute. Everything runs in parallel, shares context in real time, and keeps going 24\/7 on my own devices.<br \/>\nNo tabs. No switching tools. No babysitting agents.<br \/>\nUnder the hood, KarmaBox turns your devices into a private compute pool, routes every task to the best AI, and works with Claude, Codex, Gemini and more \u2014 no infra, no lock-in.<br \/>\nWe didn\u2019t build another AI tool.We built the layer that lets all AI work together.<br \/>\nWould love to hear \u2014 if you\u2019re using multiple AI tools today, what\u2019s the most annoying part?<br \/>\n\ud83d\udc47 First 100 PH users get 1 month Pro free.<br \/>\n[<a href=\"https:\/\/forms.gle\/xznxthQ6qXkmf3mS6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/forms.gle\/xznxthQ6qXkmf3mS6<\/a>]<\/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\/@viveka7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@viveka7<\/a>&nbsp;Hey Viveka,<\/p>\n<\/p>\n<p>Orchestrating multiple AI models is genius, but explaining that complexity to drive sales is a different challenge.<\/p>\n<\/p>\n<p>My superpower is turning complex tech into landing pages that convert.<\/p>\n<\/p>\n<p>I&#8217;d love to show you how small UX tweaks to your current page could turn lookers into buyers.<\/p>\n<\/p>\n<p>Free 5-min chat?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019m not really interacting with individual AIs anymore &#8212; it feels more like directing a 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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;That\u2019s exactly the shift we\u2019re aiming for.<\/p>\n<p>Less about talking to individual AIs, more about setting direction and letting the system carry things forward.<\/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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;Thanks for the support!<\/p>\n<p>That&#8217;s exactly the vision \u2014 <strong>you become Tony Stark, and KarmaBox becomes your JARVIS.<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;Less about figuring out every step, more about setting the goal and letting the system handle 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>This is exactly what I&#8217;ve been wanting. I use Claude Code daily for development but being tied to my laptop for it feels limiting. Being able to kick off a task from my phone while commuting and check results later would change my workflow completely. How does it handle long-running tasks? Does it queue them and notify you when done, or is it more of a real-time interactive session?<\/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\/@elijahbowlby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elijahbowlby<\/a>&nbsp;That\u2019s exactly the use case we had in mind \ud83d\ude4c<\/p>\n<p>It\u2019s not really tied to a single session. Once you kick off a task, it keeps running in the background across your devices.<\/p>\n<p>So you can start something on your laptop, close it, and pick it up from your phone later \u2014 the system just keeps progressing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@elijahbowlby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elijahbowlby<\/a>&nbsp;For longer tasks, it\u2019s more like ongoing execution:<br \/>things keep moving, results sync back, and you can jump in whenever you want.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@elijahbowlby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elijahbowlby<\/a>&nbsp;<br \/>This is a simple copywriting task, no tools needed.<br \/>KarmaBox handles both:<\/p>\n<p><strong>Long-running tasks:<\/strong> We queue them and run them in the background on your devices. You get notified when complete.<\/p>\n<p><strong>Real-time sessions:<\/strong> For interactive work (like coding), you can maintain live sessions and check in anytime.<\/p>\n<p>Perfect for your commute use case \u2014 kick off a task on the train, and KarmaBox keeps working while you&#8217;re offline. Results waiting when you check back!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Huge congrats! Typiest is so real lol. Quick question: can I run this on an old phone or does it need beefy hardware?<\/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\/@xavier_hernandez2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xavier_hernandez2<\/a>&nbsp;Haha appreciate it \ud83d\ude4c Typiest is very real \ud83d\ude04<\/p>\n<p>You don\u2019t need a beefy phone. The phone is mainly the control center \u2014 sending tasks, monitoring, and continuing workflows.<\/p>\n<p>The actual heavy lifting runs across your other devices (laptop, workstation, servers, etc.), so even an older phone works fine.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@xavier_hernandez2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xavier_hernandez2<\/a>&nbsp;KarmaBox is designed to be lightweight. It works on most modern smartphones<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 different, great work Team<br \/>Does it work if some devices are offline or low battery, or does the whole pool need to be active for tasks to route properly? <\/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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;<br \/>KarmaBox continuously monitors device status (online\/offline, battery, load). When routing tasks, it only uses available devices:<\/p>\n<\/p>\n<p>The system is designed to be resilient \u2014 devices can come and go without breaking anything.<\/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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;Great question \u2014 and thanks!<\/p>\n<p>It doesn\u2019t require all devices to be online. We separate compute and state:<\/p>\n<ul>\n<li>\n<p>Compute is stateless (VPS \/ sandbox \/ laptop), so tasks can run on whatever is available.<\/p>\n<\/li>\n<li>\n<p>State is persisted separately, so progress isn\u2019t tied to any single machine.<\/p>\n<\/li>\n<\/ul>\n<p>If a device goes offline or runs low on battery, the system just routes work to others. No need for the whole pool to stay active.<\/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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;Thanks \ud83d\ude4f \u2014 and good question, because this is where the design choice actually matters.you&#8217;re asking about the KarmaBox pool \u2014 the machines you&#8217;ve connected (laptop, desktop, home server, etc.).<\/p>\n<p>Heartbeat-based registry. Each KarmaBox keeps a lightweight WebSocket to Server announcing state \u2014 online\/idle, online\/busy, offline (last-seen timestamp), plus power state (plugged in \/ on battery \/ low<\/p>\n<p>  battery). Server&#8217;s machine pool is a live view of who&#8217;s available right now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>wow interesting, Ill give it a try&#8230;&#8230;<\/p>\n<p>How are you different from Claude&#8217;s Remote Control?<\/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\/@achuth_noob\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@achuth_noob<\/a>&nbsp;Great question! Claude Remote Control lets you run Claude Code on a remote machine \u2014 it&#8217;s essentially a terminal in the cloud. Karma goes further in a few key ways:<\/p>\n<\/p>\n<p>1. Mobile-native, not mobile-adapted<\/p>\n<p>Karma is built from the ground up for your phone. Full conversation history, streaming responses, tool call visualization, voice input \u2014 all designed as a mobile-first experience, not a ported terminal.<\/p>\n<\/p>\n<p>2. Your machine, your data<\/p>\n<p>Karma runs on your KarmaBox (Mac\/Linux). The AI executes on hardware you own. E2E encrypted. Nothing goes through Anthropic&#8217;s servers except the LLM call itself.<\/p>\n<\/p>\n<p>3. Persistent AI teammates, not sessions<\/p>\n<p>Avatars with skills, memory, and personalities that persist across conversations. Think less &#8220;remote terminal&#8221; and more &#8220;AI coworker you can reach from your phone at 2am.&#8221;<\/p>\n<\/p>\n<p>4. Orchestration layer<\/p>\n<p>Multi-agent coordination, skill marketplace, project-level context \u2014 built for teams running parallel workstreams, not just a single dev querying Claude.<\/p>\n<\/p>\n<p>In short: Claude Remote Control is a power tool. Karma is the operating system around 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@achuth_noob\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@achuth_noob<\/a>&nbsp;Great question \u2014 and excited for you to try it out \ud83d\ude4c<\/p>\n<p>Claude\u2019s Remote Control is mainly about accessing and running Claude across devices.<\/p>\n<p>KarmaBox is a bit different \u2014 it\u2019s not tied to a single model or a single machine.<\/p>\n<p>It coordinates multiple models and agents, runs them across all your devices as one system, and keeps tasks moving even if you step away or switch devices.<\/p>\n<p>So instead of controlling one AI remotely, you\u2019re essentially running a whole system of them together.<\/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 a genuinely interesting concept.<\/p>\n<p>Quick question, BTW, how does KarmaBox handle task routing decisions? Is it rule-based, or does something smarter decide which model gets which job?<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Great question \u2014 this is actually a core part of how KarmaBox works.<\/p>\n<p>It\u2019s not just rule-based. We use a routing layer that looks at the task context and decides which model, agent, and even which device should handle each part.<\/p>\n<p>Think of it less like fixed rules, and more like a system that\u2019s continuously choosing the best path for the job.<\/p>\n<p>Still evolving, of course \u2014 would love to hear how you\u2019re currently handling routing on your side \ud83d\udc40<\/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 brilliant!<\/p>\n<\/p>\n<p>The biggest difference for me is the parallel execution. Things that used to take multiple steps now just happen at once.<\/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\/@itsluo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsluo<\/a>&nbsp;Love hearing that \u2014 that shift is exactly what we were aiming for.<\/p>\n<p>Once things start running in parallel, it really changes how you approach work altogether.<\/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\/@itsluo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsluo<\/a>&nbsp;Thanks so much for the support! <\/p>\n<p>You&#8217;ve hit the nail on the head \u2014 parallel execution is exactly what we set out to solve. Instead of waiting for one AI task to finish before starting the next, KarmaBox lets multiple agents work simultaneously on your device.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I am curious what&#8217;s the weirdest thing you have seen KarmaBox do that surprised you during testing?<\/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\/@fletcher_oliver\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fletcher_oliver<\/a>&nbsp;Haha great question \ud83d\ude04<\/p>\n<p>One thing that surprised us was how quickly agents started coordinating on their own.<\/p>\n<p>We\u2019d kick off a task expecting a linear flow, and instead multiple agents would split it up, share context, and converge on a result way faster than we planned.<\/p>\n<p>It wasn\u2019t something we explicitly scripted \u2014 more like the system figuring out a better way to get things done.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fletcher_oliver\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fletcher_oliver<\/a>&nbsp;Curious what kind of \u201cweird\u201d behavior you\u2019d want to see from a system like this? 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>So cool congrats on the launch!  Most annoying part for me is logging into 5 different AI tools every morning. Does KarmaBox handle auth across them automatically?<\/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\/@antonio_manuel1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antonio_manuel1<\/a>&nbsp;Totally feel that \u2014 it adds up fast.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@antonio_manuel1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antonio_manuel1<\/a>&nbsp;KarmaBox doesn\u2019t auto-log into everything, but once you connect your models\/services, everything runs through one system.<\/p>\n<p>So you\u2019re not jumping between tools or re-authing every time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@antonio_manuel1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antonio_manuel1<\/a>&nbsp; Thanks \ud83d\ude4f \u2014 this is one of the pain points that motivated the whole thing, so let me be specific.<\/p>\n<p>  Short answer: yes \u2014 connect once, never log in again.<\/p>\n<p>  Karma handles AI provider access entirely. Use the energy wallet \u2014 no separate ChatGPT \/ Claude \/ Gemini accounts to log into at all. One Karma login, all the models. Most users land here.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Well done, Viveka!  This feels huge. How do you handle API costs does it get expensive if agents run 24\/7 on my device?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@barnaby_lloyd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@barnaby_lloyd<\/a>&nbsp;Appreciate it \ud83d\ude4c great question.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@barnaby_lloyd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@barnaby_lloyd<\/a>&nbsp;Running 24\/7 doesn\u2019t mean it\u2019s constantly burning tokens \u2014 agents are mostly event-driven and only call APIs when there\u2019s actual work to do.<\/p>\n<p>On top of that, we route tasks across different models depending on the job, so you\u2019re not always hitting the most expensive one.<\/p>\n<p>Since compute runs on your own devices, you also avoid a lot of the infra cost you\u2019d normally have.<\/p>\n<p>So it\u2019s pretty controllable in practice \u2014 and we\u2019re adding more knobs for users to tune cost vs quality 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@barnaby_lloyd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@barnaby_lloyd<\/a>&nbsp;Thanks \ud83d\ude4f<\/p>\n<p>  To answer at the layer beneath the user-facing controls \u2014 because the cost story is partly about routing, but mostly about what we run behind the routing.<\/p>\n<p>  Aggregated LLM credit pool. Karma negotiates volume rates across Anthropic \/ OpenAI \/ Gemini \/ Qwen \/ DeepSeek and pools usage across our user base. That&#8217;s 20\u201340% better unit economics than any individual<\/p>\n<p>  user gets on direct API. Variance gets absorbed by the pool \u2014 you don&#8217;t feel the spikes, and the energy unit stays stable across vendor pricing changes.<\/p>\n<p>  Aggregated cloud execution pool. Sandbox runtimes (E2B), VPS-class compute, GPU resources for image\/video \u2014 all warm-pooled with second-scale provisioning. No cold-start tax billed to your task, no per-VM<\/p>\n<p>  rental on your account. When an avatar fans out to a sandbox or spins up a longer container, the capacity is already there.<\/p>\n<p>  This is what lets routing stay quality-neutral. If we were a thin passthrough, every &#8220;Sonnet not Opus&#8221; call would be a quality-vs-cost tradeoff for the user. Because the backend is pooled, routing optimizes<\/p>\n<p>   against pool economics \u2014 you still get the right model for the task; the savings come from infrastructure leverage, not from downgrading your output.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Which models are best for which tasks in your opinion? What I see recently is that Opus is leading practically any category on Arena.AI. Given they offer their subscription at a huge discount, compare it to tokens via API, the rational choice is Opus for all. <\/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\/@visualpharm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@visualpharm<\/a>&nbsp;Great question \u2014 but I\u2019d push back on \u201cOpus for everything.\u201d<\/p>\n<p>Arena \u2260 real workloads. It measures chat quality, but real usage involves latency, agent loops, tool calls, long context, etc.<\/p>\n<p>A few quick points:<\/p>\n<ul>\n<li>\n<p><strong>Latency matters<\/strong> \u2014 slower models hurt UX in interactive flows<\/p>\n<\/li>\n<li>\n<p><strong>Different strengths<\/strong> \u2014 coding, reasoning, classification, multimodal all favor different models<\/p>\n<\/li>\n<li>\n<p><strong>Blended routing wins<\/strong> \u2014 fast model for most tasks, stronger model when needed<\/p>\n<\/li>\n<\/ul>\n<p>In practice, one model rarely wins everything.<\/p>\n<p>That\u2019s why KarmaBox is model-agnostic with routing built in \u2014 so each task gets the right model automatically.<\/p>\n<p>Curious how you\u2019re choosing models in your setup today?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Having tasks run across devices instead of a single machine is a big unlock.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 didn\u2019t realize how tiring it is to keep checking progress until I didn\u2019t have 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cynthia220\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cynthia220<\/a>&nbsp;That\u2019s such a real one.<\/p>\n<p>A lot of the fatigue isn\u2019t the work itself \u2014 it\u2019s constantly checking and nudging things forward.<\/p>\n<p>Once that goes away, the whole experience feels a lot lighter.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch, it looks very different.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@shirleyw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shirleyw<\/a>&nbsp;Thanks \u2014 really appreciate that!<\/p>\n<p>We were aiming to do something a bit different from the usual AI tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Once you get used to multiple agents running together, going back to single-thread AI feels really limiting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@janicelewis00\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@janicelewis00<\/a>&nbsp;Exactly \u2014 once you&#8217;ve experienced parallel AI execution, single-thread feels like using a flip phone. There&#8217;s no going back!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@janicelewis00\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@janicelewis00<\/a>&nbsp;Totally \u2014 that switch from step-by-step to parallel is hard to unsee.<\/p>\n<p>Once multiple agents are working at the same time, the old \u201cwait \u2192 next step \u2192 wait\u201d flow just feels slow.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>wait \u2014 hundreds of agents on a phone? curious how you handle the battery + thermal side of long-running tasks. is it more of a remote-control-your-mac thing or actually executing on-device?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tijogaucher\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tijogaucher<\/a>&nbsp;Heavy AI compute runs in the cloud (Claude, Gemini, etc.), while your device handles lightweight orchestration \u2014 so minimal battery\/thermal impact. You can also set battery limits and pause tasks when needed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tijogaucher\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tijogaucher<\/a>&nbsp;Haha yeah \u2014 definitely not melting your phone \ud83d\ude04<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@tijogaucher\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tijogaucher<\/a>&nbsp;The phone is mainly the control layer, not where the heavy work runs.<\/p>\n<p>Actual execution happens across your other devices (laptop, workstation, servers, etc.). The phone just lets you trigger, monitor, and continue tasks.<\/p>\n<p>So battery\/thermal impact on the phone is minimal \u2014 it\u2019s closer to \u201cremote control + command center\u201d than on-device execution.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I didn\u2019t realize how much time I was losing waiting for one step to finish before starting the 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@shaowei1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shaowei1<\/a>&nbsp;Exactly \u2014 that hidden waiting time adds up more than people expect.<\/p>\n<p>Once things run in parallel, you stop thinking in \u201csteps\u201d and start thinking in outcomes.<\/p>\n<p>Curious what kind of workflows you felt this the most in?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@shaowei1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shaowei1<\/a>&nbsp;That&#8217;s the hidden cost of sequential AI \u2014 KarmaBox reclaims all that lost time by running everything 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\">Hi Viveka,<br \/>\nCongratulations on the launch. The concept is really cool and as someone really struggling to use multiple agents in a pipeline, I really wanted to try it out. But looks like this app is not available in my country.<\/div>\n<div class=\"comment-actions\">\n<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\/@satish_autade\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@satish_autade<\/a>&nbsp;Hey \u2014 really appreciate that, and totally hear you on the multi-agent pain \ud83d\ude4c<\/p>\n<p>Right now the app is only available on the App Store in North America and Singapore while we\u2019re rolling things out gradually.<\/p>\n<p>If you\u2019re open to it, we can add you to our early access list for the next regions \u2014 happy to get you in as soon as it\u2019s available \ud83d\udc4d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@satish_autade\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@satish_autade<\/a>&nbsp;Out of curiosity, which country are you based in?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Once you get used to multiple agents running together, going back to single-thread AI feels really limiting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@yan_labs_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yan_labs_<\/a>&nbsp;Exactly \u2014 that\u2019s been our experience too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yan_labs_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yan_labs_<\/a>&nbsp;Once you see things happening in parallel, the old step-by-step flow starts to feel really constrained.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 like that I can focus on what I\u2019m trying to achieve, instead of how to get there step by step.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@wenjun_shi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wenjun_shi<\/a>&nbsp;That\u2019s exactly the shift we\u2019re going for \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@wenjun_shi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wenjun_shi<\/a>&nbsp;Less about figuring out every step, more about setting the goal and letting the system handle 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@wenjun_shi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wenjun_shi<\/a>&nbsp;  Thanks \ud83d\ude4f \u2014 that&#8217;s actually the entire design thesis in one sentence.<\/p>\n<p>  Most AI tools still make you carry the how: pick the right model, write the right prompt, chain the right tools, manage the context, remember what you said last time. The load just shifts from doing the<\/p>\n<p>  work to operating the AI.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/GC55BQLLOYP36O\" class=\"app-title\">Gro v2<\/a><\/p>\n<div class=\"one-liner\">Spot signals, trigger outreach &#8211; turn posts into pipeline<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">248<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Gro v2\u901a\u8fc7\u5185\u5bb9\u641c\u7d22\u548c\u793e\u4ea4\u4fe1\u53f7\u76d1\u63a7\uff0c\u5e2e\u52a9B2B\u9500\u552e\u56e2\u961f\u5728LinkedIn\u4e0a\u5b9e\u65f6\u6355\u6349\u4e70\u5bb6\u9ad8\u610f\u56fe\u5e16\u5b50\uff0c\u5e76\u81ea\u52a8\u89e6\u53d1\u8bc4\u8bba\u3001\u79c1\u4fe1\u3001\u90ae\u4ef6\u7b49\u8ddf\u8fdb\u52a8\u4f5c\uff0c\u89e3\u51b3\u4ece\u4fe1\u53f7\u53d1\u73b0\u5230\u4e3b\u52a8\u89e6\u8fbe\u7684\u624b\u52a8\u4f4e\u6548\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\/a4435faa-5f3d-4ebd-a4ae-e9573a8d72aa.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\/9daf7df8-942b-4b13-b79b-51b4b5db5ff6.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\/4f427f15-50d5-4093-b2c1-1d8e09198d28.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\/cba88607-1332-45fc-b093-41f1394e5794.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\/2a417cf8-63ea-484b-81ca-3608aed93c53.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\/ffc4ce85-5521-47e6-bb74-4fd24b319655.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/HsbEtnXdf1c\"><source src=\"https:\/\/youtu.be\/HsbEtnXdf1c\" 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\">Sales<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">CRM<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u793e\u4ea4\u9500\u552e<\/span><br \/>\n            <span class=\"tag\">B2B\u9500\u552e\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">LinkedIn\u7ebf\u7d22\u6316\u6398<\/span><br \/>\n            <span class=\"tag\">\u610f\u56fe\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4CRM<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u8d4b\u80fd\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\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a1\uff09\u81ea\u52a8\u5316\u4e0e\u4e2a\u6027\u5316\u5e73\u8861\uff08Gro\u56de\u5e94\u53ef\u57fa\u4e8e\u4e0a\u4e0b\u6587\u548c\u8bed\u8c03\u6a21\u677f\uff09\uff1b2\uff09\u5237\u65b0\u9891\u7387\uff08\u76ee\u524d12\u5c0f\u65f6\u5468\u671f\u6027\u626b\u63cf\uff0c\u975e\u5b9e\u65f6\uff09\uff1b3\uff09\u5916\u90e8\u96c6\u6210\uff08\u5c1a\u65e0Zapier\/Make\uff0c\u89c4\u5212\u4e2d\uff09\uff1b4\uff09\u5b9a\u4ef7\u4e0e\u8bd5\u7528\uff08\u6709\u514d\u8d39100\u79ef\u5206\u5c42\uff09\uff1b5\uff09\u5bf9\u6bd4Sales Navigator\uff08Gro\u5f3a\u8c03\u4ece\u4fe1\u53f7\u5230\u884c\u52a8\u7684\u95ed\u73af\u6267\u884c\uff09\u3002\u90e8\u5206\u7528\u6237\u901a\u8fc7F5Bot+\u624b\u52a8\u6eda\u52a8\u7c7b\u6bd4\u75db\u70b9\uff0c\u5bf9\u4f2a\u6b63\u4fe1\u53f7\u8fc7\u6ee4\u8868\u793a\u5173\u5207\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                Gro v2\u5e76\u975e\u98a0\u8986\u5f0f\u521b\u65b0\uff0c\u800c\u662f\u5bf9B2B\u793e\u4ea4\u9500\u552e\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u95ee\u9898\u7684\u7cbe\u51c6\u7f1d\u5408\u3002\u5b83\u89e3\u51b3\u7684\u75db\u70b9\u975e\u5e38\u771f\u5b9e\uff1a\u9500\u552e\u56e2\u961f\u5728LinkedIn\u4e0a\u7528\u5173\u952e\u8bcd\u641c\u7d22\u201c\u610f\u56fe\u4fe1\u53f7\u201d\uff0c\u7136\u540e\u624b\u52a8\u6253\u5f00\u51e0\u5341\u4e2a\u6807\u7b7e\u9875\u3001\u590d\u5236\u7c98\u8d34\u3001\u64b0\u5199\u4e2a\u6027\u5316\u6d88\u606f\u2014\u2014\u8fd9\u5957\u52a8\u4f5c\u6d88\u8017\u7684\u65f6\u95f4\u6210\u672c\u8fdc\u8d85\u60f3\u8c61\u3002Gro\u7684\u4ef7\u503c\u5728\u4e8e\uff0c\u5b83\u628a\u201c\u53d1\u73b0\u4fe1\u53f7\u201d\u548c\u201c\u6267\u884c\u52a8\u4f5c\u201d\u8fd9\u4e24\u4e2a\u672c\u5e94\u5728\u4e00\u4e2a\u5927\u8111\u91cc\u5b8c\u6210\u7684\u6d41\u7a0b\uff0c\u5f3a\u884c\u7528\u81ea\u52a8\u5316\u7c98\u5408\u5728\u4e86\u4e00\u8d77\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7684\u5c40\u9650\u6027\u540c\u6837\u660e\u663e\u3002\u6700\u6838\u5fc3\u7684\u95ee\u9898\u662f\u201c\u5237\u65b0\u5468\u671f12\u5c0f\u65f6\u201d\u2014\u2014\u5728\u4fe1\u606f\u7206\u70b8\u7684LinkedIn\u751f\u6001\u4e2d\uff0c\u8fd9\u57fa\u672c\u5931\u53bb\u4e86\u201c\u5b9e\u65f6\u54cd\u5e94\u201d\u7684\u6218\u7565\u610f\u4e49\uff0c\u5c24\u5176\u662f\u5f88\u591a\u9ad8\u610f\u56fe\u5e16\u5b50\u7684\u7a97\u53e3\u671f\u53ea\u6709\u51e0\u5c0f\u65f6\u3002\u5982\u679cGro\u7684\u626b\u63cf\u9891\u7387\u4e0d\u80fd\u505a\u523015\u5206\u949f\u5185\uff0c\u90a3\u4e48\u5b83\u5bf9\u201c\u7d27\u76ef\u5373\u65f6\u4fe1\u53f7\u201d\u7684\u7528\u6237\u6765\u8bf4\u4f9d\u7136\u662f\u9e21\u808b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u8bc4\u8bba\u4e2d\u5bf9\u201c\u4f2a\u6b63\u4fe1\u53f7\u201d\u7684\u62c5\u5fe7\u975e\u5e38\u5173\u952e\u3002Gro\u76ee\u524d\u4f9d\u8d56\u5173\u952e\u8bcd+\u4e0a\u4e0b\u6587\u7684\u7ec4\u5408\u8bc4\u5206\uff0c\u867d\u7136\u6bd4\u7eaf\u5173\u952e\u8bcd\u8fc7\u6ee4\u5f3a\uff0c\u4f46\u5c1a\u672a\u5c55\u73b0\u51faAI\u5bf9\u201c\u8bed\u6c14\/\u610f\u56fe\u7ef4\u5ea6\u201d\u7684\u6df1\u5ea6\u7406\u89e3\u3002\u76f8\u6bd4\u5176\u4ed6\u7ade\u54c1\uff08\u5982Clay\u3001Zapier+Apify\u7ec4\u5408\uff09\uff0cGro\u7684\u4f18\u52bf\u5728\u4e8e\u95ed\u73af\u4f53\u9a8c\uff0c\u52a3\u52bf\u5219\u5728\u4e8e\u7075\u6d3b\u6027\u548c\u751f\u6001\u96c6\u6210\u5ea6\u3002\u5bf9\u4e8e\u5df2\u7ecf\u642d\u5efa\u597d\u590d\u6742\u6280\u672f\u6808\u7684\u5c0f\u56e2\u961f\uff0cGro\u66f4\u50cf\u662f\u4e00\u4e2a\u201c\u56f4\u5899\u82b1\u56ed\u201d\uff0c\u800c\u975e\u53ef\u5d4c\u5165\u7684\u667a\u80fd\u6a21\u5757\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aGro\u5bf9\u201c\u6708\u85aa\u4fbf\u5b9c\u3001\u6d41\u7a0b\u5197\u4f59\u201d\u7684\u5c0f\u578bB2B\u56e2\u961f\u662f\u5229\u5668\uff0c\u4f46\u5bf9\u8ffd\u6c42\u5b9e\u65f6\u6027\u3001\u590d\u6742\u6570\u636e\u96c6\u6210\u7684\u4e2d\u5927\u578b\u7ec4\u7ec7\uff0c\u76ee\u524d\u4ecd\u662f\u4e00\u4e2a\u201c\u534a\u6210\u54c1\u201d\u7684\u8212\u9002\u533a\u4ea7\u7269\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\">Gro v2<\/span>\n                <\/div>\n<div class=\"comment-content\">Gro\u2019s new Content Search + Social Signal Monitoring helps you find what your buyers are already talking about, identify the authors worth engaging, and then automatically monitor for new high-intent posts so you can respond the moment intent shows up (you see the post). When a matching post appears, Gro can trigger your playbook instantly: alert you, comment, send a connection request, and draft\/send email\/message \u2014 all from one workflow. From content \u2192 to leads \u2192 to monitoring \u2192 to action.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone! Alexis here. We\u2019re excited to share Gro\u2019s new feature: Content Search + Social Signal Monitoring. <\/p>\n<p>The idea is simple: instead of guessing who\u2019s in-market, we help you find real conversations your buyers are already having on LinkedIn, turn those posts into leads, and then keep an eye on future posts so you can engage at the right moment. <\/p>\n<p>With Gro, you can search LinkedIn content by topic\/timeframe, identify the right authors, save them to your Social CRM, and then monitor for new posts that match your ICP + signal. When a match happens, Gro can notify you and trigger actions like commenting, connecting, and drafting\/sending an dm, email or inMail. <\/p>\n<p>We\u2019re here all day\u2014ask anything. Also curious: what tools\/workflows are you using today to catch \u201chigh-intent\u201d signals (Sales Nav alerts, manual feed scanning, communities, newsletters, etc.)?<\/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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Automation sometimes kills personalization, is there a structure or template that keeps messages and comments created by Gro from sounding automated?<\/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\/@bengeekly\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bengeekly<\/a>&nbsp;Personalization is core to how we built Gro \u2014 every message is generated based on the lead&#8217;s recent activity, profile context, and the specific signal that triggered the outreach, so it&#8217;s never a static template. You can also set tone preferences and voice guidelines per campaign to keep things on-brand.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3141ad0b-55dd-4326-84cf-f837121a793a.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is there a Zapier or Make integration so I can wire signal triggers into my existing stack?<\/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\/@leah_leee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@leah_leee<\/a>&nbsp;Honestly, not at this current moment but we are working to bring integrations to our users for this new feature so that you can do exactly what you asked. Thanks for the question!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\ude80 <\/p>\n<p>The Social CRM angle is what really caught my eye \u2014 being able to save authors and track their future posts based on ICP fit is a workflow I didn&#8217;t know I needed.<\/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\/@jaredl\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jaredl<\/a>&nbsp;thank you and that&#8217;s great to know! please try it and let us know how you fare\/if you have any questions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How quickly does a new post get indexed \u2014 is there a lag between when it&#8217;s posted and when Gro surfaces 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\/@doriiiiis_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doriiiiis_<\/a>&nbsp;Thanks for the question! Our monitoring function is currently set at 12 hours periodically, i.e. if you initiate a social signal monitor at 08:00, the scan would activate at 20:00, and so on. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What I didn&#8217;t se is, do we get context, such as what a person posted, to use with emails to the lead? That&#8217;s a definigng factor that greatly warm the colod of email cold-calling. <\/p>\n<p>Also, credits I see, but rates for the various actions woul dbe great.<\/p>\n<p>Best of luck 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\/@osakasaul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@osakasaul<\/a>&nbsp;Hi Saul, great question. Yes, you get context (i.e. the whole post) when you go deeper into the social signal analysis. <\/p>\n<p>Here are the credit rates for various actions:<\/p>\n<ul>\n<li>\n<p>Per search: 2<\/p>\n<\/li>\n<li>\n<p>Import: 2<\/p>\n<\/li>\n<li>\n<p>Email enrichment: 2<\/p>\n<\/li>\n<li>\n<p>Profile enrichment: 2<\/p>\n<\/li>\n<li>\n<p>Buying intent analysis: 1<\/p>\n<\/li>\n<li>\n<p>Propensity analysis: 5<\/p>\n<\/li>\n<\/ul>\n<p>Our monthly credit offerings for the tiers ranges from 2000-10,000. <\/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>Is there a free trial or freemium tier for solo founders who want to test before committing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jiaqichen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jiaqichen<\/a>&nbsp;Yes! We have a freemium tier with 100 credits that includes people search, Social CRM (data enrichment + lead import), propensity analysis, and social signal analysis. Each action uses credits, so you can play around with the core workflow before deciding if you want to upgrade. Plenty to test the waters as a solo founder.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>To answer your question &#8211; right now I&#8217;m using F5Bot for Reddit keyword monitoring (tracking about 15 phrases related to my product&#8217;s use case) and manual scrolling on LinkedIn\/IH for intent signals. It works but it&#8217;s slow and I definitely miss posts that would have been relevant.<\/p>\n<p>The &#8220;monitor -&gt; alert -&gt; trigger action&#8221; flow is what I&#8217;m essentially doing manually. Curious how Gro handles the balance between catching real intent vs false positives &#8211; that&#8217;s where most keyword monitoring breaks down for me. A post mentioning &#8220;translation&#8221; could be someone looking for a tool or someone complaining about Google Translate&#8217;s grammar.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nazarenko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nazarenko<\/a>&nbsp;That\u2019s a very real problem and honestly, what you described (F5Bot + manual scrolling) is exactly how most people <em>start<\/em> before it becomes unmanageable. You\u2019ve already nailed the core issue: keyword monitoring breaks because it treats every mention = intent, when in reality most of it is just noise. Using F5Bot + LinkedIn manually gives you coverage, but not interpretation.<\/p>\n<\/p>\n<p>Gro balances this out with <strong>1. context <\/strong>(i.e. surrounding phrases, role, company, type of sentence etc.) so it&#8217;s closer to answering the question of &#8220;is this person likely to be in a buying mindset?&#8221;, and <strong>2. multi-signal layering<\/strong>, for example. <\/p>\n<ul>\n<li>\n<p>mentions \u201ctranslation\u201d<\/p>\n<\/li>\n<li>\n<p>recently hired localization team<\/p>\n<\/li>\n<li>\n<p>works in a scaling SaaS company<\/p>\n<\/li>\n<\/ul>\n<p>Much higher confidence vs just a random post.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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, this is slick! can it monitor for negative signals too like complaints about competitors, or just positive intent?<\/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\/@indigo_carpiniello\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@indigo_carpiniello<\/a>&nbsp;Appreciate it! Quick clarification on how it works today: Content Search is a one-shot keyword search across posts, so with the right phrases (&#8220;frustrated with [competitor],&#8221; &#8220;looking for alternatives to X,&#8221; etc.) you can absolutely surface negative-signal posts right now. What we don&#8217;t have yet is a &#8220;monitor this search query&#8221; function. Today monitoring runs at the author level (track future posts from authors you&#8217;ve saved). Continuous monitoring on a search query is on our roadmap:)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s awesome Alexis! Signals usually are to hard to get monitored and you&#8217;re doing an excellent job on it. Wish you all the best here<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank you! Appreciate the comment, please give it a shot and let us know how you fare. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What\u2019s the average response time from when a post goes live to when Gro triggers an action? Real time enough?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@peyton_perez\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peyton_perez<\/a>&nbsp;Thanks for the question, Peyton. Our main focus is very much finding the right intent signals within a reasonable amount of time for our users to get the messaging right. At the moment, the refresh is every 12 hours, and once found within the most updated cycle, any programmed flow would trigger. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Huge congrats!  I currently use Sales Nav alerts. How is Gro different? Would love to understand the overlap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@asher_luca\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asher_luca<\/a>&nbsp;Thanks for the question! Gro mainly differs on the following: insight to action gap<\/p>\n<\/p>\n<p>Sales Nav gives you a reason to reach out but you still have to:<\/p>\n<ul>\n<li>\n<p>decide who to prioritize<\/p>\n<\/li>\n<li>\n<p>write the message<\/p>\n<\/li>\n<li>\n<p>run the sequence<\/p>\n<\/li>\n<\/ul>\n<p>while Gro goes from signal \u2192 targeting \u2192 messaging \u2192 outreach (LinkedIn + email) in one flow.<\/p>\n<\/p>\n<p>and then there is Individual alerts vs system-level orchestration:<\/p>\n<ul>\n<li>\n<p>Sales Nav is very seller-driven (you interpret + act)<\/p>\n<\/li>\n<li>\n<p>Gro is more system-driven (it suggests + executes at scale)<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 do it with Make &amp; Apify &amp; Clay. If it&#8217;s possible to have it in one place &#8211; that&#8217;s awesome. do you integrate with tools like Instantly to push relevant leads there (or anywhere else) or do I have to send through your tool?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@philip_kubinski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_kubinski<\/a>&nbsp;<br \/>Short answer: you\u2019re not locked in.<\/p>\n<p>We are in the midst of building Gro to work both ways depending on how you like to run outbound:<\/p>\n<\/p>\n<p>1) Use Gro end-to-end (currently the status quo)<br \/>Most users just run everything inside \u2014 from discovery \u2192 scoring \u2192 LinkedIn\/email outreach \u2014 mainly because the data stays \u201clive\u201d (intent signals, enrichment, engagement all in one loop).<\/p>\n<\/p>\n<p>2) Plug into your existing stack (we currently have hubspot, and working on webhook)<br \/>Soon, you can absolutely push leads out:<\/p>\n<ul>\n<li>\n<p>Export or sync enriched + scored leads<\/p>\n<\/li>\n<li>\n<p>Trigger via webhooks into your sequencer<\/p>\n<\/li>\n<li>\n<p>Use Gro more as the \u201cthinking + targeting layer\u201d on top of your stack<\/p>\n<\/li>\n<\/ul>\n<p>Where we\u2019re opinionated is this: Most workflows break when you export static lists too early. The moment leads leave, you lose intent freshness + adaptive targeting; which is why a lot of Clay-style setups need constant re-refreshing.<\/p>\n<\/p>\n<p>So it\u2019s less \u201cyou have to send through Gro\u201d and more:<br \/>\u2192 If you want maximum performance, keep it in one loop<br \/>\u2192 If you want flexibility, we are working to allow you plugging into your stack just fine<\/p>\n<\/p>\n<p>Are you mostly running cold email via Instantly, or doing LinkedIn + email in parallel? That usually changes how people set it up<\/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 great stuff guys! Very helpful for us and I think for all small teams. While development gets all the love, sales matters the most in the end, and most are not that good at it \ud83d\ude2c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@th_calafatidis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@th_calafatidis<\/a>&nbsp;Thanks so much! Totally agree, sales is often the difference between a great product getting adopted and a great product getting overlooked. Glad Gro can help level the playing field, especially for small teams who don&#8217;t have a full sales org behind them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, Alexis! This sounds super useful. How accurate is the signal monitoringndo you ever get false positives?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@daniel_harris11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_harris11<\/a>&nbsp;At the moment, we&#8217;re focused on keywords and the mission is to reduce noise enough so that the signals are useful at scale. We weight signals (e.g. hiring, tech changes, engagement patterns) and look at combinations, not just single events for our scoring analysis. <\/p>\n<p>Instead of just \u201cX happened \u2192 notify you\u201d, Gro is also constantly re-scoring accounts based on:<\/p>\n<ul>\n<li>\n<p>recency<\/p>\n<\/li>\n<li>\n<p>frequency<\/p>\n<\/li>\n<li>\n<p>ICP fit<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>awesomeee!! congrats, looks great!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;Thanks, pls give it a shot.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Do you plan to add account-level signal aggregation \u2014 e.g., &#8216;three people at this company all posted about X this month&#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><a href=\"https:\/\/www.producthunt.com\/@yan_labs_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yan_labs_<\/a>&nbsp; Love this question. Today, signals are surfaced at the individual author level, but account-level aggregation is something we&#8217;re actively designing, exactly the scenario you described (&#8220;multiple people at one company posting about the same topic in a given window&#8221;). It&#8217;s a much stronger buying signal and pairs naturally with ABM workflows. Would love to keep you posted when it ships.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">Can I train Gro on my own writing style or past messages so outreach sounds like me, not a generic template?<\/div>\n<div class=\"comment-actions\">\n<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\/@nah_na\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nah_na<\/a>&nbsp;Yes. In our Custom Guidelines field, you can paste in a few of your past messages as reference and instruct Gro to mirror that style,  things like sentence length, opening style, and word choice. It&#8217;s a simple way to get the voice closer to yours from day one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is there a way to A\/B test different message angles within Gro to see which resonates with a given signal type?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@josie_oy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@josie_oy<\/a>&nbsp;Great question! A\/B testing isn&#8217;t live yet, but it&#8217;s high on our roadmap, being able to compare angles per signal type is exactly the kind of feedback loop we want to build in. For now, users typically run parallel campaigns with different message angles.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What&#8217;s the maximum number of monitors or saved searches a single workspace can have?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@eexlkuang_se\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eexlkuang_se<\/a>&nbsp;Great question. As many as your credit allowance can handle<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Amazing, what&#8217;s the average company coverage like for mid-market SaaS? That&#8217;s usually where the gaps show up in tools like this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;Thanks for the great question and you\u2019re right, mid-market SaaS is exactly where most tools start to break down. From what we\u2019ve seen running campaigns (and building Gro around that), the issue isn\u2019t top-of-funnel coverage, most tools can give you thousands of contacts. The gap shows up in relevant coverage:<\/p>\n<ul>\n<li>\n<p>In typical outbound tools, you might get broad account coverage, but only a small % are actually active or in-market<\/p>\n<\/li>\n<li>\n<p>That\u2019s why you see ~3% connect rates and ~1% replies in standard workflows<\/p>\n<\/li>\n<\/ul>\n<p>For mid-market SaaS specifically, what tends to work better is signal-based coverage vs static lists:<\/p>\n<ul>\n<li>\n<p>Instead of \u201cwe have X% of companies in your ICP,\u201d<\/p>\n<\/li>\n<li>\n<p>it becomes \u201cwe\u2019re tracking the subset of accounts showing intent right now\u201d<\/p>\n<\/li>\n<\/ul>\n<p>With Gro, coverage is less about database size and more about how many high-intent accounts you can actually engage at a given moment which is why campaigns tend to land closer to ~28\u201330% connect and ~10% reply rates when targeting is tight<\/p>\n<\/p>\n<p>So short answer:<br \/>Mid-market coverage isn\u2019t the bottleneck anymore, precision within that coverage is<strong>.<\/strong> That\u2019s where most tools fall short (and where we\u2019ve focused heavily).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 <a href=\"https:\/\/www.producthunt.com\/@alexis_lee3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"alexis_lee3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexis_lee3<\/a> \ud83c\udf89<br \/>Curious how Gro handles intent signal freshness, though. Is the 1B+ database updated in real time or on a crawl cycle?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thanks for the question! It&#8217;s real time and we&#8217;re always looking for new data sources to connect. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can I set a tone preference (e.g., casual vs. formal) per campaign or per lead segment?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@3rdmatter\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@3rdmatter<\/a>&nbsp;Yes you can, we have laid out the options for users to choose mainly for the campaign. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 a person who freelances, this is gold! Really love how it searches for the right keywords to track the convos on linkedin<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sunaina_ukil1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sunaina_ukil1<\/a>&nbsp;I&#8217;m glad it&#8217;s resonating with you! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/MMUEZ3KSPUD4JN\" class=\"app-title\">Netlify Database<\/a><\/p>\n<div class=\"one-liner\">Ship data-driven apps without breaking flow<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">244<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Netlify Database \u662f\u4e00\u6b3e\u4e0e\u5e73\u53f0\u6df1\u5ea6\u96c6\u6210\u7684\u5168\u6258\u7ba1 Postgres \u6570\u636e\u5e93\uff0c\u901a\u8fc7\u4e3a\u6bcf\u4e2a Git PR \u81ea\u52a8\u521b\u5efa\u72ec\u7acb\u6570\u636e\u5e93\u5206\u652f\uff0c\u5f7b\u5e95\u89e3\u51b3\u56e2\u961f\u5728\u5171\u4eab\u9884\u53d1\u5e03\u73af\u5883\u4e2d\u56e0\u6570\u636e\u6c61\u67d3\u548c\u8fc1\u79fb\u51b2\u7a81\u5bfc\u81f4\u7684\u90e8\u7f72\u62e5\u5835\u4e0e\u4fe1\u4efb\u5371\u673a\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\/50815ca6-8a4a-4619-a665-4bde7177dd6b.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\/d618fdc3-c0b0-4daa-a821-7dfb21833608.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\/7945bbff-99a6-4cc6-bc3d-31b387a6f191.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\/d90c002c-142e-450a-bde6-d778cea9614a.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\/a5dfe15f-f604-4b59-837f-9e6bf266e48f.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=InMKM05QIuo\"><source src=\"https:\/\/www.youtube.com\/watch?v=InMKM05QIuo\" 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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Database<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6258\u7ba1\u6570\u636e\u5e93<\/span><br \/>\n            <span class=\"tag\">PostgreSQL<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u5e93\u5206\u652f<\/span><br \/>\n            <span class=\"tag\">\u9884\u89c8\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">CI\/CD\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u65e0\u540e\u7aef\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">Schema\u8fc1\u79fb<\/span><br \/>\n            <span class=\"tag\">Netlify<\/span><br \/>\n            <span class=\"tag\">\u57fa\u7840\u8bbe\u65bd\u5373\u4ee3\u7801<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u6570\u636e\u5e93\u5206\u652f\u89e3\u51b3\u5171\u4eab\u9884\u53d1\u5e03\u73af\u5883\u75db\u70b9\uff0c\u5e76\u5173\u6ce8\u8fc1\u79fb\u5408\u5e76\u51b2\u7a81\u3001\u5206\u652f\u751f\u547d\u5468\u671f\u7ba1\u7406\u3001\u707e\u96be\u6062\u590d\u7b49\u5b9e\u64cd\u95ee\u9898\u3002\u6709\u7528\u6237\u8be2\u95ee\u591a\u5206\u652f Schema \u5408\u5e76\u89c4\u5219\u53ca\u5e9f\u5f03\u5206\u652f\u6e05\u7406\u7b56\u7565\uff0c\u5b98\u65b9\u56de\u5e94\u4f1a\u63d0\u4f9b\u5feb\u7167\u56de\u6eda\u70b9\uff0c\u4f46\u5177\u4f53\u5408\u5e76\u903b\u8f91\u5c1a\u672a\u8be6\u7ec6\u8bf4\u660e\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                Netlify Database \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u628a\u6570\u636e\u5e93\u5206\u652f\u4ece\u201c\u9ad8\u7ea7\u529f\u80fd\u201d\u964d\u7ea7\u4e3a\u201c\u5e73\u53f0\u9ed8\u8ba4\u884c\u4e3a\u201d\u3002\u5b83\u6ca1\u6709\u53d1\u660e\u65b0\u8303\u5f0f\uff0c\u800c\u662f\u7cbe\u51c6\u8865\u4e0a\u4e86 Deploy Previews \u6700\u540e\u4e00\u5757\u62fc\u56fe\u2014\u2014\u4ee3\u7801\u5206\u652f\u6709\u4e86\u5341\u5e74\uff0c\u6570\u636e\u5e93\u5206\u652f\u5374\u4e00\u76f4\u88ab\u5f53\u4f5c\u5206\u5e03\u5f0f\u7cfb\u7edf\u96be\u9898\u7529\u7ed9\u5f00\u53d1\u8005\u81ea\u5df1\u7528 Docker \u548c\u811a\u672c\u53bb\u51d1\u3002\u8fd9\u4e2a\u7f3a\u53e3\u5728\u5355\u4eba\u6216\u5c0f\u56e2\u961f\u65f6\u8fd8\u80fd\u7528\u201c\u522b\u4e71\u641e\u201d\u6765\u7cca\u5f04\uff0c\u4f46\u5728 15 \u4eba\u5230 120 \u4eba\u6269\u5f20\u7684\u8def\u5f84\u4e0a\uff0c\u5171\u4eab Staging DB \u5c31\u662f\u4e00\u6839\u6301\u7eed\u7684\u3001\u65e0\u58f0\u7684\u6469\u64e6\u6869\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u951a\u70b9\u4e0d\u662f\u201c\u6258\u7ba1 Postgres\u201d\uff0c\u800c\u662f\u201c\u8ba9\u6570\u636e\u5e93\u64cd\u4f5c\u50cf Git \u4e00\u6837\u5b89\u5168\u548c\u53ef\u8ffd\u6eaf\u201d\u3002AI Agent \u5199\u51fa\u7684\u8fc1\u79fb\u811a\u672c\u53ea\u80fd\u5728\u9884\u89c8\u5206\u652f\u4e0a\u8dd1\uff0c\u751f\u4ea7\u73af\u5883\u6c38\u8fdc\u89e6\u78b0\u4e0d\u5230\u2014\u2014\u8fd9\u65e2\u662f\u6280\u672f\u8bbe\u8ba1\uff0c\u4e5f\u662f\u8425\u9500\u91d1\u53e5\u3002\u5b83\u627f\u8ba4\u4e86\u4e00\u4e2a\u6b8b\u9177\u73b0\u5b9e\uff1a\u5f53\u524d\u6700\u706b\u7684\u201cVibe Coding\u201d\u81ea\u52a8\u751f\u6210\u5e94\u7528\uff0c\u5927\u591a\u53ea\u662f\u628a\u6570\u636e\u5e93\u5f53\u73a9\u5177\uff0c\u800c Netlify \u8bd5\u56fe\u628a\u8fd9\u79cd\u6df7\u4e71\u9501\u5728\u9694\u79bb\u6c99\u7bb1\u91cc\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u69fd\u70b9\u4e5f\u5f88\u660e\u663e\uff1a\u5206\u652f\u5408\u5e76\u65f6\u7684 Schema \u51b2\u7a81\u7a76\u7adf\u5982\u4f55\u5904\u7406\uff1f\u5b98\u65b9\u76ee\u524d\u8bed\u7109\u4e0d\u8be6\u3002\u4e24\u4e2a PR \u5206\u522b\u6539\u4e86\u540c\u4e00\u5f20\u8868\u7684\u7ed3\u6784\uff0c\u5408\u5e76\u65f6\u8981\u4e48\u9700\u8981\u624b\u52a8\u4ecb\u5165\uff0c\u8981\u4e48\u4f9d\u8d56\u67d0\u79cd\u7ebf\u6027\u5316\u7b56\u7565\uff0c\u800c\u8fd9\u6070\u6070\u662f\u4f20\u7edf DevOps \u56e2\u961f\u8981\u6d3e\u4e13\u4eba\u5904\u7406\u7684\u9ad8\u9636\u95ee\u9898\u3002\u5bf9\u4e8e\u9700\u8981\u4e25\u683c Schema \u7248\u672c\u63a7\u5236\u548c\u56de\u6eda\u7684\u4e1a\u52a1\u573a\u666f\uff0c\u5f53\u524d\u65b9\u6848\u66f4\u50cf\u4e00\u4e2a\u201c\u50bb\u74dc\u5f0f\u5b89\u5168\u7f51\u201d\uff0c\u800c\u975e\u4f01\u4e1a\u7ea7\u6cbb\u7406\u5de5\u5177\u3002\u6b64\u5916\uff0c\u5206\u652f\u751f\u547d\u5468\u671f\u6e05\u7406\u770b\u4f3c\u7701\u5fc3\uff0c\u4f46\u5982\u679c\u60f3\u957f\u671f\u4fdd\u7559\u67d0\u4e2a\u5206\u652f\u7684\u6d4b\u8bd5\u6570\u636e\u8fdb\u884c\u201c\u8003\u53e4\u201d\u5ba1\u8ba1\uff0c\u540e\u7eed\u7684\u5b58\u50a8\u8ba1\u8d39\u7b56\u7565\u4e5f\u503c\u5f97\u5173\u6ce8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aNetlify Database \u662f\u8ba9\u201c\u4e0d\u4f1a\u641e\u574f\u6570\u636e\u5e93\u201d\u6210\u4e3a\u9ed8\u8ba4\u4f53\u9a8c\u7684\u7edd\u4f73\u5165\u95e8\u65b9\u6848\uff0c\u4f46\u5b83\u8ddd\u79bb\u89e3\u51b3\u201c\u591a\u4eba\u9ad8\u6548\u534f\u4f5c\u6f14\u5316\u6570\u636e\u5e93\u67b6\u6784\u201d\u8fd9\u4e00\u7ec8\u6781\u95ee\u9898\uff0c\u4e2d\u95f4\u8fd8\u9694\u7740\u51e0\u4e2a\u81ea\u52a8\u5316\u5408\u5e76\u7b97\u6cd5\u548c\u4e00\u5957\u6210\u719f\u7684\u707e\u96be\u6062\u590d SLA\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\">Netlify Database<\/span>\n                <\/div>\n<div class=\"comment-content\">Netlify Database is a fully managed PostgreSQL database that integrates seamlessly with your Netlify projects. It provides automatic database branching for deploy previews, built-in migration support, and a best-in-class local development experience.<\/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 community! \ud83d\udc4b<\/p>\n<\/p>\n<p>Today, I&#8217;m stoked to share <strong>Netlify Database<\/strong> with you, a fully managed Postgres database, built directly into the platform. <\/p>\n<\/p>\n<p>Years ago, Deploy Previews made it safe to experiment with code. But the database layer never got that treatment. If you are developer, I&#8217;m sure you remember vividly the pain of a shared staging database that is always a little broken. Well, we decided to fix that.<\/p>\n<\/p>\n<h3>Here is what&#8217;s special about Netlify Database:<\/h3>\n<ul>\n<li>\n<p><strong>Automatic Branching:<\/strong> Every agent run or Git PR automatically gets its own database branch, seeded from your latest production data.<\/p>\n<\/li>\n<li>\n<p><strong>Zero Production Risk:<\/strong> Schema changes and test records are totally contained. Even our AI agent <em>literally cannot<\/em> modify production\u2014it only writes migrations for your isolated preview branch. Production stays untouched until you hit publish.<\/p>\n<\/li>\n<li>\n<p><strong>Zero Extra Setup:<\/strong> Whether you are pushing code with Drizzle, or a designer vibe coding\/prompting an app into existence, you get the exact same workflow and safety net.<\/p>\n<\/li>\n<\/ul>\n<h3>Try it out in 2 minutes \u26a1<\/h3>\n<p>Head over to Netlify (<a href=\"https:\/\/app.netlify.com\/start\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/app.netlify.com\/start<\/a>) and try a prompt like:<\/p>\n<blockquote>\n<p><em>&#8220;I want an app to manage my list of mythical creatures.&#8221;<\/em><\/p>\n<\/blockquote>\n<p>The agent will spin up the schema, wire up the UI, and give you a working preview running on a real Postgres branch.<\/p>\n<\/p>\n<p>Drop your thoughts\/questions below, and let us know what you plan to build. <\/p>\n<h3>We&#8217;d love your feedback! \ud83d\udcac<\/h3>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>16<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thisiskp_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thisiskp_<\/a>&nbsp;&#8220;Even our AI agent <em>literally cannot<\/em> modify production&#8221; <\/p>\n<p>Music to the ears of anyone who&#8217;s had their database emptied by an agent by accident. <\/p>\n<p>2 minutes to try it out? I&#8217;ll take you up on that offer! <\/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>Database branching for deploy previews is one of those features that sounds incremental but completely changes how teams ship. When I was CTO scaling from 15 to 120 engineers, the shared staging database was our single biggest source of deployment friction. Engineers would step on each other&#8217;s migrations, QA would test against stale data, and nobody trusted the staging environment enough to actually catch bugs before production. We burned weeks every quarter just on database-related deploy issues. The fact that this is built directly into the Netlify workflow means teams get isolated database state per PR without having to duct-tape together Docker containers and seed scripts. That&#8217;s the kind of infrastructure that lets you move from weekly releases to continuous deployment without the team size to staff a dedicated platform team.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@avrisimon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avrisimon<\/a>&nbsp;thank you so much for the kind words. Great to hear the core problem we\u2019re tackling here resonates with you closely.  <\/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 could remove a huge amount of friction for teams working on feature branches . No more worrying about messing up shared data.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gabriel_brooks1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gabriel_brooks1<\/a>&nbsp;100% &#8211; I was doing a lot of testing with Agent runners and knowing every single run across multiple runs had an isolated state to test whatever it needed to inside of was a huge relief! <\/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 branched database per PR is the feature staging environments should have had years ago. The amount of &#8220;don&#8217;t touch the staging DB it&#8217;s broken again&#8221; Slack messages this kills is reason enough. Trying the mythical creatures prompt right now.<\/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\/@kunal_s1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kunal_s1<\/a>&nbsp;that Slack message is universal haha. Thanks for trying this out. Let us know how your builds go!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>In a world awash of new vibe coding platforms every day, Netlify continue to build on a secure and strong foundation of infrastructure with new releases that always feel production ready for companies to scale with. <\/p>\n<p>Netlify Databases is a much welcome addition to their platform which instantly extends the capabilities of their already solid app building agents. <\/p>\n<p>Already have multiple ideas to get started building. Thank you Netlify team for another brilliant launch! \ud83d\ude80<\/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\/@ashamplifies\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashamplifies<\/a>&nbsp;We wouldn&#8217;t be Netlify with you people like you in our community Ash \ud83e\udd1d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@ashamplifies\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashamplifies<\/a>&nbsp;thanks for the warm compliments. &#8220;build on a secure and strong foundation of infrastructure with new releases that always feel production ready&#8221; -&gt; that is exactly how we view product development internally. Solid infra that can scale from side projects to world class brands.<\/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>Database branching for deploy previews is such a game changer . That shared  staging DB always broken problem is way too real.<\/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\/@evan_sterling\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@evan_sterling<\/a> Trying to figure out how you&#8217;re going to mock up data in an empty branching database and make sure it translates backwards for your merge was always a key hassle of wiring one up. Stoked to keep making that experience even better \ud83e\udee1<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Excited to see this go live! Feature branches are an incredibly productivity boost. We see it across all our customer!<\/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\/@nikita_shamgunov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikita_shamgunov<\/a>&nbsp;Thanks for ALL the support Nikita! Great things on the horizon<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 could remove a huge amount of friction for teams working on feature branches. No more worrying about messing up shared data.<\/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\/@gabriel_brooks1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gabriel_brooks1<\/a>&nbsp;well summarized &#8211; thank you<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Couldn&#8217;t be more excited about this! From my earliest days building on the web, the jump between building something and connecting it with a database was far from easy &#8211; especially for small, simple projects. So much work-work just to get something basic live. Netlify Database changes this&#8230; every version of every project gets their own database, so you can iterate quickly without risking any silly changes. one of my absolute favourite <a href=\"https:\/\/www.producthunt.com\/products\/netlify\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"netlify\" target=\"_blank\" rel=\"noopener\">@Netlify<\/a> launches!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really exciting moment for the team \ud83d\ude4c<\/p>\n<p>The goal was simple: make databases feel as safe and easy to experiment with as code. <br \/>Looking forward to seeing what the Product Hunt community thinks!<\/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>YES! Fun fact, Netlify has been running several workloads in production on top of Netlify Database for weeks with zero overhead. It&#8217;s so good!<\/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>Congrats on the launch!<\/p>\n<\/p>\n<p>How does Netlify Database handle migration drift? For example, if I have two PR branches with different schema changes, how does the system manage the merge back to production to ensure no data is lost or overwritten?<\/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>What happens to orphaned branches when a PR is closed or merged?<\/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>Great launch <a href=\"https:\/\/www.producthunt.com\/@thisiskp_\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"thisiskp_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thisiskp_<\/a> and <a href=\"https:\/\/www.producthunt.com\/products\/netlify\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"netlify\" target=\"_blank\" rel=\"noopener\">@Netlify<\/a>! \ud83d\ude80<\/p>\n<p>Also curious: what\u2019s the disaster recovery story if something goes wrong in production?<\/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\/@mahdi_nouri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mahdi_nouri<\/a>&nbsp;hey man! How are you? Thanks for the Q.<\/p>\n<\/p>\n<p>Netlify Database&#8217;s disaster recovery approach is built around reducing blast radius and fast recovery: most changes happen in isolated database branches (deploy previews \/ agent runs), not directly on production.\u2060<\/p>\n<p>\u2060\u2060<\/p>\n<p>\u2060<\/p>\n<p>Before publishing a production deploy, we take a snapshot of the production database so you have a restore point if something goes wrong (retention varies by plan).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s exciting to see this live! For newer builders database is admittedly the scary part of a project. Now with a safe sandbox to build, test and ship it&#8217;s an entirely different experience. Plus the fact that there&#8217;s no rewiring required  is awesome AND no more fear of breaking production. Hats off to our product team for making this feel so seamless! \ud83d\ude80&#8221;<\/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>branching for deploy previews is one of those features that quietly removes a whole class of staging-data bugs \u2014 nice to see it native instead of duct-taped via docker. how does the branch get its data: copy-on-write from main, fresh seed, or empty? and across long-lived preview branches with diverging schemas, does netlify reconcile migration drift on merge or is keeping branches consistent on the dev?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/UD3ILY3WV6YAZH\" class=\"app-title\">UXPin Forge<\/a><\/p>\n<div class=\"one-liner\">Generate UI from your design system, not around it<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">202<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>UXPin Forge\u662f\u4e00\u6b3eAI\u9a71\u52a8\u7684UI\u751f\u6210\u5de5\u5177\uff0c\u6838\u5fc3\u5728\u4e8e\u57fa\u4e8e\u8bbe\u8ba1\u7cfb\u7edf\u5185\u7684\u771f\u5b9e\u7ec4\u4ef6\uff08\u5982MUI\u3001shadcn\/ui\u3001Ant Design\u7b49\uff09\u751f\u6210\u53ef\u76f4\u63a5\u4ea4\u4ed8\u7684JSX\u4ee3\u7801\uff0c\u89e3\u51b3AI\u751f\u6210UI\u4e0e\u73b0\u6709\u7ec4\u4ef6\u5e93\u8131\u8282\u3001\u9700\u53cd\u590d\u8fd4\u5de5\u7684\u884c\u4e1a\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\/d12a9b34-94c2-4e01-8315-759190e3ed40.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\/121c4e6f-f418-414c-9c40-9ba73ead7824.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\/f17ea2e4-0858-496c-a7ff-43ab01ecee5a.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\/fe0635e4-b827-4be2-bbde-1067ef336845.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\/ca33ad8e-f7b3-4e34-9fb1-b1ca2ec7cd95.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/QS8DSU3ZmLQ\"><source src=\"https:\/\/youtu.be\/QS8DSU3ZmLQ\" 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\">Design Tools<\/span><br \/>\n            <span class=\"tag\">User Experience<\/span><br \/>\n            <span class=\"tag\">Prototyping<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u7ec4\u4ef6\u5e93<\/span><br \/>\n            <span class=\"tag\">UI\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u4ea4\u4ed8<\/span><br \/>\n            <span class=\"tag\">UXPin\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">JSX\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u89c4\u8303\u534f\u540c<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u7ea7\u539f\u578b<\/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>\u8bc4\u8bba\u666e\u904d\u8ba4\u53ef\u5176\u201c\u771f\u5b9e\u7ec4\u4ef6\u7ea6\u675f\u201d\u7684\u601d\u8def\uff0c\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\u4e0e\u7ade\u54c1\u7684\u5dee\u5f02\u4e0a\u3002\u7528\u6237\u91cd\u70b9\u95ee\uff1a\u4e0eClaude Design\u76f8\u6bd4\u5982\u4f55\uff08\u56de\u7b54\uff1a\u53cd\u5bf9\u8fd1\u4f3c\uff0c\u575a\u6301\u7ec4\u4ef6\u7ea6\u675f\uff09\uff1fJSX\u8f93\u51fa\u6709\u591a\u5e72\u51c0\uff08\u56de\u7b54\uff1a\u76f4\u63a5\u5f15\u7528\u5e93\uff0c\u5982MUI\/Button\uff09\uff1fURL\u8f6cUI\u53ca\u81ea\u5b9a\u4e49\u5e93\u652f\u6301\u7ec6\u8282\u3002\u4e0d\u6ee1\u4e3b\u8981\u6e90\u4e8e\u5176\u4ed6\u5de5\u5177\u6613\u4ea7\u751f\u54c1\u724c\u6f02\u79fb\uff0c\u800cForge\u65e8\u5728\u675c\u7edd\u6b64\u95ee\u9898\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                UXPin Forge\u7684\u201c\u9510\u201d\uff0c\u4e0d\u5728\u4e8e\u5176AI\u751f\u6210\u901f\u5ea6\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5730\u6345\u7834\u4e86AI\u8bbe\u8ba1\u9886\u57df\u6700\u5927\u7684\u7a97\u6237\u7eb8\uff1a\u5927\u591a\u6570AI\u5de5\u5177\u8f93\u51fa\u7684\u662f\u201c\u89c6\u89c9\u76f8\u4f3c\u54c1\u201d\uff0c\u800c\u975e\u201c\u5de5\u7a0b\u53ef\u7528\u4ef6\u201d\u3002\u5b83\u58f0\u79f0\u201c\u7ed3\u6784\u4e0a\u4e0d\u53ef\u80fd\u201d\u4ea7\u751f\u504f\u79bb\u54c1\u724c\u6216\u7cfb\u7edf\u7684\u8f93\u51fa\uff0c\u8fd9\u5e76\u975e\u8425\u9500\u8bdd\u672f\uff0c\u800c\u662f\u6280\u672f\u67b6\u6784\u7684\u5dee\u5f02\u3002Claude Design\u3001v0\u7b49\u5de5\u5177\u672c\u8d28\u4e0a\u662f\u201c\u4ee3\u7801\u9605\u8bfb\u8005+\u98ce\u683c\u8fc1\u79fb\u8005\u201d\uff0c\u800cForge\u662f\u201c\u8bbe\u8ba1\u7cfb\u7edf\u6267\u884c\u5668\u201d\uff0cAI\u88ab\u7ea6\u675f\u5728\u7ec4\u4ef6\u5e93\u7684\u6709\u9650\u72b6\u6001\u7a7a\u95f4\u91cc\u521b\u4f5c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u4ef7\u503c\u770b\uff0cForge\u7cbe\u51c6\u5207\u5165\u4e86\u4e2d\u5927\u578b\u4f01\u4e1a\u548c\u6210\u719f\u4ea7\u54c1\u56e2\u961f\u7684\u201c\u7ec4\u4ef6\u503a\u201d\u75db\u70b9\u3002\u8bb8\u591a\u56e2\u961f\u5e76\u975e\u4e0d\u60f3\u7528AI\uff0c\u800c\u662f\u5bb3\u6015AI\u751f\u6210\u7684\u4ee3\u7801\u4e0e\u73b0\u6709\u5de5\u7a0b\u89c4\u8303\u53cd\u76ee\uff0c\u5bfc\u81f4\u540e\u671f\u7ef4\u62a4\u6210\u672c\u6fc0\u589e\u3002Forge\u901a\u8fc7Git\u540c\u6b65\u771f\u5b9e\u7ec4\u4ef6\u5e93\u3001\u8f93\u51fa\u6807\u51c6JSX\u5f15\u7528\uff0c\u628aAI\u4ece\u201c\u521b\u610f\u73a9\u5177\u201d\u8f6c\u53d8\u4e3a\u201c\u6548\u7387\u6760\u6746\u201d\uff0c\u8ba9\u8bbe\u8ba1\u5e08\u548c\u5f00\u53d1\u8005\u7ec8\u4e8e\u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u7ec4\u4ef6\u8bed\u5883\u4e0b\u534f\u4f5c\u3002\u800cCEO Andrew\u63d0\u5230\u7684\u201c\u953b\u7089\u4e0d\u53d6\u4ee3\u94c1\u5320\u201d\uff0c\u5728\u5145\u65a5\u7740\u201c\u96f6\u95e8\u69db\u3001\u4eba\u4eba\u90fd\u662f\u5f00\u53d1\u8005\u201d\u8bba\u8c03\u7684\u884c\u4e1a\u4e2d\uff0c\u663e\u5f97\u514b\u5236\u800c\u52a1\u5b9e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6f5c\u5728\u9690\u5fe7\u5728\u4e8e\u4f9d\u8d56\u7a0b\u5ea6\u3002Forge\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u5efa\u7acb\u5728\u4e0eUXPin\u751f\u6001\u53caMerge\u6280\u672f\u7684\u9ad8\u5ea6\u7ed1\u5b9a\u4e4b\u4e0a\uff0c\u82e5\u7528\u6237\u975eUXPin\u73b0\u6709\u91cd\u5ea6\u7528\u6237\uff0c\u8fc1\u79fb\u548c\u9002\u5e94\u6210\u672c\u4e0d\u53ef\u5ffd\u89c6\u3002\u540c\u65f6\uff0c\u5bf9\u4e8e\u4f9d\u8d56\u8f7b\u91cf\u7ea7\u3001\u5feb\u901f\u539f\u578b\u9a8c\u8bc1\u7684\u65e9\u671f\u56e2\u961f\uff0c\u5176\u7ec4\u4ef6\u5e93\u95e8\u69db\u548c\u7cfb\u7edf\u7ea6\u675f\u53ef\u80fd\u663e\u5f97\u8fc7\u4e8e\u6c89\u91cd\u3002\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5bf9\u9700\u8981\u201c\u5728\u67b7\u9501\u4e2d\u8df3\u821e\u201d\u7684\u4f01\u4e1a\u8bbe\u8ba1\u56e2\u961f\u662f\u89e3\u836f\uff0c\u5bf9\u60f3\u201c\u65e0\u62d8\u65e0\u675f\u201d\u7684\u81ea\u7531\u521b\u4f5c\u8005\u53ef\u80fd\u662f\u62f3\u51fb\u624b\u5957\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\">UXPin Forge<\/span>\n                <\/div>\n<div class=\"comment-content\">AI that generates UI your design system would approve. Forge works inside UXPin with your real components\u2014MUI, shadcn\/ui, Ant Design, or your own\u2014so you can iterate fast and ship clean JSX. No rebuilding, no workarounds.<\/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>We&#8217;ve been building AI into UXPin for over a year now \u2013 AI Component Creator, AI Helper, and more. <\/p>\n<\/p>\n<p>These experiments taught us where AI works well, and where it breaks down.<\/p>\n<\/p>\n<p><strong>The pattern we kept seeing: <\/strong><\/p>\n<p>AI can generate UI, but when you try to use it in your product, it doesn&#8217;t match your components. You lose context. You rebuild everything.<\/p>\n<p><strong>We unified everything under Forge<\/strong> \u2013 the AI engine powering UXPin.<\/p>\n<\/p>\n<p><strong>What Forge does:<\/strong><\/p>\n<p>\ud83c\udfa8 Works with your design system \u2013 MUI, shadcn\/ui, Ant Design, or your own components via Merge<\/p>\n<p>\ud83c\udf10 Start from prompts, images, URLs, or existing code<br \/>\ud83d\udd04 Keeps context so you can refine instead of restart<br \/>\u270f\ufe0f Switch between AI and manual editing anytime<br \/>\u26a1 Outputs clean JSX<\/p>\n<p>If you&#8217;ve been burned by AI tools that ignore your system \u2013 this is built for exactly that gap.<\/p>\n<p>\ud83d\udc49 Try Forge: <a href=\"https:\/\/www.uxpin.com\/forge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.uxpin.com\/forge<\/a><\/p>\n<p>Curious what you think \ud83d\udc40<\/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\/@nat_lasica\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nat_lasica<\/a>&nbsp;great work on the launch Nat! <\/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>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m Andrew, CEO of UXPin.<\/p>\n<p>We&#8217;ve been building design tools for over a decade and Forge is the result of a question we kept asking: &#8216;why does every AI design tool ignore the thing enterprise teams care about most &#8211; their component library?&#8217;.<\/p>\n<p>Claude Design reads your codebase and approximates. Lovable and Bolt generate their own conventions. v0 locks you into shadcn.<\/p>\n<p>None of them use your actual production components.<\/p>\n<p>Forge does.<\/p>\n<p>Your React library syncs via Git, or you can used a native global library we&#8217;ve already integrated for you.<\/p>\n<p>The AI generates exclusively with those components &#8211; real props, real variants, real states. Then you can switch to professional design tools for refinement on the same canvas. No tokens burned on edits.<\/p>\n<p>The export is production-ready JSX referencing your actual imports. Developers copy it and ship it. Nothing to interpret. Nothing to rebuild.<\/p>\n<p>For teams without a custom library, Forge works out of the box with MUI, shadcn\/ui, Ant Design, and Bootstrap.<\/p>\n<p>We named it Forge because a forge doesn&#8217;t replace the blacksmith &#8211; it gives them heat and speed. The craft still requires you.<\/p>\n<p>Would love your honest feedback. We&#8217;re here all day.<\/p>\n<p>Andrew<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really glad we finally got this out into the world!<\/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\/@robert_hilscher\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robert_hilscher<\/a>&nbsp;and you were a huge driver behind this release. Great work Rob, you should be extremely proud!<\/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\/@robert_hilscher\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robert_hilscher<\/a>&nbsp;great job, man, you da best! <\/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\/@robert_hilscher\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robert_hilscher<\/a>&nbsp;huge part in making this happen. Great work and I&#8217;m looking forward to future releases!<\/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 team, out of curiosity, how is your tool better than Claude Design?<\/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\/@danshipit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danshipit<\/a>&nbsp;Thanks Daniil! Great question. <\/p>\n<\/p>\n<p>From what we&#8217;ve seen, it&#8217;s great for quick drafts, but there are gaps when it comes to real workflows.<\/p>\n<\/p>\n<p>The biggest one is design systems. It approximates them rather than using actual components, which leads to drift in fonts, spacing, and colors. Also, every edit costs credits &#8211; even small tweaks like moving an element.<\/p>\n<\/p>\n<p>Forge works directly with your components, so what you generate stays consistent. And you can edit manually without burning tokens on trivial 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<\/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\/@nat_lasica\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"nat_lasica\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nat_lasica<\/a>We tried Claude Design but the output kept drifting from our brand. Does Forge have that problem? <\/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\/@nat_lasica\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nat_lasica<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@abhiranjan_mehta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhiranjan_mehta<\/a>&nbsp;Short answer: no, because the architecture prevents it.<\/p>\n<p>Claude Design reads your codebase and generates new elements styled to match. That&#8217;s approximation &#8211; and approximation drifts. Wrong fonts, incorrect colours, inconsistent spacing. We heard the same from dozens of people just this week.<\/p>\n<p>Forge works differently. Your component library syncs from Git into UXPin meaning Forge can only use components that exist in your library. It can&#8217;t generate a button variant you haven&#8217;t defined. It can&#8217;t invent a card style that isn&#8217;t in your system. Off-brand output isn&#8217;t something you catch in review, it&#8217;s structurally impossible.<\/p>\n<p>On top of that, you can set Design System Guidelines: plain-text rules that constrain all AI output. Things like &#8220;primary buttons only in the main CTA position&#8221; or &#8220;cards always use 16px padding.&#8221; Every team member, every generation, same rules.<\/p>\n<p>Try it with one of the built-in libraries (MUI, shadcn) and you&#8217;ll see the difference in the first prompt.<\/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>Interested in how clean the JSX is in practice, anyone got some intel for me?<\/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\/@chase_horn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chase_horn<\/a>&nbsp;you could always start a trial, prompt something you want and then hit &#8216;get code&#8217; and find out \ud83d\ude09<\/p>\n<p>Here is an example output straight from a prototype;<\/p>\n<p>import Button from \u2018@mui\/material\/Button\u2019;<br \/>import Card from \u2018@mui\/material\/Card\u2019;<br \/>import TextField from \u2018@mui\/material\/TextField\u2019;<br \/>import Typography from \u2018@mui\/material\/Typography\u2019;<\/p>\n<p>&lt;Card &gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;CardContent&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Typography variant=\u201dh5\u2033&gt;Create Account&lt;\/Typography&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TextField label=\u201dFull Name\u201d variant=\u201doutlined\u201d fullWidth \/&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TextField label=\u201dEmail Address\u201d type=\u201demail\u201d fullWidth \/&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Button variant=\u201dcontained\u201d fullWidth&gt;Sign Up&lt;\/Button&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/CardContent&gt;<br \/>&lt;\/Card&gt;<\/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\/@chase_horn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chase_horn<\/a>&nbsp;VERY clean &#8230;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0ac22e28-7504-4b91-8c07-a4fe7683371d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello PH! <\/p>\n<p>What makes Forge different is not just that it generates UI. Most AI tools stop at visual approximation, but <strong>Forge understands how your UI is supposed to be built<\/strong>.<\/p>\n<p><strong>Forge goes further by grounding everything in your design system:<\/strong><\/p>\n<ul>\n<li>\n<p>It knows your component APIs including props, variants, and states<\/p>\n<\/li>\n<li>\n<p>It respects your design guidelines and patterns<\/p>\n<\/li>\n<li>\n<p>It operates within your governance model, not outside of it<\/p>\n<\/li>\n<\/ul>\n<p>So what you generate is not just close enough. It is structurally aligned with how your team actually builds products and outputs <strong>production-ready code that references your real components<\/strong>.<\/p>\n<p>One thing I\u2019m personally excited about is the workflow shift.<\/p>\n<p><strong>You are not stuck in AI mode or design mode. With Forge, you can:<\/strong><\/p>\n<ul>\n<li>\n<p>Generate a layout with AI<\/p>\n<\/li>\n<li>\n<p>Jump into manual design to refine details<\/p>\n<\/li>\n<li>\n<p>Go back to AI to expand or iterate<\/p>\n<\/li>\n<li>\n<p>Repeat as needed<\/p>\n<\/li>\n<\/ul>\n<p>That loop is where it starts to feel real. Not a one-shot generation, but an actual design process.<\/p>\n<p><strong>It also opens up some interesting use cases:<\/strong><\/p>\n<ul>\n<li>\n<p>Generate layouts from a URL or screenshot<\/p>\n<\/li>\n<li>\n<p>Turn rough ideas like wireframes or hand-drawn sketches into high-fidelity UI<\/p>\n<\/li>\n<li>\n<p>Rapidly explore variations while staying inside your system constraints<\/p>\n<\/li>\n<\/ul>\n<p><strong>And because everything is tied to real components, you can also:<\/strong><\/p>\n<ul>\n<li>\n<p>Override tokens, create themes or tweak the design language<\/p>\n<\/li>\n<li>\n<p>Experiment without breaking system consistency<\/p>\n<\/li>\n<\/ul>\n<p><strong>Instead of AI fighting your system, it works with it and produces code you can actually ship!<\/strong><\/p>\n<p>Let us know if you have any questions and what you think and feel free to reach out for a demo.<\/p>\n<p>Jack<\/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\/@uxpinjack\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uxpinjack<\/a>&nbsp;some great example use cases for anyone keen to test it 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>Design tools keep getting closer to real product behavior\u2026 interesting to see how far that actually goes in practice.<\/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\/@sonu38\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sonu38<\/a>&nbsp;Yeah, the gap is usually in implementation. Most tools get close visually but devs rebuild anyway. With Forge you start with real components instead of mockups. <\/p>\n<p>Give it a try, curious to hear how it works for you!<\/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\/@sonu38\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sonu38<\/a>&nbsp;i feel like we got really close to closing the gap way back when we released Merge. With Forge we are introducing AI and combining it with Merge technology to speed up the process.. all while ensuring the designers maintain complete control and can manually iterate whenever they 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice!<\/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\/@sneas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sneas<\/a>&nbsp;thanks Dimah! Looking forward to your feedback<\/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>How does the URL-to-UI feature work? Can I paste any website?<\/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\/@thomas_dupuy2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_dupuy2<\/a>&nbsp;you sure can!<\/p>\n<p>You can ask it to replicate the URL so you can have an editable UI to work with, or you can use a URL for inspiration for your own design.<\/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\/@thomas_dupuy2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_dupuy2<\/a>&nbsp;You can see it in action here: <a href=\"https:\/\/focusee.imobie.com\/share\/14013b5c6d15448698b2f7fe26ff0cca\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/focusee.imobie.com\/share\/14013b5c6d15448698b2f7fe26ff0cca<\/a><\/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 awesome team! Congrats on the launch<\/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\/@sriya_vipin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sriya_vipin<\/a>&nbsp;thanks Sriya!<\/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 team, this looks like an unbelieve leap from the component creator.<\/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\/@julia_prus1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julia_prus1<\/a>&nbsp;thanks!!<\/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\/@julia_prus1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julia_prus1<\/a>&nbsp;Thanks! It&#8217;s been a fun road<\/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>Can it build out my custom library from the beginning, like before I launch and am making design decisions?<\/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\/@luke_marshall4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luke_marshall4<\/a>&nbsp;It not only helps with design decisions, but also helps teams move onto a real coded component foundation so they can start shipping faster.<\/p>\n<p>With global libraries like MUI, shadcn\/ui, or Ant Design, Forge maps your brand and design language onto existing production-grade components. From there, it generates layouts using those real components and outputs production-ready code 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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@luke_marshall4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luke_marshall4<\/a>&nbsp;Jack nailed it with his response. You can also use the global libraries and create your own themes for different projects<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that doesn\u2019t just generate random UI<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jolina_teniedo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jolina_teniedo<\/a>&nbsp;That&#8217;s the whole point! AI should be constrained to your system, not freestyling. Glad it landed, let us know how you get on with it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019ve tried a bunch of AI UI tools and most of them break when you try to use them for real<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@teri_morgan2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@teri_morgan2<\/a>&nbsp;That&#8217;s because most of them generate to their own conventions. The output looks great in the demo. Then you try to use it with your actual components and it falls apart.<\/p>\n<p>We took the opposite approach wehn building Forge &#8211; it starts from your components. The AI is constrained to what exists in your synced library, so the output works from the first generation, not after hours of fixing.<\/p>\n<p>Curious what broke for you specifically? Happy to show how Forge handles the same scenario.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is there a free trial? How long do we get to test 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\/@ethel_aranjuez\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ethel_aranjuez<\/a>&nbsp;there sure is. We have a free trial of 14 days which can be extended by a further 7 days by booking a demo with our 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/7OEHF3AEEFZJCD\" class=\"app-title\">CodeHealth MCP Server by CodeScene<\/a><\/p>\n<div class=\"one-liner\">Keep AI-generated code healthy and maintainable<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">197<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>CodeHealth MCP Server\u5c06\u53ef\u91cf\u5316\u7684\u4ee3\u7801\u5065\u5eb7\u5ea6\u68c0\u6d4b\u5d4c\u5165AI\u7f16\u7801\u52a9\u624b\u7684\u5de5\u4f5c\u6d41\u4e2d\uff0c\u89e3\u51b3AI\u9ad8\u901f\u751f\u6210\u4ee3\u7801\u65f6\u5fc5\u7136\u5f15\u5165\u6280\u672f\u503a\u52a1\u4e0e\u7ed3\u6784\u6027\u8150\u5316\u7684\u95ee\u9898\uff0c\u786e\u4fdd\u8f93\u51fa\u7684\u662f\u53ef\u7ef4\u62a4\u3001\u751f\u4ea7\u7ea7\u7684\u4ee3\u7801\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\/9ba87788-2831-43d3-acaa-57baf688fd32.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\/98bdf2dd-038d-4f38-abb6-80e8486516c2.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\/4c0428ae-aecf-43fc-a793-833626a410d6.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\/151e32c2-b29f-4cd0-b482-3761dadf7e2e.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\/819e05e2-c772-4fee-abbb-fd8987f85733.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\/a0af58c0-2156-4948-93d4-f7c9d621623f.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\/6f6e27a5-9943-4d7b-9845-83822827ba40.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\/9d5ce096-e5a5-47d5-b53f-bce42e9cedb7.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=1vw0nEo20XM\"><source src=\"https:\/\/www.youtube.com\/watch?v=1vw0nEo20XM\" 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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7801\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u8d28\u91cf\u95e8\u7981<\/span><br \/>\n            <span class=\"tag\">\u6280\u672f\u503a\u52a1\u7ba1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u786e\u5b9a\u6027\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7ef4\u62a4\u6027<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u91cd\u6784<\/span><br \/>\n            <span class=\"tag\">\u9759\u6001\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u5de5\u7a0b\u6548\u80fd<\/span><br \/>\n            <span class=\"tag\">CodeScene<\/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\u70b9\u8d5e\u5176\u201c\u786e\u5b9a\u6027\u201d\u5206\u6790\u89e3\u51b3\u4e86LLM\u81ea\u68c0\u7684\u76f2\u533a\uff089\u8d5e\uff09\uff1b\u6838\u5fc3\u5173\u6ce8\u80fd\u5426\u6355\u6349\u201c\u51fd\u6570\/\u7c7b\u81a8\u80c0\u201d\u7b49\u7ed3\u6784\u95ee\u9898\uff0810\u8d5e\uff09\uff1b\u53cd\u9988\u4e0eSonarQube\u7684\u5dee\u5f02\u5728\u4e8e\u66f4\u9ad8\u5c42\u7ea7\u7684\u8bbe\u8ba1\u68c0\u6d4b\uff088\u8d5e\uff09\uff1b\u5b9e\u6d4bClaude Code\u914d\u5408MCP\u53ef2\u6b21\u8fed\u4ee3\u5c06\u4ee3\u7801\u5065\u5eb7\u5ea6\u4ece2\/10\u63d0\u5347\u81f310\/10\uff0814\u8d5e\u56de\u5e16\uff09\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                CodeHealth MCP Server\u5728\u5f53\u524d\u6cdb\u6ee5\u7684\u201cAI\u4f34\u4fa3\u201d\u5de5\u5177\u4e2d\uff0c\u9009\u62e9\u4e86\u4e00\u6761\u66f4\u786c\u6838\u4e14\u66f4\u806a\u660e\u7684\u8def\u5f84\uff1a**\u4e0d\u53bb\u6bd4\u62fc\u751f\u6210\u901f\u5ea6\uff0c\u800c\u662f\u89e3\u51b3\u751f\u6210\u8d28\u91cf\u5931\u63a7\u7684\u6839\u672c\u77db\u76fe\u3002** \u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\uff0c\u5c06\u539f\u672c\u88abAI\u89c6\u4f5c\u7384\u5b66\u4e14\u65e0\u8003\u6838\u52a8\u529b\u7684\u201c\u4ee3\u7801\u5065\u5eb7\u201d\uff0c\u8f6c\u5316\u4e3a\u4e00\u4e2a\u53ef\u88abMCP\u534f\u8bae\u6d88\u8d39\u7684\u786e\u5b9a\u6027\u8bc4\u6d4b\u4fe1\u53f7\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5728\u4e3aAI\u7f16\u7801\u7684\u201c\u6982\u7387\u6027\u8f93\u51fa\u201d\u5b89\u88c5\u4e86\u4e00\u4e2a\u7ed3\u6784\u6027\u7684\u5b89\u5168\u9600\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u4e2d\u7528\u6237\u7684\u771f\u5b9e\u75db\u70b9\u6765\u770b\u2014\u2014\u201c6\u4e2a\u6708\u7684\u6280\u672f\u503a\u52a1\u572820\u5206\u949f\u5185\u4ea7\u751f\u201d\u3001\u201cAI\u559c\u6b22\u5199\u7ed3\u6784\u6df7\u4e71\u4f46\u5c40\u90e8\u6b63\u786e\u4ee3\u7801\u201d\u2014\u2014\u8fd9\u4e9b\u90fd\u5728\u5370\u8bc1\u4e00\u4e2a\u4e8b\u5b9e\uff1a\u5f53\u524d\u6700\u5148\u8fdb\u7684LLM\u5728\u7f3a\u4e4f\u7ed3\u6784\u5316\u7ea6\u675f\u65f6\uff0c\u4f1a\u672c\u80fd\u5730\u503e\u5411\u4e8e\u5236\u9020\u9ad8\u8026\u5408\u3001\u4f4e\u5185\u805a\u7684Spaghetti Code\u3002CodeHealth MCP\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u4e0d\u662f\u5728IDE\u4fa7\u63d0\u4f9b\u4e00\u5806\u53ef\u88ab\u65e0\u610f\u8bc6\u5ffd\u7565\u7684\u544a\u8b66\uff0c\u800c\u662f\u76f4\u63a5**\u4ecb\u5165\u5230AI Agent\u7684\u51b3\u7b56\u5faa\u73af\u4e2d**\uff0c\u5c06\u201c\u628a\u4ee3\u7801\u6539\u5230\u5065\u5eb7\u201d\u4f5c\u4e3a\u4e0e\u201c\u5b8c\u6210\u4efb\u52a1\u201d\u5e76\u5217\u7684\u7ea6\u675f\u6761\u4ef6\u3002\u8fd9\u79cd\u201c\u9ed1\u76d2\u4f18\u5316\u201d\u7684\u601d\u8def\uff0c\u8ba9AI\u4ece\u4e00\u4e2a\u4e0d\u77e5\u75b2\u5026\u7684\u6284\u5199\u5458\uff0c\u53d8\u6210\u4e86\u6709\u8d28\u91cf\u610f\u8bc6\u7684\u521d\u7ea7\u5de5\u7a0b\u5e08\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u8b66\u60d5\u8fc7\u5ea6\u5305\u88c5\u3002\u5b83\u63d0\u4f9b\u7684\u4f9d\u7136\u662f\u57fa\u4e8e\u9759\u6001\u5206\u6790\u7684\u6307\u6807\u96c6\u5408\uff08\u5708\u590d\u6742\u5ea6\u3001\u8111\u7c7b\u3001\u4f4e\u5185\u805a\u7b49\uff09\uff0c\u867d\u7136\u7ecf\u8fc7\u5b9e\u8bc1\u9a8c\u8bc1\uff0c\u4f46\u5e76\u672a\u98a0\u8986\u4ee3\u7801\u8d28\u91cf\u5206\u6790\u7684\u5e95\u5c42\u903b\u8f91\u3002\u5176\u771f\u6b63\u7684\u58c1\u5792\u4e0d\u5728\u4e8e\u5206\u6790\u6280\u672f\uff0c\u800c\u5728\u4e8e**\u6210\u529f\u5c06\u5206\u6790\u7ed3\u679c\u8f6c\u5316\u4e3aAI Agent\u80fd\u7406\u89e3\u5e76\u6267\u884c\u7684\u4efb\u52a1\u6307\u4ee4\u683c\u5f0f**\uff08MCP\uff09\u3002\u8fd9\u610f\u5473\u7740\uff0c\u5982\u679c\u5176\u4ed6\u9759\u6001\u5206\u6790\u5de5\u5177\uff08\u5982SonarQube\u3001ESLint\uff09\u4e5f\u5feb\u901f\u5c01\u88c5\u51fa\u7c7b\u4f3cMCP\u670d\u52a1\uff0c\u5176\u5dee\u5f02\u5316\u4f18\u52bf\u5c06\u8fc5\u901f\u6536\u7a84\u3002\u6b64\u5916\uff0c\u5de5\u5177\u7684\u4ef7\u503c\u4e25\u91cd\u4f9d\u8d56\u4e8e\u914d\u5408\u7684AI\u6a21\u578b\uff08\u5982Opus\uff09\u7684\u63a8\u7406\u80fd\u529b\u2014\u2014\u5728\u5f53\u524d\u6a21\u578b\u4e0a2\u6b21\u4fee\u590d\u6210\u529f\uff0c\u4e0d\u4ee3\u8868\u5728\u5f31\u63a8\u7406\u6a21\u578b\u4e0a\u4e5f\u80fd\u7a33\u5b9a\u590d\u73b0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u4e2a\u66f4\u6df1\u5c42\u7684\u98ce\u9669\u662f\uff1a**\u5de5\u5177\u662f\u5426\u4f1a\u8ba9\u5f00\u53d1\u8005\u5728\u4ee3\u7801\u8d28\u91cf\u4e0a\u4ea7\u751f\u4ee3\u7406\u4f9d\u8d56\uff1f** \u5f53Agent\u6839\u636eMCP\u7684\u6307\u4ee4\u673a\u68b0\u5730\u964d\u4f4e\u201c\u8111\u7c7b\u201d\u6216\u201c\u4f4e\u5185\u805a\u201d\u5206\u6570\u65f6\uff0c\u53ef\u80fd\u4f1a\u5f15\u5165\u66f4\u9690\u853d\u7684\u67b6\u6784\u59a5\u534f\u3002\u6bd5\u7adf\uff0c\u80fd\u88ab\u91cf\u5316\u6307\u6807\u6355\u6349\u7684\u574f\u5473\u9053\uff0c\u8fdc\u5c11\u4e8e\u90a3\u4e9b\u4ec5\u51ed\u4eba\u7c7b\u67b6\u6784\u76f4\u89c9\u624d\u80fd\u53d1\u73b0\u7684\u8bbe\u8ba1\u7f3a\u9677\u3002\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u4e3aAI\u751f\u6210\u4ee3\u7801\u7684\u8d28\u91cf\u515c\u4e86\u5e95\uff0c\u4f46\u8bf7\u8bb0\u4f4f\uff0c\u5e95\u515c\u5f97\u6709\u591a\u7262\uff0c\u53d6\u51b3\u4e8e\u4f60\u5582\u7ed9Agent\u7684\u6a21\u578b\u548c\u6307\u4ee4\u6709\u591a\u5f3a\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\">CodeHealth MCP Server by CodeScene<\/span>\n                <\/div>\n<div class=\"comment-content\">CodeHealth MCP Server ensures agents and AI coding assistants write maintainable, production-ready code without introducing technical debt. Using deterministic CodeHealth feedback, it guides agents to spot risks, improve unhealthy code, and refactor toward clear quality targets. Run it locally and keep full control of your workflow while making legacy systems more AI-ready. The result is more reliable AI-generated code, safer refactoring, and greater trust in real engineering workflows.<\/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>\n<p>I\u2019m Adam Tornhill, a software developer for over 30 years.<\/p>\n<\/p>\n<p>I\u2019ve spent the past decades watching teams plan to fix technical debt&#8230; and then not do it.<\/p>\n<\/p>\n<p>Now we\u2019ve added AI to the mix, which is fantastic at writing code fast. Unfortunately, it\u2019s just as good at scaling your technical debt if you let it.<\/p>\n<\/p>\n<p>This is where it gets interesting: AI agents depend on code health even more than we do.<\/p>\n<\/p>\n<p>Sceptical? Here&#8217;s what the research shows:<\/p>\n<ul>\n<li>\n<p>AI increases <a href=\"https:\/\/codescene.com\/hubfs\/whitepapers\/AI-Ready-Code-How-Code-Health-Determines-AI-Performance.pdf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">defect risk by more than 60%<\/a> when working in unhealthy code<\/p>\n<\/li>\n<li>\n<p>At low code health, AI wastes 35\u201350% more tokens unnecessarily<\/p>\n<\/li>\n<li>\n<p>Most codebases <a href=\"https:\/\/codescene.com\/blog\/making-legacy-code-ai-ready-benchmarks-on-agentic-refactoring\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">aren\u2019t even close to AI-ready<\/a><\/p>\n<\/li>\n<\/ul>\n<p>AI is an accelerator. It amplifies both good and bad in your codebase. So AI doesn\u2019t make technical debt less important. It makes it critical.<\/p>\n<\/p>\n<p>That\u2019s why we built the CodeHealth MCP. It plugs code health directly into your workflow so your AI can:<\/p>\n<ul>\n<li>\n<p>Auto-review AI-generated code before it becomes a problem.<\/p>\n<\/li>\n<li>\n<p>Safeguard code health so it stays maintainable<\/p>\n<\/li>\n<li>\n<p>Help uplift unhealthy code to make it AI-ready<\/p>\n<\/li>\n<\/ul>\n<p>Generating code fast is easy.<\/p>\n<p>Healthy systems at AI speed are the real challenge.<\/p>\n<\/p>\n<p>\ud83d\udc49 Try it for free. Your code will notice: <a href=\"https:\/\/codescene.com\/product\/code-health-mcp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/codescene.com\/product\/code-health-mcp<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>44<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adam_tornhill_cs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adam_tornhill_cs<\/a>&nbsp;Really resonates. MCP flips this from insight \u2192 action.<\/p>\n<p>Instead of just <em>knowing<\/em> where technical debt is, teams can now operationalize it in real-time workflows, prioritizing hotspots, guiding AI agents, and preventing bad code from scaling.<\/p>\n<\/p>\n<p>AI doesn\u2019t just need code. It needs <em>context<\/em>. That\u2019s where MCP becomes a force multiplier.<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adam_tornhill_cs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adam_tornhill_cs<\/a>&nbsp;instructing an agent is hard enough trying to do it in a messy codebase is impossible. CodeHealth MCP feels like &#8216;cleaning up the room&#8217; before you ask a guest to come over. Makes the agent way more effective. Congrats on the ship!<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adam_tornhill_cs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adam_tornhill_cs<\/a>&nbsp;AI speeds everything up, including mistakes.<\/p>\n<p>If code health is bad, AI just spreads that mess faster so tracking and feeding code quality into the workflow becomes essential, not optional.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 hits a nerve. When I was CTO scaling an engineering team from 15 to 120 people, code review was already our biggest bottleneck &#8211; senior engineers spending 30-40% of their time reviewing junior code. Now multiply that by AI-generated PRs that look clean on the surface but silently introduce coupling and complexity. The fact that CodeHealth MCP runs deterministic checks locally is the right call &#8211; you need something that catches structural issues before they compound, not after three sprints of building on top of them. Curious how the feedback loop works in practice: when an agent gets a CodeHealth warning, does it typically self-correct in one pass or does it tend to need multiple iterations to converge on healthy code?<\/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\/@avrisimon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avrisimon<\/a>&nbsp;You can instruct AI to self-correct by having instructions in your generic `AGENTS.md` or `CLAUDE.md` file (depending on agent), which the agent will read as sort of a global context. We have an example `AGENTS.md` file in our repository here if you want to take a look: <a href=\"https:\/\/github.com\/codescene-oss\/codescene-mcp-server\/blob\/main\/AGENTS.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/codescene-oss\/codescene-mcp-server\/blob\/main\/AGENTS.md<\/a>. <\/p>\n<p>The number of iterations it needs to do to achieve healthy code depends on a few factors, so it&#8217;s hard to give a concrete number. How bad is the code? The worse the code is, the harder it will be for AI to one-shot the solution. How good is the AI model you use? The better the model, the better it can understand instructions given by the CodeHealth MCP. In general though, with the latest Opus models from Claude and with code health even as low as 2 out of 10, I&#8217;ve personally seen it able to get to 10 out of 10 in just 2 iterations.<\/p>\n<p>The MCP is also great at safeguarding already healthy code so that AI can&#8217;t start introducing subtle defects or code smells into your code. This is important because healthy code requires a lot less tokens to understand and you need to spend no tokens at all on refactoring, saving you money.<\/p>\n<p>Does that answer your question?<\/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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@avrisimon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avrisimon<\/a>&nbsp;Great point, and that scaling experience really puts the problem in perspective<\/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>Been a CodeScene user for a while, so when the CodeHealth MCP Server dropped I jumped on it immediately and it&#8217;s been a great addition to my workflow.<\/p>\n<p>As someone who leans heavily into vibe-coding, having real-time CodeHealth feedback baked directly into my AI coding assistant is a game changer. It catches the kind of subtle technical debt that accumulates fast when you&#8217;re moving quickly and letting the AI do the heavy lifting. Instead of ending up with a pile of &#8220;works but nobody should touch this&#8221; code, I actually ship things I&#8217;m not embarrassed by later.<\/p>\n<\/p>\n<p>If you&#8217;re already a CodeScene user, this is a no-brainer. And if you&#8217;re new to it this is a great entry point. The deterministic health scoring gives you something concrete to improve toward, which is way more actionable than vague AI suggestions.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lht8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lht8<\/a>&nbsp;&#8220;Works but nobody should touch this&#8221;, we&#8217;ve all shipped that code\ud83d\ude48, and it&#8217;s even easier to do when the AI is moving fast for you. Really glad the health scoring gives you something concrete to aim at rather than just vibes-based cleanup. Thanks for being a CodeScene user and for jumping on this so quickly \ud83d\ude4c<\/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\/@lht8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lht8<\/a>&nbsp;Thanks for that lovely feedback, Marcus. Supper happy to hear that!<\/p>\n<\/p>\n<blockquote>\n<p>having real-time CodeHealth feedback baked directly into my AI coding assistant is a game changer. It catches the kind of subtle technical debt that accumulates fast when you&#8217;re moving quickly<\/p>\n<\/blockquote>\n<p>This is so important. An AI won&#8217;t write &#8220;good enough&#8221; code on its own. In fact, we find that agents often operate in a kind of self-harm mode. They generate code that is inherently incompatible with, well, themselves. (A strange paradox).<\/p>\n<p>With the CodeHealth MCP, we safeguard all code. It&#8217;s the tool that enabled me and my team to go fully agentic. And we&#8217;re not looking back \ud83d\ude0a<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks<a href=\"https:\/\/www.producthunt.com\/@lht8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lht8<\/a> , much appreciated!<\/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>Been using CodeScene for a while to improve code quality and keep things maintainable. Really excited to try the MCP server and see how it can take this further, especially with AI-assisted workflows. Great work on the launch!<\/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\/@tajib_smajlovic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tajib_smajlovic<\/a>&nbsp;Thank you so much for your support, our team appreciates it a lot. How reliable has AI-generated code been for you in production so far? <\/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\/@tajib_smajlovic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tajib_smajlovic<\/a>&nbsp;I&#8217;m glad you like the product!<\/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\/@tajib_smajlovic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tajib_smajlovic<\/a>&nbsp;Great to hear Tajib! Looking forward to hearing your thoughts on the MCP \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 speed of generating code with Claude Code or Cursor is incredible but the &#8220;did I just create six months of tech debt in 20 minutes&#8221; anxiety is real. Having an opinionated quality gate that doesn&#8217;t change its mind based on how you phrase the prompt is exactly what you need when the code itself is generated by a probabilistic system. Does it catch structural issues too, like functions that are doing too many things or classes that have grown beyond a reasonable scope? Those are the kinds of problems that AI agents love to create &#8211; technically correct code that&#8217;s architecturally messy.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ben_gend\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_gend<\/a>&nbsp;Yes, those are first class citizens in the Code Health score. Functions doing too many things are caught as Brain Methods, a dedicated metric for complex functions that centralize too much behavior. Classes that have grown beyond reasonable scope show up as Brain Classes (large modules with too many responsibilities) or Low Cohesion, which specifically measures whether a class has multiple unrelated responsibilities breaking the Single Responsibility Principle.<br \/>There&#8217;s also Bumpy Road, which catches functions with multiple dispersed chunks of logic that should have been extracted into their own functions.<\/p>\n<p>You can read more about our Code health metric here: <a href=\"https:\/\/codescene.io\/docs\/guides\/technical\/code-health.html#code-health-identifies-factors-known-to-impact-maintenance-costs-and-delivery-risks\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/codescene.io\/docs\/guides\/technical\/code-health.html#code-health-identifies-factors-known-to-impact-maintenance-costs-and-delivery-risks<\/a><\/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\/@ben_gend\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_gend<\/a>&nbsp;Yeah, &#8220;did I just create six months of tech debt in 20 minutes&#8221; is really worrying as many developers don&#8217;t even think about this impact. The see the larger commits but their current task was solved&#8230;<\/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>Thanks for your question<a href=\"https:\/\/www.producthunt.com\/@ben_gend\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_gend<\/a>&nbsp;CodeScene looks at some 25 different roles that drives complexity. You can read more about some of the smells here (<a href=\"https:\/\/docs.enterprise.codescene.io\/latest\/guides\/technical\/code-health.html#module-smells\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.enterprise.codescene.io\/latest\/guides\/technical\/code-health.html#module-smells<\/a>)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I use AI assisted code a lot now. Actually AI writes most of my code now. One thing has become very clear: AI is great at producing a lot of code. But it amplifies the code quality of what is already in the code base. Bad code gets worse. Good code can stay good, but it is very much the responsibility of the developer to keep it good. <\/p>\n<p>The combination of Codescene extension (free) of the Codescene MCP makes this so much easier. The extension will surface potential problems instantly and show you code smells you probably want to adress. The Codescene MCP allows the coding agent to to be aware of problems and get more details and context on how to fix them. <\/p>\n<p>I love the fact that the agent can end each session with asking codescene mcp for a code review so see where it didn&#8217;t really cleared the bar, and automatically correct itself. <\/p>\n<p>I also use the MCP server to ask about code that I might think is too complex, or where I sense something is wrong, but can&#8217;t really put words on it. The MCP is so good at evaluating the code quality and give suggestions for improvements. <\/p>\n<p>The more you work with AI assisted coding, the more important this product becomes. I highly recommend it and it is always the first thing that goes into custom instructions for the AI when I start working on a project. <\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@johan_nordberg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johan_nordberg<\/a>&nbsp;Thanks a lot for your feedback!<\/p>\n<\/p>\n<blockquote>\n<p>I also use the MCP server to ask about code that I might think is too complex, or where I sense something is wrong, but can&#8217;t really put words on it. The MCP is so good at evaluating the code quality and give suggestions for improvements.<\/p>\n<\/blockquote>\n<p>I like that. It&#8217;s a really important aspect of going agentic. Our research finds that AI requires even better code quality than humans, not less. The CodeHealth MCP allows us to pull that risk forward, and strategically refactor code to make it AI-ready.<\/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><a href=\"https:\/\/www.producthunt.com\/@johan_nordberg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johan_nordberg<\/a>&nbsp;Couldn&#8217;t agree more on the amplification effect, it&#8217;s probably the most underrated risk in AI-assisted development right 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>A lot of developers have a negative view of AI assisted or generated code, because they tried it out at one point and it created what would be best described as low quality slop, making the job of the developer one of a glorified AI slop cleanup specialist. Nobody likes doing that, so they stopped using AI or formed a very negative view of it. I&#8217;ve been there myself, too. <\/p>\n<p>With the CodeHealth MCP though, you can have a deterministic feedback loop for AI which makes AI self-correct the slop it creates, allowing you to think holistically about your task at hand without having to deal with cleaning up bad AI generated code. <\/p>\n<p>I consider myself a fairly decent software engineer, but not only can the CodeHealth MCP remove the slop cleaning part of my agentic workflow, it also allows me to create better code than I did before, and I think my code pre-AI was already fairly decent, so that&#8217;s saying something. I truly cannot envision doing agentic programming without CodeHealth MCP anymore. It&#8217;s either that or I&#8217;d much rather write code without AI again.<\/p>\n<p>Do you have similar experiences? <\/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\/@askonmm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@askonmm<\/a>&nbsp;Totally agree, it&#8217;s underrated. The &#8220;asking an LLM if LLM code is good&#8221; loop has some obvious blind spots.<\/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>Deterministic is doing a lot of work here and in the best way possible. In a world of AI-generated everything, having a non-LLM signal for code quality feels underrated. What does the scoring model actually look at \u2014 cyclomatic complexity, coupling, something proprietary?<\/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\/@tadej_kosovel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tadej_kosovel<\/a>&nbsp;Deterministic is the only way in the world of non-deterministic AI, I think.<\/p>\n<p>The scoring model looks at many things; module smells, function smells and implementation smells. Part of those are things such as cyclomatic complexity and coupling indeed, but there&#8217;s a whole lot more that goes on, and we keep continuously improving that metric as we go along. You can read more specific info on the CodeHealth metric here: <a href=\"https:\/\/codescene.io\/docs\/guides\/technical\/code-health.html#code-health-identifies-factors-known-to-impact-maintenance-costs-and-delivery-risks\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/codescene.io\/docs\/guides\/technical\/code-health.html#code-health-identifies-factors-known-to-impact-maintenance-costs-and-delivery-risks<\/a>. <\/p>\n<p>Does that help answer your question?<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tadej_kosovel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tadej_kosovel<\/a>&nbsp;Agree 100%. We really believe on deterministic quality signals is key for the current LLMs. <\/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>Cool! is it like SonarQube but as an MCP?<\/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\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;It&#8217;s CodeScene analysis tools as an MCP, which works in the same space as SonarQube. It can help you do code health reviews, uplifting of unhealthy code and safeguarding AI generated code. Is there a specific use case you&#8217;re interested in?<\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;Thanks and lot, Andr\u00e9! <\/p>\n<p>CodeScene&#8217;s MCP is based on the Code Health metric. It&#8217;s the only validated code-level metric with a proven impact in terms of faster (shorter lead times) and better (fewer defects).<\/p>\n<p>Compared to linting aggregators like SonarQube, Code Health works at a higher level. Think of linters like the line-by-line commenting whereas Code Health checks the design and structure of the code to guide agents.<\/p>\n<\/p>\n<p>Does that help explaining the difference?<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Healthy systems at AI speed that\u2019s a powerful phrase. What\u2019s one practical step teams can take today to move closer to that goal? <\/p>\n<p>Clean and nice logo as well. Congratulations!<\/p><\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@odeth_negapatan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@odeth_negapatan1<\/a>&nbsp;Thank you, Odeth! <\/p>\n<p>It&#8217;s important to have checks that verify AI created code. You could have unit tests in place and instruct AI to make sure that tests pass. You could instruct AI to always check that test coverage is a high percentage (at CodeScene we try to aim for 95%+), this way AI can deterministically check if tests cover the logic it created or not. Finally you could have our CodeHealth MCP which can check for code quality issues, degradations, do uplifting and safeguarding. <\/p>\n<p>Does this help answer your question?<\/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> Thanks <a href=\"https:\/\/www.producthunt.com\/@odeth_negapatan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">odeth_negapatan1<\/a> you should try it out!<\/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\/@odeth_negapatan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@odeth_negapatan1<\/a>&nbsp;<\/p>\n<p>Thank you Odeth, really appreciate your kind words and looking forward to hearing your thoughts when you have tried it out \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is clearly needed. Agents are capable of writing excellent code, but left alone they choose not to. <\/p>\n<\/p>\n<p>I try to find ways to micromanage quality less and this is the best I\u2019ve seen so far.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@johan_martinsson1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johan_martinsson<\/a>Interesting point about micromanaging, it actually help you with that.<\/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\/@johan_martinsson1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johan_martinsson1<\/a>&nbsp;Thank you! We think the CodeHealth MCP is the missing link in agentic programming. You should definitely 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@johan_martinsson1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johan_martinsson1<\/a>&nbsp;Not having to micromanage quality is exactly the goal, agents should self-correct, not wait for a human to notice the mess<\/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 timely launch. A major theme at ICSE 2026 (<a href=\"https:\/\/conf.researchr.org\/home\/icse-2026\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/conf.researchr.org\/home\/icse-2026<\/a>) was how to add guardrails in agentic workflows. This MCP server is a meaningful step toward making structural code quality a commodity.<\/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\/@mrksbrg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mrksbrg<\/a>&nbsp;Indeed! I&#8217;m excited for how far we can take this, and what other tools we could create to further improve software quality.<\/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>Insightful! <a href=\"https:\/\/www.producthunt.com\/@mrksbrg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mrksbrg<\/a>&nbsp;<\/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\/@mrksbrg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mrksbrg<\/a>&nbsp;That&#8217;s good news and I&#8217;m glad to hear that it&#8217;s picked up as an important theme \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019ve tried it out and was quite happy with how easy it is to use. The installation was quick and the whole setup fells intuitive!<\/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\/@freyawi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@freyawi<\/a>&nbsp;We&#8217;re glad you like it! If you have any feedback on how we could improve things further, we&#8217;re all ears. <\/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\/@freyawi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@freyawi<\/a>&nbsp;Great to hear Freya \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you<a href=\"https:\/\/www.producthunt.com\/@freyawi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@freyawi<\/a>&nbsp;I&#8217;m glad to hear!<\/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>One thing we found in <a href=\"https:\/\/arxiv.org\/pdf\/2601.02200\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">our research<\/a> is that AI tends to struggle the most in already complex, low CodeHealth codebases, it doesn\u2019t just generate code, it amplifies existing issues. <\/p>\n<p>We found that there&#8217;s a 60% higher defect risk when applying AI coding tools to unhealthy Code. Here is a <a href=\"https:\/\/codescene.com\/hubfs\/whitepapers\/AI-Ready-Code-How-Code-Health-Determines-AI-Performance.pdf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">link to our whitepaper<\/a> that is based on the research paper linked above. <\/p>\n<p>Curious, how are you validating code quality when using AI tools today? <\/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>When we developed the CodeHealth MCP we benchmarked raw Claude Code refactoring against MCP-guided refactoring. The result: 2-5x improvement in how many code smells Claude Code could solve. And the <em>type<\/em> of work changed too, from more low level improvements like renames of variables to guided restructuring of the code.<\/p>\n<p>Agents aren&#8217;t lazy, they&#8217;re just flying blind and have no incentive to do better.<br \/>Read the full thing here: <a href=\"https:\/\/codescene.com\/blog\/making-legacy-code-ai-ready-benchmarks-on-agentic-refactoring\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/codescene.com\/blog\/making-legacy-code-ai-ready-benchmarks-on-agentic-refactoring<\/a><\/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\/@fredrik_ekstrand\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fredrik_ekstrand<\/a>&nbsp;Indeed! What I like best is that the MCP takes away the pain of cleaning up poor AI generated code and allows me to do my work in a more holistic way, thus allowing me to achieve more, not only in velocity, but also in <em>breath<\/em>. I no longer think in terms of code, but in terms of architectural specs, and it&#8217;s been liberating to me as a generalist. <\/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>Hi PH! I&#8217;m Adna, Developer Advocate at CodeScene.<\/p>\n<p>I tested Claude, Copilot, and Cursor on the same legacy file and ended up with the same result: all three passed tests and all three made the code worse &#8211; and it happened silently, with no signal telling them they had.<\/p>\n<p>The problem isn&#8217;t the model. It&#8217;s that agents have no idea which parts of a codebase are already load-bearing and fragile. They write confidently into broken areas because nothing stops them.<\/p>\n<p>With the MCP Server in the loop: same file, same task, 4.82 \u2192 9.1. Iteratively. The agent verified the delta after each step before moving on. That behavioral shift, knowing where <em>not<\/em> to be reckless, is what actually changed. Server runs locally, is model-agnostic, and finally, no code leaves your machine.<\/p>\n<p>Happy to answer anything &#8211; especially if you&#8217;ve hit this problem yourself: how are you currently catching structural degradation in agent-assisted workflows?<\/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>Really interesting timing on this. I&#8217;ve been using Claude Code heavily and the biggest issue isn&#8217;t that the AI writes bad code per se, it&#8217;s that it optimizes for &#8220;works now&#8221; without considering long-term maintainability. Functions get too long, coupling creeps in, and you don&#8217;t notice until the PR is already 400 lines. Having code health checks integrated directly into the MCP layer means the AI gets feedback before it even shows you the result. Does this work as a preventive guardrail (blocking unhealthy suggestions) or more as a post-generation linter that flags issues for the developer to decide 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\/@elijahbowlby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elijahbowlby<\/a>&nbsp;It works as both. You can use it to review code health on demand (code_health_review tool), for before committing (pre_commit_code_health_safeguard tool) and also before pushing (analyze_change_set tool). If you add instructions to your generic agents instructions file, it can do it on its own. An example `AGENTS.md` file is also available in our GitHub repository, here: <a href=\"https:\/\/github.com\/codescene-oss\/codescene-mcp-server\/blob\/main\/docs\/AGENTS-standalone.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/codescene-oss\/codescene-mcp-server\/blob\/main\/docs\/AGENTS-standalone.md<\/a>. <\/p>\n<p>Internally we use it during development to maintain perfect code quality, but also as a last step safety check before pushing our changes.<\/p>\n<p>Does this help answer your question?<\/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\/@elijahbowlby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elijahbowlby<\/a>&nbsp;The cool thing is that the CodeHealth MCP becomes part of that inner agentic developer loop, catching any slip in maintainability early. Claude Code then self-corrects, refactors the offending code, and re-evaluates with the MCP.<\/p>\n<\/p>\n<p>I\u2019ve used the MCP internally during development, and its safeguards kick in during virtually every coding session. That also saves a lot of tokens going forward.<\/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>Another interesting use case with the CodeHealth MCP that we can dig deeper into is the ROI-calculation. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bd7c8349-dede-466a-9f55-d6c8cd6c2bc2.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p>This ROI calculation is built-in to the MCP via the tool code_health_refactoring_business_case<\/p>\n<\/p>\n<p>It uses our <a href=\"https:\/\/codescene.com\/blog\/benchmarking-code-health-refactoring-roi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">validated statistical model<\/a> and industry benchmarks to translate how improving code health translates into faster development speed and fewer defects. This makes it easier to justify the refactoring investments to stakeholders! <\/p>\n<\/p>\n<p>What are  your thoughts? <\/p>\n<\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@adam_tornhill_cs\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"adam_tornhill_cs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adam_tornhill_cs<\/a> anything that I forget to mention? <\/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\/@romanela_p\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@romanela_p<\/a>&nbsp;The built-in ROI calculation is powerful. Refactoring might be a hard sell to a PO\/PM who&#8217;s busy with new features. The ROI calculation puts a business value on refactoring.<\/p>\n<\/p>\n<p>And yes, it&#8217;s based on CodeScene&#8217;s peer-reviewed research where we developed a statistical model for translating Code Health deltas into business impact: faster and\/or better.<\/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\/@romanela_p\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@romanela_p<\/a>&nbsp;One of the shortcomings of many engineers is that they struggle with quantifying important engineering aspects into business impact and thus often fail to convince their managers to green light some important refactoring work. The CodeHealth MCP&#8217;s code_health_refactoring_business_case tool solves that problem entirely.<\/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&#8217;m curious how you are actually handling this in practice, what does your workflow look like for reviewing or validating AI-generated code before it hits production?<\/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\/@stefan_persson1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@stefan_persson1<\/a>&nbsp;Everybody has a different development flow, of course, but I personally use it something like this: I create an initial prompt to the AI to work on some task. I&#8217;ve instructed it via `AGENTS.md` to always run code health review after every change, and if it has degraded, fix it on its own. This allows me to focus on the task and not the code quality, which the CodeHealth MCP takes care of. Once I&#8217;m done with my task I run the `analyze_change_set` tool to make sure that my feature branch doesn&#8217;t have any degradation&#8217;s compared to the master branch, and if there are, I will ask AI to fix those issues using CodeHealth MCP guidance. <\/p>\n<p>This makes sure that the code itself is of perfect quality, but of course it can&#8217;t understand architectural choices, so the very last review is still made by me &#8211; a human &#8211; to verify that everything looks good. I can focus on architectural analysis, and no longer have to focus on tedious code health parts, which is very liberating. <\/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>Code health metrics are crucial for maintainability. I&#8217;m curious how this integrates with existing CI\/CD pipelines. Does it require specific build tools or can it work with any project structure?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>deterministic feedback as the loop is the part that catches my eye \u2014 most coding agents just churn until tests pass. does CodeHealth surface the signal as a tool call result, or does it slot in as a pre-commit gate?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#8<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/QWZ3YHVN4PTIGJ\" class=\"app-title\">Dreambase Data Agent Skills<\/a><\/p>\n<div class=\"one-liner\">Analytical skills for data agents running on Supabase<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">142<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Dreambase Data Agent Skills \u662f\u4e00\u4e2a\u9762\u5411Supabase\u7528\u6237\u7684AI\u5206\u6790\u5c42\uff0c\u901a\u8fc7\u5c06\u6570\u636e\u6e90\u3001\u4e1a\u52a1\u903b\u8f91\u548c\u53ef\u89c6\u5316\u89c4\u5219\u6253\u5305\u6210\u53ef\u590d\u7528\u7684\u201c\u6280\u80fd\u201d\u5355\u5143\uff0c\u8ba9AI\u4ee3\u7406\u65e0\u9700\u91cd\u590d\u7406\u89e3\u6570\u636e\u6a21\u578b\u5373\u53ef\u751f\u6210\u51c6\u786e\u7684\u4eea\u8868\u76d8\u548c\u62a5\u544a\uff0c\u89e3\u51b3\u4e86\u4f20\u7edfAI\u5206\u6790\u4e2d\u201c\u6bcf\u6b21\u67e5\u8be2\u90fd\u8981\u91cd\u65b0\u89e3\u91ca\u6570\u636e\u542b\u4e49\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\/e6ad4a8c-f531-4ef1-869d-594c1593c69a.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\/b852f9ce-849f-42e0-b0b8-dc994efb641b.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\/096768b7-9873-4237-b6a7-aaf953221049.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\/50955482-67b7-46e9-a8ee-05ea516c8471.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\/eb282937-9cf8-44e1-873d-e0c644e08bac.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\/e6414339-86d2-41d3-a0ed-458e11060dfa.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\/b50b89fc-95fa-49f7-ba79-7bf0a392e0c7.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\/d419ea5b-ca8d-45a6-9c56-a0f43f3d4be4.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/tUvsaJD2dSQ\"><source src=\"https:\/\/youtu.be\/tUvsaJD2dSQ\" 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\">Analytics<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Business Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5206\u6790\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">Supabase\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6280\u80fd\u5305<\/span><br \/>\n            <span class=\"tag\">\u65e0ETL\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u4e1a\u52a1\u903b\u8f91\u5c01\u88c5<\/span><br \/>\n            <span class=\"tag\">\u5546\u4e1a\u667a\u80fd\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7ec4\u5408\u6570\u636e\u5c42<\/span><br \/>\n            <span class=\"tag\">MCP\u517c\u5bb9<\/span><br \/>\n            <span class=\"tag\">\u67b6\u6784\u5373\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u667a\u80fd<\/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\u4e00\u6b21\u5b9a\u4e49\uff0c\u591a\u6b21\u590d\u7528\u201d\u7684\u8bbe\u8ba1\uff0c\u8ba4\u4e3a\u6bd4\u4f20\u7edfBI\u5de5\u5177\u66f4\u806a\u660e\u3002\u4e3b\u8981\u5173\u6ce8\u70b9\u5728\u4e8e\uff1a\u4e1a\u52a1\u903b\u8f91\u590d\u6742\u540e\u6280\u80fd\u7684\u7075\u6d3b\u6027\u3001\u5982\u4f55\u5e94\u5bf9\u6570\u636e\u5e93\u6a21\u5f0f\u53d8\u66f4\uff08\u65e0\u58f0\u6f02\u79fb\u8fd8\u662f\u62a5\u9519\uff09\u3001\u4e0d\u5408\u89c4\u8303\u7684\u81ea\u52a8\u626b\u63cf\u51c6\u786e\u6027\u3002\u521b\u59cb\u4eba\u56de\u5e94\u5f3a\u8c03\u6709\u201c\u4eba\u4e3a\u53cd\u9988\u5faa\u73af\u201d\u548c\u5b9e\u65f6\u6a21\u5f0f\u68c0\u67e5\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                Dreambase Data Agent Skills\u8d29\u5356\u7684\u6838\u5fc3\u5e76\u975e\u53e6\u4e00\u4e2aBI\u5de5\u5177\uff0c\u800c\u662f\u201cAI\u65f6\u4ee3\u7684\u6570\u636e\u5951\u7ea6\u5c42\u201d\u3002\u5728\u4ea7\u54c1\u540c\u8d28\u5316\u4e25\u91cd\u7684Supabase\u751f\u6001\u4e2d\uff0c\u5b83\u627e\u5230\u4e86\u4e00\u4e2a\u7cbe\u5999\u7684\u5207\u5165\u70b9\u2014\u2014\u4e0e\u5176\u8ba9AI\u6bcf\u6b21\u731c\u8c1c\u5f0f\u5730\u7ffb\u4f60\u7684\u6570\u636e\u5e93\uff0c\u4e0d\u5982\u7ed9\u5b83\u4e00\u672c\u7ecf\u8fc7\u4eba\u7c7b\u5ba1\u6838\u7684\u201c\u4e1a\u52a1\u8bf4\u660e\u4e66\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8fd9\u79cd\u601d\u8def\u7684\u524d\u77bb\u6027\u5728\u4e8e\uff1a\u5b83\u628a\u201c\u6570\u636e\u5b9a\u4e49\u201d\u4ece\u5f00\u53d1\u8005\u7684IDE\u63d0\u5347\u5230\u4e86\u4ea7\u54c1\u7ecf\u7406\u548c\u4e1a\u52a1\u4eba\u5458\u7684\u53ef\u64cd\u4f5c\u5c42\u9762\u3002\u5f53\u884c\u4e1a\u8fd8\u5728\u4e89\u8bbaRAG\u548cAgent\u6846\u67b6\u65f6\uff0cDreambase\u5df2\u7ecf\u7ed1\u67b6\u4e86\u201c\u4e0a\u4e0b\u6587\u201d\u8fd9\u4e2a\u6982\u5ff5\u3002\u7136\u800c\uff0c\u8fd9\u91cc\u6709\u4e09\u4e2a\u9690\u5fe7\u503c\u5f97\u8b66\u60d5\uff1a\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e00\uff0c**\u6280\u80fd\u7684\u53ef\u53d8\u6027\u4e0e\u7ef4\u62a4\u6210\u672c**\u3002\u521b\u59cb\u4eba\u4fe1\u8a93\u65e6\u65e6\u8bf4\u201c\u5b9a\u4e49\u4e00\u6b21\u201d\uff0c\u4f46\u5728\u771f\u5b9e\u4e1a\u52a1\u4e2d\uff0c\u8868\u7ed3\u6784\u3001API\u548c\u4e1a\u52a1\u903b\u8f91\u662f\u52a8\u6001\u6f14\u5316\u7684\u3002\u5982\u679c\u573a\u666f\u53d8\u66f4\u65f6\u6280\u80fd\u5305\u4e0d\u50cf\u4ee3\u7801\u4e00\u6837\u6709\u7248\u672c\u63a7\u5236\u3001\u53d8\u66f4\u65e5\u5fd7\u548c\u56de\u6eda\u673a\u5236\uff0c\u8fd9\u5c42\u201c\u8bed\u4e49\u5c42\u201d\u5f88\u5bb9\u6613\u53d8\u6210\u201c\u503a\u52a1\u5c42\u201d\u3002\u76ee\u524d\u53ea\u63d0\u4e86\u201c\u5b9e\u65f6\u68c0\u67e5\u6a21\u5f0f\u6f02\u79fb\u201d\uff0c\u4f46\u6f02\u79fb\u540e\u5982\u4f55\u5904\u7406\uff1f\u662f\u81ea\u52a8\u66f4\u65b0\u8fd8\u662f\u89e6\u53d1\u4eba\u5de5\u5e72\u9884\uff1f\u6ca1\u6709\u660e\u786e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e8c\uff0c**\u5bf9Supabase\u7684\u6df1\u5ea6\u7ed1\u5b9a\u662f\u4e00\u628a\u53cc\u5203\u5251**\u3002\u867d\u7136\u4f5c\u4e3aFeatured\u96c6\u6210\u83b7\u5f97\u4e86\u6d41\u91cf\uff0c\u4f46\u672c\u8d28\u4e0aDreambase\u7684\u4ef7\u503c\u4e0eSupabase\u7684\u751f\u6001\u5065\u5eb7\u5ea6\u6df1\u5ea6\u8026\u5408\u3002\u5982\u679cSupabase\u81ea\u8eab\u589e\u957f\u653e\u7f13\u6216\u51fa\u73b0\u5f3a\u52b2\u7684\u7ade\u54c1\uff08\u6bd4\u5982Neon\uff09\uff0c\u8fd9\u79cd\u4f9d\u8d56\u5c31\u6210\u4e86\u98ce\u9669\u3002\u4ea7\u54c1\u5ba3\u4f20\u201cCLI\u548cMCP\u201d\u662f\u4e3a\u4e86\u6446\u8131\u8fd9\u79cd\u7ed1\u5b9a\uff0c\u4f46\u5b9e\u9645\u6210\u719f\u5ea6\u5b58\u7591\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e09\uff0c**\u7528\u6237\u8bc4\u8bba\u4e2d\u7684\u70ed\u60c5\u4e0e\u4ed8\u8d39\u610f\u613f\u7684\u5dee\u8ddd**\u3002\u8bc4\u8bba\u533a\u4e00\u7247\u53eb\u597d\uff0c\u4f46\u591a\u6570\u662f\u201c\u542c\u8d77\u6765\u5f88\u68d2\u201d\u6216\u201c\u5e0c\u671b\u80fd\u641e\u5b9a\u590d\u6742\u573a\u666f\u201d\u3002\u4ece142\u7968\u7684\u89c4\u6a21\u770b\uff0c\u771f\u6b63\u6df1\u5ea6\u4f7f\u7528\u7684\u4ed8\u8d39\u7528\u6237\u53ef\u80fd\u8fd8\u4e0d\u6210\u89c4\u6a21\u3002\u4e00\u4e2a\u4e0d\u5bb9\u5ffd\u89c6\u7684\u6311\u6218\u662f\uff1aDreambase\u7684\u4ef7\u503c\u88ab\u5f88\u591a\u4f01\u4e1a\u4e3b\u611f\u77e5\u4e3a\u201c\u7528AI\u66ff\u4ee3\u6570\u636e\u5206\u6790\u5e08\u201d\uff0c\u4f46\u73b0\u5b9e\u4e2d\uff0c\u4f01\u4e1a\u4e5f\u8bb8\u66f4\u9700\u8981\u7684\u662f\u4e00\u4e2a\u80fd\u76f4\u63a5\u56de\u7b54\u201c\u4e0b\u5b63\u5ea6\u6536\u5165\u589e\u901f\u201d\u7684\u7b80\u5355AI\uff0c\u800c\u975e\u4e00\u5957\u9700\u8981\u7531\u4eba\u6765\u5b9a\u4e49\u201c\u4e1a\u52a1\u903b\u8f91\u201d\u7684\u590d\u6742\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u7ed3\uff1a\u8fd9\u662f\u4e2a\u806a\u660e\u4ea7\u54c1\uff0c\u4f46\u806a\u660e\u548c\u5fc5\u8981\u4e4b\u95f4\u8fd8\u6709\u8ddd\u79bb\u3002\u82e5\u4e0d\u80fd\u8bc1\u660e\u5728\u6301\u7eed\u53d8\u66f4\u7684\u590d\u6742\u4e1a\u52a1\u573a\u666f\u4e0b\uff0c\u7ef4\u62a4\u8fd9\u5957\u201c\u6280\u80fd\u201d\u7684\u6210\u672c\u4f4e\u4e8e\u91cd\u65b0\u6559AI\u7684\u6210\u672c\uff0c\u5b83\u5f88\u53ef\u80fd\u88ab\u5927\u6a21\u578b\u672c\u8eab\u7684\u8fdb\u6b65\uff08\u5982\u66f4\u5f3a\u7684Schema\u63a8\u7406\u80fd\u529b\uff09\u6240\u66ff\u4ee3\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Dreambase Data Agent Skills<\/span>\n                <\/div>\n<div class=\"comment-content\">Today we&#8217;re introducing Dreambase Skills, a composable layer that bundles your data sources (Supabase tables, Stripe, PostHog, any API or MCP), business logic, and visualization rules into reusable units our agents use to build accurate dashboards and reports. Onboarding scans your database and prepopulates Skills automatically. Coming soon via CLI, API, and MCP so other agents can consume them too.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt, Andy here, co-founder of Dreambase.<br \/>\nToday we&#8217;re launching Dreambase Skills.<br \/>\nA Skill is how you teach Dreambase about your business. Bundle your data, business logic, formatting, and visualization preferences into one reusable unit. Define a &#8220;SaaS Subscription Skill&#8221; once, and every dashboard, report, and Dreambase agent uses it consistently. No more AI guessing what your data means.<br \/>\nWe&#8217;ve been building toward Skills for over a year, and now the industry has coalesced around the concept. Today we&#8217;re aligning with the standard, with CLI and MCP access coming soon.<br \/>\nBacked by Felicis and a featured Supabase integration. Free to try, no credit card. Would love your feedback!<\/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\/@alwaysunday\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alwaysunday<\/a>&nbsp;Feels less like a dashboard tool and more like a layer that actually understands your business logic. Packaging data, rules, and visualization into \u201cSkills\u201d is a smart way to avoid the usual BI setup mess. If it works as described, going from Supabase to production-ready dashboards without ETL or tracking could save a lot of time. How flexible are these Skills when business logic evolves or gets more complex?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>We&#8217;ve been working towards Data Agent Skills since we started Dreambase, we knew early on that context and documentation was the key to unlocking accuracy and repeatability, the industry just took a while to coalesce on the right standards and practices.<\/p>\n<\/p>\n<p>The hardest problem in AI analytics is not generating a dashboard, it is making sure the AI understands your business well enough to generate the <em>right<\/em> dashboard, or the right insight, every time, without you explaining your data model on every query.<\/p>\n<p>Skills solve that. Define your business logic once. Every agent, every dashboard, every report uses it consistently from that point forward.<\/p>\n<p>We have been building toward this for over a year. Watching it ship today is one of those moments where the product finally matches the vision we started with. We&#8217;ve got so much more on the way, exposing our agents into your workflows and tools soon!<\/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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, Eduardo here, founding engineer at Dreambase.<\/p>\n<p>A few things I&#8217;m proud of in this release:<\/p>\n<p>Skills aren&#8217;t a config file. They&#8217;re a composable unit that bundles connectors (Supabase tables, Stripe, PostHog, any API or MCP), business logic, formatting rules, and viz preferences. Our agents read Skills as context, loads them manually if selected or on demand depending on user intent and also analyze your data schemas live when necessary to see if there are any misalignments or additional considerations, which is why queries actually match how your business works. <\/p>\n<p>Onboarding scans your Supabase schema and auto-generates a starter set of Skills. From there, the Skill Builder is a plain-language wizard that picks the right tables and connectors for whatever you&#8217;re trying to track.<\/p>\n<p>Soon, Skills will be accessible via CLI and MCP, so other agents and platforms can consume them too. If you&#8217;re building agentic tooling on top of Supabase data, this is the part I&#8217;m most excited about.<\/p>\n<p>Happy to nerd out on the architecture, the agent stack, or how we handle schema drift. Ask me anything.<\/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=\"comment-item\">\n<div class=\"comment-content\">\n<p>LFG <\/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>Congrats <a href=\"https:\/\/www.producthunt.com\/@alwaysunday\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"alwaysunday\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alwaysunday<\/a> and team &#8211; pumped for you!<\/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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Analytics without ETL or extra setup sounds great\u2026 curious how well it holds up with more complex data.<\/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\">@mahavir1 Spot on, this is definitely the future of getting insights and analytics without the painful traditional ETL. We&#8217;ve worked with Supabase users with simple, moderate, and extremely complex schemas across very diverse industries, and just like everyone else has discovered with AI: context is the key! Not only ai generated context, but human in the loop context, and skills! This is why we&#8217;re stoked about this release. Skills have evolved to the industry standard and something we&#8217;ve honed for many months to truly break down massive amounts of tables, columns, relations, as well as external API and MCP data into manageable context. Give it a try!<\/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>How accurate is the onboarding scan auto-population feature for a database with unclear or inconsistent table names that don&#8217;t follow standard SaaS conventions?<\/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\">@bengeekly Hi! You&#8217;re definitely right about the challenge of just relying on the names of tables to understand the true data, this is one of our differentiators as we do so much more. <\/p>\n<p>Along with a bevy of analytics discovery skills our data agents use, we have an onboarding process with the humans in the loop that provide feedback on our mapping and understanding, review the most important KPIs, metrics, and skills custom to your datasets, and build the right dashboards through an ai planning mode. <\/p>\n<p>These things compound over time and fine tune an ai semantic layer that becomes the brain of your insights.<\/p><\/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 &#8220;define once, reuse everywhere&#8221; approach to business logic makes a lot of sense &#8211; tired of re-explaining what my data means every time I ask an agent to build a report. Using Supabase for auth and data in my own SaaS project, and the gap between raw tables and useful dashboards is real. Does the auto-scan onboarding handle Supabase RLS policies, or does it only look at the schema?<\/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\">@nazarenko yes we actually have a feature called Supabase Health Assessments that scans for RLS, performance, indexing, security and other optimizations and makes recommendations you and your llm can use (via markdown and cursor integration) <a href=\"https:\/\/dreambase.com\/docs\/supabase-assessments\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/dreambase.com\/docs\/supab&#8230;<\/a><\/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>skills as a composable layer is smart \u2014 way better than the agent reverse-engineering your schema every run. how do skills handle changes when someone alters a Supabase table? do they break loud, or silently drift?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/UCP2XMP2ZA7D2E\" class=\"app-title\">Picsart CLI <\/a><\/p>\n<div class=\"one-liner\">Picsart&#8217;s power right from your AI chat box<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">112<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Picsart CLI \u5c06\u56fe\u50cf\u3001\u89c6\u9891\u3001\u97f3\u9891\u751f\u6210\u80fd\u529b\u96c6\u6210\u5230\u7ec8\u7aef\u4e2d\uff0c\u8ba9\u5f00\u53d1\u8005\u901a\u8fc7\u547d\u4ee4\u884c\u4e00\u7ad9\u5f0f\u8c03\u7528140\u4f59\u79cdAI\u6a21\u578b\uff0c\u7701\u53bb\u5728\u591a\u4e2aSDK\u4e4b\u95f4\u5207\u6362\u8ba4\u8bc1\u548c\u8c03\u7528\u7684\u7e41\u7410\u6d41\u7a0b\uff0c\u89e3\u51b3\u591a\u6a21\u6001\u5f00\u53d1\u6548\u7387\u4f4e\u4e0b\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\/f576bbaa-a279-47b1-a16b-fc4f0ec874f0.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\/a66dfe87-7527-4199-8493-f122fbbf0818.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\/27b83adc-50a5-4a20-b550-ee534a7b1e57.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\/d2c490f1-5496-40bb-8824-a5658ccc5e00.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\/3ceb4f79-b3c8-48ec-a7b1-f14c8eb6a535.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\/93a7d68d-66a3-47e2-b969-07ba94ab1d43.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\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u6001\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">AI\u6a21\u578b\u805a\u5408<\/span><br \/>\n            <span class=\"tag\">\u56fe\u50cf\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u97f3\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Picsart<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u7aef\u64cd\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u751f\u6210\u5f0fAI<\/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\u8be5CLI\u662f\u5c01\u88c5\u7b2c\u4e09\u65b9\u6a21\u578b\u8fd8\u662fPicsart\u81ea\u7814\u6a21\u578b\uff0c\u5e76\u8be2\u95ee\u662f\u5426\u652f\u6301\u8de8\u6a21\u6001\u94fe\u5f0f\u8c03\u7528\uff08\u5982\u6587\u751f\u56fe\u2192\u56fe\u751f\u89c6\u9891\u2192\u914d\u97f3\uff09\uff0c\u5404\u8c03\u7528\u662f\u5426\u72ec\u7acb\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                Picsart CLI\u7684\u5b9a\u4f4d\u806a\u660e\u4f46\u4e0d\u7b97\u98a0\u8986\u3002\u5b83\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u6a21\u578b\u805a\u5408\u7ec8\u7aef\u201d\uff0c\u628aPicsart\u81ea\u5bb6\u7684140\u591a\u4e2a\u751f\u6210\u6a21\u578b\u6253\u5305\u8fdb\u547d\u4ee4\u884c\u3002\u5bf9\u4e8e\u5f00\u53d1\u8005\u800c\u8a00\uff0c\u514d\u53bb\u591aSDK\u8ba4\u8bc1\u548c\u788e\u7247\u5316\u8c03\u7528\u7684\u75db\u70b9\u786e\u5b9e\u5b58\u5728\uff0c\u4f46\u8fd9\u7c7b\u5de5\u5177\u7684\u4ef7\u503c\u53d6\u51b3\u4e8e\u4e24\u4e2a\u5173\u952e\u70b9\uff1a\u6a21\u578b\u8d28\u91cf\u662f\u5426\u8db3\u591f\u72ec\u7279\uff0c\u4ee5\u53ca\u94fe\u5f0f\u8c03\u7528\u662f\u5426\u6d41\u7545\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u5df2\u7ecf\u654f\u9510\u5730\u8ffd\u95ee\u6a21\u578b\u6765\u6e90\u548c\u7ba1\u9053\u5316\u80fd\u529b\u2014\u2014\u5982\u679c\u8fd9\u4e9b\u6a21\u578b\u53ea\u662f\u5bf9\u73b0\u6709\u5f00\u6e90\u6a21\u578b\uff08\u5982Stable Diffusion\u3001Whisper\u7b49\uff09\u7684\u7b80\u5355\u5c01\u88c5\uff0c\u90a3Picsart CLI\u7684\u62a4\u57ce\u6cb3\u5c31\u5f88\u6d45\uff0c\u5f88\u5feb\u4f1a\u88ab\u7c7b\u4f3c\u5de5\u5177\u590d\u5236\u3002\u66f4\u503c\u5f97\u62c5\u5fe7\u7684\u662f\uff0c\u7ec8\u7aefCLI\u5728\u590d\u6742\u7684\u591a\u6a21\u6001\u5de5\u4f5c\u6d41\u4e2d\u5f80\u5f80\u9700\u8981\u4e0e\u811a\u672c\u8bed\u8a00\uff08Python\/Node\uff09\u4ea4\u4e92\uff0c\u5355\u7eaf\u7684\u547d\u4ee4\u884c\u6536\u6388\u96be\u4ee5\u5904\u7406\u9519\u8bef\u56de\u9000\u3001\u53c2\u6570\u7cbe\u7ec6\u8c03\u6821\u548c\u957f\u5468\u671f\u4efb\u52a1\u3002Picsart\u5982\u679c\u60f3\u9760\u8fd9\u4e2a\u5de5\u5177\u6293\u4f4f\u5f00\u53d1\u8005\uff0c\u5c31\u5fc5\u987b\u5728\u6a21\u578b\u72ec\u7279\u6027\uff08\u6bd4\u5982\u81ea\u7814\u7684\u56fe\u7247\u7f16\u8f91\u3001\u6ee4\u955c\u98ce\u683c\u5316\u6a21\u578b\uff09\u548c\u7ba1\u9053\u7f16\u6392\u80fd\u529b\u4e0a\u505a\u6df1\uff0c\u5426\u5219\u5b83\u4e0d\u8fc7\u662f\u4e00\u4e2a\u66f4\u6f02\u4eae\u7684curl\u5408\u96c6\u3002\u53e6\u5916\uff0c112\u7968\u7684\u51b7\u542f\u52a8\u6210\u7ee9\u8bf4\u660e\u76ee\u524d\u4ecd\u5728\u5c0f\u8303\u56f4\u6d4b\u8bd5\uff0c\u9762\u5bf9Replicate\u3001Hugging Face\u7aef\u5df2\u6709\u7684\u540c\u7c7bCLI\u5de5\u5177\u548c\u4e91\u7aefAPI\uff0cPicsart\u9700\u8981\u660e\u786e\u81ea\u5df1\u7684\u5dee\u5f02\u5316\u2014\u2014\u662f\u66f4\u4f4e\u5ef6\u8fdf\u3001\u66f4\u4f18\u5b9a\u4ef7\uff0c\u8fd8\u662f\u66f4\u5782\u76f4\u7684\u573a\u666f\u7ed1\u5b9a\uff08\u6bd4\u5982\u7535\u5546A\/B\u6d4b\u8bd5\u3001\u77ed\u89c6\u9891\u6279\u91cf\u751f\u6210\uff09\u3002\u4e00\u53e5\u8bdd\uff1a\u601d\u8def\u5bf9\uff0c\u4f46\u6267\u884c\u7aef\u5c1a\u672a\u9732\u51fa\u523a\u5200\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\">Picsart CLI <\/span>\n                <\/div>\n<div class=\"comment-content\">The Picsart CLI brings image, video, and audio generation straight to your terminal. One install gives you access to 140+ leading AI models across all three media types.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>a single cli for image + video + audio gen is the kind of unbundling that actually maps to how devs already chain models \u2014 vs juggling 5 different SDKs each with its own auth dance. on the 140+ count: are these wrapped third-party (replicate-style) or picsart-trained? and can you pipe outputs across modalities in one chain (txt2img \u2192 img2vid \u2192 voiceover) inside the cli, or is each call independent right now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/JGUVBSPLPOXK6S\" class=\"app-title\">Redesign by Nodewave<\/a><\/p>\n<div class=\"one-liner\">Free and open\u2011source, stop designing. Describe.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">107<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Redesign \u662f\u4e00\u6b3e\u5f00\u6e90\u7684\u672c\u5730\u5316\u8bbe\u8ba1\u5de5\u5177\uff0c\u8ba9\u7528\u6237\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\uff0c\u5728\u89c6\u89c9\u7f16\u8f91\u5668\u4e2d\u8c03\u7528\u81ea\u5bb6 React \u7ec4\u4ef6\u5e93\uff0c\u5feb\u901f\u751f\u6210\u7b26\u5408\u54c1\u724c\u89c4\u8303\u3001\u53ef\u76f4\u63a5\u7528\u4e8e\u793e\u4ea4\u5a92\u4f53\u7684\u5e7b\u706f\u7247\u5f0f\u56fe\u6587\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\/0753e319-38e2-479d-8c64-e92d08f8f7a0.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\/91fa1d23-a90e-4870-8fa3-9c98506681cf.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\/782ca112-aa32-49a1-91e9-9d4d138f9250.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\/32ac9d83-637b-43b0-b60f-b3f058891dfe.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\/3914ed75-d38a-41da-b578-769554a669fc.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\/6514860f-4a23-4921-aad1-b54904205bb7.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\/366d44b8-0b7b-4211-91d0-1b74cb83edeb.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\/07be0f2a-9c18-495d-b999-e523f024226e.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\/541db88d-bc00-44db-96db-921d6023a7ae.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\/37dfec87-fdb2-4fb3-8ee4-0bc0e4489670.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\/e3f6e7c1-f4f7-4767-a3a8-b069e936fa20.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/ct_23rtJvh8\"><source src=\"https:\/\/youtu.be\/ct_23rtJvh8\" 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\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Social Media<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u751f\u6210\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">React\u7ec4\u4ef6\u9a71\u52a8<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u89c6\u89c9\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u56fe\u7247\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4e91\u7aef\u4f9d\u8d56<\/span><br \/>\n            <span class=\"tag\">Claude\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u53cb\u597d<\/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>\u521b\u59cb\u4eba\u6f84\u6e05\u4ea7\u54c1\u4e3a\u672c\u5730\u8fd0\u884c\u3001\u65e0\u4e91\u65e0\u8d26\u53f7\u65e0\u7528\u91cf\u9650\u5236\u3002\u7528\u6237\u8be2\u95ee\u56fe\u7247\u6765\u6e90\uff0c\u5b98\u65b9\u56de\u590d\u652f\u6301\u4eceAssets\u5bfc\u5165\u3001\u8ba9Claude\u4ece\u7f51\u7edc\u4e0b\u8f7d\u6216\u76f4\u63a5\u4ece\u4ee3\u7801\u5e93\u5f15\u7528\u3002\u53cd\u9988\u603b\u4f53\u6b63\u9762\uff0c\u4f46\u6682\u65e0\u8d1f\u9762\u6216\u529f\u80fd\u7f3a\u5931\u7684\u5c16\u9510\u610f\u89c1\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                Redesign \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u6ca1\u6709\u8bd5\u56fe\u505a\u4e00\u4e2a\u201cAI \u751f\u6210\u4e00\u5207\u201d\u7684\u9ed1\u7bb1\uff0c\u800c\u662f\u9009\u62e9\u4e86\u4e00\u6761\u66f4\u52a1\u5b9e\u7684\u7a84\u8def\uff1a\u8ba9 AI \u53bb\u8c03\u7528\u4f60\u5df2\u6709\u7684 React \u7ec4\u4ef6\u3002\u8fd9\u5728\u8bbe\u8ba1\u5de5\u5177\u8fc7\u5269\u7684\u5f53\u4e0b\u53cd\u800c\u662f\u4e00\u79cd\u6e05\u9192\u2014\u2014\u5927\u591a\u6570 AI \u8bbe\u8ba1\u5de5\u5177\u751f\u6210\u7684\u7d20\u6750\u8131\u79bb\u54c1\u724c\u8c03\u6027\u3001\u4e0d\u591f\u53ef\u63a7\uff0c\u6700\u7ec8\u53ea\u662f\u7ed9\u8425\u9500\u4eba\u5458\u591a\u4e86\u4e00\u4e2a\u9700\u8981\u624b\u52a8\u4fee\u6b63\u7684\u201c\u5e9f\u7a3f\u751f\u6210\u5668\u201d\u3002Redesign \u76f4\u63a5\u67b6\u8d77\u4e86\u4ee3\u7801\u5e93\u548c\u8bbe\u8ba1\u4e4b\u95f4\u7684\u4e00\u5ea7\u6865\uff0c\u8ba9\u54c1\u724c\u4e00\u81f4\u6027\u4ece\u201c\u8bbe\u8ba1\u5e08\u624b\u5de5\u7ef4\u62a4\u201d\u53d8\u6210\u4e86\u201c\u4ee3\u7801\u7ea7\u81ea\u52a8\u7ee7\u627f\u201d\uff0c\u8fd9\u5bf9\u62e5\u6709\u6210\u719f\u7ec4\u4ef6\u5e93\u7684\u5c0f\u578b\u56e2\u961f\u548c\u5185\u5bb9\u8425\u9500\u8d1f\u8d23\u4eba\u6765\u8bf4\uff0c\u662f\u5b9e\u6253\u5b9e\u7684\u65f6\u95f4\u6760\u6746\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff1a\u5b83\u7684\u53d7\u4f17\u975e\u5e38\u7a84\u3002\u65e0\u8bbe\u8ba1\u80cc\u666f\u7684\u7528\u6237\u53ef\u80fd\u8fde React \u7ec4\u4ef6\u662f\u4ec0\u4e48\u90fd\u4e0d\u77e5\u9053\uff1b\u6709\u6280\u672f\u80fd\u529b\u7684\u4eba\u672a\u5fc5\u9700\u8981\u4e00\u5f20\u793e\u4ea4\u5a92\u4f53\u56fe\u7684\u81ea\u52a8\u5316\u3002\u8fd9\u5c31\u6ce8\u5b9a\u4e86\u5b83\u5f88\u96be\u6210\u4e3a\u4e00\u4e2a\u5927\u4f17\u4ea7\u54c1\uff0c\u66f4\u50cf\u662f\u7ed9\u81ea\u5df1\u7a0b\u5e8f\u5458\u80cc\u666f\u7684\u521b\u59cb\u4eba\u505a\u7684\u201c\u81ea\u8650\u89e3\u836f\u201d\u2014\u2014\u628a\u82b1\u4e00\u4e2a\u4e0b\u5348\u505a\u4e00\u5f20\u56fe\uff0c\u7f29\u77ed\u5230\u82b1\u4e00\u4e2a\u4e0a\u5348\u53bb\u8c03 Claude \u7684 prompt\u3002\u53e6\u5916\uff0c\u6240\u6709\u8fed\u4ee3\u4f9d\u8d56 Claude Code \u548c\u672c\u5730 MCP \u670d\u52a1\uff0c\u610f\u5473\u7740\u5b83\u7684\u4f53\u9a8c\u4e0a\u9650\u5b8c\u5168\u7ed1\u5b9a\u5728 Claude \u7684\u4e0a\u4e0b\u6587\u51c6\u786e\u6027\u548c\u4f60\u7684\u4ee3\u7801\u5e93\u7ed3\u6784\u4e0a\u3002\u4e00\u65e6\u63cf\u8ff0\u7a0d\u590d\u6742\u6216\u7ec4\u4ef6\u7f3a\u4e4f\u7075\u6d3b\u6027\uff0cAI \u751f\u6210\u7684\u8bbe\u8ba1\u4f9d\u7136\u4f1a\u663e\u5f97\u50f5\u786c\uff0c\u8fd9\u8ddf\u201c\u51e0\u5c0f\u65f6\u51cf\u5c11\u5230\u51e0\u5206\u949f\u201d\u4e4b\u95f4\u8fd8\u9694\u7740\u5927\u91cf\u8bd5\u9519\u6210\u672c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u4e00\u4e2a\u9762\u5411\u5f00\u53d1\u8005\u7684\u201c\u5b9a\u5236\u5316\u8bbe\u8ba1\u5957\u58f3\u5de5\u5177\u201d\uff0c\u80dc\u5728\u5f00\u6e90\u548c\u672c\u5730\u8fd0\u884c\uff0c\u4f46\u8981\u60f3\u4ece\u5185\u90e8\u5de5\u5177\u53d8\u6210\u5927\u4f17\u4ea7\u54c1\uff0c\u8fd8\u9700\u5728\u975e\u6280\u672f\u7528\u6237\u7684\u4e0a\u624b\u8def\u5f84\u548c\u8bbe\u8ba1\u7075\u6d3b\u6027\u4e0a\u505a\u66f4\u591a\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\">Redesign by Nodewave<\/span>\n                <\/div>\n<div class=\"comment-content\">Redesign was born from a need to create branded and premium social media posts without a design background, a huge budget, or wasting hours trying to do something that should be effortless. We built it as an internal tool first. The trick: let Claude pull from our codebase, not generate from scratch. Hence the name, React + Design. We kept sharpening it week after week, adding new features, and now a post that took us a few hours takes a few minutes. We made it open-source, free for anyone.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone, I&#8217;m Tiago, founder of Nodewave (small dev agency) and maker of Redesign.<\/p>\n<p>I&#8217;d been wanting a tool that could design social posts directly from our agency&#8217;s codebase, in our brand. Every post used to take me an entire afternoon. Always thought a tool like this would be too complex to actually build, so I kept putting it off. Sat down to vibe code it last week and it came together in 2 days.<\/p>\n<p>What it is: a local app that runs a visual editor + an MCP server side by side. Through Claude Code, you describe what you want and watch the design come together in the editor, built from your own React components as building blocks (that&#8217;s where the name comes from, Redesign = React + design). When you&#8217;re done, export the slides as PNGs ready for LinkedIn or Instagram.<\/p>\n<p>Runs entirely on your machine. No cloud, no account, no usage caps. Open source under MIT. We built it as a portfolio piece for Nodewave and ended up using it daily, so we made it public for anyone who wants the same workflow.<\/p>\n<p>Would love feedback. What&#8217;s missing, what&#8217;s confusing, what would make this more useful for your own workflow?<\/p><\/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>Where do images come from? Are they built by Claude based on prompts\/inputs?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@atomicimagery\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@atomicimagery<\/a>&nbsp;You can import images from the Assets tab, ask Claude to find and download images from the web (and save them), or if Claude has access to your codebase, he can import them directly as well \ud83d\ude42<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/485e09d5-83cd-48d1-a7df-6fc93cd8b737.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f71cc7f4-8301-4240-a362-49bfc389160a.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/QJDDNPEDGIUF3S\" class=\"app-title\">Compact Message Composer by CometChat<\/a><\/p>\n<div class=\"one-liner\">Everything users expect from modern chat. Out of the box. <\/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>Compact Message Composer \u662f\u4e00\u6b3e\u4e13\u4e3a\u5f00\u53d1\u8005\u8bbe\u8ba1\u7684\u804a\u5929\u7ec4\u4ef6\uff0c\u901a\u8fc7\u4e00\u884c\u4ee3\u7801\u5373\u53ef\u4e3a\u4efb\u610f\u6846\u67b6\u7684\u5373\u65f6\u901a\u8baf\u5e94\u7528\u96c6\u6210\u5bcc\u6587\u672c\u7f16\u8f91\u3001\u6d6e\u52a8\u5de5\u5177\u680f\u548c\u952e\u76d8\u5feb\u6377\u952e\u7b49\u529f\u80fd\uff0c\u89e3\u51b3\u4f20\u7edf\u804a\u5929\u8f93\u5165\u6846\u529f\u80fd\u5355\u4e00\u3001\u5b9a\u5236\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\/22ea2515-a241-43a1-a4b2-d560056238aa.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\/83c52e8f-5aa4-4a49-a7d5-69d88170717d.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\/5ce9c2bc-9adc-4bf2-835f-e4386fb200f1.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\/66fd3aee-0e39-4e13-9f37-26007baf62d9.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\/0af2d8c9-79f7-4263-883e-79a4f1ff5a38.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\/966f2fa3-2d8f-4e91-9fa8-4c3bbbeea528.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\">Messaging<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">SDK<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5373\u65f6\u901a\u8baf<\/span><br \/>\n            <span class=\"tag\">UI\u7ec4\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u5bcc\u6587\u672c\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u804a\u5929\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8de8\u6846\u67b6<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u4f53\u9a8c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u5546\u4e1a\u5316SaaS<\/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>\u4ea7\u54c1\u7ecf\u7406Pourav\u4ecb\u7ecd\u8be5\u7ec4\u4ef6\u57fa\u4e8e\u201c\u7528\u6237\u6e05\u6670\u8868\u8fbe\u3001\u5f00\u53d1\u8005\u7b80\u6613\u96c6\u6210\u201d\u7684\u89c2\u5bdf\u800c\u5f00\u53d1\uff0c\u5f3a\u8c03\u4e00\u952e\u542f\u7528\u3001\u6d6e\u52a8\u5de5\u5177\u680f\u548c\u5feb\u6377\u952e\u7b49\u7279\u6027\uff0c\u5e76\u652f\u6301\u9644\u4ef6\u4e0e\u8bed\u97f3\u3002\u7528\u6237\u672a\u63d0\u51fa\u5177\u4f53\u95ee\u9898\u6216\u5efa\u8bae\uff0c\u4e3b\u8981\u8868\u8fbe\u5bf9\u4ea7\u54c1\u7684\u5174\u8da3\u4e0e\u671f\u5f85\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                \u8fd9\u4e2a\u4ea7\u54c1\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u804a\u5929\u8f93\u5165\u6846\u201d\u7684\u5fae\u521b\u65b0\uff0c\u4f46\u5b9a\u4f4d\u975e\u5e38\u7cbe\u51c6\uff1a\u5b83\u4e0d\u8bd5\u56fe\u91cd\u6784\u804a\u5929\uff0c\u800c\u662f\u89e3\u51b3\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u4f53\u9a8c\u65ad\u70b9\u2014\u2014\u5bcc\u6587\u672c\u8868\u8fbe\u3002\u5bf9\u4e8e\u9762\u5411\u521b\u4f5c\u8005\u3001\u56e2\u961f\u534f\u4f5c\u6216\u77e5\u8bc6\u5206\u4eab\u7684\u5782\u76f4\u5e94\u7528\u800c\u8a00\uff0c\u7eaf\u6587\u672c\u8f93\u5165\u8fdc\u8fdc\u4e0d\u591f\u3002CometChat \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5c06\u8fd9\u4e00\u529f\u80fd\u5c01\u88c5\u6210\u201c\u5355 prop \u542f\u7528\u201d\u7684\u7ec4\u4ef6\uff0c\u65e2\u964d\u4f4e\u4e86\u96c6\u6210\u95e8\u69db\uff0c\u53c8\u7ed5\u5f00\u4e86\u5f00\u53d1\u8005\u5bf9\u201c\u81ea\u5df1\u5199\u5bcc\u6587\u672c\u7f16\u8f91\u5668\u201d\u7684\u6050\u60e7\u3002\u6295\u7968\u657097\u4e0d\u9ad8\u4e0d\u4f4e\uff0c\u8bf4\u660e\u5f00\u53d1\u8005\u7fa4\u4f53\u5bf9\u6b64\u7c7b\u201c\u5f00\u7bb1\u5373\u7528\u201d\u4f46\u975e\u6838\u5fc3\u5356\u70b9\u7684\u529f\u80fd\u6301\u8c28\u614e\u4e50\u89c2\u6001\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u4e24\u70b9\uff1a\u4e00\u662f\u901a\u8fc7\u201c\u683c\u5f0f\u201d\u63d0\u5347\u7528\u6237\u7559\u5b58\u548c\u5185\u5bb9\u8d28\u91cf\uff0c\u95f4\u63a5\u62c9\u5347\u5e94\u7528\u4ed8\u8d39\u4ef7\u503c\uff1b\u4e8c\u662f\u4e3a CometChat \u7684 UI Kit \u751f\u6001\u589e\u52a0\u4e86\u4e0d\u53ef\u66ff\u4ee3\u6027\u2014\u2014\u7ade\u54c1\u82e5\u60f3\u590d\u5236\u540c\u6837\u7684\u96c6\u6210\u4f53\u9a8c\uff0c\u9700\u8981\u6295\u5165\u6570\u5468\u4e43\u81f3\u6570\u6708\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u7684\u77ed\u677f\u540c\u6837\u660e\u663e\uff1a\u5b83\u9ad8\u5ea6\u4f9d\u8d56 CometChat \u7684\u539f\u751f\u540e\u7aef\u4e0e\u6d88\u606f\u534f\u8bae\uff0c\u8fd9\u610f\u5473\u7740\u975e CometChat \u7528\u6237\u8fc1\u79fb\u6210\u672c\u6781\u9ad8\uff1b\u540c\u65f6\uff0c\u5bcc\u6587\u672c\u7ec4\u4ef6\u5728\u79fb\u52a8\u7aef\u89e6\u6478\u573a\u666f\u4e0b\u7684\u4ea4\u4e92\u662f\u5426\u6d41\u7545\u3001\u8de8\u5e73\u53f0\u884c\u4e3a\u4e00\u81f4\u6027\u662f\u5426\u4fdd\u8bc1\uff0c\u4ee5\u53ca\u662f\u5426\u652f\u6301 Markdown \u6216\u81ea\u5b9a\u4e49\u89e3\u6790\u5668\uff0c\u8fd9\u4e9b\u6f5c\u5728\u7684\u6280\u672f\u503a\u5e76\u672a\u5728\u4ecb\u7ecd\u4e2d\u63d0\u53ca\u3002\u4e00\u53e5\u8bdd\uff1a\u5982\u679c\u4f60\u662f CometChat \u7684\u73b0\u6709\u5ba2\u6237\uff0c\u8fd9\u662f\u63d0\u5347\u804a\u5929\u8d28\u91cf\u7684\u6700\u5feb\u6377\u5f84\uff1b\u4f46\u82e5\u4e3a\u5355\u70b9\u529f\u80fd\u800c\u6362\u6389\u6574\u4e2a\u804a\u5929\u670d\u52a1\uff0c\u5219\u9700\u8981\u66f4\u5145\u5206\u7684\u6027\u4ef7\u6bd4\u8bba\u8bc1\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\">Compact Message Composer by CometChat<\/span>\n                <\/div>\n<div class=\"comment-content\">CometChat&#8217;s Compact Message Composer, part of the CometChat UI Kits, brings rich text formatting to your chat app &#8211; bold, italic, strikethrough, underline, links, bullet points, blockquotes and more. Enabled with a single prop. Comes with a floating toolbar, keyboard shortcuts, and full control over how messages are sent. Drop it into any framework and ship a richer chat experience in minutes.<\/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 Pourav, Product Manager at CometChat, and I&#8217;m excited to share what we&#8217;ve been working on.<br \/>The CometChat Compact Message Composer started from a simple observation &#8211; users want to express themselves clearly in chat, and developers want a composer that&#8217;s easy to integrate and customize. We built this to solve both.<\/p>\n<p>With rich text formatting enabled by a single prop, a floating toolbar, keyboard shortcuts, and support for attachments, mentions, voice recording and more &#8211; it&#8217;s everything you&#8217;d expect from a modern chat composer, without the build time.<\/p>\n<p>It&#8217;s part of our UI Kits, so it drops into any framework and plays well with CometChatMessageHeader and CometChatMessageList out of the &#8211; seamlessly.<br \/>We&#8217;d love to hear what you think. Try it out, break it, and let us know what you&#8217;d want next. We&#8217;re here all day to answer questions. \ud83d\ude80<\/p>\n<p>\u2014 Pourav, PM @ CometChat<\/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<\/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\/2J3PY2BSNS5WSJ\" class=\"app-title\">Snapr<\/a><\/p>\n<div class=\"one-liner\">Screenshot, record, annotate &#038; edit video in one app<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">95<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Snapr\u662f\u4e00\u6b3e\u96c6\u622a\u56fe\u3001\u5f55\u5c4f\u3001\u6807\u6ce8\u3001\u6eda\u52a8\u622a\u957f\u56fe\u53ca\u89c6\u9891\u526a\u8f91\u4e8e\u4e00\u4f53\u7684\u684c\u9762\u5de5\u5177\uff0c\u89e3\u51b3\u7528\u6237\u5728bug\u53cd\u9988\u3001\u6559\u7a0b\u5236\u4f5c\u548c\u6f14\u793a\u5206\u4eab\u4e2d\u9891\u7e41\u5207\u6362\u591a\u4e2a\u5e94\u7528\u7684\u6548\u7387\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\/fb36d189-a650-440c-b7b7-6303caa56a58.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\/5f168310-738d-4bc7-8b0b-7778f245cf4c.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\/01daa0bf-01be-469e-9c0f-07e08cc38e66.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\/8a307a3e-4b46-4bf2-a2fa-6092e37b4248.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\/e627c013-b2f6-4fa8-913d-7ca6e0cb7082.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\/07def125-1f98-4f1e-b072-cee5a0c8943a.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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Photo &#038; Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5c4f\u5e55\u622a\u56fe<\/span><br \/>\n            <span class=\"tag\">\u5c4f\u5e55\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">\u6eda\u52a8\u622a\u957f\u56fe<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u6807\u6ce8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Mac\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Windows\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f55\u5c4f\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u6027\u4ed8\u8d39<\/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\u4e00\u7ad9\u5f0f\u201d\u6574\u5408\u601d\u8def\uff0c\u5410\u69fd\u9891\u7e41\u5207\u6362\u591a\u6b3e\u8f6f\u4ef6\u7684\u75db\u70b9\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\u201c\u6eda\u52a8\u622a\u957f\u56fe\u201d\u529f\u80fd\uff08\u5e0c\u671b\u6709\u89c6\u9891\u6f14\u793a\u53ca\u514d\u8d39\u8bd5\u7528\u673a\u4f1a\uff09\u3002\u5f00\u53d1\u8005\u79ef\u6781\u56de\u5e94\uff0c\u89e3\u91ca\u8be5\u529f\u80fd\u65e0\u9700\u6d4f\u89c8\u5668\u6269\u5c55\uff0c\u5e76\u63d0\u4f9b\u4e867\u5929Pro\u8bd5\u7528\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                Snapr\u5207\u4e2d\u4e86\u4e00\u4e2a\u975e\u5e38\u771f\u5b9e\u4e14\u666e\u904d\u7684\u5de5\u4f5c\u6d41\u75db\u70b9\u2014\u2014\u5c4f\u5e55\u6355\u83b7\u5de5\u5177\u7684\u788e\u7247\u5316\u3002\u5b83\u8bd5\u56fe\u5728\u4e00\u4e2a\u5e94\u7528\u5185\u6253\u901a\u201c\u622a\u56fe\u2192\u6807\u6ce8\u2192\u5f55\u5236\u2192\u526a\u8f91\u2192\u5bfc\u51fa\u201d\u7684\u5168\u94fe\u8def\uff0c\u8fd9\u6bd4\u5355\u7eaf\u7684\u201c\u529f\u80fd\u5806\u780c\u201d\u66f4\u5177\u4ea7\u54c1\u601d\u7ef4\u3002\u4ece\u6280\u672f\u53c2\u6570\u770b\uff0c60fps 4K\u5f55\u5236\u3001\u7cfb\u7edf\u97f3\u9891+\u9ea6\u514b\u98ce\u53cc\u8def\u91c7\u96c6\u3001\u4ee5\u53ca\u652f\u6301iOS\u8bbe\u5907\u6295\u5c4f\u5f55\u5236\uff0c\u786e\u5b9e\u8fbe\u5230\u4e86\u4e13\u4e1a\u7ea7\u95e8\u69db\uff0c\u8db3\u4ee5\u66ff\u4ee3ScreenFlow\u3001CleanShot X\u7b49\u9ad8\u4ef7\u5de5\u5177\u7684\u591a\u4e2a\u5355\u70b9\u529f\u80fd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u7684\u6838\u5fc3\u98ce\u9669\u5728\u4e8e\u201c\u7f1d\u5408\u201d\u5e26\u6765\u7684\u96c6\u6210\u5ea6\u548c\u6027\u80fd\u5e73\u8861\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u201c\u522b\u5361\u987f\u201d\u7684\u671f\u671b\uff0c\u53cd\u886c\u51fa\u591a\u6a21\u5757\u8026\u5408\u662f\u6700\u5927\u7684\u6280\u672f\u6311\u6218\u3002\u4f5c\u4e3a\u4e00\u6b3e95\u7968\u7684\u4ea7\u54c1\uff0c\u5176\u5e02\u573a\u9a8c\u8bc1\u8fd8\u975e\u5e38\u521d\u7ea7\u3002\u6eda\u52a8\u622a\u957f\u56fe\u867d\u7136\u4eae\u773c\uff0c\u4f46\u975e\u6d4f\u89c8\u5668\u73af\u5883\u4e0b\u7684\u517c\u5bb9\u6027\u3001\u7f51\u9875\u9632\u6eda\u52a8\u9650\u5236\u7b49\u7ec6\u8282\u95ee\u9898\uff0c\u5728\u521d\u671f\u6781\u53ef\u80fd\u5bfc\u81f4\u4f53\u9a8c\u5d29\u584c\uff0c\u800c\u5f00\u53d1\u8005\u5c06\u5176\u8bbe\u4e3aPro\u4ed8\u8d39\u529f\u80fd\uff0c\u7a0d\u6b20\u660e\u667a\u2014\u2014\u8fd9\u5e94\u8be5\u662f\u5438\u5f15\u7528\u6237\u4ece\u514d\u8d39\u7248\u5347\u7ea7\u7684\u201c\u94a9\u5b50\u201d\uff0c\u800c\u975e\u529d\u9000\u7684\u201c\u95e8\u69db\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5b9a\u4ef7\u770b\uff0c\u201c\u4e00\u6b21\u6027\u4ed8\u8d39+\u514d\u8d39\u65e0\u9650\u5236\u65e0\u6c34\u5370\u201d\u5f88\u826f\u5fc3\uff0c\u8fd9\u662f\u5bf9\u6297\u8ba2\u9605\u75b2\u52b3\u7684\u5229\u5668\u3002\u4f46\u72ec\u884c\u4fa0\u5f00\u53d1\u7684\u80cc\u540e\u662f\u54cd\u5e94\u901f\u5ea6\u4e0e\u7a33\u5b9a\u6027\u4e4b\u95f4\u7684\u957f\u671f\u535a\u5f08\u3002Snapr\u6709\u6210\u4e3a\u7ec6\u5206\u9886\u57df\u201c\u745e\u58eb\u519b\u5200\u201d\u7684\u6f5c\u529b\uff0c\u4f46\u524d\u63d0\u662f\u5148\u628a\u6838\u5fc3\u7684\u201c\u6eda\u52a8\u622a\u56fe\u201d\u548c\u201c4K\u5f55\u5236\u201d\u6253\u78e8\u81f3\u96f6bug\uff0c\u518d\u8c08\u201call in one\u201d\u7684\u5b8f\u56fe\u3002\u5426\u5219\uff0c\u5b83\u53ea\u4f1a\u6210\u4e3a\u53c8\u4e00\u4e2a\u88ab\u9057\u5fd8\u7684\u3001\u201c\u51d1\u5408\u80fd\u7528\u7684\u201d\u5de5\u5177\u5305\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\">Snapr<\/span>\n                <\/div>\n<div class=\"comment-content\">Stop switching apps to capture your screen. Snapr combines screenshots, recording, annotation, and video editing in one app for macOS &#038; Windows. \u2022 Fast, handy annotation tools built in \u2022 Scroll capture for long pages \u2022 60fps 4K recording with system audio + mic \u2022 Record iPhone\/iPad from Mac \u2022 Style captures with backgrounds, shadows for polished output \u2022 Export presets: 4K, 1080p, 720p, GIF \u2022 Clean desktop mode Pay once, use forever. Free version available &#8211; no watermarks, no time limits.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone! I&#8217;m the maker of Snapr.<\/p>\n<p>I started building this because my screen capture workflow was embarrassingly fragmented \u2014 one app for screenshots, another for annotation, a third for recording, and yet another to trim the video. Every time I needed to document a bug, write a tutorial, or share a quick demo, I was juggling tools that didn&#8217;t talk to each other.<\/p>\n<p>I looked for a single app that could handle the full workflow. Some tools had great screenshots but no recording or editing. Others had solid recording but lacked annotation. None of them were strong at both \u2014 and nothing let me go from capture \u2192 edit \u2192 export without switching apps.<\/p>\n<p>So I built Snapr. One app that does it all.<\/p>\n<p>A few things I&#8217;m particularly proud of:<\/p>\n<p>\u2022 Scroll capture \u2014 it auto-scrolls any content (not just browsers) and stitches it into one image. No extension required.<br \/>\n\u2022 60fps 4K recording with system audio and mic \u2014 most tools cap at 30fps or only record mic input.<br \/>\n\u2022 Device recording \u2014 plug in your iPhone\/iPad and record directly from your Mac.<br \/>\n\u2022 Built-in editing tools \u2014 annotation, background composition, trimming, and export presets so your captures look polished without needing another app.<\/p>\n<p>On pricing: core features are free with no watermarks or time limits. Pro is a one-time purchase \u2014 I wanted to keep the barrier low for a tool people reach for every day.<\/p>\n<p>I&#8217;d love your honest feedback \u2014 what&#8217;s missing, what would make you switch, what feels off. I&#8217;ll be here all day.<\/p>\n<p>Try it free: <a href=\"https:\/\/snapr.pineple.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/snapr.pineple.com<\/a><\/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>Switching between multiple screen tools gets annoying\u2026 having everything in one place actually makes sense.<\/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\/@rajinder1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rajinder1<\/a>&nbsp;Thanks for the empathy \u2014 I\u2019m going to dig deeper into exactly that pain point \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 read the description, but I\u2019m still not quite sure what &#8220;Scroll Capture&#8221; means. Do you have a video demo of this feature?<\/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\/@mrbrjan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mrbrjan<\/a>&nbsp;\u201cScroll capture\u201d is a feature that lets you turn long, scrollable content into a single image \u2014 feel free to check it out: <a href=\"https:\/\/snapr.pineple.com\/guide\/pro\/capture-scroll\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/snapr.pineple.com\/guide\/pro\/capture-scroll<\/a><\/p>\n<p>Also, does \u201cscroll capture\u201d sound natural to you? I\u2019m not a native speaker, so I\u2019d really appreciate your feedback.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Scroll capture seems like the most interesting thing here, but looks like you need to pay to try it. Might want to allow it a limitted number of times or for a trial period.<\/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\/@thomas_berg3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_berg3<\/a>&nbsp;That\u2019s a great point \u2014 I\u2019ll definitely think more about lowering the barrier to entry.<br \/>Snapr actually offers a 7-day Pro trial as well, so feel free to give it a try \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/snapr.pineple.com\/trial\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/snapr.pineple.com\/trial<\/a><\/p>\n<p>Thanks a lot for the feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Feels like screen tools keep getting fragmented\u2026 combining everything into one app is a logical step.<\/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\/@sandeep_gadher\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sandeep_gadher<\/a>&nbsp;I\u2019m more of a \u201chot-headed builder\u201d than a logical one, but I like the way you put it \u2014 \u201ca logical step\u201d sounds much nicer. Thanks!<\/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>If this actually replaces multiple tools without slowing things down, that\u2019s pretty useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ritu21\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ritu21<\/a>&nbsp;I\u2019ll do my best to make that happen \u2014 one advantage of being a solo builder is I can move pretty fast \ud83d\ude04<\/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\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/7UGJYLA2XUOSIW\" class=\"app-title\">ZenTrack<\/a><\/p>\n<div class=\"one-liner\">Notes, money, and health. Sorted.<\/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>ZenTrack\u5c06\u7b14\u8bb0\u3001\u8bb0\u8d26\u548c\u5065\u5eb7\u8bb0\u5f55\u6574\u5408\u4e3a\u4e00\u6b3e\u6781\u7b80\u7684\u4e13\u6ce8\u5de5\u5177\uff0c\u89e3\u51b3\u4e86\u7528\u6237\u5728\u591a\u6b3e\u590d\u6742\u5e94\u7528\u95f4\u5207\u6362\u3001\u96be\u4ee5\u575a\u6301\u65e5\u5e38\u8bb0\u5f55\u7684\u75db\u70b9\uff0c\u5c24\u5176\u9002\u5408\u8ffd\u6c42\u8f7b\u91cf\u3001\u65e0\u5b66\u4e60\u95e8\u69db\u7684\u4e2a\u4eba\u7ba1\u7406\u573a\u666f\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\/7bd2dad1-f280-49a5-9e4b-38facef8a061.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\/413280f7-ee91-45a5-8480-93825d2140e8.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\/62598cc6-bfbd-4ad6-988f-15d0d2692aa0.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\/3c62c612-dd1b-4138-b78a-d3a4c77ad4be.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\/869ac4fe-c209-4c5b-b389-4c569aff266d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Personal Finance<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6781\u7b80\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7b14\u8bb0<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u8d26<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u4e60\u60ef\u517b\u6210<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u672a\u5f52\u7c7b<\/span><br \/>\n            <span class=\"tag\">\u65e5\u5e38\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u8fde\u7eed\u6253\u5361<\/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>\u5f00\u53d1\u8005\u5206\u4eab\u4e86\u4ece\u591aApp\u75db\u70b9\u51fa\u53d1\u6784\u5efa\u4ea7\u54c1\u7684\u521d\u8877\u3002\u7528\u6237\u5173\u6ce8\u70b9\u5305\u62ec\uff1a\u5982\u4f55\u4fdd\u6301\u6570\u636e\u5f55\u5165\u7684\u5b8c\u6574\u6027\uff08\u5982\u8d22\u52a1\u6570\u636e\uff09\u3001\u5e0c\u671b\u672a\u6765\u5b9e\u73b0\u7b14\u8bb0\u4e0e\u652f\u51fa\u7684\u667a\u80fd\u5173\u8054\u4e0e\u9884\u6d4b\uff08\u5982\u63d0\u9192\u8d2d\u7269\u5e76\u9884\u4f30\u6210\u672c\uff09\uff0c\u5e76\u8be2\u95ee\u4f7f\u7528\u5165\u95e8\u6b65\u9aa4\u3002\u4e5f\u6709\u7528\u6237\u5e7d\u9ed8\u5730\u79f0\u8d5e\u8bb0\u8d26\u901f\u5ea6\u591f\u5feb\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                ZenTrack\u5207\u5165\u7684\u662f\u4e00\u4e2a\u770b\u4f3c\u62e5\u6324\u5b9e\u5219\u5145\u6ee1\u7a7a\u9699\u7684\u5e02\u573a\uff1a\u201c\u4ec0\u4e48\u90fd\u60f3\u505a\u201d\u7684\u8d85\u7ea7\u5e94\u7528\u5f80\u5f80\u56e0\u529f\u80fd\u81c3\u80bf\u800c\u529d\u9000\u7528\u6237\uff0c\u201c\u53ea\u505a\u4e00\u4ef6\u4e8b\u201d\u7684\u5782\u7c7b\u5e94\u7528\u53c8\u5b58\u5728\u5207\u6362\u6210\u672c\u9ad8\u3001\u6570\u636e\u5b64\u5c9b\u7684\u95ee\u9898\u3002ZenTrack\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u6ca1\u6709\u8bd5\u56fe\u505a\u4e00\u4e2a\u66f4\u5f3a\u5927\u7684\u201c\u7b2c\u4e8c\u5927\u8111\u201d\uff0c\u800c\u662f\u7cbe\u51c6\u7784\u51c6\u4e86\u7528\u6237\u6700\u5e38\u653e\u5f03\u7684\u4e09\u4e2a\u65e5\u5e38\u884c\u4e3a\u2014\u2014\u8bb0\u7b14\u8bb0\u3001\u8bb0\u8d26\u3001\u8bb0\u5065\u5eb7\uff0c\u5e76\u7528\u6781\u7b80\u8bbe\u8ba1\u548c\u201c\u8fde\u7eed\u6253\u5361\u201d\u673a\u5236\u964d\u4f4e\u6301\u7eed\u8bb0\u5f55\u7684\u5fc3\u7406\u8d1f\u62c5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u76ee\u524d\u6700\u5927\u7684\u98ce\u9669\u6070\u6070\u5728\u4e8e\u5b83\u7684\u201c\u6781\u7b80\u201d\u5185\u6838\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u63d0\u51fa\u7684\u201c\u6570\u636e\u5b8c\u6574\u6027\u4fdd\u969c\u201d\uff08\u5c24\u5176\u662f\u8d22\u52a1\u6570\u636e\uff09\u4ee5\u53ca\u201c\u7b14\u8bb0\u4e0e\u652f\u51fa\u7684\u667a\u80fd\u5173\u8054\u201d\u5e76\u975e\u9526\u4e0a\u6dfb\u82b1\uff0c\u800c\u662f\u68c0\u9a8c\u5b83\u80fd\u5426\u4ece\u201c\u6f02\u4eae\u7b14\u8bb0\u672c\u201d\u8fdb\u5316\u4e3a\u201c\u9ad8\u6548\u51b3\u7b56\u5de5\u5177\u201d\u7684\u5173\u952e\u3002\u5982\u679cZenTrack\u4ec5\u9650\u4e8e\u63d0\u4f9b\u4e00\u4e2a\u5b89\u9759\u7684\u8bb0\u5f55\u5bb9\u5668\uff0c\u5b83\u5f88\u5bb9\u6613\u88abiOS\u6216Android\u539f\u751f\u5907\u5fd8\u5f55\u3001\u5065\u5eb7App\u7684\u5347\u7ea7\u7248\u529f\u80fd\u6240\u66ff\u4ee3\u3002\u5b83\u771f\u6b63\u7684\u4ef7\u503c\u58c1\u5792\uff0c\u4e0d\u5728\u4e8e\u201c\u628a\u529f\u80fd\u653e\u5728\u4e00\u8d77\u201d\uff0c\u800c\u5728\u4e8e\u80fd\u5426\u5229\u7528\u8fd9\u4e9b\u5206\u6563\u7684\u6570\u636e\uff08\u7b14\u8bb0\u5185\u5bb9\u3001\u652f\u51fa\u6a21\u5f0f\u3001\u8fd0\u52a8\u9891\u7387\uff09\u751f\u6210\u8d85\u8d8a\u5355\u4e00\u7ef4\u5ea6\u7684\u6d1e\u5bdf\u2014\u2014\u4f8b\u5982\u5f53\u7528\u6237\u8bb0\u5f55\u201c\u9891\u7e41\u4e70\u5496\u5561\u201d\u65f6\uff0c\u7ed3\u5408\u5065\u5eb7\u548c\u8d22\u52a1\u6570\u636e\u7ed9\u51fa\u63d0\u793a\u3002\u5426\u5219\uff0c\u5b83\u4f9d\u7136\u53ea\u662f\u4e00\u4e2a\u201c\u770b\u8d77\u6765\u5f88\u7f8e\u201d\u7684\u8f7b\u91cf\u7ea7\u805a\u5408\u5668\uff0c\u5728\u7528\u6237\u65b0\u9c9c\u611f\u6d88\u9000\u540e\uff0c\u7559\u5b58\u7387\u4f1a\u9762\u4e34\u4e25\u5cfb\u8003\u9a8c\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\">ZenTrack<\/span>\n                <\/div>\n<div class=\"comment-content\">Most productivity apps are either too complex or too limited. ZenTrack brings notes, expense tracking, and health logs into one minimal, distraction-free app. No steep learning curve, no overload\u2014just fast, intuitive tracking designed for consistency and real-life use.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I built ZenTrack because I was tired of juggling multiple apps for simple things like notes, expenses, workouts. Most tools felt either too complex or too limited, so I wanted something clean that I\u2019d actually use every day.<\/p>\n<p>ZenTrack brings everything into one place:<br \/>\n\u2022 Flexible notes with a simple, free-flow structure<br \/>\n\u2022 Expense tracking with clear visual insights<br \/>\n\u2022 Workout + calorie tracking without friction<br \/>\n\u2022 Streaks to track your progress <\/p>\n<p>The goal was simple: make consistency easier. No clutter, no overengineering, just a tool that helps you stay on track.<\/p>\n<p>Would really love your feedback on what works, what doesn\u2019t, and what you\u2019d want next.<\/p>\n<p>Thanks for checking it out \u2764\ufe0f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do I use this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally i can log my expenses faster than spending money, 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Visual insights for expenses are useful only if the data stays complete, how do you keep entries consistent from users?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Nice! Are you planning to connect this data in the future more? For example I write a note to remember to buy something and it gives me a nice prediction for the cost? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/RRJZNPH2ZV2LYH\" class=\"app-title\">noirdoc<\/a><\/p>\n<div class=\"one-liner\">PII guard for Claude Code to keep client data out of context<\/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>noirdoc \u662f\u4e00\u4e2a\u5f00\u6e90\u63d2\u4ef6\uff0c\u5728\u5f00\u53d1\u8005\u4f7f\u7528 Claude Code \u5904\u7406\u654f\u611f\u6587\u4ef6\u65f6\uff0c\u81ea\u52a8\u5728\u672c\u5730\u8131\u654f\u59d3\u540d\u3001\u90ae\u7bb1\u3001IBAN \u7b49 PII \u6570\u636e\uff0c\u66ff\u6362\u4e3a\u5360\u4f4d\u7b26\uff0c\u8ba9 AI \u8bc6\u522b\u4e0d\u5230\u771f\u5b9e\u4fe1\u606f\uff0c\u7528\u6237\u53ef\u672c\u5730\u5b89\u5168\u8fd8\u539f\uff0c\u89e3\u51b3\u4f01\u4e1a\u56e0\u6570\u636e\u9690\u79c1\u5408\u89c4\u800c\u65e0\u6cd5\u4f7f\u7528\u5927\u6a21\u578b\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\/56b1be85-c99a-45a5-a6ec-365e96acc486.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\/dd114828-8a7c-40b2-946f-2ce8aa33b7f1.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\/7fb08a97-066f-416f-b15c-84b53ac929b4.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\/9e6c4ef4-2fae-431a-b15a-bc061da0723c.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\/ab5c6cce-c8a5-4406-aec5-6e8b414dd20e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Privacy<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/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\u6838\u5fc3\u75db\u70b9\u662f\u6cd5\u5f8b\u5408\u89c4\u963b\u62e6\u4f7f\u7528\u5927\u6a21\u578b\u5904\u7406\u771f\u5b9e\u5ba2\u6237\u6570\u636e\u3002\u8bc4\u8bba\u80af\u5b9a\u4e86\u672c\u5730\u8131\u654f+\u53ef\u8fd8\u539f\u7684\u8bbe\u8ba1\uff0c\u5c24\u5176\u5173\u6ce8\u5bf9\u5fb7\u8bed\u53ca\u975e\u6807\u51c6\u683c\u5f0f\u7684\u8bc6\u522b\u7cbe\u5ea6\u3002\u7528\u6237\u5173\u5fc3\u5927\u89c4\u6a21\u65e5\u5fd7\u4e0b\u7684\u6027\u80fd\u5f00\u9500\uff0c\u4ee5\u53ca\u80fd\u5426\u6269\u5c55\u68c0\u6d4bAPI\u5bc6\u94a5\u7b49\u975e\u6807\u51c6\u51ed\u8bc1\u3002\u5f00\u53d1\u8005\u627f\u8ba4\u5927\u6587\u4ef6\u6709\u5ef6\u8fdf\uff0c\u5efa\u8bae\u964d\u7ea7\u4f7f\u7528Presidio+spaCy\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                noirdoc \u7684\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u4e2a\u5c34\u5c2c\u7684\u73b0\u5b9e\uff1a\u4f01\u4e1a\u60f3\u7528 AI \u63d0\u6548\uff0c\u5408\u89c4\u90e8\u95e8\u5173\u4e0a\u4e86\u90a3\u6247\u95e8\u3002\u5b83\u6ca1\u6709\u5e7b\u60f3\u7528\u201c\u66f4\u5f3a\u5927\u7684 AI\u201d\u6765\u89e3\u51b3\u9690\u79c1\u95ee\u9898\uff0c\u800c\u662f\u56de\u5f52\u5de5\u7a0b\u601d\u7ef4\u2014\u2014\u5728\u6570\u636e\u6d41\u5165\u5927\u6a21\u578b\u4e4b\u524d\uff0c\u7528\u672c\u5730\u5f15\u64ce\u505a\u4e00\u5c42\u786e\u5b9a\u6027\u8fc7\u6ee4\u3002\u8fd9\u79cd\u201c\u5148\u8131\u654f\uff0c\u540e\u4f7f\u7528\uff0c\u518d\u8fd8\u539f\u201d\u7684\u67b6\u6784\uff0c\u672c\u8d28\u4e0a\u662f\u4e3a\u5bf9\u8bdd\u5f0fAI\u5957\u4e0a\u4e86\u4e00\u9053\u53ef\u5ba1\u8ba1\u7684\u9632\u706b\u5899\u3002\u6280\u672f\u9009\u578b\u53ef\u5708\u53ef\u70b9\uff1aPresidio \u5904\u7406\u7ed3\u6784\u5316 PII\uff0cFlair \u548c GLiNER \u5904\u7406\u975e\u7ed3\u6784\u5316\u6587\u672c\u548c\u5f00\u653e\u5b9e\u4f53\uff0c\u4e09\u8005\u6295\u7968\u5bb9\u9519\u3002\u4f46\u8fd9\u5957\u7ec4\u5408\u62f3\u7684\u4ee3\u4ef7\u662f\u6027\u80fd\u2014\u2014\u5728\u5927\u6587\u4ef6\u573a\u666f\u4e0b\u201c\u4f60\u786e\u5b9e\u4f1a\u611f\u5230\u5ef6\u8fdf\u201d\uff0c\u8fd9\u66b4\u9732\u4e86\u201c\u5b8c\u7f8e\u53ec\u56de\u201d\u4e0e\u201c\u5b9e\u65f6\u4f53\u9a8c\u201d\u4e4b\u95f4\u7684\u5929\u7136\u77db\u76fe\u3002\u6b64\u5916\uff0c\u76ee\u524d\u4ec5\u8986\u76d6\u7ecf\u5178 PII\uff08\u59d3\u540d\u3001\u5730\u5740\u3001IBAN\uff09\uff0c\u5bf9\u4e8e API Key\u3001Session Token\u3001\u79c1\u6709\u5185\u90e8ID \u7684\u68c0\u6d4b\u80fd\u529b\u4e0d\u8db3\uff0c\u800c\u8fd9\u5728\u5de5\u7a0b\u4ee3\u7801\u4e2d\u6070\u6070\u662f\u9ad8\u9891\u6cc4\u6f0f\u70b9\u3002\u4ea7\u54c1\u5f62\u6001\u4e0a\uff0c\u4ece Claude Code \u63d2\u4ef6\u5230 CLI \u518d\u5230\u53cd\u5411\u4ee3\u7406\uff0c\u8986\u76d6\u4e86\u4e2a\u4eba\u5f00\u53d1\u8005\u5230\u4f01\u4e1a\u7ea7\u8f6c\u53d1\u7684\u4e0d\u540c\u5165\u53e3\uff0c\u8def\u5f84\u6e05\u6670\u3002\u4f46\u771f\u6b63\u7684\u751f\u6b7b\u7ebf\u5728\u4e8e\uff1a\u4e00\u65e6\u5ba2\u6237\u51b3\u5b9a\u81ea\u5efa\u4e00\u5957 Presidio \u6d41\u6c34\u7ebf\uff0cnoirdoc \u7684\u5dee\u5f02\u5316\u5c31\u53ea\u5269\u4e0b\u5fb7\u8bed\u8c03\u4f18\u548c\u201c\u4fdd\u6301\u4e00\u81f4\u5360\u4f4d\u7b26\u201d\u7684\u7ec6\u8282\u3002\u5b83\u7ad9\u5728\u4e86\u98ce\u53e3\uff0c\u4f46\u773c\u4e0b\u8fd8\u662f\u4e00\u628a\u624b\u67aa\uff0c\u80fd\u5426\u5347\u7ea7\u6210\u62a4\u57ce\u6cb3\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u4ece\u201cPII \u5c4f\u853d\u5668\u201d\u8fdb\u5316\u6210\u201cAI \u6570\u636e\u6cbb\u7406\u7f51\u5173\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\">noirdoc<\/span>\n                <\/div>\n<div class=\"comment-content\">Open-source plugin that redacts PII before Claude Code reads it. Names, emails, and IBANs become placeholders Claude sees; you reveal originals locally. Same engine ships as a CLI for any LLM and a hosted proxy for OpenAI\/Anthropic\/Azure.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Privacy isn\u2019t optional anymore. This gets it<\/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>voice\u2192form widgets are the case i kept hitting \u2014 transcribed names, addresses, phone numbers flowing straight into prompts before anyone notices. the moment you try to use real customer voice samples, Legal blocks the whole pipeline.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<\/p>\n<p>the German-tuned detection is the part that actually matters \u2014 most tools fail on lowercase legal text and &#8220;M\u00fcller, Anna&#8221; patterns, and false positives there kill adoption faster than missed PII.<\/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\">Hey \u2014 I built noirdoc because I kept seeing the same pattern on consulting engagements: a team wants to use Claude on a real customer ticket, and Legal kills it because the prompt would leak names, IBANs, and addresses to a third party.<\/p>\n<p>The plugin is a PreToolUse hook for Claude Code. When Claude tries to read a file from a path you mark sensitive, the plugin redacts it first \u2014 names become `&lt;&gt;`, IBANs become `&lt;&gt;` \u2014 Claude works on the placeholders, and you reveal the originals locally in your own terminal. Real names never enter Claude&#8217;s transcript.<\/p>\n<p>Detection runs locally \u2014 Presidio + Flair + GLiNER ensemble, German-tuned (it handles &#8220;M\u00fcller, Anna&#8221; and lowercase legal text where most tools fail). Reversible, with consistent placeholders across sessions.<\/p>\n<p>Same engine ships three ways: this plugin (OSS), a CLI on PyPI for any LLM workflow (OSS), and a hosted proxy that does the same thing transparently for OpenAI \/ Anthropic \/ Azure calls if your team needs that.<\/p>\n<p>Curious what you&#8217;d want it to redact next \u2014 what&#8217;s the data you can&#8217;t paste into an LLM today?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The local reveal step is the part that makes this feel usable in real consulting work. Redaction alone is never enough if the team cannot safely get back to the real values before shipping. Curious how the detector handles domain specific identifiers that are not classic PII.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 do you detect names? A dictionary? An LLM or model of some sort?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@robert_douglass\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robert_douglass<\/a>&nbsp;No a dictionary would be too brittle, it uses a combination of tools. <\/p>\n<p>Presidio handles regex-based PII (IBAN, email, tax IDs). For names, we use three NER models, all local:<\/p>\n<ul>\n<li>\n<p>The NER component of spaCy&#8217;s de_core_news_lg pipeline (called via Presidio)<\/p>\n<\/li>\n<li>\n<p>Flair&#8217;s de-ner-large (dedicated NER model, separate pass \u2014 catches &#8220;Schmidt, Lisa&#8221; comma-form and lowercase legal text)<\/p>\n<\/li>\n<li>\n<p>GLiNER (zero-shot \u2014 add custom entity types at runtime without retraining)<\/p>\n<\/li>\n<\/ul>\n<p>Each NER fails differently, so the three vote together, because the union has better recall than any single one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This solves a real pain point. I work at a fintech and we hit the same wall constantly: engineers want to use Claude Code on production support tickets but the moment there&#8217;s a customer IBAN or address in the file, compliance shuts it down. The PreToolUse hook approach is smart because it catches things before they ever leave your machine. Curious about the performance overhead on large files (e.g. 10K+ line logs with scattered PII). Does the Presidio+Flair ensemble add noticeable latency, or is it fast enough to feel invisible during normal Claude Code usage?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@elijahbowlby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elijahbowlby<\/a>&nbsp;Honest answer: it will not be invisible on 10K-line files with the full pipeline. Flair&#8217;s the bottleneck here. For huge logs you can drop Flair and run Presidio + spaCy only \u2014 ~10\u00d7 faster, you lose some German name recall but the regex layer still catches IBANs and emails (which is the actual fintech failure mode).<\/p>\n<p>The hook is async, so Claude Code shows a &#8220;redacting\u2026&#8221; state instead of blocking. But yeah \u2014 for large files, you will feel the latency!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>apart from finance information is it able to detect some credentials been passed accidentaly?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@zabbar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zabbar<\/a>&nbsp;Not yet, but we have it on the roadmap!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/FJM4K3NC2D6N6V\" class=\"app-title\">Plannotator<\/a><\/p>\n<div class=\"one-liner\">Annotate any doc, URL, or folder &#8211; send feedback to agents <\/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>Plannotator \u662f\u4e00\u6b3e\u5f00\u6e90\u3001\u672c\u5730\u8fd0\u884c\u3001\u4fdd\u62a4\u9690\u79c1\u7684\u6807\u6ce8\u5de5\u5177\uff0c\u80fd\u8ba9\u7528\u6237\u5bf9\u4efb\u610f\u6587\u6863\u3001URL\u6216\u6587\u4ef6\u5939\u8fdb\u884c\u6ce8\u91ca\uff0c\u5e76\u5c06\u53cd\u9988\u76f4\u63a5\u8f93\u5165\u5230AI Agent\u4e2d\uff0c\u89e3\u51b3\u4e86\u4eba\u673a\u534f\u4f5c\u4e2d\u201c\u6807\u6ce8-\u53cd\u9988\u201d\u95ed\u73af\u65ad\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\/defa54c3-0406-4863-a3dc-fe10688fb1bc.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\/013f3775-de44-4c6a-bd1a-bf2ba2300681.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\/a5888142-38a1-4618-8729-6e73fd29c9c7.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\/a963fc13-c9de-489f-96dc-8464963c7a05.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/6rYq-1UkTpg\"><source src=\"https:\/\/youtu.be\/6rYq-1UkTpg\" 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\">Writing<\/span><br \/>\n            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90\u6807\u6ce8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI Agent\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u79c1\u6709\u5316<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5ba1\u67e5<\/span><br \/>\n            <span class=\"tag\">\u5f02\u6b65\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u6807\u6ce8<\/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\u4e3a\u5b83\u586b\u8865\u4e86\u4eba\u673a\u53cd\u9988\u95ed\u73af\u7684\u7a7a\u767d\uff0c\u5c24\u5176\u662f\u5c06\u6807\u6ce8\u76f4\u63a5\u56de\u4f20\u81f3Agent\u7684\u673a\u5236\u3002\u6709\u8bc4\u8bba\u5173\u6ce8\u56e2\u961f\u534f\u4f5c\u6a21\u5f0f\uff1a\u5f02\u6b65\u6536\u96c6\u4e0e\u6279\u91cf\u5e94\u7528\uff0c\u8fd8\u662f\u540c\u6b65\u8ba8\u8bba\u5206\u6b67\u3002\u53e6\u6709\u4eba\u6307\u51fa\u6b64\u529f\u80fd\u5728Claude Code\u7b49\u5de5\u4f5c\u6d41\u4e2d\u80fd\u66ff\u4ee3\u7e41\u7410\u7684\u624b\u52a8\u7c98\u8d34\u64cd\u4f5c\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                Plannotator\u7684\u5b9e\u7528\u4ef7\u503c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u201c\u5c0f\u5207\u53e3\u4f46\u9ad8\u9891\u201d\u7684\u4eba\u673a\u534f\u4f5c\u75db\u70b9\uff1a\u5373AI Agent\u8f93\u51fa\u5185\u5bb9\u540e\uff0c\u4eba\u7c7b\u5982\u4f55\u9ad8\u6548\u3001\u7ed3\u6784\u5316\u5730\u53cd\u9988\u4fee\u6539\u610f\u89c1\u3002\u4f20\u7edf\u505a\u6cd5\u662f\u201c\u590d\u5236-\u7c98\u8d34-\u624b\u52a8\u5907\u6ce8-\u518d\u7c98\u8d34\u201d\uff0c\u5f80\u8fd4\u635f\u8017\u6781\u5927\u3002Plannotator\u8ba9\u6807\u6ce8\u6210\u4e3aAgent\u672c\u8eab\u7684\u8f93\u5165\u63a5\u53e3\uff0c\u4ece\u201c\u4eba\u6284\u73af\u5883\u201d\u8fdb\u5316\u4e3a\u201c\u73af\u5883\u53cd\u9988\u4eba\u201d\uff0c\u76f8\u5f53\u4e8e\u7ed9Agent\u88c5\u4e86\u4e00\u4e2a\u201c\u539f\u751f\u6ce8\u91ca\u5668\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5b83\u7684\u4ef7\u503c\u4e0a\u9650\u53d6\u51b3\u4e8e\u4e24\u70b9\uff1a\u4e00\u662f\u4e0eAgent\u6846\u67b6\u7684\u6df1\u5ea6\u96c6\u6210\u80fd\u529b\uff0c\u76ee\u524d\u901a\u8fc7CLI\u6216`\/`\u547d\u4ee4\u89e6\u53d1\uff0c\u66f4\u50cf\u4e00\u4e2a\u201c\u5916\u6302\u63d2\u4ef6\u201d\u800c\u975e\u539f\u751fToken\u6d41\uff1b\u4e8c\u662f\u56e2\u961f\u534f\u4f5c\u6a21\u5f0f\u7684\u8fdb\u5316\uff0c\u540c\u6b65\u8ba8\u8bba\u4e0e\u5f02\u6b65\u6279\u91cf\u5e94\u7528\u7684\u53d6\u820d\u5c06\u51b3\u5b9a\u5b83\u80fd\u8986\u76d6\u4e2a\u4eba\u6781\u5ba2\u8fd8\u662f\u771f\u6b63\u8fdb\u5165\u5de5\u4f5c\u6d41\u534f\u540c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u201c\u672c\u5730\u8fd0\u884c+\u5f00\u6e90\u201d\u867d\u662f\u9690\u79c1\u5356\u70b9\uff0c\u4f46\u5728SaaS\u76db\u884c\u7684\u4eca\u5929\uff0c\u901a\u7528\u7528\u6237\u66f4\u770b\u91cd\u201c\u5373\u5f00\u5373\u7528\u201d\u3002\u5982\u679c\u540e\u671f\u80fd\u63a8\u51fa\u6258\u7ba1\u7248\uff08\u65b9\u4fbf\u56e2\u961f\u5171\u4eab\u6807\u6ce8\u7ed3\u679c\uff09\u5e76\u652f\u6301\u4e3b\u6d41Agent\u6846\u67b6\uff08\u5982LangChain\u3001AutoGPT\u3001Claude API\uff09\u7684native hook\uff0c\u5176\u4ece\u201c\u597d\u7528\u5de5\u5177\u201d\u8715\u53d8\u4e3a\u201c\u4eba\u673a\u53cd\u9988\u534f\u8bae\u201d\u7684\u6f5c\u529b\u624d\u53ef\u80fd\u771f\u6b63\u91ca\u653e\u3002\u5f53\u524d\u7248\u672c\u66f4\u50cf\u662fKarpathy\u90a3\u7c7b\u201c\u4e2a\u4ebaLLM Wiki\u201d\u7684\u8f85\u52a9\u63d2\u4ef6\uff0c\u5c1a\u4e0d\u8db3\u4ee5\u6210\u4e3a\u56e2\u961f\u534f\u4f5c\u7684\u6807\u51c6\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\">Plannotator<\/span>\n                <\/div>\n<div class=\"comment-content\">You can now use Plannotator to annotate anything! Free, open source, and private (runs local). Use the skill `\/plannotator-annotate` (or cli) &#8211; followed by a folder, URL, document, markdown, your book, a recipe, a plan, etc &#8211; to annotate anything and send feedback directly into your integrated agent. Use `\/plannotator-last` to annotate the last message an agent sent you too. I like using it for my own version of Karpathy\u2019s &#8220;LLM Wiki&#8221; in obsidian. https:\/\/github.com\/backnotprop\/plannotator<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I wanted to be able to annotate anything and have feedback integrated directly into the agent loop. That&#8217;s why I created this. It was also a constant desire to annotate the last agent message. Happy to introduce both capabilities in this new product launch.<\/p>\n<p>Free, open source, your work runs locally and stays private.<\/p>\n<p><a href=\"https:\/\/github.com\/backnotprop\/plannotator\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/backnotprop\/plannotator<\/a><\/p>\n<p>Try a demo of the annotation surface here: <a href=\"https:\/\/share.plannotator.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/share.plannotator.ai<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a really clever  take on closing the loop between humans and agents .Annotating directly feeding that back into the agent feels like a missing piece.<\/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\">Group annotate is a great feature. Essentially coding in a google doc<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 plan-annotation-as-feedback-loop is the part that&#8217;s been missing from claude code workflows. most people are still pasting raw plan text into a doc, marking it up by hand, then re-pasting back into the agent, which is brutal and the round-trip kills the energy. the question for me is whether the team-feedback-collection becomes async (collect + bulk-apply) or stays synchronous like a code review thread. the async version unlocks distributed teams but the synchronous one is where the actual disagreements get resolved.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/27NTAWP62654J6\" class=\"app-title\">Venture Factory AI<\/a><\/p>\n<div class=\"one-liner\">Your full venture strategy, built in minutes.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">83<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Venture Factory AI \u662f\u4e00\u6b3e\u4e3a\u521b\u59cb\u4eba\u6253\u9020\u7684AI\u6218\u7565\u751f\u6210\u5668\uff0c\u80fd\u5728\u51e0\u5206\u949f\u5185\u5c06\u6df7\u4e71\u7684\u521b\u4e1a\u60f3\u6cd5\u8f6c\u5316\u4e3a\u7ed3\u6784\u6e05\u6670\u3001\u53ef\u5bfc\u51fa\u7684\u6295\u8d44\u7ea7\u5546\u4e1a\u7b56\u7565\u6587\u6863\uff0c\u89e3\u51b3\u521b\u59cb\u4eba\u201c\u6709\u60f3\u6cd5\u65e0\u8ba1\u5212\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\/ddbd0a9c-d182-4466-be6e-af7ef3b23d5a.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\/bbc8a8d1-0042-4868-ac0d-8f37bf45e3f5.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\/cfb71e24-ab12-401b-b4d4-c2283f12fd45.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\/ac364a56-d58f-4c70-93c8-71baa65535f1.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\/be2daa1a-2903-4734-ab86-5e31f5c27a99.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\/600e6575-953c-4ef7-b0c9-358d410b5e9e.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\/87ff77e7-f4d9-42d5-91dd-8cff08651873.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\/7c27ffd8-0900-4a52-94d6-fc7ca91301b6.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Ca6S91zkKyQ?si=xDicmK9dZJqhAUrK\"><source src=\"https:\/\/youtu.be\/Ca6S91zkKyQ?si=xDicmK9dZJqhAUrK\" 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\">Venture Capital<\/span><br \/>\n            <span class=\"tag\">Business<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6218\u7565\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u521b\u4e1a\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5546\u4e1a\u8ba1\u5212\u4e66<\/span><br \/>\n            <span class=\"tag\">\u521b\u59cb\u4eba\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6b27\u6d32\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u51c6\u5907<\/span><br \/>\n            <span class=\"tag\">GPT\u5c01\u88c5<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u730e\u624b<\/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\u60f3\u6cd5\u591a\u3001\u8ba1\u5212\u4e71\u201d\u7684\u75db\u70b9\uff0c\u79f0\u201c\u6b63\u662f\u6240\u9700\u201d\u3002\u4f46\u6709\u4eba\u5c16\u9510\u6307\u51fa\u5176\u4e3a\u201cAI\u5c01\u88c5\u5668\u201d\uff0c\u53e6\u4e00\u4f4d\u7528\u6237\u5efa\u8bae\u4f18\u5316\u7740\u9646\u9875\u8f6c\u5316\u7387\uff0c\u5c06\u6d41\u91cf\u8f6c\u4e3a\u4ed8\u8d39\u7528\u6237\uff0c\u5f3a\u8c03\u7b2c\u4e00\u5370\u8c61\u81f3\u5173\u91cd\u8981\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                Venture Factory AI \u7cbe\u51c6\u51fb\u4e2d\u4e86\u521d\u521b\u751f\u6001\u4e2d\u4e00\u4e2a\u9ad8\u9891\u4e14\u5c34\u5c2c\u7684\u201c\u5e9f\u589f\u65f6\u523b\u201d\u2014\u2014\u521b\u59cb\u4eba\u8111\u5b50\u91cc\u585e\u6ee1\u4e86\u788e\u7247\u5316\u7684\u7075\u611f\u3001\u8bed\u97f3\u5907\u5fd8\u5f55\u548c\u6b7b\u6389\u7684MVP\uff0c\u4f46\u62ff\u4e0d\u51fa\u4e00\u5f20\u50cf\u6837\u7684\u6218\u7565\u7eb8\u3002\u4ea7\u54c1\u5b9a\u4f4d\u6781\u5176\u5201\u94bb\uff1a\u4e0d\u662f\u5e2e\u4f60\u201c\u60f3\u5f97\u66f4\u806a\u660e\u201d\uff0c\u800c\u662f\u5e2e\u4f60\u201c\u628a\u60f3\u6cd5\u62c9\u76ae\u6210\u80fd\u89c1\u4eba\u7684\u6837\u5b50\u201d\u3002\u5b83\u63d0\u4f9b\u768411\u4e2a\u6e05\u6670\u677f\u5757\u3001\u7cbe\u82f1\u54a8\u8be2\u98ce\u683c\u7684PDF\u548c\u53ef\u5206\u4eab\u94fe\u63a5\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u8d29\u5356\u201c\u8ba4\u77e5\u53d8\u73b0\u201d\u7684\u5e7b\u89c9\u2014\u2014\u8ba9\u6df7\u4e71\u7684\u76f4\u89c9\u8fc5\u901f\u62ab\u4e0a\u7ed3\u6784\u5316\u7684\u4e13\u4e1a\u5916\u8863\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u4e5f\u6b63\u662f\u5176\u6700\u5927\u8f6f\u808b\u3002\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u6781\u6d45\uff0c\u672c\u8d28\u4e0a\u662f\u5bf9DO VENTURES\u4e13\u6709\u6846\u67b6\u7684\u4e00\u6b21\u9ad8\u6548\u5c01\u88c5\u3002\u8bc4\u8bba\u4e2d\u201cAI Wrapper\u201d\u7684\u5410\u69fd\u76f4\u6307\u75db\u70b9\uff1a\u4e00\u65e6\u6709\u66f4\u591a\u7ade\u54c1\u63a5\u5165\u66f4\u5f3a\u7684\u5e95\u5c42\u6a21\u578b\u6216\u5f00\u6e90\u7c7b\u4f3c\u6a21\u677f\uff0c\u7528\u6237\u7684\u8fc1\u79fb\u6210\u672c\u51e0\u4e4e\u4e3a\u96f6\u3002\u5176\u5f3a\u8c03\u7684\u201c\u6570\u636e\u9694\u79bb\u548c\u6b27\u6d32GDPR\u5408\u89c4\u201d\u867d\u662f\u5dee\u5f02\u5316\u5356\u70b9\uff0c\u4f46\u5728\u201c\u5feb\u901f\u751f\u6210\u6587\u6863\u201d\u8fd9\u4e2a\u573a\u666f\u4e0b\uff0c\u5b89\u5168\u6027\u80fd\u5426\u6210\u4e3a\u4ed8\u8d39\u8f6c\u5316\u6760\u6746\uff0c\u4ecd\u5b58\u7591\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u5173\u952e\u7684\u95ee\u9898\u662f\uff1a\u4e00\u4efd\u5728\u51e0\u5206\u949f\u5185\u751f\u6210\u3001\u4ece\u672a\u4e0e\u5176\u4ed6\u7528\u6237\u5171\u4eab\u6570\u636e\u7684\u7b56\u7565\uff0c\u5176\u63a8\u8350\u6df1\u5ea6\u548c\u7ade\u4e89\u6d1e\u5bdf\u5fc5\u7136\u53d7\u9650\u4e8e\u5355\u70b9\u8f93\u5165\u3002\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u81ea\u6211\u9ad8\u6f6e\u201d\u7684\u68b3\u7406\u5de5\u5177\uff0c\u800c\u975e\u771f\u6b63\u7684\u98ce\u9669\u8bc4\u4f30\u5f15\u64ce\u3002\u5bf9\u4e8e\u521b\u59cb\u4eba\u800c\u8a00\uff0c\u6700\u5927\u7684\u5371\u9669\u53ef\u80fd\u662f\u5c06\u8fd9\u4efd\u6f02\u4eae\u7684PDF\u5f53\u6210\u4e86\u5151\u4ed8\u5e02\u573a\u7684\u652f\u7968\uff0c\u800c\u5ffd\u7565\u4e86\u201c\u5e26\u4e0a\u4e0b\u6587\u6295\u8d44\u4eba\u7684\u4e00\u6b21\u72e0\u8bdd\u201d\u8fdc\u6bd41000\u70b9\u8d5e\u66f4\u6709\u4ef7\u503c\u2014\u2014\u8fd9\u53e5\u4ea7\u54c1\u6587\u6848\u672c\u8eab\u53cd\u800c\u6210\u4e86\u6700\u7280\u5229\u7684\u81ea\u6211\u6ce8\u811a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u7ec8\uff0cVenture Factory AI\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u66ff\u4ee3\u6218\u7565\u601d\u8003\uff0c\u800c\u5728\u4e8e\u964d\u4f4e\u201c\u4ece\u60f3\u5230\u5199\u201d\u7684\u5fc3\u7406\u6469\u64e6\u3002\u82e5\u5b83\u65e0\u6cd5\u540e\u7eed\u6f14\u5316\u6210\u6301\u7eed\u7684\u6570\u636e\u95ed\u73af\uff08\u5982\u52a8\u6001\u8ddf\u8e2a\u7b56\u7565\u6267\u884c\u3001\u5bf9\u6807\u771f\u5b9e\u5e02\u573a\u53cd\u9988\uff09\uff0c\u90a3\u4e48\u5b83\u7ec8\u7a76\u53ea\u662f\u4e00\u4e2a\u9ad8\u989c\u503c\u7684\u201c\u521b\u4e1a\u51a5\u60f3\u5e94\u7528\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\">Venture Factory AI<\/span>\n                <\/div>\n<div class=\"comment-content\">AI-assisted strategy builder powered by DOVENTURES. Not your average AI output. Fast enough for founders allergic to wasting time. Fully secure. Your strategy is never available to other users. Not used to train our proprietary framework. PDF export and a shareable link.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">11:48 PM. A founder has: 33 tabs open, 2 coffees left, 1 huge idea, 0 actual plan.<\/p>\n<p>The startup currently exists as:<br \/>\n\u2022 six random paragraphs<br \/>\n\u2022 three voice notes from walks<br \/>\n\u2022 a prototype which doesn&#8217;t work because he run out of tokens<br \/>\n\u2022 a fight with generic AI<\/p>\n<p>\u201cMake it better.\u201d<br \/>\n\u201cMore strategic.\u201d<br \/>\n\u201cLess generic.\u201d<br \/>\n\u201cWhy does this mention NFTs?\u201d<\/p>\n<p>Modern entrepreneurship.<\/p>\n<p>That\u2019s where Venture Factory AI comes in.<br \/>\nNot to replace your brain.<br \/>\nWe\u2019ve seen your brain.<br \/>\nIt needs structure.<\/p>\n<p>You enter your context.<br \/>\nWe turn it into a venture strategy in minutes using our proprietary framework built on real-world venture patterns.<\/p>\n<p>So instead of producing polished confusion, you get something useful immediately:<br \/>\n\u26a1 11 clear sections<br \/>\n\u26a1 PDF export in elite-consultant energy style<br \/>\n\u26a1 Shareable link<br \/>\n\u26a1 Fast enough for founders allergic to wasting time<\/p>\n<p>Why written strategy matters?<br \/>\nBecause vague ideas always sound brilliant.<br \/>\nWritten ideas meet reality.<\/p>\n<p>Because assumptions on paper are cheap.<br \/>\nAssumptions in production require invoices.<\/p>\n<p>Because \u201cwe\u2019ll figure it out later\u201d has ended both startups and relationships.<\/p>\n<p>Your data?<\/p>\n<p>\ud83d\udd12 Used only to generate your strategy.<br \/>\n\ud83d\udd12 Never available to other users.<br \/>\n\ud83d\udd12 We operate in Europe and follow GDPR.<br \/>\n\ud83d\udd12 Not used to train our proprietary framework.<\/p>\n<p>Then send it to one person who is smart, honest, and slightly rude.<br \/>\nThat person is worth more than 1,000 likes.<\/p>\n<p>If your startup still lives in Notes,<br \/>\nit\u2019s time to give it an address.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@elenagoldberg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elenagoldberg<\/a>&nbsp;Love the concept behind Factory turning founder context into an investor-ready strategy doc in minutes. That immediate, structured output is powerful, but that first impression has to convert browsers into paying users.<\/p>\n<\/p>\n<p>A few small optimizations to your landing page copy and flow could help turn more of that traffic from Product Hunt into customers. Would you be interested in seeing a few specific ideas?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>AI Wrapper.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\"><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/00ebbf23-3d64-428d-a0ec-be385818ab0b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/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\/@elenagoldberg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elenagoldberg<\/a>&nbsp;great job, I need this exactly now!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/5LLG7W5YTCW6JK\" class=\"app-title\">Devin for Terminal<\/a><\/p>\n<div class=\"one-liner\">Local CLI  coding agent with deep Devin Cloud integration<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">33<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Devin for Terminal\u662f\u4e00\u6b3e\u672c\u5730\u547d\u4ee4\u884cAI\u7f16\u7801\u52a9\u624b\uff0c\u901a\u8fc7\u4e0eDevin\u4e91\u6df1\u5ea6\u96c6\u6210\uff0c\u8ba9\u5f00\u53d1\u8005\u5728\u4e0d\u79bb\u5f00\u7ec8\u7aef\u7684\u60c5\u51b5\u4e0b\u5904\u7406\u7f16\u7801\u4efb\u52a1\uff0c\u5e76\u5728\u9700\u8981\u65f6\u5c06\u590d\u6742\u4efb\u52a1\u65e0\u7f1d\u79fb\u4ea4\u7ed9\u4e91\u7aef\u4ee3\u7406\u7ee7\u7eed\u6267\u884c\uff0c\u89e3\u51b3\u5f00\u53d1\u8005\u5728AI\u5de5\u5177\u4e0e\u5de5\u4f5c\u6d41\u4e4b\u95f4\u9891\u7e41\u5207\u6362\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\/b49d99ea-6087-4f6e-9776-2f18042a180b.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\/e2987d35-8ee2-4f19-ab09-42278d6bc6b2.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\/e035a747-f474-4cd3-804e-54ea0ffcb9b1.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\/fabbd09f-b440-405e-9c44-a3e133486bac.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=C6nIYFNVygU\"><source src=\"https:\/\/www.youtube.com\/watch?v=C6nIYFNVygU\" 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>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7801\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730CLI<\/span><br \/>\n            <span class=\"tag\">\u4e91\u7aef\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u79fb\u4ea4<\/span><br \/>\n            <span class=\"tag\">DevOps<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7a0b\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u7aef\u63d2\u4ef6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u201c\u5173\u95ed\u7b14\u8bb0\u672c\u540e\u4efb\u52a1\u4ecd\u6301\u7eed\u201d\u7684\u8bbe\u8ba1\uff0c\u4f46\u5173\u6ce8CLI\u4e0e\u4e91\u7aef\u73af\u5883\u7684\u72b6\u6001\u4e00\u81f4\u6027\u95ee\u9898\uff0c\u62c5\u5fc3\u201c\u672c\u5730\u8fd0\u884c\u6210\u529f\u3001\u4e91\u7aef\u73af\u5883\u4e0d\u5339\u914d\u201d\u5bfc\u81f4\u7ed3\u679c\u4e0d\u53ef\u9760\uff1b\u53e6\u6709\u7528\u6237\u6307\u51fa\u57fa\u51c6\u6d4b\u8bd5\u867d\u4eae\u773c\uff0c\u4f46\u5b9e\u9645\u5904\u7406\u7684\u8fb9\u7f18\u6848\u4f8b\u548c\u6df7\u4e71\u9700\u6c42\u624d\u662f\u771f\u6b63\u8003\u9a8c\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                Devin for Terminal\u7684\u5b9a\u4f4d\u806a\u660e\uff0c\u4f46\u4ef7\u503c\u5151\u73b0\u5b58\u7591\u3002\u4ea7\u54c1\u6838\u5fc3\u903b\u8f91\u662f\u5c06\u201cAI\u5de5\u7a0b\u5e08\u201d\u8fd9\u4e00\u672c\u5e94\u5168\u81ea\u52a8\u5316\u3001\u9ed1\u76d2\u5316\u7684\u670d\u52a1\u62c6\u89e3\u4e3a\u201c\u672c\u5730\u8f7b\u91cf+\u4e91\u7aef\u91cd\u578b\u201d\u7684\u53cc\u5c42\u7ed3\u6784\u2014\u2014\u542c\u8d77\u6765\u50cf\u662f\u4e3a\u60a3\u6709\u591a\u4efb\u52a1\u5f3a\u8feb\u75c7\u7684\u5f00\u53d1\u8005\u91cf\u8eab\u5b9a\u505a\u7684\u201c\u5206\u8bca\u53f0\u201d\u3002\u5176\u6700\u5927\u5356\u70b9\u5e76\u975eAI\u80fd\u529b\uff0c\u800c\u662f\u5de5\u4f5c\u6d41\u8854\u63a5\uff1a\u5173\u95ed\u7535\u8111\u540e\u4efb\u52a1\u4e0d\u6b7b\uff0c\u8fd9\u672c\u662f\u4e91IDE\u6216\u540e\u53f0\u670d\u52a1\u7684\u6807\u914d\uff0c\u5374\u88ab\u5305\u88c5\u6210\u6740\u624b\u7279\u6027\uff0c\u6070\u6070\u53cd\u6620\u51fa\u5f53\u524dAI\u7f16\u7801\u5de5\u5177\u666e\u904d\u7f3a\u4e4f\u5de5\u7a0b\u5316\u96c6\u6210\u80fd\u529b\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u5bf9\u73af\u5883\u4e00\u81f4\u6027\uff08state parity\uff09\u7684\u8d28\u7591\u76f4\u51fb\u8981\u5bb3\uff1a\u82e5\u672c\u5730\u4e0e\u4e91\u7aef\u7684\u4f9d\u8d56\u3001\u6743\u9650\u3001\u7cfb\u7edf\u72b6\u6001\u5b58\u5728\u9690\u6027\u504f\u5dee\uff0c\u90a3\u4e48\u201c\u79fb\u4ea4\u201d\u672c\u8d28\u4e0a\u53ea\u662f\u6362\u4e86\u4e00\u4e2a\u5730\u65b9\u70bc\u4e39\uff0c\u6700\u7ec8\u9700\u8981\u5f00\u53d1\u8005\u4e8c\u5ea6\u4fee\u8865\u3002\u6b64\u5916\uff0c\u4ec533\u7968\u7684\u6570\u636e\u6697\u793a\u5e02\u573a\u53cd\u5e94\u5e73\u6de1\uff0c\u4e0eDevin\u65e9\u524d\u5728Demo\u4e2d\u70ab\u6280\u7684\u201c\u5168\u80fd\u5de5\u7a0b\u5e08\u201d\u4eba\u8bbe\u5f62\u6210\u53cd\u5dee\u3002\u4ea7\u54c1\u771f\u6b63\u4ef7\u503c\u6216\u8bb8\u4e0d\u5728\u4e8e\u66ff\u4ee3\u5f00\u53d1\u8005\uff0c\u800c\u5728\u4e8e\u88abEmbedding\u5230\u73b0\u6709CI\/CD\u6d41\u6c34\u7ebf\u6216\u4ee3\u7801\u5ba1\u67e5\u6d41\u7a0b\u4e2d\uff0c\u4f5c\u4e3a\u201c\u95f4\u6b47\u6027\u81ea\u52a8\u5316\u52a9\u624b\u201d\u5b58\u5728\u3002\u4f46\u95ee\u9898\u5728\u4e8e\uff1a\u5982\u679cAI\u8fde\u73af\u5883\u9519\u4f4d\u548c\u8fb9\u7f18\u6848\u4f8b\u90fd\u5904\u7406\u4e0d\u597d\uff0c\u90a3\u5b83\u5145\u5176\u91cf\u662f\u4e2a\u6f02\u4eae\u7684\u73a9\u5177\uff0c\u800c\u975e\u6bcf\u65e5\u5fc5\u7528\u7684\u87ba\u4e1d\u5200\u3002\u5f00\u53d1\u8005\u9700\u8981\u7684\u4e0d\u662f\u201c\u4e24\u4e2a\u8868\u9762\u6765\u56de\u5207\u6362\u201d\u7684\u7075\u6d3b\u6027\uff0c\u800c\u662f\u4e00\u4e2a\u80fd\u7406\u89e3\u6df7\u4e71\u9700\u6c42\u3001\u5e76\u786e\u4fdd\u4ece\u7ec8\u7aef\u5230\u4e91\u7aef\u7ed3\u679c\u4e00\u81f4\u7684\u7a33\u5b9a\u5f15\u64ce\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\">Devin for Terminal<\/span>\n                <\/div>\n<div class=\"comment-content\">Get up and running in 2 minutes with Devin for Terminal, a local command-line coding agent with deep Devin Cloud integration.<\/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>We built Devin because we wanted an AI engineer that actually fits how developers work, not another tab to babysit. Today we&#8217;re launching Devin for Terminal. Devin lives right in your CLI, alongside the tools you already use. And when a task is bigger than a single session, you can hand it off to a cloud agent and keep moving.<\/p>\n<p>Same Devin. Two surfaces. Pick whichever matches the moment.<\/p>\n<p>Would love your honest feedback. What would make this a daily driver for you?<\/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 keep-the-task-alive-after-i-close-my-laptop pattern is the right unlock. the gnarly part is making the cloud session&#8217;s environment match enough of mine that &#8216;it worked locally&#8217; isn&#8217;t a coin flip when it comes back. how are you handling state parity between the cli and the cloud 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Benchmarks look impressive\u2026 real test is how it handles edge cases and messy requirements.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/HM2XSUQK5CGHM3\" class=\"app-title\">Keplars Marketing Emails<\/a><\/p>\n<div class=\"one-liner\">Track, target &#038; send campaigns &#8211; pay by volume, not contacts<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">29<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Keplars Marketing Emails \u662f\u4e00\u6b3e\u9762\u5411\u5f00\u53d1\u8005\u548c\u73b0\u4ee3\u56e2\u961f\u7684\u90ae\u4ef6\u8425\u9500\u5de5\u5177\uff0c\u901a\u8fc7\u6309\u53d1\u9001\u91cf\u8ba1\u8d39\u3001\u63d0\u4f9b\u5b9e\u65f6\u8ffd\u8e2a\u4e0e\u53d1\u9001\u58f0\u8a89\u76d1\u63a7\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u5de5\u5177\u754c\u9762\u81c3\u80bf\u3001\u6309\u8054\u7cfb\u4eba\u8ba1\u8d39\u6210\u672c\u9ad8\u3001\u6295\u9012\u540e\u6570\u636e\u4e0d\u900f\u660e\u7b49\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\/412b15c5-e2bf-4b88-a17c-0a040f3c6172.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\/24382008-55b3-474a-a1e3-421aa221b24e.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\/e7ad1af1-f210-4be2-8931-5345ff9c97d6.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\/0141cba5-f7a2-41c0-9833-065dc890e943.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\/9e3ceddd-3781-4c75-9987-7ad0ef8ff270.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/vrBXH8LcRJY\"><source src=\"https:\/\/youtu.be\/vrBXH8LcRJY\" 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 Marketing<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u90ae\u4ef6\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">API\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u6309\u91cf\u8ba1\u8d39<\/span><br \/>\n            <span class=\"tag\">\u53d1\u9001\u58f0\u8a89<\/span><br \/>\n            <span class=\"tag\">\u53d1\u9001\u5230\u8fbe\u7387<\/span><br \/>\n            <span class=\"tag\">\u53d7\u4f17\u5b9a\u5411<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">SaaS<\/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\u8bbe\u7f6e\u7b80\u6d01\u3001\u8ffd\u8e2a\u6e05\u6670\u3001\u4e8b\u52a1\u4e0e\u8425\u9500\u90ae\u4ef6\u5408\u4e00\u7684\u4ef7\u503c\u3002\u4e3b\u8981\u8bc9\u6c42\u5305\u62ec\uff1a\u9700\u7ec6\u5316\u81f3\u90ae\u7bb1\u670d\u52a1\u5546\uff08\u5982Gmail\/Outlook\uff09\u7684\u9000\u4fe1\u539f\u56e0\u5206\u6790\uff0c\u4ee5\u53ca\u9488\u5bf9\u7279\u5b9aISP\u5c01\u9501\u7684\u8b66\u62a5\u529f\u80fd\uff0c\u4ee5\u4fbf\u5e02\u573a\u4eba\u5458\u81ea\u4e3b\u6392\u67e5\u6295\u9012\u95ee\u9898\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                Keplars \u5207\u4e2d\u7684\u75db\u70b9\u975e\u5e38\u771f\u5b9e\u2014\u2014\u201c\u6309\u8054\u7cfb\u4eba\u8ba1\u8d39\u201d\u4e0e\u201c\u6570\u636e\u9ed1\u7bb1\u201d\u662f\u51e0\u4e4e\u6240\u6709\u90ae\u4ef6\u8425\u9500\u5de5\u5177\u7684\u987d\u75be\u3002\u5b83\u7528\u201c\u6309\u91cf\u8ba1\u8d39\u201d\u76f4\u63a5\u6253\u6389\u4e86\u4e2d\u5c0f\u4f01\u4e1a\u56e0\u8054\u7cfb\u4eba\u5217\u8868\u81a8\u80c0\u800c\u4ea7\u751f\u7684\u6210\u672c\u7126\u8651\uff0c\u5e76\u7528\u201c\u5b9e\u65f6\u8ffd\u8e2a+\u53d1\u9001\u58f0\u8a89\u76d1\u63a7\u201d\u8bd5\u56fe\u89e3\u51b3\u6295\u9012\u540e\u201c\u542c\u5929\u7531\u547d\u201d\u7684\u65e0\u529b\u611f\u3002API-first \u7684\u5b9a\u4f4d\u4e5f\u7cbe\u51c6\u5730\u628a\u5de5\u5177\u4ece\u201c\u5e02\u573a\u90e8\u50bb\u74dc\u76f8\u673a\u201d\u62c9\u56de\u5230\u4e86\u201c\u5f00\u53d1\u8005\u53ef\u63a7\u7684\u7cbe\u5bc6\u4eea\u5668\u201d\u8bed\u5883\uff0c\u907f\u514d\u4e86\u529f\u80fd\u5806\u780c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ece\u4ec5\u670929\u7968\u7684\u5e02\u573a\u53cd\u9988\u6765\u770b\uff0c\u4ea7\u54c1\u76ee\u524d\u4ecd\u5904\u4e8e\u65e9\u671f\u51b7\u542f\u52a8\u9636\u6bb5\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u6307\u5411\u7684\u201c\u6309\u90ae\u7bb1\u670d\u52a1\u5546\u5206\u89e3\u9000\u4fe1\u539f\u56e0\u201d\u9700\u6c42\uff0c\u6070\u6070\u662f\u5b83\u5ba3\u79f0\u201cfull delivery visibility\u201d\u7684\u8bd5\u91d1\u77f3\u2014\u2014\u5982\u679c\u53ea\u80fd\u7ed9\u51fa\u7b3c\u7edf\u7684\u9000\u4fe1\u7387\uff0c\u800c\u4e0d\u63d0\u4f9b\u5177\u4f53\u7684ISP\u7ea7\u522b\u7684\u74f6\u9888\u5b9a\u4f4d\uff08\u6bd4\u5982\u662fGmail\u5c01\u4e86\u4f60\uff0c\u8fd8\u662fOutlook\u62d2\u4e86\u4f60\u7684IP\uff09\uff0c\u90a3\u4e48\u8fd9\u4e2a\u201cvisibility\u201d\u5c31\u4f9d\u7136\u662f\u534a\u900f\u660e\u3002\u521b\u59cb\u4eba\u56de\u590d\u201c\u6355\u83b7\u4e86\u6570\u636e\u4f46\u56e0\u9690\u79c1\u539f\u56e0\u672a\u5c55\u793a\u201d\u7684\u8bf4\u6cd5\u503c\u5f97\u5546\u69b7\uff1a\u5728B2B\u573a\u666f\u4e0b\uff0c\u63d0\u4f9b\u805a\u5408\u4e14\u975e\u4e2a\u4eba\u5316\u7684ISP\u9000\u4fe1\u7801\u5206\u6790\u672c\u8eab\u5c31\u662f\u884c\u4e1a\u6807\u51c6\u64cd\u4f5c\uff08\u5982SendGrid\uff09\uff0c\u8fd9\u66f4\u50cf\u662fMVP\u9636\u6bb5\u7684Feature\u53d6\u820d\uff0c\u800c\u4e0d\u662f\u539f\u5219\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4ea7\u54c1\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u8f7b\u91cf\u7248SendGrid + \u4f4e\u914d\u7248Mailchimp\u201d\u7684\u4e2d\u95f4\u5f62\u6001\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u58c1\u5792\uff08\u90ae\u4ef6\u53d1\u9001\u5f15\u64ce\u662f\u6210\u719f\u8d5b\u9053\uff09\uff0c\u800c\u5728\u4e8e**\u5b9a\u4ef7\u7b56\u7565\u7684\u900f\u660e\u5316**\u548c**\u9488\u5bf9\u5f00\u53d1\u8005\u4f53\u9a8c\u7684\u6781\u81f4\u51cf\u6cd5**\u3002\u8fd9\u79cd\u7b56\u7565\u5728\u201c\u65e2\u8981\u53c8\u8981\u201d\u7684\u521d\u521b\u56e2\u961f\u4e2d\u5f88\u5403\u5f97\u5f00\uff0c\u4f46\u957f\u671f\u770b\uff0c\u4e00\u65e6\u89c4\u6a21\u6269\u5927\uff0c\u201c\u6309\u91cf\u8ba1\u8d39\u201d\u80fd\u5426\u5728\u63d0\u4f9b\u9ad8\u7ea7\u81ea\u52a8\u5316\u6d41\u7a0b\uff08\u5982\u590d\u6742\u7684\u65c5\u7a0b\u7f16\u6392\uff09\u65f6\u4ecd\u4fdd\u6301\u7ade\u4e89\u529b\uff0c\u5c06\u662f\u4e2a\u5173\u952e\u8003\u9a8c\u3002\u5b83\u6709\u673a\u4f1a\u6210\u4e3a\u4e2d\u5c0f\u56e2\u961f\u90ae\u4ef6\u57fa\u5efa\u7684\u4e00\u5757\u4f18\u8d28\u201c\u62fc\u56fe\u201d\uff0c\u4f46\u79bb\u6210\u4e3a\u201c\u5e73\u53f0\u201d\u8fd8\u6709\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\">Keplars Marketing Emails<\/span>\n                <\/div>\n<div class=\"comment-content\">Keplars Marketing Emails lets you run campaigns with full tracking, audience targeting, and a clean API-first workflow. Setup under few clicks. Track deliveries, opens, clicks, and timelines in real time. Pricing is volume-based, not contact-based &#8211; with custom plans as you scale. Monitor and protect your email reputation to improve deliverability. Built for developers and modern teams to launch, manage, and optimize campaigns faster without the usual tool bloat.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone \ud83d\udc4b Deb here, founder of Keplars.<\/p>\n<p>We built Keplars Marketing Emails after getting frustrated with existing tools &#8211; complex UIs, contact-based pricing that gets expensive fast, and limited visibility into what\u2019s actually happening after you hit send.<\/p>\n<p>So we decided to build something simpler and more developer-first:<\/p>\n<p>&#8211; Full tracking (deliveries, opens, clicks, timelines)<br \/>\n&#8211; Campaigns + audience targeting in one place<br \/>\n&#8211; Volume-based pricing (pay per email, not contacts)<br \/>\n&#8211; Built-in email reputation monitoring to improve deliverability<\/p>\n<p>The goal is straightforward: give you full control over your marketing emails without the bloat.<\/p>\n<p>Would genuinely love your feedback .<br \/>\nCurious &#8211; what\u2019s your biggest pain with current email tools?<\/p>\n<p>Happy to answer anything \ud83d\ude4c<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Finally out!<\/p>\n<p>Been a crazy journey taking this from a rough idea to something people are actually using today.<\/p>\n<\/p>\n<p>We\u2019ve spent a lot of time trying to simplify what\u2019s usually a painful space &#8211; email setup, tracking, campaigns and make it feel way more straightforward.<\/p>\n<\/p>\n<p>Seeing real usage, feedback, and even small spikes already\u2026 hits different.<\/p>\n<p>Still a lot more to build, but this is a big step for us.<\/p>\n<\/p>\n<p>Would really love to hear what you all think and what we should improve next.<\/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\/@debojyoti452\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@debojyoti452<\/a>&nbsp;built-in reputation monitoring is the sleeper feature here. \ud83d\udee1\ufe0f Deliverability is getting harder every year, and most marketing tools just leave you in the dark until you&#8217;re already blacklisted. How granular does the monitoring get do we get alerts for specific ISP blocks?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/@ananya_452\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ananya_452\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ananya_452<\/a> Been trying this out for a bit and the experience is quite smooth. Setup didn\u2019t take much time, and having both transactional + marketing emails in one place is convenient.<\/p>\n<\/p>\n<p>Also liked the tracking, you can actually understand what\u2019s happening instead of just seeing high-level numbers.<\/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\/@abhiranjan_kumar2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhiranjan_kumar2<\/a>&nbsp; Thanks for trying it out \ud83d\ude4c<\/p>\n<p>Good to hear the setup felt easy &#8211; that was one of the main things we wanted to fix.<\/p>\n<p>And yeah, the tracking part\u2026 we\u2019ve felt that pain ourselves with other tools, so tried to make it a bit more clear and useful.<\/p>\n<p>Would love to hear how it feels as you use it more.<\/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\/@abhiranjan_kumar2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhiranjan_kumar2<\/a>&nbsp;Really appreciate this, thanks for sharing \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>Congrats on the launch! As a marketing lead at a startup, I&#8217;m constantly caught between two worlds \u2014 I need our transactional emails (welcome flows, password resets, etc.) to actually land in the inbox, but I also need enough visibility to know when something breaks without bothering the dev team every time. The &#8220;full delivery visibility&#8221; piece is what caught my eye. Can I see bounce reasons broken down by email provider &#8211; like whether Gmail is treating us differently than Outlook? That&#8217;s the insight that would actually let me act on delivery issues myself instead of guessing.<\/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\/@yotam_dahan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yotam_dahan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yotam_dahan<\/a>, really appreciate the detailed feedback. This is exactly the kind of use case we&#8217;re building for.<\/p>\n<p>You&#8217;re right on the money. We actually already capture provider-level bounce reasons on our end (Gmail, Outlook, etc.), but right now we surface generic bounce data to users for privacy reasons. Breaking it down by provider with specific bounce codes is something we can absolutely add. It&#8217;s more of a product decision than an infrastructure gap.<\/p>\n<p>I&#8217;ll add this to our roadmap. Would be super helpful to stay in touch as we ship it. Would love to have you try it early.<\/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\/@yotam_dahan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yotam_dahan<\/a>&nbsp;+1 to this &#8211; this is exactly the kind of visibility we want to unlock.<\/p>\n<p>A lot of teams end up guessing when something breaks, especially across providers. Making that clearer (and actionable) is something we\u2019re actively thinking about.<\/p>\n<p>Would love to keep you in the loop as we build this 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<\/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\/EOY25X6G7SDL7V\" class=\"app-title\">Vertex Visual Toolkit<\/a><\/p>\n<div class=\"one-liner\">200+ Editable Visual Assets | Multiple uses.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">28<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Vertex Visual Toolkit \u662f\u4e00\u4e2a\u96c6\u56fe\u6807\u3001\u9759\u6001\/\u52a8\u6001\u63d2\u753b\u53caAI\u751f\u6210\u56fe\u50cf\u4e8e\u4e00\u4f53\u7684\u53ef\u7f16\u8f91\u89c6\u89c9\u7d20\u6750\u5e93\uff0c\u65e8\u5728\u89e3\u51b3\u73b0\u4ee3\u56e2\u961f\u5728\u591a\u5de5\u5177\u95f4\u53cd\u590d\u5bfb\u627e\u3001\u5207\u6362\u7d20\u6750\u7684\u6548\u7387\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\/d8f5c779-de65-4e1c-af26-c78127b638f9.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\/4b44b0df-bfc7-4407-849a-851b9a7b2d63.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\/3e0c57cd-f9ba-43a4-bbdc-9a250f813903.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\/2c136175-08d9-4dc1-88cd-e837a3b356a6.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\/b7e5a91b-9bed-4456-8ca6-80668c67d420.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\/4efcf785-525b-4a40-9931-90b26819031d.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\/3afcc312-4059-43bd-a910-bcfb48aae904.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\/c34b84ce-941b-4003-8eac-c0e1622f7f78.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\/b23fd258-bd2c-4d14-9d11-220c8f1c92fc.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\/f7e9c5f3-57d4-48c0-afc1-aa2d11347995.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\">Icons<\/span><br \/>\n            <span class=\"tag\">Graphics &#038; Design<\/span><br \/>\n            <span class=\"tag\">Design resources<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u89c6\u89c9\u7d20\u6750\u5e93<\/span><br \/>\n            <span class=\"tag\">\u56fe\u6807<\/span><br \/>\n            <span class=\"tag\">\u63d2\u753b<\/span><br \/>\n            <span class=\"tag\">\u52a8\u753b<\/span><br \/>\n            <span class=\"tag\">AI\u751f\u6210\u56fe\u50cf<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7f16\u8f91\u8d44\u4ea7<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u521b\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e00\u7ad9\u5f0f<\/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\u4ea7\u54c1\u80fd\u8282\u7701\u65f6\u95f4\uff0c\u79f0\u8d5e\u56fe\u6807\u98ce\u683c\u73b0\u4ee3\u3001\u5206\u7c7b\u6e05\u6670\u3002\u6709\u8bc4\u8bba\u63d0\u5230\u5728AI\u65f6\u4ee3\u4fdd\u7559\u4e86\u201c\u4eba\u6027\u5316\u89e6\u611f\u201d\uff0c\u53d7\u5230\u6b22\u8fce\u3002\u6682\u65e0\u5177\u4f53\u7684\u95ee\u9898\u6216\u6539\u8fdb\u5efa\u8bae\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                Vertex Visual Toolkit \u7684\u5b9a\u4f4d\u7cbe\u51c6\u4e14\u52a1\u5b9e\u2014\u2014\u5b83\u6ca1\u6709\u8bd5\u56fe\u521b\u9020\u65b0\u7684\u8bbe\u8ba1\u8303\u5f0f\uff0c\u800c\u662f\u7528\u201c200+\u53ef\u7f16\u8f91\u89c6\u89c9\u8d44\u4ea7+AI\u751f\u6210\u201d\u7684\u7ec4\u5408\u62f3\uff0c\u89e3\u51b3\u4e86\u4e00\u4e2a\u771f\u5b9e\u5b58\u5728\u4f46\u5e38\u88ab\u5ffd\u89c6\u7684\u75db\u70b9\uff1a\u788e\u7247\u5316\u7d20\u6750\u7ba1\u7406\u3002\u521d\u521b\u56e2\u961f\u548c\u5185\u5bb9\u521b\u4f5c\u8005\u5f80\u5f80\u662f\u8fd9\u4e9b\u96f6\u6563\u9700\u6c42\u7684\u53d7\u5bb3\u8005\uff1a\u56fe\u6807\u8981\u7ffbIconFont\uff0c\u63d2\u753b\u8981\u641cFreepik\uff0c\u52a8\u753b\u8fd8\u5f97\u627eLottieFiles\uff0c\u800cVertex\u9009\u62e9\u628a\u8fd9\u4e9b\u5168\u6253\u5305\u8fdb\u4e00\u4e2a\u7f16\u8f91\u53cb\u597d\u7684\u5e73\u53f0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u53cd\u9988\u770b\uff0c\u7528\u6237\u5bf9\u201c\u4e00\u81f4\u6027\u201d\u548c\u201c\u4eba\u6027\u5316\u201d\u7684\u80af\u5b9a\u503c\u5f97\u6ce8\u610f\u3002\u4e0d\u5c11\u7d20\u6750\u5e73\u53f0\u5806\u780c\u6570\u91cf\u4f46\u98ce\u683c\u5272\u88c2\uff0c\u800cVertex\u5f3a\u8c03\u201c\u7edf\u4e00\u8bbe\u8ba1\u8bed\u8a00\u201d\uff0c\u8fd9\u6070\u6070\u662f\u5c0f\u578b\u56e2\u961f\u65e0\u529b\u5185\u90e8\u7ef4\u62a4\u7684\u3002\u4e0d\u8fc7\uff0c28\u7968\u7684PH\u6570\u636e\u8bf4\u660e\u5b83\u5c1a\u5904\u65e9\u671f\uff0c\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\u8d44\u4ea7\u6570\u91cf\u7684\u6301\u7eed\u6027\u2014\u2014200+\u770b\u8d77\u6765\u4e0d\u5c11\uff0c\u4f46\u5b9e\u9645\u521b\u4f5c\u4e2d\u5f88\u5feb\u4f1a\u88ab\u6d88\u8017\u3002\u6b64\u5916\uff0c\u867d\u7136\u63d0\u5230\u4e86\u201cAI-generated images\u201d\uff0c\u4f46\u672a\u660e\u786e\u662f\u5426\u652f\u6301\u81ea\u5b9a\u4e49Prompt\u6216\u98ce\u683c\u63a7\u5236\uff0c\u5982\u679c\u53ea\u662f\u56fa\u5b9a\u751f\u6210\u768460\u5f20\u56fe\uff0c\u5219\u7ade\u4e89\u529b\u6709\u9650\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u65b9\u5411\u6b63\u786e\u3001\u6267\u884c\u4e2d\u89c4\u4e2d\u77e9\u7684\u6548\u7387\u5de5\u5177\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u7a81\u7834\uff0c\u800c\u5728\u4e8e\u201c\u4f53\u9a8c\u63d0\u6548\u201d\uff1a\u628a\u627e\u7d20\u6750\u7684\u65f6\u95f4\u4ece\u534a\u5c0f\u65f6\u538b\u7f29\u5230\u4e94\u5206\u949f\u3002\u4f46\u5982\u679c\u540e\u7eed\u4e0d\u80fd\u5f62\u6210\u793e\u533a\u8d21\u732e\u6216\u5f00\u653e\u521b\u4f5c\u8005\u751f\u6001\u6765\u652f\u6301\u8d44\u4ea7\u4e30\u5bcc\u5ea6\uff0c\u5b83\u5c06\u5f88\u5feb\u9762\u4e34\u5929\u82b1\u677f\u3002\u5bf9\u4e8e\u9884\u7b97\u6709\u9650\u3001\u4e0d\u60f3\u5728\u8bbe\u8ba1\u89c4\u8303\u4e0a\u5185\u8017\u7684\u521b\u4e1a\u56e2\u961f\uff0c\u503c\u5f97\u4e00\u8bd5\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\">Vertex Visual Toolkit<\/span>\n                <\/div>\n<div class=\"comment-content\">Vertex is your all-in-one visual toolkit for modern businesses. Get access to 50 icons, 50 static illustrations, 50 animated illustrations, and 50 AI-generated images, all designed to help you create faster and stand out. Every asset is fully editable, easy to use, and compatible across all platforms, making it perfect for startups, marketers, designers, and content creators. No more searching across multiple libraries; everything you need is in one place.<\/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>Today, we\u2019re launching Vertex <strong>\ud83d\ude80<\/strong><\/p>\n<p>We built Vertex because we were tired of the same problem every modern team faces: jumping between tools, hunting for assets, and losing time on things that should be simple.<br \/>Vertex brings everything together in one place: icons, static illustrations, animated illustrations, and AI-generated visuals. all designed to help you move faster and create work that actually stands out.<br \/>Every asset is fully editable, easy to use, and built to fit seamlessly into your workflow, whether you&#8217;re building a startup, running marketing campaigns, or designing content at scale.<br \/>This is just the beginning. We\u2019re excited to keep improving Vertex with your feedback.<br \/>I\u2019ll be here all day &#8230; would love to hear what you think \ud83d\ude4c<\/p>\n<p>Momen <br \/>co-founder of Premast.<\/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\/@momen_elshamy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@momen_elshamy<\/a>&nbsp;Awesome,<\/p>\n<p>Wish you a good luck \ud83d\ude4f\ud83c\udffc<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Glad to be part of this campaign<br \/>Congrats on the launch! \ud83c\udf89<\/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\/@habiba_hossam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@habiba_hossam<\/a>&nbsp;Thank you! We\u2019re glad to have you as part of the campaign,excited to have you with us on this journey \ud83d\ude80\ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congratulations! I like the product. in the ai era. finally I got a human touch in it. <\/p>\n<p>Thank you Guys! and good luck \ud83d\udc4f\ud83c\udffb\ud83d\udc4f\ud83c\udffb\ud83d\udc4f\ud83c\udffb\ud83d\udc4f\ud83c\udffb<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@samirrashed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samirrashed<\/a>&nbsp;Thank you so much for the kind words! Your support truly means a lot, appreciate it and wish you all the best as well! \ud83d\udc4f\ud83c\udffb<\/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>Absolutely love this! The icons feel fresh, modern, and very polished. The different categories make it even more valuable \ud83e\udd29 super useful for designers and creators. Great job!<\/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\/@dina_mostafa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dina_mostafa<\/a>&nbsp;Thank you so much, Dina! Really glad you like the style and found the categories helpful, means a lot coming from you \ud83e\udd29<\/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\">It was fun and interesting experience contributing to the project! \ud83d\ude80\ud83e\udd29<\/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\/@yassmin_moghazy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yassmin_moghazy<\/a>&nbsp;Thank you, Yassmin. Your contribution added great value to the project. Hope we get to team up again soon.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Sounds interesting, will save tons of time, I&#8217;m happy I came across this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@omnia_ahmed1 Glad you found it useful! That\u2019s exactly what it\u2019s designed for, saving time and making things easier. Let me know if you get a chance to try it out \ud83d\ude0a<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>So excited to finally share this with you all<\/p>\n<p>This project means a lot to me, and seeing it live today feels unreal \ud83e\udd0d<br \/>Would love your support &amp; feedback<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aya_mustafa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aya_mustafa<\/a>&nbsp;This is amazing..congratulations on bringing it to life! It clearly reflects a lot of passion and hard work. Wishing you great success with it, and looking forward to seeing how it grows \ud83e\udd0d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/3OPVEPBB25VTUO\" class=\"app-title\">Awario Reddit Monitoring<\/a><\/p>\n<div class=\"one-liner\">Track Reddit mentions of your brand, competitors or keywords<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">26<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Awario Reddit Monitoring \u5b9e\u65f6\u8ffd\u8e2aReddit\u4e0a\u54c1\u724c\u3001\u7ade\u54c1\u6216\u5173\u952e\u8bcd\u7684\u63d0\u53ca\uff0c\u5e2e\u4f01\u4e1a\u6293\u4f4f\u7528\u6237\u8c03\u7814\u3001\u8d2d\u4e70\u51b3\u7b56\u4e2d\u7684\u6f5c\u5728\u5546\u673a\uff0c\u9632\u6b62\u56e0\u4fe1\u606f\u6ede\u540e\u800c\u9519\u5931\u9500\u552e\u3001\u53cd\u9988\u6216\u4e92\u52a8\u673a\u4f1a\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\/2b0e418b-4b55-4b2b-9d9d-45b80e942d58.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\/9ffb083e-e7a8-4ff3-83eb-2ef23908734c.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\/2d3893a3-2179-4d8e-ab76-359c4aac33c4.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\/e405f940-b7f5-4139-b065-4083b24ff678.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\/96b672d9-097f-4177-afc7-a1e93c8da58d.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\">Social Media<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">reddit<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Reddit\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u8206\u8bba\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u7ebf\u7d22<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u7ade\u4e89\u60c5\u62a5<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u76d1\u542c<\/span><br \/>\n            <span class=\"tag\">\u793e\u533a\u8046\u542c<\/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\u5fc3\u5b9e\u65f6\u6027\uff08\u80fd\u5426\u79d2\u7ea7\u63a8\u9001\uff09\u3001\u8fc7\u6ee4\u529f\u80fd\uff08\u6309\u5b50\u7248\u5757\u548c\u4e92\u52a8\u91cf\u7b5b\u9009\uff09\u4ee5\u53ca\u60c5\u611f\u5206\u6790\u5bf9Reddit\u8bbd\u523a\u8bed\u6c14\u7684\u5904\u7406\u6548\u679c\u3002\u5f00\u53d1\u8005\u5766\u8a00\u5b9e\u65f6\u6027\u6709\u5ef6\u8fdf\uff082-3\u5206\u949f\u81f3\u6570\u5c0f\u65f6\uff09\uff0c\u6682\u4e0d\u652f\u6301\u5b50\u7248\u5757\u7b5b\u9009\uff0c\u4f46\u53ef\u63a5\u5408\u4e92\u52a8\u91cf\u6392\u5e8f\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                Awario Reddit Monitoring\u7684\u5b9a\u4f4d\u7cbe\u51c6\uff0c\u5207\u4e2d\u4e86\u4e00\u4e2a\u88ab\u4f4e\u4f30\u5374\u9ad8\u4ef7\u503c\u7684\u573a\u666f\uff1aReddit\u662f\u7528\u6237\u4e3b\u52a8\u53d1\u8d77\u9700\u6c42\u3001\u505a\u8d2d\u4e70\u51b3\u7b56\u7684\u201c\u6697\u6e20\u201d\uff0c\u800c\u5927\u591a\u6570\u54c1\u724c\u53ea\u80fd\u88ab\u52a8\u8003\u53e4\u3002\u5176\u6838\u5fc3\u5356\u70b9\u5728\u4e8e\u201c\u591a\u7ef4\u4fe1\u53f7\u6355\u6349\u201d\uff1a\u60c5\u611f\u5206\u6790\u3001\u9500\u552e\u7ebf\u7d22\u7b5b\u9009\u3001\u591a\u8bed\u8a00\u4e0e\u8de8\u5e73\u53f0\u6574\u5408\u2014\u2014\u8fd9\u6bd4\u5355\u7eaf\u7684\u201c\u63d0\u5230\u201d\u8981\u6df1\u4e00\u5c42\uff0c\u5c24\u5176\u201cLeads module\u201d\u8bd5\u56fe\u533a\u5206\u201c\u65e0\u610f\u4e49\u62b1\u6028\u201d\u548c\u201c\u6025\u6c42\u63a8\u8350\u201d\uff0c\u76f4\u51fbB2B\u548cDTC\u4f01\u4e1a\u7684\u75db\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u662f\uff0c\u5149\u73af\u4e4b\u4e0b\u6709\u786c\u4f24\u3002\u4ece\u5f00\u53d1\u8005\u56de\u590d\u6765\u770b\uff0c\u5b9e\u65f6\u6027\u5e76\u975e\u201c\u5b9e\u65f6\u201d\uff0c\u800c\u662f\u5206\u949f\u5230\u5c0f\u65f6\u7ea7\u5ef6\u8fdf\uff0c\u5bf9\u4e8eReddit\u8fd9\u79cd\u4fe1\u606f\u6d41\u901f\u6781\u9ad8\u7684\u5e73\u53f0\uff0c\u201c\u6570\u5c0f\u65f6\u540e\u201d\u7684\u63d0\u9192\u53ef\u80fd\u5df2\u9519\u8fc7\u9ec4\u91d1\u7a97\u53e3\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u65e0\u6cd5\u6309\u5b50\u7248\u5757\u548c\u7cbe\u786e\u7684\u4e92\u52a8\u91cf\u9608\u503c\u8fc7\u6ee4\u2014\u2014\u8fd9\u53ef\u662fReddit\u76d1\u6d4b\u7684\u57fa\u77f3\uff0c\u56e0\u4e3a\u4e0d\u540c\u5b50\u7248\u7684\u566a\u97f3\u6d53\u5ea6\u5929\u5dee\u5730\u522b\u3002\u60c5\u611f\u5206\u6790\u5bf9\u201c\u9634\u9633\u602a\u6c14\u201d\u7684Reddit\u6587\u5316\u5904\u7406\u80fd\u529b\u5b58\u7591\uff0c\u5f00\u53d1\u8005\u627f\u8ba4\u201cdepends\u201d\uff0c\u8fd9\u5b9e\u9645\u4e0a\u964d\u4f4e\u4e86\u81ea\u52a8\u5316\u51b3\u7b56\u7684\u53ef\u4fe1\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5ba2\u89c2\u6765\u8bf4\uff0c\u5bf9\u4e8e\u4e2d\u5c0f\u56e2\u961f\u6216\u8d44\u6e90\u6709\u9650\u7684\u8425\u9500\u4eba\u5458\uff0cAwario\u7684\u4f4e\u95e8\u69db\u3001\u8de8\u5e73\u53f0\u96c6\u6210\u548c\u5e03\u5c14\u641c\u7d22\u65e0\u9650\u5236\u786e\u5b9e\u964d\u4f4e\u4e86Reddit\u6361\u6f0f\u7684\u95e8\u69db\u3002\u4f46\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u5165\u95e8\u7ea7\u60c5\u62a5\u6536\u96c6\u5668\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u80fd\u79d2\u7ea7\u54cd\u5e94\u3001\u7cbe\u51c6\u72d9\u51fb\u7684\u4f5c\u6218\u5e73\u53f0\u3002\u5982\u679c\u4e0d\u80fd\u5c3d\u5feb\u8865\u9f50\u5b50\u7248\u5757\u8fc7\u6ee4\u548c\u5ef6\u8fdf\u4f18\u5316\u77ed\u677f\uff0c\u9762\u5bf9Reddit Pro\u3001Brandwatch\u7b49\u7ade\u54c1\uff0c\u5b83\u53ea\u80fd\u9760\u7740\u201c\u4e2d\u6587\u652f\u6301\u201d\u548c\u201c\u591a\u8bed\u8a00\u201d\u5728\u957f\u5c3e\u5e02\u573a\u91cc\u82df\u6d3b\u3002\u4e00\u53e5\u8bdd\uff1a\u6709\u91ce\u5fc3\uff0c\u4f46\u6267\u884c\u7ec6\u8282\u8fd8\u5dee\u53e3\u6c14\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\">Awario Reddit Monitoring<\/span>\n                <\/div>\n<div class=\"comment-content\">Reddit is where people ask for recommendations and make buying decisions \u2014 often without tagging you. Awario&#8217;s Reddit monitoring lets you track any keyword or brand name across all of Reddit in real time, so you can respond while it still matters.<\/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>\n<p>Reddit has become one of the most valuable places to understand what people actually think about your product, your competitors, or your market. But it moves fast \u2014 by the time you spot a conversation, it&#8217;s often already buried.<\/p>\n<\/p>\n<p>We built Reddit monitoring into Awario because we kept hearing the same thing from users: &#8220;I found out someone was asking about us on Reddit three weeks after the fact.&#8221; Missed sale, missed feedback, missed chance to help.<\/p>\n<\/p>\n<p>A few things that make this different:<\/p>\n<\/p>\n<p>\u2705<strong>Multi-language support.<\/strong> Reddit Pro insights are English-only. Awario monitors mentions in any language.<\/p>\n<\/p>\n<p>\u2705<strong>Sentiment analysis.<\/strong> Not just who mentioned you, but whether it&#8217;s positive, negative, or neutral \u2014 so you can prioritize where to engage.<\/p>\n<\/p>\n<p>\u2705<strong>Leads module.<\/strong> Flags posts where someone is actively asking for recommendations or in buying mode \u2014 not just general mentions.<\/p>\n<\/p>\n<p>\u2705<strong>Boolean search, no limits.<\/strong> Full advanced search for all users, no tier restrictions.<\/p>\n<\/p>\n<p>\u2705<strong>Cross-platform.<\/strong> Same dashboard where you&#8217;re already tracking X, LinkedIn, and the web. No separate tool, no new workflow.<\/p>\n<\/p>\n<p>Happy to answer questions. Excited to hear what you think!<\/p>\n<p><\/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\/@ab80\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ab80<\/a>&nbsp;Reddit is notorious for sarcasm how does your sentiment analysis handle the &#8216;Reddit tone&#8217;? If you&#8217;ve solved for the sarcasm-to-sentiment ratio, you&#8217;ve built a miracle tool lol. I\u2019m curious to see how the Leads module flags a post vs. just a random mention<\/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 tool I&#8217;ve been looking for. We&#8217;re about to launch a networking app and Reddit is where our target audience lives &#8211; people asking for co-founder matching tools, complaining about LinkedIn being useless for warm intros, looking for alternatives to cold outreach. The problem is that by the time I manually find those threads, they&#8217;re already 3 days old and buried. Two questions: first, how fast is &#8220;real time&#8221;? Like, if someone posts &#8220;looking for a personal CRM app&#8221; on r\/startups right now, how quickly would I get that alert? And second &#8211; can I filter by subreddit and engagement level? I&#8217;d rather see a thread with 15 comments on r\/entrepreneur than a zero-reply post on a tiny sub. The signal-to-noise ratio on Reddit monitoring is the whole game.<\/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\/@yotam_dahan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yotam_dahan<\/a>&nbsp;Great questions, Yotam, thank you! \ud83d\udcab I\u2019ll try to be fully transparent here:<\/p>\n<ol>\n<li>\n<p>How fast is \u201creal time\u201d?<br \/>It depends. We can\u2019t honestly guarantee one fixed timeframe in every case. Sometimes a mention can appear in 2-3 minutes, and sometimes it may take a couple of hours. There are quite a few technical factors involved in how quickly content gets discovered, indexed, and processed.<\/p>\n<\/li>\n<li>\n<p>Can you filter by subreddit and engagement level?<br \/>Subreddit filtering &#8211; unfortunately, not at the moment.<\/p>\n<\/li>\n<\/ol>\n<p>Engagement level &#8211; partially, depending on what you mean. If you mean setting an exact engagement threshold in search (for example, \u201cshow only posts with 15+ comments\u201d), then no. But if you mean sorting the mentions you\u2019ve already found by a similar metric, then yes.<\/p>\n<\/p>\n<p>We don\u2019t currently have a separate \u201cengagement\u201d metric, but we do have Reach, which is influenced by factors like the author\u2019s karma and the number of comments on the 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<\/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-04-29 PH\u70ed\u699c | 2026-04-29 #1 Plura [&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-207","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/207","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=207"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/207\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}