{"id":234,"date":"2026-05-27T12:52:50","date_gmt":"2026-05-27T04:52:50","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/27\/2026-05-26\/"},"modified":"2026-05-27T12:52:50","modified_gmt":"2026-05-27T04:52:50","slug":"2026-05-26","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/27\/2026-05-26\/","title":{"rendered":"PH\u70ed\u699c | 2026-05-26"},"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-05-26<\/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-05-26<\/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\/3Q7DPTEXUJAFUG\" class=\"app-title\">Brew <\/a><\/p>\n<div class=\"one-liner\">Like Claude design for email marketing<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">610<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Brew \u662f\u4e00\u6b3e AI \u9a71\u52a8\u7684\u90ae\u4ef6\u8425\u9500\u5de5\u5177\uff0c\u8ba9\u7528\u6237\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u9700\u6c42\uff0c\u5373\u53ef\u5728\u51e0\u79d2\u5185\u81ea\u52a8\u751f\u6210\u5305\u542b\u6587\u6848\u3001\u8bbe\u8ba1\u3001\u53d7\u4f17\u548c\u903b\u8f91\u7684\u591a\u6b65\u9aa4\u81ea\u52a8\u5316\u90ae\u4ef6\u5e8f\u5217\uff0c\u89e3\u51b3\u4f20\u7edf\u90ae\u4ef6\u8425\u9500\u5de5\u5177\u64cd\u4f5c\u590d\u6742\u3001\u5236\u4f5c\u5468\u671f\u957f\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\/2458b46a-0e59-4a5d-80a9-e71fce4579de.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\/8197b505-9641-470d-a77a-7eee388ed30e.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\/b3fa997f-33fb-4515-9bd1-a6ac6db51873.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\/9622f3cc-b9e2-45e6-a833-284eff28920b.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\/8e2fedcb-85c2-49a8-9526-57d2c7e6877a.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\/29b9473a-db88-45c5-ab14-8937002ae881.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\/4c06a89b-0932-4cb4-acb3-dbe783d15e10.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\/c227d588-d1dc-43a6-a384-ce843b80ef2d.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\/a7948a3e-15ed-45dd-8a52-8143e308ffb9.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\/8c19e11d-bf9e-4938-b9a7-9b3bf5668995.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\/2f9c54d6-3ed2-41dc-8be2-ea1cd7d9fa52.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\/b5405e68-de2b-4217-ad92-5128c205ff00.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=5gFEMq1wx60\"><source src=\"https:\/\/www.youtube.com\/watch?v=5gFEMq1wx60\" 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\">Email Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u90ae\u4ef6\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u90ae\u4ef6\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u6a21\u677f\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u4e00\u81f4\u6027<\/span><br \/>\n            <span class=\"tag\">\u591a\u5ba2\u6237\u7aef\u517c\u5bb9<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6HTML<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u96f6\u4ee3\u7801\u90ae\u4ef6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u751f\u6210\u90ae\u4ef6\u8d28\u91cf\u548c\u54c1\u724c\u4e00\u81f4\u6027\uff0c\u8d5e\u8d4f\u201c\u4e00\u952e\u751f\u6210\u591a\u6b65\u9aa4\u6d41\u7a0b\u201d\u548c\u201c\u5b8c\u7f8e\u6e32\u67d3\u201d\u80fd\u529b\u3002\u4e3b\u8981\u9700\u6c42\u662f\uff1a\u671f\u5f85\u4e0eKlaviyo\/HubSpot\u7b49\u5e73\u53f0\u7684\u6df1\u5ea6\u96c6\u6210\uff08\u5982\u53ef\u7f16\u8f91\u6a21\u677f\uff09\u3001\u5f00\u653e\u7684Brew MCP\u63a5\u53e3\u4ee5\u4fbf\u4ece\u7f16\u7a0b\u4ee3\u7406\u81ea\u52a8\u5316\u89e6\u53d1\uff0c\u5e76\u5bf9Outlook\u6e32\u67d3\u7684\u5b9e\u73b0\u7ec6\u8282\u8868\u793a\u597d\u5947\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                Brew \u8e29\u51c6\u4e86\u4e00\u4e2a\u6700\u201c\u949d\u201d\u7684\u5e02\u573a\u2014\u2014\u90ae\u4ef6\u8425\u9500\u5de5\u5177\u65e9\u5df2\u662f\u7ea2\u6d77\uff0c\u4f46\u75db\u70b9\u4f9d\u65e7\u624e\u4eba\uff1aHubSpot \u548c Mailchimp \u8fd9\u7c7b\u8001\u724c\u5de5\u5177\u672c\u8d28\u4e0a\u662f\u4e3a\u914d\u5907\u5168\u804c\u8fd0\u8425\u56e2\u961f\u7684\u5927\u578b\u4f01\u4e1a\u8bbe\u8ba1\u7684\uff0c\u800c\u7edd\u5927\u591a\u6570\u4e2d\u5c0f\u56e2\u961f\u6839\u672c\u73a9\u4e0d\u8f6c\u3002Brew \u7684\u5207\u53e3\u6781\u5176\u7cbe\u51c6\uff1a\u4e0d\u662f\u518d\u505a\u4e00\u4e2a\u201c\u66f4\u8f7b\u91cf\u7684 Mailchimp\u201d\uff0c\u800c\u662f\u76f4\u63a5\u7528 AI \u5bf9\u8bdd\u5f0f\u751f\u6210\u6d88\u706d\u201c\u8bbe\u8ba1-\u5f00\u53d1-\u6d4b\u8bd5\u201d\u7684\u4e2d\u95f4\u73af\u8282\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u7684\u6838\u5fc3\u6218\u6597\u529b\u5728\u4e8e\u201c\u4ea4\u4ed8\u786e\u5b9a\u6027\u201d\u3002\u5f88\u591a\u540c\u7c7b AI \u5de5\u5177\u80fd\u751f\u6210\u6f02\u4eae\u7684\u9759\u6001\u8bbe\u8ba1\u7a3f\uff0c\u4f46\u4e00\u5230\u771f\u5b9e\u6536\u4ef6\u7bb1\u5c31\u5d29\uff0c\u5c24\u5176\u662f\u5728 Outlook \u4e0a\u3002Brew \u628a\u201c\u90ae\u4ef6\u6e32\u67d3\u5b8c\u7f8e\u201d\u4f5c\u4e3a\u786c\u6027\u4ea4\u4ed8\u6807\u51c6\uff0c\u8fd9\u662f\u5c06 AI \u4ece\u201c\u6982\u5ff5\u9a8c\u8bc1\u201d\u63a8\u5411\u201c\u751f\u4ea7\u53ef\u7528\u201d\u7684\u5173\u952e\u4e00\u6b65\u3002\u540c\u65f6\uff0c\u5b83\u4e0d\u81ea\u5efa\u5c01\u95ed\u751f\u6001\uff0c\u4e3b\u52a8\u62e5\u62b1\u73b0\u6709\u7684 ESP\uff08\u90ae\u4ef6\u670d\u52a1\u5546\uff09\u548c AI Agent\uff08\u5982 Claude\u3001Viktor\uff09\uff0c\u5b9a\u4f4d\u6e05\u6670\u5982\u201cAI \u90ae\u4ef6\u4ee3\u7406\u5c42\u7684\u4e2d\u95f4\u4ef6\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u4f20\u7edf SaaS \u7aef\u7684\u66ff\u4ee3\u54c1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u552f\u4e00\u503c\u5f97\u8b66\u60d5\u7684\u662f\u201c\u6df1\u5ea6\u96c6\u6210\u201d\u7684\u6d45\u5c42\u98ce\u9669\u3002\u76ee\u524d\u751f\u6210\u7684\u5e8f\u5217\u8f93\u51fa\u5230 Klaviyo \u7b49\u7cfb\u7edf\u662f\u201c\u9759\u6001 HTML \u5757\u201d\u8fd8\u662f\u201c\u53ef\u7f16\u8f91\u7684\u56fe\u5f62\u5316\u6a21\u677f\u201d\uff1f\u8fd9\u5bf9\u5df2\u5728\u4f7f\u7528\u6210\u719f\u6d41\u7a0b\u7684\u56e2\u961f\u81f3\u5173\u91cd\u8981\u3002\u5982\u679c\u4ec5\u4ec5\u662f\u201c\u5bfc\u51fa HTML\u201d\uff0c\u90a3 Brew \u7684\u4ef7\u503c\u5c31\u5c40\u9650\u4e8e\u201c\u4e00\u6b21\u6027\u90ae\u4ef6\u751f\u6210\u5668\u201d\uff0c\u800c\u975e\u201c\u81ea\u52a8\u5316\u8425\u9500\u7cfb\u7edf\u7684\u667a\u80fd\u5927\u8111\u201d\u3002\u6b64\u5916\uff0cMCP\uff08\u6a21\u578b\u4e0a\u4e0b\u6587\u534f\u8bae\uff09\u63a5\u53e3\u7684\u5f00\u653e\u8fdb\u5ea6\u51b3\u5b9a\u4e86\u5b83\u80fd\u5426\u771f\u6b63\u5d4c\u5165\u5f00\u53d1\u8005\u5de5\u4f5c\u6d41\uff0c\u6210\u4e3a\u88ab\u7f16\u7a0b\u8c03\u7528\u7684\u201c\u90ae\u4ef6\u6a21\u5757\u201d\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u7f51\u9875\u7aef\u7684\u201c\u6f02\u4eae\u73a9\u5177\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\uff1aBrew \u662f\u4e2a\u806a\u660e\u7684\u201c\u7f29\u7a84\u201d\u4ea7\u54c1\u2014\u2014\u5728 AI \u6d6a\u6f6e\u4e2d\u4e0d\u505a\u5927\u800c\u5168\uff0c\u800c\u662f\u628a\u90ae\u4ef6\u4ea4\u4ed8\u7684\u51b7\u542f\u52a8\u65f6\u95f4\u4ece\u4e00\u5468\u7f29\u77ed\u5230\u4e00\u5206\u949f\uff0c\u8fd9\u662f\u5b9e\u6253\u5b9e\u7684\u751f\u4ea7\u529b\u63d0\u5347\u3002\u4f46\u80fd\u5426\u4ece\u201c\u5c1d\u9c9c\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u8425\u9500\u4e2d\u53f0\u201d\uff0c\u8981\u770b\u5b83\u5bf9 ESP \u751f\u6001\u7684\u6e17\u900f\u6df1\u5ea6\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\">Brew <\/span>\n                <\/div>\n<div class=\"comment-content\">Brew is the fastest way to design and send beautiful, on-brand emails and automations that render perfectly in every inbox. Describe a campaign or a multi-step automation in plain English, and Brew builds the whole thing in seconds: copy, design, audience, and logic. Works with any AI agent: paste our docs into OpenClaw, Viktor, Claude, or Lovable. No lock-in: send from Brew or export to your ESP. Free to get started.<\/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 Philip, co-founder and CEO of Brew. When I was leading US growth at Revolut, I kept seeing teams with world-class products fail at the last mile &#8211; actually reaching and retaining the users they&#8217;d worked so hard to acquire.<\/p>\n<p>The fix was always <strong>email<\/strong>. It&#8217;s still the highest-ROI channel for activating, nurturing, and retaining users &#8211; nothing else comes close.<\/p>\n<p>But every time we tried to execute it properly, we ran into the same painful cycle. Campaigns that took weeks to build. Emails that broke in half our users&#8217; inboxes. Designs that didn&#8217;t look on-brand. And when the pressure was on, they just didn&#8217;t go out at all.<\/p>\n<p>The problem wasn&#8217;t the team. It was the tools.<\/p>\n<p>Old school SaaS platforms like HubSpot, Mailchimp, and Marketo were built for companies with entire departments dedicated to running them. Someone has to analyze the data, plan the campaign, write the copy, design the emails, code the HTML, deploy it, and optimize the results.<\/p>\n<p>For most teams that&#8217;s just not realistic &#8211; so the software sits there underused and revenue gets left on the table.<\/p>\n<p>My co-founder <a href=\"https:\/\/www.producthunt.com\/@thomas_park2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_park2<\/a> (former Vercel) and I built Brew to fix this.<\/p>\n<p>You describe the campaign you want and Brew builds the whole thing in seconds:<\/p>\n<ul>\n<li>\n<p>Welcome flows and drip sequences<\/p>\n<\/li>\n<li>\n<p>Newsletters and lifecycle campaigns<\/p>\n<\/li>\n<li>\n<p>Multiple on-brand variants<\/p>\n<\/li>\n<li>\n<p>Production-ready HTML that renders perfectly across Gmail, Outlook, and Apple Mail<\/p>\n<\/li>\n<\/ul>\n<p>It pulls your branding automatically from your website and Figma. What used to take even the best teams 8 days now takes one prompt.<\/p>\n<p>It&#8217;s like Claude Design or Lovable, but made specifically for email marketing (the emails render perfectly across inboxes because the underlying HTML is email-optimized, unlike Claude).<\/p>\n<p>Watch me walk through it personally here:<a href=\"https:\/\/www.loom.com\/share\/dc325b42a4b54c50b1e5cdea3964e66a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> https:\/\/www.loom.com\/share\/dc325b42a4b54c50b1e5cdea3964e66a<\/a><\/p>\n<p>A few things people are surprised by when they first try it:<\/p>\n<ul>\n<li>\n<p>It builds entire multi-step sequences, not just single emails<\/p>\n<\/li>\n<li>\n<p>The brand extraction is scarily accurate<\/p>\n<\/li>\n<li>\n<p>It works natively with Viktor, OpenClaw and any AI agent<\/p>\n<\/li>\n<li>\n<p>You can push straight to Klaviyo, HubSpot, Mailchimp, or whatever ESP you&#8217;re already on<\/p>\n<\/li>\n<\/ul>\n<p>This is just the beginning. We&#8217;re building toward a full autopilot &#8211; you set the objective, Brew handles everything else. The goal is to become the new system of record for email marketing. One where going back to the old way is unthinkable.<\/p>\n<p>Try it for free, break it, and tell us what&#8217;s missing. Every piece of feedback goes straight into what we build next.<\/p>\n<p>Get started free at <a href=\"http:\/\/Brew.new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Brew.new<\/a> or reach me directly at <a href=\"mailto:philip@brew.new\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">philip@brew.new<\/a><\/p>\n<p>Thanks to <a href=\"https:\/\/www.producthunt.com\/@jessica_w204\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jessica_w204<\/a> and <a href=\"https:\/\/www.producthunt.com\/@antlio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antlio<\/a> for building this with me and Thomas. And to the Product Hunt community &#8211; there&#8217;s no better place in the world to launch something you&#8217;ve worked this hard on.<\/p>\n<p>Much love,<br \/>Philip \ud83e\udef6<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>40<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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_park2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_park2<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@jessica_w204\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jessica_w204<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@antlio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antlio<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a>&nbsp;love the idea so we can now vibe on email design and automation as well right?<\/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> one-click integration to push campaigns straight to Klaviyo or HubSpot is critical for existing operations. When you push a generated multi-step flow t`o Klaviyo, does it map over as an editable drag-and-drop template blocks workspace, or does it export strictly as static custom HTML blocks? <a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/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\/@thomas_park2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_park2<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@jessica_w204\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jessica_w204<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@antlio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antlio<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a>&nbsp;Many congratulations Philip and team! \ud83d\ude42 <\/p>\n<p><strong>How I met the makers? <\/strong><\/p>\n<p>When the Brew team first reached out to me in early January 2026 to hunt their product, my very first question was: \u201cHow is this actually different from the other similar email tools I\u2019ve seen launch on Product Hunt?\u201d <\/p>\n<\/p>\n<p>I\u2019ve hunted \/ endorsed quite a few \u201cAI email\u201d products already, so I went in with a healthy dose of skepticism. <\/p>\n<p>But once I jumped into Brew, it clicked very quickly. The biggest utility for me was how naturally it works with AI agents and how opinionated it is about the last mile: getting production-ready, on-brand emails that actually render correctly everywhere, not just pretty mocks. <\/p>\n<p><strong>What is Brew and how it works? <\/strong><\/p>\n<p>You describe a campaign or multi-step automation in plain English and it doesn\u2019t just spit out copy, it builds the whole thing&#8230; flows, variants, production HTML, and targeting logic, in seconds. <\/p>\n<p>I also really like how simple and honest the positioning is: \u201cLike Claude Design for email marketing.\u201d It\u2019s a straightforward promise, and the product delivers on exactly that, especially with the way it pulls your brand from your site \/ Figma and focuses on HTML that works across Gmail, Outlook, and Apple Mail. <\/p>\n<p><strong>Why I endorse Brew? <\/strong><\/p>\n<\/p>\n<p>Where Brew stands out for me (and why I was happy to endorse it) is that it feels built for the reality of modern teams. You can plug it into whatever AI agent you\u2019re already using, keep your existing ESP (Klaviyo, HubSpot, Mailchimp, etc.), and still get that \u201cClaude Design-like\u201d but purpose-built for email. <\/p>\n<\/p>\n<p>For teams that don\u2019t have the luxury of a full email department, this is the kind of leverage that can make the difference between \u201cwe should send that campaign\u201d and \u201cwe actually shipped it.\u201d <\/p>\n<\/p>\n<p>Huge kudos to Philip and the team for focusing on every critical details of email marketing. If you care about shipping beautiful, on-brand emails and lifecycle flows without wrestling with templates for days, Brew is absolutely worth a serious look. \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>18<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 happy Brew user for some time now. Incredible team and beautiful UX; this is what modern email marketing should look like. <\/p>\n<\/p>\n<p>Congrats on the launch team!  <\/p>\n<p>When can we expect a Brew MCP so we can automate directly from coding agents or OpenClaw? \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>Thank you so much <a href=\"https:\/\/www.producthunt.com\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a>&nbsp;, means a lot from a longtime user with a high standard! \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<p>You are speaking our language. An agentic, chat first Brew is exactly the direction we believe in, and driving it from coding agents is part of that vision. I will not promise a date yet (we want to make sure it works 110%), but we&#8217;re working on it as we speak. You will be among the first to know when there is something to play with. \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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a>&nbsp;Thank you for the kind words Ohans! And yes, we are building an MCP and expanding our API suite to enable all agents to leverage Brew \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m a happy MailerLite user, but looking at that gorgeous video I have to sign up and try the platform out! Congrats on the launch and the awesome execution \ud83d\ude42<\/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>Appreciate it <a href=\"https:\/\/www.producthunt.com\/@gurbax_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gurbax_<\/a>! MailerLite is a solid tool, so that means a lot. Would genuinely love to hear what you think once you have tried it, especially coming from a tool you already like. Thanks for the kind words on the launch. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats <a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a> ! I love the demo video, inspiring to start building beautiful emails\ud83d\ude3b How are you handling Outlook rendering under the hood? It is usually the hardest client to get right and most tools give up on 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>Thank you <a href=\"https:\/\/www.producthunt.com\/@kate_ramakaieva\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"kate_ramakaieva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kate_ramakaieva<\/a>, really glad the video landed! \ud83d\ude3b <\/p>\n<p>Outlook is exactly the client that breaks most tools, so we put a lot of work into it. We have run a bunch of testing and evals across clients to find the approach that actually holds up everywhere, Outlook included. It comes down to a combination of things: compiling to bulletproof, client tested markup, handling the Outlook specific edge cases that other tools skip, and being deliberate about fonts and fallbacks so nothing silently breaks. The result is emails that just render correctly across Gmail, Outlook and Apple Mail without you having to babysit them. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks super cool! Go go team Brew! <\/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>Thank you for your support <a href=\"https:\/\/www.producthunt.com\/@jakob_knutzen1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jakob_knutzen1<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>wow! scaling signups -&gt; customers has been a major painpoint, and automating personalized emails seems like it would be the missing piece. LFG brew \u2615\ufe0f\u2615\ufe0f <a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>LFG indeed <a href=\"https:\/\/www.producthunt.com\/@kevin_suh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevin_suh<\/a>&nbsp; \u2615\ufe0f You put it perfectly: the signup is the easy part, turning it into a customer is where everyone leaks, and personalized lifecycle email at scale is exactly the missing piece. Appreciate the energy, now let&#8217;s get you brewing. \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been using Brew for the past few months in beta, it really does what it says on the tin. Super impressive outputs in no time!<\/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>Thank you <a href=\"https:\/\/www.producthunt.com\/@madsviktor\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madsviktor<\/a>! You have been with us since the early beta days, so that genuinely means a lot. Glad it is still delivering for you. More good stuff on the way. \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 so sick <a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a> and team &#8211; been waiting for this!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you<a href=\"https:\/\/www.producthunt.com\/@john_matheson\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@john_matheson<\/a>&nbsp;! Appreciate your support \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Switched from Mailchimp to Brew and never been happier! Congrats on the launch guys!<\/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\">@palle_broe Thank you. Glad to have you part of the journey!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Super stoked for this!<\/p>\n<\/p>\n<p>I needed to send on brand emails for one of my own side projects. Brew was a tremendous help. My favorite part is how I just gotta enter my domain and keep sending unique emails still sticking to the aesthetic, theme and taste of my brand.<\/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>Appreciate you <a href=\"https:\/\/www.producthunt.com\/@tiger_abrodi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tiger_abrodi<\/a>&nbsp;! Love that the brand sticking across every send is your favorite part, that is the exact thing we obsessed over. Proud of what the whole team shipped including you shipped 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>Tried Brew today and it genuinely killed my last excuse for not fixing our lifecycle emails. Gave it a plain\u2011English prompt and got something I\u2019d be happy to ship in one go. Super impressed with how on\u2011brand it comes out and how little I had to change the HTML manually&#8230;. Upvote.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>&nbsp;<em>&#8220;Killed my last excuse&#8221;<\/em> is the best thing I have read today! <\/p>\n<p>Thank you <a href=\"https:\/\/www.producthunt.com\/@juanjo_fgm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@juanjo_fgm<\/a>! On-brand and ready to ship from a plain prompt is the whole goal, so glad it delivered. Now go fix those lifecycle emails.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, love it! A good email still goes a long way, and I think people don\u2019t spend enough time crafting genuinely thoughtful emails anymore, instead they just blame the whole \u201cchannel\u201d and say email is dead. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you<a href=\"https:\/\/www.producthunt.com\/@dan_meier1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dan_meier1<\/a>&nbsp;! Couldn&#8217;t agree 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Been waiting for this for sooo long!! Let\u2019s go, team \ud83d\ude4c<\/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>Glad to have you <a href=\"https:\/\/www.producthunt.com\/@campritchard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@campritchard<\/a>&nbsp;\u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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! Congrats on the launch \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you <a href=\"https:\/\/www.producthunt.com\/@tomorbach\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomorbach<\/a>&nbsp;! \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Awesome<\/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\/@dan_westgarth1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dan_westgarth1<\/a>&nbsp;appreciate 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\">Been using Brew since the early days for our email templates. Philip and team are world-class. bullish!!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you <a href=\"https:\/\/www.producthunt.com\/@alexdanilowicz\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"alexdanilowicz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexdanilowicz<\/a>, means a lot coming from you and the <a href=\"https:\/\/www.producthunt.com\/products\/magicpatterns\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"magicpatterns\" target=\"_blank\" rel=\"noopener\">@Magic Patterns<\/a> team. Grateful to have had you with us since the early days. Bullish right back at you. \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally an ESP that doesn\u2019t feel like operating SAP through a microwave.<\/p>\n<p>You can tell product taste was part of the roadmap, not just deliverability dashboards and 400 toggles.<\/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\/@pierre_ljubic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pierre_ljubic<\/a>&nbsp;lol thank you Pierre. &#8220;SAP through a microwave&#8221; is going on the wall. That is exactly the feeling we were running from. The old tools bury you in 400 toggles and call it power. We wanted something that felt like it had actual taste, so it means a lot that it came through. \u2764\ufe0f\u200d\ud83d\udd25<\/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>Solo founder here, building toward an App Store launch, and lifecycle email is exactly the thing on my roadmap I keep deferring because the tooling tax is real. So the &#8220;8 days \u2192 one prompt&#8221; promise lands.<\/p>\n<p>Quick q: How deep does Brew go on tone? Can it learn a brand&#8217;s voice from existing copy (site, past emails), or is it pulling visual identity and writing in a competent-but-generic marketing register underneath?<\/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\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;Hey Ferdi! The brand extraction on your domain understands your marketing copy to ensure your emails match your tone. You can also adjust this with additional rules for the agent in the brand page. If you have a tone in mind Brew can copy it.<\/p>\n<p>Best of luck with the app store launch! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The integration with tools like <a href=\"https:\/\/www.producthunt.com\/products\/brevo\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"brevo\" target=\"_blank\" rel=\"noopener\">@Brevo<\/a> is interesting. So we adopt Brew without full switching our stack. Well done. <\/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\/@iamanantgupta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iamanantgupta<\/a>&nbsp;Thanks Anant \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><a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a> Awesome to see native compatibility with tools like OpenClaw and Viktor right out of the gate. For an automated multi-agent workflow, can we hook Brew up to run autonomously like having an agent analyze weekly database churn metrics and prompting Brew via API to generate a custom win-back sequence?<\/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\/@philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@vikramp7470\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vikramp7470<\/a>&nbsp;Great question Vikram! We expose our email generation via an API. This means you can have all your business and app context in tools like OpenClaw and Viktor then have them leverage Brew to generate on brand emails that are relevant to your business trends.<\/p>\n<p>Have users churning? Add them to Brew via our API, create the segment via the API, and send a unique email to that segment all through the API. We&#8217;ve mastered the deliverability and design so you can focus on making actionable choices from your data.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!<\/p>\n<\/p>\n<p>I really like the positioning here. It is easy to understand, but the part that stands out to me is the last mile: not just generating nice-looking email drafts, but turning them into on-brand, production-ready campaigns and automations that can actually be sent through the tools teams already use.<\/p>\n<\/p>\n<p>As someone working around AI + productivity, I think email is one of those areas where pretty demos are easy, but reliable execution is hard. Brand consistency, lifecycle logic, ESP handoff, and rendering across inboxes are where the real value is.<\/p>\n<\/p>\n<p>Curious how you think about the rendering\/testing layer over time, especially for Outlook, Gmail clipping, and dark mode. If Brew can keep that reliable while making campaign creation feel this lightweight, this could become a very useful tool for growth and lifecycle teams.<\/p>\n<\/p>\n<p>Upvoted. Excited to see where this goes.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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>Is there a way to easily migrate to Brew from Mailchimp or other providers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@cmathies\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cmathies<\/a>&nbsp;Yes! We provide white glove support with the migration. Happy to set you up!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch =) One question on the brand extraction: how do you handle sites that block automated readers or render everything client-side? Curious if you&#8217;ve found a way around 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\/@francesco2689\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@francesco2689<\/a>&nbsp;Thanks Francesco! Great question. We leverage a couple different solutions in our brand extraction to ensure that even if the site is fully client-side rendered or blocked with bot protection we can still extract great context. We aren&#8217;t in the business of bypassing WAFs or beating bot detection but have many different fall backs and solutions for different types of sites! Let us know if you run into any brands that you had in mind, would love to iterate with you \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>congrats on the launch \ud83d\ude42 this feels like a very obvious pain point to go after. i like that it\u2019s not just \u201cgenerate an email\u201d, but the whole messy part around brand, sequence logic, variants, and inbox-safe html.<\/p>\n<p>curious how the workflow feels once brew has made the first version. do teams usually treat it as ready to send, or is there a review\/tweak step before it goes live?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@kar_re\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kar_re<\/a>, and you have summed up the hard part exactly&#8230;<\/p>\n<p>The first version is meant as a strong starting point, not a press-send-and-walk-away moment. Most teams treat it like a great first draft: it gets you 90 percent of the way there, then you refine in chat (make this punchier, swap the hero, tighten the CTA) and give it a quick review before it goes live. <\/p>\n<p>The point is not to remove the human, it is to delete the tedious production work so the human can focus on the judgment calls. <\/p>\n<p>Honestly, for email going out to thousands of people, you want that review step, and we would never want to take it away. \u2764\ufe0f\u200d\ud83d\udd25<\/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 Brew with the Customer IO integration the past two months, and it works perfectly. We send broadcast emails 5 times per week, and it&#8217;s traditionally been a huge hassle to produce the content and design the emails \u2014 but it&#8217;s fast (and much better) now. I especially like how we can get very differentiated versions of an email in no time. Reminds me of website building in Lovable. Highly recommend it to any marketers or founders out there!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Thank you <a href=\"https:\/\/www.producthunt.com\/@langhede\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@langhede<\/a>! \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<p>Five broadcasts a week is a brutal cadence to keep up by hand, so it means a lot to hear Brew made it fast and better. The differentiated variants are the feature we love most too, and the Lovable parallel is exactly what we are going for. Grateful for the recommendation, and glad <a href=\"https:\/\/www.producthunt.com\/products\/customer-io\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"customer-io\" target=\"_blank\" rel=\"noopener\">@Customer.io<\/a> has been working seamlessly with Brew.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Curious how Brew handles multiple parallel campaigns, is it one workspace per brand, or can you run separate sequences with their own logic side by side?<\/p>\n<p>For context: Our team runs nurture sequences across pretty different client segments and keeping every campaign on-brand at that volume eats up real time&#8230;<\/p>\n<p>Nice product btw! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@marcelo_macedo2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marcelo_macedo2<\/a>&nbsp;Hey Marcelo! Would love to learn more about these nurture sequences. Are these different multi email sequences that run for different segments or different 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@marcelo_macedo2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marcelo_macedo2<\/a>&nbsp;One workspace per brand, but you can run as many automations and campaigns in parallel as you want inside it. All of your sequences can be live at the same time with separate logic. And if you&#8217;re running multiple brands, Brew&#8217;s multi-brand support handles that too. Each client&#8217;s fonts, colors, and voice are locked in from the start so you&#8217;re not burning time testing every client segment you send. The volume stops being the bottleneck. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Congrats on the launch team ! Email marketing is still the highest conversion. But the only caveyard is, not being personal and very &#8216;bot-ish&#8217; and I really beleive that Brew could solve this. Keep up the momentum !<\/div>\n<div class=\"comment-actions\">\n<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>Thank you <a href=\"https:\/\/www.producthunt.com\/@nalin_rajendran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nalin_rajendran<\/a>, and you have put your finger on the exact thing we worry about most&#8230;<\/p>\n<p>Generic, bot-ish email is worse than no email. The way we fight it is by capturing both the art and the science of your brand: not just colors and fonts, but your actual voice and the feel of how you communicate, so the output sounds like you rather than like a model. On top of that we make it easy to experiment with different styles for your brand, so you are never locked into one look. Here is an example of what that looks like for one of our users.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e31eb466-2da7-4bde-ab98-3807da9d8980.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>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;describe a campaign in plain English, get the full thing rendered&#8221; framing is exactly what email needed \u2014 most teams aren&#8217;t bottlenecked on having something to send, they&#8217;re bottlenecked on the production tax of every send. I work on StoryRoute on the travel side and we see the same dynamic: people will narrate what they want a city walk to feel like, but they won&#8217;t sit down and design the route step-by-step. The product that closes that gap wins. 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>Thank you <a href=\"https:\/\/www.producthunt.com\/@samir_asadov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samir_asadov<\/a>&nbsp;, you put it better than we do. &#8220;Production tax&#8221; is exactly the phrase. The bottleneck was never the idea, it was the eight steps between the idea and the send, and that is where everything quietly dies. Love the StoryRoute parallel too. Narrating the feeling of a walk versus plotting every turn is the same gap, and you are right that whoever closes it wins. <\/p>\n<p>Best of luck with it, and thanks for the kind words. \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 complex can the automations get? Wondering if it handles conditional branches based on whether someone opened or clicked.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rajmishra10\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rajmishra10<\/a>&nbsp;Hey Raj! Automations can get pretty complex in Brew. We want to abstract away as much of the manual process by enabling you to simply ask for the type of automation you want and the agent will create the flow. Currently the automations are triggered via an API call to Brew or a webhook event from a third party service like Clerk or Supabase. We have click \/ open logic gates on the roadmap but will support it very 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>Hey! Amazing product.<\/p>\n<p>Are there any trials available? I was looking to export the first campaign that Brew designed to me in order to evaluate the quality of the HTML.<\/p>\n<p>Let me know, 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thipatriota\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thipatriota<\/a>&nbsp;Hey Thiago! No trial needed! You can sign up for free today and start generating emails in Brew. You can also send test emails from Brew to see how they render in your inbox. Thanks for the 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<\/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\/H7KRMGFGCJKRRE\" class=\"app-title\">Bond<\/a><\/p>\n<div class=\"one-liner\">Outbound campaigns powered by real buying signals<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">349<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Bond\u662f\u4e00\u6b3eAI\u9a71\u52a8\u7684GTM\u5de5\u7a0b\u5e73\u53f0\uff0c\u5e2e\u52a9\u56e2\u961f\u572815\u5206\u949f\u5185\u5b8c\u6210\u4ece\u53d7\u4f17\u6784\u5efa\u3001\u7ebf\u7d22\u8bc4\u5206\u5230\u4e2a\u6027\u5316\u6d88\u606f\u751f\u6210\u7684\u5168\u6d41\u7a0b\u5916\u8054\uff0c\u65e0\u9700\u6602\u8d35\u5de5\u7a0b\u5e08\uff0c\u89e3\u51b3\u4e2d\u5c0f\u56e2\u961f\u201c\u4f1a\u9020\u4ea7\u54c1\u4e0d\u4f1a\u5356\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b474c677-a4e4-4dd1-94b0-b6dc540ca239.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\/e818709b-6260-409e-8d29-56ba0b1675ea.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\/664300f5-9ac4-4ac9-b349-a765310faf08.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\/c6c409cb-84a3-44c7-8efe-ef9ae23bdcf2.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\/dfe8cfcb-e661-46ad-b5ab-ed95605558ee.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\/e3f5e82d-0dff-420a-a455-32cbabc1d050.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\/4a5b0e14-4bfb-4a5a-928f-3c5afab52617.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=2RHl_Py7R5A\"><source src=\"https:\/\/www.youtube.com\/watch?v=2RHl_Py7R5A\" 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\">Sales<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u9500\u552e\u5916\u8054<\/span><br \/>\n            <span class=\"tag\">GTM\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">B2B\u7ebf\u7d22\u6316\u6398<\/span><br \/>\n            <span class=\"tag\">\u4fe1\u53f7\u9a71\u52a8\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u89e6\u8fbe<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u4e30\u5bcc<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u8d4b\u80fd<\/span><br \/>\n            <span class=\"tag\">\u521d\u521b\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\u201c15\u5206\u949f\u4e0a\u624b\u201d\u548c\u201c\u66ff\u4ee3\u590d\u6742\u5de5\u5177\u94fe\u201d\u7684\u4ef7\u503c\u3002\u6838\u5fc3\u53cd\u9988\u5305\u62ec\uff1a\u5e0c\u671b\u62d3\u5c55\u5230B2C\u573a\u666f\uff1b\u5173\u6ce8\u4fe1\u53f7\u65f6\u6548\u6027\uff08\u5982\u878d\u8d44\/\u62db\u8058\u4fe1\u53f7\u8fc7\u671f\u540e\u4ef7\u503c\u4e0b\u964d\uff09\uff1b\u8be2\u95ee\u56de\u590d\u7387\u3001ICP\u7b5b\u9009\u9897\u7c92\u5ea6\u53ca\u5e95\u5c42\u6570\u636e\u6e90\uff08\u662f\u5426\u81ea\u5efa\uff09\uff1b\u4ee5\u53ca\u6280\u672f\u7528\u6237\u62c5\u5fc3\u90ae\u4ef6\u9884\u70ed\u3001\u9ed1\u540d\u5355\u68c0\u6d4b\u7b49\u7ec6\u8282\u662f\u5426\u5b8c\u5584\u3002\u56e2\u961f\u56de\u5e94\u79f0\u5185\u7f6e\u9a8c\u8bc1\u3001\u53ef\u81ea\u5b9a\u4e49API\u53ca\u5168\u6d41\u7a0b\u63a7\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                Bond\u7684\u53d9\u4e8b\u6293\u4f4f\u4e86\u5f53\u4e0b\u6700\u771f\u5b9e\u7684\u65ad\u5c42\uff1aAI\u8ba9\u201c\u9020\u4ea7\u54c1\u201d\u5e73\u6c11\u5316\u4e86\uff0c\u4f46\u201c\u5356\u4ea7\u54c1\u201d\u53cd\u800c\u53d8\u5f97\u66f4\u50cf\u519b\u5907\u7ade\u8d5b\u3002\u5b83\u7cbe\u51c6\u5207\u5165\u7684\u75db\u70b9\u662f\uff0cSMB\u548c\u521d\u521b\u56e2\u961f\u65e2\u96c7\u4e0d\u8d77\u5e74\u85aa15\u4e07\u7f8e\u91d1\u7684GTM\u5de5\u7a0b\u5e08\uff0c\u4e5f\u517b\u4e0d\u8d777\u4e2a\u9500\u552e\u5de5\u5177\u7684\u6708\u8d39\u3002Bond\u7684\u4ef7\u503c\u4e0d\u5728\u6280\u672f\u58c1\u5792\uff08\u5176\u5e95\u5c42\u5f88\u5927\u7a0b\u5ea6\u662f\u805a\u5408Apollo\u3001ZoomInfo\u7b49\u7b2c\u4e09\u65b9\u6570\u636e\uff09\uff0c\u800c\u5728\u4e8e\u7528AI\u4ee3\u7406\u5c42\u5927\u5e45\u964d\u4f4e\u4e86\u201c\u4e13\u4e1a\u5916\u8054\u201d\u7684\u8ba4\u77e5\u95e8\u69db\u2014\u2014\u8ba9\u4e00\u4e2a\u975e\u6280\u672f\u521b\u59cb\u4eba\u4e5f\u80fd\u572815\u5206\u949f\u5185\u505a\u51fa\u770b\u8d77\u6765\u50cfGTM\u8001\u624b\u624d\u6709\u7684\u4fe1\u53f7\u89e6\u53d1\u5f0f\u8425\u9500\u6d3b\u52a8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u8fd9\u6070\u6070\u662f\u5b83\u7684\u6f5c\u5728\u98ce\u9669\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u4fe1\u53f7\u8fc7\u671f\u201d\u548c\u201c\u8bef\u62a5\u6210\u672c\u201d\u7684\u8d28\u7591\u975e\u5e38\u5230\u4f4d\uff1a\u4e00\u901a\u57fa\u4e8e\u8fc7\u65f6\u878d\u8d44\u65b0\u95fb\u7684\u51b0\u51b7\u89e6\u8fbe\u4e0d\u4ec5\u65e0\u6548\uff0c\u8fd8\u4f1a\u7559\u4e0b\u9ec4\u9875\u9a9a\u6270\u822c\u7684\u8d1f\u9762\u54c1\u724c\u5370\u8c61\u3002Bond\u82e5\u4e0d\u80fd\u8bc1\u660e\u5176\u4fe1\u53f7\u65b0\u9c9c\u5ea6\u548c\u6570\u636e\u8d28\u91cf\u4f18\u4e8e\u7ade\u5bf9\uff08\u5982Clay\uff09\uff0c\u90a3\u5b83\u4e0d\u8fc7\u662f\u628a\u201c\u624b\u52a8\u7f1d\u8865\u4e03\u5957\u5de5\u5177\u201d\u53d8\u6210\u4e86\u201c\u81ea\u52a8\u7f1d\u8865\u4e03\u5957\u5de5\u5177\u201d\uff0c\u6838\u5fc3\u4ef7\u503c\u5e76\u672a\u8df3\u5347\u3002\u6b64\u5916\uff0c\u5b83\u4e3b\u6253\u7684\u201c\u63a8\u9001\u81f3\u90ae\u4ef6\u5e8f\u5217\u5de5\u5177\u201d\u800c\u975e\u81ea\u5efa\u53d1\u9001\u94fe\uff0c\u610f\u5473\u7740\u5bf9\u90ae\u4ef6\u9884\u70ed\u3001\u57df\u540d\u58f0\u8a89\u3001\u9ed1\u540d\u5355\u89c4\u907f\u7b49\u6838\u5fc3\u4ea4\u4ed8\u73af\u8282\u7684\u63a7\u5236\u529b\u6709\u9650\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u9ad8\u62d2\u4fe1\u7387\u548c\u4f4e\u9001\u8fbe\u7387\uff0c\u53cd\u566c\u5176\u4f5c\u4e3a\u201c\u4e00\u7ad9\u5f0f\u89e3\u51b3\u65b9\u6848\u201d\u7684\u627f\u8bfa\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Bond\u7684\u771f\u6b63\u5b9a\u4f4d\u5e94\u8be5\u662f\u201cGTM\u9886\u57df\u7684Cursor\u201d\u2014\u2014\u5927\u5e45\u63d0\u901f\u539f\u578b\uff08\u5916\u8054\u7b56\u7565\uff09\u7684\u642d\u5efa\uff0c\u4f46\u6700\u7ec8\u6267\u884c\u8d28\u91cf\u548c\u7cbe\u7ec6\u5ea6\u4ecd\u53d6\u51b3\u4e8e\u4f7f\u7528\u8005\u672c\u8eab\u7684\u4e1a\u52a1\u7406\u89e3\u548c\u6570\u636e\u6e05\u6d17\u80fd\u529b\u3002\u5982\u679c\u5b83\u540e\u7eed\u80fd\u5728\u4fe1\u53f7\u4fdd\u9c9c\u3001\u6570\u636e\u53cd\u8bef\u5bfc\u548c\u5e8f\u5217\u6267\u884c\u8d28\u91cf\u4e0a\u5efa\u7acb\u95ed\u73af\uff0c\u5b83\u5c06\u6709\u673a\u4f1a\u5b9a\u4e49AI\u65f6\u4ee3\u7684\u201c\u8f7b\u91cf\u7ea7GTM\u201d\u6807\u51c6\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u6ca6\u4e3a\u53c8\u4e00\u6b3e\u201c\u7b2c\u4e00\u6b21\u7528\u60ca\u8273\uff0c\u7b2c\u4e8c\u6b21\u7528\u5931\u671b\u201d\u7684PPT\u751f\u6210\u5668\u3002\u5bf9\u4e8e\u65e9\u671f\u56e2\u961f\u800c\u8a00\uff0c\u7528\u5b83\u5feb\u901f\u9a8c\u8bc1\u4e00\u4e2a\u5916\u8054\u5047\u8bbe\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4f46\u82e5\u5c06\u5176\u89c6\u4e3a\u65e0\u8111\u589e\u957f\u6309\u94ae\uff0c\u5219\u9700\u8b66\u60d5\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\">Bond<\/span>\n                <\/div>\n<div class=\"comment-content\">Bond is your AI GTM Engineer. Tell it who you want to reach. It builds the audience, plans the campaign, writes the messaging, and executes it end to end. Every data provider and outreach tool you need, in one workflow. Build your first campaign in 15 minutes.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc4b Hey Product Hunt,<\/p>\n<\/p>\n<p>I&#8217;m Christian, co-founder of Bond, building this with <a href=\"https:\/\/www.producthunt.com\/@abudi_mo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abudi_mo<\/a> and <a href=\"https:\/\/www.producthunt.com\/@ahx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ahx<\/a>.<\/p>\n<\/p>\n<p>My last company existed to help non-technical founders build software without hiring an engineer. Thousands of them. People who had been told building wasn&#8217;t for them, who sat down and shipped real, solid products anyway.<\/p>\n<\/p>\n<p>But I kept watching the same thing happen next. They&#8217;d finish the product&#8230; and then go quiet.<\/p>\n<\/p>\n<p>In an age where anyone can build, <strong>building isn&#8217;t the bottleneck for growth anymore. Go-to-market is.<\/strong><\/p>\n<\/p>\n<p>Doing outbound is the biggest lever. But doing outbound well today means stitching together Sales Nav, three enrichment tools, ChatGPT in ten tabs, and a copywriting tool. Then hiring a go-to-market engineer ($150k\/year) to wire it all together.<\/p>\n<\/p>\n<p>Most founders can&#8217;t afford that person. And honestly, they shouldn&#8217;t have to.<\/p>\n<\/p>\n<p>That&#8217;s why we built Bond. <strong>Great outbound campaigns that convert, run by small teams<\/strong>, no GTM engineer required.<\/p>\n<\/p>\n<p>Three steps:<\/p>\n<\/p>\n<p><strong>1) Describe who you want to reach.<\/strong> Bond builds the full campaign plan.<\/p>\n<p><strong>2) Fine-tune and approve campaign plan.<\/strong> Bond executes end to end&#8230; signal triggers, enrichment, research, scoring, personalized messages.<\/p>\n<p><strong>3) Push to your sequencer.<\/strong> HeyReach, Instantly, or CSV. Outreach runs on autopilot.<\/p>\n<\/p>\n<p>Why it&#8217;s different:<\/p>\n<\/p>\n<p>\u26a1 <strong>Fast.<\/strong> First campaign live in 15 minutes. No setup, no integrations to wire.<\/p>\n<p>\ud83e\udde0 <strong>Sophisticated, but simple.<\/strong> Signal-based triggers (funding, hiring, leadership changes), 50+ data sources, every lead scored on the playbooks of top GTM teams.<\/p>\n<p>\ud83d\udd0c <strong>One tool instead of seven.<\/strong> Under the hood: the 5 best email and phone finders in waterfall, real-time verification, full enrichment, research, copy. Everything top GTM teams stitch together themselves, working invisibly for you.<\/p>\n<p>\u270d\ufe0f <strong>Personalized, not templated.<\/strong> Every message written from real research on that specific prospect, pushed live in one click.<\/p>\n<\/p>\n<p>The ColdIQ CEO ran a full campaign in 15 minutes with three prompts. Called it <strong>&#8220;Lovable for prospecting.&#8221;<\/strong><\/p>\n<\/p>\n<p>Free to start. 50% off this week for Product Hunt.<\/p>\n<\/p>\n<p>What&#8217;s a signal you wish you could act on right now? A competitor raising, a target hiring their first VP of Sales, a champion switching jobs. Drop it below and I&#8217;ll show you exactly how Bond runs that play.<\/p>\n<\/p>\n<p>Thanks for being here \u2764\ufe0f<\/p>\n<\/p>\n<p>Christian<\/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\/@abudi_mo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abudi_mo<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@ahx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ahx<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@christianpev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christianpev<\/a>&nbsp;Very cool tool &amp; congrats on the launch team. this solves great for B2B out the box, any thoughts on how to expand into B2C?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@abudi_mo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abudi_mo<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@ahx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ahx<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@christianpev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christianpev<\/a>&nbsp;&#8220;Building isn&#8217;t the bottleneck anymore, go-to-market is&#8221; is the realest line in this post, the last company&#8217;s &#8220;they go quiet after shipping&#8221; pattern is exactly it. On the signal you asked for: the one I&#8217;d kill for is &#8220;competitor just churned a logo&#8221;, but it surfaces the hard problem under all signal-based outbound, which is decay. A funding round is fresh for maybe a week. &#8220;Hiring their first VP of Sales&#8221; is useless if you act on it three weeks late, the seat&#8217;s filled and you look like you weren&#8217;t paying attention. So the question isn&#8217;t sourcing signals, it&#8217;s freshness and precision: how recent is the data Bond fires on, and what&#8217;s the false-positive cost? Acting on a stale or wrong signal doesn&#8217;t just waste a send, it burns the prospect and your domain rep at the same time. The teams that win outbound aren&#8217;t the ones with the most signals, they&#8217;re the ones who trust theirs. <\/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 PH fam \ud83d\udc4b<\/p>\n<\/p>\n<p>Thrilled to bring Bond to the community today. This one is personal for me.<\/p>\n<\/p>\n<p>I first crossed paths with Christian back in the peak no-code era of 2018. Watched him help thousands of founders ship real products who had been told building wasn&#8217;t for them. We recently reconnected and I was struck by how locked in he is on solving the next bottleneck. Same energy, sharper focus.<\/p>\n<\/p>\n<p>He&#8217;s a natural teacher, obsessive about UX, and genuinely committed to putting the power of AI in the hands of people who shouldn&#8217;t need an engineer to get there. That thread runs straight through Bond.<\/p>\n<\/p>\n<p><strong>Here&#8217;s the uncomfortable truth most early teams haven&#8217;t fully reckoned with:<\/strong><\/p>\n<p>Building is no longer the bottleneck. Go-to-market is.<\/p>\n<\/p>\n<p>The average outbound stack costs $2,000\/month in tools and $150k\/year in the engineer who runs them. For most early teams, that math doesn&#8217;t work. <strong>That&#8217;s exactly why Bond exists.<\/strong><\/p>\n<\/p>\n<p>What makes it different from tools like Clay: Clay is powerful, but it&#8217;s built for ops engineers who want to design workflows. Bond does that work for you. One conversation, same results, no learning curve.<\/p>\n<\/p>\n<p><strong>The reason it works is the foundation it&#8217;s built on:<\/strong><\/p>\n<p>\u2192 Bond understands your company, your value props, and real buying signals &#8212; job changes, funding rounds, hiring activity, intent data.<\/p>\n<p>\u2192 Every list is targeted because of that. Every message is relevant because of that.<\/p>\n<p>\u2192 50+ data sources, five email and phone finders in waterfall, real-time verification &#8212; all running underneath, invisibly. \u2192 First campaign live in 15 minutes. No setup, no integrations to wire.<\/p>\n<\/p>\n<p>Christian, Abudi, Ahmed and the team are live in the comments all day. Go check it out and show them some love. \ud83d\ude4f<\/p>\n<\/p>\n<p>Big congrats to the Bond team \ud83d\ude80<\/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\/@thisiskp_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thisiskp_<\/a>&nbsp;Thanks for the shout out! Have looked up to you for years, so this means a lot buddy.<\/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>This is exactly what I&#8217;d expect from a modern AI-first tool. Congratulations on the launch \ud83d\udc4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@simonhoiberg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@simonhoiberg<\/a>&nbsp;Thanks Simon. I&#8217;m a huge fan of your YouTube channel and Founder Stack. I use your software all the time. It means so much that you took the time to check this out. Let me know if there is anything I can help with.<\/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>Really like the focus on non technical founders and learn teams. GTM has become way too fragmented and expensive.<\/p>\n<\/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\/@bernard_lewis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bernard_lewis<\/a>&nbsp;I appreciate the kind words. We built this for non-technical people without compromising the ability to do very sophisticated things and have granular control over everything that goes on in the campaign. Most companies force you to choose one or the other. (Powerful vs easy 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I just used Bond to target every VP of Sales at a B2B SaaS company in the US who are currently hiring SDRs. The whole campaign took me under 5 minutes. No technical skills. No spreadsheets. No code. This is super cool!<\/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\/@cantimagur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cantimagur<\/a>&nbsp;Thanks dude. It only took took us 1247 coffees \ud83d\ude05 Glad you liked it. All and any feedback welcome.<\/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>How much control do you have over the ICP filters and exclusions before it starts sending 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;You have full control throughout the entire process. You can finetune and approve the preview list, qualify \/ disqualify based on any criteria, do deep research, even bring your own list. We made it as flexible and powerful as Clay but you build your campaigns like in Lovable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>15 minutes to first campaign is a bold claim for a tool that&#8217;s also promising audience building, messaging, and execution. usually the speed comes at the cost of the targeting being too broad to actually convert. curious what the average reply rate looks like in practice<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;Super strong observation. It took us 1 year to build this because yes it is very sophisticated software. Reply rates entirely depend on the campaign, the industry, the channel etc. However attached is a LinkedIn campaign I&#8217;m running that targets competitors LinkedIn posts (yes, Bond can do that too).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8a12ce07-f4a3-4370-9c35-d6f774074c94.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>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>Bond sound like a game changer for gtm! Keep building 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\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;Thanks man. Let us know if you have any feature requests. <\/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>Good tool. Not for the gtm nerds. But for someone who has never run outbound and had to rely on agencies, on heavy retainer with minimum control, this is a great alternative. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>With a professional approach, there are more tools involved \ud83d\ude09 What about checking email configuration and blacklist status? What about email warm-up? What about verifying whether a generated email actually exists? What about finding people on LinkedIn? And so on. Without all these tools, the outreach will simply end up in spam or, at best, in the Promotions tab in Gmail.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;You are absolutely right. Sophistication requires a lot. We have built-in verification for email with Bond. Our built-in data providers include everyone on LinkedIn, including live data, and you can even retarget post-engagers. For more experienced GTM people, you can do advanced things like bring your own APIs, use webhooks, HTTP columns, and so on. Because we have a deep research agent and a copywriting agent that work together, the messages come out very personalized, but you can also fully adapt them until you are happy. One trick I actually use is to upload an example email with my tone and the value proposition I want to emphasize, and then have it create a personalized first line. There are so many ways to have it come out the way you want. Overall, the core of what we do is aggregating all the best GTM tools and having them orchestrated through Bond, which is an agentic AI layer trained on the know-how of the best GTM engineers. Thanks so much for taking the time to comment, and feel free to shoot any follow-up questions. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p> The end-to-end execution piece is what most tools in this space dodge \u2014 they hand you back to Smartlead or Instantly for the sending stack. If you&#8217;re really handling warmup + sending + reply detection inline, that&#8217;s a meaningful step up.<\/p>\n<p>Real question: what&#8217;s the data layer underneath? Clay&#8217;s whole moat is the enrichment graph. Are you wrapping Apollo \/ ZoomInfo, or building your own?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ran_kopchovski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ran_kopchovski<\/a>&nbsp;Hey, this is a super legit question. We have waterfall enrichment with the top provider you would find GTMEs using. Just like Clay. We also have multiple fancy paid databases for the build-a-list function so the data is of very good quality. <\/p>\n<p>What a lot of people miss is that if you are more technical you can also do all sorts of fancy stuff like use webhooks, HTTP, Bring your own APIs, but regardless you have a simple user interface to build sofisticated campaigns. <\/p>\n<p>Just to be clear though, we do list building, enrichment (e-mail + phone), e-mail verification, lead scoring and qualification, deep research, copywriting, and then you can push to a sequencer (Instantly, HeyReach cvs). Thought I should clarify.<\/p>\n<p>Thanks for the support.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/P2UMFH5P4HQXTO\" class=\"app-title\">Rezonant<\/a><\/p>\n<div class=\"one-liner\">Talk, spec, ship: get your product ideas into production<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">251<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Rezonant\u662f\u4e00\u4e2a\u8fde\u63a5\u4ea7\u54c1\u6784\u601d\u4e0e\u4ee3\u7801\u6267\u884c\u7684\u534f\u4f5c\u5e73\u53f0\uff0c\u5e2e\u52a9\u56e2\u961f\u5c06\u6a21\u7cca\u7684\u4ea7\u54c1\u60f3\u6cd5\u8f6c\u5316\u4e3aAI\u7f16\u7a0b\u4ee3\u7406\u53ef\u76f4\u63a5\u6267\u884c\u7684\u7ed3\u6784\u5316\u89c4\u683c\u548c\u4efb\u52a1\uff0c\u89e3\u51b3\u201c\u6784\u5efa\u4ec0\u4e48\u201d\u7684\u4e0a\u6e38\u51b3\u7b56\u74f6\u9888\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/59c666a1-8248-4a40-ae9c-7f0f409403d2.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\/8f9d52b9-cabe-4012-836f-244a80c536f9.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\/1fa89d65-d518-4909-bbe2-5e3d4d172df2.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\/0b4597dc-f02f-465e-aec3-f67b32c8e139.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\/8ad43cf8-49f2-4bb3-b8d1-bf952cfefb3a.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/f540DiP2TuA\"><source src=\"https:\/\/youtu.be\/f540DiP2TuA\" 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\">Task Management<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ea7\u54c1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u9700\u6c42\u89c4\u683c<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7a0b\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">Chrome\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">PRD\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">GitHub\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u5f00\u53d1<\/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\u8be5\u4ea7\u54c1\u89e3\u51b3\u4e86\u4ece\u521b\u610f\u5230\u6267\u884c\u8fc7\u7a0b\u4e2d\u7684\u6df7\u4e71\u95ee\u9898\uff0cChrome\u6269\u5c55\u7684\u5f55\u5236\u529f\u80fd\u53d7\u6b22\u8fce\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1aAI\u89e3\u8bfb\u610f\u56fe\u65f6\u5982\u4f55\u907f\u514d\u8bef\u8bfb\uff1f\u662f\u5426\u6709\u8db3\u591f\u7684\u5ba1\u6838\u6b65\u9aa4\uff1f\u5982\u4f55\u786e\u4fdd\u4e0eClaude Code\u7b49\u7f16\u7a0b\u4ee3\u7406\u7684\u65e0\u7f1d\u5bf9\u63a5\uff1f\u4ee5\u53ca\u5bf9\u4e8e\u5df2\u6709\u4e1a\u52a1\u5206\u6790\u5e08\u7684\u5927\u56e2\u961f\u7684\u5b9e\u9645\u4ef7\u503c\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                Rezonant\u5207\u5165\u4e86\u4e00\u4e2a\u6781\u5177\u4ef7\u503c\u7684\u5e02\u573a\u7f1d\u9699\u2014\u2014\u5728AI\u7f16\u7a0b\u80fd\u529b\u7206\u53d1\u540e\uff0c\u201c\u5199\u4ee3\u7801\u201d\u5df2\u4e0d\u518d\u662f\u74f6\u9888\uff0c\u201c\u8be5\u5199\u4ec0\u4e48\u201d\u548c\u201c\u4e3a\u4ec0\u4e48\u5199\u201d\u7684\u6df7\u4e71\u6210\u4e3a\u65b0\u7684\u6548\u7387\u9ed1\u6d1e\u3002\u5176\u6838\u5fc3\u6d1e\u5bdf\u5728\u4e8e\uff0c\u5c06\u4ea7\u54c1\u7ba1\u7406\u4ece\u6563\u843d\u7684Notion\u6587\u6863\u548cSlack\u5bf9\u8bdd\u5347\u7ea7\u4e3a\u4e00\u4e2a\u201c\u6d3b\u201d\u7684\u3001\u4e0e\u4ee3\u7801\u5e93\u951a\u5b9a\u7684\u7ed3\u6784\u5316\u534f\u4f5c\u7a7a\u95f4\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u7b80\u5355\u7684AI\u751f\u6210\uff0c\u800c\u5728\u4e8e\u201c\u7ed3\u6784\u5316\u201d\u4e0e\u201c\u53ef\u6267\u884c\u6027\u201d\u3002\u5b83\u8bd5\u56fe\u5c06PM\u6a21\u7cca\u7684\u8bed\u8a00\u3001\u6307\u70b9\u548c\u5f55\u97f3\uff0c\u8f6c\u5316\u4e3a\u7f16\u7a0b\u4ee3\u7406\u770b\u5f97\u61c2\u3001\u80fd\u6267\u884c\u7684\u4efb\u52a1\u3002\u8fd9\u79cd\u201c\u4e0a\u6e38\u6807\u51c6\u5316\u201d\u662f\u5f53\u524dAI\u8f6f\u4ef6\u5f00\u53d1\u6d41\u7a0b\u4e2d\u7f3a\u5931\u7684\u5173\u952e\u4e00\u73af\uff0c\u4e5f\u662f\u5176\u533a\u522b\u4e8e\u666e\u901a\u534f\u4f5c\u5de5\u5177\u7684\u6838\u5fc3\u58c1\u5792\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u98ce\u9669\u540c\u6837\u663e\u8457\u3002\u6765\u81ea\u7528\u6237\u7684\u8d28\u7591\u2014\u2014AI\u8bef\u89e3\u610f\u56fe\u3001\u7f3a\u4e4f\u5ba1\u6838\u95ed\u73af\u2014\u2014\u7edd\u975e\u675e\u4eba\u5fe7\u5929\u3002\u5982\u679cAI\u5728\u610f\u56fe\u8f6c\u8bd1\u8fc7\u7a0b\u4e2d\u4ea7\u751f\u9519\u8bef\uff0c\u800c\u56e2\u961f\u53c8\u8fc7\u5ea6\u4f9d\u8d56\u81ea\u52a8\u5316\uff0c\u90a3\u4e48\u201c\u66f4\u5feb\u5730\u72af\u9519\u8bef\u201d\u53ea\u4f1a\u52a0\u901f\u707e\u96be\u3002Rezonant\u5fc5\u987b\u8bc1\u660e\u5176\u201cAI\u7763\u5bdf\u201d\u80fd\u529b\uff08\u5373\u4e3b\u52a8\u8bc6\u522b\u6a21\u7cca\u70b9\u3001\u63d0\u51fa\u8fb9\u89d2\u6848\u4f8b\uff09\u7684\u53ef\u9760\u6027\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u63d0\u4f9b\u6f02\u4eae\u7684PRD\u6a21\u677f\u3002\u6b64\u5916\uff0c\u5176MCP\u670d\u52a1\u5668\u7684\u63a8\u51fa\uff0c\u662f\u6253\u901a\u4e0eClaude Code\u7b49\u5de5\u5177\u95ed\u73af\u7684\u5173\u952e\uff0c\u4f46\u8fd9\u4e5f\u610f\u5473\u7740\u5176\u6210\u529f\u9ad8\u5ea6\u4f9d\u8d56\u4e8e\u5916\u90e8\u751f\u6001\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aRezonant\u662fAI\u65f6\u4ee3\u7684\u201c\u56fe\u7075\u6d4b\u8bd5\u201d\u5de5\u5177\u2014\u2014\u5b83\u80fd\u5426\u771f\u6b63\u7406\u89e3\u4eba\u7c7b\u7684\u4ea7\u54c1\u610f\u56fe\uff0c\u51b3\u5b9a\u4e86\u5b83\u7a76\u7adf\u662f\u4e00\u4e2a\u5f3a\u5927\u7684\u201c\u653e\u5927\u5668\u201d\uff0c\u8fd8\u662f\u4e00\u4e2a\u6f02\u4eae\u7684\u201c\u5e7b\u60f3\u5f15\u64ce\u201d\u3002\u5bf9\u4e8e\u5df2\u7ecf\u6216\u6b63\u5728\u62e5\u62b1AI\u7f16\u7a0b\u4ee3\u7406\u7684\u56e2\u961f\uff0c\u5b83\u503c\u5f97\u4e00\u8bd5\uff0c\u4f46\u7edd\u4e0d\u53ef\u201c\u65e0\u8111\u4fe1\u4efb\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\">Rezonant<\/span>\n                <\/div>\n<div class=\"comment-content\">Rezonant helps product teams turn messy ideas into code-ready specs, tickets, and engineering tasks. Collaborate with PMs, engineers, designers, and AI agents in one shared workspace. Ground decisions in your actual codebase, keep everyone aligned on the same version, and create work that humans and coding agents can confidently ship.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc4b Hello Product Hunt!<\/p>\n<p>Now that anyone can ship code quickly, the bottleneck has moved upstream, to the question of <em>what <\/em>gets built and <em>why<\/em>.<\/p>\n<p>Rezonant sits above tools like Cursor, Claude Code and GitHub Copilot. It gives product managers a live, multiplayer workspace to turn product ideas into structured specs and tasks that AI coding agents can actually execute &#8211; grounded in the codebase, not floating around in Notion docs and Slack threads.<\/p>\n<p>Capture ideas with our Chrome extension, Rezonant Alter. Hit record, point to anything on your live product, prototypes or designs, and talk through your thinking out loud, just like you would with a dev or designer. Alter captures what you said and what you pointed to, maps it to your codebase, and surfaces it as a spec or PRD ready to edit, comment on, break into tasks, and ship.<\/p>\n<p>Try it for free: <a href=\"https:\/\/www.rezonant.app\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.rezonant.app\/<\/a><\/p>\n<p>Can\u2019t wait to see what you build!<\/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\/@emma_burrows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emma_burrows<\/a>&nbsp;You can download the chrome extension Rezonant Alter here <a href=\"https:\/\/chromewebstore.google.com\/detail\/rezonant-alter\/olikohappmhmbomllbhhbhganncolgfn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/chromewebstore.google.com\/detail\/rezonant-alter\/olikohappmhmbomllbhhbhganncolgfn<\/a> <\/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\/@emma_burrows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emma_burrows<\/a>&nbsp;Congrats on the launch Emma. What&#8217;s the usp over something like slack here?<\/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\/@emma_burrows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emma_burrows<\/a>&nbsp;Congrats on the launch Emma! \ud83c\udf89<\/p>\n<p>Just upvoted Rezonant \u2014 the \u201cgrounded in the codebase\u201d approach is a really interesting direction for AI-assisted product workflows.<\/p>\n<p>We also launched today \ud83d\udc4b<\/p>\n<p>AstroAnimate \u26a1<br \/>The first dedicated animation library built specifically for Astro.<\/p>\n<p>Built for developers who want:<br \/>\u2022 Zero-JS defaults<br \/>\u2022 View Transitions compatibility<br \/>\u2022 Performance-first components<br \/>\u2022 Open source<\/p>\n<p>Would love your feedback if you get a moment:<br \/><a href=\"https:\/\/www.producthunt.com\/products\/astroanimate?launch=astroanimate\" target=\"_blank\" rel=\"noopener\">https:\/\/www.producthunt.com\/products\/astroanimate?launch=astroanimate<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@emma_burrows\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"emma_burrows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emma_burrows<\/a> <a href=\"https:\/\/www.producthunt.com\/@vincenzo_bianco2\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"vincenzo_bianco2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vincenzo_bianco2<\/a> and team &#8211; first of all, congrats on the launch. Looks really impressive! Quick question on the Chrome extension &#8211; how does that workflow&nbsp;work in practice? If a PM or engineer submits feedback or feature requests through the extension, how does Rezonant turn that into something Claude Code can execute?&nbsp;<\/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>hey&nbsp; <a href=\"https:\/\/www.producthunt.com\/@zevi_reinitz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zevi_reinitz<\/a>&nbsp;&#8212; appreciate the support and thanks for the question! \ud83d\ude42 <\/p>\n<p>The chrome extension is meant to let you quickly capture feedback on your webapp. For example, you can use the &#8216;record&#8217; mode to describe a feature your customers have been asking for. <\/p>\n<p>From then: <br \/>&#8211; Rezonant elaborates your transcript + interactions with your product to understand your intent <br \/>&#8211; Rezonant connects to your GitHub and other context (your docs, product roadmap, meeting notes, etc.) to define what it takes to ship that feature: this is the crucial step in which the agent plans implementation while keeping your product context in mind.<br \/>&#8211; Rezonant will produce a spec and\/or a number of tasks to implement that feature <br \/>&#8211; You can export tasks as Linear \/ JIRA tickets. Docs can be exported as .md files<br \/>&#8211; You can ship the feature with a coding agent directly from Rezonant UI or from Claude Code\/Codex!<\/p>\n<p>Hope that clarifies the workflow!<\/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 for the support <a href=\"https:\/\/www.producthunt.com\/@zevi_reinitz\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zevi_reinitz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zevi_reinitz<\/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>Thanks <a href=\"https:\/\/www.producthunt.com\/@zevi_reinitz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zevi_reinitz<\/a>! \ud83e\udef6<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\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 feels like a solid product, coz I usually miss many aspects from the ideation phase, once I start building the product. Feels like a must have tool ! : )<\/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\/@nalin_rajendran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nalin_rajendran<\/a>&nbsp; appreciate the support nalin! what&#8217;s your stack to build these days? keen to hear how Rezonant will fit in there!<\/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>Super excited to get this released and to see how teams use 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\/@sam_walker13\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sam_walker13<\/a>&nbsp;Love the positioning above Cursor and Claude Code \u2014 the upstream bottleneck is real. One question though: how do you handle the &#8220;lost in translation&#8221; risk? If a PM records a rambling voice note pointing at the UI, and Rezonant interprets the intent into a spec, how does the team catch it if the AI misread what was actually meant? Is there a review step before tasks gget pushed to the coding agent?<\/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>Very excited to launch Rezonant &#8211; check out the agent document editing functionality, really great for drafting and critiquing documents (shout out to <a href=\"https:\/\/www.producthunt.com\/products\/tiptap-ai-agent\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"tiptap-ai-agent\" target=\"_blank\" rel=\"noopener\">@Tiptap AI Agent<\/a>)<\/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\/@sam_stephens2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sam_stephens2<\/a>&nbsp;\ud83d\ude4c \ud83c\udf89 \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sam_stephens2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sam_stephens2<\/a>&nbsp;Amazing! Congrats on the launch \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>Loved working on this! \ud83c\udf89 It&#8217;s really cool to be able to go back to more natural ways of communicating, bringing products to life just by chatting through ideas and features like you would with the team.<\/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\/@abi_church\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abi_church<\/a>&nbsp;LFG!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Congratulations on the launch team! Fantastic product. We\u2019ve been using it internally for weeks and it has made a significant impact on our engineering productivity. Have shared it with several friends across startups. \ud83d\udcaa\ud83c\udffb<\/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\/@lorcan_delaney\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lorcan_delaney<\/a>&nbsp;thanks for the support and shoutout!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@lorcan_delaney\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lorcan_delaney<\/a>&nbsp;Thanks Lorcan! Glad you&#8217;re enjoying using it \ud83d\ude01<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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. Most broken features I&#8217;ve watched ship were already broken at the PRD stage. The engineering work just compiled the misunderstanding faster. With agents grabbing tickets directly out of Rezonant, what&#8217;s the QA loop before that handoff?<\/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\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp; Great question! <\/p>\n<p>There&#8217;s 2 layers of QA:<\/p>\n<ul>\n<li>\n<p>The Rezonant agent will flag edge cases and fill the gaps in your feature description while drafting a spec for you.<\/p>\n<\/li>\n<li>\n<p>Rezonant is a collaborative workspace so you can review your PRDs\/specs\/tickets before &#8216;handing off&#8217; to coding agents.<\/p>\n<\/li>\n<\/ul>\n<p>Hope that answers your question? How do you currently do that with your 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks for the support<a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>! \ud83e\udef6<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>for me the move is the google chrome extension, then using that to screenshare and narrate directly into Rezonant to get that turned into tickets and specs. Loving it so far, like a vibe-product platform \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@jaryd_hermann1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jaryd_hermann1<\/a>&nbsp;&#8211; great to hear you&#8217;re enjoying it! Vibe-product product platform sums it up \ud83d\udc4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 this! The flow mode to PRD is great. Also enjoying sending straight to coding agents for simple tasks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks<a href=\"https:\/\/www.producthunt.com\/@matt_gunby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matt_gunby<\/a>! So glad to hear you&#8217;re enjoying it. What&#8217;re you building?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abi_church\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"abi_church\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abi_church<\/a> Congratulations on the launch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abi_church\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abi_church<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@hasatoor\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hasatoor<\/a>&nbsp;Thanks Hasan!! really appreciate it \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hasatoor\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hasatoor<\/a>&nbsp;thanks Hasan, appreciate the support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s a pleasure to work together and see your launch! I wish you lots of success moving forward.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@arnau_gomez_farell\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"arnau_gomez_farell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arnau_gomez_farell<\/a>! Looking forward to working more together as we build this out \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\/@arnau_gomez_farell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arnau_gomez_farell<\/a>&nbsp;Thanks Arnau! Appreciate the support<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@emma_burrows\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"emma_burrows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emma_burrows<\/a> ! <\/p>\n<p>So this is automatic PRD creation, right? Do you also have a way to connect this with code agents like Codex or Claude code to implement directly on codebase too?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aiswarya_s\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aiswarya_s<\/a>&nbsp;hey, thanks for the question! This can automate PRD creation, spec creation and task creation.<\/p>\n<\/p>\n<p>Tasks can be sent to coding agents directly in Rezonant. We\u2019re also working on an MCP though for this particular workflow!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Very timely idea. More teams are building with AI coding agents now, but the messy part is still aligning product context, specs, and execution. Rezonant seems to tackle exactly that gap. Love the workflow-first approach.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alina_tyslenok_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alina_tyslenok_<\/a>&nbsp;thanks alina! \ud83d\ude42 how&#8217;s your team currently filling that gap? keen to hear how Rezonant will help solving that problem!! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 this for beginner teams that don\u2019t have business analysts? What you described is usually done by a business analyst. Also, now everyone uses Claude Code, Claude Design, Figma, and other tools, so often you need not just a comment but specifically a comment in, for example, Figma, so that Claude Code can later understand it and apply the change. So at the current stage of AI development, I can\u2019t imagine how to do this without a human.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;thanks for the question, natalia \ud83d\ude42  <\/p>\n<p>We actually do work with some larger teams with business analysts! The value for them is typically to make sure that all the work items that are sent to Engineering (in the form of JIRA or Linear tickets) are grounded in technical reality and include technical context. This facilitates eng teams working with Claude Code and reduces back-and-forth between eng and business analysts to gather feedback. <\/p>\n<p>Re: your point of commenting in Figma so the context is accessible in Claude &#8212; we&#8217;re launching our own MCP server so that Rezonant comments will be accessible to Claude too! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!<\/p>\n<p>ChatGPT-vs-Rezonant comparison on the landing page is the best pitch I&#8217;ve seen this week, where Rezonant pulls the actual src\/services\/integrations\/ path instead of giving a generic playbook.<\/p>\n<p>We&#8217;re building in the SDLC execution space at Revolte (the agent runs from spec through deploy), so the spec-quality problem hits us directly downstream. Curious how you&#8217;re handling the codebase index \u2014 persistent semantic index per repo, or retrieval at refinement time? We went persistent and the freshness problem is harder than I expected.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@rajagopalanar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rajagopalanar<\/a> ! Definitely, context makes all the difference. On your codebase question, it&#8217;s technically both. We run code research at refinement time, which solves the freshness problem, but only when the persistent index isn&#8217;t enough. What was it in particular about persistent that was harder than you thought?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>&#8220;Turn messy ideas into structured specs&#8221; is a deceptively hard problem because the messiness is where domain knowledge lives \u2014 strip too much of it out and the spec becomes generic; leave it in and the agent gets confused. I work on ModeLoop in financial modeling and the same pattern shows up there: the difference between a model an agent can build and one a human can defend is usually in the assumptions, not the cells. Curious how you&#8217;ve handled assumption capture in Rezonant.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@samir_asadov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samir_asadov<\/a>&nbsp;hey &#8212; that&#8217;s a great point and question! <\/p>\n<\/p>\n<p>Managing context and feeding the agent with the right context at the right time is indeed a hard problem to solve. And because it&#8217;s hard, it&#8217;s the main differentiator of Rezonant vs custom-built workflows on top of Claude Code\/Cursor\/Codex with GitHub repos and .MD files to manage context. <\/p>\n<\/p>\n<p>The way Rezonant solves that is by capturing both technical (codebase) context from GitHub and additional product context from Granola, docs, Figma etc. These are then organized in teams so that each agent and member in the workspace can access the right context at the right time. <\/p>\n<\/p>\n<p>Hope that makes sense?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Cheap Store l\u00e0 \u0111\u1ecba ch\u1ec9 chuy\u00ean cung c\u1ea5p ph\u1ee5 ki\u1ec7n \u0111i\u1ec7n tho\u1ea1i v\u1edbi m\u1ee9c gi\u00e1 h\u1ee3p l\u00fd, \u0111a d\u1ea1ng m\u1eabu m\u00e3 v\u00e0 lu\u00f4n c\u1eadp nh\u1eadt nh\u1eefng xu h\u01b0\u1edbng m\u1edbi nh\u1ea5t tr\u00ean th\u1ecb tr\u01b0\u1eddng. V\u1edbi mong mu\u1ed1n mang \u0111\u1ebfn tr\u1ea3i nghi\u1ec7m mua s\u1eafm ti\u1ec7n l\u1ee3i v\u00e0 ch\u1ea5t l\u01b0\u1ee3ng cho kh\u00e1ch h\u00e0ng, Cheap Store t\u1eadp trung v\u00e0o c\u00e1c s\u1ea3n ph\u1ea9m nh\u01b0 \u1ed1p l\u01b0ng \u0111i\u1ec7n tho\u1ea1i, k\u00ednh c\u01b0\u1eddng l\u1ef1c, tai nghe, s\u1ea1c d\u1ef1 ph\u00f2ng v\u00e0 nhi\u1ec1u ph\u1ee5 ki\u1ec7n c\u00f4ng ngh\u1ec7 kh\u00e1c. Kh\u00f4ng ch\u1ec9 ch\u00fa tr\u1ecdng v\u1ec1 gi\u00e1 th\u00e0nh, Cheap Store c\u00f2n \u01b0u ti\u00ean ch\u1ea5t l\u01b0\u1ee3ng s\u1ea3n ph\u1ea9m v\u00e0 s\u1ef1 h\u00e0i l\u00f2ng c\u1ee7a kh\u00e1ch h\u00e0ng trong t\u1eebng tr\u1ea3i nghi\u1ec7m mua s\u1eafm.<\/p>\n<div>\n<table>\n<tbody>\n<tr>\n<td>\n<p>T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 Cheap Store: <a href=\"https:\/\/cheapstore.click\/gia-bo-sac-nhanh-2026\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/cheapstore.click\/gia-bo-sac-nhanh-2026\/<\/a><\/p>\n<\/td>\n<td>\n<\/td>\n<td>\n<\/td>\n<td>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Xem th\u00eam t\u1ea1i: <a href=\"https:\/\/cheapstore.click\/kinh-cuong-luc\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/cheapstore.click\/kinh-cuong-luc\/<\/a><\/p>\n<\/td>\n<td>\n<\/td>\n<td>\n<\/td>\n<td>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;re drowning in &#8216;quick ideas&#8217;\/proof of concepts\/unclear specs &#8211; great to have something that can streamline and get the right context all 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@henryforshort\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henryforshort<\/a>&nbsp;thanks! very keen to hear your feedback once you had the chance to try it out \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\/@henryforshort\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henryforshort<\/a>&nbsp;Glad to hear you&#8217;re finding it useful, and hope you drown a little less! \ud83c\udfc4<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Spec-to-code via voice is a workflow I didn&#8217;t know I wanted until now. Product teams burn so much time translating verbal ideas into structured tasks. We&#8217;ve been building in the ops-heavy SaaS space, and this kind of frictionless spec creation is something PMs ask about constantly. How does Rezonant handle ambiguity in voice input, does it ask clarifying questions?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@shivam_jaiswal36\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shivam_jaiswal36<\/a>&nbsp;Totally, so much can get lost in translation. Rezonant understands your product and codebase, and it&#8217;ll ask clarifying questions or flag missing\/ambiguous requirements before anything gets sent to your coding agents. Hope that answers your 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>Grounding specs in the actual codebase is the real differentiator here, but codebases move every day \u2014 does the grounding re-run, or is a spec a point-in-time snapshot that quietly goes stale the moment someone merges a refactor? The failure mode I&#8217;d watch for is a confident spec citing a service or path that got renamed last week.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/NFFTBPDU53TPNM\" class=\"app-title\">QuakPit<\/a><\/p>\n<div class=\"one-liner\">Meeting reminders that actually make you smile.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">191<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>QuakPit \u662f\u4e00\u6b3e macOS \u83dc\u5355\u680f\u5e94\u7528\uff0c\u901a\u8fc7\u8ba9\u52a8\u7269\u9a7e\u9a76\u98de\u673a\u62d6\u62fd\u6a2a\u5e45\u98de\u8fc7\u5c4f\u5e55\u7684\u8da3\u5473\u52a8\u753b\uff0c\u66ff\u4ee3\u4f20\u7edf\u5f39\u7a97\uff0c\u5728\u4f1a\u8bae\u5f00\u59cb\u524d\u4ee5\u4ee4\u4eba\u4f1a\u5fc3\u4e00\u7b11\u7684\u65b9\u5f0f\u63d0\u9192\u7528\u6237\uff0c\u89e3\u51b3\u4f20\u7edf\u901a\u77e5\u5bb9\u6613\u88ab\u5ffd\u7565\u6216\u8ba9\u4eba\u611f\u5230\u538c\u70e6\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/a847170a-c343-4dea-a3dc-b9374344987b.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/440942f9d7e04e7788ff5a3d75861495\"><source src=\"https:\/\/www.loom.com\/share\/440942f9d7e04e7788ff5a3d75861495\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a36ef643-cab3-4d2a-855c-baf0bacff5bc.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\/0a2152b2-fb0c-4ef1-9818-5b0fe28e75b3.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\/5ebff670-d5a4-4d0e-a593-e762f934c4e7.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\/c9e8da53-0de7-44b1-9c0f-55fd5c4149a6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Meetings<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS \u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u8da3\u5473\u901a\u77e5<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e5\u5386\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5c0f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u52a8\u7269\u52a8\u753b<\/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\u559c\u7231\u5176\u521b\u610f\u548c\u8da3\u5473\u6027\uff0c\u8ba4\u4e3a\u6bd4\u4f20\u7edf\u5f39\u7a97\u66f4\u6709\u6548\u3002\u4e3b\u8981\u95ee\u9898\uff1a1. \u622a\u5c4f\u5171\u4eab\u65f6\u52a8\u753b\u4f1a\u663e\u793a\u7ed9\u7b2c\u4e09\u65b9\uff08\u5f00\u53d1\u8005\u786e\u8ba4\uff09\uff1b2. \u5e0c\u671b\u652f\u6301\u672c\u5730\u65e5\u5386\u800c\u975e\u4ec5\u8054\u7f51\u65e5\u5386\uff1b3. \u597d\u5947\u6c34\u8c5a\u662f\u5426\u662f\u6700\u9ad8\u9891\u9009\u62e9\u7684\u52a8\u7269\u3002\u591a\u540d\u7528\u6237\u80af\u5b9a\u4e86\u514d\u8d39\u5f00\u6e90\u7684\u7b56\u7565\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                QuakPit \u7684\u8d70\u7ea2\uff0c\u7cbe\u51c6\u51fb\u4e2d\u4e86\u201c\u901a\u77e5\u75b2\u52b3\u201d\u8fd9\u4e00\u8d5b\u9053\uff0c\u4f46\u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u521b\u65b0\uff0c\u800c\u5728\u4e8e\u4e00\u4e2a\u806a\u660e\u7684\u884c\u4e3a\u5fc3\u7406\u5b66\u8bbe\u8ba1\uff1a\u7528\u201c\u60ca\u5947\u201d\u66ff\u4ee3\u201c\u70e6\u607c\u201d\u3002\u4f20\u7edf\u5f39\u7a97\u56e0\u9ad8\u9891\u91cd\u590d\u5df2\u88ab\u5927\u8111\u81ea\u52a8\u8fc7\u6ee4\uff0c\u800cQukPit\u7684\u52a8\u753b\u5219\u662f\u4e00\u6b21\u201c\u60c5\u5883\u91cd\u6784\u201d\u2014\u2014\u5c06\u4f8b\u884c\u516c\u4e8b\u53d8\u6210\u4e86\u77ed\u6682\u7684\u6e38\u620f\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5bf9\u7528\u6237\u6ce8\u610f\u529b\u7684\u201c\u6e29\u67d4\u52ab\u6301\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u51b7\u9759\u6765\u770b\uff0c\u8be5\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u6781\u4f4e\u3002\u6838\u5fc3\u529f\u80fd\u201c\u52a8\u753b+\u65e5\u5386\u201d\u662f\u4e00\u4e2a\u6807\u51c6\u7684\u4e00\u5468\u901f\u6210\u9879\u76ee\uff0cGitHub\u4e0a\u5df2\u6709\u5927\u91cf\u7c7b\u4f3c\u5b9e\u9a8c\u3002\u5176\u201c\u514d\u8d39\u5f00\u6e90+\u4e00\u6b21\u6027\u6536\u8d39\u201d\u7684\u6a21\u5f0f\uff0c\u867d\u7136\u535a\u5f97\u4e86Developer\u793e\u533a\u597d\u611f\uff0c\u4f46\u53d8\u73b0\u5929\u82b1\u677f\u660e\u663e\uff1a$4.99\u7684\u6ea2\u4ef7\u80fd\u529b\uff0c\u53d6\u51b3\u4e8e\u7528\u6237\u5bf9\u201c\u9e2d\u5b50\u6362\u6050\u9f99\u201d\u8fd9\u7c7b\u5b9a\u5236\u5316\u65b0\u9c9c\u611f\u7684\u652f\u4ed8\u610f\u613f\uff0c\u4f46\u201c\u65b0\u9c9c\u611f\u201d\u672c\u8eab\u662f\u5feb\u901f\u8870\u51cf\u7684\u3002\u5f53\u7528\u6237\u7b2c\u4e00\u5468\u7684\u65b0\u5947\u611f\u8fc7\u53bb\uff0c\u52a8\u753b\u672c\u8eab\u4e5f\u4f1a\u53d8\u6210\u65b0\u7684\u201c\u5e72\u6270\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u7684\u771f\u6b63\u7eb5\u6df1\u5728\u4e8e\u4e24\u6761\u8def\uff1a\u4e00\u662f\u5411\u7eaf\u5a31\u4e50\u8f6c\u578b\uff0c\u6210\u4e3a\u684c\u9762\u4e92\u52a8\u5ba0\u7269\uff1b\u4e8c\u662f\u5411\u6548\u7387\u5de5\u5177\u8fdb\u5316\uff0c\u5229\u7528\u201c\u6ce8\u610f\u529b\u6355\u83b7\u4f18\u52bf\u201d\u627f\u8f7d\u66f4\u590d\u6742\u7684\u65e5\u7a0b\u7ba1\u7406\u573a\u666f\u2014\u2014\u6bd4\u5982\u7528\u52a8\u7269\u8868\u60c5\u9884\u8b66\u4f1a\u8bae\u51b2\u7a81\u3002\u76ee\u524d\u7248\u672c\u504f\u8f7b\u677e\u73a9\u5177\uff0c\u82e5\u6b62\u6b65\u4e8e\u5356\u97f3\u6548\u76ae\u80a4\uff0c\u7528\u6237\u7559\u5b58\u582a\u5fe7\u3002\u521b\u59cb\u4eba\u201c\u60f3\u5230\u5c31\u8981\u505a\u5230\u201d\u7684\u6267\u884c\u529b\u503c\u5f97\u8d5e\u8d4f\uff0c\u4f46Product Hunt\u7684\u70ed\u5ea6\u4e0d\u4e00\u5b9a\u80fd\u8f6c\u5316\u4e3a\u957f\u671f\u7684\u65e5\u6d3b\u3002\u4e0b\u4e00\u4e2a\u9636\u6bb5\uff0c\u9700\u8981\u5728\u201c\u8ba9\u4eba\u53d1\u7b11\u201d\u548c\u201c\u771f\u6b63\u6709\u7528\u201d\u4e4b\u95f4\u627e\u5230\u53ef\u6301\u7eed\u7684\u5e73\u8861\u70b9\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\">QuakPit<\/span>\n                <\/div>\n<div class=\"comment-content\">Quakpit is a macOS menu bar app that connects to your calendar and sends an animal-piloted plane flying across your screen before your meetings start. A duck, a dinosaur, a pigeon, a capybara, or a dog, your choice, cruises across your display towing a banner with your meeting name and how long you have left. Hard to ignore. Impossible to hate. Free to download &#038; open source. Connect your calendar, pick your animal, never miss a meeting.<\/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>Quakpit started as a side experiment, I wanted to build my first macOS app and see if I could actually ship something.<\/p>\n<p>So I built a tiny app that sends a duck-piloted plane flying across your screen when a meeting is about to start, with a banner showing how many minutes you have left. I posted one tweet about it with zero expectations.<\/p>\n<p>It blew up.<\/p>\n<p>Hundreds of people asked for the same thing: more animals, custom banners, sounds, calendar integrations. Turns out nobody actually likes boring notification popups.<\/p>\n<p>So I built it properly. Here&#8217;s what Quakpit does today:<br \/>\ud83e\udd86 Connects to your calendar and triggers a flying animation before your meetings<br \/>\u2708\ufe0f A plane crosses your screen with a banner showing your meeting name + time left<br \/>\ud83e\udd95 Choose your pilot \u2014 duck, dinosaur, pigeon, capybara, or dog<br \/>\ud83c\udd93 Completely free and open source<br \/>\u2b50 One-time $4.99 premium for custom banners, sounds, animals and more<\/p>\n<p>It&#8217;s built with love. And the open source part is real, the full free experience is on GitHub.<\/p>\n<p>Would love to hear which animal you&#8217;d pick as your co-pilot \ud83d\udc47<\/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\/@tomboutin_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomboutin_<\/a>&nbsp;The capybara is the only correct answer, nothing says &#8220;your meeting starts in 2 minutes&#8221; like the most unbothered animal alive piloting a plane at you. The &#8220;nobody likes boring notification popups&#8221; insight is real though: dread vs delight is the whole difference in whether people keep a reminder tool installed instead of muting it in a week. Open-sourcing the free tier was a smart trust move too. Upvoted, installing this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tomboutin_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomboutin_<\/a>&nbsp;This is ultracool Tom.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>It looks cute! Will the notification be seen to others if I&#8217;d sharing the screen during the video call? <\/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\/@anastasija_pm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anastasija_pm<\/a>&nbsp;Yes if you share your session!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Okay this is legit awesome. Going to try to download and install now! <\/p>\n<p>Will provide feedback if I have any :).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is the first calendar tool i&#8217;ve seen in years where the feature set made me actually laugh. open source too. what made you pick the plane mechanic specifically over something like a walking animation or a popup<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;I was in Miami and saw the ads plane, so I found it funny haha<\/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>Okay, this is actually a fun idea \ud83d\ude04 Finally a meeting reminder that doesn\u2019t feel depressing. A capybara flying across my screen would definitely get my attention.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 category of &#8220;reminders that don&#8217;t feel like nagging&#8221; is underrated \u2014 the second a notification starts feeling like work, people swipe it away and the whole system loses its job. A duck towing a banner is doing real product work there. I build StoryRoute on the travel side and we&#8217;ve found the same lesson: the delight isn&#8217;t decoration, it&#8217;s the only reason the user gives the tool another chance after the first miss. Congrats on shipping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>so cool! hit the upvote button 3 times!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats with the launch! Capybara pilot is GOAT \ud83e\udef6<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Like the style! So cute =) <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 mean&#8230;I just have to clap. Always love these creative ideas coming to life and productized. \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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>capybara, no contest. if an unbothered little guy is calmly flying across my screen telling me i\u2019m late, i\u2019ll probably listen.<\/p>\n<p>love the mix of useful + ridiculous here. boring meeting popups are way too easy to mentally mute. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Saw this on Twitter the other day. Super fun.<br \/>These are the kinds of apps I want to see here more often \ud83d\ude42<\/p>\n<p>First feedback: Why not access the local apple calendar directly? So I don&#8217;t have to connect to iCloud \/ Google?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is so unnecessary and fun \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rrhoover\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rrhoover<\/a>&nbsp;That&#8217;s what we like hehe<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Genuinely the most charming product on PH today. <br \/>Somehow a duck towing a banner is harder to ignore than the macOS notification I dismiss reflexively a hundred times a day.<br \/>Honest question: is the capybara winning in your usage data? I need to know if my taste matches the median user.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Your logo made a difference, so I clicked! \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<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;Good to know haha<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Hope you will like QuakPit! Any feedback is appreciated!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 such a delightful app. I&#8217;ll get excited for every meeting if this is how I&#8217;m reminded of it.<\/p>\n<p>I just sent this yesterday as a reference to a friend for great solutions for people who need novelty to get things done. Love this, Tom.  <\/p>\n<p>P.S. Also loving the banner going through the Ooble Studio website.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mitalibhasin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mitalibhasin<\/a>&nbsp;Thanks Mitali!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 fantastic! I love joining meetings now<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tobiastornros\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tobiastornros<\/a>&nbsp;Amazing!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 this. Such a small idea but way more memorable than another boring calendar notification. The flying plane + animal pilots makes it really fun. Clean execution and open source is a big plus.<\/p>\n<p>Corgi is definitely my co-pilot \ud83d\udc68\u200d\u2708\ufe0f\ud83d\udc36<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/IX5OZ7CV6SI4OU\" class=\"app-title\">Parrot Speech-to-text API<\/a><\/p>\n<div class=\"one-liner\">Fast, accurate STT for production-grade voice agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">164<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Parrot\u662f\u4e00\u6b3e\u4e13\u4e3a\u751f\u4ea7\u7ea7\u8bed\u97f3\u52a9\u624b\u8bbe\u8ba1\u7684\u8bed\u97f3\u8f6c\u6587\u5b57API\uff0c\u6838\u5fc3\u89e3\u51b3\u5608\u6742\u73af\u5883\u3001\u5370\u5730\u8bed\u6df7\u6742\u82f1\u8bed\u53ca\u5b9e\u65f6\u4f4e\u5ef6\u8fdf\u8f6c\u5f55\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\/560c5ac6-5e86-4314-8355-ddcaf4b7f222.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\/17e91259-1168-44ca-b511-e645fc2f1a92.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\/dbf64a16-dd6e-43e0-8d37-940e3dcc9445.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\/863e567b-e2d1-4251-bbbc-f20f2d8e8c79.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/9HdN_GLXm_Y\"><source src=\"https:\/\/youtu.be\/9HdN_GLXm_Y\" 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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Audio<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3\u8f6c\u6587\u5b57<\/span><br \/>\n            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">\u5370\u5ea6\u82f1\u8bed<\/span><br \/>\n            <span class=\"tag\">\u5370\u5730\u8bed<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5207\u6362<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u8f6c\u5f55<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u5ef6\u8fdf<\/span><br \/>\n            <span class=\"tag\">\u566a\u58f0\u9c81\u68d2<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u5904\u7406<\/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\u805a\u7126\u5176\u5370\u5730\u8bed-\u82f1\u8bed\u4ee3\u7801\u5207\u6362\u4e0e\u566a\u58f0\u5904\u7406\u80fd\u529b\uff0c\u4f46\u53d1\u73b0\u82f1\u8bed\u6df7\u5370\u5730\u8bed\u65f6\u7cfb\u7edf\u4f1a\u504f\u5411\u8f93\u51fa\u5929\u57ce\u6587\u3002\u591a\u4f4d\u7528\u6237\u8be2\u95ee\u6b27\u6d32\u8bed\u8a00\u652f\u6301\u3001\u591a\u8bf4\u8bdd\u4eba\u91cd\u53e0\u5bf9\u8bdd\u5904\u7406\u53caP95\u5ef6\u8fdf\u6570\u636e\uff0c\u5b98\u65b9\u786e\u8ba4\u591a\u8bf4\u8bdd\u4eba\u573a\u666f\u4e3a\u8def\u7ebf\u56fe\u529f\u80fd\uff0c\u672a\u900f\u9732\u7cbe\u786e\u5ef6\u8fdf\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                Parrot\u5207\u5165\u4e86\u4e00\u4e2a\u7cbe\u51c6\u4f46\u72ed\u7a84\u7684\u75db\u70b9\uff1a\u8ba9\u8bed\u97f3\u8f6c\u6587\u5b57\u5728\u5370\u5ea6\u53e3\u97f3\u3001\u566a\u58f0\u548c\u4ee3\u7801\u5207\u6362\u7684\u201c\u810f\u201d\u6570\u636e\u4e2d\u4f9d\u7136\u53ef\u9760\u3002\u8fd9\u786e\u5b9e\u662fOpenAI Whisper\u8fd9\u7c7b\u901a\u7528\u6a21\u578b\u7684\u8f6f\u808b\u2014\u2014\u5b83\u4eec\u5bf9\u6e05\u6670\u97f3\u9891\u7684\u201c\u871c\u6708\u671f\u201d\u57fa\u51c6\u6d4b\u8bd5\uff0c\u5728\u771f\u5b9e\u7535\u8bdd\u4f1a\u8bae\u4e2d\u5f80\u5f80\u4e00\u89e6\u5373\u6e83\u3002Parrot\u5728\u57fa\u51c6\u4e4b\u5916\u5f3a\u8c03\u201c\u4e0b\u6e38\u5de5\u4f5c\u6d41\u53ef\u7528\u6027\u201d\uff0c\u5373\u8f6c\u5f55\u5fc5\u987b\u88abLLM\u5e72\u51c0\u8c03\u7528\uff0c\u8fd9\u5f88\u5b9e\u9645\uff0c\u4f46\u4e5f\u66b4\u9732\u4e86\u5176\u5c40\u9650\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u533a\u770b\uff0c\u7528\u6237\u6700\u5c16\u9510\u7684\u8d28\u7591\u5728\u4e8e\uff1a\u5b83\u662f\u5426\u53ea\u5728\u201c\u5355\u8bf4\u8bdd\u4eba-\u667a\u80fd\u4f53\u201d\u573a\u666f\u6709\u6548\uff0c\u800c\u56de\u907f\u4e86\u66f4\u68d8\u624b\u7684\u591a\u8bf4\u8bdd\u4eba\u91cd\u53e0\u4f1a\u8bdd\uff1f\u5b98\u65b9\u5766\u8bda\u8fd9\u5c5e\u4e8e\u672a\u6765\u8def\u7ebf\u56fe\uff0c\u8fd9\u5f88\u8bda\u5b9e\uff0c\u5374\u4e5f\u610f\u5473\u7740\u5176\u5e94\u7528\u573a\u666f\u88ab\u4e25\u683c\u9650\u5b9a\u5728\u5ba2\u670d\u3001\u8bed\u97f3\u52a9\u624b\u7b49\u4e00\u5bf9\u4e00\u547c\u5165\u573a\u666f\u3002\u6b64\u5916\uff0c\u5370\u5730\u8bed\u4e3b\u5bfc\u65f6\u5bf9\u82f1\u8bed\u8bcd\u6c47\u7684\u201c\u5370\u5730\u8bed\u5316\u8f6c\u5f55\u201d\u73b0\u8c61\uff0c\u8bf4\u660e\u5176\u4ee3\u7801\u5207\u6362\u673a\u5236\u4ecd\u5b58\u5728\u8bed\u8a00\u504f\u5411\uff0c\u5b98\u65b9\u5374\u79f0\u4e4b\u4e3a\u201c\u9884\u671f\u884c\u4e3a\u201d\uff0c\u8fd9\u53ef\u80fd\u4f1a\u8ba9\u4f9d\u8d56\u82f1\u6587\u539f\u6587\u7684\u91d1\u878d\u3001\u6280\u672f\u7c7b\u5e94\u7528\u671b\u800c\u5374\u6b65\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u4e8e\u6280\u672f\u6307\u6807\uff08P95\u5ef6\u8fdf\u548cWER\u5c1a\u672a\u516c\u5e03\uff09\uff0c\u800c\u5728\u4e8e\u5bf9\u5370\u5ea6\u8bed\u97f3\u5e02\u573a\u5782\u76f4\u573a\u666f\u7684\u6df1\u5ea6\u4f18\u5316\u3002\u4f46\u8fd9\u79cd\u5782\u76f4\u6027\u4e5f\u662f\u4e00\u628a\u53cc\u5203\u5251\uff1a\u5b83\u65e2\u8ba9Parrot\u6210\u4e3a\u670d\u52a1\u5370\u5ea6\u7528\u6237\u7684\u8bed\u97f3\u4ea7\u54c1\u56e2\u961f\u7684\u201c\u73b0\u6210\u7b54\u6848\u201d\uff0c\u4e5f\u610f\u5473\u7740\u5728\u5168\u7403\u5316\u6216\u6b27\u6d32\u8bed\u8a00\u573a\u666f\u4e0b\u53ef\u80fd\u6c34\u571f\u4e0d\u670d\u3002\u5bf9\u4e8e\u521b\u4e1a\u8005\u800c\u8a00\uff0c\u82e5\u76ee\u6807\u7528\u6237\u7fa480%\u4ee5\u4e0a\u6765\u81ea\u5370\u5ea6\u8bed\u533a\uff0cParrot\u662f\u5f53\u524d\u6700\u4f18\u9009\uff1b\u4f46\u82e5\u9700\u8986\u76d6\u591a\u8bed\u79cd\u3001\u591a\u573a\u666f\uff0c\u5b83\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u201c\u4e13\u7528\u5de5\u5177\u201d\uff0c\u800c\u975e\u901a\u7528\u5e73\u53f0\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\">Parrot Speech-to-text API<\/span>\n                <\/div>\n<div class=\"comment-content\">Introducing Parrot: Ringg\u2019s speech-to-text model for production-grade voice agents. Capture Hindi-heavy and noisy real-world conversations with low-latency inference, stronger transcript quality, and Hindi validation built for downstream 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>Thrilled to introduce Parrot, <a href=\"https:\/\/www.ringg.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ringg\u2019s<\/a> speech-to-text model built for production-grade voice agents.<\/p>\n<p>Most STT models do well on clean audio. Voice agents don\u2019t get clean audio. They deal with compressed phone calls, Hindi-English code-switching, Indian accents, background noise, and conversations where one misheard word can break the next action.<\/p>\n<p>What makes it different:<\/p>\n<p>\ud83e\udd9c Built for real world calls<br \/>\ud83e\udd9c Low latency inference for smoother voice agent conversations<br \/>\ud83e\udd9c Hindi validation and normalization for cleaner downstream workflows<br \/>\ud83e\udd9c Strong Normalised WER performance on open-source Hindi benchmarks<\/p>\n<p>For teams building voice agents, Parrot helps turn messy speech into cleaner transcripts that LLMs can actually use.<\/p>\n<p><a href=\"https:\/\/www.ringg.ai\/models\/speech-to-text\/v1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Try it out<\/a> and let us know what you&#8217;re building with it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>19<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@itsmeparth\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsmeparth<\/a>&nbsp;can&#8217;t find a better model for my Indian customers. <\/p>\n<p>Are you also working on European languages [Spanish, German ?] or if its coming soon..<\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@itsmeparth\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsmeparth<\/a>&nbsp;Clean audio is a luxury.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Best for voice AI use case!!<\/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>Haha, how can something be this useful and this scary simultaneously!? As someone with a name most humans can&#8217;t spell right, I look forward to the day when this is no longer an issue.<\/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>Exactly! Names are where STT gets very real very fast.<\/p>\n<p>A big part of <a href=\"https:\/\/www.ringg.ai\/models\/speech-to-text\/v1?utm_source=producthunt&amp;utm_medium=launch&amp;utm_campaign=parrot_stt&amp;ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Parrot\u2019s<\/a> focus is making these real-world details more reliable, especially in Indian conversations.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Try this out with easy to integrate package <a href=\"https:\/\/www.ringg.ai\/dashboard\/stt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.ringg.ai\/dashboard\/stt<\/a><\/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>This looks really solid \ud83d\udd25<br \/>Curious about latency and how it performs in noisy real-world calls compared to Whisper.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks Vasyl!!<\/p>\n<p>Whisper is excellent as a general-purpose ASR model, especially for offline and batch transcription.<\/p>\n<p><a href=\"https:\/\/www.ringg.ai\/models\/speech-to-text\/v1?utm_source=producthunt&amp;utm_medium=launch&amp;utm_campaign=parrot_stt&amp;ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Parrot<\/a> is optimized more specifically for production voice agents: streaming calls, low end-of-speech to final transcript latency, and messy real-world audio where the transcript needs to trigger the next action.<\/p>\n<p>We\u2019re also benchmarking on noisy call conditions and Hindi-heavy conversations, not just clean audio. Whisper is not specifically optimized for Indian accents, and its latency can be higher for real-time voice-agent use 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Building voice sessions into a couples app right now (currently on Deepgram for streaming transcription), so the &#8220;voice agents don&#8217;t get clean audio&#8221; framing really lands&#8230;clean-audio benchmarks oversell every STT model until you hit a real room. One thing I&#8217;ve run into that I&#8217;d love your take on: the hardest case isn&#8217;t accent or noise, it&#8217;s <em>two people talking<\/em>, overlapping speech, interruptions, one person finishing the other&#8217;s sentence. Most STT degrades badly there. Is Parrot tuned mainly for the single-caller voice-agent case (one human, one agent), or does it hold up on genuine multi-speaker conversations? Curious whether that&#8217;s a roadmap item or a deliberate scope line.<\/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>Thanks <a href=\"https:\/\/www.producthunt.com\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp; this is a very real point.<\/p>\n<p>Parrot is primarily tuned today for the single caller voice agent case: one human speaking to one agent, with interruptions, short turns, and messy call audio.<\/p>\n<p>Multi-speaker conversation with overlapping speech is a genuine problem to solve. Parrot handles some interruption patterns including background human speech, but full multi-speaker diarization and overlap handling is a roadmap item rather than something we\u2019d overclaim today.<\/p>\n<p>The scope is deliberate: first make real-time voice-agent calls reliable, then expand deeper into multi-speaker scenarios.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 tried this out, amazing speed and accuracy. Great work!<\/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>Thanks Vedant, really appreciate you trying it out!<\/p>\n<p>Speed + accuracy was the core goal for us because voice agents need both. A transcript has to be right, but it also has to arrive fast enough to keep the conversation natural.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Our AI has a voice mode. We use ChatGPT (before that, we used speech-to-text recognition and then text-to-speech). How is your service better? Is it only better Hindi recognition, or is there something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;, fair question.<\/p>\n<p>Hindi recognition is definitely a big focus but not the only one. Parrot is also optimized for low-latency transcription, code-mixed conversations, cleaner normalized output, and real-world call audio where transcripts are expected to trigger the next action.<\/p>\n<p>Happy to set up a demo as well to understand your use case better and explore how Parrot can help solve 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>Building a dedicated validation layer for Hindi downstream workflows is clever. Most generic STT APIs fall apart on code-switching and regional accents. We&#8217;ve hit similar walls where raw transcripts were too noisy for reliable intent parsing in production pipelines. How do you handle Hinglish code-switching, and what&#8217;s the P95 latency on a 10-second audio chunk?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@retain_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@retain_dev<\/a>&nbsp;,  exactly! Raw STT output is often not enough once it has to drive intent parsing or downstream workflows.<\/p>\n<p>For Hinglish, Parrot is trained on code-mixed speech and uses Hindi-aware tokenisation plus a normalisation layer, so the output stays cleaner before it reaches the LLM or API.<\/p>\n<p>On P95 latency for a 10-second chunk, we\u2019re finalising the published benchmark setup and don\u2019t want to quote a loose number without the test conditions. <\/p>\n<p>In real-world voice-agent calls, audio usually does not arrive as one fixed 10-second block. Parrot can segment longer audio into shorter chunks, which helps return responses faster and keeps turn-taking more natural.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulation on the launch! Btw, when I mix English with Hindi, I observed its little biased towards transcribing English in Hindi (using Devnagri glyph). Latency is impressive<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@ashishkingdom\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashishkingdom<\/a>&nbsp;! That\u2019s a fair observation.<\/p>\n<p>For code-mixed conversations where the dominant language is Hindi, this can happen but when English is the dominant language, it should work as expected.<\/p>\n<p>This is one of the expected behaviours.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Production-grade STT that holds up on noisy, code-switched real-world audio is harder than the demos make it look. Hindi-heavy + noisy conversations is exactly the unglamorous evaluation set that exposes most general-purpose STT models. I run a finance podcast (ModeLoop Podcast) and the transcript-quality drop between studio-clean and live-recorded episodes is enormous; tooling that closes that gap meaningfully on top of low latency is genuinely useful. Curious whether you&#8217;re benchmarking against WER on standard sets or against task accuracy on downstream agent workflows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The Hindi-English code-mixing capability is the genuinely hard part here. Most STT models either treat it as two separate language passes or degrade significantly at switch points mid-sentence. How is Parrot handling segmentation at the language boundary? Specifically, when a speaker switches mid-phrase rather than mid-sentence, does the model maintain a single continuous transcript or does it stitch segments, and how does that affect downstream NLU 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<\/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\/EGSCZSVR62KZCS\" class=\"app-title\">AVTR-1 Real-Time Open Weights Model<\/a><\/p>\n<div class=\"one-liner\">Generating uncanny AI avatars is now open source <\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">155<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AVTR-1 \u662f\u4e00\u6b3e\u5f00\u6e90\u5b9e\u65f6AI\u5934\u50cf\u6a21\u578b\uff0c\u80fd\u5728\u4f60\u8bf4\u8bdd\u65f6\u5b9e\u65f6\u751f\u6210\u6bcf\u4e00\u5e27\u9762\u90e8\u8868\u60c5\u5e76\u5b9e\u73b0\u5168\u53cc\u5de5\u4e3b\u52a8\u8046\u542c\uff0c\u89e3\u51b3\u4e86\u73b0\u6709AI\u5934\u50cf\u201c\u5047\u5531\u5f0f\u201d\u5ef6\u8fdf\u548c\u7f3a\u4e4f\u8bed\u4e49\u53cd\u5e94\u7684\u75db\u70b9\uff0c\u8ba9\u5f00\u53d1\u8005\u96f6\u6210\u672c\u81ea\u5efa\u903c\u771f\u4ea4\u4e92\u5934\u50cf\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\/7152c231-ae60-4cf8-a677-4d3cabe2bff2.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\/2de6a24d-98d2-4f46-a15e-79edc448d048.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\/5c494bd3-a287-4b8c-a306-b2b80fa3944f.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\/3e683780-9b57-4bb0-a99e-c53df9460e5e.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\/1e483f3a-8484-4264-adb6-23871ecdbbe1.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\/0ef1ec6e-2982-46d9-9d94-a918f7083fb6.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\/464edd4d-055c-493a-9b4d-7f5cfe09b5df.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/mupdCh9nWnM\"><source src=\"https:\/\/youtu.be\/mupdCh9nWnM\" 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\">Video Streaming<\/span><br \/>\n            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90AI\u5934\u50cf<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5168\u53cc\u5de5<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u52a8\u8046\u542c<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u54cd\u5e94<\/span><br \/>\n            <span class=\"tag\">\u96f6\u6210\u672c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u5ef6\u8fdf<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u4ea4\u4e92<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u805a\u7126\u4e8e\u5168\u53cc\u5de5\u4e3b\u52a8\u8046\u542c\u548c\u5b9e\u65f6\u8868\u60c5\u662f\u6700\u5927\u5dee\u5f02\u5316\u4f18\u52bf\uff0c\u8d28\u7591\u7aef\u5230\u7aef\u5ef6\u8fdf\uff08\u56de\u590d\u6f84\u6e05\u6a21\u578b\u4fa7\u4ec580-90ms\uff0c\u603b\u5ef6\u8fdf\u8fd8\u4f9d\u8d56\u8bed\u97f3\u7ba1\u9053\uff09\u3002\u63d0\u95ee\u96c6\u4e2d\u5728\u8bb8\u53ef\u8bc1\u3001\u5934\u50cf\u5b9a\u5236\u3001\u5355GPU\u8fd0\u884c\u6027\uff084090\u53ef\u884c\uff09\u53ca\u4e0eTavus\/HeyGen\u7684\u5dee\u5f02\u3002\u5f00\u53d1\u8005\u770b\u91cd\u5f00\u6e90\u5bf9\u5546\u4e1a\u8ba2\u9605\u6a21\u5f0f\u7684\u98a0\u8986\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                AVTR-1\u7684\u672c\u8d28\u5e76\u975e\u201c\u53c8\u4e00\u4e2a\u903c\u771f\u5934\u50cf\u201d\uff0c\u800c\u662f\u7528\u5f00\u6e90\u91cd\u5199\u6e38\u620f\u89c4\u5219\u3002\u5b83\u7cbe\u51c6\u6345\u7834\u4e86\u5f53\u524dAI\u5934\u50cf\u884c\u4e1a\u7684\u7a97\u6237\u7eb8\uff1a\u90a3\u4e9b\u5ba3\u79f0\u201c\u5b9e\u65f6\u201d\u7684\u7ade\u54c1\uff0c\u5b9e\u9645\u5927\u591a\u662f\u9884\u5f55\u9762\u90e8\u5faa\u73af\u52a0\u5634\u578b\u66ff\u6362\uff0c\u6d88\u8d39\u8005\u88ab\u5ffd\u60a0\u4e86\u4e09\u5e74\u3002AVTR-1\u6bcf\u5e27\u4ece\u5934\u5230\u4e0b\u5df4\u5168\u751f\u6210+\u5168\u53cc\u5de5\u8046\u542c\uff0c\u5728\u6280\u672f\u7ef4\u5ea6\u4e0a\u786e\u5b9e\u628a\u884c\u4e1a\u6807\u51c6\u4ece\u201c\u8868\u6f14\u201d\u62c9\u5230\u4e86\u201c\u5bf9\u8bdd\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u771f\u6b63\u81f4\u547d\u7684\u4e0d\u662f\u6280\u672f\u53c2\u6570\uff0c\u800c\u662f\u5b9a\u4ef7\u7b56\u7565\u548c\u5f00\u6e90\u5fc3\u6001\u3002\u5bf9\u5e74\u6536\u5165\u4f4e\u4e8e1000\u4e07\u7f8e\u5143\u7684\u5546\u7528\u5b8c\u5168\u514d\u8d39\uff0c\u76f4\u63a5\u6495\u5f00\u4e86\u6309\u5206\u949f\u8ba1\u8d39\u5de8\u5934\uff08\u5982HeyGen\uff09\u7684\u5229\u6da6\u9632\u7ebf\u3002\u8fd9\u5e76\u975e\u6148\u5584\uff0c\u800c\u662f\u9633\u8c0b\uff1a\u75280\u6210\u672c\u5438\u5f15\u6d77\u635e\u7684\u72ec\u7acb\u5f00\u53d1\u8005\u3001\u4e2d\u5c0f\u56e2\u961f\u548c\u5c1d\u9c9c\u8005\uff0c\u8fc5\u901f\u79ef\u7d2f\u5e94\u7528\u573a\u666f\u548c\u6570\u636e\u53cd\u9988\uff0c\u8ba9\u6a21\u578b\u5728\u5f00\u6e90\u793e\u533a\u4e2d\u88ab\u78e8\u5f97\u66f4\u950b\u5229\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u201c\u7280\u5229\u201d\u4e4b\u5916\u4e5f\u6709\u51b7\u9759\u70b9\u3002\u5176\u201c\u5b9e\u65f6\u201d\u5b58\u5728\u4e0a\u4e0b\u6587\uff1a\u6a21\u578b\u751f\u6210\u7aef\u4ec580-90ms\uff0c\u4f46\u6574\u4e2a\u5bf9\u8bdd\u94fe\u8def\u7684\u7aef\u5230\u7aef\u5ef6\u8fdf\uff08STT-LLM-TTS+\u7f51\u7edc\u4f20\u8f93\uff09\u624d\u662f\u7528\u6237\u4f53\u9a8c\u7684\u771f\u74f6\u9888\u3002\u5b98\u65b9\u516c\u5e03\u7684L4\/4060\u7b49\u6d88\u8d39\u7ea7\u663e\u5361\u80fd\u8dd1\uff0c\u4f46\u6027\u80fd\u5e76\u672a\u8d85\u8fc7A100\uff0c\u8fd9\u610f\u5473\u7740\u5f00\u53d1\u8005\u5982\u679c\u4e0d\u4e0a\u9ad8\u7aef\u4e91GPU\uff0c\u5728\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\u4ecd\u53ef\u80fd\u4f53\u9a8c\u8df3\u6c34\u3002\u6b64\u5916\uff0c\u5f53\u524d\u516c\u5f00\u7684\u53c2\u8003\u5934\u50cf\u6570\u91cf\u548c\u98ce\u683c\u6709\u9650\uff0c\u82e5\u5f00\u53d1\u8005\u60f3\u5b9a\u5236\u72ec\u7279\u5f62\u8c61\uff0c\u590d\u523b\u6210\u672c\u5982\u4f55\uff0c\u4ecd\u9700\u5b9e\u6218\u9a8c\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                AVTR-1\u6700\u5927\u7684\u8d21\u732e\u5e76\u975e\u6280\u672f\u672c\u8eab\uff0c\u800c\u662f\u628a\u201c\u53ef\u81ea\u6301\u3001\u53ef\u4fee\u6539\u3001\u53ef\u96c6\u6210\u201d\u7684\u89c6\u9891\u5934\u50cf\u5c42\u4ece\u9ed1\u76d2\u53d8\u6210\u5f00\u6e90\u534f\u8bae\u3002\u5b83\u52a8\u4e86\u8c01\u7684\u86cb\u7cd5\uff1f\u6240\u6709\u9760API\u8c03\u7528\u8d39\u8d5a\u94b1\u7684\u95ed\u6e90\u5934\u90e8\u3002\u5b83\u6311\u6218\u4e86\u8c01\uff1f\u6bcf\u4e2a\u60f3\u559d\u5230\u5934\u6c64\u7684\u5f00\u53d1\u8005\u2014\u2014\u73b0\u5728\u4f60\u4eec\u8981\u505a\u7684\u4e0d\u518d\u662f\u9009\u4f9b\u5e94\u5546\uff0c\u800c\u662f\u51b3\u5b9a\u75280\u6210\u672c\u62fc\u51fa\u4e0b\u4e00\u4e2a\u7206\u6b3e\u5e94\u7528\uff0c\u8fd8\u662f\u4e00\u8fb9\u89c2\u671b\u4e00\u8fb9\u770b\u522b\u4eba\u8d77\u98de\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\">AVTR-1 Real-Time Open Weights Model<\/span>\n                <\/div>\n<div class=\"comment-content\">The best real-time avatar model in the world is now open source with open weights. Take the model, tweak it, and use it at $0 cost. What&#8217;s unique: our model listens while you speak \u2014 full-duplex; the avatar reacts in real-time, with minimal latency. \u2022 Every frame is generated, avoiding annoying animation loops from pre-rendered playback. \u2022 Full streaming infrastructure included so you can get started right away.<\/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 Sergei Sherman, CEO of <a href=\"https:\/\/www.producthunt.com\/@Avaturn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@Avaturn<\/a>.<\/p>\n<p>Today we&#8217;re releasing <strong>AVTR-1<\/strong> \u2014 an open-weights real-time AI avatar model that sets a new state of the art on key benchmarks.<\/p>\n<p>If you&#8217;re building anything with real-time AI avatars, AVTR-1 is for you.<\/p>\n<p>\u270d\ufe0f Here&#8217;s what makes AVTR-1 different:<\/p>\n<ol>\n<li>\n<p><strong>The whole face is generated.<\/strong> Not just the lips swapped onto a pre-recorded clip. Every pixel of the avatar&#8217;s face, top of the head to the chin, is generated in real time, frame by frame.<\/p>\n<\/li>\n<li>\n<p><strong>Native duplex \u2014 the avatar actively listens.<\/strong> The model is generating all the time, whether the avatar is speaking or listening. Just like a human on a call, the avatar&#8217;s face responds to your words and your tone in real time. The brow lifts at word three because you sounded surprised at word three, not after the sentence ends.<\/p>\n<\/li>\n<\/ol>\n<p>For three years, &#8220;real-time avatars&#8221; have meant pre-recorded video with a generated mouth pasted on top. We threw out the recording.<\/p>\n<p>\ud83c\udfaf Why you want AVTR-1:<\/p>\n<ul>\n<li>\n<p><strong>Open weights.<\/strong> Free for personal, research, and any commercial use under $10M in annual revenue. Commercial licensing above that, through us.<\/p>\n<\/li>\n<li>\n<p><strong>Sub-200ms end-to-end on one A100 or 4060.<\/strong> Runs on youd device in a data center, in the cloud.<\/p>\n<\/li>\n<li>\n<p><strong>Avaturn Streamer included<\/strong> \u2014 the open infrastructure layer for real-time avatars. Accepts AVTR-1 or any other open-weight real-time video model as a drop-in. Plug in your video model on one side, your conversation backend on the other.<\/p>\n<\/li>\n<li>\n<p><strong>Reference avatars<\/strong> out of the box. Model cards, license-cleared, deployable today.<\/p>\n<\/li>\n<li>\n<p><strong>Launch-partner examples in the repo<\/strong> with Cartesia and Pipecat on day one.<\/p>\n<\/li>\n<\/ul>\n<p>\ud83c\udfd7\ufe0f One thing we&#8217;re explicitly NOT launching \u2014 and want the industry to build with us:<\/p>\n<p>A public, vendor-neutral leaderboard for real-time AI avatars. The category needs a transparent scoreboard, one the ecosystem runs together. Clear, public competition is the only way improvement happens fast. <br \/>We&#8217;re inviting every other vendor, every open-source contributor, every researcher to help us build it.<\/p>\n<p>\ud83c\udf89 Everything is live today:<\/p>\n<ul>\n<li>\n<p>Code, inference, evaluation: <a href=\"http:\/\/github.com\/avaturn-live\/avtr-1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">github.com\/avaturn-live\/avtr-1<\/a><\/p>\n<\/li>\n<li>\n<p>Download Model Weights <a href=\"http:\/\/huggingface.co\/avaturn-live\/avtr-1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">huggingface.co\/avaturn-live\/avtr-1<\/a><\/p>\n<\/li>\n<li>\n<p>Technical report, full paper, reproducible benchmarks: <a href=\"http:\/\/avtr-1.avaturn.live\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">avtr-1.avaturn.live<\/a><\/p>\n<\/li>\n<li>\n<p>Hosted demo: <a href=\"http:\/\/avaturn.live\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">avaturn.live<\/a><\/p>\n<\/li>\n<\/ul>\n<p>Real-time generated video is the next frontier. Every previous wave \u2014 text, then real-time audio \u2014 produced an open layer the category built on. We&#8217;re shipping that layer today: model and orchestration both.<\/p>\n<p>Drop questions, feedback, or what you&#8217;re building below \u2014 I&#8217;ll be here all day \ud83d\ude80<\/p>\n<p>\u2014 Sergei<\/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\/@Avaturn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@Avaturn<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@sergei_sherman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sergei_sherman<\/a>&nbsp;Congrats on the launch team. How do you handle user interruptions?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 active listening part is what separates this from every other avatar tool. current ones just talk at you with dead eyes while you wait. if the expression matching actually works in real time this changes how you build AI sales and onboarding flows<\/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\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;Thanks Tina! Yes, this is our differentiator, thanks for commenting on this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried the demo before launch \u2014 the lip sync is noticeably better than what I\u2019ve seen with other generative avatars. But <a href=\"https:\/\/www.producthunt.com\/@sergei_sherman\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sergei_sherman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sergei_sherman<\/a> walked me through something deeper: <em>active listening<\/em> coupled with<em> empathetic response<\/em>.<\/p>\n<\/p>\n<p>You know how you can kind of say anything to most AI avatars (e.g. \u201cmy mom died\u201d, or &#8220;omg there&#8217;s a murderer outside my window!&#8221;) and they&#8217;ll just blink, cycle their idle loop, nod and say something like \u201coh, that\u2019s nice to hear.\u201d These bots are just mouths on a timer with zero semantic read.<\/p>\n<\/p>\n<p>AVTR-1 generates every pixel of the face in real time, frame by frame. When meaning shifts in what you\u2019re saying, the expression shifts to match \u2014 e.g. brow lifting at word three because the content warranted it, not just because the sentence ended.<\/p>\n<\/p>\n<p><strong>For developers<\/strong>: there\u2019s no Pipecat equivalent for video agents right now. <a href=\"https:\/\/www.producthunt.com\/products\/avaturn-live-2\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"avaturn-live-2\" target=\"_blank\" rel=\"noopener\">@Avaturn Live<\/a> is shipping the full stack \u2014 model weights, streamer, sync layer, reference avatars. Bring your own GPU, and you&#8217;re ready in 15 minutes. Open weights is a big deal, and it&#8217;s all free if your business is under $10M ARR.<\/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\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a>&nbsp;Thanks Chris,  we rreally are excited on giving this to developers and end users. Theoretcially? You can now generate enldess avatar content at $0.  Exciting times!) <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 guys! We are so excited to show you our new model: avatars became even more realistic and reactive. The awesome thing is that active listening is now at another level: avatars are reacting to your speech like a real person. If you are not a technical person like me, you can simply go to our website and talk to our avatars to see how cool that is! If you are a developer yourself, check out our github: we opened our model!<\/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\/@ekulianova\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ekulianova<\/a>&nbsp;I just spoke with Ben. When you say it\u2019s open source, can we create other characters, or do we have to use the ones you already have?<\/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 9x faster claim is interesting but faster than what exactly. the baseline matters a lot here. sub-300ms felt like magic two years ago and now it&#8217;s table stakes for anything calling itself real-time. curious what the actual latency numbers look like end to end, not just the generation side<\/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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;<br \/>On 300ms: it&#8217;s not generation time. Generation actually takes 80-90ms depending on GPU model. The 300ms is the model-side pipeline latency that comes from audio context buffering \u2014 you need to look ahead at a chunk of audio before producing a lip-synced frame, which is fundamental for any audio-driven avatar. Doesn&#8217;t include the latency of wherever the avatar&#8217;s speech is coming from (STT-LLM-TTS pipelines or speech-to-speech models) or the time required to deliver frames over the network to the viewer. Add those in and true E2E depends on the setup, location, and network conditions. Our results match or exceed proprietary competitors, and we&#8217;re open sourcing the model and code anyway. Try the online demo and judge for yourself. On 9x \u2014 that was against an offline non-realtime generator, so it&#8217;s more &#8220;real-time vs not&#8221; than a clean like-for-like baseline.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How is it different from Tavus or HeyGen?<\/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\/@maria_anosova\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maria_anosova<\/a>&nbsp;are you using Tavus or Heygen? Like daily? Speaking with them for hours?  I guess not.  The new model is trying to achieve this.  Better avatars, that you can speak naturally, and by open sourcing it &#8211; you can install it on your device at $0 , which is attractive price I guess.  But more importantly, we open source so anyone can contribute so this model moves faster on development towards inflection point where you will feel that avatars are just like human <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>What GPU is 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\/@solodnev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@solodnev<\/a>&nbsp;Multiple GPUs supported  here is example from Github repo<\/p>\n<div>\n<table>\n<tbody>\n<tr>\n<th>\n<p><strong>GPU<\/strong><\/p>\n<\/th>\n<th>\n<p><strong>Latency \/ 5-frame chunk<\/strong><\/p>\n<\/th>\n<th>\n<p><strong>Real-time factor<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p>L40<\/p>\n<\/td>\n<td>\n<p>84 ms<\/p>\n<\/td>\n<td>\n<p>2.4\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>A100<\/p>\n<\/td>\n<td>\n<p>91 ms<\/p>\n<\/td>\n<td>\n<p>2.2\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>RTX 4060 Ti<\/p>\n<\/td>\n<td>\n<p>166 ms<\/p>\n<\/td>\n<td>\n<p>1.2\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>RTX 3070<\/p>\n<\/td>\n<td>\n<p>181 ms<\/p>\n<\/td>\n<td>\n<p>1.1\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>L4<\/p>\n<\/td>\n<td>\n<p>202 ms<\/p>\n<\/td>\n<td>\n<p>0.99\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>RTX 3060 Ti<\/p>\n<\/td>\n<td>\n<p>206 ms<\/p>\n<\/td>\n<td>\n<p>0.97\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>RTX 4060<\/p>\n<\/td>\n<td>\n<p>232 ms<\/p>\n<\/td>\n<td>\n<p>0.86\u00d7<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"comment-actions\">\n<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\">I\u2019m curious if you guys have a preferred way that you want users to frame or position the avatars they deploy. In other words, do you want people to think they\u2019re real, or should they always reveal up front that these are AI?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Full-duplex with &#8220;minimal latency&#8221; and every-frame-generated is the hard combo \u2014 what&#8217;s the actual end-to-end latency, and on what GPU? Open weights only matter if a small team can self-host without a rack of H100s, so the number that decides adoption is &#8220;real-time on a single 4090&#8221; versus &#8220;real-time only on datacenter silicon.&#8221; Which is it 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on this amazing release! I\u2019ve been in the real time Avatar business for the past 20 years. My first real time Avatar engine, a desktop windows app called Virtual Assistant Denise was released in 2008, and finding out you\u2019re open sourcing your framework is just a unbelievable good news taking in consideration the high quality and competitiveness of your engine. You may be right now disrupting a very competitive market, where most big players will have to review their pricing. I have great respect for all those current Avatar companies as I\u2019ve worked with most of them and know their very skilled people and their effort to stay competitive, and I do understand their efforts and investments to stay alive. But on the other hand, they need to go back in time and observe what companies like Unreal did to survive when Unity came up and disrupted the game market. Thanks to that, today we have small group of people releasing amazing games! Congrats again on this intrepid move, as developers can now focus on the creation of the final product, and not on finding ways to pay for subscriptions. TTS, STT, LLMs, memory and database frameworks were until a few time ago in the hands of a few companies and today they became commodities. Your decision to open source this engine is one big step to democratize this important piece of software to build human machine interactive product possible for everyone. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Open-sourcing the weights for a real-time avatar model is a much bigger deal than the headline suggests. The closed-stack incumbents in this space charge per-minute and effectively gate experimentation to whoever can afford to burn API credits playing with use cases. I make finance educational content on Mod3Loop (YouTube) and the choice between &#8220;talking head on camera&#8221; and &#8220;avatar reading a script&#8221; has been completely blocked on per-minute cost economics for indie creators \u2014 free weights changes that math entirely. Full-duplex listening while speaking is the unsexy part that actually makes these feel like presence rather than playback.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really great to see truly open models for realtime video (and a nice technical overview post). Congratulations on the launch, team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kwindla\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kwindla<\/a>&nbsp;Thanks! Very happy about our collaboration with Pipecat,  Github repo and Avaturn.live API both are happily running on it:) <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love this! I am working on a project to enable voice as primary interface for agents doing real work would love to integrate with AVATURN! Tried using with Tavus before but too pricey, how can we scale this to multiple users any tips on the same? Love the project and initiative, congrats on the launch! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried the demo, looks impressive. Why have you decided to open source your model?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@artyom_zhuravlev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artyom_zhuravlev<\/a>&nbsp;Thanks! The reason is simple, open source moves faster, and growing the entire market wiht more developers coming in. We want to move fast and we believe the market can be 10X bigger then it is today, but for that you need also a good model. As soon as we saw the benchmark results and how user engage with it we realized this is the first model that  can deliver this promise, so we want to spread it as fast as possible.  Note that we also released our streamer so our competitors can use it for better streaming, the entire industry needs to jump over a certain quality bar to be good enough  &#8211; &gt; We are helping this happen 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<\/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\/AO2NOTZUBFQK3O\" class=\"app-title\">Willow Scribe<\/a><\/p>\n<div class=\"one-liner\">Tell Scribe what to say. It writes the rest.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">135<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Willow Scribe\u662f\u4e00\u6b3e\u901a\u8fc7\u8bed\u97f3\u8f93\u5165\u6838\u5fc3\u610f\u56fe\u3001\u81ea\u52a8\u751f\u6210\u5b8c\u6574\u6d88\u606f\u7684AI\u5199\u4f5c\u52a9\u624b\uff0c\u89e3\u51b3\u7528\u6237\u5728\u90ae\u4ef6\u3001Slack\u3001iMessage\u7b49\u5de5\u4f5c\u5e94\u7528\u4e2d\u201c\u8bf4\u65f6\u60f3\u6cd5\u51cc\u4e71\u3001\u6253\u5b57\u65f6\u8d39\u529b\u201d\u7684\u6c9f\u901a\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\/0acfc1cf-c0e5-4b32-94bd-045925b0d3db.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\/6ab7b743-cf10-4ec2-888b-2a7a23a2a326.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\/42d2ab3b-8673-423a-a815-d9db54914304.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\/6e3e7a62-8986-4648-b61f-8596aeba6e45.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/26db51adcaf94671a2fcaad3ee7faff7\"><source src=\"https:\/\/www.loom.com\/share\/26db51adcaf94671a2fcaad3ee7faff7\" 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\">Writing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5199\u4f5c\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u6587\u672c<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u64b0\u5199<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5199\u4f5c\u98ce\u683c\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u6587\u672c\u6539\u5199<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u5c06\u53e3\u8bed\u5316\u601d\u8003\u8f6c\u5316\u4e3a\u6574\u6d01\u6d88\u606f\u201d\u7684\u4ef7\u503c\uff0c\u8ba4\u4e3a\u4f20\u7edf\u542c\u5199\u5de5\u5177\u96be\u4ee5\u5904\u7406\u4e2d\u9014\u6539\u53e3\u548c\u6682\u6001\u8bed\u8a00\u3002\u4e3b\u8981\u95ee\u9898\uff1a\u98ce\u683c\u5b66\u4e60\u662f\u5426\u53ef\u91cd\u7f6e\u3001\u5b9a\u4ef7\u7ec6\u8282\u3001\u80fd\u5426\u5728\u975e\u6307\u5b9a\u5e94\u7528\u4e2d\u5b9e\u65f6\u6539\u5199\u3001\u4ee5\u53caScribe\u76f8\u8f83\u4e8e\u57fa\u7840\u542c\u5199\u529f\u80fd\u7684\u957f\u671f\u7559\u5b58\u7387\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                Willow Scribe\u7684\u5207\u5165\u70b9\u975e\u5e38\u7cbe\u51c6\u2014\u2014\u5b83\u6ca1\u6709\u8bd5\u56fe\u53bb\u53d6\u4ee3\u6253\u5b57\u6216\u5bf9\u8bdd\u5f0fAI\uff0c\u800c\u662f\u586b\u8865\u4e86\u201c\u8bed\u97f3\u8f93\u5165\u201d\u548c\u201c\u53ef\u53d1\u9001\u6d88\u606f\u201d\u4e4b\u95f4\u7684\u65ad\u5c42\u3002\u4f20\u7edf\u542c\u5199\u5de5\u5177\u672c\u8d28\u4e0a\u662f\u201c\u8bed\u97f3\u6253\u5b57\u673a\u201d\uff0c\u5fe0\u5b9e\u6355\u6349\u6bcf\u4e00\u4e2a\u5b57\u548c\u9519\u8bef\uff0c\u6700\u7ec8\u8f93\u51fa\u4ecd\u9700\u8981\u4eba\u5de5\u4fee\u6b63\uff1b\u800cScribe\u5219\u5728\u5e95\u5c42\u4e0a\u8fdb\u884c\u4e86\u4e00\u6b21\u8bed\u4e49\u91cd\u6784\uff0c\u5c06\u7528\u6237\u6df7\u4e71\u7684\u53e3\u8bed\u8349\u7a3f\u89c6\u4e3a\u201c\u610f\u56fe\u201d\uff0c\u5e76\u5728\u7528\u6237\u5199\u4f5c\u98ce\u683c\u6a21\u7248\u4e2d\u751f\u6210\u5e72\u51c0\u7684\u6210\u54c1\u3002\u8fd9\u79cd\u201c\u4ece\u8bf4\u610f\u56fe\u5230\u5199\u5b8c\u6bd5\u201d\u7684\u8f6c\u53d8\uff0c\u624d\u662f\u771f\u6b63\u964d\u4f4e\u4e86\u601d\u8003\u5230\u8f93\u51fa\u7684\u8ba4\u77e5\u8d1f\u8377\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u4ea7\u54c1\u9762\u4e34\u7684\u6838\u5fc3\u6311\u6218\u6070\u6070\u5728\u4e8e\u201c\u9690\u79c1\u4e0e\u98ce\u683c\u5b66\u4e60\u201d\u7684\u5e73\u8861\u3002\u6b63\u5982\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\uff0c\u5f53\u7528\u6237\u5728\u4e0d\u540c\u793e\u4ea4\u5c42\u7ea7\uff08\u8001\u677f vs \u597d\u53cb\uff09\u4e2d\u5207\u6362\u65f6\uff0cAI\u9700\u8981\u52a8\u6001\u8c03\u6574\u201c\u8bed\u6c14\u70ed\u5ea6\u548c\u76f4\u63a5\u7a0b\u5ea6\u201d\uff0c\u800c\u76ee\u524d\u7684\u4ea7\u54c1\u63cf\u8ff0\u4f3c\u4e4e\u504f\u5411\u9759\u6001\u5b66\u4e60\u7528\u6237\u201c\u98ce\u683c\u201d\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u60c5\u611f\u9519\u4f4d\u3002\u6b64\u5916\uff0c\u7559\u5b58\u7387\u95ee\u9898\u540c\u6837\u68d8\u624b\u2014\u2014\u4eba\u4eec\u7528\u5b8c\u4e00\u6bb5\u8bdd\u540e\u53ef\u80fd\u5fd8\u8bb0\u6fc0\u6d3b\u8be5\u5de5\u5177\uff0c\u9664\u975e\u5b83\u6df1\u5ea6\u5d4c\u5165\u5230\u8f93\u5165\u6cd5\u6216\u7cfb\u7edf\u83dc\u5355\u5c42\uff0c\u800c\u4e0d\u662f\u4f9d\u8d56\u663e\u5f0f\u201c\u6309\u70ed\u952e-\u8bf4\u8bdd\u201d\u7684\u89e6\u53d1\u6a21\u5f0f\u3002\u4ece\u6280\u672f\u5b9e\u73b0\u770b\uff0c\u5176\u5bf9macOS\u6587\u672c\u9ad8\u4eae\u533a\u8fdb\u884c\u201c\u539f\u4f4d\u6539\u5199\u201d\u7684\u80fd\u529b\uff0c\u5982\u679c\u53ea\u9650\u5236\u5728\u51e0\u6b3eAPP\u5185\uff0c\u4f53\u9a8c\u5c06\u5927\u6253\u6298\u6263\uff1b\u5982\u679c\u5fc5\u987b\u901a\u8fc7Accessibility API\u5168\u8986\u76d6\uff0c\u5219\u6027\u80fd\u548c\u517c\u5bb9\u6027\u662f\u9700\u8981\u8fc8\u8fc7\u7684\u574e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cWillow Scribe\u6709\u6f5c\u529b\u6210\u4e3a\u201c\u751f\u6210\u5f0fAI+\u5199\u4f5c\u5de5\u4f5c\u6d41\u201d\u54c1\u7c7b\u4e2d\u771f\u6b63\u8ba9\u4eba\u5f62\u6210\u808c\u8089\u8bb0\u5fc6\u7684\u5de5\u5177\uff0c\u524d\u63d0\u662f\u5b83\u5fc5\u987b\u8bc1\u660e\u81ea\u5df1\u7684\u5b9e\u65f6\u6027\uff08\u4e0d\u5361\u987f\uff09\u3001\u5168\u5c40\u6027\uff08\u975e\u53ea\u9650\u6307\u5b9aApp\uff09\u548c\u52a8\u6001\u9002\u5e94\u6027\uff08\u975e\u66b4\u529b\u5b66\u4e60\u7528\u6237\u7684\u6240\u6709\u98ce\u683c\uff09\u3002\u76ee\u524d135\u7968\u7684\u9996\u65e5\u8868\u73b0\u4e2d\u89c4\u4e2d\u77e9\uff0c\u662f\u5426\u80fd\u5728\u529f\u80fd\u5806\u53e0\u4e2d\u9003\u8fc7\u201c\u4f53\u9a8c\u4e24\u5468\u5373\u5f03\u7528\u201d\u7684\u602a\u5708\uff0c\u5173\u952e\u770b\u5b83\u540e\u7eed\u80fd\u5426\u4ece\u201c\u5e2e\u4f60\u5199\u201d\u8fdb\u5316\u5230\u201c\u5e2e\u4f60\u60f3\u5f97\u66f4\u6e05\u695a\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\">Willow Scribe<\/span>\n                <\/div>\n<div class=\"comment-content\">Willow Scribe lets you speak the gist of what you want to say and writes the full message for you in your own voice. You talk the way you actually think and a finished message comes out the other side, ready to send. It works inside the apps where you already write the most like email, Slack, iMessage, and Google Docs. You can also highlight any text on your screen, tell Willow how to change it, and the selection gets rewritten in place. The more you use it, the more it sounds like you.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">If you&#8217;ve ever used voice dictation for work, you know how quickly it gets difficult for real work communication and writing. You change your mind halfway through a sentence, and the transcriber types every word anyway. You go back to fix it, and sometimes you just give up and type the whole thing yourself.<\/p>\n<p>Typing gives you a moment to think before you put words on the page. But voice dictation expects you to think out loud in perfect sentences, which almost nobody can actually do.<\/p>\n<p>Scribe works differently. It feels more like talking to a smart writing assistant than dictating into a microphone. You give it the rough idea, the way you&#8217;d explain something to a friend, and it writes the actual message in your voice. You can ramble or change your mind and the message still comes out clean. The more you use it, the closer it gets to sounding like you.<\/p>\n<p>A few things Scribe does:<\/p>\n<p>1. Writes a full message from a rough spoken idea. Hit your Scribe hotkey and say &#8220;write a follow-up to John about the design review&#8221; and Willow drafts the email in your voice.<\/p>\n<p>2. Replies in context. Inside an email or Slack thread, say &#8220;reply and tell him I&#8217;ll send the deck by Friday&#8221; and Scribe uses the existing thread to write the response.<\/p>\n<p>3. Rewrites any text you highlight. Press your Scribe hotkey on a selection and say what you want changed. Try &#8220;make this writing more clear&#8221; or &#8220;rewrite this in Mandarin.&#8221;<\/p>\n<p>4. Works directly inside the apps you already write in, with full awareness of the document or thread around you.<\/p>\n<p>Close to 20% of ChatGPT usage is helping people with communication like drafting emails or rewriting messages. Scribe is built exactly for that job. It runs on your voice, lives inside the apps you&#8217;re already using, and picks up your writing style.<\/p>\n<p>Willow now has two voice modes. Dictation, our original product, lets you type with your voice anywhere on your computer. And Scribe writes the message for you when you&#8217;d rather speak the gist. <\/p>\n<p>Between them, my hands have barely touched the keyboard today!<\/p>\n<p>For the Product Hunt community, we&#8217;re offering 50% off for the first three months. Link at the top.<\/p>\n<p>Our team would like to hear your feedback. Try it for a few days, tell us what you&#8217;d want next, and we&#8217;ll be in the thread answering questions all day.<\/p><\/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\/@allan_guo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@allan_guo<\/a>&nbsp;This feels like one of those tools that quietly changes how people work once it becomes part of their daily flow. The \u201cremove the friction between thinking and writing\u201d angle is really strong. How are users adapting socially to speaking their thoughts out loud more often instead of typing everything silently?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great work on this launch! Running inside the apps people already use instead of asking them to change their workflow is exactly the right call<\/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\/@marianna_tymchuk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianna_tymchuk<\/a>&nbsp;That\u2019s exactly the biggest advantage of Willow. We live where you already work, inside the tools you use every day, so there\u2019s nothing new to learn or switch to! We just fit into your existing workflow and make it better \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>The interesting bit here is the gap between \u201chow I talk while thinking\u201d and \u201chow I want the final message to read.\u201d A lot of voice tools preserve the first too literally, which makes the output fast but still not quite sendable.<\/p>\n<\/p>\n<p>I\u2019d be curious how Willow separates transient spoken scaffolding \u2014 false starts, caveats, messy ordering \u2014 from durable voice traits like sentence rhythm, level of warmth, and how direct someone tends to be. That feels especially important inside Slack\/email, where the same person may want a very different register depending on recipient and risk.<\/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>The biggest issue for me has always been that I don\u2019t speak in perfectly structured sentences, especially when writing emails,  messages, or prompts. So the idea of turning a rough spoken thought into a clean message in your own voice feels much more useful than traditional dictation.<\/p>\n<p>The context-aware replies are especially interesting. If it can understand the thread and draft something that actually fits the situation, that could save a lot of time. A few questions: how much does Willow learn from someone\u2019s writing style over time, and can users control or reset that personalization? Also, how does pricing work after the Product Hunt discount?<\/p>\n<p>Really curious to see where this goes. Good luck with the launch!<\/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\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Thanks so much for the thoughtful comment, really appreciate you digging into the details.<\/p>\n<p>Yes, Willow does learn over time. It\u2019s starting with the fundamentals like simple punctuation, word choice, and light phrasing. As you use it more, it gradually adapts to how you naturally respond, your tone, and the kinds of structures you prefer. The goal is for it to feel less like generic dictation and more like your voice, just cleaner and more structured.<\/p>\n<p>You\u2019re always in control of that personalization. You can reset or fine-tune it anytime by going to the Style Matching tab and adding your own specific habits or preferences, so it stays aligned with how you want to sound.<\/p>\n<p>For pricing, the Product Hunt deal is 50% off for the first three months. That comes out to about $7.50 per month, or roughly $20 total for the three-month period.<\/p>\n<p>Really appreciate the support and the great questions. Excited to see what you think once you\u2019ve had a chance to try it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honest question after 6 launches: what&#8217;s the retention curve actually look like for scribe specifically versus the base dictation product. dictation has obvious daily utility because it replaces typing. scribe feels more like something people try for a week and then forget exists unless it&#8217;s deeply in the habit loop. how are you solving for that<\/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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;Love the question. What we\u2019ve actually seen with beta users is that Scribe ends up being stickier than traditional dictation!<\/p>\n<\/p>\n<p>On the surface, dictation feels like it has obvious daily utility because it replaces typing. But in practice, it\u2019s a bit unnatural. You have to speak in a very specific, word for word way, almost like you\u2019re talking to ChatGPT. That works in certain contexts, but it doesn\u2019t map cleanly to how people naturally communicate in tools like email or Slack.<\/p>\n<\/p>\n<p>With Scribe, you just talk the way you normally would. It makes it much easier to adopt, because you\u2019re not learning a new behavior. You\u2019re just speaking naturally and letting it handle the formatting \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019ve been a heavy user of Claude and GPT for a long time, especially for writing emails and posts. They\u2019ve been a core part of my workflow.<\/p>\n<p>Recently, I started using Willow Scribe (Ive used regular Willow dictation for about a year), and I absolutely love it. I\u2019m using it to draft emails, create LinkedIn posts, refine prompts, and even support a white paper I\u2019m currently writing. It feels much more natural and fluid, especially compared to traditional dictation tools that capture every false start and half-formed thought.<\/p>\n<p>Willow has genuinely improved how I think and write in real time. I couldn\u2019t recommend 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jennifer_terrell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jennifer_terrell<\/a>&nbsp;Thank you so much for the incredibly thoughtful feedback, Jennifer. We\u2019re thrilled it\u2019s helping you think and write more fluidly in real time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;removes filler words&#8221; line is the actual unlock here \u2014 most dictation tools dump a raw transcript that still takes 30 seconds to clean up, which defeats the whole point.<\/p>\n<p>Quick question: can I toggle the cleanup off for casual Slack messages where I want my real voice? Sometimes &#8220;um, actually&#8221; is the message.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 highlight-anything-and-rewrite-in-place feature is the one I&#8217;d use most, and also the one I&#8217;d poke at first \u2014 does that work through the macOS accessibility layer in any text field, or only inside the named apps (email, Slack, iMessage, Docs)? The &#8220;in place&#8221; part is what separates this from copy-pasting into a chatbot, so how far the surface actually reaches matters.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/4VL6AK4IIDLZKJ\" class=\"app-title\">SelectPrism<\/a><\/p>\n<div class=\"one-liner\">Agents that screen and interview so you can hire faster<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">126<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>SelectPrism \u662f\u4e00\u4e2a\u7531AI\u9a71\u52a8\u7684\u9762\u8bd5\u4e0e\u7b5b\u9009\u5e73\u53f0\uff0c\u65e8\u5728\u89e3\u51b3\u62db\u8058\u56e2\u961f\u5728\u7b5b\u9009\u3001\u9762\u8bd5\u548c\u8bc4\u4f30\u5019\u9009\u4eba\u8fc7\u7a0b\u4e2d\u8017\u65f6\u8fc7\u957f\u3001\u6d41\u7a0b\u7e41\u7410\u7684\u75db\u70b9\uff0c\u5e2e\u52a9\u56e2\u961f\u5feb\u901f\u9501\u5b9a\u5e76\u5f55\u7528\u6700\u5408\u9002\u7684\u5019\u9009\u4eba\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\/45e26253-9f86-4ad4-a351-4bfa8585245a.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\/7e73e1df-98a7-4e75-9be1-a91333bce807.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\/d43d3297-fb21-4281-adc6-3d9a4e167d72.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\/4716c600-afcd-4dab-88f6-b24b03d0b395.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\/6a983219-48a9-42a4-b635-8adfd7196a2c.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\/ec25edf0-2f7d-40f2-98c7-7446581d331a.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\/7ea121af-105e-454e-b80f-677fdf6c016e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Hiring<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Career<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u9762\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5019\u9009\u4eba\u7b5b\u9009<\/span><br \/>\n            <span class=\"tag\">ATS\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u6280\u80fd\u56fe\u8c31<\/span><br \/>\n            <span class=\"tag\">\u53cd\u4f5c\u5f0a<\/span><br \/>\n            <span class=\"tag\">\u4eba\u624d\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">HR\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u77ed\u540d\u5355<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5bf9\u4ea7\u54c1\u901f\u5ea6\u548c\u81ea\u52a8\u5316\u80fd\u529b\u8868\u793a\u8ba4\u53ef\uff0c\u4f46\u5173\u952e\u7591\u95ee\u96c6\u4e2d\u5728\uff1a1) AI\u9762\u8bd5\u7684\u5019\u9009\u4eba\u4f53\u9a8c\uff08\u662f\u5426\u544a\u77e5\u662fAI\u3001\u5f71\u54cd\u5b8c\u6210\u7387\uff09\uff1b2) \u6280\u80fd\u56fe\u8c31\u7684\u66f4\u65b0\u673a\u5236\uff1b3) \u5bf9\u8f6f\u6280\u80fd\uff08\u6c9f\u901a\u3001\u9886\u5bfc\u529b\uff09\u7684\u8bc4\u4f30\u65b9\u5f0f\uff1b4) \u662f\u5426\u9700\u8981\u72ec\u7acbATS\uff1b5) \u8bc4\u5206\u6743\u91cd\u80fd\u5426\u81ea\u5b9a\u4e49\uff1b6) \u5bf9\u975e\u4f20\u7edf\u80cc\u666f\u5019\u9009\u4eba\u662f\u5426\u53cb\u597d\uff1b7) \u53cd\u4f5c\u5f0a\u7684\u5177\u4f53\u5b9e\u73b0\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                SelectPrism\u5207\u5165\u7684\u662f\u62db\u8058\u9886\u57df\u6700\u75db\u3001\u6700\u810f\u3001\u4e5f\u662f\u6700\u771f\u5b9e\u7684\u73af\u8282\u2014\u2014\u4ece\u7b80\u5386\u5806\u5230\u7b2c\u4e00\u6b21\u9762\u8bd5\u4e4b\u95f4\u7684\u201c\u9ed1\u7bb1\u5730\u5e26\u201d\u3002\u5b83\u6ca1\u6709\u53bb\u8ffd\u9010\u90a3\u4e9b\u82b1\u54e8\u7684\u3001\u9a97\u6295\u8d44\u4eba\u7684\u201c\u9884\u6d4b\u6027\u62db\u8058\u201d\u6982\u5ff5\uff0c\u800c\u662f\u52a1\u5b9e\u4e14\u6b8b\u5fcd\u5730\u89e3\u51b3\u4e86\u4e00\u4e2a\u6838\u5fc3\u95ee\u9898\uff1a\u7528\u673a\u5668\u66ff\u4ee3\u4eba\u7c7b\u5b8c\u6210\u5927\u91cf\u4f4e\u4ef7\u503c\u7684\u91cd\u590d\u6027\u52b3\u52a8\u3002\u4ece\u201c\u4e0a\u4f20JD\u2192AI\u9762\u8bd5\u2192\u8f93\u51fa\u77ed\u540d\u5355\u201d\u8fd9\u6761\u94fe\u8def\u6765\u770b\uff0c\u5176\u529f\u80fd\u8bbe\u8ba1\u548c\u4ea7\u54c1\u5b9a\u4f4d\u662f\u7cbe\u51c6\u4e14\u7280\u5229\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\uff0c\u4e0d\u5728\u4e8e\u90a3\u4e2a\u57fa\u4e8e6000\u4e07\u7b80\u5386\u7684\u6280\u80fd\u56fe\u8c31\uff0c\u4e5f\u4e0d\u5728\u4e8e\u90a325\u9879\u53cd\u4f5c\u5f0a\u68c0\u67e5\u3002\u8fd9\u4e9b\u662f\u5f53\u4e0bAI\u62db\u8058\u5de5\u5177\u7684\u6807\u914d\uff0c\u800c\u975e\u547d\u95e8\u3002\u5173\u952e\u95ee\u9898\u5728\u4e8e\uff1a\u5b83\u80fd\u5426\u5728\u201c\u63d0\u5347\u6548\u7387\u201d\u548c\u201c\u7ef4\u7cfb\u5019\u9009\u4eba\u4f53\u9a8c\u201d\u4e4b\u95f4\u627e\u5230\u5fae\u5999\u7684\u5e73\u8861\u3002\u4ece\u7528\u6237\u8bc4\u8bba\u4e2d\u53ef\u4ee5\u770b\u5230\uff0c\u5019\u9009\u4eba\u80fd\u5426\u572830\u79d2\u5185\u611f\u77e5\u5230\u662fAI\u9762\u8bd5\uff0c\u4ee5\u53ca\u8fd9\u79cd\u611f\u77e5\u5982\u4f55\u5f71\u54cd\u540e\u7eed\u7684Offer\u63a5\u53d7\u7387\uff0c\u662f\u8fd9\u4e2a\u4ea7\u54c1\u80fd\u5426\u4ece\u201c\u597d\u7528\u201d\u8dc3\u5347\u4e3a\u201c\u5fc5\u7528\u201d\u7684\u9690\u6027\u5929\u82b1\u677f\u3002\u5982\u679cAI\u9762\u8bd5\u6700\u7ec8\u53ea\u662f\u8ba9\u62db\u8058\u65b9\u5355\u65b9\u9762\u723d\u4e86\uff0c\u5374\u4f24\u5bb3\u4e86\u5019\u9009\u4eba\u7684\u4f53\u611f\uff0c\u8fd9\u53cd\u800c\u4f1a\u5236\u9020\u65b0\u7684\u6d41\u7a0b\u74f6\u9888\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u6f5c\u5728\u98ce\u9669\u662f\u201c\u540c\u8d28\u5316\u6253\u5206\u201d\u3002\u5176\u57fa\u4e8e\u5386\u53f2\u6570\u636e\u8bad\u7ec3\u7684\u6a21\u578b\uff0c\u5929\u7136\u503e\u5411\u4e8e\u7b5b\u9009\u51fa\u201c\u770b\u8d77\u6765\u50cf\u8fc7\u53bb\u4f18\u79c0\u5458\u5de5\u201d\u7684\u4eba\uff0c\u8fd9\u4f1a\u7cfb\u7edf\u6027\u5730\u9519\u6740\u90a3\u4e9b\u62e5\u6709\u975e\u4f20\u7edf\u80cc\u666f\u3001\u8de8\u884c\u4e1a\u7ecf\u9a8c\u6216\u5f3a\u6210\u957f\u6f5c\u529b\u7684\u5019\u9009\u4eba\u3002\u5bf9\u4e8e\u5f3a\u8c03\u521b\u65b0\u548c\u7a81\u7834\u7684\u4f01\u4e1a\u800c\u8a00\uff0c\u8fd9\u53ef\u80fd\u662f\u707e\u96be\u6027\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cSelectPrism\u5728\u89e3\u51b3\u201c\u62db\u8058\u901f\u5ea6\u201d\u8fd9\u4e2a\u95ee\u9898\u4e0a\u505a\u5f97\u8db3\u591f\u597d\uff0c\u4f46\u5b83\u662f\u5426\u771f\u6b63\u89e3\u51b3\u4e86\u201c\u62db\u8058\u8d28\u91cf\u201d\u7684\u7ec8\u6781\u95ee\u9898\uff0c\u4ecd\u9700\u6253\u4e00\u4e2a\u95ee\u53f7\u3002\u5b83\u662f\u4e00\u628a\u975e\u5e38\u950b\u5229\u7684\u624b\u672f\u5200\uff0c\u4f46\u9700\u8981\u6e05\u9192\u7684\u533b\u751f\u6765\u64cd\u5200\uff0c\u5426\u5219\u53ef\u80fd\u628a\u4f20\u7edf\u62db\u8058\u4e2d\u90a3\u70b9\u5f25\u8db3\u73cd\u8d35\u7684\u201c\u4eba\u5473\u201d\u548c\u201c\u610f\u5916\u4e4b\u559c\u201d\u4e5f\u4e00\u5e76\u5207\u6389\u4e86\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\">SelectPrism<\/span>\n                <\/div>\n<div class=\"comment-content\">SelectPrism helps hiring teams meet their strongest candidates without getting buried in the process of finding them. Upload a job description, and SelectPrism takes it from there. It interviews applicants, evaluates their fit, and hands your team a shortlist of people worth meeting. Your recruiters get their time back to focus on what actually moves the business: closing the right people.<\/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&#8217;m Dr. Rishi Thussu from SelectPrism. I spent years at Monster watching millions of applications pile up and go nowhere. Then at Findem, I was building AI tools for talent intelligence \u2014 and seeing what was actually possible when you applied real machine learning to this problem.<\/p>\n<\/p>\n<p>Both taught me the same thing: the problem was never finding applicants. It was what happened after.<\/p>\n<\/p>\n<p>SelectPrism is an AI interviewer that runs your entire first round, from screening to scoring, so your team shows up only for the conversations that matter. It plugs directly into your existing ATS, so every candidate, report, and hiring decision stays in one connected flow.&nbsp;<\/p>\n<\/p>\n<p>We built this for Talent Acquisition (TA) leaders who are great at their jobs but spend most of their week on work that no longer requires a human.<\/p>\n<\/p>\n<p>If you&#8217;re losing good candidates to slow pipelines, this is for you.<\/p>\n<\/p>\n<p>The problem we kept running into was simple:<\/p>\n<p>The best candidates don&#8217;t wait two weeks for a callback. By the time most TA teams finish screening and scheduling, the people worth hiring have accepted other offers.<\/p>\n<\/p>\n<p>That&#8217;s why SelectPrism is built around one complete flow: screen \u2192 interview \u2192 shortlist.<\/p>\n<\/p>\n<p>Here&#8217;s what that looks like in practice:<\/p>\n<p>\ud83d\udccb <strong>Drop in a job description.<\/strong> SelectPrism parses it, maps it to a skill graph trained on 60M+ profiles, and ranks your applicants by actual fit, not keyword matches.<\/p>\n<\/p>\n<p>\ud83d\udce9 <strong>Interview invites go out within the hour.<\/strong> No scheduling, no back-and-forth. Candidates get a link and show up when they&#8217;re ready.<\/p>\n<\/p>\n<p>\ud83c\udfa5 <strong>The AI conducts the interview.<\/strong> Live video, adaptive questions that adjust in real time, voice-based pre-screening, and coding assessments where the role needs them.<\/p>\n<\/p>\n<p>\ud83d\udd12<strong>Holistic anti-cheating checks.<\/strong> 25+ integrity checks across browser, device, and video \u2014 including gaze detection, lip sync analysis, AI voice agent detection, candidate ID verification, and real-time fraud flagging.&nbsp;<\/p>\n<\/p>\n<p>\ud83d\udcca <strong>Your recruiter gets a decision-ready report.<\/strong> Fit score, strengths, gaps, full transcript, and a hiring recommendation. Everything needed to decide in five minutes.<\/p>\n<\/p>\n<p>Why TA teams switch to SelectPrism:<\/p>\n<p>\u2705 One platform replaces your screening tool, interview scheduler, assessment software, and proctoring suite<\/p>\n<p>\u2705 Recruiters stop managing calendars and start closing offers<\/p>\n<p>\u2705 Every candidate gets a fair, consistent evaluation regardless of when they apply<\/p>\n<p>\u2705 Hiring managers only meet the people who actually cleared the bar.<\/p>\n<\/p>\n<p>We&#8217;re excited to share this with the PH community and would love your honest feedback. We&#8217;ll be here all day answering questions.<\/p>\n<\/p>\n<p>\ud83c\udf81 Product Hunt Launch offer: 50 free AI interviews!<\/p>\n<\/p>\n<p>\ud83d\udc49 Try SelectPrism:<a href=\"https:\/\/selectprism.ai\/agentic-video-interviews\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> <\/a><a href=\"https:\/\/selectprism.ai\/agentic-ai-interview\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/selectprism.ai\/agentic-ai-interview<\/a><\/p>\n<\/p>\n<p>Thanks for checking us out, and huge thanks to our hunter <a href=\"https:\/\/www.producthunt.com\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a> for hunting us \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>61<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>we just went through a hiring round and the screening alone took longer than the actual interviews. if this actually catches the candidates you&#8217;d shortlist yourself without losing the good ones to slow pipelines thats a real solve<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;Completely valid and honestly one of the more under-appreciated pain points in hiring. The screening phase is supposed to be a filter, not a bottleneck, but in practice most teams are spending more hours reviewing resumes than they are actually talking to candidates. You end up with slower pipelines, recruiter fatigue, and the best candidates already off the market by the time you get to them.<br \/>Here&#8217;s what we&#8217;re seeing with clients using SelectPrism&#8217;s Search &amp; Match on top of their ATS. The AI screens against the Prism Knowledge Graph and ranks the entire pool before a recruiter looks at a single profile. From 854 applications in one recent cycle, the system surfaced 218 recommended candidates &#8211; a 74% reduction in volume that recruiters needed to touch at all.<\/p>\n<p>The accuracy piece is what makes it sticky: of the candidates the algorithm marked as top recommendations, <strong>0 were rejected by the recruiter<\/strong>. 100% alignment on the shortlist that actually mattered. Overall, the model hit 94% accuracy across the full funnel.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 focus on solving operational hiring bottlenecks. Curious whether the biggest impact is for enterprise hiring teams or fast-growing startups?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@shivani_mane1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shivani_mane1<\/a>&nbsp;We have seen massive productivity improvements for fast growing start-ups as well! It definitely helps them accelerate their hiring process which is critical for fast growing start-ups<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 recruiter pitch is clear, but the part that makes or breaks tools in this category is the candidate side. People can usually tell within 30 seconds when they&#8217;re being interviewed by an AI, and how that lands quietly shapes whether they accept the offer later.<\/p>\n<p>Do candidates know upfront, and have you seen the disclosure affect completion rates?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Loved the design and UX from the website, but had few more queries.<\/p>\n<ol>\n<li>\n<p>Do i need a separate ATS, or does this already have an ATS inside it? (to track the status of candidates)<\/p>\n<\/li>\n<li>\n<p>Will these free 50 interviews have all the features enabled, or will their features be locked behind other tiered pricing?<\/p>\n<\/li>\n<li>\n<p>Will there be bulk export options for all the interviews that we take from this platform?<\/p>\n<\/li>\n<li>\n<p>Is it possible right now or in future, if i can just upload the resumes in my chat (be it slack or teams) and just ask the bot to match it against specific job that i have already posted on the platform?<\/p>\n<\/li>\n<li>\n<p>Will all my jobs be public like <a href=\"https:\/\/naukri.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">naukri.com<\/a> or will the job applications\/interview would be invite only? (like i don&#8217;t want it to be public as there can be too many applications)<\/p>\n<\/li>\n<li>\n<p>How will the scoring work? Like, is there any way i can change the weightage of scoring, different HR\/Project managers have different prioritization on what is more important in a candidate?<\/p>\n<\/li>\n<li>\n<p>Do you give whitelabling for this?<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing I keep noticing in hiring is that great candidates often get filtered out too early because resumes only show a tiny part of someone\u2019s actual potential.<\/p>\n<p>But does SelectPrism focus more on pattern recognition from past hiring success, or is it designed to uncover candidates who might be unconventional on paper but strong in real-world performance? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 60,000-skill taxonomy built on 60M+ job descriptions is the technically interesting differentiator here. But the hard part isn&#8217;t the taxonomy size, it&#8217;s keeping it current. Skills decay and emerge faster than any static dataset can track (a skill that was senior-level two years ago is now table stakes). How does SelectPrism handle taxonomy freshness? Is there a continuous ingestion pipeline from new job postings, or does the graph get periodically retrained on a fixed schedule?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">The biggest challenge I see here is  how do you ensure candidates aren&#8217;t cheating? With AI tools so accessible today, it&#8217;s incredibly easy to game the interview. Does the platform account for this? I&#8217;m assuming there&#8217;s some kind of proctoring report that captures the details?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really cool launch \ud83d\udc4f<\/p>\n<p>The biggest hiring pain, honestly, is how much time gets lost in screening and scheduling before teams even talk to the right candidates.<\/p>\n<p>Curious &#8211; how does SelectPrism evaluate softer things like communication, confidence, or leadership potential? Especially since those can look very different across roles and experience levels.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Used this on a real pipeline, not a test run. The time between &#8216;JD uploaded&#8217; and &#8216;shortlist ready&#8217; genuinely shocked me. Solid product, <a href=\"https:\/\/www.producthunt.com\/@thecleric\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"thecleric\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thecleric<\/a> 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>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>Using agents for initial screening and interviewing targets the right bottleneck. Most hiring funnels clog at resume review and first calls, not at offer. Does the agent adapt its questioning based on role type, or does every candidate get the same flow regardless of seniority?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@dhiraj_patel5 thanks for your question, Dheeraj! The agent adapts as the conversation goes on and asks contextual questions based on the role.<\/div>\n<div class=\"comment-actions\">\n<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 Product solve a big challenge in hiring process the user interaction was good. Just wanted to know how do you tailor your interviews as per different job requirements and bring the feel of a real interviewer interviewing 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zaid_mahmud\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaid_mahmud<\/a>&nbsp;We have developed a detailed Role-skill-task knowledge graph. Using this we create a curated set of questions based on the skills, role, and responsibilities mentioned in the JD.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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! The skill-graph parsing and anti-cheating checks look incredibly robust. Quick question on the ATS integrations: do you currently support <strong>GetKnit<\/strong> out of the box, or is that on your upcoming 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abhigyan103\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhigyan103<\/a>&nbsp;We support out of the box integrations with multiple top ATS. For any ATS that&#8217;s outside the initial list, we can quickly add those as well.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratuations <a href=\"https:\/\/www.producthunt.com\/@thecleric\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"thecleric\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thecleric<\/a>  for the launch. Having spent my last 5 yrs in HRtech space, can say that this product feels like well thought and crafted to remove lots of hiring hustles. Best of luck !!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@thecleric\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thecleric<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@atul_singhal3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@atul_singhal3<\/a>&nbsp;<\/p>\n<p>Thanks for the positive words Atul! Looking forward to address the hiring challenges!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/7ZWJDIXLXFUIEC\" class=\"app-title\">Ferrari Luce<\/a><\/p>\n<div class=\"one-liner\">The first electric Ferrari designed by LoveFrom<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">119<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u6cd5\u62c9\u5229\u9996\u6b3e\u4e0eLoveFrom\u8054\u5408\u8bbe\u8ba1\u7684\u7eaf\u7535\u8d85\u8dd1\uff0c\u901a\u8fc7\u56db\u4e2a\u7535\u673a\u3001\u4e3b\u52a8\u60ac\u67b6\u4e0e\u56db\u8f6e\u8f6c\u5411\u7cfb\u7edf\uff0c\u5728\u4fdd\u7559\u54c1\u724c\u9a7e\u9a76\u6fc0\u60c5\u7684\u57fa\u7840\u4e0a\uff0c\u89e3\u51b3\u7535\u52a8\u8f66\u201c\u6027\u80fd\u6709\u4f59\u3001\u64cd\u63a7\u65e0\u9b42\u201d\u7684\u4f53\u9a8c\u75db\u70b9\uff0c\u8ba9\u8d5b\u9053\u7ea7\u52a8\u6001\u63a7\u5236\u4e0e\u8c6a\u534e\u5ea7\u8231\u6570\u5b57\u5316\u89e6\u63a7\u5171\u5b58\u4e8e\u540c\u4e00\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\/d0731495-6abd-4673-a9c6-92a2c563dd2c.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\/97d5efb0-8818-465a-9bf4-f67813cad3c1.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\/97b0416d-cb9a-4083-b362-8abd959d06bb.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\/6be9ecdd-e6ab-4d25-8f67-0efc9e4f53ee.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\/4ebf2da1-61ce-4ff2-8d20-d35c5e7b4f5e.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\/212f1115-546b-464e-a14e-f9cc2351d221.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\/7cf02fee-df67-4820-923c-c22148ed3ca0.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\/fac645f1-dcb2-4a9f-a521-fba9b1056c26.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\/1cd49457-f51e-4ccc-9775-a6ce68e6b016.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\/35d461c9-9229-411f-9aac-7fc9be52f152.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\/3bd11401-e265-4255-95d8-4828fc102e87.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\/97757ae1-50bf-4db7-a2f4-cafa0e354c20.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\/b888c192-a6f4-4088-a4b9-ec536fa4c95a.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\/bf21bd7c-75e0-4942-979f-559c154f8d91.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\/e4cf16c9-30fe-43fd-b315-8397966110d8.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\/ccd8a9dd-0c91-4e56-8647-d68cccb0efb8.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Gf2TI6tfWA0\"><source src=\"https:\/\/www.youtube.com\/watch?v=Gf2TI6tfWA0\" 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\">Cars<\/span><br \/>\n            <span class=\"tag\">Design<\/span><br \/>\n            <span class=\"tag\">Electric Cars<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7eaf\u7535\u8d85\u8dd1<\/span><br \/>\n            <span class=\"tag\">\u6cd5\u62c9\u5229<\/span><br \/>\n            <span class=\"tag\">LoveFrom<\/span><br \/>\n            <span class=\"tag\">\u56db\u7535\u673a<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u52a8\u60ac\u67b6<\/span><br \/>\n            <span class=\"tag\">\u56db\u8f6e\u8f6c\u5411<\/span><br \/>\n            <span class=\"tag\">\u89e6\u63a7\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u8c6a\u534e\u7535\u52a8<\/span><br \/>\n            <span class=\"tag\">\u9a7e\u9a76\u52a8\u6001<\/span><br \/>\n            <span class=\"tag\">\u6982\u5ff5\u8f66<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5bf9\u8bbe\u8ba1\u63d0\u51fa\u8d28\u7591\uff0c\u8ba4\u4e3a\u5916\u89c2\u201c\u5ec9\u4ef7\u201d\u201c\u4e0d\u50cf\u6cd5\u62c9\u5229\u201d\uff0c\u4e0e\u9ad8\u4ef7\u4e0d\u7b26\uff1b\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\u89e6\u63a7\u4e0e\u7269\u7406\u6309\u952e\u7684\u53d6\u820d\u7b56\u7565\u3001\u5145\u7535\u57fa\u5efa\u5bf9\u8d85\u8dd1\u7528\u6237\u7684\u5b9e\u9645\u5f71\u54cd\uff0c\u4ee5\u53ca\u5ba3\u4f20\u7247\u7f3a\u5931\u52a8\u6001\u9a7e\u9a76\u573a\u666f\u7684\u9057\u61be\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\u53f0\u201cFerrari Luce\u201d\u5728Product Hunt\u4e0a\u83b7\u5f97\u7684119\u7968\uff0c\u66f4\u50cf\u662f\u4e00\u573a\u8bbe\u8ba1\u5708\u7684\u81ea\u55e8\uff0c\u800c\u975e\u6c7d\u8f66\u8ff7\u7684\u96c6\u4f53\u72c2\u6b22\u3002\u629b\u5f00\u201c\u7b2c\u4e00\u53f0\u6cd5\u62c9\u5229\u7535\u8f66\u201d\u7684\u5671\u5934\uff0c\u5b83\u66b4\u9732\u4e86\u4f20\u7edf\u8d85\u8dd1\u54c1\u724c\u5728\u7535\u52a8\u5316\u8f6c\u578b\u4e2d\u7684\u5178\u578b\u77db\u76fe\uff1a\u65e2\u8981\u7ef4\u6301\u5386\u53f2\u7b26\u53f7\uff0c\u53c8\u6025\u4e8e\u8d34\u4e0a\u79d1\u6280\u6807\u7b7e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u5927\u7684\u53d9\u4e8b\u5f20\u529b\u5728\u4e8e\u201c\u7535\u5b50\u89e6\u63a7\u4e0e\u7269\u7406\u63a7\u5236\u7684\u7ed3\u5408\u201d\u2014\u2014\u4f46\u8fd9\u6070\u6070\u662f\u884c\u4e1a\u8fc7\u53bb\u5341\u5e74\u8e29\u8fc7\u7684\u5751\u3002\u4fdd\u65f6\u6377Taycan\u7684\u5c4f\u5e55\u7011\u5e03\u3001\u7279\u65af\u62c9\u7684\u6781\u7b80\u4e3b\u4e49\uff0c\u90fd\u5df2\u8bc1\u660e\uff1a\u5f53\u4e00\u5bb6\u8d5b\u9053\u516c\u53f8\u5f00\u59cb\u5927\u8c08\u201c\u751f\u6d3b\u4e4b\u8231\u201d\u65f6\uff0c\u5f80\u5f80\u610f\u5473\u7740\u5b83\u5728\u9a7e\u9a76\u672c\u8d28\u4e0a\u7684\u59a5\u534f\u3002\u8bc4\u8bba\u4e2d\u201c\u5ba3\u4f20\u7247\u6ca1\u6709\u8bd5\u9a7e\u573a\u666f\u201d\u7684\u8d28\u7591\uff0c\u7cbe\u51c6\u523a\u4e2d\u4e86\u75db\u70b9\uff1a\u5982\u679c1050\u5339\u9a6c\u529b\u53ea\u80fd\u5728PPT\u4e0a\u5486\u54ee\uff0c\u90a3\u5b83\u548c\u4e00\u53f0\u4f1a\u53d1\u5149\u7684\u6602\u8d35\u6a21\u578b\u6709\u4ec0\u4e48\u533a\u522b\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0cLoveFrom\uff08\u4e54\u5c3c\u00b7\u827e\u7ef4\u7684\u56e2\u961f\uff09\u52a0\u5165\uff0c\u5bfc\u81f4\u8fd9\u6b3e\u8f66\u7684\u5916\u5f62\u5448\u73b0\u51fa\u5f3a\u70c8\u7684\u201c\u6d88\u8d39\u7535\u5b50\u5316\u201d\u503e\u5411\u2014\u2014\u6d41\u7ebf\u9540\u94ec\u3001\u4e00\u4f53\u73bb\u7483\u3001\u65e0\u683c\u6805\u524d\u8138\uff0c\u51e0\u4e4e\u5c31\u662f\u4e00\u53f0\u653e\u5927\u7248\u7684iPhone\u3002\u4f46\u6c7d\u8f66\u4e0d\u662f\u53ef\u7a7f\u6234\u8bbe\u5907\uff0c\u6cd5\u62c9\u5229\u7528\u6237\u4e70\u7684\u662f\u8840\u8109\u8d32\u5f20\u7684\u5f15\u64ce\u58f0\u6ce2\u4e0e\u540e\u8f6e\u6f02\u79fb\u65f6\u810a\u690e\u7684\u75c9\u631b\u611f\uff0c\u800c\u4e0d\u662f\u4e00\u7ec4\u80fd\u53d1\u5149\u7684\u201c\u89e6\u63a7\u53cd\u9988\u9a6c\u8fbe\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u81f3\u4e8e\u5145\u7535\u57fa\u5efa\u5bf9\u8d85\u8dd1\u5b9a\u4ef7\u7684\u5f71\u54cd\uff0c\u8bc4\u8bba\u4e2d\u90a3\u4f4d\u80fd\u6e90\u6a21\u578b\u7ef4\u62a4\u8005\u7684\u8d28\u7591\u66f4\u81f4\u547d\uff1a\u5f53\u8d85\u7ea7\u5145\u7535\u7ad9\u90fd\u8981\u548c\u6570\u636e\u4e2d\u5fc3\u62a2\u5146\u74e6\u7ea7\u529f\u7387\u65f6\uff0c\u4f60\u8ba9\u4e00\u4e2a\u6709\u5341\u51e0\u8f86\u6536\u85cf\u8f66\u7684\u5bcc\u8c6a\uff0c\u4e3a\u4e86\u4e00\u53f0\u201c\u73a9\u5177\u201d\u518d\u4e70\u5957\u5de5\u4e1a\u53d8\u538b\u5668\uff1f\u8fd9\u5df2\u7ecf\u4e0d\u662f\u4ea7\u54c1\u95ee\u9898\uff0c\u800c\u662f\u751f\u6001\u786c\u4f24\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u7ed3\uff1a\u8fd9\u662f\u4e00\u573a\u7f8e\u5b66\u4e0e\u5de5\u7a0b\u59a5\u534f\u540e\uff0c\u6700\u7ec8\u670d\u52a1\u4e8e\u54c1\u724c\u6545\u4e8b\u800c\u975e\u9a7e\u9a76\u4f53\u9a8c\u7684\u53d1\u5e03\u3002\u5982\u679c\u6cd5\u62c9\u5229\u771f\u8981\u628a\u7535\u8f66\u5f53\u201c\u7b2c\u4e09\u7a7a\u95f4\u201d\u5356\uff0c\u90a3\u5b83\u9996\u5148\u5f97\u5fd8\u4e86\u81ea\u5df1\u662f\u8c01\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\">Ferrari Luce<\/span>\n                <\/div>\n<div class=\"comment-content\">The Ferrari Luce is a project designed to deliver an unmistakable Ferrari character, where performance, thrills, design, and life on board come together in a new way of driving. With 1050 cv, advanced vehicle dynamics, and a dedicated platform, this model brings together four electric engines, active suspension, four-wheel steering, and advanced dynamic control systems. Inside, deeply engaging tactile controls unite the best of the physical and digital worlds.\u200b<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m not a car guy and have a lot of respect for anyone reinventing an iconic brand like Ferrari. But this looks a little cheap, doesn&#8217;t it? It&#8217;s giving toy car vibes.<\/p>\n<\/p>\n<p>Perhaps I need to see it in person. I&#8217;m sure it&#8217;s FUN to drive.<\/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\/@rrhoover\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rrhoover<\/a>&nbsp;Agreed &#8211; I was taken aback by how NOT Ferrari-looking it was!! And for that price tag? It better be screaming <em>I drive a Ferrari<\/em><\/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><a href=\"https:\/\/x.com\/mike_matas\/status\/2059005227236495755\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Impressive work<\/a> from <a href=\"https:\/\/www.producthunt.com\/@mike_matas\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"mike_matas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mike_matas<\/a> and the LoveFrom team (this is where Jony Ive&#8217;s Apple Car work must have ended up!).<\/p>\n<\/p>\n<p>Kind of wild that the <a href=\"https:\/\/www.youtube.com\/watch?v=Gf2TI6tfWA0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">promo video<\/a> doesn&#8217;t even show an energetic test drive \u2014 it&#8217;s only focused on aesthetics and that interior, which is kind of surprising given the torque electric cars typically offer!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;tactile controls uniting physical and digital&#8221; line is the most interesting product decision in the whole reveal. The industry&#8217;s been racing toward touchscreen-everything for a decade, and the driver backlash has been quietly building \u2014 even reviewers of other EVs keep calling it out.<\/p>\n<p>Curious: which interactions stayed physical and which went digital? That breakdown alone would be worth its own write-up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how the EV transition lands at Ferrari pricing tiers \u2014 charging-infrastructure economics look very different at supercar volumes. From the renewable-energy deal side (I maintain a set of Eloquens models on project finance), the interesting question isn&#8217;t whether EVs are coming but how grid and charging buildout for high-end EVs sits alongside the same megawatt that&#8217;s quietly powering data centers. Beautiful car either way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The design looks flawless. <\/p>\n<\/p>\n<p>It&#8217;s really interesting how the launch materials are focusing so heavily on the interior and life on board rather than just raw 0-60 acceleration.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">flawless<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/2SWAHLASEKFJE3\" class=\"app-title\">DodoForm<\/a><\/p>\n<div class=\"one-liner\">Turn talking, pics, or scribbles into clean, structured data<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">113<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DodoForm \u662f\u4e00\u6b3e\u5229\u7528AI\u5c06\u8bed\u97f3\u3001\u7167\u7247\u3001\u6f66\u8349\u7b14\u8bb0\u7b49\u975e\u7ed3\u6784\u5316\u8f93\u5165\u81ea\u52a8\u8f6c\u6362\u4e3a\u5e72\u51c0\u7ed3\u6784\u5316\u6570\u636e\u7684\u8868\u5355\u6784\u5efa\u5de5\u5177\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u8868\u5355\u6b7b\u677f\u3001\u7528\u6237\u6613\u653e\u5f03\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\/df31d4b4-f851-413a-a904-6cfbf131a6f2.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\/87be43a9-a264-4953-87b7-a42952ea8104.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\/0dc7af8f-b6a2-46fe-991f-79a88e86a9ed.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\/03334074-9a62-48b2-8bf0-f59650148222.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\/e6e22d5d-0d6b-4c95-a69a-eeb25e1e20e2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/UyBKKhDC7qo\"><source src=\"https:\/\/youtu.be\/UyBKKhDC7qo\" 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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8868\u5355\u6784\u5efa<\/span><br \/>\n            <span class=\"tag\">\u975e\u7ed3\u6784\u5316\u6570\u636e\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u7ed3\u6784\u5316\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u8868\u5355\u6a21\u677f<\/span><br \/>\n            <span class=\"tag\">AI\u6570\u636e\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u8c03\u7814\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9500\u552eCRM\u63a5\u5165<\/span><br \/>\n            <span class=\"tag\">\u96c7\u4f63\u6d41\u7a0b\u8868\u5355<\/span><br \/>\n            <span class=\"tag\">\u4e8b\u4ef6RSVP\u7ba1\u7406<\/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\u8bed\u97f3\u8f93\u5165\u7684\u566a\u97f3\u8fc7\u6ee4\u4e0e\u7f6e\u4fe1\u5ea6\u95ee\u9898\uff08\u5982\u7247\u6bb5\u5316\u8868\u8ff0\u3001\u4e2d\u9014\u6539\u53e3\uff09\uff1b\u5efa\u8bae\u5bf9\u201c\u65f6\u95f4\u6a21\u7cca\u201d\u6216\u201c\u6709\u6761\u4ef6\u7b54\u590d\u201d\u4fdd\u7559\u4e0a\u4e0b\u6587\u9644\u4ef6\u800c\u975e\u9759\u9ed8\u6e05\u7406\uff1b\u5e0c\u671b\u4e3a\u9ad8\u91cd\u8981\u5b57\u6bb5\u63d0\u4f9b\u6700\u7ec8\u503c\u3001\u7f6e\u4fe1\u5ea6\u4e0e\u539f\u6587\u8ffd\u6eaf\u7684\u5ba1\u8ba1\u8f68\u8ff9\uff0c\u4f9b\u8868\u5355\u62e5\u6709\u8005\u6309\u5b57\u6bb5\u8bbe\u7f6e\u786e\u8ba4\u7b56\u7565\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                DodoForm\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u800c\u987d\u56fa\u7684\u75db\u70b9\uff1a\u8868\u5355\u4e0d\u662f\u7ed9\u673a\u5668\u4eba\u586b\u7684\uff0c\u662f\u4eba\u586b\u7684\u3002\u4eba\u8bf4\u8bdd\u7f20\u7ed5\u3001\u5939\u5e26\u566a\u97f3\u3001\u81ea\u6211\u4fee\u6b63\uff0c\u800c\u4f20\u7edf\u8868\u5355\u504f\u504f\u8981\u6c42\u4f60\u50cfAPI\u4e00\u6837\u7cbe\u786e\u2014\u2014\u8fd9\u672c\u8eab\u5c31\u662f\u5728\u628a\u7528\u6237\u5f80\u5916\u63a8\u3002DodoForm\u5c06AI\u4f5c\u4e3a\u5e95\u5c42\u67b6\u6784\u800c\u975e\u8d34\u7eb8\uff0c\u6838\u5fc3\u903b\u8f91\u662f\u505a\u201c\u5b57\u6bb5\u611f\u77e5\u63d0\u53d6\u201d\u800c\u975e\u201c\u5148\u8f6c\u5f55\u540e\u89e3\u6790\u201d\uff0c\u4f8b\u5982\u5bf9\u65e5\u671f\u3001\u7535\u8bdd\u5b57\u6bb5\u9884\u7f6eschema\uff0c\u6a21\u578b\u76f4\u63a5\u951a\u5b9a\u201c\u6700\u7ec8\u610f\u56fe\u201d\u800c\u975e\u201c\u5b8c\u6574\u8bed\u53e5\u201d\uff0c\u914d\u5408\u201c\u6700\u540e\u9648\u8ff0\u4f18\u5148\u201d\u53ca\u7f6e\u4fe1\u5ea6\u5206\u7ea7\u9a8c\u8bc1\uff0c\u5728\u5de5\u7a0b\u4e0a\u6784\u5efa\u4e86\u53ef\u843d\u5730\u7684\u5bb9\u9519\u94fe\u8def\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u771f\u6b63\u6709\u6df1\u5ea6\u7684\u8bbe\u8ba1\u5728\u4e8e\u5b83\u6ca1\u6709\u628a\u566a\u58f0\u4e00\u5f8b\u4e22\u5f03\u3002\u7528\u6237\u5728\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201cbut\u201d\u4fdd\u7559\uff08\u5982\u201c\u9664\u975eSam\u56de\u590d\u201d)\u3001\u201cfor now\u201d\u6807\u8bb0\u3001\u4ee5\u53ca\u9ad8\u91cd\u8981\u5b57\u6bb5\u7684\u5ba1\u8ba1\u8f68\u8ff9\uff0c\u610f\u5473\u7740DodoForm\u610f\u8bc6\u5230\uff1a\u6a21\u7cca\u5f80\u5f80\u643a\u5e26\u4fe1\u606f\uff0c\u800c\u5e72\u51c0\u4e0d\u7b49\u4e8e\u9f50\u5168\u3002\u8fd9\u79cd\u201c\u65e2\u4fdd\u7559\u4e0a\u4e0b\u6587\uff0c\u53c8\u8f93\u51fa\u7ed3\u6784\u5316\u7ed3\u679c\u201d\u7684\u53cc\u5c42\u7b56\u7565\uff0c\u4f7f\u5176\u8d85\u51fa\u5355\u7eaf\u7684\u8868\u5355\u6e05\u7406\u5de5\u5177\uff0c\u5411\u6570\u636e\u6d1e\u5bdf\u5de5\u5177\u6f14\u8fdb\u2014\u2014\u672a\u6765\u53ef\u80fd\u4f1a\u5e2e\u52a9\u4f01\u4e1a\u53d1\u73b0\u5ba2\u6237\u4e0b\u5355\u524d\u7684\u72b9\u8c6b\u70b9\u3001\u5019\u9009\u4ebaoffer\u8c08\u5224\u4e2d\u7684\u771f\u5b9e\u7ea6\u675f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u4e5f\u5e26\u6765\u6311\u6218\uff1a\u7f6e\u4fe1\u5ea6\u9608\u503c\u662f\u5426\u53ef\u8c03\uff1f\u5b57\u6bb5\u7ea7\u522b\u7684\u201c\u566a\u97f3\/\u4fe1\u53f7\u201d\u8fb9\u754c\u662f\u5426\u7531\u7528\u6237\u81ea\u5b9a\u4e49\uff1f\u82e5\u4e0d\u5bf9\u4e0d\u540c\u884c\u4e1a\uff08\u5982\u533b\u7597 vs. \u6d3b\u52a8\u62a5\u540d\uff09\u505a\u5dee\u5f02\u5316\u914d\u7f6e\uff0c\u5bb9\u6613\u9677\u5165\u201c\u770b\u4f3c\u667a\u80fd\u3001\u5b9e\u5219\u4e00\u5200\u5207\u201d\u7684\u9677\u9631\u3002\u540c\u65f6\uff0c\u6cbb\u7406\u95e8\u69db\u4e5f\u5c06\u62ac\u9ad8\u2014\u2014\u8868\u5355\u521b\u5efa\u8005\u9700\u8981\u613f\u610f\u6295\u5165\u7406\u89e3\u5b57\u6bb5schema\u4e0e\u7f6e\u4fe1\u5ea6\u8bbe\u7f6e\uff0c\u800c\u975e\u7b80\u5355\u7684\u62d6\u62fd\u5373\u7528\u3002DodoForm\u806a\u660e\u5728\u5e95\u5c42\uff0c\u4f46\u80fd\u5426\u8ba9\u7528\u6237\u5728\u6267\u884c\u4e0a\u4e0d\u89c9\u5f97\u590d\u6742\uff0c\u662f\u5176\u4ece\u597d\u5de5\u5177\u8df3\u5230\u597d\u4ea7\u54c1\u7684\u5173\u952e\u5206\u6c34\u5cad\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\">DodoForm<\/span>\n                <\/div>\n<div class=\"comment-content\">Voice, photos, messy notes \u2014 DodoForm turns however people communicate into clean structured data. 100+ templates, AI-powered analytics, native integrations, and branded forms. Done in seconds, not minutes. 14-day Pro trial, no card.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the voice input angle is interesting but voice to structured data has a confidence problem. people speak in fragments, change direction mid-sentence, use filler words. curious how the AI decides what&#8217;s signal versus noise when someone rambles their way through a form field<\/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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;<\/p>\n<p>Three things we do, in order of impact:<\/p>\n<p>1. Field-aware extraction, not transcribe-then-parse. The model knows <\/p>\n<p>upfront that field X expects a datetime, field Y expects a phone, <\/p>\n<p>field Z is open-ended. So when someone says &#8220;yeah Tuesday-ish, <\/p>\n<p>actually no, Wednesday morning works better&#8221; \u2014 the prompt is anchored <\/p>\n<p>to &#8220;what&#8217;s the final intended datetime?&#8221; not &#8220;what did this person <\/p>\n<p>say?&#8221; Filler words and false starts get filtered as noise because <\/p>\n<p>they don&#8217;t match the field&#8217;s schema.<\/p>\n<p>2. Last-statement wins for contradictions. If someone changes <\/p>\n<p>direction mid-sentence, we bias toward the most recent declarative <\/p>\n<p>claim. &#8220;Email is maya at gmail \u2014 wait no, maya at acme dot com&#8221; \u2192 <\/p>\n<p><a href=\"mailto:maya@acme.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">maya@acme.com<\/a>. This matches how humans listen too.<\/p>\n<p>3. Confidence-scored confirmation step. Every extracted field comes <\/p>\n<p>back with a confidence value. Above ~0.85, it auto-fills and the <\/p>\n<p>respondent sees it as pre-filled (still editable). Below that, we <\/p>\n<p>show &#8220;we think you meant X \u2014 is that right?&#8221; Low confidence never <\/p>\n<p>silently writes wrong data; it asks.<\/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>100+ templates is a lot, I really want to know what has been the most popular use case of this product so far.<\/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\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp; we just went live today, so <\/p>\n<p>&#8220;most popular&#8221; is still early data. But the patterns we&#8217;re seeing in <\/p>\n<p>beta and across early signups skew heavily toward 3 buckets:<\/p>\n<p>1. Sales \/ CRM intake \u2014 voice memos after a call \u2192 structured deal row <\/p>\n<p>   (the example in our hero). This was the unexpected hit.<\/p>\n<p>2. Job applications &amp; hiring intake \u2014 resume + GitHub + essay questions <\/p>\n<p>   with AI parsing the messy stuff.<\/p>\n<p>3. Event RSVPs \u2014 wedding, conference, team offsite. Branded themes <\/p>\n<p>   convert noticeably better here.<\/p>\n<p>The templates list will quickly evolve based on what people <\/p>\n<p>actually reach for.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I&#8217;m Faizann, the maker of DodoForm.<\/p>\n<p>I built this because I was tired of watching people abandon forms. Most form builders treat respondents like they&#8217;re filling out a tax return \u2014 rigid fields, strict formats, &#8220;please enter a valid phone number&#8221; errors. But humans don&#8217;t communicate like that. They ramble. They paste screenshots. They send voice notes. They write &#8220;next Tuesday around 3&#8221; instead of 2026-06-02T15:00:00.<br \/>\nSo I made a form builder where respondents can answer however they want, and AI cleans it into structured data on the backend.<\/p>\n<p>What&#8217;s different:<br \/>\n-\ud83c\udf99\ufe0f Voice, photos, messy notes \u2192 DodoForm parses &#8220;I&#8217;m free Tue or Thu after 3pm&#8221; into a real date field<br \/>\n-\ud83e\udd16 AI form generator \u2192 describe what you need, get a working form in seconds (25+ field types, conditional logic, multi-page wizards)<br \/>\n-\ud83c\udfa8 AI theme designer \u2192 describe your vibe or upload your brand kit, get a matching color palette + fonts in one click. Or customize every detail yourself.<br \/>\n-\ud83d\udcca AI-native analytics \u2192 not just &#8220;67% completion rate&#8221; \u2014 actual diagnosis of why people drop off, which questions confuse them, and what to fix<br \/>\n-\ud83e\udde0 Templates that learn \u2192 100+ templates that adapt to your industry and use case<br \/>\nWhat it isn&#8217;t: A Typeform clone with an &#8220;AI&#8221; sticker slapped on it. AI is the substrate, not a feature.<br \/>\nFree for life with a generous quota. 14-day Pro trial, no credit card.<\/p>\n<p>I&#8217;d genuinely love to hear:<br \/>\nWhat&#8217;s the messiest form you&#8217;ve ever had to fill out?<br \/>\nIf you run forms \u2014 where do your respondents keep getting stuck?<br \/>\nRoast it, break it, ship feedback. I&#8217;m here all day. \ud83e\udda4<\/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>Congrats on launch day! The free tier with a generous quota is a good call for a product like this. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the \u201chumans don\u2019t communicate like APIs\u201d angle is strong. i\u2019d be curious how you handle cases where the messy answer contains ambiguity that should not be silently cleaned up, like \u201cmaybe Tuesday unless Sam replies\u201d or \u201cuse the old address for now\u201d.<\/p>\n<p>do you surface that as a confidence\/review step somewhere, or does the form owner define which fields are allowed to be inferred vs. need explicit confirmation? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kar_re\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kar_re<\/a>&nbsp;Good question. We do both.<\/p>\n<p>1. The AI doesn&#8217;t just guess a value \u2014 it also keeps the &#8220;but&#8221; <\/p>\n<p>part. &#8220;Maybe Tuesday unless Sam replies&#8221; \u2192 it picks Tuesday, but <\/p>\n<p>saves &#8220;unless Sam replies&#8221; as a separate note. &#8220;Use the old <\/p>\n<p>address for now&#8221; \u2192 it uses the old address, but flags that &#8220;for <\/p>\n<p>now&#8221; is part of the answer. Nothing gets quietly thrown away.<\/p>\n<p>2. The form owner decides what happens next, per field:<\/p>\n<p>   &#8211; just fill it in<\/p>\n<p>   &#8211; fill it in but ask the person to confirm<\/p>\n<p>   &#8211; don&#8217;t let them submit until they clear it up<\/p>\n<p>   &#8211; always make them type it themselves<\/p>\n<p>Default is &#8220;fill it in and ask to confirm.&#8221; Safe by default, and <\/p>\n<p>the owner can loosen it where it doesn&#8217;t matter.<\/p>\n<p>Still working on showing those side notes (&#8220;unless Sam replies&#8221;) <\/p>\n<p>to the form owner as real data, not just a warning. Same idea as <\/p>\n<p>the audit trail someone asked about earlier &#8211; they&#8217;ll ship <\/p>\n<p>together.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The \u201clast-statement wins\u201d rule is smart, especially because it matches how people usually listen. The part I\u2019d be careful with is fields where the correction itself is useful context, not just noise.<\/p>\n<\/p>\n<p>For example, in sales or hiring intake, \u201cactually no, use Wednesday\u201d may be the final answer, but the earlier Tuesday mention can explain availability, urgency, or uncertainty. I\u2019d love to see a lightweight audit trail for high-impact fields: final structured value, confidence, and the snippet that caused the value to change. That would make messy input feel safer without forcing everyone back into rigid form behavior.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jim_jeffers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jim_jeffers<\/a>&nbsp;You&#8217;re right \u2014 &#8220;last-statement wins&#8221; is a simplification that <\/p>\n<p>quietly throws away signal in exactly the high-stakes fields where <\/p>\n<p>context matters most. A sales rep saying &#8220;Tuesday \u2014 actually <\/p>\n<p>Wednesday, their CFO is back from leave&#8221; is telling you two things, <\/p>\n<p>and only one of them ends up in the deal row today.<\/p>\n<p>&nbsp;<\/p>\n<p>The audit trail you&#8217;re describing is the right shape:<\/p>\n<p>&nbsp;<\/p>\n<p>\u2192 Final structured value<\/p>\n<p>\u2192 Confidence score<\/p>\n<p>\u2192 The exact transcript snippet that produced it<\/p>\n<p>\u2192 Earlier candidates that were superseded, with timestamps<\/p>\n<p>&nbsp;<\/p>\n<p>For high-impact fields (close_date, budget, decision_maker, <\/p>\n<p>medical history, anything regulated), that should be one click <\/p>\n<p>away from the structured row \u2014 not buried, not opt-in. For low-<\/p>\n<p>stakes fields (favorite color in a wedding RSVP), the trail is <\/p>\n<p>overkill.<\/p>\n<p>&nbsp;<\/p>\n<p>Adding &#8220;high-impact field flag&#8221; to the field schema and surfacing <\/p>\n<p>the audit trail in the response detail view is now on the next <\/p>\n<p>two-week list. <\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>That field-level flag is the right call. I\u2019d also think about a \u201cwhy this mattered\u201d label, not just the raw audit trail.<\/p>\n<\/p>\n<p>In your CFO example, the superseded Tuesday value is useful because it explains dependency\/risk, not because anyone needs Tuesday in the structured row. If DodoForm can distinguish \u201ccorrection because I misspoke\u201d from \u201ccorrection that reveals a constraint,\u201d the analytics side gets much more interesting: you start learning where people hesitate, negotiate, or expose hidden blockers while still keeping the final form clean.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/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\/CWT4ACHYNDIHZZ\" class=\"app-title\">Parsewise API<\/a><\/p>\n<div class=\"one-liner\">API for agentic multi-document processing<\/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>Parsewise API\u901a\u8fc7\u5355\u6b21API\u8c03\u7528\uff0c\u5373\u53ef\u5728\u591a\u4efd\u6587\u6863\u95f4\u81ea\u52a8\u63d0\u53d6\u4fe1\u606f\u3001\u89e3\u51b3\u77db\u76fe\u5e76\u8ffd\u8e2a\u6765\u6e90\uff0c\u66ff\u4ee3\u4e86\u4f20\u7edf\u9700\u8981\u4eba\u5de5\u642d\u5efa\u7684\u590d\u6742\u6587\u6863\u5904\u7406\u6d41\u6c34\u7ebf\uff0c\u4e13\u4e3a\u9700\u8981\u53ef\u9760\u6570\u636e\u5904\u7406\u4e0e\u4eba\u5de5\u9a8c\u8bc1\u7684Agent\u5e94\u7528\u573a\u666f\u8bbe\u8ba1\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\/cccafac7-5bb9-42af-a631-e62578386bcd.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\/00d37cf4-ae84-4c57-ab79-31a9fccd5668.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\/b334313c-cde6-4fdc-84ac-edecd0f7397f.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\/d28fcbb0-9885-441d-9fe4-a7e04184edf6.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\/de02bb2b-a963-4a1e-94f8-581650a766df.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\/c0e3cdb8-06b7-47be-b263-7f6e41ff3f62.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=F1cSuZal03s\"><source src=\"https:\/\/www.youtube.com\/watch?v=F1cSuZal03s\" 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\">\u6587\u6863\u5904\u7406API<\/span><br \/>\n            <span class=\"tag\">\u591a\u6587\u6863\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u77db\u76fe\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u4fe1\u606f\u6eaf\u6e90<\/span><br \/>\n            <span class=\"tag\">Agent\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u6570\u636e\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u4eba\u5de5\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u6d41\u6c34\u7ebf<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">AI\u6587\u6863\u89e3\u6790<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u591a\u683c\u5f0f\u6df7\u5408\u5904\u7406\u7684\u51c6\u786e\u6027\uff08\u626b\u63cfPDF\u3001\u8868\u683c\u3001\u6587\u672c\uff09\uff0c\u4ee5\u53ca\u975e\u89c6\u89c9\u6587\u6863\uff08\u5982\u7535\u5b50\u8868\u683c\u3001\u7eaf\u6587\u672c\uff09\u7684\u6eaf\u6e90\u5b9e\u73b0\u65b9\u5f0f\u3002\u5f00\u53d1\u56e2\u961f\u56de\u5e94\u652f\u6301\u6df7\u5408\u683c\u5f0f\u4e14\u65e0\u7cbe\u5ea6\u635f\u5931\uff0c\u5e76\u8be6\u7ec6\u89e3\u91ca\u4e86\u6eaf\u6e90\u5230\u5355\u5143\u683c\u5f15\u7528\u6216\u884c\u53f7\u7684\u53ef\u884c\u6027\u3002\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u77db\u76fe\u68c0\u6d4b\u548c\u8fb9\u754c\u6846\u6eaf\u6e90\u4ef7\u503c\uff0c\u8ba4\u4e3a\u8fd9\u662f\u5927\u591a\u6570\u4eba\u624b\u52a8\u6784\u5efa\u4e14\u6548\u679c\u4e0d\u4f73\u7684\u6838\u5fc3\u75db\u70b9\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                Parsewise API\u505a\u4e86\u4e00\u4ef6\u8bb8\u591a\u4eba\u90fd\u5728\u505a\u4f46\u505a\u5f97\u5f88\u75db\u82e6\u7684\u4e8b\uff1a\u5c06\u4e00\u4e2a\u788e\u7247\u5316\u7684\u3001\u7531\u591a\u4e2a\u5de5\u5177\u62fc\u63a5\u8d77\u6765\u7684\u6587\u6863\u5904\u7406\u6d41\u6c34\u7ebf\uff0c\u62bd\u8c61\u4e3a\u4e00\u4e2a\u6709\u72b6\u6001\u3001\u53ef\u56de\u6eaf\u7684\u667a\u80fdAgent\u3002\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u63d0\u53d6\u201d\uff0c\u800c\u5728\u4e8e\u201c\u534f\u8c03\u201d\u2014\u2014\u5f53\u4fe1\u606f\u6e90\u4e4b\u95f4\u51fa\u73b0\u77db\u76fe\u65f6\uff0c\u5b83\u4e0d\u4f9d\u8d56LLM\u7684\u8d4c\u535a\u5f0f\u7f6e\u4fe1\u5ea6\u8bc4\u5206\uff0c\u800c\u662f\u901a\u8fc7\u663e\u5f0f\u7684\u89c4\u5219\u548c\u53ef\u7f16\u8f91\u7684\u903b\u8f91\uff0c\u8ba9\u673a\u5668\u4e0e\u4eba\u7684\u534f\u4f5c\u53d8\u5f97\u900f\u660e\u4e14\u53ef\u63a7\u3002\u8fd9\u4e00\u601d\u8def\u5207\u4e2d\u4e86\u4f01\u4e1a\u7ea7\u5e94\u7528\u7684\u547d\u95e8\uff1a\u4fe1\u4efb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u9762\u4e34\u7684\u6311\u6218\u540c\u6837\u660e\u663e\u3002\u9996\u5148\u662f\u201c\u683c\u5f0f\u9ed1\u6d1e\u201d\u95ee\u9898\u2014\u2014\u7528\u6237\u5df2\u8ffd\u95ee\u975e\u89c6\u89c9\u6587\u6863\u7684\u6eaf\u6e90\u65b9\u5f0f\uff0c\u5982\u679c\u56e2\u961f\u53ea\u80fd\u63d0\u4f9b\u6a21\u7cca\u7684\u201c\u884c\u53f7\u201d\u6216\u201c\u5355\u5143\u683c\u5f15\u7528\u201d\uff0c\u800c\u65e0\u6cd5\u50cfPDF\u90a3\u6837\u63d0\u4f9b\u53ef\u89c6\u5316\u9ad8\u4eae\uff0c\u90a3\u6240\u8c13\u7684\u201cfull lineage\u201d\u5c31\u4ea7\u751f\u4e86\u7528\u6237\u4f53\u9a8c\u4e0a\u7684\u65ad\u5c42\u3002\u5176\u6b21\u662f\u89c4\u5219\u7684\u7ef4\u62a4\u6210\u672c\uff1a\u867d\u7136\u5ba3\u79f0\u53ef\u8ba9\u7528\u6237\u5b9a\u4e49\u89e3\u51b3\u77db\u76fe\u7684\u539f\u5219\uff0c\u4f46\u8fd9\u4e9b\u539f\u5219\u5728\u8de8\u884c\u4e1a\u3001\u591a\u8bed\u79cd\u3001\u52a8\u6001\u53d8\u66f4\u7684\u4e1a\u52a1\u573a\u666f\u4e0b\uff0c\u53ef\u80fd\u8fc5\u901f\u81a8\u80c0\u4e3a\u53e6\u4e00\u4e2a\u9700\u8981\u4e13\u4eba\u7ef4\u62a4\u7684\u201c\u89c4\u5219\u5e93\u201d\uff0c\u6700\u7ec8\u548c\u5b83\u8bd5\u56fe\u66ff\u4ee3\u7684\u6d41\u6c34\u7ebf\u4e00\u6837\u590d\u6742\u3002\u6700\u540e\uff0c112\u4e2a\u6295\u7968\u548c\u4ec5\u6709\u7684\u51e0\u6761\u8bc4\u8bba\u6697\u793a\u4ea7\u54c1\u53ef\u80fd\u4ecd\u5904\u4e8e\u65e9\u671f\u9636\u6bb5\uff0c\u5176\u6838\u5fc3Agent\u5728\u5904\u7406\u6781\u7aef\u590d\u6742\u7684\u591a\u6587\u6863\u5f02\u6784\u573a\u666f\uff08\u5982\u51e0\u5341\u4efd\u6df7\u6742\u683c\u5f0f\u7684\u6cd5\u5f8b\u5c3d\u8c03\u6750\u6599\uff09\u65f6\u7684\u7a33\u5b9a\u6027\u3001\u901f\u5ea6\u548c\u6210\u672c\uff0c\u5c1a\u672a\u53d7\u5230\u771f\u6b63\u7684\u538b\u529b\u6d4b\u8bd5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aParsewise\u7784\u51c6\u4e86\u4e00\u4e2a100%\u771f\u5b9e\u4e14\u9ad8\u75db\u5ea6\u7684\u573a\u666f\uff0c\u7528\u201c\u53ef\u56de\u6eaf\u7684\u534f\u8c03\u201d\u53d6\u4ee3\u4e86\u201c\u9ed1\u7bb1\u5f0f\u63d0\u53d6\u201d\uff0c\u65b9\u5411\u6b63\u786e\u3002\u4f46\u8bb2\u597d\u201c\u6eaf\u6e90\u201d\u7684\u6545\u4e8b\u6613\uff0c\u5151\u73b0\u201c\u901a\u7528\u4e14\u4f4e\u6210\u672c\u201d\u7684\u627f\u8bfa\u96be\u3002\u5b83\u80fd\u5426\u6210\u4e3a\u6587\u6863\u5904\u7406\u9886\u57df\u7684\u4e0b\u4e00\u4e2a\u6807\u51c6\u63a5\u53e3\uff0c\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8fb9\u7f18\u6848\u4f8b\u7684\u89e3\u51b3\u6df1\u5ea6\uff0c\u800c\u975e\u6f14\u793ademo\u7684\u6d41\u7545\u5ea6\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\">Parsewise API<\/span>\n                <\/div>\n<div class=\"comment-content\">One API call replaces the entire document processing pipeline. You send multiple documents and a desired output schema; you get back resolved values, flagged contradictions, and full lineage down to the source words, pages, and documents, with bounding boxes you can embed directly into your own UI for human validation. No parsing, classification, stitching, or custom verification interface to build or maintain.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello from Greg, Max and the Parsewise team!<\/p>\n<p>Having seen Parsewise provide tremendous value in production for our enterprise customers (incl. UBS, Compre Group, Thinksurance), we are excited to launch our API!<\/p>\n<p>The Problem<br \/>Today, you have to build and maintain complex document processing pipelines with changing business rules. You parse, classify, and rely on structured responses from LLMs or IDP tools (e.g., Reducto) to get individual extraction results that you piece together with other bits of information. There\u2019s no reliable way to catch when information contradicts itself, which is risky. Finally, you build a custom verification UI for your operations team to deal with LLM mistakes.<\/p>\n<p>The Solution<br \/>We provide an API to abstract all that away into a single call. You provide multiple documents and the desired output to get back a response with resolved values, flagged contradictions, and full traceability across documents \/ pages that you can display in your own app.<\/p>\n<p>Get Started<br \/>=================================================<br \/>Sign up with free credits: <a href=\"https:\/\/www.parsewise.ai\/get-started?utm_source=producthunt&amp;utm_medium=referral&amp;utm_campaign=api_launch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.parsewise.ai\/get-started<\/a><br \/>(use the <a href=\"https:\/\/api.parsewise.ai\/AGENTS.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Agents.md<\/a> for a 1m integration)<br \/>=================================================<\/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>Max here, <a href=\"https:\/\/www.producthunt.com\/@greg_csegzi\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"greg_csegzi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@greg_csegzi<\/a>&#8216;s co-founder. One quick add for the builders: if you want to look under the hood before signing up, our docs and quickstart are fully public.<\/p>\n<ul>\n<li>\n<p>Docs: <a href=\"https:\/\/docs.parsewise.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.parsewise.ai\/<\/a><\/p>\n<\/li>\n<li>\n<p>Getting started: <a href=\"https:\/\/docs.parsewise.ai\/getting-started\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.parsewise.ai\/getting-started<\/a><\/p>\n<\/li>\n<\/ul>\n<p>The getting started guide walks you from zero to your first multi-document call, with resolved values, flagged contradictions, and full traceability, in a few minutes. If you hit anything confusing or have a use case you&#8217;re not sure we handle, write a comment below. Greg and I are here and will answer every one.<\/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>contradiction detection across documents is the part most people build manually and badly. when your agent pulls data from 3 sources and they disagree, knowing which one to trust without a human checking every time is a hard problem. how does the lineage tracing work in practice<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;very good question and indeed it&#8217;s a pain especially bc different LLMs may even pick different documents to trust!<\/p>\n<p>Lineage tracing in practice means that a user can:<br \/>&#8211; start from a resolved value<br \/>&#8211; click to go deep and see all underlying values and the logic used to arrive at the resolved value<br \/>&#8211; for each underlying value seeing if it agrees with the resolved value and seeing a word level bounding box for its provenance<\/p>\n<p>There are 3 core components that make this possible:<br \/>1. For any one data point, we pull ALL of the relevant sources, even if that&#8217;s across 15 documents and 20 pages<br \/>2. For all of these hits, we need to compare them and decide whether 1 correct answer needs to be picked from them or whether they need combining<br \/>3. The logic for reconciling is explicitly written out when the user defines their initial target, so they can edit it, and our agents can make suggestions when a previously unseen disagreement occurs<\/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\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;Hey Tina, you&#8217;re so right regarding building in-house. We often see customers building document-by-document extraction tools that fall apart when the data has inconsistencies. <\/p>\n<p>Building on Greg&#8217;s point above, we allow users to set guidelines that help our agents decide what the &#8220;correct&#8221; value is. <\/p>\n<p>A screenshot below from <a href=\"https:\/\/app.parsewise.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">app.parsewise.ai<\/a> shows an example: <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/65fcf7de-8d3b-41e1-a1cb-ba3af42a7f0f.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p>You can also play around with some of our demos here: <a href=\"http:\/\/demo.parsewise.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">demo.parsewise.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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle documents with different formats in the same call say a scanned PDF, a spreadsheet, and a plain text file? Does accuracy drop when mixing formats? <\/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\/@aanchal_dahiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aanchal_dahiya<\/a>&nbsp;Hey Aanchal, we support mixing formats! Our agentic system processes each file independently and in-full, whilst also combining context with all other files in the set. This means that there&#8217;s no accuracy drop as more files are added. 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The lineage-down-to-bounding-boxes is the part I&#8217;d actually pay for \u2014 most extraction APIs hand you a value plus a confidence score and leave you to trust it. But bounding boxes only make sense for visual docs; when the source is a spreadsheet or plain text, what does &#8220;lineage&#8221; resolve to \u2014 a cell reference, a line number, nothing? The human-validation UI only works if every value points back to something clickable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/LZW75Z4DPWK2QY\" class=\"app-title\">LangPanda<\/a><\/p>\n<div class=\"one-liner\">Learn languages from watching your favorite shows<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">110<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>LangPanda\u5c06\u7528\u6237\u8ffd\u5267\u3001\u5237YouTube\u7684\u5a31\u4e50\u65f6\u95f4\u8f6c\u5316\u4e3a\u591a\u8bed\u8a00\u5b66\u4e60\u573a\u666f\uff0c\u901a\u8fc7\u5373\u65f6\u8bcd\u5178\u3001\u95ea\u5361\u751f\u6210\u548c\u8bcd\u6c47\u8ffd\u8e2a\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u8bed\u8a00\u5e94\u7528\u201c\u65b9\u6cd5\u867d\u597d\u4f46\u96be\u575a\u6301\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bc099fe6-43ef-4f9c-b310-174607eae4b0.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\/0ddd7c5e-152f-42ce-9cd6-e8d39cbfb4a0.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\/b2d7edb1-d1bd-4d75-9c4d-23f216d3238d.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\/4430aa99-0183-492e-95cf-5e9abad9fa94.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\/a6b43682-a848-4e8b-b308-2572a8bf74d4.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\/3bb374a6-61cc-4eeb-b939-23da41bb11b0.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\/957b19d3-16d4-48d7-a8aa-f2310d6d9849.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\/0d5a5c30-1f5e-48d2-a480-7b00c98e85d0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">Languages<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u8a00\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u6c89\u6d78\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u95ea\u5361\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bcd\u6c47\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">YouTube\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4e9a\u6d32\u8bed\u8a00<\/span><br \/>\n            <span class=\"tag\">\u6c89\u6d78\u5f0f\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">AI\u6559\u80b2<\/span><br \/>\n            <span class=\"tag\">\u8ba2\u9605\u5236<\/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\u7528\u5267\u96c6\u5b66\u4e60\u201d\u7684\u6838\u5fc3\u7406\u5ff5\uff0c\u8ba4\u4e3a\u5176\u80fd\u89e3\u51b3\u7fd8\u8bfe\u95ee\u9898\u3002\u6709\u8bc4\u8bba\u6307\u51fa\u5206\u8bcd\u8bed\u4e49\u5206\u5272\uff08\u5c24\u5176\u4e9a\u6d32\u8bed\u8a00\uff09\u662f\u96be\u70b9\uff0c\u5f00\u53d1\u8005\u8be6\u7ec6\u56de\u5e94\u4e86\u81ea\u5efa\u5206\u8bcd\u5668\uff08\u5982\u65e5\u8bed\u7684kuromoji\/\u6cf0\u8bed\u7684Intl.Segmenter\uff09\u3002\u5efa\u8bae\u589e\u52a0AI\u751f\u6210\u5b57\u5e55\u53ca\u66f4\u591a\u5e73\u53f0\u652f\u6301\uff0c\u90e8\u5206\u7528\u6237\u8be2\u95ee\u662f\u5426\u652f\u6301\u4efb\u610f\u89c6\u9891\u6216\u4ec5\u9650YouTube\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                LangPanda\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u5ffd\u89c6\u5374\u6781\u5176\u521a\u9700\u7684\u7ec6\u5206\u8d5b\u9053\u2014\u2014\u7528\u201c\u88ab\u52a8\u5a31\u4e50\u201d\u7f6e\u6362\u201c\u4e3b\u52a8\u5b66\u4e60\u201d\u3002110\u7968\u7684\u8bc4\u4ef7\u4e0d\u7b97\u7206\u6b3e\uff0c\u4f46\u8bc4\u8bba\u8d28\u91cf\u5f88\u9ad8\uff0c\u5c24\u5176\u5f00\u53d1\u8005\u5bf9\u5206\u8bcd\u6280\u672f\uff08\u65e5\u3001\u6cf0\u3001\u4e2d\u7b49\uff09\u7684\u8be6\u7ec6\u56de\u5e94\uff0c\u66b4\u9732\u51fa\u8be5\u4ea7\u54c1\u5728\u6280\u672f\u57fa\u5e95\u4e0a\u7684\u771f\u5b9e\u58c1\u5792\uff1a\u6ca1\u6709\u73b0\u6210\u5e93\u80fd\u8986\u76d636\u79cd\u8bed\u8a00\uff0c\u4ed6\u4eec\u5fc5\u987b\u81ea\u7814\u6216\u6df1\u5ea6\u5b9a\u5236\u3002\u8fd9\u65e2\u662f\u62a4\u57ce\u6cb3\uff0c\u4e5f\u662f\u6210\u672c\u9ed1\u6d1e\u2014\u2014\u7ef4\u62a4\u4e00\u5957\u591a\u8bed\u8a00\u89e3\u6790\u7cfb\u7edf\u7684\u6280\u672f\u6295\u5165\u8fdc\u8d85\u666e\u901a\u5de5\u5177\u7c7bApp\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u7528\u6237\u53cd\u9988\u770b\uff0c\u6838\u5fc3\u5438\u5f15\u529b\u5e76\u975e\u201c36\u79cd\u8bed\u8a00\u201d\u7684\u5e7f\u5ea6\uff0c\u800c\u662f\u201c\u4ece\u4f60\u5df2\u7ecf\u7231\u770b\u7684\u5267\u91cc\u5b66\u201d\u8fd9\u4e2a\u884c\u4e3a\u903b\u8f91\u3002\u5b83\u51fb\u4e2d\u4e86\u8bed\u8a00\u5b66\u4e60\u9ad8\u9891\u5931\u8d25\u70b9\uff1a\u4e0d\u662f\u65b9\u6cd5\u4e0d\u884c\uff0c\u662f\u4e60\u60ef\u6491\u4e0d\u8fc7\u5026\u6020\u671f\u3002\u4ea7\u54c1\u4ef7\u503c\u4e0d\u5728\u901f\u6210\uff0c\u800c\u5728\u201c\u4e60\u60ef\u7ed1\u5b9a\u201d\u2014\u2014\u628a\u5b66\u4e60\u6302\u5728\u8ffd\u5267\u8fd9\u4e2a\u9ad8\u7c98\u6027\u884c\u4e3a\u4e0a\u3002\u4f46\u9700\u8b66\u60d5\uff1aYouTube\u4e0a\u5e26\u5b57\u5e55\u7684\u89c6\u9891\u8d28\u91cf\u53c2\u5dee\uff0c\u82e5\u5b57\u5e55\u4e0d\u7cbe\u51c6\u6216\u5185\u5bb9\u5bf9\u521d\u5b66\u8005\u592a\u96be\uff0c\u4f53\u9a8c\u4f1a\u8fc5\u901f\u6ed1\u5761\u3002\u76ee\u524d\u4ec5\u9650YouTube\u4e14\u4f9d\u8d56\u73b0\u6709\u5b57\u5e55\uff0c\u4e0a\u9650\u660e\u663e\uff1b\u800cNetflix\u3001Disney+\u7b49\u4e3b\u6218\u573a\u672a\u6253\u901a\uff0c\u610f\u5473\u7740\u5f88\u591a\u7528\u6237\u7684\u201c\u672c\u547d\u5267\u201d\u4e0d\u5728\u670d\u52a1\u8303\u56f4\u5185\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u903b\u8f91\u770b\uff0c7\u5929\u514d\u8d39\u8bd5\u7528+\u8ba2\u9605\u5236\u5bf9\u5f3a\u9700\u6c42\u7528\u6237\u662f\u5408\u7406\u7684\uff0c\u4f46\u8fd9\u66f4\u7b26\u5408\u201c\u5de5\u5177\u201d\u800c\u975e\u201c\u5185\u5bb9\u5e73\u53f0\u201d\u7684\u5b9a\u4ef7\u903b\u8f91\u3002\u5982\u679c\u540e\u7eed\u65e0\u6cd5\u8054\u52a8\u6d41\u5a92\u4f53\u5e73\u53f0\u6216\u6253\u9020\u72ec\u5bb6\u96be\u5ea6\u7684\u89e3\u8bf4\u8bed\u6599\u5e93\uff0c\u7528\u6237\u4ef7\u503c\u6781\u6613\u88abAI\u9010\u53e5\u7ffb\u8bd1\u7c7b\u63d2\u4ef6\uff08\u5982Language Reactor\uff09\u66ff\u4ee3\u3002\u6700\u540e\uff0c\u5f00\u53d1\u8005\u5728\u56de\u5e16\u4e2d\u5c55\u793a\u7684\u6280\u672f\u70ed\u60c5\u503c\u5f97\u80af\u5b9a\uff0c\u4f46\u6280\u672f\u7231\u597d\u8005\u7684\u96c6\u5927\u6210\u4e4b\u4f5c\u4e0e\u666e\u901a\u7528\u6237\u5fc3\u4e2d\u201c\u5373\u5f00\u5373\u7528\u201d\u7684\u671f\u5f85\u4e4b\u95f4\uff0c\u59cb\u7ec8\u9694\u7740\u4e00\u6761\u62a4\u57ce\u6cb3\u2014\u2014\u800c\u4e14\u8fd9\u6761\u6cb3\u5f97\u7531\u4ea7\u54c1\u7ecf\u7406\u548cUX\u8bbe\u8ba1\u5e08\u6765\u586b\u5e73\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\">LangPanda<\/span>\n                <\/div>\n<div class=\"comment-content\">LangPanda helps you learn 36 languages by watching your favorite shows. Instant dictionary, flashcard creation, vocabulary tracking. 7-day free trial.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This caught my eye because tokenization is the silent killer for that language group. Mandarin and Thai have no spaces, Japanese mixes three scripts in one sentence, Korean spacing rules are loose. Did you build the segmenter yourself or wrap something existing like jieba or MeCab? Great job!<\/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\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Thank you. And you are spot on, that has been one of the big challenges as their is not a single library to handle all languages. The good thing is I am studying all those languages except Korean which I am just dabbling in.<\/p>\n<ul>\n<li>\n<p>For Japanese &#8211; kuromoji + IPADIC + custom rules<\/p>\n<\/li>\n<li>\n<p>For Mandarin and Cantonese, custom lexicons + longest match scanner plus tone-aware pinyin\/jyutping rendering on top (a few rare edge cases where pinyin may be off on a word, going to build rules to handle these edge cases). <\/p>\n<\/li>\n<li>\n<p>Thai, Khmer, Lao, Myanmar &#8211; Intl.Segmenter as the base with extra logic to walk through clusters. Also some custom rules. Not 100% perfect, still working on improving this as I am studying Thai everyday<\/p>\n<\/li>\n<li>\n<p>Korean &#8211; hangul-js + custom suffix-conjugation rules<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hello everyone! I&#8217;ve spent years learning Asian languages. I tried a lot of different tools and none of them met my needs So I built LangPanda for myself, and for anyone who learns the same way.<\/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\/@chrislabonty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrislabonty<\/a>&nbsp;Learning from shows you already want to watch solves the real problem with language apps: it&#8217;s not the method, it&#8217;s that people quit. You can&#8217;t churn out of something you&#8217;d do for fun anyway. The spaced-repetition layer on top of native content is the smart combo. One thing I&#8217;d be curious about: does it pull vocab from what you actually watched, or from a fixed deck? The first is way harder but it&#8217;s the whole magic, learning the words from your shows, not someone else&#8217;s textbook. Upvoted.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is pretty cool IMO. If we could turn any content we consume and face to in every-day life into a language we wanna to learn, we would be native speakers 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<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> Thank you!&nbsp;I think learning from native content is one of the best ways to learn languages and its also enjoyable. I have been doing it almost every day for years.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 cool! I studied languages (French and Italian) at uni and find the way that we learn languages fascinating. Learnt Mandarin at school too, which I found much harder to pick up much to Mrs Pan&#8217;s dismay, so something like this would have really helped! Does it work with any video, do you just select a video and it adds subtitles?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@abi_church\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abi_church<\/a>&nbsp;Hey, that is very cool. Mandarin really is a different beast. I have been learning Mandarin this way for over 2 years and it worked for me. Still learning more every day.<\/p>\n<\/p>\n<p>Right now, it works on YouTube videos that have subtitles and I am building out a big catalog especially of comprehensible input videos so people can find stuff at their level, very beginner all the way to native. Netflix and most other platforms usually have subs on pretty much every video. AI-generated subtitles for videos that don&#8217;t have subs is coming soon.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I think situational learning is much more important. For example, I arrive in Mexico and go to a restaurant. I take photos of the menu, dishes, objects on the table, and so on, and it immediately shows me the names using real examples. That would be really cool to build &#8211; I would use something like that myself!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;There is an app called CapWords that does exactly that. LangPanda is focused on helping people understand native speech in a natural way and learning from real sentences \/ context through immersion.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 actually a very cool idea. Most people already spend hours watching Netflix or YouTube, so turning that time into language learning makes a lot of sense. The vocabulary tracking feature looks especially useful for staying consistent without making learning feel like homework.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alina_tyslenok_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alina_tyslenok_<\/a>&nbsp;Thank you and yeah it makes the passive watch time productive.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@chrislabonty\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"chrislabonty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrislabonty<\/a> I\u2019ve been waiting for a tool like this for a long time. I don\u2019t really enjoy reading subtitles through every scene, but I do enjoy learning new languages. Learning through a different format like this sounds much more engaging and useful for me. 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>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the concept behind LangPanda. Learning through shows feels much more natural compared to traditional language apps, especially for building listening skills and real vocabulary. The instant dictionary and flashcard creation are a really smart addition. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@anthony_savchenko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anthony_savchenko<\/a>&nbsp;Thank you! Yep, learning from real content is the most natural way to acquire a language.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;d love to see it in action! Do you have demo content? I couldn&#8217;t find it on the home page.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@gurbax_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gurbax_<\/a>&nbsp;Hey Gurbax! There is not a demo account however there is a 7 day free trial so you can test it yourself. You can also access some of the extension and mobile app features for free.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/XQWKMWHOT4ICUA\" class=\"app-title\">Kept<\/a><\/p>\n<div class=\"one-liner\">Your AI chats, saved as Markdown locally with no cloud<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">102<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kept \u662f\u4e00\u6b3e\u672c\u5730\u4f18\u5148\u7684AI\u5bf9\u8bdd\u5b58\u6863\u5de5\u5177\uff0c\u80fd\u5c06ChatGPT\u3001Claude\u7b49\u4e3b\u6d41AI\u5e73\u53f0\u7684\u804a\u5929\u8bb0\u5f55\u81ea\u52a8\u4fdd\u5b58\u4e3aObsidian\u517c\u5bb9\u7684Markdown\u6587\u4ef6\uff0c\u89e3\u51b3\u7528\u6237\u56e0\u5382\u5546\u9501\u5b9a\u800c\u4e22\u5931\u5b9d\u8d35\u5bf9\u8bdd\u5386\u53f2\u4e0e\u7075\u611f\u7247\u6bb5\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\/d26b9cf0-1ae5-4a98-b84e-52f4ff148d97.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\/b3d25599-9084-490d-a23b-ff590df274e3.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\/9b4f332e-7fd6-4f90-b2ee-3509104d290a.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\/8eccb780-c22a-4f59-aaba-2a6afd21b4f1.gif?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5bf9\u8bdd\u5b58\u6863<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">Markdown<\/span><br \/>\n            <span class=\"tag\">Obsidian<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u56fe\u8c31<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">\u5168\u6587\u672c\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u672c\u5730Markdown\u548cObsidian\u517c\u5bb9\u7684\u8bbe\u8ba1\u3002\u6838\u5fc3\u5efa\u8bae\u5305\u62ec\uff1a\u589e\u52a0\u8bed\u4e49\u641c\u7d22\uff1b\u652f\u6301\u804a\u5929\u5206\u7ec4\/\u5206\u7c7b\uff1b\u5728\u201c\u5b58\u6863\u201d\u57fa\u7840\u4e0a\uff0c\u589e\u52a0\u5bf9\u201c\u8bb0\u5fc6\u6027\u201d\u548c\u201c\u8349\u7a3f\u6027\u201d\u5185\u5bb9\u7684\u663e\u5f0f\u6807\u8bb0\u4e0e\u533a\u5206\uff1b\u89e3\u51b3\u8de8\u8bbe\u5907\u540c\u6b65\u95ee\u9898\uff1b\u62c5\u5fe7\u6d4f\u89c8\u5668\u6269\u5c55\u6293\u53d6DOM\u7684\u6a21\u5f0f\u6613\u56e0\u5382\u5546UI\u66f4\u65b0\u800c\u5931\u6548\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                Kept\u7cbe\u51c6\u5730\u5207\u5165\u4e86\u4e00\u4e2a\u666e\u904d\u4f46\u672a\u88ab\u5145\u5206\u89e3\u51b3\u7684\u75db\u70b9\uff1aAI\u5bf9\u8bdd\u4e2d\u7684\u6570\u636e\u4e3b\u6743\u4e0e\u77e5\u8bc6\u6c89\u6dc0\u95ee\u9898\u3002\u5b83\u5e76\u975e\u53c8\u4e00\u4e2aAI\u804a\u5929\u5ba2\u6237\u7aef\uff0c\u800c\u662f\u4e00\u4e2a\u806a\u660e\u7684\u201c\u6570\u636e\u642c\u8fd0\u5de5\u201d\u548c\u201c\u672c\u5730\u5316\u77e5\u8bc6\u5e93\u6784\u5efa\u5668\u201d\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u901a\u8fc7\u201c\u672c\u5730Markdown\u201d\u8fd9\u4e00\u6781\u7b80\u4e14\u5f3a\u5927\u7684\u683c\u5f0f\uff0c\u5f7b\u5e95\u89e3\u9664\u4e86\u7528\u6237\u5bf9AI\u5382\u5546UI\u7684\u4f9d\u8d56\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u7b56\u7565\u770b\uff0c\u201cObsidian\u517c\u5bb9\u201d\u662f\u4e00\u6b65\u5999\u68cb\u3002\u5b83\u4e0d\u4ec5\u63d0\u4f9b\u4e86\u4e00\u4e2a\u73b0\u6210\u7684\u3001\u62e5\u6709\u5f3a\u5927\u751f\u6001\u7684\u9605\u8bfb\u548c\u7f16\u8f91\u73af\u5883\uff0c\u66f4\u5de7\u5999\u5730\u5c06AI\u5bf9\u8bdd\u4ece\u201c\u4e00\u6b21\u6027\u6d88\u8d39\u54c1\u201d\u8f6c\u5316\u4e3a\u53ef\u94fe\u63a5\u3001\u53ef\u7ec4\u7ec7\u3001\u53ef\u957f\u671f\u79ef\u7d2f\u7684\u201c\u77e5\u8bc6\u5355\u5143\u201d\uff0c\u5b8c\u6210\u4e86\u4ece\u804a\u5929\u8bb0\u5f55\u5230\u77e5\u8bc6\u5e93\u7684\u8d28\u53d8\u3002\u4ece\u8bc4\u8bba\u53cd\u9988\u6765\u770b\uff0c\u7528\u6237\u5df2\u7ecf\u654f\u9510\u5730\u6355\u6349\u5230\u4e86\u66f4\u6df1\u5c42\u6b21\u7684\u9700\u6c42\uff1a\u5982\u4f55\u4ece\u201c\u5b58\u6863\u201d\u8fdb\u5316\u5230\u201c\u6574\u7406\u201d\u3002\u7528\u6237\u9700\u8981\u7684\u4e0d\u662f\u5c06\u6d77\u91cf\u5783\u573e\u5bf9\u8bdd\u539f\u5c01\u4e0d\u52a8\u5730\u5012\u8fdb\u672c\u5730\uff0c\u800c\u662f\u5e0c\u671b\u7cfb\u7edf\u80fd\u5e2e\u52a9\u8bc6\u522b\u5e76\u63d0\u70bc\u51fa\u6709\u4ef7\u503c\u7684\u51b3\u7b56\u3001\u793a\u4f8b\u548c\u7ea6\u675f\u6761\u4ef6\u3002Kept\u7684\u201c\u6458\u8981\u201d\u548c\u201c\u9879\u76ee\u201d\u529f\u80fd\u867d\u5df2\u89e6\u53ca\uff0c\u4f46\u201c\u663e\u5f0f\u6807\u6ce8\u8bb0\u5fc6\u4e0e\u8349\u7a3f\u201d\u7684\u63d0\u8bae\u624d\u662f\u771f\u6b63\u7684\u589e\u957f\u98de\u8f6e\u2014\u2014\u5b83\u5c06\u5de5\u5177\u4ece\u88ab\u52a8\u8bb0\u5f55\u5347\u7ea7\u4e3a\u4e3b\u52a8\u7684\u77e5\u8bc6\u7ba1\u7406\u7cfb\u7edf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0cKept\u9762\u4e34\u7740\u4e24\u4e2a\u4e25\u5cfb\u6311\u6218\u3002\u9996\u5148\uff0c\u5176\u6838\u5fc3\u201c\u81ea\u52a8\u6355\u83b7\u201d\u4f9d\u8d56\u6d4f\u89c8\u5668\u6269\u5c55\u5bf9\u5404\u5927AI\u5e73\u53f0DOM\u7684\u89e3\u6790\uff0c\u8fd9\u662f\u4e00\u79cd\u6781\u4e0d\u7a33\u5b9a\u7684\u65b9\u6848\u3002\u4efb\u4f55UI\u7684\u8f7b\u5fae\u8c03\u6574\u90fd\u53ef\u80fd\u5bfc\u81f4\u6355\u83b7\u529f\u80fd\u9759\u9ed8\u5931\u6548\uff0c\u7ef4\u62a4\u6210\u672c\u6781\u9ad8\uff0c\u4e14\u7528\u6237\u4fe1\u4efb\u5ea6\u4f1a\u56e0\u6570\u636e\u4e22\u5931\u800c\u77ac\u95f4\u5d29\u584c\u3002\u5176\u6b21\uff0c\u201c\u5355\u673a+\u6587\u4ef6\u5939\u540c\u6b65\u201d\u7684\u65b9\u6848\u5728\u9690\u79c1\u548c\u7b80\u6d01\u4e0a\u5f97\u5206\uff0c\u4f46\u534f\u540c\u5de5\u4f5c\u6d41\u3001\u8de8\u8bbe\u5907\u65e0\u7f1d\u4f53\u9a8c\u4ecd\u662f\u77ed\u677f\uff0c\u8fd9\u963b\u6b62\u4e86\u5b83\u4ece\u4e2a\u4eba\u6548\u7387\u5de5\u5177\u5411\u56e2\u961f\u534f\u4f5c\u5e73\u53f0\u8dc3\u8fc1\u3002Kept\u76ee\u524d\u662f\u4e00\u4e2a\u7cbe\u7f8e\u7684\u3001\u6709\u8fdc\u89c1\u7684\u201c\u5b58\u6863\u5668\u201d\uff0c\u4f46\u82e5\u60f3\u6210\u4e3a\u4e0b\u4e00\u4ee3\u77e5\u8bc6\u7ba1\u7406\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u5b83\u5fc5\u987b\u89e3\u51b3\u6570\u636e\u6355\u83b7\u7684\u5065\u58ee\u6027\u6311\u6218\uff0c\u5e76\u5728\u201c\u81ea\u52a8\u5b58\u6863\u201d\u4e0e\u201c\u667a\u80fd\u6574\u7406\u201d\u4e4b\u95f4\uff0c\u627e\u5230\u66f4\u4f18\u96c5\u7684\u8861\u91cf\u548c\u8f6c\u5316\u673a\u5236\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\">Kept<\/span>\n                <\/div>\n<div class=\"comment-content\">Kept: is an AI chat and productivity tool on your local archive. Captures conversations from ChatGPT, Claude, Gemini, Grok, and Kimi as Obsidian compatible markdown on your filesystem, with full-text search, knowledge graph, and an MCP servers. MIT license. View your Vault locally,<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Every brainstorm, every breakthrough, every good prompt I had with ChatGPT, Claude, Gemini, or Grok lives inside a vendor UI. A week later I cannot find it.<\/p>\n<p>Kept captures my AI conversations the moment they happen and saves them on my own machine, where I can search them, link them, and build on them.<\/p>\n<p>Features:<br \/>&#8211; Auto syncs your AI conversations as they happen, straight from the provider<br \/>&#8211; One .md file per conversation (Obsidian compatible)<br \/>&#8211; Built-in Agent runs over your own vault, not a cloud index<br \/>&#8211; Knowledge graph rendered in 3D, surfaces forgotten threads<br \/>&#8211; BYOK (OpenRouter \/ Anthropic \/ OpenAI)<br \/>&#8211; Additional OpenClaw and Claude Code MCP support to scan your vault<\/p>\n<p>Install is a one-minute job: run the desktop installer, then drag and drop the browser extension into Chrome.<\/p>\n<p>Open source, MIT licensed. No account, no cloud, no subscription. We would love to hear your feedback.<\/p>\n<p>Supported: ChatGPT, Claude, Gemini, Grok, Kimi.<\/p>\n<p>Try it: <a href=\"https:\/\/kept.work\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/kept.work<\/a><\/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\/@tibor_takacs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tibor_takacs<\/a>&nbsp;Congrats on the launch Tibor. Is this full semantic embed &amp; search?<\/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\/@tibor_takacs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tibor_takacs<\/a>&nbsp;Haven&#8217;t tried it yet &#8211; on my to do list though!<\/p>\n<p>In meantime, i use github for this purpose, but this would be easier to manage. <br \/>Also, if you could group or classify chats into distinct groups (might already be there) that would be ideal<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Claude people think that HTML is better. Not as easy to edit, of course. <\/p>\n<p>What\u2019s your opinion?<\/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\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;Thanks for the question! Honestly we picked Markdown for human ergonomics. The vault is Obsidian-compatible and editable in VS Code or any text editor. For a format you&#8217;re meant to actually open, I think Markdown wins. That&#8217;s the whole point of Kept: the files are yours to touch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Local Markdown is a great default. The next hard thing, I think, is deciding what should graduate out of the chat archive.<\/p>\n<\/p>\n<p>A raw AI conversation has a lot of dead ends and temporary context in it. The really valuable pieces are usually decisions, reusable examples, prompts that actually worked, and constraints you don\u2019t want future sessions to forget. I\u2019d love to see Kept make that boundary explicit: archive everything, but help people mark which parts are \u201cmemory,\u201d which are just transcript, and which are stale enough to stop influencing future work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jim_jeffers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jim_jeffers<\/a>&nbsp;Thanks Jim! Today the digest system auto-summarizes idle conversations so high-signal parts surface, and Projects let you promote conversations into curated sets. The browser extension&#8217;s command palette also has a &#8220;save last N messages&#8221; mode (coarse version of the same idea), capturing just the part that mattered. <\/p>\n<p><em>But explicit per-message or  per-block &#8220;memory \/ scratch \/ stale&#8221; markers are not built yet<\/em>. <\/p>\n<p>Writing it up though. Good suggestion!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>That split between auto-digest and intentional promotion makes sense. I\u2019d probably keep the \u201cmemory \/ scratch \/ stale\u201d model very lightweight at first, almost like a correction layer rather than a filing system.<\/p>\n<\/p>\n<p>One pattern I\u2019d watch for: people often don\u2019t know something is durable while they\u2019re in the chat. They realize later when the same constraint comes up again. So a retroactive \u201cpromote this decision\/example, and optionally mark the earlier messy exploration as scratch\u201d might be more natural than asking them to classify everything live.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Tibor, congrats! the missing piece! markdown + obsidian-compatible was always going to win. when does the knowledge graph beat full-text search in practice? &#8220;where did i decide X&#8221; feels like full-text. &#8220;what path got me there&#8221; feels like graph. is that the split? good luck with your 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\/@hiyamojo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hiyamojo<\/a>&nbsp;Thanks Keith!. Full-text search = retrieval (&#8220;where did I decide on Postgres over Mongo&#8221;). Knowledge graph = exploration, surfacing older conversations connected to an entity or project, or threads you&#8217;d forgotten. The 3D explorer leans into that discovery mode rather than retrieval. Semantic search is on the roadmap to fill the fuzzy-retrieval gap between the two.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Local Markdown feels like the right default for AI chats because the valuable part is usually not the chat UI, it is the reusable context you want to move into notes, docs, or a repo.<\/p>\n<p>The detail I\u2019d be most curious about is export fidelity: do you preserve model name, timestamps, attachments, code blocks, and source links in a predictable frontmatter\/schema? That would make it much easier for teams to treat chats as a durable knowledge base rather than another archive.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@studentzuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@studentzuo<\/a>&nbsp;Great question! This was a design priority. Every conversation is one .md file with a YAML frontmatter block: conversation id, platform, title, model, created_at \/ updated_at \/ synced timestamps and message count. The body preserves message roles, tables, and code fences with language hints. Schema is stable and Obsidian-compatible, so treating the vault as a durable knowledge base is the intended 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Local-first for AI chats just makes sense. The vendor lock-in is real, you have a great prompt and a week later it&#8217;s gone inside some UI.<\/p>\n<\/p>\n<p>Did the same building a finance app, kept everything on-device instead of a server. The annoying part was syncing across devices without running my own cloud. <\/p>\n<\/p>\n<p>How are you handling that with a local vault? Or is it single-machine for now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ericlagarda\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ericlagarda<\/a>&nbsp;Single-machine today. But because the vault is just a folder of plain .md files under ~\/.kept\/vault\/, anything that syncs a folder works. Dropbox, iCloud Drive, GDrive, or a private git repo all do the job without us running a backend. The SQLite index rebuilds itself from the markdown on startup, so a synced vault on a second machine &#8220;just works&#8221; after a reindex. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Looks cool!<\/div>\n<div class=\"comment-actions\">\n<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\/@louislecat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@louislecat<\/a>&nbsp;Thanks Louis! Give it a try and let us know your experiences with Kept. \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>Capturing across ChatGPT, Claude, Gemini, Grok, and Kimi means riding five web UIs that each redesign on their own schedule \u2014 is capture a browser extension scraping the DOM, or something more durable? That&#8217;s the maintenance treadmill that kills these tools: a provider ships a UI refresh and the archive silently stops capturing until I notice a week of gaps.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/MVZRIP22XPRUOQ\" class=\"app-title\">marpy.io<\/a><\/p>\n<div class=\"one-liner\">AI coding platform built specifically for the Python stack<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">101<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Marpy.io \u662f\u4e00\u6b3e\u4e13\u4e3a Python \u5168\u6808\u5f00\u53d1\u8005\u6253\u9020\u7684\u6d4f\u89c8\u5668\u7aef AI \u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u4ece\u60f3\u6cd5\u5230\u90e8\u7f72\u4e0a\u7ebf\uff0c\u514d\u53bb\u540e\u7aef\u57fa\u7840\u8bbe\u65bd\u548c\u80f6\u6c34\u4ee3\u7801\u7684\u6298\u817e\u4e4b\u82e6\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/4c663c2e-ca9c-4fa8-bcce-964c7e11ca4d.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/D2B7FgurXGg\"><source src=\"https:\/\/youtu.be\/D2B7FgurXGg\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/79f607fb-c5a5-4196-829f-902d478fa0eb.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\/e08f3362-cc52-48e4-91a5-21f3a00906b9.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\/66b90205-0d9a-4686-8e94-3762d36375cc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Development<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Python IDE\uff0cAI\u7f16\u7a0b\u52a9\u624b\uff0c\u6d4f\u89c8\u5668\u5f00\u53d1\u73af\u5883\uff0cDjango<\/span><br \/>\n            <span class=\"tag\">FastAPI<\/span><br \/>\n            <span class=\"tag\">Flask<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210\uff0c\u5e94\u7528\u90e8\u7f72\uff0c\u5168\u6808\u5f00\u53d1\uff0cORM\u611f\u77e5<\/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\u5728\u4e8eAI\u5bf9Django\/FastAPI ORM\u5173\u7cfb\u7684\u7406\u89e3\u6df1\u5ea6\uff0c\u4ee5\u53ca\u80fd\u5426\u8de8\u6587\u4ef6\u7ef4\u62a4\u6a21\u578b\u548c\u4f9d\u8d56\u4e0a\u4e0b\u6587\u3002\u6709\u8bc4\u8bba\u6307\u51fa\u65b0\u624b\u548c\u4e2d\u7b49\u6c34\u5e73\u7528\u6237\u662f\u4e3b\u8981\u76ee\u6807\u7fa4\u4f53\uff0c\u8d44\u6df1\u5f00\u53d1\u8005\u4e0d\u6613\u8fc1\u79fb\u3002\u5f00\u53d1\u8005\u56de\u5e94\u79f0\u5df2\u901a\u8fc7AST\u89e3\u6790\u5b9e\u73b0\u6846\u67b6\u611f\u77e5\u548c\u8de8\u6587\u4ef6\u6620\u5c04\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                Marpy.io\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u5de8\u5934\u6709\u610f\u65e0\u610f\u5ffd\u7565\u7684\u201c\u7a84\u53e3\u201d\u2014\u2014Python\u540e\u7aefAI\u5f00\u53d1\u3002\u5b83\u4e0d\u662f\u53c8\u4e00\u4e2a\u201c\u4ec0\u4e48\u90fd\u80fd\u5199\u4f46\u4ec0\u4e48\u90fd\u5199\u4e0d\u4e13\u201d\u7684\u901a\u7528AI IDE\uff0c\u800c\u662f\u5f7b\u5e95\u5835\u6b7b\u4e86\u201c\u524d\u7aef\u4f18\u5148\u3001JS\u515c\u5e95\u201d\u7684\u5f2f\u8def\uff0c\u5c06\u8d4c\u6ce8\u5168\u90e8\u62bc\u5728Python\u751f\u6001\u4e0a\u3002\u4ece\u7528\u6237\u4e92\u52a8\u770b\uff0c\u5176\u6838\u5fc3\u5356\u70b9\u5728\u4e8e\u5bf9Django\/FastAPI\u7684ORM\u548c\u4f9d\u8d56\u6ce8\u5165\u4f53\u7cfb\u7684AST\u7ea7\u89e3\u6790\uff0c\u8fd9\u786e\u5b9e\u6233\u4e2d\u4e86\u5f53\u524dAI\u7f16\u7801\u5de5\u5177\u7684\u8f6f\u808b\uff1a\u80fd\u751f\u6210\u770b\u4f3c\u6b63\u786e\u7684\u4ee3\u7801\uff0c\u4f46\u65e0\u6cd5\u7406\u89e3\u9879\u76ee\u7ea7\u522b\u7684\u6570\u636e\u6a21\u578b\u548c\u8def\u7531\u4f9d\u8d56\uff0c\u5bfc\u81f4\u201c\u770b\u8d77\u6765\u5bf9\uff0c\u8dd1\u8d77\u6765\u5e9f\u201d\u3002Marpy\u901a\u8fc7\u6784\u5efa\u5b9e\u65f6\u7684\u8de8\u6587\u4ef6\u67b6\u6784\u5730\u56fe\u6765\u7f13\u89e3\u8fd9\u4e00\u75db\u70b9\uff0c\u751a\u81f3\u66b4\u529b\u9650\u5236\u4e86\u751f\u4ea7\u73af\u5883\u7684\u7834\u574f\u6027\u8fc1\u79fb\u64cd\u4f5c\uff0c\u8fd9\u662f\u52a1\u5b9e\u4e14\u6709\u52c7\u6c14\u7684\u8bbe\u8ba1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5b83\u7684\u53d1\u5c55\u8def\u5f84\u4e5f\u5145\u6ee1\u98ce\u9669\u3002\u6d4f\u89c8\u5668IDE\u7684\u56fa\u6709\u77ed\u677f\uff08\u5982\u672c\u5730\u5316\u8c03\u8bd5\u4f53\u9a8c\u3001\u63d2\u4ef6\u751f\u6001\u532e\u4e4f\uff09\u4f7f\u5176\u96be\u4ee5\u771f\u6b63\u5438\u5f15\u6709\u56fa\u5b9a\u5de5\u4f5c\u6d41\u7684\u9ad8\u7ea7\u5f00\u53d1\u8005\uff0c\u6b63\u5982\u7528\u6237\u53cd\u9988\u6240\u8a00\uff0c\u5176\u6700\u4f73\u7528\u6237\u7fa4\u662f\u201c\u60f3\u5199\u540e\u7aef\u4f46\u6015\u914d\u73af\u5883\u201d\u7684\u4e2d\u7ea7\u5f00\u53d1\u8005\u3002\u8fd9\u610f\u5473\u7740\u5b83\u5fc5\u987b\u5728\u201c\u6613\u7528\u6027\u201d\u548c\u201c\u4e13\u4e1a\u6027\u201d\u4e4b\u95f4\u8d70\u94a2\u4e1d\uff1a\u65e2\u8981\u964d\u4f4e\u4e0a\u624b\u95e8\u69db\uff0c\u53c8\u8981\u907f\u514d\u6ca6\u4e3a\u73a9\u5177\u3002\u5982\u679c\u5b83\u80fd\u57fa\u4e8e\u8fd9\u4e00\u5782\u76f4\u5165\u53e3\uff0c\u9010\u6b65\u79ef\u7d2f\u9488\u5bf9Python\u540e\u7aef\u7684\u6df1\u5ea6\u7f16\u7a0b\u903b\u8f91\u5e93\uff0c\u5e76\u6784\u5efa\u5c0f\u4f17\u4f46\u5fe0\u8bda\u7684\u793e\u533a\uff0c\u8fd8\u6709\u673a\u4f1a\u5728AI\u7f16\u7a0b\u5de5\u5177\u7684\u5dee\u5f02\u5316\u7ade\u4e89\u4e2d\u5206\u4e00\u676f\u7fb9\u3002\u5426\u5219\uff0c\u4e00\u65e6\u4e3b\u6d41\u5de5\u5177\uff08\u5982Cursor\u3001GitHub Copilot\uff09\u52a0\u5927\u5bf9Python\u6846\u67b6\u7684\u4e13\u9879\u4f18\u5316\uff0cMarpy\u7684\u62a4\u57ce\u6cb3\u53ef\u80fd\u4f1a\u8fc5\u901f\u53d8\u6d45\u3002\u7b80\u800c\u8a00\u4e4b\uff0c\u5207\u5165\u89d2\u5ea6\u7280\u5229\uff0c\u4f46\u6267\u884c\u548c\u58c1\u5792\u6784\u5efa\u662f\u771f\u6b63\u7684\u751f\u6b7b\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\">marpy.io<\/span>\n                <\/div>\n<div class=\"comment-content\">Marpy is a web-based IDE and AI coding assistant built specifically for the Python stack. It helps you go from idea to deployed app without wrestling infra, glue code, or half-baked JS-focused tools. Get Python-native autocomplete, refactors, and AI-generated modules that actually understand Django, FastAPI, and real-world backends. Marpy lets you prototype, iterate, and ship production-grade Python apps faster, all from your browser.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">heyo!<\/p>\n<p>I&#8217;ve spent the last few years watching my friends and clients vibe-code hundreds of apps into existence. Almost every app has ended with us fighting JavaScript back-ends that would be twenty lines of FastAPI Python code. So, to deal with the pain I rage-built marpy.<\/p>\n<p>What is marpy?<\/p>\n<p>It\u2019s a browser-based IDE, deployment platform, and AI assistant built exclusively for the Python ecosystem (Flask, FastAPI, Django). Think Replit or v0, but for us Python devs.<\/p>\n<p>Why Python?<\/p>\n<p>I joke that &#8220;if you read your Python code out loud and you sound like a caveman, you did it right.&#8221; But, really, the syntax is simple and lends itself really well to LLMs.<\/p>\n<p>What&#8217;s the stack?<\/p>\n<p>Python, MariaDB, Redis, Docker, and K8s at the core. With git integrations built in so when AI finally takes over the internet, you&#8217;ll still have all of your code.<\/p>\n<p>My Philosophy<\/p>\n<p>I believe Artificial Intelligence is a highly specialized solution for specific problems, not a silver bullet; and I don&#8217;t like the &#8220;AI will solve all the problems&#8221; hype.<\/p>\n<p>I also built marpy.io on marpy.io. I&#8217;m dogfooding my own Flask\/MariaDB stack every day to make sure the &#8220;Just Enough&#8221; principle actually helps ship products that work.<\/p>\n<p>It would be awesome for you to join me.<\/p>\n<p>-Sethers<\/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 &#8220;understands Django and FastAPI ORM relationships&#8221; claim is the interesting one \u2014 does that come from reading my <a href=\"http:\/\/models.py\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">models.py<\/a> statically, or does it need a live DB connection to know the actual schema? Generic AI tools fall over right here: they&#8217;ll happily generate a query against a relation that doesn&#8217;t exist. Curious how deep the model-awareness goes before it starts guessing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I think for a beginner\/intermediate user like myself, this would be a great tool. I usually switch between Windows for personal use and Mac for personal\/work, so a browser-based, beginner-friendly Python tool would be invaluable. 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>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>Interesting angle focusing specifically on the Python stack instead of trying to be an \u201ceverything IDE\u201d.<\/p>\n<p>Feels like more AI tools are winning now by going deeper into a niche instead of broader.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@roki_014\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roki_014<\/a>&nbsp;Definitely, yes. And Python lends itself verrrry well to LLMs &#8211; so it&#8217;s a good language to tackle.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Framework-specific AST awareness for Django and FastAPI models is what separates this from generic AI tools. Most don&#8217;t understand ORM relationships or dependency injection patterns. We&#8217;ve wasted hours cleaning up AI suggestions that looked plausible but broke with SQLAlchemy migrations. Does marpy maintain cross-file context, like tracking model schemas and router dependencies across the full project?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@retain_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@retain_dev<\/a>&nbsp;Yep! marpy parses your project&#8217;s Python with AST and builds a live, framework-aware map of it. Your SQLAlchemy\/Django models (columns, primary keys, foreign keys, and relationships) and your FastAPI routers follows their Depends() chains.<\/p>\n<\/p>\n<p>That map is fed to the assistant on every request and to inline completions as you type, ranked to whatever file you&#8217;re working in, so suggestions are grounded in your actual cross-file schema and dependency wiring instead of<\/p>\n<p>guessed from a single open file. It refreshes incrementally as you edit, so it should stay accurate on bigger projects.<\/p>\n<\/p>\n<p>On the SQLAlchemy migration pain specifically: marpy statically analyzes every migration and hard-blocks destructive operations (DROP\/TRUNCATE) against production. This is a deliberate platform guardrail, not an optional setting. So the &#8220;plausible but broke&#8221; class of suggestion is exactly what it&#8217;s designed to catch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>who is the primary user here. a Python developer who already has a local setup and VS Code configured is probably not switching to a browser IDE regardless of how good the AI is. the person who might actually love this is someone who knows Python but hasn&#8217;t gotten deep into tooling yet. are you building for the experienced dev or the intermediate one because those are pretty different products<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;Good point. Definitely beginner\/intermediate. I feel like experienced devs already have tooling in place, I know I do. With that said, I use it to hand projects off to other devs in a more consistent way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A Python-native browser IDE makes sense if it reduces the setup friction between idea, backend, and deployed app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zact\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zact<\/a>&nbsp;Yep. That&#8217;s a big reason why marpy is opinionated out of the gate. It helps fill the gaps in getting python scaffolded and getting it from working locally to running 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<\/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\/O3WNV4L7HR6VGR\" class=\"app-title\">crunr <\/a><\/p>\n<div class=\"one-liner\">Launch and run any compute job on AWS with 1 command<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">100<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>crunr \u901a\u8fc7\u4e00\u53e5\u547d\u4ee4\u5728 AWS \u4e0a\u6309\u9700\u62c9\u8d77 GPU\/CPU \u5b9e\u4f8b\u3001\u8fd0\u884c\u4f5c\u4e1a\u5e76\u81ea\u52a8\u7ec8\u6b62\uff0c\u89e3\u51b3\u673a\u5668\u5b66\u4e60\u56e2\u961f\u56e0\u7a7a\u95f2\u5b9e\u4f8b\u3001DevOps \u7ef4\u62a4\u548c\u6545\u969c\u8c03\u8bd5\u5bfc\u81f4\u7684\u9690\u6027\u9ad8\u989d\u8d26\u5355\u4e0e\u6548\u7387\u6d6a\u8d39\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1e2a5f8b-07a8-44f6-a0f5-60222e916071.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\/27f70c15-71cc-4b42-b485-8c2eb7479264.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\/437db7fc-ba62-4e94-8c3b-8254fd250474.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\/a9b5c012-2767-48fe-87fb-f90b5e1484d7.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\/a68e6856-8b3a-496e-9abe-0474d10b91e3.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\/2f20980b-29dd-453a-9228-c060a6836bdd.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\/2df9bb3f-9691-487f-a008-e6fb691e9fc6.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\/92b5f62d-17f2-42d6-97a8-1a6f97b3db2f.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\/473a6b45-9db5-4ced-8487-7e60660f8bc7.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\/eb286b9f-6f22-4eb2-a1b7-de7c7482cd51.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\/5df5ce8d-7f30-42bb-87f3-6e2ba99a6ddf.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\/efc763b6-35a1-44cc-8102-65bb5ffbd4fe.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\/18f40513-ae15-474f-8d96-c9960851208a.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\/2aedb629-f250-42e1-a849-a52ea87acc86.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\/3c989136-a7fc-4a60-aa70-94084a9f6990.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4e91\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">GPU\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">AWS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u673a\u5668\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">DevOps\u7b80\u5316<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6309\u9700\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">\u4f5c\u4e1a\u8c03\u5ea6<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c<\/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\u4e8e\uff1a\u4f5c\u4e1a\u5931\u8d25\u540e\u7684\u5b9e\u4f8b\u95f2\u7f6e\u4e0e\u4e2d\u95f4\u7ed3\u679c\u6062\u590d\u3002\u521b\u59cb\u4eba\u56de\u5e94\u79f0\u5b9e\u4f8b\u5d29\u6e83\u540e\u7acb\u5373\u7ec8\u6b62\uff0c\u73b0\u5df2\u652f\u6301\u901a\u8fc7 `&#8211;s3` \u5c06\u8f93\u51fa\u540c\u6b65\u81f3 S3\uff1b\u81ea\u52a8\u65ad\u70b9\u7eed\u8bad\u529f\u80fd\uff08\u65e0\u9700\u7528\u6237\u7f16\u5199\u68c0\u67e5\u70b9\u903b\u8f91\uff09\u9884\u8ba1\u4e0b\u5468\u4e0a\u7ebf\u3002\u53e6\u6709\u7528\u6237\u8be2\u95ee\u5bf9\u7eaf CPU \u4efb\u52a1\u7684\u652f\u6301\uff0c\u786e\u8ba4\u5df2\u652f\u6301\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                crunr \u89e3\u51b3\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u4e0d\u591f\u5c16\u9510\u7684\u75db\u70b9\uff1aGPU \u95f2\u7f6e\u6210\u672c\u300265% \u7684\u7a7a\u95f2\u7387\u3001\u6bcf\u5c0f\u65f61.5\u7f8e\u5143\u7684\u7b97\u529b\u6807\u4ef7\u3001\u6bcf\u6708800\u7f8e\u5143\u7684\u6d6a\u8d39\u8d26\u5355\u2014\u2014\u8fd9\u4e9b\u6570\u5b57\u786e\u5b9e\u89e6\u76ee\u60ca\u5fc3\uff0ccrunr \u7684\u201c\u7528\u5b8c\u5373\u8d70\u201d\u6a21\u5f0f\u4e5f\u7cbe\u51c6\u5207\u4e2d\u4e86\u9884\u7b97\u654f\u611f\u578b\u7528\u6237\uff08\u72ec\u7acb\u5f00\u53d1\u8005\u3001\u5c0f\u56e2\u961f\uff09\u7684\u795e\u7ecf\u3002\u4f46\u4ece\u4ea7\u54c1\u5f62\u6001\u770b\uff0c\u5b83\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a AWS EC2 \u7684\u201c\u4e00\u952e\u5173\u673a\u201d\u5c01\u88c5\u5668\uff0c\u6280\u672f\u58c1\u5792\u5e76\u4e0d\u9ad8\u3002\u6838\u5fc3\u5356\u70b9\u201c\u65e0\u9700 DevOps\u201d\u4f9d\u8d56\u7684\u662f\u7528\u6237\u5df2\u6709\u7684 AWS \u73af\u5883\u914d\u7f6e\uff0c\u4e00\u65e6\u7528\u6237\u7684 IAM \u6743\u9650\u3001VPC\u3001\u5b89\u5168\u7ec4\u7b49\u7f51\u7edc\u57fa\u5efa\u4e0d\u6807\u51c6\uff0ccrunr \u7684\u201c1 \u547d\u4ee4\u201d\u4f53\u9a8c\u5c31\u4f1a\u8fc5\u901f\u584c\u9677\u4e3a debug \u5669\u68a6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u6df1\u5c42\u7684\u95ee\u9898\u5728\u4e8e\uff1a\u4f5c\u4e1a\u5931\u8d25\u540e\u7684\u81ea\u52a8\u68c0\u67e5\u70b9\u6062\u590d\u529f\u80fd\u201c\u8fd8\u5728\u4e0b\u5468\u201d\u3002\u5bf9\u4e8e\u77ed\u65f6\u8bad\u7ec3\uff083\u5c0f\u65f6\uff09\uff0c\u624b\u52a8\u5199 checkpoint \u662f\u8f7b\u5fae\u7684\u6210\u672c\uff1b\u4f46\u5bf9\u4e8e\u591a\u65e5\u5fae\u8c03\u4f5c\u4e1a\uff0c\u65ad\u70b9\u7eed\u8dd1\u662f\u751f\u6b7b\u7ebf\u3002\u5982\u679c\u53ea\u80fd\u7528\u201c\u4f60\u81ea\u5df1\u5728\u8bad\u7ec3\u811a\u672c\u91cc\u5199\u597d outputs\/\u201d\u6765\u642a\u585e\uff0c\u90a3 crunr \u4e0d\u4ec5\u6ca1\u6709\u964d\u4f4e\u5fc3\u667a\u8d1f\u62c5\uff0c\u53cd\u800c\u8ba9\u7528\u6237\u591a\u4e86\u4e00\u5c42\u201c\u5fd8\u4e86\u5199\u68c0\u67e5\u70b9->\u91cd\u8dd1\u201d\u7684\u7126\u8651\u3002\u521b\u59cb\u4eba\u90a3\u53e5\u201cmid-run snapshotting is on you\u201d\u662f\u5f53\u524d\u4ea7\u54c1\u6700\u5927\u7684\u8f6f\u808b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u8bc4\u8bba\u533a\u4e2d\u4e92\u52a8\u79ef\u6781\u3001\u56de\u590d\u8be6\u7ec6\uff0c\u4f46\u7f3a\u5c11\u5bf9\u6210\u672c\u7ed3\u6784\u7684\u8fdb\u4e00\u6b65\u62c6\u89e3\uff1acrunr \u672c\u8eab\u662f\u5426\u6536\u8d39\uff1f\u5176\u8c03\u5ea6\u5c42\u662f\u5426\u5f15\u5165\u4e86\u989d\u5916\u5f00\u9500\uff1f\u5f53\u7528\u6237\u540c\u65f6\u53d1\u8d77\u591a\u4e2a\u4f5c\u4e1a\u65f6\uff0c\u7ba1\u7406\u5bf9\u8c61\u6570\u91cf\u81a8\u80c0\u540e\u7684\u7f16\u6392\u80fd\u529b\u5982\u4f55\uff1f\u8fd9\u4e9b\u624d\u662f\u56e2\u961f\u5728\u201c\u62a2\u6ee9\u201d\u9636\u6bb5\u540e\u5fc5\u987b\u56de\u7b54\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1acrunr \u662f ML \u56e2\u961f\u7684\u201c\u5c0f\u8d34\u58eb\u201d\u800c\u975e\u201c\u6551\u4e16\u4e3b\u201d\u3002\u5b83\u503c\u5f97\u4e3a\u6bcf\u5468\u8dd1\u51e0\u6b21\u3001\u6015\u5fd8\u5173\u673a\u7684\u8f7b\u5ea6\u7528\u6237\u5b89\u88c5\uff0c\u4f46\u4efb\u4f55\u6307\u671b\u5b83\u6258\u7ba1\u751f\u4ea7\u7ea7\u5de5\u4f5c\u6d41\u7684\u60f3\u6cd5\uff0c\u90fd\u8fd8\u9700\u8981\u7b49\u5f85\u5b83\u6838\u5fc3\u57fa\u7840\u8bbe\u65bd\u7684\u8865\u5168\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\">crunr <\/span>\n                <\/div>\n<div class=\"comment-content\">crunr \u2014 run it, ghost it. GPU compute is $1.5\/hr. But your real bill looks like this: &#8211; Idle time sitting there: $800\/mo &#8211; Infra team to manage it: $3,000\/mo &#8211; Failed setups and debugging: days lost &#8211; 3am emergency fixes: priceless crunr fixes all of it. $ crunr run train.py &#8211;gpu Spins up \u2192 runs \u2192 terminates. You pay for compute only. Nothing else. No idle bills. No DevOps. No lingering servers. Built for ML researchers, indie AI builders, and startup teams who just want their job to run.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH \ud83d\udc4b I&#8217;m Sandeep, the infra guy my data science team DM&#8217;d every time they needed GPUs.<\/p>\n<p>We had a \u20b99,000\/day GPU server. And a Slack thread. The message was always the same: &#8220;GPU&#8217;s free, who wants it next?&#8221; If nobody replied fast enough, the meter kept going\ud83d\udd25. Full rate. Whether anyone was training or not.<\/p>\n<p>I ran the numbers. 65% idle. We were paying for a machine doing absolutely nothing most of the day.<\/p>\n<p>Renting compute per day when you need it per job is like hiring a full-time delivery driver because you order food three times a week.<\/p>\n<p>So I built crunr.<br \/>\n$ crunr run train.py &#8211;gpu<\/p>\n<p>Spins up \u2192 runs \u2192 saves your outputs \u2192 terminates. Job done; instance gone. Every time. No exceptions.<\/p>\n<p>No controller VM. No SaaS layer. No data moving through infrastructure we control, because there is no infrastructure we control. Your AWS. Your CloudTrail. Your data.<\/p>\n<p>A 3-hour training run now costs \u20b9170. Between runs: \u20b90. Not rounded. Exactly zero.<br \/>\nNo more Slack thread. No more idle bills. No more 3am fixes.<\/p>\n<p>Just crunr run. Free to start \ud83d\udc47<\/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\/@sandeep_01\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sandeep_01<\/a>&nbsp;The &#8220;hiring a full-time delivery driver because you order food three times a week&#8221; line nails why per-day GPU rental is insane for bursty workloads. The 65% idle number is the whole pitch in one stat. Question on the ephemeral model, since &#8220;instance gone, every time&#8221; is the feature and the risk: what happens to a long training run that dies at hour 6 of 9? On spot especially, preemption isn&#8217;t an edge case, it&#8217;s Tuesday. Is checkpointing on the user to wire up, or does crunr snapshot to S3 on interruption so a killed run resumes instead of restarting from zero? For a 3-hour run that&#8217;s a shrug, for a multi-day fine-tune it&#8217;s the difference between the tool being usable and not. Upvoted.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sandeep_01\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sandeep_01<\/a>&nbsp;Congratulations Sandeep.<\/p>\n<\/p>\n<p>I just helped another developer CLI tool get discovered by ML engineers on Reddit who were venting about forgotten GPU instances and idle compute bills. <\/p>\n<\/p>\n<p>I&#8217;d be glad to implement same method and strategy for Crunr if you&#8217;re open to it.<\/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>The ephemeral spin-up-run-terminate model is the right abstraction for batch ML jobs. We&#8217;ve burned significant budget on GPU instances idling after failed training runs, especially when a job crashes at epoch 40 and the instance just sits there. How do you handle mid-job failures and artifact persistence? Does the runner automatically sync outputs to S3 before terminating?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@retain_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@retain_dev<\/a>&nbsp;yes , instance terminates the moment it crashes. always.<\/p>\n<p>artifacts: run with <strong>&#8211;s3<\/strong> and everything in outputs\/ syncs to your S3 bucket before the instance is gone. crash at epoch 40 \u2014 your last checkpoint is already in S3.<\/p>\n<p>one honest answer: mid-run snapshotting is on you to wire in your training script for now. save checkpoints to outputs\/ periodically. crunr handles the rest.<\/p>\n<p>that said , automatic mid-job checkpointing is shipping next week. crash anywhere, resume from exactly where you left off. no wiring needed.<\/p>\n<p>the idle instance after a crash problem : already solved. the resume problem \u2014 one week away. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>it is a cool problem to solve we also have similar kind of problem at our backend we are just paying for idle server times on aws, but one query is like where are you keeping the instance output and is it also available for cpu <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@shuvam_mandal2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shuvam_mandal2<\/a>&nbsp;<\/p>\n<p>thank you! and yes \u2014 exactly that problem.<\/p>\n<p>two things on your questions:<\/p>\n<p><strong>outputs<\/strong> \u2014 by default they rsync straight back to your laptop when the job finishes. configure S3 once with crunr s3 setup and outputs go to your own S3 bucket automatically. can even skip local download entirely with &#8211;s3-no-local and pull from S3 whenever you need.<\/p>\n<p><strong>CPU<\/strong> \u2014 fully supported. crunr run <a href=\"http:\/\/script.py\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">script.py<\/a> without &#8211;gpu picks a CPU instance. need specific RAM? &#8211;memory 32 gets you 32GB+. add &#8211;spot if you want spot pricing. same flow \u2014 spins up, runs, terminates.<\/p>\n<p>idle billing on backend servers is a real one. would love to hear more about your setup. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ACYE3CO2MTHT27\" class=\"app-title\">MiniCPM5-1B<\/a><\/p>\n<div class=\"one-liner\">A new SOTA for compact open models on the edge<\/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>MiniCPM5-1B\u662f\u4e00\u6b3e\u4e13\u4e3a\u8fb9\u7f18\u8bbe\u5907\u548c\u672c\u5730\u90e8\u7f72\u8bbe\u8ba1\u76841B\u53c2\u6570\u7a20\u5bc6\u5f00\u6e90\u6a21\u578b\uff0c\u901a\u8fc7\u6781\u5c0f\u7684\u4f53\u79ef\uff08INT4\u4ec50.5GB\uff09\u548c\u5f3a\u5927\u7684\u7aef\u4fa7\u63a8\u7406\u80fd\u529b\uff08\u652f\u6301131K\u4e0a\u4e0b\u6587\u3001\u5de5\u5177\u8c03\u7528\uff09\uff0c\u89e3\u51b3\u4e86AI\u5e94\u7528\u5728\u79bb\u7ebf\u6216\u65e0\u4e91\u73af\u5883\u4e0b\u65e0\u6cd5\u8fd0\u884c\u590d\u6742\u4efb\u52a1\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\/19070c19-251b-4bb6-94ca-1aaad1acd6af.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\/dcf8783a-8f3f-46a2-932b-3007e066154d.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\/a6edca4e-a9ce-4050-9694-61c7b4ddac66.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\/bf0dac8a-d5c7-4dda-af1f-7056a57eb45f.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\/0f10d36c-8c2f-484a-9d3e-7dd0c5535b29.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\/d6da498c-0b29-4351-8f37-357a00cd513e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Development<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8fb9\u7f18AI<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u53c2\u6570\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u5de5\u5177\u8c03\u7528<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u63a8\u7406\u52a0\u901f<\/span><br \/>\n            <span class=\"tag\">GGUF<\/span><br \/>\n            <span class=\"tag\">MLX<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5ba0\u7269<\/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\u51761B\u53c2\u6570\u5728\u7aef\u4fa7\u8fbeSOTA\u7684\u6027\u80fd\uff0c\u7279\u522b\u70b9\u51fa131K\u4e0a\u4e0b\u6587\u548c\u5168\u672c\u5730\u5316\u5bf9\u964d\u4f4e\u4e91\u63a8\u7406\u6210\u672c\u7684\u4ef7\u503c\u3002\u6709\u4ece\u4e8b\u8fb9\u7f18AI\u5f00\u53d1\u7684\u7528\u6237\u8868\u793a\u4f1a\u6301\u7eed\u5173\u6ce8\uff0c\u671f\u5f85\u5bf9\u5176\u957f\u4e0a\u4e0b\u6587\u80fd\u529b\u8fdb\u884c\u538b\u529b\u6d4b\u8bd5\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                MiniCPM5-1B\u7684\u201cSOTA\u201d\u542b\u91d1\u91cf\u5728\u4e8e\uff0c\u5b83\u4e0d\u662f\u5728\u5b9e\u9a8c\u5ba4\u7684GPU\u96c6\u7fa4\u4e0a\u5237\u699c\uff0c\u800c\u662f\u57281B\u53c2\u6570\u30010.5GB INT4\u7684\u6781\u7aef\u7ea6\u675f\u4e0b\uff0c\u5c06\u667a\u80fd\u4f53\u5de5\u5177\u8c03\u7528\u3001\u4ee3\u7801\u751f\u6210\u7b49\u201c\u9ad8\u95e8\u69db\u201d\u80fd\u529b\u538b\u5230\u4e86\u6d88\u8d39\u7ea7\u786c\u4ef6\u53ef\u627f\u8f7d\u7684\u6781\u9650\u3002\u8fd9\u6bd4\u5355\u7eaf\u7684\u53c2\u6570\u5806\u780c\u66f4\u6709\u610f\u4e49\uff0c\u56e0\u4e3a\u5b83\u5207\u4e2d\u4e86\u5f00\u53d1\u8005\u6700\u5927\u7684\u7126\u8651\uff1a\u4e91\u6210\u672c\u5931\u63a7\u548c\u79bb\u7ebf\u573a\u666f\u7684\u7b97\u529b\u771f\u7a7a\u3002131K\u957f\u4e0a\u4e0b\u6587\u548c\u300cThink \/ No Think\u300d\u6a21\u5f0f\u7684\u8bbe\u8ba1\u5f88\u806a\u660e\uff0c\u524d\u8005\u8ba9\u7aef\u4fa7\u6a21\u578b\u6446\u8131\u4e86\u201c\u8bb0\u4e0d\u4f4f\u201d\u7684\u5c34\u5c2c\uff0c\u540e\u8005\u5219\u662f\u5728\u6709\u9650\u8ba1\u7b97\u8d44\u6e90\u4e0b\u5bf9\u201c\u6548\u7387\u4e0e\u667a\u80fd\u201d\u7684\u52a1\u5b9e\u53d6\u820d\u3002\u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a1B\u53c2\u6570\u5728\u590d\u6742\u903b\u8f91\u63a8\u7406\u548c\u957f\u6587\u672c\u7406\u89e3\u4e0a\uff0c\u4e0e7B\u300113B\u7ea7\u522b\u6a21\u578b\u7684\u4ee3\u5dee\u662f\u5ba2\u89c2\u5b58\u5728\u7684\uff0c\u5176\u201cSOTA\u201d\u66f4\u591a\u662f\u5728\u540c\u7c7b\u5c0f\u6a21\u578b\u7ef4\u5ea6\u5185\u7684\u80dc\u5229\u3002\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\uff0c\u5b83\u4f5c\u4e3a\u6280\u672f\u793a\u8303\uff0c\u9a8c\u8bc1\u4e86\u201c\u5c0f\u800c\u5168\u201d\u7684\u53ef\u884c\u6027\u2014\u2014\u5c24\u5176\u662f\u90a3\u4e2a100%\u79bb\u7ebf\u7684\u684c\u9762\u5ba0\u7269\uff0c\u867d\u7136\u770b\u4f3c\u73a9\u7968\uff0c\u4f46\u5b9e\u5219\u662f\u964d\u4f4e\u5f00\u53d1\u8005\u5fc3\u7406\u95e8\u69db\u7684\u7edd\u4f73\u94a9\u5b50\u3002\u5bf9\u4e8e\u505a\u8fb9\u7f18AI\u3001AI\u684c\u9762\u5e94\u7528\u3001\u4ee5\u53ca\u5bf9\u6570\u636e\u9690\u79c1\u6781\u5ea6\u654f\u611f\u7684B\u7aef\u573a\u666f\uff0c\u8fd9\u53ef\u80fd\u662f\u76ee\u524d\u6210\u672c\u6700\u4f4e\u7684\u5165\u573a\u5238\u3002\u63a5\u4e0b\u6765\uff0c\u5c31\u770b\u5b83\u7684\u793e\u533a\u751f\u6001\uff08GGUF\/MLX\u652f\u6301\uff09\u80fd\u5426\u50ac\u751f\u51fa\u771f\u6b63\u597d\u7528\u7684\u6740\u624b\u7ea7\u672c\u5730\u5e94\u7528\u4e86\uff0c\u5426\u5219\u5bb9\u6613\u6ca6\u4e3a\u5f00\u53d1\u8005\u201c\u5c1d\u9c9c\u540e\u79ef\u7070\u201d\u7684\u53c8\u4e00\u4e2a\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">MiniCPM5-1B<\/span>\n                <\/div>\n<div class=\"comment-content\">MiniCPM5-1B is a dense 1B open model built for on-device and local deployment. It supports 131K context, Think \/ No Think modes, tool calling, GGUF and MLX formats, major inference backends, and even powers an offline desktop pet.<\/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!<\/p>\n<p>MiniCPM5-1B is currently the strongest open-source model under 2B for on-device use:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/13916e1d-013e-41d1-b48a-fd6538d87123.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p>It hits SOTA in the 1B-class on agentic tool use, code generation, and tough reasoning tasks while keeping a very small footprint. <\/p>\n<p>The INT4 weights are only around 0.5GB, which makes the local story much more real.<\/p>\n<p>OpenBMB also shipped a cute Desktop Pet fully powered by this model \u2014 completely local, no cloud:<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=Ee0slMW8SEk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=Ee0slMW8SEk<\/a><\/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\/@zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a>&nbsp;Exciting. Congrats on the launch, I&#8217;m doing edge AI dev work so I will keep this under my radar.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>SOTA at 1B parameters running fully on device is wild. the cost of not needing cloud inference adds up fast when you&#8217;re running agents all day. 131K context on edge hardware is the part I&#8217;d want to stress test<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/VD7DZYFBMK3MLD\" class=\"app-title\">Ormedo<\/a><\/p>\n<div class=\"one-liner\">Let AI agents handle your entire outbound pipeline<\/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>Ormedo\u901a\u8fc7AI\u667a\u80fd\u4f53\u81ea\u52a8\u5316B2B\u5916\u8054\u5168\u6d41\u7a0b\uff0c\u8ba9\u975e\u9500\u552e\u4e13\u4e1a\u4eba\u58eb\u53ea\u9700\u7c98\u8d34\u7f51\u5740\u5373\u53ef\u5b8c\u6210\u5ba2\u6237\u753b\u50cf\u6784\u5efa\u3001\u6f5c\u5728\u5ba2\u6237\u6316\u6398\u3001\u4e2a\u6027\u5316\u90ae\u4ef6\u4e0eLinkedIn\u6d88\u606f\u64b0\u5199\u53ca\u53d1\u9001\uff0c\u89e3\u51b3\u4f20\u7edf\u5de5\u5177\u64cd\u4f5c\u590d\u6742\u3001\u4f9d\u8d56\u4e13\u4e1a\u9500\u552e\u77e5\u8bc6\u3001\u9700\u8de8\u5e73\u53f0\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\/64876bd2-8156-468d-89ea-1258d8595587.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\/381481c0-41a8-4f82-a680-53b2ed1b4bac.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\/6c4015b0-4a19-45b8-9b6a-d8028b180c59.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\/db1840e0-0aa8-4b80-a001-8dfd519befb2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/SdgcqQ0jKWs\"><source src=\"https:\/\/youtu.be\/SdgcqQ0jKWs\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Email<\/span><br \/>\n            <span class=\"tag\">Sales<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u9500\u552e\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">B2B\u5916\u8054\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6f5c\u5728\u5ba2\u6237\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u90ae\u4ef6<\/span><br \/>\n            <span class=\"tag\">LinkedIn outreach<\/span><br \/>\n            <span class=\"tag\">\u4e70\u5bb6\u753b\u50cf<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u521b\u4e1a\u516c\u53f8<\/span><br \/>\n            <span class=\"tag\">\u5168\u81ea\u52a8\u7ba1\u9053<\/span><br \/>\n            <span class=\"tag\">AI\u5de5\u4f5c\u6d41<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u5176\u4e0eApollo\u7b49\u5de5\u5177\u7684\u96c6\u6210\u80fd\u529b\uff0c\u5efa\u8bae\u589e\u52a0Slack\/Telegram\u901a\u77e5\u529f\u80fd\u3002\u6709\u7528\u6237\u8be2\u95eeB2C\u573a\u666f\u652f\u6301\u3002\u8bc4\u8bba\u666e\u904d\u8ba4\u53ef\u201c\u5b66\u4e60\u7528\u6237\u8bed\u6c14\u201d\u7684\u529f\u80fd\u4ef7\u503c\uff0c\u8ba4\u4e3a\u8fd9\u662f\u5dee\u5f02\u5316\u4eae\u70b9\u3002\u521b\u59cb\u4eba\u56de\u5e94\u79f0\u53ef\u76f4\u63a5\u8fde\u63a5Apollo\uff0c\u65e0\u9700\u989d\u5916\u914d\u7f6e\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                Ormedo\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u5728\u4e8e\u201c\u53bb\u9500\u552e\u4e13\u4e1a\u5316\u201d\uff0c\u5b83\u7cbe\u51c6\u51fb\u4e2d\u4e86\u975e\u9500\u552e\u80cc\u666f\u521b\u4e1a\u8005\uff08\u5982\u6280\u672f\u521b\u59cb\u4eba\uff09\u7684\u75db\u70b9\u2014\u2014\u4ed6\u4eec\u6df1\u77e5\u83b7\u5ba2\u91cd\u8981\uff0c\u5374\u88ab\u590d\u6742\u7684ICP\u5b9a\u4e49\u3001\u591a\u5de5\u5177\u8054\u52a8\u3001\u8d26\u53f7\u9884\u70ed\u7b49\u73af\u8282\u529d\u9000\u3002\u4ea7\u54c1\u901a\u8fc7\u201c\u7c98\u8d34URL\u81ea\u52a8\u751f\u6210\u4e70\u5bb6\u753b\u50cf\u201d\u4e0e\u201c\u53cc\u5c4f\u6781\u7b80\u754c\u9762\u201d\u5927\u5e45\u964d\u4f4e\u4e86\u5916\u8054\u95e8\u69db\uff0c\u8fd9\u6bd4\u4f20\u7edfSDR\u5de5\u5177\uff08\u5982Outreach\u3001SalesLoft\uff09\u66f4\u9002\u7528\u4e8e\u65e9\u671f\u9a8c\u8bc1\u548c\u5fae\u5c0f\u578b\u56e2\u961f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u4ef7\u503c\u5c40\u9650\u540c\u6837\u660e\u663e\u3002\u76ee\u524d\u4f9d\u8d56Apollo\u6570\u636e\u6e90\uff0c\u610f\u5473\u7740\u6f5c\u5728\u5ba2\u6237\u7684\u8d28\u91cf\u548c\u5408\u89c4\u6027\u53d7\u7b2c\u4e09\u65b9\u5236\u7ea6\uff1bAI\u751f\u6210\u7684\u90ae\u4ef6\u4e0eLinkedIn\u6d88\u606f\u867d\u7136\u51cf\u5c11\u624b\u52a8\u5de5\u4f5c\u91cf\uff0c\u4f46\u201c\u4e2a\u6027\u5316\u201d\u6df1\u5ea6\u53d6\u51b3\u4e8e\u8bad\u7ec3\u6570\u636e\u91cf\uff0c\u5728\u51b7\u542f\u52a8\u9636\u6bb5\u53ef\u80fd\u4ecd\u663e\u673a\u68b0\u3002\u66f4\u5173\u952e\u7684\u662f\uff0cB2B\u5916\u8054\u7684\u6838\u5fc3\u5728\u4e8e\u201c\u4fe1\u53f7\u8d28\u91cf\u201d\u4e0e\u201c\u89e6\u8fbe\u65f6\u673a\u201d\uff0cOrmedo\u901a\u8fc7\u8bc4\u5206\u63a7\u5236\u53d1\u9001\u91cf\u8fd9\u4e00\u903b\u8f91\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u7528\u6237\u53cd\u9988\u4e2d\u63d0\u5230\u7684\u201cSlack\u96c6\u6210\u7f3a\u5931\u201d\u66b4\u9732\u4e86\u5176\u5de5\u4f5c\u6d41\u6574\u5408\u7684\u77ed\u677f\u2014\u2014\u521b\u59cb\u4eba\u65e2\u5e0c\u671b\u201c\u65e0\u9700\u76d1\u7763\u201d\uff0c\u53c8\u9700\u8981\u201c\u4e00\u952e\u5ba1\u6279\u201d\uff0c\u82e5\u7f3a\u5931IM\u901a\u77e5\uff0c\u7528\u6237\u4ecd\u9700\u8981\u9891\u7e41\u56de\u5230Web\u7aef\u68c0\u67e5\uff0c\u8fd9\u524a\u5f31\u4e86\u201c\u5168\u81ea\u52a8\u201d\u7684\u627f\u8bfa\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5e02\u573a\u5b9a\u4f4d\u770b\uff0cOrmedo\u66f4\u9002\u5408\u4f5c\u4e3a\u201c\u5916\u8054\u521d\u521b\u671f\u7684\u8fc7\u6e21\u5de5\u5177\u201d\uff0c\u800c\u975e\u957f\u671f\u9500\u552e\u5f15\u64ce\u3002\u4e00\u65e6\u7528\u6237\u79ef\u7d2f\u4e86\u4e00\u5b9a\u7ebf\u7d22\u5e76\u9700\u8981CAC\u6d4b\u7b97\u3001A\/B\u6d4b\u8bd5\u6216\u591a\u6e20\u9053\u5f52\u56e0\u65f6\uff0c\u5176\u6781\u7b80\u8bbe\u8ba1\u53cd\u800c\u4f1a\u6210\u4e3a\u74f6\u9888\u3002\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\uff1a\u5982\u4f55\u5728\u4fdd\u6301\u201c\u50bb\u74dc\u5f0f\u64cd\u4f5c\u201d\u7684\u540c\u65f6\uff0c\u8ba9\u4e13\u4e1a\u9500\u552e\u80fd\u505a\u66f4\u7cbe\u7ec6\u7684\u8c03\u63a7\uff0c\u8fd9\u5f80\u5f80\u662f\u201c\u6781\u7b80\u201d\u4e0e\u201c\u5f3a\u5927\u201d\u6700\u96be\u5e73\u8861\u7684\u60ac\u5d16\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\">Ormedo<\/span>\n                <\/div>\n<div class=\"comment-content\">\u2192 Agent reads your site, builds your buyer profile, and finds leads worth reaching. \u2192 Drafts personalized email sequences and LinkedIn notes, using real real signals. \u2192 You approve in one click. It sends, times follow-ups, and tells you exactly when to show up on LinkedIn.<\/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 \/>\nI&#8217;m Skander, founder of Ormedo. Super excited to launch today on Product Hunt!<\/p>\n<p>Last year, when I wanted to start a software development agency, I found it hard to get into outbound and search for the perfect people. All the AI and sales tools are made for salespeople and people who actually know what ICP and persona are so outbound felt very difficult.<\/p>\n<p>There&#8217;s a huge stack of steps before you even send a message:<br \/>\n\u2192 preparing the account \u2192 making a warm account \u2192 building the account for the outreach \u2192 finding the perfect signals \u2192 then scraping random leads \u2192 and guessing who might be interested<\/p>\n<p>The existing solutions don&#8217;t offer something end-to-end that requires no supervision and minimal input from you. They usually just send emails to the first people that come. And the AI agents that exist are still destined for people in sales who already know what they&#8217;re doing and you still feel overwhelmed with everything happening on the dashboards.<\/p>\n<p>Most of these tools pile multiple dashboards on you and have a lot of things going on. So we built Ormedo very simple: two screens, only what&#8217;s necessary to do the work. We built it for everyone, from early-stage idea to actual outbound, so you can shout to the right people without needing to be a sales expert.<\/p>\n<p>how does ormedo work?<\/p>\n<p>\u2192 \ud83e\udde0 It reads your website and builds the buyer profile. Paste a URL. Ormedo takes your website (or idea, or code you still have), analyzes it, and builds the perfect persona to reach out to.<\/p>\n<p>\u2192 \ud83c\udfaf It finds the people worth reaching. The agent searches database by role, seniority, company size, posture. Every lead gets scored with a why-this-match block. If the score is low, it won&#8217;t actually reach out. We keep the list between 100 and 10,000 instead of just blasting a big dataset.<\/p>\n<p>\u2192 \u270d\ufe0f It drafts emails in your tone. Agent writes the email for you and takes your feedback on a message and can save it for that message or all messages, so it learns your voice. <\/p>\n<p>\u2192 \ud83d\udce9 It sends and tells you when to show up. The email side runs itself: sends, replies parsed, follow-ups timed. When a lead is ready for a personal connect, Ormedo pings you with a LinkedIn note already drafted.<\/p>\n<p>Who is it for?<br \/>\nBusiness owners, people with ideas or just code who want to validate, sell, or explore. Literally anyone looking for the simplest way to reach out to people.<br \/>\nThe goal is to build a full autonomous pipeline so you don&#8217;t need to do any of this work and can focus on what&#8217;s actually important on your agenda.<\/p>\n<p>Love to know what you think of the product!<\/p>\n<p>I&#8217;ll be sticking around all day answering questions and comments. Excited to hear your feedback!<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@skander_karoui\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@skander_karoui<\/a>&nbsp;Hi Skander, congrats on the launch. How does ormedo handle B2C?<\/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>Congratulations! The agent learning your tone from feedback and carrying it across messages is the feature that will make this sticky over time. Really well thought through!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@marianna_tymchuk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianna_tymchuk<\/a>&nbsp;Thank you Marianna, give it a try and let me know what you think!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does this operate from a terminal or a web app?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;Hi Himani, it&#8217;s all accessible in your browser in ormedo.tech!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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, much needed! Upvoted \ud83d\ude42<\/p>\n<p>I have been using Apollo\/Prospeo + Clay + ChatGPT as my stack, and it has been hard moving around tools.<\/p>\n<\/p>\n<p>So do agents connect to these tools? What accesses would they need for this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@aiswarya_s\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aiswarya_s<\/a> Hi Aiswarya, thank you! Really appreciate the support, and I completely understand the concern. Reducing friction has been one of our biggest motivations from day one.<\/p>\n<p>The agent connects directly to Apollo to find highly targeted leads, then we handle the rest through AI providers for things like email generation and workflow automation.<\/p>\n<p>You don&#8217;t need to bring or configure practically anything. Just tell us about your business, and we take care of 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>Congratulations! \ud83e\udd73<\/p>\n<p>For reviewing drafts, do you support some kind of Slack\/Telegram\/etc bots or is it only on the website? It might be a nice convenience\/quality of life feature. Good luck! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/QDUIJBMBGF4WA3\" class=\"app-title\">blokdots 3.0<\/a><\/p>\n<div class=\"one-liner\">Prototype hardware visually, export real C++ for engineering<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">90<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>blokdots 3.0 \u662f\u4e00\u6b3e\u9762\u5411\u786c\u4ef6\u4ea4\u4e92\u539f\u578b\u7684\u53ef\u89c6\u5316\u7f16\u7a0b\u5de5\u5177\uff0c\u8ba9\u65e0\u7f16\u7a0b\u80cc\u666f\u7684\u8bbe\u8ba1\u5e08\u901a\u8fc7\u62d6\u62fd\u89e6\u53d1-\u52a8\u4f5c\u903b\u8f91\u8fde\u63a5\u4f20\u611f\u5668\u4e0e\u6267\u884c\u5668\uff0c\u5e76\u53ef\u76f4\u63a5\u5bfc\u51fa\u5de5\u7a0b\u7ea7C++\u4ee3\u7801\u6216\u56fa\u4ef6\u4e0a\u4f20Arduino\uff0c\u89e3\u51b3\u539f\u578b\u4ece\u8bbe\u8ba1\u5230\u5de5\u7a0b\u4ea4\u4ed8\u7684\u8854\u63a5\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\/b7510bfa-7fff-4f19-9ddc-2e7189a0cd65.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\/adbff3a9-dc1c-4ac9-9639-52be947ebcc4.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\/df4160e8-b055-4166-958c-5ca0a1489c44.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\/0fd725e0-37fb-4800-8353-c471b2dec40c.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\/791f8ce9-00fb-4d3e-a06b-f3bc8108e47e.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\/18f95912-c935-4a62-b8ca-18f64347501e.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\/2ce5d10d-9d5c-4625-b3b8-87510f768fc8.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/RxFTpHfkJHY\"><source src=\"https:\/\/youtu.be\/RxFTpHfkJHY\" 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\">Prototyping<\/span><br \/>\n            <span class=\"tag\">Hardware<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u53ef\u89c6\u5316\u786c\u4ef6\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">Arduino\u539f\u578b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">C++\u4ee3\u7801\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u786c\u4ef6\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">Figma\u539f\u578b\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">ProtoPie\u8054\u52a8<\/span><br \/>\n            <span class=\"tag\">UI+\u786c\u4ef6\u539f\u578b<\/span><br \/>\n            <span class=\"tag\">\u89e6\u53d1-\u52a8\u4f5c\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u8fd0\u884c\u6a21\u5f0f<\/span><br \/>\n            <span class=\"tag\">I2C\u591a\u8bbe\u5907\u652f\u6301<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8d5e\u8d4fFigma\u4e0eProtoPie\u96c6\u6210\u53ca\u53cc\u5411\u4ea4\u4e92\u6f5c\u529b\uff08\u56de\u5e16\u786e\u8ba4ProtoPie\u4e3a\u53cc\u5411\uff0cFigma\u76ee\u524d\u5355\u5411\uff09\uff1b\u8be2\u95ee\u72ec\u7acb\u6a21\u5f0f\u5728\u5c55\u4f1a\u7b498\u5c0f\u65f6\u4ee5\u4e0a\u957f\u65f6\u95f4\u8fd0\u884c\u7684\u53ef\u9760\u6027\uff1b\u90e8\u5206\u7528\u6237\u70b9\u8d5e\u5e76\u8ba1\u5212\u5206\u4eab\u7ed9\u521b\u5ba2\u793e\u7fa4\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                blokdots 3.0\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u65e0\u4ee3\u7801\u201d\u53e3\u53f7\uff0c\u800c\u5728\u4e8e\u5b83\u8bd5\u56fe\u5f25\u5408\u8bbe\u8ba1\u601d\u7ef4\u4e0e\u5de5\u7a0b\u73b0\u5b9e\u4e4b\u95f4\u90a3\u9053\u6700\u987d\u56fa\u7684\u9e3f\u6c9f\u3002\u5f7b\u5e95\u629b\u5f03\u901a\u7528Firmata\uff0c\u81ea\u7814C++\u6846\u67b6\u548c\u4e32\u884c\u534f\u8bae\uff0c\u610f\u5473\u7740\u5b83\u4e0d\u518d\u662fArduino\u751f\u6001\u7684\u9644\u5eb8\uff0c\u800c\u662f\u6709\u80fd\u529b\u5b9a\u4e49\u81ea\u5df1\u7684\u5e95\u5c42\u89c4\u5219\u3002\u8fd9\u5e26\u6765\u7684\u201c\u72ec\u7acb\u8fd0\u884c\u201d\u4e0e\u201cC++\u5bfc\u51fa\u201d\u4e24\u9879\u80fd\u529b\uff0c\u7cbe\u51c6\u547d\u4e2d\u4e86\u4e24\u4e2a\u5173\u952e\u75db\u70b9\uff1a\u4e00\u662f\u8bbe\u8ba1\u5e08\u7684\u684c\u9762\u539f\u578b\u65e0\u6cd5\u8131\u79bb\u7535\u8111\u8fd0\u884c\uff0c\u4e8c\u662f\u5de5\u7a0b\u56e2\u961f\u6536\u5230\u7684\u4ee3\u7801\u9700\u8981\u91cd\u6784\u800c\u975e\u76f4\u63a5\u4f7f\u7528\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u5bf9\u957f\u65f6\u95f4\u7a33\u5b9a\u6027\u4e0e\u96c6\u6210\u53cc\u5411\u6027\u5b58\u7591\uff0c\u8fd9\u4e5f\u662f\u5de5\u5177\u5c1a\u9700\u6253\u78e8\u7684\u5730\u65b9\u3002\u4f46\u65b9\u5411\u662f\u5bf9\u7684\u2014\u2014\u786c\u4ef6\u539f\u578b\u5de5\u5177\u884c\u4e1a\u957f\u671f\u7f3a\u5c11\u4e00\u4e2a\u80fd\u628a\u201c\u62d6\u62fd\u903b\u8f91\u201d\u548c\u201c\u53ef\u4ea4\u4ed8\u4ee3\u7801\u201d\u5728\u5e95\u5c42\u771f\u6b63\u7edf\u4e00\u7684\u4ea7\u54c1\u3002\u5982\u679c\u80fd\u6301\u7eed\u4f18\u5316\u8fd0\u884c\u65f6\u7a33\u5b9a\u6027\u5e76\u6253\u901a\u53cc\u5411\u8bbe\u8ba1\u5de5\u5177\u94fe\uff08\u5c24\u5176\u662fFigma\uff09\uff0cblokdots\u6709\u671b\u6210\u4e3a\u8bbe\u8ba1-\u5de5\u7a0b\u534f\u540c\u9886\u57df\u7684\u4e00\u4e2a\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\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\">blokdots 3.0<\/span>\n                <\/div>\n<div class=\"comment-content\">blokdots is a visual tool for building interactive hardware. Connect sensors, motors, and more with a simple trigger-action interface \u2014 no coding required. 3.0 is a ground-up rebuild with our own C++ framework \u2014 replacing Firmata entirely. Export real C++ or JavaScript code, hand off to engineering, or go fully standalone: upload directly to Arduino, no more laptop needed! Connects to ProtoPie, Figma, and Socket.IO for integrated UI + hardware prototyping.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone! I&#8217;m Olivier, one of the creators of blokdots.<\/p>\n<\/p>\n<p>With 3.0 we rebuilt everything from the ground up. We replaced Firmata with our own lightweight C++ framework and serial protocol \u2014 which finally unblocks us to build the things we always wanted to build.<\/p>\n<\/p>\n<p>What that unlocks in 3.0:<\/p>\n<ul>\n<li>\n<p>Standalone mode \u2014 upload your project and run it without a laptop connected<\/p>\n<\/li>\n<li>\n<p>C++ code export \u2014 hand off to engineering or continue in the Arduino IDE yourself<\/p>\n<\/li>\n<li>\n<p>Outputs as triggers \u2014 let actions fire from outputs, not just sensors<\/p>\n<\/li>\n<li>\n<p>Multi I2C support \u2014 use multiple I2C components simultaneously<\/p>\n<\/li>\n<\/ul>\n<p>And this is just the beginning! Having full control over our stack opens up a lot of exciting directions we&#8217;re already working toward.<\/p>\n<\/p>\n<p>We&#8217;ve been teaching and using blokdots in real design workflows for years, and the gap between &#8220;I have an idea&#8221; and &#8220;I have a working prototype&#8221; is still too wide. This is our ongoing attempt to close it.<\/p>\n<\/p>\n<p>Core features are free. Would love to hear what you build. \ud83d\ude0a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\udfe8 Looks amazing!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is really cool, congratulations on shipping! the figma + protopie hook is the real move! when a designer changes the digital prototype, does the hardware know? one-way (hardware fires, figma reacts) or bidirectional (figma state flows back to motors and LEDs)? congrats on your launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you <a href=\"https:\/\/www.producthunt.com\/@hiyamojo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hiyamojo<\/a>! If the commands stay the same then the hardware prototype would know accordingly. At the moment ProtoPie works bidirectional, Figma only one-way, but we are working on improving our Figma integration! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Looks like a great product <br \/>Congratulations! <br \/>Also, how reliable is standalone mode for longer-running prototypes like running a demo loop at a trade show for 8+ hours?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Interesting to see a platform focused specifically on the Python ecosystem instead of trying to support everything at once. The developer workflow focus and AI-assisted productivity angle stood out to me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Sharing this with my maker friends at the fab lab.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/V3AE7ZDLDU3RJ5\" class=\"app-title\">DNSimple CLI<\/a><\/p>\n<div class=\"one-liner\">Manage Your DNS from the Command Line with DNSimple CLI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">89<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DNSimple CLI \u662f\u4e00\u6b3e\u4e13\u4e3a\u5f00\u53d1\u8005\u8bbe\u8ba1\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8ba9\u7528\u6237\u65e0\u9700\u79bb\u5f00\u7ec8\u7aef\u5373\u53ef\u7ba1\u7406\u57df\u540d\u3001DNS\u8bb0\u5f55\u548cSSL\u8bc1\u4e66\uff0c\u89e3\u51b3\u4e86\u5f00\u53d1\u8005\u5728\u672c\u5730\u73af\u5883\u6216CI\u6d41\u6c34\u7ebf\u4e2d\u9891\u7e41\u5207\u6362\u754c\u9762\u64cd\u4f5cDNS\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\/e5a70543-cf81-4b4c-9330-e161044cce3c.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\/97eaece3-7e06-4e75-befd-2eb79340f506.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\/9719b0b1-6516-4060-b68b-ccf67786ee7f.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\/c035a523-824a-44c5-9896-cca6688c51a6.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/r2DiffFn1Xw\"><source src=\"https:\/\/youtu.be\/r2DiffFn1Xw\" 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\">GitHub<\/span><br \/>\n            <span class=\"tag\">YouTube<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">DNS\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u57df\u540d\u6ce8\u518c<\/span><br \/>\n            <span class=\"tag\">SSL\u8bc1\u4e66<\/span><br \/>\n            <span class=\"tag\">CI\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u8fd0\u7ef4<\/span><br \/>\n            <span class=\"tag\">API\u5ba2\u6237\u7aef<\/span><br \/>\n            <span class=\"tag\">Go\u8bed\u8a00<\/span><br \/>\n            <span class=\"tag\">DevOps<\/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\u4e86CLI\u5bf9\u5f00\u53d1\u8005\u8eab\u4efd\u7684\u5929\u7136\u5951\u5408\uff0c\u5e76\u70b9\u51fa\u5173\u952e\u7591\u95ee\uff1a\u4e0eTerraform\u63d0\u4f9b\u5546\u7684\u8fb9\u754c\u5728\u54ea\uff1f\u540c\u65f6\u5173\u6ce8CI\u7ed3\u6784\u5316\u8f93\u51fa\u662f\u5426\u4f5c\u4e3a\u7a33\u5b9a\u5951\u7ea6\u5b58\u5728\uff0c\u62c5\u5fe7\u8f93\u51fa\u683c\u5f0f\u53d8\u66f4\u4f1a\u7834\u574f\u6d41\u6c34\u7ebf\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                DNSimple CLI\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u53c8\u9020\u4e86\u4e00\u4e2a\u8f6e\u5b50\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u586b\u8865\u4e86DNS\u8fd0\u7ef4\u4e2d\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u65ad\u5c42\uff1a\u5373Terraform\u8fd9\u7c7b\u58f0\u660e\u5f0f\u57fa\u7840\u8bbe\u65bd\u5de5\u5177\u65e0\u6cd5\u8986\u76d6\u7684\u4e34\u65f6\u64cd\u4f5c\u3001\u6545\u969c\u6392\u67e5\u548c\u5feb\u901f\u54cd\u5e94\u573a\u666f\u3002\u5b98\u65b9\u627f\u8ba4\u793e\u533a\u65e9\u6709\u975e\u5b98\u65b9CLI\uff0c\u8fd9\u53cd\u800c\u9a8c\u8bc1\u4e86\u9700\u6c42\u672c\u8eab\u771f\u5b9e\u4e14\u6301\u4e45\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u7684\u751f\u6b7b\u7ebf\u53d6\u51b3\u4e8e\u4e24\u4e2a\u6838\u5fc3\u627f\u8bfa\uff1a\u4e00\u662f\u201c\u7ed3\u6784\u5316\u8f93\u51fa\u201d\u662f\u5426\u771f\u6b63\u6587\u6863\u5316\u3001\u7248\u672c\u5316\uff0c\u800c\u975e\u4ec5\u662f\u4eba\u673a\u53ef\u8bfb\u7684JSON\u2014\u2014GitHub-style\u7684API\u53d8\u66f4\u53ef\u80fd\u8ba9CI\u76f4\u63a5\u5d29\u76d8\uff1b\u4e8c\u662f\u4e0e\u81ea\u5bb6Terraform provider\u7684\u804c\u8d23\u5212\u5206\u662f\u5426\u6e05\u6670\u2014\u2014\u5982\u679c\u7528\u6237\u6700\u7ec8\u53d1\u73b0CLI\u80fd\u505a\u7684Terraform\u4e5f\u90fd\u80fd\u505a\uff08\u53ea\u662f\u591a\u5199\u51e0\u884c\u4ee3\u7801\uff09\uff0c\u90a3CLI\u5c31\u4f1a\u6ca6\u4e3a\u73a9\u5177\u3002\u4ece\u6218\u7565\u4e0a\u770b\uff0c\u5c06CLI\u5b9a\u4f4d\u4e3a\u201cAI\u4ee3\u7406\u7684\u7b2c\u4e00\u516c\u6c11\u201d\u5012\u662f\u66f4\u9ad8\u660e\u7684\u601d\u8def\uff1a\u5728LLM\u9a71\u52a8\u7684\u8fd0\u7ef4\u81ea\u52a8\u5316\u6d6a\u6f6e\u4e2d\uff0c\u7ed3\u6784\u5316\u8f93\u51fa+\u539f\u5b50\u5316\u547d\u4ee4\u7684\u7ec4\u5408\u8fdc\u6bd4API\u8c03\u7528\u66f4\u5bb9\u6613\u88ab\u667a\u80fd\u4f53\u6d88\u8d39\u3002\u4f46\u524d\u63d0\u662f\uff0cDNSimple\u5fc5\u987b\u8db3\u591f\u514b\u5236\uff0c\u8ba9CLI\u6210\u4e3a\u201c\u547d\u4ee4\u7684\u745e\u58eb\u519b\u5200\u201d\uff0c\u800c\u4e0d\u662f\u201cAPI\u7684\u6478\u9ed1\u4eff\u54c1\u201d\u3002\u5426\u5219\uff0c\u5b83\u53ea\u4f1a\u52a0\u91cd\u7528\u6237\u7684\u5fc3\u667a\u8d1f\u62c5\uff0c\u800c\u975e\u51cf\u8f7b\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\">DNSimple CLI<\/span>\n                <\/div>\n<div class=\"comment-content\">Manage your domains and DNS without leaving the terminal, built for developers who live in their terminals and CI pipelines. What you can do: create, update, and delete DNS records; register domains and manage renewals; issue and manage SSL\/TLS certificates; run it in CI with API token auth and structured output. Built in Go, it uses the same foundation as our official client libraries and Terraform provider. Read our announcement: https:\/\/blog.dnsimple.com\/2026\/05\/announcing-the-dnsimple-cli\/<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">DNSimple has always positioned itself as the DNS provider for developers, and a CLI is a natural fit with that identity. It meets our core audience exactly where they spend their time, in the terminal. The proof is in the wild: several unofficial DNSimple CLIs have been built by the community over the years, well before this official release.<br \/>\nOur goal with the CLI is to make pragmatic access to the DNSimple API as easy as possible. The DNSimple API is one of the most complete in the industry, covering everything from domain registration to DNS records and certificates. It&#8217;s great when you&#8217;re building a system on top of it, but it&#8217;s not the right shape for the everyday task of inspecting a zone, fixing a record, registering a domain, or scripting a quick automation. A CLI is, and it takes our automation story to the next level by exposing the full surface of the API behind a single, consistent command.<br \/>\nIn the past few months, it has become evident how powerful the combination of a CLI and an AI agent can be. Debugging is more approachable, repetitive work across many resources collapses into a single instruction, and complex workflows can be composed conversationally. We wanted DNSimple to be a first-class citizen in that world, without sacrificing the experience for people who just want to type a command and read the output.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Since this shares a foundation with your Terraform provider \u2014 where&#8217;s the line you&#8217;d draw between reaching for the CLI versus just declaring records in Terraform? Anything that lives in version control I&#8217;d default to the provider, so I&#8217;m trying to picture the CLI&#8217;s home turf: one-off changes, incident response, scripting renewals?<\/p>\n<p>Secondly, The &#8220;structured output for CI&#8221; line is the part I&#8217;d lean on hardest. Is that stable, documented JSON I can pin a script to, or is it formatted-for-humans output that&#8217;ll shift between releases and quietly break my pipeline? CLI tools live or die on whether their machine output is a contract.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BDLMN2HGUMYVDM\" class=\"app-title\">LikePulse<\/a><\/p>\n<div class=\"one-liner\">See exactly where YouTube audiences react \u2014 instantly<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">86<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>LikePulse\u662f\u4e00\u6b3eYouTube\u89c6\u9891\u8bc4\u8bba\u533a\u5b9e\u65f6\u5206\u6790\u5de5\u5177\uff0c\u901a\u8fc7\u70ed\u529b\u56fe\u548cAI\u89e3\u8bfb\uff0c\u5e2e\u52a9\u521b\u4f5c\u8005\u7cbe\u51c6\u5b9a\u4f4d\u7528\u6237\u60c5\u7eea\u7206\u53d1\u70b9\uff0c\u89e3\u51b3\u201c\u77e5\u9053\u89c6\u9891\u64ad\u4e86\u591a\u5c11\u6b21\uff0c\u5374\u4e0d\u77e5\u9053\u89c2\u4f17\u5728\u54ea\u91cc\u771f\u6b63\u55e8\u4e86\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/ac0d0329-feed-4225-b7e6-f510515621db.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/VcB6RUQbYNk\"><source src=\"https:\/\/youtu.be\/VcB6RUQbYNk\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1380ddc2-26a3-4be6-bbb7-8c51c9a92478.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\/067febfe-1c31-4a01-8a8b-686c093cf718.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\/641aefdc-5bd5-46d3-ba29-1880fc79b551.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\/f128a813-0cb1-4770-a776-0fe12d770062.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\/f797c7e3-59b1-47d4-a5d8-c4fd01b8504b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">YouTube\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u8bc4\u8bba\u533a\u70ed\u529b\u56fe<\/span><br \/>\n            <span class=\"tag\">\u89c2\u4f17\u60c5\u7eea\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">AI\u89c6\u9891\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e9a\u9a6c\u900a\u5546\u54c1\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">Chrome\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\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\u201c\u8bc4\u8bba\u70ed\u529b\u56fe+YouTube\u91cd\u64ad\u6570\u636e\u201d\u7684\u53cc\u4fe1\u53f7\u5bf9\u6bd4\u4ef7\u503c\uff0c\u8ba4\u4e3a\u5176\u80fd\u63ed\u793a\u521b\u4f5c\u8005\u672a\u5bdf\u89c9\u7684\u7f16\u8f91\u76f2\u70b9\u3002\u4e89\u8bae\u70b9\u5728\u4e8e\u201c\u4e9a\u9a6c\u900a\u5546\u54c1\u68c0\u6d4b\u201d\u529f\u80fd\u5b9a\u4f4d\u6a21\u7cca\uff0c\u90e8\u5206\u7528\u6237\u8d28\u7591\u5176\u504f\u79bb\u6838\u5fc3\u7528\u6237\u7fa4\u3002\u53e6\u6709\u7528\u6237\u6307\u51fa\u5de5\u5177\u5e94\u4e3b\u52a8\u7a81\u51fa\u201c\u4fe1\u53f7\u5206\u6b67\u70b9\u201d\uff0c\u800c\u975e\u4ec5\u5c55\u793a\u4e24\u5217\u6570\u636e\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                LikePulse\u7684\u4ef7\u503c\u5728\u4e8e\u5b83\u628aYouTube\u8bc4\u8bba\u533a\u4ece\u4e00\u4e2a\u88ab\u5ffd\u89c6\u7684\u4fe1\u606f\u5783\u573e\u573a\uff0c\u53d8\u6210\u4e86\u4e00\u5ea7\u53ef\u6316\u6398\u7684\u201c\u89c2\u4f17\u60c5\u7eea\u91d1\u77ff\u201d\u3002\u5176\u6838\u5fc3\u6d1e\u5bdf\u201c\u8bc4\u8bba\u5cf0\u503c\u4e0e\u91cd\u64ad\u5cf0\u503c\u5f80\u5f80\u4e0d\u4e00\u81f4\u201d\u662f\u6781\u5176\u5c16\u9510\u7684\u2014\u2014\u8fd9\u6070\u597d\u6233\u7834\u4e86\u521b\u4f5c\u8005\u5bf9\u201c\u89c2\u4f17\u60f3\u770b\u4ec0\u4e48\u201d\u7684\u76f4\u89c9\u5e7b\u89c9\u3002\u5f53\u5927\u591a\u6570\u5206\u6790\u5de5\u5177\u8fd8\u5728\u5377\u201c\u64ad\u653e\u91cf\u548c\u5b8c\u64ad\u7387\u201d\u65f6\uff0cLikePulse\u7528\u4f4e\u6210\u672c\uff08\u514d\u8d39\u3001\u514d\u767b\u5f55\uff09\u5207\u6362\u5230\u4e86\u201c\u89c2\u4f17\u5728\u60f3\u4ec0\u4e48\u201d\u7684\u66f4\u9ad8\u7ef4\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u5728\u7b56\u7565\u4e0a\u5b58\u5728\u4e00\u4e2a\u5fae\u5999\u7684\u6495\u88c2\u3002\u4e3b\u529f\u80fd\u201c\u8bc4\u8bba\u70ed\u529b\u56fe+AI\u89e3\u8bfb\u201d\u670d\u52a1\u4e8e\u4e25\u8083\u7684\u521b\u4f5c\u8005\u548c\u5185\u5bb9\u7814\u7a76\u8005\uff0c\u8fd9\u662f\u4e00\u6761\u5c0f\u800c\u7f8e\u7684\u5de5\u5177\u94fe\uff1b\u800c\u201c\u4e9a\u9a6c\u900a\u5546\u54c1\u68c0\u6d4b\u201d\u4e00\u773c\u5c31\u80fd\u770b\u51fa\u662f\u5954\u7740\u201c\u5e26\u8d27\u53d8\u73b0\u201d\u7684\u7070\u4ea7\u6216\u7535\u5546\u5206\u6790\u7528\u6237\u53bb\u7684\u3002\u8fd9\u4e24\u4e2a\u7528\u6237\u753b\u50cf\u7684\u884c\u4e3a\u903b\u8f91\u5b8c\u5168\u4e0d\u540c\uff1a\u524d\u8005\u5173\u5fc3\u53d9\u4e8b\u8282\u594f\uff0c\u540e\u8005\u5173\u5fc3\u8f6c\u5316\u6f0f\u6597\u3002\u5f3a\u884c\u6742\u7cc5\u53ea\u4f1a\u8ba9\u4ea7\u54c1\u9762\u76ee\u6a21\u7cca\u2014\u2014\u65e2\u4e0d\u80fd\u8ba9\u521b\u4f5c\u8005\u89c9\u5f97\u4f60\u662f\u7eaf\u7cb9\u7684\u5185\u5bb9\u201c\u5171\u9e23\u201d\u653e\u5927\u5668\uff0c\u53c8\u4e0d\u8db3\u4ee5\u8ba9\u8425\u9500\u4eba\u4fe1\u4efb\u4f60\u7684\u5546\u54c1\u8bc6\u522b\u7cbe\u5ea6\uff08\u6bd5\u7adf\u662f\u4ece\u8bc4\u8bba\u91cc\u6252\uff0c\u800c\u975e\u89c6\u9891\u5e27\u8bc6\u522b\uff09\u3002\u521b\u59cb\u4eba\u89e3\u91ca\u8fd9\u6761\u529f\u80fd\u662f\u201c\u53e6\u4e00\u5b9e\u9a8c\u201d\uff0c\u4f46\u653e\u5728\u4e3b\u9875\u4f5c\u4e3a\u5356\u70b9\uff0c\u8bf4\u660e\u5176\u8fd8\u672a\u60f3\u6e05\u695a\u6838\u5fc3\u7528\u6237\u662f\u8c01\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u9690\u5fe7\u662f\u6570\u636e\u6df1\u5ea6\u3002\u5f53\u524d\u5de5\u5177\u672c\u8d28\u662f\u201c\u5bf9\u516c\u5f00\u8bc4\u8bba\u7684\u5b9e\u65f6\u805a\u5408\u4e0e\u5206\u6bb5\u6807\u8bb0\u201d\uff0c\u5b83\u4e0d\u6d89\u53ca\u79c1\u6709\u6570\u636e\uff08\u5982YouTube Studio\u7684\u771f\u5b9e\u89c2\u4f17\u7559\u5b58\u66f2\u7ebf\uff09\uff0c\u8fd9\u610f\u5473\u7740\u5206\u6790\u5929\u82b1\u677f\u5f88\u4f4e\uff1a\u4f60\u770b\u5230\u89c2\u4f17\u5728\u54ea\u5174\u594b\uff0c\u4f46\u6c38\u8fdc\u4e0d\u77e5\u9053\u201c\u4ed6\u4eec\u8df3\u8fc7\u4e86\u54ea\u4e00\u6bb5\u201d\u6765\u886c\u6258\u8fd9\u4e2a\u5174\u594b\u3002\u5982\u679c\u672a\u6765\u4e0d\u80fd\u4e0eYouTube Insight\u4ea4\u53c9\u9a8c\u8bc1\uff0cLikePulse\u6700\u7ec8\u53ea\u662f\u4e00\u4e2a\u6f02\u4eae\u7684\u201c\u7075\u611f\u98ce\u66b4\u201d\u5de5\u5177\uff0c\u800c\u975e\u7528\u4e8e\u6307\u5bfc\u7f16\u8f91\u51b3\u7b56\u7684\u201c\u51c6\u661f\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u9510\u8bc4\uff1a\u514d\u8d39\u3001\u4f18\u96c5\u3001\u6d1e\u5bdf\u7280\u5229\uff1b\u4f46\u529f\u80fd\u6742\u7cc5\u4e0e\u6570\u636e\u6d45\u5c42\u5316\uff0c\u6b63\u5c06\u5176\u62c9\u5411\u201c\u770b\u8d77\u6765\u5f88\u9177\u4f46\u96be\u4ee5\u6210\u4e3a\u521a\u9700\u201d\u7684\u6df1\u6e0a\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\">LikePulse<\/span>\n                <\/div>\n<div class=\"comment-content\">LikePulse analyzes YouTube comments in real time to show you the exact moments where audiences peaked. Open any video and get: \u2022 Engagement heatmap \u2014 comment spikes overlaid with Most Replayed data \u2022 Key moments \u2014 the exact timestamps with the highest audience reaction \u2022 AI analysis \u2014 Claude Haiku explains why each moment resonated \u2022 Product detection \u2014 AI finds Amazon products mentioned in the video Free. No account. No tracking. Works on any YouTube video instantly.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! <\/p>\n<p>I&#8217;m Adri\u00e1n, and I built LikePulse because I kept wondering: why can&#8217;t I see WHERE people actually react in a YouTube video?<\/p>\n<p>Not just view counts \u2014 the exact second the audience exploded.<\/p>\n<p>So I built it. LikePulse analyzes public comments, extracts timestamps, and builds a real-time heatmap of audience reaction on any YouTube video. Pair that with Most Replayed data from YouTube itself and you get a dual-signal picture of where the video actually worked.<\/p>\n<p>On top of that: Claude Haiku reads the comments and tells you WHY each moment resonated \u2014 what emotion drove it, what the creator could improve.<\/p>\n<p>Free. No account needed. No data collected.<\/p>\n<p>One note: Chrome may show a &#8220;proceed with caution&#8221; warning \u2014 that&#8217;s normal for new extensions without user history yet. The code is clean and fully auditable.<\/p>\n<p>Would love your honest feedback \u2014 what&#8217;s missing? What would make this a must-have for you?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adriancubas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adriancubas<\/a>&nbsp;Congrats on the launch Adrian. I could see this being big with creator\/brand partnerships.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@adriancubas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adriancubas<\/a>&nbsp;<\/p>\n<p> Thanks Adri\u00e1n \u2014 will absolutely run it on a few of mine and report back. The pacing-vs-rewatch gap is exactly what I want to test: I have a hunch the spots where viewers comment are where the editorial sequence breaks expectations, while the rewatches concentrate where I deliver something concretely useful. Different feedback signals, different edits. Looking forward to seeing the heatmap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Overlaying comment spikes against YouTube&#8217;s own Most Replayed data is the smart move \u2014 those two signals don&#8217;t always agree, and the gaps are probably the interesting part. When a moment is heavily Most-Replayed but the comments are quiet, or vice versa, does LikePulse surface that divergence, or just show both tracks and leave me to eyeball it? The disagreement is where the real insight usually hides.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting concept. Most analytics tools show views and retention, but LikePulse focuses on audience reaction moments, which feels much more actionable for creators and marketers. The engagement heatmap combined with AI explanations is a very smart touch. Congrats on the Product Hunt launch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alina_tyslenok_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alina_tyslenok_<\/a>&nbsp;Hi Alina,  <\/p>\n<p>Thank you so much for the thoughtful feedback! I\u2019m really glad you found the concept interesting \u2014 we wanted to make analytics feel more human and actionable, so hearing that it resonates means a lot.  <\/p>\n<p>Appreciate your kind words and support!  <\/p>\n<p>Best,  <\/p>\n<p>Adrian  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 product detection feature is the one that feels slightly out of place with the rest. heatmaps and key moments are clearly for creators and researchers. amazon product detection feels like a different user entirely, affiliate marketers or brand analysts. are those actually the same person in your head or did that feature come from a different use case you&#8217;re testing. curious because it changes who you&#8217;re building for pretty significantly<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;That\u2019s a great point \u2014 and here\u2019s why I still think product detection can add value for creators and researchers. A lot of high\u2011engagement moments on YouTube revolve around specific products: tech reviews, unboxings, tutorials, \u201cAmazon favorites,\u201d beauty routines, etc. When a spike in reactions is tied to a product, identifying it helps explain <em>why<\/em> that moment resonated.<\/p>\n<p>For creators, it highlights what their audience is reacting to. For researchers, it adds context to emotional peaks. So while the feature came from a different experiment, it actually complements the core insight workflow more than it seems at first glance.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>knowing WHERE in the video people react is way more useful than just total view count. this is basically a free focus group for every video you publish<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;Exactly \u2014 that\u2019s the whole point. Total view count tells you <em>if<\/em> people showed up, but knowing <em>where<\/em> they react tells you <em>why<\/em> the video works. When you can see those reaction spikes in context, it becomes a free focus group baked into every upload. That\u2019s the kind of feedback loop creators rarely get, and it\u2019s what I\u2019m trying to make effortless with LikePulse.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the framing of overlaying comment spikes with Most Replayed \u2014 the two signals say different things and the gap between them is where the interesting stuff lives. I run the Mod3Loop YouTube channel on financial modeling, and the moments people comment on are almost never the ones I&#8217;d predict from watch retention alone. Tools that surface that mismatch quickly would change how I edit. Following.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@samir_asadov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samir_asadov<\/a>&nbsp;Love this \u2014 and you articulated the core idea perfectly. Comment spikes and Most Replayed really are two different signals, and the gap between them is where the real editorial insight lives.<\/p>\n<p>What you described about your channel is exactly the pattern I kept seeing: the moments people <em>talk about<\/em> are often not the moments they <em>rewatch<\/em>. Surfacing that mismatch instantly is what I built LikePulse for, because it changes how creators think about pacing, clarity, and emotional beats.<\/p>\n<p>Really appreciate you following along \u2014 would love to hear what you discover if you try it on one of your videos.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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-05-26 PH\u70ed\u699c | 2026-05-26 #1 Brew  [&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-234","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/234","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=234"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/234\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}