{"id":247,"date":"2026-06-10T12:52:14","date_gmt":"2026-06-10T04:52:14","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/06\/10\/2026-06-09\/"},"modified":"2026-06-10T12:52:14","modified_gmt":"2026-06-10T04:52:14","slug":"2026-06-09","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/06\/10\/2026-06-09\/","title":{"rendered":"PH\u70ed\u699c | 2026-06-09"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-06-09<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-06-09<\/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\/NEBXF32UWM4O4P\" class=\"app-title\">VC Boom<\/a><\/p>\n<div class=\"one-liner\">Score your deck, meet investors who fit, and raise more<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">423<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>VC Boom\u662f\u4e00\u6b3eAI\u9a71\u52a8\u7684\u878d\u8d44\u52a9\u624b\uff0c\u572890\u79d2\u5185\u4e3a\u521b\u59cb\u4eba\u7684\u5546\u4e1a\u8ba1\u5212\u4e66\u8bc4\u5206\u5e76\u63d0\u4f9b\u9488\u5bf9\u6027\u4f18\u5316\u5efa\u8bae\uff0c\u4ece4.7\u4e07+\u6295\u8d44\u4eba\u6570\u636e\u5e93\u4e2d\u7cbe\u51c6\u5339\u914d\u6d3b\u8dc3\u6295\u8d44\u8005\uff0c\u5e76\u81ea\u52a8\u751f\u6210\u4e2a\u6027\u5316\u51b7\u90ae\u4ef6\uff0c\u89e3\u51b3\u521b\u59cb\u4eba\u201c\u627e\u4e0d\u5230\u5bf9\u7684\u6295\u8d44\u4eba\u3001\u4e0d\u4f1a\u5199 outreach\u3001\u53d1\u5b8c\u5c31\u88ab\u62d2\u201d\u7684\u878d\u8d44\u6548\u7387\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\/eea031af-af43-4ea8-899e-edefcfc28f7e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/148e4ef5-57f7-4945-8ea4-188c63bc71d8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/99af96bc-4c28-4ee8-b1b2-265e7540f95a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8f5ccf18-f35d-46df-9584-838a728e86b7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/26d94c09-ff4a-436f-8daa-91982f7f37a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6658f82c-9d6b-4bdc-b352-4523019d9a9f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fe2d1331-8cb3-4d60-b70d-66ddc05a957b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9815f8d4-80c5-4c30-8cfa-ed7dc980bd38.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f8a6c02-85c1-4b85-a7e4-ab4df89cbe2b.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\/d87c7466-c16f-4319-bc6c-cfae49d67199.octet-stream?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/4892998437ce420189faa552a35b4897\"><source src=\"https:\/\/www.loom.com\/share\/4892998437ce420189faa552a35b4897\" 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\">Venture Capital<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Fundraising<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u878d\u8d44\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u8bc4\u5206<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u4eba\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u51b7\u90ae\u4ef6\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">BP\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">Pre-Seed\u5230A\u8f6e<\/span><br \/>\n            <span class=\"tag\">\u521b\u4e1a\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">VC\u6570\u636e\u5e93<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Product Hunt\u70ed\u95e8<\/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\u5feb\u901f\u8bc4\u5206\u548c\u5339\u914d\u80fd\u529b\uff0c\u5c24\u5176\u5bf9Pre-seed\u9636\u6bb5\u521b\u4e1a\u8005\u5e2e\u52a9\u5927\u3002\u6709\u4eba\u5efa\u8bae\u589e\u52a0\u8ddf\u8e2a\u5bf9\u8bdd\u548c\u540e\u7eed\u7ba1\u7406\u7684CRM\u529f\u80fd\u3002\u4e5f\u6709\u7528\u6237\u5173\u5fc3\u4e0d\u540cVC\u8bc4\u4ef7\u6807\u51c6\u662f\u5426\u7edf\u4e00\uff0c\u4ee5\u53ca\u6570\u636e\u9690\u79c1\u548c\u9636\u6bb5\u9002\u7528\u6027\uff08\u5982\u7eafidea\u6216B\u8f6e\u540e\u6548\u679c\u6709\u9650\uff09\u3002\u521b\u59cb\u4eba\u56de\u5e94\u4e86\u9690\u79c1\u4fdd\u62a4\u3001\u9636\u6bb5\u8c03\u6574\u673a\u5236\u53ca\u90ae\u4ef6\u5185\u7f6eCRM\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                VC Boom\u7684\u672c\u8d28\u4e0d\u662f\u878d\u8d44\u9b54\u6cd5\uff0c\u800c\u662f\u4e00\u4e2a\u9ad8\u5ea6\u5782\u76f4\u7684\u201cAI\u9500\u552e\u52a0\u901f\u5668\u201d\u5957\u4e0a\u4e86VC\u7ecf\u9a8c\u7684\u5916\u58f3\u3002\u5b83\u7cbe\u51c6\u547d\u4e2d\u4e86\u65e9\u671f\u521b\u59cb\u4eba\u6700\u5927\u7684\u4e24\u79cd\u7126\u8651\uff1a\u4e0d\u77e5\u9053\u81ea\u5df1\u7684deck\u4e3a\u4f55\u88ab\u62d2\uff0c\u4ee5\u53ca\u4e0d\u77e5\u9053\u8be5\u53bb\u627e\u8c01\u8bf4\u8bdd\u300290\u79d2\u8bc4\u5206\u548c\u201c\u5355\u4e00\u6700\u5feb\u4fee\u590d\u201d\u76f4\u51fb\u4e86\u5927\u90e8\u5206\u521b\u59cb\u4eba\u957f\u671f\u88ab\u4fe1\u606f\u5dee\u8352\u5e9f\u7684\u9ec4\u91d1\u7a97\u53e3\u671f\uff0c\u6bd4\u90a3\u79cd\u521720\u6761\u4fee\u6539\u610f\u89c1\u540e\u8ba9\u4eba\u65e0\u6240\u9002\u4ece\u7684\u4e07\u80fd\u6a21\u677f\u673a\u806a\u660e\u5f97\u591a\u3002\u800c47K\u6295\u8d44\u4eba\u5e93\u7684\u5339\u914d\u52a0\u4e0a\u4e00\u53e5\u5339\u914d\u7406\u7531\uff0c\u4ee5\u53ca\u4eceGmail\u76f4\u53d1\u7684\u4e2a\u6027\u5316\u90ae\u4ef6\uff0c\u5219\u662f\u5207\u6389\u4e86\u4f20\u7edfFA\u7684\u8d44\u4ea7\u548c\u4fe1\u4efb\u6210\u672c\uff0c\u7528\u8f6f\u4ef6\u66ff\u4ee3\u4e86\u4eba\u8089\u6295\u9012\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u660e\u663e\uff1a\u4ea7\u54c1\u672c\u8d28\u4e0a\u662f\u4e00\u9524\u5b50\u201c\u7269\u8272-\u6da6\u8272-\u6295\u9012\u201d\u7684\u7ba1\u9053\uff0c\u80fd\u5426\u771f\u6b63\u5f62\u6210\u95ed\u73af\u53d6\u51b3\u4e8e\u5176\u540e\u7eedCRM\u7684\u6df1\u5ea6\u3001\u6295\u8d44\u4eba\u6570\u636e\u5e93\u7684\u5b9e\u65f6\u6027\u4ee5\u53ca\u90ae\u4ef6\u56de\u590d\u7387\u7684\u771f\u5b9e\u6570\u636e\u3002\u76ee\u524d\u6240\u8c13\u201c\u6210\u529f\u878d\u8d449500\u4e07\u7f8e\u5143\u201d\u7a76\u7adf\u662f\u5f52\u56e0\u4e8e\u5de5\u5177\u672c\u8eab\u8fd8\u662f\u521b\u59cb\u4eba\u7684\u6838\u5fc3\u793e\u7fa4\u6548\u5e94\uff0c\u9700\u8981\u6253\u4e2a\u95ee\u53f7\u3002\u66f4\u91cd\u8981\u7684\u662f\uff0cAI\u751f\u6210\u7684\u201c\u4e2a\u6027\u5316\u201d\u90ae\u4ef6\u662f\u5426\u80fd\u9a97\u8fc7\u6bcf\u5929\u6536\u51e0\u5341\u5c01\u540c\u6b3e\u6a21\u677f\u7684VC\uff0c\u4ee5\u53ca\u65e9\u671f\u6295\u8d44\u4eba\u662f\u5426\u613f\u610f\u901a\u8fc7\u4e00\u5957\u7b97\u6cd5\u5316\u7684\u6e20\u9053\u53bb\u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\uff0c\u624d\u662f\u51b3\u5b9a\u662f\u5426\u662f\u201c\u5243\u987b\u5200\u8fd8\u662f\u5200\u67b6\u201d\u7684\u5173\u952e\u3002\u5bf9\u4e8e\u6ca1\u6709\u793e\u7fa4\u3001\u4eba\u8109\u6216\u673a\u6784\u80cc\u4e66\u7684\u4e2a\u4eba\u521b\u59cb\u4eba\u6765\u8bf4\uff0cVC Boom\u662f\u4e00\u5f20\u4e0d\u9519\u7684\u52a0\u901f\u5165\u573a\u5238\uff0c\u4f46\u7edd\u4e0d\u662f\u62fc\u591a\u591a\u5f0f\u7684\u878d\u8d44\u4ee3\u91d1\u5238\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">VC Boom<\/span>\n                <\/div>\n<div class=\"comment-content\">VC Boom scores your pitch deck in under 90 seconds and tells you the single fastest fix, matches you with the right investors from 47,000+ (each with a one-line reason they fit), then drafts personalized cold emails you send from your own inbox. Prep for each investor, then book the calls. Founders using VC Boom have already raised $95M. Built by an 8-year VC who raised hundreds of millions and deployed across 47 startups. Free to start, no subscription.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udce3\ud83d\udea8 <strong><em>22 days left before VCs go on vacation. Raise now! <\/em><\/strong>\ud83d\udea8\ud83d\udce3<\/p>\n<p>Hey Product Hunt! \ud83d\udc4b I&#8217;m Yoann, founder of VC Boom.<\/p>\n<\/p>\n<p>I&#8217;ve been a VC for 8 years, invested in 47 companies, and read thousands of pitch decks. I built VC Boom to turn that expertise into a product that scores your deck, finds investors active in your category, and drafts personalized cold emails <strong>so you can raise faster<\/strong>.<\/p>\n<\/p>\n<p><strong>Here&#8217;s how it works:<\/strong><\/p>\n<\/p>\n<p>\ud83c\udfaf Scores your deck across 7 investor dimensions in <strong>&lt;90 seconds<\/strong> and shows you what to fix to raise your score<\/p>\n<p>\ud83e\udd1d Matches you with <strong>100 investors<\/strong> active in your space who are likely to invest (filtered from 47k through my network)<\/p>\n<p>\ud83d\udcec Unlocks their contacts, drafts outreach emails that read as human and authentic, and sends them <em>from your own inbox<\/em><\/p>\n<\/p>\n<p><strong>Boom! \ud83d\udca5<\/strong><\/p>\n<\/p>\n<p><strong>Results after just four weeks:<\/strong><\/p>\n<\/p>\n<p>\ud83d\udcc8 620 founders signed up<\/p>\n<p>\u2705 1,120 decks scored<\/p>\n<p>\ud83d\ude80 $95M raised by founders using VC Boom<\/p>\n<\/p>\n<p>VC Boom isn&#8217;t a database, and it isn&#8217;t a done-for-you agency that takes over your raise and takes a cut of it.<\/p>\n<p>It&#8217;s a raise advisor <em>you<\/em> drive.<\/p>\n<\/p>\n<p><strong>Important note: <\/strong><em>there&#8217;s fewer than 22 days left<\/em> in the current VC window. If you want to get on the AI bandwagon before this year&#8217;s blockbuster IPOs, you need to raise now.<\/p>\n<\/p>\n<p>With VC Boom, you&#8217;ll be live in minutes, approving every send, and what you raise is yours.<\/p>\n<\/p>\n<p>We even bundle $1.8M+ in startup perks to help your round go further.<\/p>\n<\/p>\n<p>It&#8217;s free to score your deck and see your first 100 matches. No credit card needed.<\/p>\n<\/p>\n<p><strong>Why am I building this?<\/strong><\/p>\n<\/p>\n<p>I&#8217;m a LinkedIn Top Voice and write the largest climate tech newsletter on Substack, read by 18k founders. Over the last year, I&#8217;ve sold them $75k worth of investor lists. They all want shortcuts.<\/p>\n<p>Most ended up either spamming hundreds of the wrong investors or freezing in analysis paralysis, sitting on thousands of contacts with no idea what to do with them. That is when I knew something was badly broken. <\/p>\n<\/p>\n<p>VC Boom is the <strong>intelligence layer that fixes it<\/strong>. Ensures your deck is ready. Matches you with the right investors. Unlocks the contacts and gives you the touch of authenticity that locks in the meeting.<\/p>\n<p>VCs and angels are crazy about AI products these days. But it&#8217;s crowded. You need to stand out.<\/p>\n<\/p>\n<p>I&#8217;d love your feedback, especially from anyone raising right now.<\/p>\n<\/p>\n<p>What app or product are you raising for? I&#8217;ll be in the comments all day. I&#8217;ll give you pointers and might open up my direct network. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>17<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/a>&nbsp;Love the focus on fixing the biggest bottleneck instead of overwhelming founders with endless advice. Matching with investors and generating personalized outreach from your own inbox is a nice touch. Curious, what have you found is the most common issue holding pitch decks back?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/a>&nbsp;Love this intro<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/a>&nbsp;Congrats on the launch! While I&#8217;m personally not in the VC space at all, very cool to see this exists and something I can share with some of my Clients who are. You saw the problem and created a solution for it &#8211; that&#8217;s true entrepreneurial spirit!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Next Tuesday is <\/strong><a href=\"https:\/\/www.ycombinator.com\/demoday\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>YC Demo Day<\/strong><\/a><strong> \u2014 just four days after SpaceX will have IPO&#8217;d.<\/strong> <\/p>\n<\/p>\n<p>There&#8217;s about to be a lot of liquidity sloshing around&#8230; and <a href=\"https:\/\/www.producthunt.com\/@yoann_berno3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/a>&#8216;s <strong>VC Boom<\/strong> is a perfectly timed resource to help you turn whatever deck you&#8217;re pitching now into something much crisper.<\/p>\n<\/p>\n<p><strong>The process is simple:<\/strong> upload your deck and get scored. You&#8217;ll be given actionable steps to fix what you&#8217;re missing.<\/p>\n<\/p>\n<p>You&#8217;ll then attach this deck to the draft emails <strong>VC Boom<\/strong> writes for you so your pitch is tight when you contact the qualified investors <strong>VC Boom<\/strong> recommends (from Yoann&#8217;s own network of 45K+ investors!).<\/p>\n<\/p>\n<p>\ud83d\udca5<strong> Boom! Instant termsheet! <\/strong>\ud83d\udca5<\/p>\n<\/p>\n<p><em>Ok ok<\/em>, maybe not <em>quite<\/em> like that&#8230; but in this market? Who knows!<\/p>\n<\/p>\n<p>The timing really is critical here. <strong>Even with IPOs hitting the retail segment, there are really only ~22 days left before VCs disappear for summer<\/strong>. If you&#8217;re building at the frontiers of AI and were thinking about raising in a month \u2014 you could be too late!<\/p>\n<\/p>\n<p>Which is why Yoann built this. He isn\u2019t <em>parachuting<\/em> into fundraising software. He\u2019s been a VC for 8 years, seen thousands of decks, and has founders paying for his investor lists. <strong>VC Boom<\/strong> turns that expertise into a product you can use today.<\/p>\n<\/p>\n<p>If you\u2019re sitting on a deck and telling yourself you\u2019ll \u201cstart outreach soon\u201d\u2026 yeah. Consider this your sign. \ud83e\udde8<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>16<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a>&nbsp;Chris, thank you for the hunt, and honestly for framing the why-now sharper than I did in my own post. \ud83d\ude4f<\/p>\n<p>The &#8220;instant termsheet&#8221; line got a laugh out of me, and you&#8217;re right to caveat it. VC Boom won&#8217;t conjure a term sheet from thin air. What it does is make sure that when you&#8217;re finally in front of the right partner, your deck isn&#8217;t the reason they pass and your email isn&#8217;t the reason they ghost.<\/p>\n<p>And the squeeze is real: SpaceX, YC Demo Day, and the summer cutoff all landing in the same few weeks. Founders who tighten the deck and start outreach this week are the ones who catch the window. The rest will be emailing into a void come July.<\/p>\n<p>So to anyone reading who&#8217;s sitting on a deck telling themselves &#8220;soon&#8221;: Chris is right. This is your sign. Score it, see your matches, get in those inboxes. \ud83d\udca5<\/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\/@yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a>&nbsp;Love the urgency  in this launch too many founders spend months perfecting outreach instead of actually talking to investors. Congrats on the launch!<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would be great to add a feature that tracks investor conversations and follow-ups. Managing the pipeline after outreach is another big part of fundraising. <\/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\/@ben_d3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_d3<\/a>&nbsp;Thanks Ben. You can actually do that in Outreach. It acts as a CRM, tracks your sent emails, reply rate. If you connect your Gmail account, it does it automatically for you. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/575052f2-0ea0-457b-8abc-4c6f8165d052.jpeg?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ben_d3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_d3<\/a>&nbsp;Great suggestion, Ben. You\u2019re right, getting the first meeting is only one part of fundraising. Tracking conversations and follow-ups could make the whole investor journey much easier to manage. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! I wish I had this when I was raising funds.<\/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\/@mattaussaguel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mattaussaguel<\/a>&nbsp;Thanks Matt. And congrats on success of SheCodes! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Don\u2019t different VCs evaluate investment opportunities differently?<\/div>\n<div class=\"comment-actions\">\n<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\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;Sure. There are def general trendlines though. VCs will always put extra emphasis on team, narrative\/vision, product market fit, traction. <br \/>Those are the dimensions we evaluate and score. <\/p>\n<p>That way you know in 90sec what needs to be polished before you outreach them and burn bridges. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 looks really useful for founders who are navigating fundraising for the first time. Finding the right investors and crafting outreach can be a huge challenge on its own.<\/p>\n<\/p>\n<p>I like that you&#8217;re bringing your VC experience into a tool that helps founders move faster and with more confidence.<\/p>\n<p>The deck scoring and investor matching features sound especially helpful. Looking forward to seeing how VC Boom grows. Wishing you a successful launch! \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@gabriella_anjani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gabriella_anjani<\/a>&nbsp;Thank you \ud83d\ude4f  I built VC Boom because I see founders not knowing how to access investors, or literally spamming hundreds without finding the best way to approach them.<\/p>\n<p>Neither works. One leaves you stuck, the other burns the relationship before it even starts.<\/p>\n<p>So the whole point was to fix both ends: get you to the investors who actually fit, and help you reach out in a way that earns a reply instead of a delete. If you&#8217;re raising, run your deck through the free score sometime. Thanks again for the kind words. \ud83d\udca5<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Just tried this out. Honestly, it&#8217;s a lifesaver. Scored my messy deck in 90 secs and gave me a list of investors that actually make sense. No more guessing if they care about my sector. Definitely keeping this open while I fundraise.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 such a super helpful tool, especially since I&#8217;m trying to close a pre-seed round. Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nox_v\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nox_v<\/a>&nbsp;Yes perfect for pre-seed. What&#8217;s your company about? Happy to provide some pointers. <br \/>You should also definitely score your deck to figure out whether it&#8217;s ready for investor outreach<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I am raising for the first time, and I find the feedback and directory extremely helpful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thedatadavis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thedatadavis<\/a>&nbsp;Thanks Chris, glad it&#8217;s helpful. What&#8217;s your company about? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cool idea! How about privacy? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@liam007\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@liam007<\/a>&nbsp;we don\u2019t save any deck, super strict about privacy.<\/p>\n<p>It doesn\u2019t train our model, and there\u2019s segmentation between all users.<\/p>\n<p>Your data always remain your data <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is very cool&#8211; how does this adjust based on your stage of business? i.e. pre-revenue\/pre-PMF, vs revenue generating vs rapidly scaling? The description was unclear to me what type of company would benefit the most from using this. Thanks <a href=\"https:\/\/www.producthunt.com\/@yoann_berno3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@antifreeze\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antifreeze<\/a>&nbsp;Great question, and fair point, that one\u2019s on me. The description doesn\u2019t make this clear enough.<\/p>\n<\/p>\n<p>Sweet spot is pre-seed through Series A. That\u2019s who it\u2019s built for and where it works best.<\/p>\n<p>It adjusts in two ways. The matching filters to investors who actually write checks at your stage and size, so if you\u2019re pre-revenue you get angels and pre-seed funds, not growth VCs who wouldn\u2019t look at you yet. And the scoring weighs things by stage: pre-PMF it leans on team, market, and how clearly you frame the problem, since there\u2019s no traction to judge yet. Once you\u2019ve got revenue, your metrics carry a lot more weight.<\/p>\n<\/p>\n<p>Where it\u2019s less useful: pure idea stage with no deck yet (nothing to score), or Series B and up, where raises run more on relationships and warm intros than cold outreach to a fresh list.<\/p>\n<\/p>\n<p>So who benefits most, honestly: a founder actively raising pre-seed to Series A who doesn\u2019t already have a warm investor network to lean on. If VCs are already chasing your round, you don\u2019t need me. If you\u2019re staring at a blank list, that\u2019s exactly who this is for.<\/p>\n<\/p>\n<p>Thanks for the sharp question \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>Congrats on the launch. We&#8217;re preparing for our first raise after summer, so I&#8217;d love to check this out! I&#8217;ve had advice from several investors, advisors, experiences founders, and the advice is always so varied.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@you_x_you_i\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@you_x_you_i<\/a>&nbsp;Hey Emma, best is to upload your deck to get reality check. It will tell you immediatley whether you&#8217;re raise ready. <br \/>How much are you raising? and what geography?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\/@yoann_berno3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/a>! Does the product actually serve up completed corrections after scoring the deck, or does it identify deficiencies and provide more generalized suggestions that you as a founder then need to correct?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@millwiller\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@millwiller<\/a>&nbsp;hey Will, it points you the areas that need improvements and make suggestions. It doesn&#8217;t redo your entire slides though. <br \/>you can then do modifications yourself and then reupload to have rescore. You can do that as many times as you want<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The 90-second deck score is a clever wedge \u2014 most founders never learn why they got passed on, and a single &#8220;fastest fix&#8221; beats a 20-point rubric. How are you sourcing the investor-fit matching under the hood?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@oleksii_sekundant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oleksii_sekundant<\/a>&nbsp;Hey Oleksii. I&#8217;ve worked in VC for 8 years. I&#8217;ve met hundreds of investors in my time, and I&#8217;ve helped hundreds of founders fundraise.<br \/>I&#8217;ve also been aggregating angels\/family offices and VCs lists every time I get invited to an investor event, conference, whatsapp group, or private mailing list.<\/p>\n<\/p>\n<p>The data is my secret sauce, and it&#8217;s the hardest part to come by. It needs to be up to date, accurate, and continually refreshed as people move on from organizations.   <\/p>\n<\/p>\n<p>The matching boils down to 7 criteria, with different weights, which I&#8217;ve personally crafted based on my investor judgment. So when you get your score and the single biggest area you need to improve, it&#8217;s like receiving a feedback straight from a no-BS VC. <br \/>Better to see it via VC Boom than hearing it in a decline email from your target investors<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Yoann, that&#8217;s so coool!! definitely passing this to my team who deal with sales pitch on a regular basis and are always worried about their deck. <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vb_30\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vb_30<\/a>&nbsp;Great to hear Vaishnavi. How much are they raising and from whom (angels, VCs?)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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!! Super cool. I will use it when time come. I am still super early MVP stage. Still figuraing out the market. So what the revenue model ? Is there any discount for early testers like us?  I was trying to visit the website, but for some reason it showed me :<\/p>\n<p><strong>This site can\u2019t be reached<\/strong><\/p>\n<p>The connection was reset.<\/p>\n<p>Try:<\/p>\n<ul>\n<li>\n<p>Checking the connection<\/p>\n<\/li>\n<li>\n<p><a>Checking the proxy and the firewall<\/a><\/p>\n<\/li>\n<\/ul>\n<p>ERR_CONNECTION_RESET<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Hey Sabber, sure there&#8217;s a 20% discount for PH users. Code in the slide \ud83d\ude09<\/p>\n<p>Which country are you visiting the website from? can you try different browser<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\ude80 Love the idea of getting actionable pitch deck feedback in under 90 seconds. Fundraising is already hard enough without spending weeks guessing what investors want to see.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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 so much \ud83d\ude4f<\/p>\n<p>And yeah, exactly. The guessing is the worst part. You rewrite the same slide five times with no idea if it&#8217;s even the right fix. The whole point of the 90-second score is to take that guesswork off the table so you can just get on with the raise. \ud83d\udca5<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 <a href=\"https:\/\/www.producthunt.com\/@yoann_berno3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@maali_baali\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maali_baali<\/a>&nbsp;Thanks a lot for the support. Looking forward to your product feedback. You&#8217;re raising funds right now? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great concept, but how do you see its helping early stage founders connect with the <em>right<\/em> investors fast? <\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@yoann_berno3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yoann_berno3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoann_berno3<\/a> congrats on the successful launch. Also are you planning features that let founders track investor interest over time or is it more discovery focused?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;Thanks, appreciate it \ud83d\ude4f Speed is the whole point. Upload your deck, and a couple minutes later you&#8217;ve got 100 investors who actually fit, each with a reason why, plus a cold email drafted in your voice. No week-long list building. You can start reaching out the same day. Some investors book meetings within 48h <\/p>\n<p>On tracking: right now it&#8217;s discovery and outreach focused. But pipeline tracking keeps coming up, so it&#8217;s on my mind. What would you want it to do?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the idea, but I was wondering if is it only targeting US builders or will it also be valuable for people who are building a startup outside the US (Ex: in Europe)?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mike_milord\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mike_milord<\/a>&nbsp;Honest answer is yes, it absolutely works outside the US. Europe is very much on our radar, not an afterthought.<\/p>\n<\/p>\n<p>The matching pulls from 47k+ investor profiles that include European and global funds, not just US ones, so you get surfaced people who actually deploy in your region and at your stage.<\/p>\n<\/p>\n<p>Best way to know for sure: run your deck through the free score and look at the matches it gives you. If you tell me roughly where you&#8217;re based and what you&#8217;re building, I&#8217;m happy to eyeball whether the coverage is strong for your space. <\/p>\n<p>This map shows Today&#8217;s users. All over the world. In Purple are paid users from last hour \ud83d\udca5<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3c19deb9-6bbc-4dc9-bbc0-e835847ee7f8.jpeg?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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! Indeed, perfect timing and a well needed resource for founders.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@khashayar_mansourizadeh1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@khashayar_mansourizadeh1<\/a>&nbsp;Thanks for the support. Great timing indeed<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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<\/div>\n<div class=\"comment-actions\">\n<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_adams_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anthony_adams_<\/a>&nbsp;Thanks Anthony! Planning a fundraise 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<\/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\/PR7CMHWYTD6JXM\" class=\"app-title\">ZeroGPU<\/a><\/p>\n<div class=\"one-liner\">The compute efficient layer for AI inference<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">301<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ZeroGPU\u901a\u8fc7\u8fd0\u884c\u5728\u6df7\u5408\u8fb9\u7f18\u7f51\u7edc\u4e0a\u7684\u4e13\u7528\u5c0f\u8bed\u8a00\u6a21\u578b\uff0c\u66ff\u4ee3\u6602\u8d35\u7684\u5927\u6a21\u578b\u5904\u740670-80%\u7684\u9ad8\u91cd\u590d\u6027AI\u63a8\u7406\u4efb\u52a1\uff08\u5982\u5206\u7c7b\u3001\u5ba1\u6838\u3001\u6458\u8981\uff09\uff0c\u5b9e\u73b010\u500d\u66f4\u5feb\u300150%\u66f4\u4f4e\u7684\u6210\u672c\u548c\u8fb9\u7f18\u7ea7\u5ef6\u8fdf\uff0c\u65e0\u9700\u989d\u5916GPU\u8d44\u6e90\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\/e9113c78-300d-4283-84f7-bb7d145dba2a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0a99cace-88c8-4791-8154-4c2458f15583.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3746fb3d-3504-43c0-a204-324a965f7033.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3e607d87-dc0e-42f5-8b5d-a1eac3310e03.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b1f545aa-7ed6-4b59-b2f8-d5e57319181e.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\/d25d1a86-9e91-4b80-9074-f038f785e5e2.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=YZ6-c-Zm9Tg&#038;feature=youtu.be\"><source src=\"https:\/\/www.youtube.com\/watch?v=YZ6-c-Zm9Tg&#038;feature=youtu.be\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u63a8\u7406<\/span><br \/>\n            <span class=\"tag\">\u8fb9\u7f18\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u8bed\u8a00\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u8def\u7531<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5ef6\u8fdf\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">API\u517c\u5bb9<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u8def\u7531<\/span><br \/>\n            <span class=\"tag\">Agent\u5de5\u4f5c\u6d41<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u5173\u6ce8\u8def\u7531\u51b3\u7b56\u7684\u81ea\u52a8\u5316\u548c\u964d\u7ea7\u673a\u5236\uff0c\u5c24\u5176\u662f\u5f53\u5c0f\u6a21\u578b\u5904\u7406\u4f4e\u7f6e\u4fe1\u5ea6\u6216\u590d\u6742\u8f93\u5165\u65f6\u5982\u4f55\u5904\u7406\u3002\u56e2\u961f\u56de\u5e94\u79f0\u4e0d\u81ea\u52a8\u6362\u7528\u5927\u6a21\u578b\uff0c\u800c\u662f\u8fd4\u56de\u7f6e\u4fe1\u5ea6\u5206\u6570\u7531\u7528\u6237\u51b3\u5b9a\uff0c\u5e73\u53f0\u53ea\u8d1f\u8d23\u53ef\u7528\u6027\u548c\u5ef6\u8fdf\u3002\u51b7\u542f\u52a8\u3001\u6a21\u578b\u5bf9\u5d4c\u5165\u5f0f\/\u89c6\u89c9\u4efb\u52a1\u7684\u652f\u6301\u4e5f\u88ab\u63d0\u53ca\u3002\u5ba2\u6237Dappier\u768410\u500d\u5ef6\u8fdf\u964d\u4f4e\u548c6\u500d\u6210\u672c\u8282\u7701\u6210\u4e3a\u5f3a\u6709\u529b\u80cc\u4e66\uff0c\u4f46\u591a\u6570\u8bc4\u8bba\u4ecd\u96c6\u4e2d\u4e8e\u5bf9\u6df7\u5408\u51b3\u7b56\u67b6\u6784\u7684\u5b9e\u9645\u53ef\u63a7\u6027\u9a8c\u8bc1\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                ZeroGPU\u6253\u51fa\u201c\u5f03\u7528GPU\u201d\u7684\u65d7\u5e1c\uff0c\u672c\u8d28\u4e0a\u662f\u5728AI\u57fa\u7840\u8bbe\u65bd\u9886\u57df\u5e72\u4e86\u4e00\u6b21\u975e\u5e38\u5178\u578b\u7684\u201c\u7ed3\u6784\u6027\u5957\u5229\u201d\u2014\u2014\u628a\u672c\u8be5\u5c5e\u4e8e\u751f\u6001\u4f4d\u7684\u5206\u5de5\u660e\u786e\u5316\u3001\u5de5\u5177\u5316\u3002\u5b83\u7684\u6838\u5fc3\u4e0d\u662f\u6a21\u578b\u521b\u65b0\uff0c\u800c\u662f\u67b6\u6784\u62c6\u5206\uff0c\u7b56\u7565\u4e0e2023\u5e74\u8d77\u9ec4\u4ec1\u52cb\u4e3b\u63a8\u7684\u201c\u5168\u6808GPU\u9738\u56fe\u201d\u622a\u7136\u76f8\u53cd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u4ef7\u503c\u70b9\u5728\u4e8e\uff0c\u5b83\u654f\u9510\u6355\u6349\u5230\u4e00\u4e2a\u666e\u904d\u5374\u672a\u88ab\u89c4\u6a21\u5316\u6b63\u89c6\u7684\u4e8b\u5b9e\uff1a\u751f\u4ea7\u73af\u5883\u4e2d\u7edd\u5927\u591a\u6570\u63a8\u7406\u8bf7\u6c42\uff08\u5982\u5206\u7c7b\u3001\u6807\u7b7e\u3001PII\u8bc6\u522b\u3001\u6458\u8981\uff09\u5e76\u4e0d\u9700\u8981\u5927\u6a21\u578b\u7684\u7406\u89e3\u80fd\u529b\uff0c\u800c\u662f\u9700\u8981\u7cbe\u786e\u3001\u7a33\u5b9a\u3001100\u6beb\u79d2\u7ea7\u522b\u7684\u673a\u5668\u6267\u884c\u3002ZeroGPU\u505a\u7684\u5c31\u662f\u5c06\u8fd9\u5c42\u201c\u6b7b\u4efb\u52a1\u201d\u4ece\u6602\u8d35\u7684\u663e\u5361\u96c6\u7fa4\u4e2d\u5265\u79bb\uff0c\u4e22\u5230\u5206\u5e03\u5f0f\u7684\u8fb9\u7f18CPU\u7f51\u7edc\u4e0a\uff0c\u7136\u540e\u901a\u8fc7\u7edf\u4e00\u3001\u517c\u5bb9OpenAI\u7684API\u628a\u4ea4\u4e92\u590d\u6742\u5ea6\u538b\u7f29\u5230\u6700\u4f4e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u67b6\u6784\u4e0a\u770b\uff0c\u5b83\u7684\u8bbe\u8ba1\u7406\u5ff5\u4e0e\u76ee\u524d\u7684Agent\u7f16\u6392\u6d6a\u6f6e\u9ad8\u5ea6\u5951\u5408\u3002\u5982\u679cAgent\u7b97\u529b\u8c03\u5ea6\u662f\u672a\u67653\u5e74AI\u5e94\u7528\u843d\u5730\u7684\u6838\u5fc3\u74f6\u9888\u4e4b\u4e00\uff0c\u90a3\u4e48ZeroGPU\u7684\u201c\u8def\u7531\u524d\u7f6e\u4fe1\u5ea6+\u540e\u7aef\u81ea\u52a8failover\u201d\u7b56\u7565\u662f\u76ee\u524d\u6700\u52a1\u5b9e\u7684\u9009\u62e9\u4e4b\u4e00\uff0c\u867d\u7136\u6ca1\u6709\u91c7\u7528\u5168\u81ea\u52a8\u964d\u7ea7\uff0c\u4f46\u5c06\u63a7\u5236\u6743\u4ea4\u7ed9\u5f00\u53d1\u8005\uff0c\u53cd\u800c\u66f4\u53ef\u63a7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u8be5\u6a21\u5f0f\u9762\u4e34\u7684\u957f\u671f\u6311\u6218\u4e5f\u5f88\u660e\u663e\uff1a\u4e00\u65e6\u8fb9\u7f18\u788e\u7247\u5316\u5e26\u6765\u6a21\u578b\u4e00\u81f4\u6027\u4e0b\u964d\u3001\u5ef6\u8fdf\u6ce2\u52a8\u660e\u663e\uff0c\u6216GPU\u4ef7\u683c\u51fa\u73b0\u62d0\u70b9\uff0c\u5c31\u4f1a\u5bf9\u201c\u96f6GPU\u201d\u6982\u5ff5\u4ea7\u751f\u53cd\u566c\u3002\u53e6\u5916\uff0c\u50cfOpenAI\u3001Google\u8fd9\u6837\u7684\u5de8\u5934\u5b8c\u5168\u53ef\u80fd\u5728API\u5c42\u52a0\u5165\u201c\u8f7b\u91cf\u81ea\u52a8\u964d\u7ea7\u201d\u529f\u80fd\uff0c\u628a\u8fd9\u6761\u8d5b\u9053\u5403\u6389\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u4e0d\u662f\u4e0b\u4e00\u4e2aGPU\u4e91\uff0c\u800c\u662fAI\u65f6\u4ee3\u7684\u201c\u4efb\u52a1\u5206\u6d41\u5c42\u201d\u2014\u2014\u4ef7\u503c\u6e05\u6670\uff0c\u4f46\u751f\u6001\u58c1\u5792\u4e0d\u539a\u3002\u5bf9\u4e8e\u9ad8\u8c03\u7528\u91cf\u3001\u4f4e\u63a8\u7406\u590d\u6742\u5ea6\u7684ToB\u573a\u666f\uff0c\u8fd9\u662f\u76ee\u524d\u6700\u503c\u5f97\u4e0a\u624b\u7684\u6210\u672c\u4f18\u5316\u65b9\u6848\u4e4b\u4e00\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\">ZeroGPU<\/span>\n                <\/div>\n<div class=\"comment-content\">The world can&#8217;t build compute fast enough to keep up with AI demand. So we took a different path. ZeroGPU is AI infrastructure powered by small language models running on a hybrid edge network reusing compute that already exists. Not every task needs a frontier model. Our purpose-built, edge-optimized models run 10x faster, 50% cheaper and offload 70\u201380% of production tasks to small models with frontier-level accuracy.<\/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, ZeroGPU is live today!<\/p>\n<p>ZeroGPU is the compute efficiency layer for AI: specialized small language models running across an edge-powered network, built for the high-volume work that doesn&#8217;t need a frontier model.<\/p>\n<\/p>\n<p>Our specialized classification and data extraction model benchmarks head-to-head against <a href=\"https:\/\/developers.openai.com\/api\/docs\/models\/gpt-5.4-nano\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">GPT-5.4 Nano<\/a> at:<\/p>\n<ul>\n<li>\n<p>10\u00d7 faster latency<\/p>\n<\/li>\n<li>\n<p>50%+ lower cost<\/p>\n<\/li>\n<li>\n<p>20% higher accuracy<\/p>\n<\/li>\n<li>\n<p>Up to 4\u00d7 shorter prompts, often with no system prompt at all<\/p>\n<\/li>\n<\/ul>\n<p>And it&#8217;s already in production. Our first customer, <a href=\"https:\/\/www.producthunt.com\/products\/dappier\" target=\"_blank\" rel=\"noopener\">@Dappier<\/a>, runs ZeroGPU today at 10\u00d7 lower latency and 6\u00d7 lower cost on high-volume inference.<\/p>\n<\/p>\n<p>Our thesis is simple. Frontier models are great for reasoning. ZeroGPU is built for repeatable execution: classification, moderation, summarization, routing, extraction, signal detection, and the high-volume calls that run constantly inside apps and agent loops. <\/p>\n<\/p>\n<p>In most AI apps, a large share of inference isn&#8217;t deep reasoning at all. It&#8217;s structured, repetitive work that doesn&#8217;t need the most expensive model every time. The opportunity is to move the 70\u201380% of routine inference off frontier models and onto smaller, specialized ones running on lower-cost edge compute.<\/p>\n<\/p>\n<p>This is becoming obvious at scale. Marc Benioff said Salesforce <a href=\"https:\/\/x.com\/its_maddy_a\/status\/2056464882753581319\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">will spend $300 million<\/a> on Anthropic this year, then argued that not every token needs a frontier model. <a href=\"https:\/\/x.com\/brian_armstrong\/status\/2063782620815876515\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Brian Armstrong said<\/a> <a href=\"https:\/\/www.producthunt.com\/@coinbase\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"coinbase\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@coinbase<\/a> already routes prompts to smaller models to keep costs flat as usage climbs. That routing and execution layer is exactly what we built.<\/p>\n<\/p>\n<p>Getting started is easy. Point your eligible workloads at our OpenAI-compatible API and go live. No GPUs to provision. No clusters to manage. Just faster, cheaper inference.<\/p>\n<\/p>\n<p>We&#8217;d love feedback from AI founders, developers, infra teams, and anyone building apps or agents with high-volume inference needs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@coinbase\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@coinbase<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/a>&nbsp;This looks incredibly promising for infrastructure cost control. Do you offer an automated orchestration layer that dynamically determines whether a task requires a small model or needs to be escalated to a frontier 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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p> <a href=\"https:\/\/www.producthunt.com\/@its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/a>&nbsp; Really interesting approach, most teams are focused on pushing model capabilities, while you&#8217;re optimising the inference layer where a huge amount of production traffic actually lives. The latency and cost improvements are impressive.<\/p>\n<\/p>\n<p>Curious: how does ZeroGPU handle routing and fallback when a specialized model encounters low-confidence or out-of-distribution inputs? Do you dynamically escalate to a larger model, or is confidence management handled at the application layer?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@coinbase\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@coinbase<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/a>&nbsp;The narrative around AI usually sounds like this: <em>Build bigger data centers. Buy more GPUs. Consume more power.<\/em> But the truth is, the world can\u2019t build compute fast enough to keep up. So, we decided to take a different path.<\/p>\n<p>Thanks to  <strong>ZeroGPU<\/strong> team our partners \u2014 AI infrastructure powered by small language models running on a hybrid edge network. Instead of waiting for new hardware, we are unlocking and reusing the compute that <em>already exists<\/em>.<\/p>\n<p>The reality of AI in production is simple: <strong>Not every task needs a frontier model.<\/strong> By using our purpose-built, edge-optimized models, companies can:<\/p>\n<ul>\n<li>\n<p>\u26a1 <strong>Run 10x faster<\/strong> than traditional setups.<\/p>\n<\/li>\n<li>\n<p>\ud83d\udcb0 <strong>Cut costs by 50%<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\ud83d\udcc9 <strong>Offload 70\u201380% of production tasks<\/strong> to small models\u2014all while maintaining frontier-level accuracy.<\/p>\n<\/li>\n<\/ul>\n<p>Here we don&#8217;t need a bigger footprint; we just need smarter architecture. Welcome to the future of efficient AI. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting angle. For agent workloads, the thing I\u2019d want to understand is how routing decisions are made when latency, cost, and model reliability pull in different directions.<\/p>\n<p>The hard part is usually not just cheaper inference, but making the fallback behavior predictable when a small model is not enough.<\/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\/@kevinzrzgg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevinzrzgg<\/a>&nbsp;Great question. On the infrastructure side, failover is automatic. Requests are routed based on availability, capability, and load, so if edge capacity is unavailable, traffic can move to the next tier without you having to manage it.<\/p>\n<\/p>\n<p>Model escalation is different. We don&#8217;t silently swap in a larger model because that makes costs and behavior unpredictable. Instead, our specialized models return confidence scores, and you decide the threshold for when something should be escalated to a frontier model.<\/p>\n<\/p>\n<p>So availability and latency are handled automatically by the platform, while quality and cost remain under your control. That separation is what makes the system both efficient and predictable.<\/p>\n<p>You can learn more about it here &#8211; <a href=\"https:\/\/docs.zerogpu.ai\/docs\/how-zerogpu-works\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.zerogpu.ai\/docs\/how-zerogpu-works<\/a><\/p>\n<p>Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kevinzrzgg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevinzrzgg<\/a>&nbsp;Fair points to press on. Let me take latency, cost, and reliability one at a time, because we handle each structurally rather than with per-request guessing.<\/p>\n<p>Latency comes from running our models on an edge network \u2014 inference happens closer to where the work is, not in a distant data center. Cost comes from not depending on GPUs for these workloads, so the economics are fundamentally lower, not just discounted.<\/p>\n<\/p>\n<p>We&#8217;re not trying to make a small model reliably do hard reasoning. We focus on the workloads where a specialized model is the <em>right<\/em> tool: summarization, scraping, data extraction, classification, PII detection, moderation. We&#8217;re not competing with Claude on coding or complex reasoning \u2014 we handle the work where Claude is overkill. (<a href=\"https:\/\/zerogpu.ai\/use-cases\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">use cases here<\/a>)<\/p>\n<\/p>\n<p>For agentic workloads, our plugins only take a step when it&#8217;s trivial enough for a small model to own cleanly \u2014 anything beyond that defaults straight back to your base model. The routing decision happens by task suitability up front, not as a recovery from failure.<\/p>\n<\/p>\n<p>Hope that cleared your doubts. Appreciate your support!<\/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 does the platform decide which workloads are best suited for specialized models versus when a frontier model should still be used?<\/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\/@mathew_chang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mathew_chang<\/a>&nbsp;Great question. The simplest way to think about it is that the structure of the task usually determines the model.<\/p>\n<\/p>\n<p>If it&#8217;s something repetitive with a fixed output shape, like classification, tagging, PII redaction, or field extraction, a specialized model can typically do it much faster and cheaper without sacrificing quality. If the task requires deeper reasoning, synthesis, or judgment, that&#8217;s where frontier models still make sense.<\/p>\n<\/p>\n<p>A lot of teams automate this by putting a lightweight ZeroGPU model in front of their frontier model. It handles the straightforward requests and only escalates the ones that actually need advanced reasoning.<\/p>\n<\/p>\n<p>Happy to go deeper if useful!<\/p>\n<p>You can learn more at &#8211; <a href=\"https:\/\/docs.zerogpu.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.zerogpu.ai\/<\/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\/@mathew_chang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mathew_chang<\/a>&nbsp;Great question \u2014 you can achieve that following ways using Zerogpu:<\/p>\n<p>One way is to use our MCP and Claude\/Claw plugins which help decide which small model handles a given step on the fly. Say you&#8217;re running a Claude agent to scrape and qualify potential clients \u2014 ZeroGPU handles the summarization and data extraction while Claude focuses on the higher-order judgment calls. Plugins here: <a href=\"https:\/\/docs.zerogpu.ai\/integrations\/claude-code-plugin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.zerogpu.ai\/integrations\/claude-code-plugin<\/a><\/p>\n<\/p>\n<p>For production workflows &#8211; you identify the repeatable workloads like classification, summarization, data extraction, and integrate with our open AI compatible model endpoints. <\/p>\n<\/p>\n<p>Either way, the principle is the same: frontier models for the complex reasoning, ZeroGPU for the high-volume repeatable work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the production results  with a real customer make the story stronger for me, I always like seeing actual usage examples instead of purely  benchmark-based claims.<\/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\/@shawn_idrees\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shawn_idrees<\/a>&nbsp;If you&#8217;d like to explore it before spending time on a full evaluation, the API docs are probably the best place to start: <a href=\"http:\/\/docs.zerogpu.ai\/api-reference\/responses\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">docs.zerogpu.ai\/api-reference\/responses<\/a>.<\/p>\n<\/p>\n<p>ZeroGPU is OpenAI-compatible, so the request format should feel very familiar. There&#8217;s also an interactive playground and dedicated pages for the classification and extraction models, where you can see example inputs, confidence scores, and response formats.<\/p>\n<\/p>\n<p>And of course, if you&#8217;d like a recommendation for a specific use case, feel free to share a bit about your workload. We&#8217;d be happy to point you in the right direction.<\/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 have the opportunity to work on ZeroGPU as an AI Architect\/Engineer, and what excites me the most is the vision behind it: making AI inference more accessible, scalable, and cost-efficient by leveraging distributed edge resources rather than relying solely on centralized GPU infrastructure.<\/p>\n<\/p>\n<p>From an engineering perspective, building reliable distributed LLM inference across heterogeneous devices is a fascinating challenge. It requires solving problems around orchestration, latency, fault tolerance, workload distribution, and model execution at scale while maintaining a seamless developer experience.<\/p>\n<\/p>\n<p>What impressed me throughout the journey is the team&#8217;s focus on turning a technically ambitious concept into a practical platform that developers can actually use. As AI adoption continues to grow, infrastructure efficiency becomes just as important as model quality, and I believe decentralized approaches like ZeroGPU will play an increasingly important role in the ecosystem.<\/p>\n<\/p>\n<p>Proud to be part of the team building this. Looking forward to seeing what the community creates with it \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nemanja_igic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nemanja_igic<\/a>&nbsp;Its been a ride, but this is just beginning. We are on to something big! Thank you!<\/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>Hey, I&#8217;m Nishitha, <\/p>\n<p>I am a AI engineer at ZeroGPU,<\/p>\n<p>The past few months building this have been a really rewarding stretch. Getting specialized small models to hold their own against frontier models on real production workloads took a lot of benchmarking and a lot of iteration.<\/p>\n<p>A big part of the work was making it genuinely easy to adopt an OpenAI-compatible API, so you can point your workloads at ZeroGPU and go live without changing your stack. We spent a lot of time making sure the model catalog covers the high-volume tasks that come up again and again, and that each one is fast and reliable in production.<\/p>\n<p>Seeing @Dappier run it in production at 10\u00d7 lower latency made all of it worth it.<\/p>\n<p>This community has shaped so many products I admire, so it means a lot to share ZeroGPU here. Would love to hear what you think, especially from anyone working on inference at scale.<\/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>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@nishitha_t\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nishitha_t<\/a>&nbsp;Yes rewarding and grueling. We are solving hard problems and thank you for being part of this journey.  Upward and onward from here.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>At Dappier, we&#8217;ve been using ZeroGPU in production for several weeks, specifically for a set of classification tasks. It has helped us reduce latency on these tasks vs general purpose LLMs by at least 10x. This latency reduction has helped us to reduce not only our LLM costs significantly but also associated cloud costs that are reliant on the task results. <\/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\/@peterbwf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peterbwf<\/a>&nbsp;Totally! The associated cloud costs with increased latency is often overlooked. Every frontier request that takes more than &gt;2 secs to respond is burning your lambda costs or any other provider you are using. <\/p>\n<\/p>\n<p>We did not account these cost savings in our numbers. If we do we will end up being 70% cheaper. \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been dealing with inference costs creeping up on us for months. We route classification and extraction at volume &#8211; things that don&#8217;t need GPT-5 level reasoning but we&#8217;ve been sending them to frontier models anyway because the setup friction for smaller models wasn&#8217;t worth it. The OpenAI-compatible API is what makes this actually actionable rather than just interesting. The Dappier numbers are hard to ignore &#8211; 6x cost reduction at that latency improvement is real signal. Adding this to the test queue this week.<\/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\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp; This is exactly the kind of workload ZeroGPU was built for.<\/p>\n<\/p>\n<p>The integration is pretty simple: point your existing OpenAI client at the ZeroGPU base URL, swap the model name, and your classification and extraction calls keep working.<\/p>\n<\/p>\n<p>One tip if you&#8217;re processing at scale: use the Batch API instead of looping the sync endpoint. It handles up to 50k requests per job, avoids per-request rate limits, and is where the biggest cost savings usually show up: <a href=\"https:\/\/docs.zerogpu.ai\/docs\/batch\/index\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.zerogpu.ai\/docs\/batch\/index<\/a><\/p>\n<\/p>\n<p>Would love to hear what the numbers look like on your traffic! \ud83d\ude80<\/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>Congrats on the launch! \ud83d\ude80 The idea of moving repetitive AI workloads away from expensive frontier models makes a lot of sense. <\/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\/@alina_tyslenok_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alina_tyslenok_<\/a>&nbsp;Thank you! That&#8217;s exactly the idea. Frontier models are incredible, but a lot of AI volume is repetitive work that can be handled much faster and cheaper with specialized models.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Interesting! This would actually save a lot of companies struggling to find some runway right now. Do you guys have your own GPUs?<\/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\/@praneethpike\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@praneethpike<\/a>&nbsp;We actually don&#8217;t need any GPUs. Our models are optimized  and trained to run on CPUs. We also support models from hugging face that are optimized for edge and fine tune them to different domains and use cases. <\/p>\n<\/p>\n<p>So yes we are faster and cheaper. I see a lot of startups struggling to maintain AI features because of the token bill, this is especially true in developing countries where these costs cannot be passed down to the users. <\/p>\n<\/p>\n<p>We are here to make AI more accessible &#8211; <a href=\"https:\/\/x.com\/brian_armstrong\/status\/2063782620815876515\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">this tweet <\/a>by Brian Armstrong from <a href=\"https:\/\/www.producthunt.com\/products\/coinbase\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"coinbase\" target=\"_blank\" rel=\"noopener\">@Coinbase<\/a> sums up really well. <\/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>Hey PH fam \ud83d\udc4b<\/p>\n<\/p>\n<p>Excited to bring ZeroGPU to the global tech and startup community today!<\/p>\n<\/p>\n<p><strong>Here&#8217;s something every AI builder knows but rarely talks about openly:<\/strong><\/p>\n<p>You&#8217;re probably overpaying for AI inference. A lot.<\/p>\n<\/p>\n<p>Most apps route everything through frontier models like GPT-4 or Claude. Classification. Moderation. PII detection. Document parsing. Tasks that run thousands of times a day inside your app or agent loop.<\/p>\n<\/p>\n<p><strong>That&#8217;s like hiring a rocket scientist to sort your mail. Every. Single. Day.<\/strong><\/p>\n<p>And then paying them. Every. Single. Time.<\/p>\n<\/p>\n<p>At scale? That&#8217;s not a cost problem. That&#8217;s a business model problem.<\/p>\n<\/p>\n<p>ZeroGPU fixes this by routing your high-volume, repeatable tasks to specialized small and nano language models on an edge inference network. Automatically. No GPU provisioning. No cluster management.<\/p>\n<\/p>\n<p>Early customers are already seeing 10x latency improvements with significant cost savings. That&#8217;s not a rounding error.<\/p>\n<\/p>\n<p><strong>What makes this special:<\/strong><\/p>\n<ul>\n<li>\n<p>OpenAI-compatible API (drop-in, no rewrite needed)<\/p>\n<\/li>\n<li>\n<p>Purpose-built ZLMs for classification, extraction, moderation, summarization, PII detection + more<\/p>\n<\/li>\n<li>\n<p>Bring your own model and ZeroGPU handles optimization, deployment, and scaling<\/p>\n<\/li>\n<li>\n<p>Frontier models stay focused on what they&#8217;re actually good at: complex reasoning<\/p>\n<\/li>\n<\/ul>\n<p>When <a href=\"https:\/\/www.producthunt.com\/@its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/a> first pitched me the idea, I was blown away. It&#8217;s one of those concepts that sounds obvious in hindsight but nobody had actually built it cleanly for production AI workloads.<\/p>\n<\/p>\n<p>And the smartest people in tech are seeing the same shift coming. Brian Armstrong, CEO of Coinbase, is <a href=\"https:\/\/x.com\/brian_armstrong\/status\/2063782620815876515?s=20\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>predicting<\/strong><\/a> that 80% of workloads will run on 99% cheaper models within 12 to 18 months. <\/p>\n<\/p>\n<p>ZeroGPU is already building that infrastructure. Today.<\/p>\n<\/p>\n<p>Check it out and drop your questions below! \ud83d\udc47<\/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\/@its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@thisiskp_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thisiskp_<\/a>&nbsp;very exciting stuff &#8211; congrats! <\/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>Hot take &#8211; most teams won&#8217;t admit: 80% of your AI calls aren&#8217;t reasoning, they&#8217;re &#8220;classify this \/ moderate that&#8221; running a thousand times an hour. Paying frontier prices simply cant be sustainable<\/p>\n<\/p>\n<p>Point your boring workloads at this and stop bleeding. Congrats on the launch \ud83d\ude80 <a href=\"https:\/\/www.producthunt.com\/@its_maddy_a\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@akshay_arvapally\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akshay_arvapally<\/a>&nbsp;Thank you <a href=\"https:\/\/www.producthunt.com\/@akshay_arvapally\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"akshay_arvapally\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akshay_arvapally<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The pay-for-efficiency angle is refreshing when most platforms just bill raw GPU-hours. Curious how you handle cold starts on the serverless layer \u2014 that&#8217;s usually where the &#8220;compute-efficient&#8221; promise breaks for spiky workloads.<\/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\/@oleksii_sekundant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oleksii_sekundant<\/a>&nbsp;Our models are super light weight making cold starts faster &#8211; since they are also edge network the cold start is not a huge latency overhead. For high token volumes we always reserve instances and adapt fast for high spikes. <\/p>\n<\/p>\n<p>We also support batch processing which  ends up being even more cost efficient. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 name is &#8216;ZeroGPU&#8217; but you mention cloud fallback \u2014 so there are still GPUs somewhere. Is the name aspirational, or is there genuinely no GPU in the path for most calls? Curious what the architecture actually looks like.<\/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\/@sneha_reddy12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sneha_reddy12<\/a>&nbsp;Fair catch on the name. It&#8217;s not aspirational we optimized our models to run on CPUs and edge devices, so there&#8217;s no GPU provisioning and no competing for scarce datacenter GPUs. Our models can run anywhere.<\/p>\n<\/p>\n<p>When we mention cloud fallback, it&#8217;s about consistently delivering on our response-time promise and because our models also run on-prem and within VPC as well, it&#8217;s how we support enterprise deployments.<\/p>\n<\/p>\n<p>But no GPUs were harmed in making ZeroGPU.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">This is a mine gold! What support is there for embedded vision models, or tiny tasks like RAGs embedding?<\/div>\n<div class=\"comment-actions\">\n<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\">@cesare_mercurio we are currently focused on text models and adding embedding models is on our roadmap. <\/p>\n<p>We will be deploying audio models before we work on vision based models. <\/p>\n<p>Thank you for your support.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Strong thesis, and it matches what I hit building in the wild. Most of my pipeline was never reasoning, it was &#8220;classify this comment into one of 7 stances&#8221; running hundreds of times per video. I prototyped it on an LLM (slow, per-call cost, single point of failure), then distilled it into a fine-tuned multilingual model exported to ONNX &#8211; cheap CPU box, deterministic, no API bill. Shipped it as PJQ (pjq.life). So your &#8220;80% of inference is routine, not reasoning&#8221; point isn&#8217;t a forecast for me, it&#8217;s already in prod. Curious where you draw the line between hosting a small model for the user vs someone bringing a task-specific fine-tune like mine &#8211; is the catalog fixed, or is BYO-model first-class?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@maksim_ovsienko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maksim_ovsienko<\/a>&nbsp;We do support BYO-model for high-volume customers. In those cases, we can help fine-tune, evaluate, deploy, and scale task-specific models. It is not part of our self-serve flow yet, but making that full loop self-serve is one of the top items on our roadmap.<\/p>\n<\/p>\n<p>We\u2019re a small team moving fast, so we\u2019re being intentional about not biting off more than we can chew. But the direction is clear: for companies running serious production volume, this often becomes a build-vs-buy question across fine-tuning, deployment, scaling, observability, and cost optimization. Our goal is to make that entire path much easier in one place.<\/p>\n<\/p>\n<p>Appreciate you sharing PJQ, that\u2019s a great real-world example of why this layer needs to exist.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@maksim_ovsienko will keep you posted. Thanks<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 feel like  a lot of AI apps are probably overusing expensive models by default. Did anything in your benchmark results surprise you?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gizem_ozturk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gizem_ozturk<\/a>&nbsp;Yes our models outperform frontier nano models in repeated workflows. For example our client <a href=\"https:\/\/www.producthunt.com\/products\/dappier\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"dappier\" target=\"_blank\" rel=\"noopener\">@Dappier<\/a> has seen 10x faster responses and 50% cost reduction with GPT-5.4 nano level intelligence. Our models also hallucinate less as they are specialized and are trained to do one task but do it perfectly. <\/p>\n<p>Thank you for your support!<\/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\">Running specialized SLMs on the edge is a smart approach. The 10x speed boost is huge for keeping latency down. Quick question on the infrastructure side, how do you guys keep uptime and latency stable if you&#8217;re pulling from a hybrid network of shared compute?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/F4SMKPSTSJHNN4\" class=\"app-title\">prostir zvuku<\/a><\/p>\n<div class=\"one-liner\">A spatial nature sound mixer for Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">232<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>prostir zvuku \u662f\u4e00\u6b3e Mac \u4e0a\u7684\u7a7a\u95f4\u81ea\u7136\u97f3\u6df7\u97f3\u5668\uff0c\u901a\u8fc7\u8ba9\u7528\u6237\u50cf\u6446\u653e\u5bb6\u5177\u4e00\u6837\u5728\u865a\u62df\u753b\u5e03\u4e0a\u5b9a\u4f4d\u96e8\u3001\u706b\u3001\u6d77\u3001\u98ce\u7b49\u81ea\u7136\u58f0\u6e90\uff0c\u5229\u7528\u7a7a\u95f4\u97f3\u9891\u6280\u672f\u6784\u5efa\u4e00\u4e2a\u6c89\u6d78\u5f0f\u7684\u201c\u9759\u97f3\u623f\u95f4\u201d\uff0c\u89e3\u51b3\u4f20\u7edf\u767d\u566a\u97f3\u5e94\u7528\u5faa\u73af\u611f\u5f3a\u3001\u7f3a\u4e4f\u6c89\u6d78\u611f\u7684\u95ee\u9898\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u5de5\u4f5c\u3001\u4f11\u606f\u6216\u7761\u7720\u65f6\u5b9e\u73b0\u6df1\u5ea6\u4e13\u6ce8\u4e0e\u653e\u677e\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\/f53dc57e-0d5e-4dc7-a5c9-b2b2b6c5fd45.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/03a8bdbb-451a-4603-8ccf-13d944b22b6f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f3d08f99-eb3e-47bf-ad37-0c9176e1ef8f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0e112932-27bb-4164-a0dd-f95d10305b9b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6c2b1992-4de7-449e-abfe-9b37e618c06c.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\/91583d1e-bbf5-4ccc-9870-f26b6bc82572.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/DIGWnBPCkyk\"><source src=\"https:\/\/youtu.be\/DIGWnBPCkyk\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Nature<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7a7a\u95f4\u97f3\u9891<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u58f0\u97f3\u6df7\u97f3\u5668<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u4e13\u6ce8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u653e\u677e\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u7761\u7720\u767d\u566a\u97f3<\/span><br \/>\n            <span class=\"tag\">\u6c89\u6d78\u5f0f\u97f3\u9891<\/span><br \/>\n            <span class=\"tag\">\u5934\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u73af\u5883\u97f3<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u6781\u7b80<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u7a7a\u95f4\u97f3\u9891\u7684\u6c89\u6d78\u611f\u548c\u7ec6\u8282\u8bbe\u8ba1\uff0c\u5c24\u5176\u5bf9AirPods\u5934\u8ffd\u8e2a\u529f\u80fd\u53cd\u9988\u79ef\u6781\u3002\u6838\u5fc3\u9700\u6c42\u96c6\u4e2d\u5728iOS\/iPad\u7248\u672c\u652f\u6301\uff08\u63d0\u51fa\u4e24\u6b21\uff09\uff1b\u4e00\u4f4d\u7528\u6237\u6307\u51fa\u201c\u7528Touch ID\u4ed8\u8d39\u201d\u65f6\u6309\u94ae\u6d88\u5931\uff0c\u5f00\u53d1\u8005\u63a8\u6d4b\u4e3a\u82f9\u679c\u4fa7bug\u5e76\u5efa\u8bae\u91cd\u88c5\u3002\u53e6\u6709\u4e00\u4f4d\u7528\u6237\u8be2\u95eeUbisoft\u97f3\u9891\u80cc\u666f\u662f\u5426\u5f71\u54cd\u4ea7\u54c1\u8bbe\u8ba1\uff0c\u5f00\u53d1\u8005\u6f84\u6e05\u5176UX\u80cc\u666f\u4e0e\u97f3\u9891\u65e0\u5173\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                prostir zvuku \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u53bb\u8ddf\u201c\u767d\u566a\u97f3\u64ad\u653e\u5668\u201d\u4eec\u5377\u97f3\u6e90\u5e93\u7684\u5927\u5c0f\uff0c\u800c\u662f\u7528\u4e00\u4e2a\u201c\u7a7a\u95f4\u753b\u5e03\u201d\u91cd\u65b0\u5b9a\u4e49\u4e86\u4ea4\u4e92\u903b\u8f91\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u964d\u7ef4\u6253\u51fb\uff1a\u5f53\u5927\u591a\u6570\u7ade\u54c1\u8fd8\u5728\u6bd4\u62fc\u201c\u6709\u591a\u5c11\u79cd\u96e8\u58f0\u201d\u65f6\uff0cprostir zvuku \u76f4\u63a5\u8df3\u5230\u4e86\u201c\u96e8\u58f0\u5e94\u8be5\u653e\u5728\u4f60\u5de6\u8fb9\u8fd8\u662f\u53f3\u8fb9\u201d\u3002\u8fd9\u79cd\u4ece\u201c\u64ad\u653e\u201d\u5230\u201c\u5e03\u7f6e\u201d\u7684\u8ba4\u77e5\u8f6c\u53d8\uff0c\u6b63\u662f\u5b83\u83b7\u5f97232\u7968\u7684\u6838\u5fc3\u9a71\u52a8\u529b\uff0c\u4e5f\u662f\u5b83\u6562\u5728Mac\u4e0a\u9996\u53d1\u800c\u975e\u5148\u505a\u79fb\u52a8\u7aef\u7684\u5e95\u6c14\u2014\u2014Mac\u7528\u6237\u5bf9\u201c\u5de5\u4f5c\u6d41\u7a7a\u95f4\u201d\u7684\u638c\u63a7\u6b32\u8fdc\u5f3a\u4e8e\u624b\u673a\u7528\u6237\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u5f88\u6d45\u3002\u7a7a\u95f4\u97f3\u9891\u7684\u7075\u611f\u5e76\u975e\u72ec\u521b\uff0cApple \u7684 Spatial Audio SDK \u548c\u5927\u91cf\u7b2c\u4e09\u65b9\u5e93\u65e9\u5df2\u964d\u4f4e\u4e86\u6280\u672f\u95e8\u69db\u3002\u4e00\u65e6\u5927\u5382\uff08\u5982Endel\u3001\u6f6e\u6c50\uff09\u6216\u5934\u90e8\u767d\u566a\u97f3\u5e94\u7528\u8ddf\u8fdb\u540c\u6837\u7684\u201c\u753b\u5e03+\u5934\u8ffd\u8e2a\u201d\u6a21\u5f0f\uff0cprostir zvuku \u7684\u5dee\u5f02\u5316\u4f18\u52bf\u5c06\u77ac\u95f4\u6d88\u5931\u3002\u5f53\u524d\u8bc4\u8bba\u4e2d\u201c\u671f\u5f85iOS\u7248\u201d\u7684\u547c\u58f0\u65e2\u662f\u673a\u4f1a\u4e5f\u662f\u6b7b\u795e\u4e4b\u949f\u2014\u2014\u610f\u5473\u7740\u7528\u6237\u9ed8\u8ba4\u8be5\u573a\u666f\u66f4\u9002\u5408\u79fb\u52a8\u7aef\uff0c\u800cMac\u7684\u201c\u4e13\u6ce8\u5de5\u5177\u201d\u5b9a\u4f4d\u82e5\u4e0d\u80fd\u5feb\u901f\u8f6c\u5316\u51fa\u66f4\u5f3a\u7684\u7c98\u6027\uff08\u5982\u6df1\u5ea6\u96c6\u6210\u65e5\u5386\u3001\u756a\u8304\u949f\u3001\u6216\u5f00\u653e\u58f0\u97f3\u7d20\u6750\u81ea\u5b9a\u4e49\uff09\uff0c\u5f88\u53ef\u80fd\u5728\u8de8\u5e73\u53f0\u65f6\u6ca6\u4e3a\u529f\u80fd\u6f14\u793a\u7ea7\u4ea7\u54c1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u201c\u5fae\u4ea4\u4e92\u7684\u514b\u5236\u201d\u3002\u4ece\u56de\u590d\u4e2d\u80fd\u770b\u5230\u5f00\u53d1\u8005\u5bf9\u201c\u5faa\u73af\u75b2\u52b3\u201d\u7684\u6d1e\u5bdf\uff0c\u4ee5\u53ca\u5bf9\u201c\u4e0d\u6253\u6270\u201d\u7684\u6781\u81f4\u8ffd\u6c42\u3002\u4f46\u8fd9\u79cd\u8bbe\u8ba1\u54f2\u5b66\u7f3a\u4e4f\u6570\u636e\u652f\u6491\uff1a\u7528\u6237\u5e73\u5747\u4f7f\u7528\u65f6\u957f\uff1f\u662f\u5426\u51cf\u5c11\u4e86\u5206\u5fc3\u6b21\u6570\uff1f\u5934\u90e8\u8ffd\u8e2a\u8017\u7535\u5bf9\u7eed\u822a\u7684\u5f71\u54cd\uff1f\u5982\u679c\u65e0\u6cd5\u8bc1\u660e\u201c\u7a7a\u95f4\u5b9a\u4f4d\u6bd4\u5355\u7eaf\u7684\u7acb\u4f53\u58f0\u6df7\u54cd\u201d\u5bf9\u524d\u989d\u53f6\u76ae\u5c42\u6709\u53ef\u91cf\u5316\u7684\u964d\u566a\u6548\u679c\uff0c\u8fd9\u6700\u7ec8\u53ea\u4f1a\u662f\u4e00\u4e2a\u201c\u5f88\u9177\u7684\u73a9\u5177\u201d\uff0c\u800c\u975e\u4e0d\u53ef\u6216\u7f3a\u7684\u6548\u7387\u5de5\u5177\u3002\u5efa\u8bae\u56e2\u961f\u7acb\u5373\u542f\u52a8\u4e00\u987915\u4eba\u5c0f\u8303\u56f4\u7684A\/B\u9ed1\u76d2\u6d4b\u8bd5\uff0c\u5bf9\u6bd4\u7a7a\u95f4\u6a21\u5f0f\u4e0e\u4f20\u7edf\u6a21\u5f0f\u4e0b\u7684\u6253\u5b57\u4ea7\u51fa\u91cf\u2014\u2014\u7528\u6570\u636e\u5835\u4f4f\u6000\u7591\u8005\u7684\u5634\uff0c\u8fdc\u6bd4\u5728PH\u4e0a\u56de\u590d\u611f\u8c22\u66f4\u6709\u4ef7\u503c\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\">prostir zvuku<\/span>\n                <\/div>\n<div class=\"comment-content\">Build a quiet room around you for focus, rest, and sleep. Mix rain, fire, ocean, wind, birds, and streams on a canvas, place each sound where it belongs, and return to the same space whenever you need it.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH! Excited to finally share prostir zvuku today\ud83d\ude0c<\/p>\n<\/p>\n<p>I made it because I wanted a nature sound app for Mac that feels more immersive and intentional than just pressing play on a loop. I kept wishing I could actually shape the space around me &#8211; place sounds where they belong, keep the mix minimal, and return to it when I need to focus or slow down.<\/p>\n<\/p>\n<p>That became prostir zvuku: a spatial nature sound mixer for Mac where you can build your own quiet room with rain, fire, ocean, wind, birds, and streams.<\/p>\n<\/p>\n<p>A lot of the work went into the small details: making it feel calm, native, and pleasant to come back to every day.<\/p>\n<\/p>\n<p>Would love to know: what do you usually use background sound for most &#8211; focus, rest, or sleep?<\/p>\n<\/p>\n<p>Happy to answer any questions and would really appreciate your feedback\ud83d\udcaa<\/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\">Great app, and congratulations on the launch! \ud83c\udf89<br \/>\nAre you planning to release it for iOS as well?<\/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\/@dmitriychuta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmitriychuta<\/a>&nbsp;Thanks for your support! Yes, there will be an iOS version, and even an iPad version is planned.<\/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>Spatial nature scenes are a refreshing take on ambient audio. The Mac-first experience looks polished and intentional.<\/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\/@farrukh_butt1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farrukh_butt1<\/a>&nbsp;Thank you! It&#8217;s true, I wanted to create a unique and interesting new experience. Because most apps look pretty similar.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 release. Unfortunately I was quite late to the beta, but have used Prostir Zvuku for around a week as a background music replacement while I am browsing and doing little bits of work. I even had it playing last night in the background while watching the WWDC26 Keynote. The design of the app is amazing, and the head tracking spatial sound while using AirPods is fantastic \ud83d\udc4f\ud83c\udffb\ud83d\udc4f\ud83c\udffb\ud83d\udc4f\ud83c\udffb. Now that the app is out and I have purchased the Pro upgrade, Prostir Zvruku will be part of my daily routine. Looking forward to an iOS version some time in the future too \ud83d\ude09.<\/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\/@craigcpaterson\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@craigcpaterson<\/a>&nbsp;Craig, thank you so much! I really appreciate your support!<\/p>\n<\/p>\n<p>You&#8217;re one of our earliest users, and that&#8217;s incredibly inspiring for any indie developer!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cool! Looking forward to trying out with AirPods<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@richie_giordano\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@richie_giordano<\/a>&nbsp;Thank you! It&#8217;s worth 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>This is amazing! This is exactly what I need, because music seems to be distracting during proactive thinking process at work. As a cherry on top, it was a big surprise and a pleasure to see familiar words in the product name. Insta buy to support domestic developer! Congratulations with the product 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\/@rkuhcvark\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rkuhcvark<\/a>&nbsp;Thank you so much! I really like the name myself.<\/p>\n<\/p>\n<p>Of course, I&#8217;m a little concerned that it might be difficult for some users to pronounce, but that&#8217;s something I&#8217;ll figure out later.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Focus for me &#8211; I work with a lot of long-context coding sessions and the loop background noise apps offer is too obvious after 20 mins. Spatial placement is the missing piece I didn&#8217;t know I wanted: my brain stops scanning for the loop point and the sound becomes ambient instead of a track. Beautifully done. Following.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a>&nbsp;Oh my God, thank you so much! This is exactly the kind of experience I had in mind when I created this app.<\/p>\n<\/p>\n<p>It means a lot to hear that it helped. I&#8217;m really happy that I was able to share my experience and make a positive impact!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 tried a lot of ambient apps, but the spatial placement idea is genuinely different. Looking forward to trying this during work sessions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@varun1jan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@varun1jan<\/a>&nbsp;Thank you!<\/p>\n<\/p>\n<p>I use it for much more than just work. It&#8217;s become part of my daily routine \u2013 whether I&#8217;m doing household chores, relaxing, or even reading a book while listening to nature sounds \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>A spatial nature sound mixer scratches an itch white-noise apps never quite hit \u2014 where each layer sits matters more than people realize for focus. Did the ex-Ubisoft audio background shape how you approached the spatial mix?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@oleksii_sekundant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oleksii_sekundant<\/a>&nbsp;Yes, I definitely believe that sound placement has a significant impact on both perception and focus.<\/p>\n<\/p>\n<p>At Ubisoft, I worked as a UX designer, mainly focusing on accessibility features and player experience, so I wasn&#8217;t directly involved in audio design, and my experience isn&#8217;t really relevant here.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Amazing app, Yevhen! I tried to upgrade to lifetime access but unfortunately whenever I want to pay, the &#8220;pay with touch ID&#8221; section dissapears. I already restarted the app and my mac. Maybe you can help me out here. Cheers!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2fb26313-0278-4f9f-9660-ddefdc3b895b.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@adriano_villa_bascon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adriano_villa_bascon<\/a>&nbsp;Thank you so much!<\/p>\n<\/p>\n<p>This looks like an apple-side bug, I haven&#8217;t seen this happen before. I&#8217;ll take a closer look and see what I can find.<\/p>\n<\/p>\n<p>For now, please try reinstalling the app, as that might fix the issue.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>saw you on threads, came to support! great job with the app \ud83d\udc4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kay_larina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kay_larina<\/a>&nbsp;Thanks a lot!\ud83d\ude0c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\udd25 Downloaded and already testing. Super nice!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alexkhlystova\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexkhlystova<\/a>&nbsp;Thanks! Have you tried the headtracking feature?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch! \ud83c\udf89 The focus on creating a calm and intentional experience really stands out.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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 so much!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch \ud83d\udd25 <br \/>Just tried to work with rain sounds on and it felt so peaceful and focused!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@olexiy_vasylenko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@olexiy_vasylenko<\/a>&nbsp;Thank you so much for your support! Yes, it&#8217;s very relaxing, especially when I turn on the noise-cancelling headphones\ud83d\ude0c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 should require good headphones, is it? 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\/@nikitaeverywhere\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikitaeverywhere<\/a>&nbsp;Thanks! Regarding headphones, Spatial Audio works with any headphones, but the HeadTracking feature only works with AirPods models that support it, but it feels really cool!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 the idea of only placing these sounds where they belong, especially as I&#8217;m more and more multi-tasking between completely different tasks during the day, only some of which require deep focus<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;Thank you! Yes, that&#8217;s the whole point of the app. I wanted to create a tool that would make it easy to customize your personal space.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the spatial canvas idea for focus\/sleep\u2014especially placing sounds where they belong. How resource-heavy is it on Mac, and do you plan presets\/schedules (morning vs night)?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@leventbuilds\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@leventbuilds<\/a>&nbsp;Thanks for your support! I&#8217;ve tested it on many devices so far, and there hasn&#8217;t been a noticeable load during long-term use, but I&#8217;ll continue testing.<\/p>\n<\/p>\n<p>Regarding presets, they&#8217;re already available in the Pro version, you can save an unlimited number of presets. There&#8217;s no schedule yet, but that&#8217;s an interesting idea, I&#8217;ll add it to the backlog.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4VAYRZFB62SQFY\" class=\"app-title\">Krisp Voice Translation API<\/a><\/p>\n<div class=\"one-liner\">Real-time speech-to-speech translation API <\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">216<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Krisp Voice Translation API \u662f\u4e00\u6b3e\u5b9e\u65f6\u8bed\u97f3\u5230\u8bed\u97f3\u7ffb\u8bd1API\uff0c\u4e13\u4e3a\u89e3\u51b3\u5608\u6742\u3001\u53e3\u97f3\u590d\u6742\u573a\u666f\u4e0b\uff08\u5982\u533b\u7597\u3001\u91d1\u878d\u5ba2\u670d\uff09\u7684\u9ad8\u7cbe\u5ea6\u7ffb\u8bd1\u96be\u9898\u800c\u751f\uff0c\u786e\u4fdd\u5173\u952e\u4fe1\u606f\u96f6\u5dee\u9519\u4f20\u9012\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\/e3a8ae44-0dff-44e0-b4da-d22361db84dd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f4019334-c5ec-4002-9d81-5ef38ebd2ba1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/67a6e030-08ee-4eb3-86b4-ddc05e25c0f8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/86a6fd68-4d0d-4a18-8220-4c16c6b08540.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cda3c77e-17e6-4da3-b964-3be400169a14.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f2291cba-76c5-4bf1-a134-451a89eae7b9.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\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Audio<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5b9e\u65f6\u8bed\u97f3\u7ffb\u8bd1<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u8bed\u97f3API<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u7ffb\u8bd1<\/span><br \/>\n            <span class=\"tag\">\u566a\u97f3\u6291\u5236<\/span><br \/>\n            <span class=\"tag\">\u9ad8\u7cbe\u5ea6\u7ffb\u8bd1<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u5b9a\u5236\u5316\u8bcd\u5178<\/span><br \/>\n            <span class=\"tag\">\u5ef6\u8fdf\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u533b\u7597\u91d1\u878d\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u57fa\u4e8e\u771f\u5b9e\u5ba2\u670d\u573a\u666f\u768496%\u51c6\u786e\u7387\uff0c\u4f46\u91cd\u70b9\u5173\u6ce8\u884c\u4e1a\u672f\u8bed\u5904\u7406\u3001\u533a\u57df\u8bed\u8a00\u53d8\u4f53\u652f\u6301\u3001\u591a\u8bf4\u8bdd\u4eba\u8bc6\u522b\u3001C++\/Go\/Rust\u7b49SDK\u65f6\u95f4\u8868\uff0c\u4ee5\u53ca\u5bf9\u65e5\u672c\u8bed\u7b49\u7ed3\u6784\u5316\u8bed\u8a00\u7684\u5ef6\u8fdf\u8868\u73b0\u63d0\u51fa\u5177\u4f53\u6280\u672f\u7591\u95ee\uff0c\u56e2\u961f\u56de\u5e94\u5ef6\u8fdf\u7ea61.5-3\u79d2\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u8bcd\u5178\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                Krisp Voice Translation API \u7684\u5dee\u5f02\u5316\u6838\u5fc3\u5728\u4e8e\u201c\u573a\u666f\u771f\u5b9e\u201d\u2014\u2014\u5b83\u4e0d\u662f\u5b9e\u9a8c\u5ba4\u8dd1\u5206\u7684\u8868\u6f14\u8005\uff0c\u800c\u662f\u4ece\u533b\u7597\u3001\u4fdd\u9669\u7b49\u5408\u89c4\u9ad8\u538b\u533a\u78e8\u51fa\u6765\u7684\u5b9e\u6218\u5de5\u5177\u300296%\u7684\u51c6\u786e\u7387\u5728\u5608\u6742\u3001\u6709\u53e3\u97f3\u7684\u771f\u5b9e\u901a\u8bdd\u4e2d\u5177\u5907\u8bf4\u670d\u529b\uff0c\u5c24\u5176\u201c\u96f6\u60a3\u8005\u5b89\u5168\u4e8b\u6545\u201d\u7684\u80cc\u4e66\uff0c\u5c06\u6280\u672f\u80fd\u529b\u4e0e\u4e1a\u52a1\u5e95\u7ebf\u76f4\u63a5\u6302\u94a9\uff0c\u51fb\u4e2d\u4e86\u4f01\u4e1a\u7ea7\u5ba2\u6237\u7684\u6838\u5fc3\u75db\u70b9\u3002\u7136\u800c\uff0c\u5176\u4ef7\u503c\u5e76\u975e\u65e0\u61c8\u53ef\u51fb\uff1a1.5-3\u79d2\u7684\u7aef\u5230\u7aef\u5ef6\u8fdf\u5bf9\u4e8e\u81ea\u7136\u5bf9\u8bdd\u4ecd\u662f\u4e00\u4e2a\u95e8\u69db\uff0c\u5c24\u5176\u662f\u65e5\u8bed\u7b49\u8bed\u79cd\u5728\u9ad8\u5ef6\u8fdf\u4e0b\u4f1a\u5f71\u54cd\u4ea4\u4e92\u6d41\u7545\u6027\uff0c\u8fd9\u5728\u67d0\u4e9b\u5b9e\u65f6\u6027\u654f\u611f\u7684\u5ba2\u670d\u573a\u666f\u4e2d\u53ef\u80fd\u6210\u4e3a\u201c\u52c9\u5f3a\u53ef\u7528\u201d\u4e0e\u201c\u771f\u6b63\u81ea\u7136\u201d\u7684\u5206\u6c34\u5cad\u3002\u6b64\u5916\uff0c\u867d\u7136API\u63d0\u4f9b\u4e86\u81ea\u5b9a\u4e49\u8bcd\u5178\u548c\u533a\u57df\u53d8\u4f53\uff0c\u4f46\u591a\u8bf4\u8bdd\u4eba\u91cd\u53e0\u8bc6\u522b\u3001P99\u5ef6\u8fdf\u7b49\u6838\u5fc3\u751f\u4ea7\u73af\u5883\u6307\u6807\u5728\u56de\u5e94\u4e2d\u7a0d\u663e\u6a21\u7cca\uff0c\u8fd9\u6070\u6070\u662f\u5f00\u53d1\u8005\u6700\u5173\u5fc3\u7684\u201c\u7a33\u5b9a\u4e0a\u9650\u201d\u3002Krisp\u76ee\u524d\u66f4\u50cf\u662f\u4ece\u4e13\u7528\u573a\u666f\uff08\u5ba2\u670d\u3001\u5408\u89c4\uff09\u5411\u901a\u7528\u5e02\u573a\uff08\u591a\u7aefSDK\u3001\u65e0\u4ee3\u7801\u96c6\u6210\uff09\u5ef6\u4f38\u7684\u8fc7\u6e21\u72b6\u6001\uff0c\u5176\u5728\u5782\u76f4\u884c\u4e1a\u7684\u6740\u624b\u7ea7\u5e94\u7528\u4ecd\u5f85\u66f4\u5927\u89c4\u6a21\u7684\u516c\u5f00\u90e8\u7f72\u9a8c\u8bc1\u3002\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\uff1a\u5f53\u7528\u6237\u4ece\u4e00\u5c0f\u65f6\u7684\u514d\u8d39\u4f53\u9a8c\u8d70\u5411\u767e\u4e07\u7ea7\u5206\u949f\u7684\u751f\u4ea7\u90e8\u7f72\u65f6\uff0c\u4ea7\u54c1\u662f\u5426\u80fd\u4fdd\u6301\u7cbe\u51c6\u5ea6\u4e0e\u5ef6\u8fdf\u7684\u7ebf\u6027\u7a33\u5b9a\u6027\uff0c\u800c\u4e0d\u53ea\u662f\u201cDemo\u82f1\u96c4\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\">Krisp Voice Translation API<\/span>\n                <\/div>\n<div class=\"comment-content\">Most voice translation APIs work great in demos. Then real users show up with background noise, accents and verification code that gets garbled. We built our technology on a million live contact center calls where accuracy is non negotiable. 96% accuracy on real calls, zero patient safety incidents, 61+ languages with any to any pair. Translation API is now available self-serve with 60 mins free credit upon signup to dev dashboard.<\/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>We&#8217;ve been running real-time voice translation in enterprise contact centers. Healthcare, insurance, finance. Calls where a wrong word means a patient safety incident or a compliance violation.<\/p>\n<p>That pressure built an engine most benchmarks can&#8217;t replicate. 96% accuracy on live calls with real accents and noise. Zero patient safety incidents across 8+ languages. Over a million minutes of production translation.<\/p>\n<p>Today we&#8217;re opening that engine up as a self-serve API. Same model, same accuracy, same 61 languages. Python and JS SDKs, playground with 60 free minutes, custom vocabulary and translation dictionaries from day one. No sales call.<\/p>\n<p>If you&#8217;re building anything where voice crosses a language barrier and accuracy matters, hear it yourself: <a href=\"https:\/\/lab.krisp.ai\/products\/voice-translation\/live-demo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/lab.krisp.ai\/products\/vo&#8230;<\/a><\/p>\n<p>Our team will be here all day. Ask us anything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asti_pili\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asti_pili<\/a>&nbsp;C++ SDK timeline? Any plans for Go, Rust, or mobile SDKs<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@asti_pili\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asti_pili<\/a>&nbsp;This is impressive work\u2014the fact that you&#8217;ve handled over a million minutes of production translation in regulated industries with zero incidents is a strong signal of real reliability. The 96% accuracy on live calls with real-world noise is the kind of number that matters way more than lab benchmarks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looking forward to seeing what the Product Hunt community builds with it. We&#8217;d love your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Impressive to see accuracy claims based on real contact center traffic instead of lab conditions. How does the API handle industry-specific terminology, like healthcare or financial services vocabulary, where a single mistranslation can create major issues?<\/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\">@jolene_mna ok<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;works great in demos, then real users show up with background noise and accents&#8221; line is exactly the wall we hit building voice AI for older adults. Phone-quality audio and unfamiliar accents break most pipelines that benchmark beautifully. Training on a million real contact-center calls is a smart moat for that reason. One question on the speech-to-speech path: how much added latency does translation introduce over plain transcription, and is it low enough to keep a live call feeling like a natural back-and-forth?<\/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\/@igorgurovich\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@igorgurovich<\/a>&nbsp;good questions.<\/p>\n<p>We measure latency in Krisp as the time to first translated audio after a person speaks.<\/p>\n<ul>\n<li>\n<p>Total time-to-first-translated-audio is approximately <strong>1.5\u20133 seconds<\/strong>, driven by three factors: context window size, source language structural complexity, and amount of speech. AI inference latency is around 700-800ms here.<\/p>\n<\/li>\n<li>\n<p>Language structural complexity is the primary variable. Languages with word order parallel to the target language (e.g., Spanish) can be translated incrementally as words arrive, resulting in latency toward the lower end.<\/p>\n<\/li>\n<li>\n<p>Languages with high reordering distance \u2014 such as Japanese, Korean, or Turkish \u2014 are verb-final or agglutinative, requiring the model to buffer more context before producing a grammatically correct translation, resulting in latency toward the higher end<\/p>\n<\/li>\n<li>\n<p>The AI latency difference between transcription and translation is ~100ms.<\/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\">\n<p>Krisp launches go wayyyy back. Congrats on the latest. \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rrhoover\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rrhoover<\/a>&nbsp;yeah, way back to those working from home days during covid &#8211; when we launched Noise Cancellation. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 deep the localization goes. Spanish in Mexico and Spanish in Spain can feel quite different in everyday use. Do you support regional variations like that?<\/p>\n<p>Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@jared_salois\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jared_salois<\/a>&nbsp;great question.<\/p>\n<p>Yes, we support locale-specific variants (US Spanish, French Canadian, Egyptian Arabic, etc.) and regional languages (Catalan, Galician, Basque)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 well does Custom Vocabulary \/ Dictionary work? How many terms can I add, and does it slow things down?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@marija_pojasnikova\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marija_pojasnikova<\/a>&nbsp;The API supports custom vocabulary, so you can pass your specific terminology. We also support a custom translation_dictionary, where you can provide an exact word and its translation for each language \u2014 that word will always keep your translation.<br \/>Here&#8217;s the documentation on how to pass these parameters: <a href=\"https:\/\/sdk-docs.krisp.ai\/docs\/voice-translation-api#initial-client-message\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/sdk-docs.krisp.ai\/docs\/voice-translation-api#initial-client-message<\/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>Congrats on the launch! \ud83d\ude80 Real-time voice translation is impressive on its own, but production experience in healthcare and finance makes it even more compelling. Best of luck today!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Real-time speech-to-speech at API level means you&#8217;ve solved the three-stage pipeline problem: ASR accuracy, translation context, and TTS naturalness all simultaneously. We&#8217;ve built on streaming audio APIs and the hardest part is always mid-utterance interruptions breaking the translation context. What&#8217;s your P99 latency for a 10-second utterance, and how do you handle speaker turn overlap?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>So proud of this 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations! I will definitely try it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great to see this finally launched. Super useful update to a great tool!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>OH my, I was looking for something like this for months at this point. Do you have plans to integrate this into your mobile app as a native functionality? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asti_pili\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"asti_pili\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asti_pili<\/a> tangential question&#8211; how does this work with speaker attribution when multiple people are in a room together? This is my biggest pet peeve with most transcription agents today. Granola&#8217;s amazing if I use my phone, and has nothing when using my laptop. My kingdom for good attribution regardless of setting! What does Krisp do here?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting breakdown of the latency tradeoffs. The language reordering problem is something many demos conveniently avoid discussing. I was wondering how you&#8217;re handling workload spikes when multiple streams require larger context windows simultaneously. Do you dynamically allocate translation capacity per stream, or is there some form of queueing and prioritization to prevent latency from cascading across tenants?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Real-time speech-to-speech is the hard part &#8211; what&#8217;s the round-trip latency at acceptable quality? Most translation APIs I&#8217;ve tested hit 800ms+ which is fine for async but breaks conversational flow completely.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@christian_knaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christian_knaut<\/a>&nbsp;We measure latency in Krisp as the time to first translated audio after a person speaks.<\/p>\n<ul>\n<li>\n<p>Total time-to-first-translated-audio is approximately <strong>1.5\u20133 seconds<\/strong>, driven by three factors: context window size, source language structural complexity, and amount of speech. AI inference latency is around 700-800ms here.<\/p>\n<\/li>\n<li>\n<p>Language structural complexity is the primary variable. Languages with word order parallel to the target language (e.g., Spanish) can be translated incrementally as words arrive, resulting in latency toward the lower end.<\/p>\n<\/li>\n<li>\n<p>Languages with high reordering distance \u2014 such as Japanese, Korean, or Turkish \u2014 are verb-final or agglutinative, requiring the model to buffer more context before producing a grammatically correct translation, resulting in latency toward the higher end<\/p>\n<\/li>\n<li>\n<p>The AI latency difference between transcription and translation is ~100ms.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/B4AXPCZ72ACZGT\" class=\"app-title\"> agmsg<\/a><\/p>\n<div class=\"one-liner\">Stop copy-pasting between your AI coding agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">201<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>agmsg \u662f\u4e00\u6b3e\u8ba9\u591a\u4e2a\u547d\u4ee4\u884cAI\u7f16\u7a0b\u52a9\u624b\uff08\u5982Claude Code\u3001Codex\uff09\u901a\u8fc7\u5171\u4eabSQLite\u6570\u636e\u5e93\u76f4\u63a5\u901a\u4fe1\u7684\u5de5\u5177\uff0c\u5f7b\u5e95\u7ec8\u7ed3\u7528\u6237\u624b\u52a8\u5728\u4e0d\u540cAI\u52a9\u624b\u95f4\u590d\u5236\u7c98\u8d34\u6d88\u606f\u7684\u201c\u4fe1\u4f7f\u201d\u82e6\u5dee\u4e8b\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\/64730faf-39ec-4bde-b247-df4b297836a2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/1s3wqRIH0uQ\"><source src=\"https:\/\/youtu.be\/1s3wqRIH0uQ\" 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\/eb9a19e7-5b0c-46dd-85f9-c9fb4b3a0309.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8ac5c991-4aa7-4c38-b2d5-ae71e1d69013.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/50338eb1-4ca8-4046-847d-f2750eb693c1.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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7801\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6d88\u606f\u603b\u7ebf<\/span><br \/>\n            <span class=\"tag\">SQLite<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u540c\u201c\u4eba\u7c7b\u5f53\u4fe1\u4f7f\u201d\u7684\u75db\u70b9\uff0c\u4f46\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u5728\uff1a1) \u7f3a\u4e4f\u4efb\u52a1\u9501\u548c\u8f6e\u6b21\u4ef2\u88c1\uff0c\u591a\u4e2aAgent\u53ef\u80fd\u62a2\u4efb\u52a1\u6216\u9677\u5165\u201c\u6f84\u6e05-\u56de\u590d\u201d\u6b7b\u5faa\u73af\uff1b2) \u53ea\u80fd\u4f20\u8f93\u6587\u672c\uff0c\u65e0\u6cd5\u81ea\u52a8\u4fdd\u7559\u201c\u610f\u56fe\u201d\u548c\u201cdiff\u201d\uff0c\u5bfc\u81f4\u7b2c\u4e8c\u4e2aAgent\u5e38\u91cd\u5199\u6b63\u786e\u4ee3\u7801\uff1b3) \u6301\u4e45\u5316\u623f\u95f4\u662f\u4eae\u70b9\uff0c\u4f46\u9700\u81ea\u884c\u5904\u7406\u8de8Agent\u534f\u8c03\u903b\u8f91\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                agmsg\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u72ed\u7a84\u7684\u75db\u70b9\uff1a\u591aAgent\u5de5\u4f5c\u6d41\u4e2d\u7684\u590d\u5236\u7c98\u8d34\u6469\u64e6\u3002\u5b83\u7684\u201cSQLite\u4f5c\u4e3a\u6d88\u606f\u603b\u7ebf\u201d\u8bbe\u8ba1\u770b\u4f3c\u539f\u59cb\uff0c\u5b9e\u5219\u806a\u660e\u2014\u2014\u96f6\u4f9d\u8d56\u3001\u6301\u4e45\u5316\u3001\u53efgrep\uff0c\u6bd4\u76f2\u76ee\u642d\u5efaMCP\u670d\u52a1\u5668\u52a1\u5b9e\u5f97\u591a\u3002\u4f46\u8fd9\u628a\u201c\u9524\u5b50\u201d\u7684\u9489\u5b50\u6709\u591a\u666e\u904d\uff1f\u8bc4\u8bba\u533a\u5df2\u66b4\u9732\u81f4\u547d\u7f3a\u9677\uff1a\u4ea7\u54c1\u672c\u8eab\u4e0d\u89e3\u51b3\u534f\u8c03\u95ee\u9898\u3002\u6ca1\u6709\u4efb\u52a1\u9501\uff0c\u4e24\u4e2aClaude Code\u4f1a\u62a2\u6d3b\u5e72\uff1b\u6ca1\u6709\u5bf9\u8bdd\u534f\u8bae\uff0cAgent\u4eec\u4f1a\u9677\u5165\u65e0\u5e95\u6d1e\u5f0f\u7684\u201c\u6f84\u6e05\u5faa\u73af\u201d\uff0c\u6d88\u8017\u7b97\u529b\u505a\u65e0\u7528\u529f\u3002\u521b\u59cb\u4eba\u5766\u8bda\u201c\u4eca\u5929\u9760\u793e\u4f1a\u6027\u534f\u8bae\u89e3\u51b3\u201d\u7684\u8bf4\u6cd5\u5f88\u8bda\u5b9e\uff0c\u4f46\u7528\u6237\u9700\u8981\u7684\u662f\u5de5\u7a0b\u65b9\u6848\uff0c\u4e0d\u662f\u7ed9\u6bcf\u4e2aAgent\u5199prompt\u6765\u7ef4\u62a4\u201c\u793c\u8c8c\u201d\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u4e8e\u8ba9Agent\u804a\u5929\uff0c\u800c\u5728\u4e8e\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6301\u4e45\u3001\u53ef\u5ba1\u8ba1\u7684\u201c\u9ed1\u5323\u5b50\u201d\u3002\u771f\u6b63\u6709\u610f\u4e49\u7684\u573a\u666f\u662f\uff1a\u4e00\u4e2aAgent\u5199\u5b8c\u4ee3\u7801\u548c\u7406\u7531\uff0c\u53e6\u4e00\u4e2a\u57fa\u4e8e\u6b64\u505a\u5ba1\u6838\uff1b\u6216\u8ba9\u591a\u4e2aAgent\u9488\u5bf9\u540c\u4e00\u95ee\u9898\u8fed\u4ee3\u51fa\u6700\u4f73\u65b9\u6848\u3002\u4f46\u82e5\u53ea\u505c\u7559\u5728\u201c\u73a9\u5177\u201d\u7ea7\u2014\u2014\u65e0\u4eba\u503c\u5b88\u7684\u4e95\u5b57\u68cb\u2014\u2014\u90a3\u5b83\u7ec8\u7a76\u53ea\u662f\u8ba9\u590d\u5236\u7c98\u8d34\u81ea\u52a8\u5316\u4e86\uff0c\u800c\u975e\u8ba9\u6d41\u7a0b\u667a\u80fd\u5316\u3002\u5efa\u8bae\u5173\u6ce8\u6838\u5fc3\uff1a\u8981\u4e48\u5f15\u5165\u53ef\u9009\u7684\u8f7b\u91cf\u7ea7\u534f\u8c03\u5c42\uff08\u5982\u8d85\u65f6\u3001\u8868\u51b3\uff09\uff0c\u8981\u4e48\u4e13\u6ce8\u505a\u597d\u201c\u5ba1\u8ba1\u65e5\u5fd7\u201d\u529f\u80fd\uff0c\u8ba9\u4eba\u7c7b\u80fd\u6709\u6548\u56de\u653e\u548c\u5e72\u9884\u3002\u522b\u8ba9\u5b83\u6ca6\u4e3a\u4e00\u4e2a\u66f4\u9ad8\u7ea7\u7684\u201c\u62f7\u8d1d\u732b\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\"> agmsg<\/span>\n                <\/div>\n<div class=\"comment-content\">Stop being the copy-paste relay between your AI coding agents. agmsg lets Claude Code, Codex, Gemini CLI, and Copilot CLI message each other directly through a shared SQLite database \u2014 no daemon, no network, no Python. Just bash + sqlite3, installed as an Agent Skill. Unlike built-in subagents (single-vendor, ephemeral) or MCP (an agent calling tools), agmsg is vendor-agnostic and persistent. Run several agents \u2014 even multiple Claude Code instances \u2014 in one room, working together.<\/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 I&#8217;m Koichi.<\/p>\n<p>I run Claude Code as my daily driver and Codex for the hard stuff. Great combo \u2014 until I noticed what I&#8217;d actually become: a guy copy-pasting messages between two AIs all day. Copy Claude&#8217;s output, paste into Codex, copy the reply, paste back. Dozens of times a day. The dumbest job in the room, and I was doing it \u2014 sitting between two systems smart enough to just talk to each other, being their courier.<\/p>\n<p>So I made them talk directly. agmsg is a ~500-line bash + SQLite tool that lets CLI AI coding agents message each other \u2014 Claude Code, Codex, Gemini CLI, Copilot CLI \u2014 all in the same room over one SQLite file.<\/p>\n<p>How it&#8217;s different: it&#8217;s not a subagent feature (those are single-vendor and die with the session) and it&#8217;s not MCP (that&#8217;s an agent calling tools, not agents talking to each other). agmsg is vendor-agnostic, persistent, and dependency-minimal \u2014 no daemon, no network, no Python. It installs as an Agent Skill, so you never patch the agent itself.<\/p>\n<p>The fun part (in the demo): leave two agents in &#8220;monitor&#8221; mode on the same team and they&#8217;ll play tic-tac-toe \u2014 or chess \u2014 against each other, no human in the loop.<\/p>\n<p>It unexpectedly took off in Japan this past week (1M+ impressions, 5 \u2192 320+ GitHub stars, people already porting it to shogi, Go, and an MCP server). Bringing it here now \u2014 I&#8217;d genuinely rather hear what breaks than collect another star. \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fujibee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fujibee<\/a>&nbsp;the runaway-loop case is what i&#8217;d stress-test first: A asks B to clarify, B bounces it back, and they burn tokens in a clarify-loop with nobody refereeing. the tic-tac-toe demo is the harmless version of the same loop. so the real question is whether the stop condition lives in the protocol, or it&#8217;s left to each agent&#8217;s prompt to know when to shut up.<\/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\/@fujibee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fujibee<\/a>&nbsp;go go! \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\/@fujibee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fujibee<\/a>&nbsp;Brilliant Koichi, congrats on the launch. As you can see, you&#8217;re not the only codex-claude courier. How do handle context across sessions?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 human courier btw two AIs line made me laugh because that&#8217;s basically what I&#8217;ve been doing lately. How well does this hold up when more than two agents are involved?<\/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\/@busra_seker1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busra_seker1<\/a>&nbsp;<\/p>\n<p>Ha, glad it landed \ud83d\ude04 \u2014 that courier feeling is the whole origin story. It&#8217;s built for N agents: a &#8220;team&#8221; is just a room, and you can drop several in. Right now it&#8217;s running with 5 different agent types and multiple instances in one room. What gets messy past ~2-3 isn&#8217;t the transport, it&#8217;s <em>turn-taking<\/em> \u2014 everyone wants to talk at once, so you need light addressing (who&#8217;s this for?) or a coordinator. The DB handles N fine; the social protocol is the hard part. \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 part that jumps out isn&#8217;t the agents talking to each other \u2014 it&#8217;s that the room is persistent. it&#8217;s one sqlite file you can open with sqlite3 and read the whole thread, start to finish. running claude code in a plan \u2192 implement \u2192 review loop, what always bit me was context dying with each subagent, so i&#8217;d hand-roll a state file to carry decisions across passes. a room that outlives the session is exactly that, minus the bookkeeping.<\/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\/@webappski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@webappski<\/a>&nbsp;<\/p>\n<p>You zeroed in on the part I care about most. Everyone reacts to &#8220;agents talking,&#8221; but the persistence is the actual unlock \u2014 `sqlite3 agmsg.db` and the whole thread is right there, no special viewer. That exact pain (hand-rolling a state file so decisions survive plan\u2192implement\u2192review) is what made me build it. A room that outlives the session = your state file, minus the bookkeeping. Glad it landed with someone who&#8217;s felt it. \ud83d\ude4f<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is exactly the kind of weird but practical tool that makes sense once you use multiple coding agents. Copying output from Claude Code into Codex and back again gets old fast. A simple SQLite-based \u201croom\u201d for agents to talk to each other feels much cleaner than turning the human into the message bus.<\/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\/@eliot_argy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eliot_argy<\/a>&nbsp;<\/p>\n<p>&#8220;the human as the message bus&#8221; \u2014 that&#8217;s exactly the phrase I wish I&#8217;d put on the landing page. \ud83d\ude04 That&#8217;s the whole itch: two systems smart enough to just talk, and there I was hand-carrying their messages.<\/p>\n<p>The SQLite &#8220;room&#8221; was almost the dumbest possible design, which is why I like it \u2014 no daemon, no network, you can `cat` the DB to see the whole conversation. Curious what agents you&#8217;re running together \u2014 would love to hear what breaks. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>For me the copy-paste isn&#8217;t even the worst part&#8230; it&#8217;s that the second agent loses the why and confidently rewrites stuff the first one got right. Non-technical builder bouncing between Claude Code and Cursor daily. Does agmsg carry intent across the handoff, or just the code and context?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@luca_capone\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luca_capone<\/a>&nbsp;<\/p>\n<p>Honest answer: agmsg only carries what the sending agent actually writes. It&#8217;s a transport, not a semantic layer \u2014 so the &#8220;why&#8221; survives <em>only if<\/em> the first agent spells out its intent in the message. It won&#8217;t magically preserve reasoning the agent kept to itself. In practice that&#8217;s a feature and a trap: I prompt the sender to lead with intent (&#8220;here&#8217;s WHAT I did and WHY&#8221;) before the diff. Then the second agent stops confidently rewriting the right thing. Your &#8220;loses the why&#8221; pain is the exact failure mode I&#8217;d watch.<\/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>LET&#8217;S GOOOO<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nao_yukawa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nao_yukawa<\/a>&nbsp;LET&#8217;S GOOOO \ud83d\ude80\ud83d\ude4f thank you Nao!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice idea. The useful part here is not just agent-to-agent messaging, it\u2019s making the handoff reviewable.<\/p>\n<p>For this kind of workflow I\u2019d want to see the boring details: message history, which agent changed what, failed handoffs, and a clean way to replay or inspect decisions after the fact. Shared SQLite feels like a reasonable simple starting point.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>clever approach using SQLite as the message bus \u2014 no daemon overhead, just files. the multi-agent coordination problem is real and only getting worse as people start running 3-4 different AI tools on the same codebase. curious whether you&#8217;ve seen patterns in how people split tasks across agents vs using one agent for everything.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great idea, copy-pasting between agents is such a pain. Does it work with any LLM API or specific ones?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">forgive my dumb ass for asking this. still an AI noob. for any conversation that happens in claude for instance (not code related), will this help it migrate to say antigravity?<\/div>\n<div class=\"comment-actions\">\n<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\/@juhi_sharma6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@juhi_sharma6<\/a>&nbsp;not a dumb question at all \ud83d\ude4f \u2014 agmsg is built for the CLI coding agents (Claude Code, Codex, etc.) messaging each other, so it&#8217;s not for moving a normal Claude chat into another app; for that you&#8217;d still be copy-pasting yourself. But &#8220;why isn&#8217;t there an easy way to carry a conversation across tools&#8221; is a genuinely good question \u2014 just a different problem than the one agmsg solves.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 sqlite-as-message-bus choice is the part i like \u2014 no daemon is the right call. the thing i&#8217;d worry about with multiple claude code instances in one room is two of them grabbing the same task before either writes back. how do you handle the claim\/lock step?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@qifengzheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qifengzheng<\/a>&nbsp;no daemon was non-negotiable, glad that lands \ud83d\ude4f and you&#8217;ve found the real gap: agmsg has no claim\/lock primitive \u2014 two instances can absolutely grab the same task. Today I solve it socially (a coordinator agent hands out work, or an &#8220;I&#8217;m taking X&#8221; message + addressing). You could lean on SQLite for a real claim (an atomic UPDATE &#8230; WHERE status=&#8217;open&#8217; as a lease), but agmsg doesn&#8217;t ship that \u2014 it&#8217;s transport. A claim\/lease table is the most-requested thing I&#8217;m chewing on.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m also thinking about how to pit several neural networks against each other to create the best results only for the topic of YouTube videos.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@syntheticfounder\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@syntheticfounder<\/a>&nbsp;interesting \u2014 agents critiquing each other&#8217;s output to converge on something better is exactly what the shared &#8220;room&#8221; is good for. The tic-tac-toe demo is the toy version of that loop. Curious where you take it for the YouTube angle \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;sitting between two systems being their courier&#8221; framing is painfully accurate &#8211; I do this every day with Claude + a browser-driving agent. Shared SQLite over MCP is the right primitive: zero dependency hell, persistent across sessions, and you can grep history later. Following.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a>&nbsp;that courier feeling is exactly it \ud83d\ude4f one tiny correction \u2014 agmsg isn&#8217;t over MCP, it&#8217;s standalone (just bash + one sqlite file), which is what kills the dependency hell you mentioned. But you nailed the rest: persistent across sessions, grep the history later. Thanks for following!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The copy-paste shuffle between Cursor, Claude Code and the rest is a real daily tax, so a shared message bus between agents is a smart framing. Does it preserve context and diffs on handoff, or mainly the prompt text?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@oleksii_sekundant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oleksii_sekundant<\/a>&nbsp;it carries whatever the sending agent writes into the message \u2014 so if it writes the diff + the why, that&#8217;s what lands; if it only writes a one-liner, that&#8217;s all that crosses. agmsg doesn&#8217;t auto-capture diffs or context, it&#8217;s transport. In practice I have the sender paste the diff + intent explicitly. Upside: it&#8217;s all just text in a row you can grep later.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The persistent room is the part I&#8217;d actually use day to day, the &#8216;agents talking&#8217; framing kind of undersells it! Does agmsg arbitrate turns at all (a lock, a token) or is sqlite just guaranteeing nobody drops a message and ordering stays the agents&#8217; 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<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;The latter, exactly. sqlite guarantees durability + ordering (no dropped messages, consistent order by rowid); agmsg does zero turn arbitration \u2014 no lock, no token. Whose turn it is stays the agents&#8217;\/prompt&#8217;s problem. Deliberate choice: keep the transport dumb, push coordination up to the agents (or a coordinator agent in the room). And agreed \u2014 &#8220;persistent room&#8221; undersells nothing, it&#8217;s the part I care about most 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>been playing the copy-paste courier between claude code and codex for months &#8211; feels embarrassing in hindsight. the sqlite approach is just right, no extra process to manage and the whole thread is right there to inspect. curious how turn-taking holds up with 3+ agents but the 2-agent case is exactly what i need<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;ha, the &#8220;embarrassing in hindsight&#8221; part is universal \u2014 that&#8217;s literally why I built it \ud83d\ude04. 2-agent is the rock-solid case, exactly what you need. 3+ works on the transport side (sqlite handles N fine), but turn-taking gets messy \u2014 you start needing light addressing (who&#8217;s this for?) or a coordinator agent. The DB scales; the social protocol is the hard part.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Treating agent-to-agent communication as a first-class primitive rather than bolting it on with shared clipboard or file hacks is genuinely clever. We&#8217;ve run into real pain keeping context synchronized across parallel agent tasks, where state drift creates subtle bugs. How do you handle concurrent write conflicts when two agents message the same SQLite channel simultaneously?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@anand_thakkar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anand_thakkar1<\/a>&nbsp;SQLite handles this one for free \u2014 writes are serialized (single-writer lock, WAL mode for concurrent reads), so two agents posting to the same channel at once don&#8217;t corrupt anything; the inserts just get ordered. Each message is a row, ordering is rowid\/timestamp. So &#8220;nobody drops a message, order stays consistent&#8221; is guaranteed at the DB layer. What SQLite does NOT decide is whose turn it is \u2014 that&#8217;s still the agents&#8217; 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>The agent-to-agent message routing is the right abstraction. Instead of shared memory you&#8217;re treating agents as async message consumers. We&#8217;ve hit context fragmentation when chaining Claude with specialized tools and the copy-paste tax compounds fast. How does agmsg handle partial context handoffs when one agent&#8217;s output exceeds another&#8217;s context window limit?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Great question \u2014 and honestly agmsg doesn&#8217;t solve it for you. It&#8217;s transport, so it&#8217;ll happily store a message bigger than the receiver&#8217;s window; managing that is on the agents. What works in practice: send a summary + a reference (a key\/rowid) instead of dumping raw output, and let the other agent pull detail on demand \u2014 the queryable room makes that pull cheap. But agmsg itself doesn&#8217;t chunk or window, deliberately.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/EJZUZNOI66LAPN\" class=\"app-title\">Uiverse Design<\/a><\/p>\n<div class=\"one-liner\">De-slop your AI generated websites<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">162<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Uiverse Design \u662f\u4e00\u5957AI\u4f18\u5148\u7684\u8bbe\u8ba1\u7cfb\u7edf\u5e93\uff0c\u901a\u8fc7\u63d0\u4f9b\u5305\u542b\u8be6\u7ec6\u8bbe\u8ba1\u89c4\u5219\u7684DESIGN.md\u6587\u4ef6\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u66ff\u6362AI\u751f\u6210\u7f51\u7ad9\u4e2d\u5343\u7bc7\u4e00\u5f8b\u7684\u201c\u7d2b\u8272\u6e10\u53d8+\u80f6\u56ca\u5fbd\u7ae0+\u8868\u60c5\u7b26\u53f7\u201d\u7b49\u4e11\u964b\u6a21\u677f\uff0c\u89e3\u51b3AI\u751f\u6210\u754c\u9762\u540c\u8d28\u5316\u4e25\u91cd\u3001\u7f3a\u4e4f\u771f\u5b9e\u8bbe\u8ba1\u89c4\u8303\u7684\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/532736b6-7631-4099-aa02-8383a3e380a7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ff1d74d6-7db3-427d-9c65-9ab8a00c8bf9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8918a049-0e43-43ec-a4f6-bed02a63b44c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3f42a55b-9439-4210-b9bf-682b8f58db5c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e9c20328-ac2d-443f-9f86-086ab02202a9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bbe\u8ba1\u7cfb\u7edf\u5e93<\/span><br \/>\n            <span class=\"tag\">AI\u8f85\u52a9\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aefUI\u7ec4\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u539f\u5219\u6587\u6863<\/span><br \/>\n            <span class=\"tag\">\u53bb\u6a21\u677f\u5316<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u89c6\u89c9\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u89c4\u8303<\/span><br \/>\n            <span class=\"tag\">AI\u751f\u6210\u8d28\u91cf\u63d0\u5347<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u540c\u201cAI\u754c\u9762\u540c\u8d28\u5316\u201d\u75db\u70b9\uff0c\u8d5e\u8d4f\u201cde-slop\u201d\u7406\u5ff5\u3002\u591a\u6570\u8be2\u95ee\u7ec4\u4ef6\u662f\u4eba\u5de5\u7b56\u5c55\u8fd8\u662f\u793e\u533a\u63d0\u4ea4\uff0c\u4ee5\u53ca\u4fee\u590d\u7684\u662f\u8868\u9762\u6837\u5f0f\u8fd8\u662f\u5e95\u5c42\u95f4\u8ddd\u3001\u5b57\u53f7\u7b49\u6838\u5fc3\u89c4\u8303\u3002\u521b\u59cb\u4eba\u56de\u5e94\u79f0\u89c4\u5219\u6db5\u76d6\u5e03\u5c40\u4e0e\u95f4\u8ddd\uff0c\u4f46\u9700\u63d0\u793a\u4ee3\u7406\u8fdb\u884c\u91cd\u5efa\u800c\u975e\u4ec5\u91cd\u8bbe\u8ba1\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                Uiverse Design\u7cbe\u51c6\u6293\u4f4f\u4e86\u5f53\u524dAI\u7f16\u7801\u5de5\u5177\u7206\u53d1\u540e\u7684\u65b0\u75db\u70b9\u2014\u2014\u5f53\u6240\u6709\u7f51\u7ad9\u90fd\u6765\u81ea\u540c\u4e00\u4e2a\u201c\u7d2b\u8272\u6e10\u53d8+\u5706\u89d2\u5361\u7247+emoji\u201d\u7684\u9ed8\u8ba4\u6a21\u677f\u65f6\uff0c\u7528\u6237\u611f\u77e5\u5230\u7684\u4e0d\u662f\u6548\u7387\uff0c\u800c\u662f\u5ec9\u4ef7\u611f\u3002\u4ea7\u54c1\u5de7\u5999\u5730\u5c06\u201cVibe Coding\u201d\u53d8\u6210\u4e86\u4e00\u4e2a\u9700\u8981\u88ab\u6cbb\u6108\u7684\u75c5\u75c7\uff0c\u4ece\u800c\u521b\u9020\u4e86\u4e00\u4e2a\u65b0\u7684\u54c1\u7c7b\uff1aAI\u8bbe\u8ba1\u53bb\u6c61\u5242\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u5e93\u201d\uff0c\u800c\u5728\u4e8e\u201c\u89c4\u5219\u201d\u3002DESIGN.md\u6587\u4ef6\u4f5c\u4e3a\u4ee3\u7406\u7684\u7ea6\u675f\u5c42\uff0c\u672c\u8d28\u4e0a\u662f\u628a\u8bbe\u8ba1\u7cfb\u7edf\u4ece\u201c\u4eba\u5de5\u67e5\u6587\u6863\u201d\u8f6c\u53d8\u4e3a\u201c\u673a\u5668\u53ef\u6267\u884c\u89c4\u8303\u201d\u3002\u8fd9\u6bd4\u7b80\u5355\u7684\u7ec4\u4ef6\u5e93\u66f4\u806a\u660e\u2014\u2014\u5b83\u5c1d\u8bd5\u89e3\u51b3\u7684\u662fAI\u5728\u751f\u6210UI\u65f6\u7f3a\u4e4f\u5168\u5c40\u8bbe\u8ba1\u610f\u8bc6\u7684\u95ee\u9898\u3002\u7136\u800c\uff0c\u6838\u5fc3\u6311\u6218\u4e5f\u5728\u6b64\uff1a\u5f53\u7528\u6237\u8bc4\u8bba\u95ee\u662f\u5426\u53ea\u4fee\u8868\u9762\u6837\u5f0f\u65f6\uff0c\u521b\u59cb\u4eba\u627f\u8ba4\u9700\u8981\u201c\u660e\u786e\u544a\u8bc9\u4ee3\u7406\u91cd\u5efaUI\u201d\u3002\u8fd9\u610f\u5473\u7740\u4ea7\u54c1\u6210\u529f\u9ad8\u5ea6\u4f9d\u8d56\u4ee3\u7406\u672c\u8eab\u7684\u6267\u884c\u80fd\u529b\uff0c\u800c\u5f53\u524dAI\u7f16\u7801\u5de5\u5177\u5bf9\u8bbe\u8ba1\u7cfb\u7edf\u7684\u7406\u89e3\u4ecd\u53c2\u5dee\u4e0d\u9f50\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u5927\u7684\u98ce\u9669\u662f\uff1a\u4ea7\u54c1\u53ef\u80fd\u5728\u89e3\u51b3\u4e00\u4e2a\u5feb\u901f\u8fc7\u6e21\u671f\u7684\u75db\u3002\u5f53\u4e0b\u4e00\u4ee3AI\u7f16\u7801\u5de5\u5177\uff08\u5982Claude\u3001Cursor\uff09\u5185\u5efa\u4e86\u66f4\u5f3a\u5927\u7684\u8bbe\u8ba1\u7cfb\u7edf\u7406\u89e3\u80fd\u529b\uff0c\u8fd9\u79cd\u5916\u6302\u5f0f\u89c4\u5219\u6587\u4ef6\u7684\u4ef7\u503c\u4f1a\u88ab\u7a00\u91ca\u3002Uiverse Design\u76ee\u524d\u7684\u62a4\u57ce\u6cb3\u662f\u793e\u533a\u8d21\u732e\u7684\u7ec4\u4ef6\u8d28\u91cf\uff0c\u800c\u975e\u6280\u672f\u58c1\u5792\u3002\u5b83\u5e94\u8be5\u52a0\u901f\u5411\u201c\u8bbe\u8ba1\u7cfb\u7edf\u7ba1\u7406+\u4ee3\u7406\u63d0\u793a\u5de5\u7a0b\u201d\u7684\u5e73\u53f0\u6f14\u5316\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u5356\u4e00\u4e2a\u6587\u4ef6\u5305\u3002\u5426\u5219\uff0c\u201cde-slop\u201d\u8fd9\u4e2a\u706b\u70ed\u7684\u6807\u7b7e\u53ef\u80fd\u6bd4\u4ea7\u54c1\u672c\u8eab\u6d3b\u5f97\u66f4\u4e45\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\">Uiverse Design<\/span>\n                <\/div>\n<div class=\"comment-content\">You can tell when an app was vibecoded. So can your users. That generic purple gradient, the pills and badges, emojis everywhere, it all screams: &#8220;an AI made this in 20 minutes.&#8221; Uiverse Design is a library of AI-first design systems you can drop into any project. Each one defines real typography, spacing, color, images and component treatment. All of them ship with a DESIGN.md instructions file, so that your agent knows exactly how to use it. You just sit back, and watch your app transform.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\u201cDe-slop {anything}\u201d is going to be the next wave of products. Let\u2019s call it web5.<\/p>\n<p>I swear as soon as I saw \u201cde-slop\u201d I did t even care what it was &#8211; all I knew was I had to read this.<\/p>\n<p>Then, I was pleasantly surprised. The positioning and images hit such a nerve. That first photo captures the ESSENCES of what an ai slop landing page looks like.<\/p>\n<p>And the workflow for how you address this is very intuitive.<\/p>\n<p>There\u2019s a lot of makers here on product hunt that insta clicked the \u201cde-slop\u201d keyword and I AM ONE OF THEM DAMNIT \ud83d\ude05<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@james_effarah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@james_effarah1<\/a>&nbsp;Thank you so much!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@james_effarah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@james_effarah1<\/a>&nbsp;You had me at &#8220;de-slop&#8221; lol<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is such a real problem lately. So many AI made sites look fine at first glance but still feel the same. Having a design system the agent can actually follow sounds way more useful than fixing spacing and colors by hand after<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>&#8220;De-slop&#8221; is the perfect word for the generic look AI site builders default to. Giving designers a real library to break that sameness is overdue \u2014 are the components hand-curated or community-submitted like the original Uiverse?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Shut up and take my money \ud83d\ude02 just bought the full access pass. What a great idea!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@peterclaridge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peterclaridge<\/a>&nbsp;Thank you! Would love to hear your thoughts after using it \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really nice. I think even with claude design skill, there are alwasy the same 5 designs that come out of it. So having a better starting points sounds great!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>you can tell when an app was vibecoded is painfully accurate. the generic purple gradient with pill badges and emojis everywhere is basically a uniform at this point. love that this ships with a <a href=\"http:\/\/DESIGN.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">DESIGN.md<\/a> so the AI agent actually knows the rules instead of just defaulting to the same template every time<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love it! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;AI smell&#8221; is usually in the defaults&#8230; same hero, same gradient, same 16px everything. I vibe-code my own landing pages so I hit this weekly. Does it fix the underlying spacing and type scale, or mostly patch surface styles? That&#8217;s where the slop actually lives for me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@luca_capone\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luca_capone<\/a>&nbsp;The specific rules per design system include layout instructions, spacing and so on so they are quite broad. But it only works if you tell your agent to actually rebuild your UI, instead of just redesigning it. From experience, agents will usually not make larger changes until specifically instructed \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>Love this concept so much. Just because vibe coding has become super powerful does not mean what you built is pretty or unique ;-).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/FAJLZHX5Y5I6Q3\" class=\"app-title\">Kimi Work<\/a><\/p>\n<div class=\"one-liner\">The AI desktop for knowledge work<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">161<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kimi Work\u5c06AI\u52a9\u624b\u4ece\u804a\u5929\u7a97\u53e3\u8fc1\u79fb\u81f3\u684c\u9762\u7aef\uff0c\u901a\u8fc7\u6587\u4ef6\u8bbf\u95ee\u3001\u6d4f\u89c8\u5668\u81ea\u52a8\u5316\u3001\u591a\u667a\u80fd\u4f53\u5e76\u884c\u4e0e\u4efb\u52a1\u8c03\u5ea6\uff0c\u89e3\u51b3\u77e5\u8bc6\u5de5\u4f5c\u8005\u5728\u6587\u4ef6\u3001\u7f51\u9875\u4e0e\u6587\u6863\u4e4b\u95f4\u9891\u7e41\u5207\u6362\u7684\u788e\u7247\u5316\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\/5d2db8d1-2522-453b-971c-c239d0478718.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1359b4b1-d8a9-4867-ae0d-fe215a000750.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\/ef06d60f-f12a-46b1-8fe0-0b8f40a93bfc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7d4de8a1-9197-45d7-8862-ff6290531fb6.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\/921406fd-f059-4d28-9a16-872961db9927.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Computers<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u684c\u9762\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u5de5\u4f5c\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u96c6\u7fa4<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u8c03\u5ea6<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u6587\u4ef6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u529e\u516c\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u5e76\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\u79f0\u8d5e\u5176\u80fd\u76f4\u63a5\u751f\u6210PPT\/Excel\u6587\u4ef6\u800c\u975e\u4ec5\u8f93\u51fa\u8349\u7a3f\uff0c\u80cc\u666f\u8c03\u5ea6\u529f\u80fd\u53d7\u5173\u6ce8\u3002\u4e3b\u8981\u7591\u95ee\uff1a\u672c\u5730K2\u6a21\u578b\u8fd0\u884c\u60c5\u51b5\u3001\u6587\u4ef6\u4e0e\u7f51\u9875\u64cd\u4f5c\u7684\u6743\u9650\u5b89\u5168\u673a\u5236\u3001\u8c03\u5ea6\u4efb\u52a1\u5bf9\u672c\u5730\u6587\u4ef6\u7684\u517c\u5bb9\u6027\u3002\u5efa\u8bae\u660e\u786e\u4e3b\u6d41\u7528\u4f8b\u65b9\u5411\uff08\u7814\u7a76\/\u7f16\u7801\/\u5185\u5bb9\u521b\u4f5c\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Kimi Work\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u53c8\u4e00\u4e2aAI\u52a9\u624b\u201d\uff0c\u800c\u5728\u4e8e\u91cd\u65b0\u5b9a\u4e49\u4e86AI\u4e0e\u684c\u9762\u64cd\u4f5c\u7cfb\u7edf\u7684\u4ea4\u4e92\u8303\u5f0f\u3002\u5b83\u5c06\u6a21\u578b\u4ece\u201c\u5bf9\u8bdd\u5f0f\u987e\u95ee\u201d\u5347\u7ea7\u4e3a\u201c\u64cd\u4f5c\u578b\u5de5\u4eba\u201d\uff0c\u76f4\u51fb\u5f53\u524dAI\u5de5\u5177\u6700\u5927\u7684\u8f6f\u808b\u2014\u2014\u505c\u7559\u5728\u751f\u6210\u6587\u5b57\uff0c\u65e0\u6cd5\u5b8c\u6210\u4ece\u68c0\u7d22\u3001\u5206\u6790\u5230\u843d\u5730\u4ea7\u51fa\uff08PPT\/Excel\u7b49\uff09\u7684\u5b8c\u6574\u5de5\u4f5c\u95ed\u73af\u3002300\u4e2a\u667a\u80fd\u4f53\u5e76\u884c\u3001WebBridge\u6d4f\u89c8\u5668\u81ea\u52a8\u5316\u3001\u5b9a\u65f6\u4efb\u52a1\u89e6\u53d1\u7b49\u80fd\u529b\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u6784\u5efa\u4e00\u4e2a\u53ef\u7f16\u7a0b\u7684\u6570\u5b57\u5316\u52b3\u52a8\u529b\u6c60\uff0c\u5c24\u5176\u9002\u5408\u9700\u6279\u91cf\u5904\u7406\u6570\u636e\u62a5\u8868\u3001\u7ade\u54c1\u76d1\u63a7\u3001\u5468\u671f\u6027\u6587\u6863\u66f4\u65b0\u7684\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u540c\u6837\u660e\u663e\uff1a\u672c\u5730\u6587\u4ef6\u6743\u9650\u548cWeb\u81ea\u52a8\u5316\u53ef\u80fd\u5e26\u6765\u5b89\u5168\u9690\u60a3\uff0c\u7528\u6237\u8bc4\u8bba\u4e2d\u5df2\u660e\u786e\u8868\u8fbe\u62c5\u5fe7\uff1b\u591a\u667a\u80fd\u4f53\u96c6\u7fa4\u7684\u7b97\u529b\u6d88\u8017\u4e0e\u540e\u53f0\u8d44\u6e90\u62a2\u5360\u5bf9\u666e\u901a\u7528\u6237\u5e76\u4e0d\u53cb\u597d\uff1b\u6b64\u5916\uff0c\u4ea7\u54c1\u4ecd\u9700\u89e3\u7b54\u201c\u7814\u7a76\u3001\u7f16\u7801\u8fd8\u662f\u521b\u4f5c\u201d\u7684\u5b9a\u4f4d\u6a21\u7cca\u95ee\u9898\u2014\u2014\u6cdb\u77e5\u8bc6\u5de5\u4f5c\u5f80\u5f80\u610f\u5473\u7740\u4e00\u6b3e\u5de5\u5177\u5728\u6bcf\u4e2a\u7ec6\u5206\u573a\u666f\u90fd\u4e0d\u591f\u6df1\u3002\u82e5Kimi Work\u80fd\u63d0\u4f9b\u53ef\u914d\u7f6e\u7684\u5b89\u5168\u6c99\u7bb1\u4e0e\u8f7b\u91cf\u7ea7\u672c\u5730\u6a21\u578b\u9009\u9879\uff0c\u540c\u65f6\u805a\u7126\u4e00\u5230\u4e24\u4e2a\u5782\u76f4\u573a\u666f\uff08\u5982\u91d1\u878d\u6570\u636e\u5206\u6790\u548c\u53ef\u4ea4\u4ed8\u6587\u6863\u751f\u6210\uff09\u5c06\u5176\u505a\u900f\uff0c\u800c\u975e\u5806\u53e0\u529f\u80fd\uff0c\u624d\u6709\u673a\u4f1a\u4ece\u201c\u6709\u8da3\u7684\u684c\u9762\u5b9e\u9a8c\u201d\u8fdb\u5316\u4e3a\u201c\u77e5\u8bc6\u5de5\u4f5c\u8005\u7684\u9ed8\u8ba4\u64cd\u4f5c\u7cfb\u7edf\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Kimi Work<\/span>\n                <\/div>\n<div class=\"comment-content\">Kimi Work is a desktop agent for knowledge work. It connects to local files, uses WebBridge for browser automation, runs scheduled tasks, coordinates agent swarms, creates PPT\/Excel\/Word\/PDF outputs, and includes native finance data tools.<\/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>Kimi Work brings Kimi to the desktop as a local agent. It has access to your files, can run browser automation via <a href=\"https:\/\/www.producthunt.com\/products\/kimi-ai-assistant\/launches\/kimi-webbridge-2\" target=\"_blank\" rel=\"noopener\">WebBridge<\/a>, and supports running many agents in parallel for bigger tasks.<\/p>\n<p>It also includes a scheduler, so you can set up recurring jobs and let Kimi run them in the background.<\/p>\n<p>For heavier jobs, it can spin up the agent swarm \u2014 up to 300 agents working in parallel \u2014 then turn the result into Excel, PPT, Word, or PDF.<\/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\/@zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a>&nbsp;Interesting combination of features, especially the ability to analyze large batches of files alongside real-time web search. The enhanced image understanding also caught my eye. Curious, which use case are users gravitating toward most right now: research, coding, or content creation?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice! Like a part of the <a href=\"https:\/\/cmdop.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">cmdop.com<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Knowledge work tools often start as search systems but eventually become context systems.<\/p>\n<p>Have you found users spend more time retrieving information they&#8217;ve already seen, or building new knowledge structures that persist over time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A dedicated desktop for knowledge work rather than another chat tab is the right instinct \u2014 context-switching is what kills most AI workflows. Is the K2 model running locally for any of it, or all server-side?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 feels useful for people who jump btw files, browser tabs and docs all day. I like that it is not just chat but closer to a work desktop. How well the scheduled tasks work with local files<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you handle permissions around local files and web actions so it doesn\u2019t accidentally do something risky?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>cool idea!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>a desktop agent that can actually create finished PPT and Excel files instead of just talking about them is what I&#8217;ve been waiting for. most AI tools stop at &#8220;here&#8217;s a draft in chat&#8221; and then you spend 20 minutes copy-pasting into the actual document. the scheduled recurring tasks in the background is a nice touch too<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/NI7IIRK45XBSHH\" class=\"app-title\">BooBar<\/a><\/p>\n<div class=\"one-liner\">AI Dynamic Island for your Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">136<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>BooBar \u662f\u4e00\u6b3e\u5c06\u6587\u4ef6\u6574\u7406\u3001\u4e0b\u8f7d\u8fdb\u5ea6\u3001\u90ae\u7bb1\u9a8c\u8bc1\u7801\u3001\u6d4f\u89c8\u5668\u4e0a\u4e0b\u6587\u3001GitHub \u9762\u677f\u53ca AI \u7f16\u7a0b\u4efb\u52a1\u6574\u5408\u5230 Mac \u83dc\u5355\u680f\u7684\u672c\u5730\u4f18\u5148\u578b\u201cAI \u7075\u52a8\u5c9b\u201d\uff0c\u65e8\u5728\u89e3\u51b3\u591a\u7a97\u53e3\u9891\u7e41\u5207\u6362\u9020\u6210\u7684\u5de5\u4f5c\u6d41\u788e\u7247\u5316\u4e0e\u6ce8\u610f\u529b\u6d41\u5931\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\/2bfbe4ad-9096-4b39-844c-f64950232e7f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/babcf678-81ba-4670-81e7-924b53a7f591.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/46f955e6-7a8a-4ddc-a18a-e100fda47cef.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/75fbdc9d-eb7d-407d-b1f8-425968fddd02.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9ef0b853-b35b-487a-ac32-34293c2eefcc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/067b66e4-46e5-4c15-acd3-2ecc662ae110.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/45b75b5f-8016-4d85-bf84-0f8d5c8122ac.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c586ba46-d26e-40b5-b363-b703ed942865.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\">Task Management<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI \u7075\u52a8\u5c9b<\/span><br \/>\n            <span class=\"tag\">Mac \u83dc\u5355\u680f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6587\u4ef6\u667a\u80fd\u6574\u7406<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u805a\u5408<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u4e0b\u8f7d\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u90ae\u7bb1\u9a8c\u8bc1\u7801\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u591a\u4f1a\u8bdd\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/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\u5176\u201c\u51b7\u9759\u8868\u9762\u201d\u7406\u5ff5\uff0c\u5173\u6ce8\u70b9\u662f\uff1a\u80fd\u5426\u652f\u6301\u672c\u5730\u5927\u6a21\u578b\uff08\u76ee\u524d\u4ec5\u90e8\u5206\u517c\u5bb9 OpenAI \u63a5\u53e3\uff09\uff1bAI \u6587\u4ef6\u6574\u7406\u5982\u4f55\u907f\u514d\u5904\u7406\u654f\u611f\u6587\u4ef6\uff08\u652f\u6301\u81ea\u5b9a\u4e49\u76d1\u63a7\u6587\u4ef6\u5939\u3001\u672c\u5730\u89c4\u5219\u6a21\u5f0f\uff09\uff1b\u662f\u5426\u8ffd\u8e2a\u591a\u4e2a AI \u7f16\u7a0b\u4f1a\u8bdd\uff08\u5df2\u652f\u6301\uff09\uff1b\u8d44\u6e90\u5360\u7528\u4e0e\u9690\u79c1\u8fb9\u754c\uff08\u672c\u5730\u4f18\u5148\uff0c\u7f51\u7edc\u529f\u80fd\u53ef\u9009\u53ef\u5173\u95ed\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                BooBar \u6293\u4f4f\u4e86 Mac \u7528\u6237\u4e00\u4e2a\u975e\u5e38\u771f\u5b9e\u4e14\u666e\u904d\u5b58\u5728\u7684\u75db\u70b9\uff1a\u684c\u9762\u7a97\u53e3\u5806\u79ef\u5982\u5c71\uff0c\u800c\u6bcf\u4e00\u4e2a\u5fae\u5c0f\u6253\u65ad\uff08\u65b0\u4e0b\u8f7d\u6587\u4ef6\u3001\u9a8c\u8bc1\u7801\u3001AI agent \u62a5\u9519\uff09\u90fd\u53ef\u80fd\u6210\u4e3a\u6ce8\u610f\u529b\u9ed1\u6d1e\u3002\u5176\u5c06\u201c\u52a8\u6001\u5c9b\u201d\u9690\u55bb\u4ece iPhone \u79fb\u690d\u5230 Mac \u83dc\u5355\u680f\uff0c\u672c\u8d28\u4e0a\u521b\u9020\u4e86\u4e00\u4e2a\u53ef\u7f16\u7a0b\u7684 **\u8d85\u8f7b\u91cf\u7ea7\u4e0a\u4e0b\u6587\u4fa7\u8f66**\uff0c\u8fd9\u6bd4\u5355\u7eaf\u7684\u6587\u4ef6\u6574\u7406\u6216\u901a\u77e5\u4e2d\u5fc3\u66f4\u5177\u5f00\u521b\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                **\u4ef7\u503c\u663e\u6027\uff0c\u4f46\u98ce\u9669\u9690\u4f0f\u3002** \u771f\u6b63\u7684\u4eae\u70b9\u5728\u4e8e\u201c\u672c\u5730\u4f18\u5148\u201d\u548c\u201c\u641c\u7d22\u5f0f\u56de\u987e\u201d\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u53d6\u4ee3 Finder \u6216\u6d4f\u89c8\u5668\uff0c\u800c\u662f\u4e3a\u788e\u7247\u4fe1\u606f\u5efa\u7acb\u4e86\u4e00\u4e2a\u4e34\u65f6\u7684\u3001\u53ef\u56de\u6eaf\u7684\u201c\u5de5\u4f5c\u6d41\u7f13\u5b58\u201d\u3002\u5c24\u5176\u5bf9\u5f00\u53d1\u8005\u7fa4\u4f53\u800c\u8a00\uff0c\u96c6\u6210\u4e86 Codex\/Claude \u591a\u4f1a\u8bdd\u72b6\u6001\u76d1\u63a7\uff0c\u662f\u7cbe\u51c6\u8e29\u4e2d\u4e86 AI \u7f16\u7a0b\u201c\u591a\u7ebf\u7a0b\u7126\u8651\u201d\u7684\u75db\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                **\u7136\u800c\uff0c\u6210\u8d25\u7684\u547d\u95e8\u662f\u201c\u667a\u80fd\u5ea6\u201d\u4e0e\u201c\u81ea\u7531\u5ea6\u201d\u7684\u5e73\u8861\u3002** \u76ee\u524d AI \u6587\u4ef6\u6574\u7406\u4f9d\u8d56\u4e91\u7aef\uff08\u5373\u4f7f\u53ef\u9009\uff09\uff0c\u5176\u201c\u731c\u6d4b\u201d\u7ed3\u679c\u7684\u51c6\u786e\u7387\u662f\u5bf9\u7528\u6237\u8010\u5fc3\u7684\u76f4\u63a5\u8003\u9a8c\u3002\u4e00\u65e6\u8bef\u5224\uff0c\u6bd4\u624b\u52a8\u6574\u7406\u66f4\u8ba9\u4eba\u5d29\u6e83\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u8bc4\u8bba\u7528\u6237\u53cd\u590d\u8ffd\u95ee\u7684\u201c\u672c\u5730 LLM \u652f\u6301\u201d\u548c\u201c\u654f\u611f\u6587\u4ef6\u9632\u62a4\u201d\uff0c\u6070\u6070\u662f\u5176\u201c\u51b7\u9759\u8868\u9762\u201d\u4fe1\u4efb\u57fa\u77f3\u7f3a\u5931\u7684\u4f53\u73b0\u2014\u2014\u82e5\u4e0d\u80fd\u627f\u8bfa\u201c\u7edd\u5bf9\u672c\u5730\uff0c\u7edd\u5bf9\u79c1\u5bc6\u201d\uff0cAI \u6574\u7406\u7684\u4fe1\u4efb\u5ea6\u5c31\u4f1a\u5927\u6253\u6298\u6263\u3002\n            <\/p>\n<p class=\"ai-content\">\n                **\u4e00\u53e5\u8bdd\u9510\u8bc4\uff1a** \u5b83\u662f\u4e00\u4e2a\u6781\u5177\u5de7\u601d\u7684\u201c\u5de5\u4f5c\u6d41\u5bfc\u7ba1\u201d\uff0c\u4f46\u5982\u679c AI \u63a8\u8350\u53d8\u6210\u65b0\u7684\u566a\u97f3\uff0c\u800c\u9690\u79c1\u627f\u8bfa\u6d41\u4e8e\u53e3\u53f7\uff0c\u5c31\u53ea\u4f1a\u6ca6\u4e3a\u83dc\u5355\u680f\u4e0a\u53c8\u4e00\u4e2a\u9700\u8981\u88ab\u5173\u6389\u7684\u56fe\u6807\u3002\u4e0b\u4e00\u4e2a\u66f4\u65b0\u91cd\u70b9\u4e0d\u662f\u529f\u80fd\u5806\u53e0\uff0c\u800c\u662f\u8bc1\u660e\u81ea\u5df1\u771f\u7684\u201c\u591f\u5b89\u9759\u3001\u591f\u667a\u80fd\u3001\u591f\u79c1\u5bc6\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\">BooBar<\/span>\n                <\/div>\n<div class=\"comment-content\">BooBar is a local-first AI Dynamic Island for Mac that brings file organization, download progress, email codes, browser context, GitHub panels, and Codex\/Claude tasks into one calm menu bar workspace.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built BooBar because my Mac workflow kept getting split across too many places: Finder for messy downloads, Chrome for web resources, Mail for verification codes, terminal windows for Codex and Claude Code, and random screenshots or files I would forget about five minutes later.<\/p>\n<p>I wanted a calmer layer above all of that.<\/p>\n<p>BooBar is an AI Dynamic Island for Mac. It lives in the menu bar and turns small workflow events into lightweight, searchable signals: new files, download progress, email codes, browser context, GitHub panels, and AI coding agent tasks.<\/p>\n<p>The first version started as an AI file organizer. When a file lands in Downloads or Desktop, BooBar waits until it is stable, creates a File Card, extracts useful clues like summaries, OCR text, keywords, sensitivity hints, and archive suggestions, then lets me confirm or automate the next step.<\/p>\n<p>Over time, it became broader than file cleanup. I added download monitoring, browser resource detection, web page pins, Google bookmark AI summaries, email code collection, a GitHub-style terminal dashboard, and status tracking for Codex and Claude Code.<\/p>\n<p>The goal is not to replace Finder, Mail, Chrome, or coding agents. It is to give them a quiet shared surface at the top of the screen, so I can stay focused and still know what needs attention.<\/p>\n<p>BooBar is local-first by default. File watching, stability checks, basic classification, and action history run on your Mac. Cloud AI is optional and can be limited to File Card snippets instead of full files.<\/p>\n<p>I would love feedback from Mac users, developers, and anyone whose Downloads folder is quietly plotting against them.<\/p>\n<p>What would you want your Mac\u2019s AI Dynamic Island to watch for?<\/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\/@new_user___1462026db37a4cc3a5c424a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@new_user___1462026db37a4cc3a5c424a<\/a>&nbsp;Love the calm-surface idea. Quick question for Mac power users and devs: what are the tiny, repeatable interruptions in your current Mac workflow that steal your focus and which of those would you most want BooBar to surface as a single actionable card instead of a full app notification?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Turning the Mac notch into a live AI surface is a fun use of dead screen real estate \u2014 the Dynamic Island metaphor fits the desktop better than I expected. Does it surface app-specific actions or stay system-wide?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@oleksii_sekundant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oleksii_sekundant<\/a>&nbsp;Thanks! BooBar is mostly system-wide today<\/p>\n<p>It does have some app-connected actions already, but they are tied to specific integrations rather than being a full per-app action layer. For example, it can open related GitHub items, jump back to monitored web pages, show coding session status, handle download\/file review actions, and surface mail links or codes.<\/p>\n<p>The direction is definitely to make this more app-aware over time: richer actions per integration, better deep links back into the source app or page, and clearer controls for what each app can contribute.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice idea. Does BooBar support multiple Claude\/Codex sessions at once or just one at a time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;Yes, BooBar is built to track multiple Claude\/Codex sessions at the same time.<\/p>\n<p>The idea is that it can surface several active coding sessions in the island\/task panel, show which ones are running, completed, or waiting for approval, and let you jump back to the relevant session when needed. So it\u2019s not limited to a single session.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how the AI file organization works with sensitive files. Does BooBar automatically avoid processing certain folders or file types? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@daniel_henry4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_henry4<\/a>&nbsp;<\/p>\n<p>By default, BooBar does not scan your whole Mac. You choose the folders BooBar watches, and it only reacts to files in those configured locations. <\/p>\n<p>For many files, BooBar can use local metadata, filenames, paths, extensions, and extracted text snippets to suggest an organization result. You can also run it in local-rules mode, where files are organized without sending content to any cloud AI provider.<\/p>\n<p>For sensitive files, the current recommended setup is:<\/p>\n<p>only add specific watch folders you are comfortable monitoring<\/p>\n<p>exclude private folders and file extensions in settings<\/p>\n<p>use local rules or local LLM analysis instead of cloud AI<\/p>\n<p>manually confirm lower-confidence organization suggestions before files are moved<\/p>\n<p>A future improvement we\u2019re considering is a dedicated \u201cSensitive File Guard\u201d: BooBar would automatically detect patterns like bank statements, IDs, contracts, private keys, medical files, payroll documents, and password-like content, then either skip AI processing entirely or force local-only\/manual review mode. This would make privacy protection more automatic, while still keeping file organization useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Downloads folder quietly plotting against you is the most accurate description of my mac right now. the file card idea is smart&#8230; auto-extracting summaries and keywords from whatever lands in downloads instead of just dumping everything into a pile. the email code collection alone would save me so much tab switching<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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. That chaos in Downloads is basically the problem BooBar is trying to fix.<\/p>\n<p>The File Card is meant to make every new file explain itself first: what it is, a short summary, useful keywords, suggested folder\/name, and whether it needs manual confirmation. So instead of throwing everything into one pile, BooBar turns new files into small, reviewable decisions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does it work with local llms?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;<br \/>Yes, partially. BooBar currently supports OpenAI-compatible AI endpoints, so if your local LLM server exposes an OpenAI-style API, such as Ollama, LM Studio, or another compatible gateway, you can usually point BooBar at that local base URL and use it that way.<\/p>\n<p>That said, we still consider first-class local LLM support a work in progress. The current path depends on how complete the local server\u2019s OpenAI compatibility is, and some model\/tooling behaviors may differ from cloud providers. We\u2019re planning to make this smoother with clearer presets, local provider docs, and better fallback handling 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>Love the local-first angle on keeping work context in one surface. How heavy is the menu bar watcher on resources, and how do you handle sensitive items like email codes \/ file contents (what never leaves the Mac)?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@leventbuilds\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@leventbuilds<\/a>&nbsp;<br \/>Thanks! BooBar is designed to stay lightweight: the menu bar watcher uses local timers and macOS-native event hooks where possible, and most monitors only wake up when there is something relevant to check or show. The current build is still early, so we are continuing to tune polling intervals, idle behavior, and resource usage, but the goal is for it to feel like a quiet background utility rather than a constantly busy app.<\/p>\n<p>On privacy: the default direction is local-first. File watching, local file metadata, screenshots\/notes, reminders, and the desktop context surface are handled on the Mac. Sensitive items like email verification codes are extracted locally for quick access. BooBar does not need to upload raw email contents or local file contents just to show those desktop highlights.<\/p>\n<p>There are a few optional features that may contact external services, such as subscription\/license checks, web page monitoring, or user-enabled AI features. We are working on making those boundaries clearer in the UI and docs, including exactly what is processed locally, what may leave the Mac, and how to disable network-backed features. Privacy controls and more transparent resource reporting are near-term improvements.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/PTJPQWOSCHUMYY\" class=\"app-title\">Fluido<\/a><\/p>\n<div class=\"one-liner\">Turn any Figma shape into liquid metal in one click<\/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>Fluido \u662f\u4e00\u6b3e\u5d4c\u5165 Figma \u7684\u751f\u6210\u5f0f\u8bbe\u8ba1\u63d2\u4ef6\uff0c\u8ba9\u8bbe\u8ba1\u5e08\u65e0\u9700\u8df3\u8f6c\u81f3 Blender \u6216 Photoshop\uff0c\u4e00\u952e\u5c06\u4efb\u610f\u77e2\u91cf\u5f62\u72b6\u3001\u6587\u5b57\u6216\u6846\u67b6\u8f6c\u5316\u4e3a\u903c\u771f\u7684\u6db2\u6001\u91d1\u5c5e\/\u94ec\u6548\u679c\uff0c\u75db\u70b9\u5728\u4e8e\u5927\u5e45\u964d\u4f4e\u590d\u6742\u6750\u8d28\u52a8\u6548\u7684\u5236\u4f5c\u95e8\u69db\u4e0e\u8de8\u8f6f\u4ef6\u8017\u65f6\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/266dc1e2-6395-4ee3-8ca7-ab8ee3e439fa.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\/b6424bcc-0b91-4107-ad21-caa2c1103428.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\/638b951a-7612-4275-a4ba-2ddfb8a13064.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\/77be595a-7af9-43fc-9b42-cc02072b26ab.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/GDo2WNkDN2U\"><source src=\"https:\/\/youtu.be\/GDo2WNkDN2U\" 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\">Graphic Design<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Figma\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u751f\u6210\u5f0f\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u6db2\u6001\u91d1\u5c5e<\/span><br \/>\n            <span class=\"tag\">\u94ec\u6548\u679c<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u7279\u6548<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u77e2\u91cf\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u4e00\u952e\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u6750\u8d28\u4eff\u771f<\/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\u8282\u7701\u8de8\u8f6f\u4ef6\u64cd\u4f5c\u65f6\u95f4\u7684\u6548\u679c\uff0c\u5c24\u5176\u559c\u6b22\u5bf9\u6587\u5b57\u56fe\u5c42\u751f\u6548\u7684\u7279\u6027\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\u751f\u6210\u540e\u5f62\u72b6\u662f\u5426\u53ef\u7f16\u8f91\u3002\u5f00\u53d1\u8005\u660e\u786e\u56de\u590d\uff1a\u6548\u679c\u5b8c\u5168\u52a8\u6001\uff0c\u4fee\u6539\u5f62\u72b6\u540e\u91cd\u65b0\u8fd0\u884c\u63d2\u4ef6\u5373\u53ef\u81ea\u9002\u5e94\u3002\u6709\u7528\u6237\u5efa\u8bae\u589e\u52a0\u66f4\u7cbe\u7ec6\u7684\u540e\u671f\u63a7\u5236\u53c2\u6570\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                Fluido \u8e29\u4e2d\u4e86\u5f53\u524d\u4e24\u4e2a\u660e\u786e\u7684\u8d8b\u52bf\uff1a\u4e00\u662f\u201c3D \u8d28\u611f\u5728\u793e\u4ea4\u5a92\u4f53\u7d20\u6750\u4e2d\u7684\u6cdb\u6ee5\u5f0f\u9700\u6c42\u201d\uff0c\u4e8c\u662f\u201cFigma \u4ece\u5c4f\u5e55\u8bbe\u8ba1\u5de5\u5177\u5411\u5168\u6d41\u7a0b\u8f7b\u91cf\u521b\u610f\u5de5\u5177\u7684\u6269\u5f20\u201d\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u66ff\u4ee3 Blender \u6216 C4D\u2014\u2014\u90a3\u662f\u4e0d\u81ea\u91cf\u529b\u7684\u53e3\u53f7\uff0c\u800c\u5728\u4e8e\u5728\u65e5\u5e38\u8bbe\u8ba1\u5de5\u4f5c\u7684\u201c\u7f1d\u9699\u573a\u666f\u201d\u4e2d\uff0c\u5b9e\u73b0\u4e86\u201c\u6b21\u54c1\u7ea7\u201d\u4f46\u4e0d\u662f\u201c\u96f6\u5206\u201d\u76843D\u8d28\u611f\u8f93\u51fa\u3002\u5bf9\u4e8e\u4ea7\u54c1\u8bbe\u8ba1\u5e08\u3001\u5e02\u573a\u7269\u6599\u5236\u4f5c\u4ee5\u53ca\u72ec\u7acb\u5f00\u53d1\u8005\u800c\u8a00\uff0c\u8fd9\u79cd\u201c\u8db3\u591f\u597d\u7684\u5feb\u901f\u65b9\u6848\u201d\u5f80\u5f80\u6bd4\u201c\u9876\u7ea7\u4f46\u8d39\u65f6\u7684\u65b9\u6848\u201d\u66f4\u6709\u5546\u4e1a\u4ea7\u51fa\u6548\u7387\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ece\u4ea7\u54c1\u7eb5\u6df1\u6765\u770b\uff0c\u98ce\u9669\u540c\u6837\u6e05\u6670\uff1a\u63d2\u4ef6\u7c7b\u5de5\u5177\u9996\u5c42\u521b\u65b0\u6613\u88ab\u5927\u5382\u5185\u7f6e\u529f\u80fd\u6216\u7ade\u54c1\u5feb\u901f\u590d\u5236\uff0c\u4e14\u5f53\u524d\u6548\u679c\u504f\u5411\u91cd\u91d1\u5c5e\/\u5149\u6cfd\u98ce\u683c\uff0c\u5ba1\u7f8e\u5ef6\u5c55\u6027\u6709\u9650\u3002\u5b83\u9700\u8981\u4e00\u4e2a\u660e\u786e\u7684\u8fdb\u5316\u8def\u5f84\uff1a\u8981\u4e48\u6210\u4e3a Figma \u5185\u53ef\u8c03\u7528\u7684 \u201cShader \u8d44\u6e90\u5e93\u201d\uff08\u6269\u98ce\u683c\u3001\u9884\u7ed1\u6750\u8d28\uff09\uff0c\u8981\u4e48\u5411\u52a8\u753b\/\u4ea4\u4e92\u5c42\u5ef6\u4f38\uff08\u7c7b\u4f3c Houdini \u7684\u5b9e\u65f6\u6d41\u4f53\u6a21\u62df\u4f46\u8f7b\u91cf\u5316\uff09\u3002\u5426\u5219\uff0c\u4e00\u65e6 Figma \u5b98\u65b9\u589e\u5f3a\u5176\u6548\u679c\u586b\u5145\u80fd\u529b\uff0c\u6216\u7c7b\u4f3c Rive \u7b49\u5de5\u5177\u66f4\u6df1\u5ea6\u5730\u62e5\u62b1\u8bbe\u8ba1\u8bed\u8a00\uff0cFluido \u5f88\u5bb9\u6613\u6ca6\u4e3a \u201c\u4e00\u65f6\u60ca\u8273\u7684\u73a9\u5177\u201d\u3002\u76ee\u524d\u5b83\u7684\u58c1\u5792\u4e0d\u5728\u6280\u672f\u590d\u6742\u5ea6\uff0c\u800c\u5728\u793e\u533a\u751f\u6001\u2014\u2014\u5982\u679c\u7528\u6237\u80fd\u6301\u7eed\u751f\u6210\u5e76\u5206\u4eab\u521b\u610f\u6a21\u7248\uff0c\u5f62\u6210\u201c\u53ef\u590d\u7528\u7684\u89c6\u89c9\u8d44\u4ea7\u4f1a\u6240\u201d\uff0c\u90a3\u624d\u7b97\u662f\u4ece\u5de5\u5177\u5411\u5e73\u53f0\u8de8\u51fa\u4e86\u534a\u6b65\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\">Fluido<\/span>\n                <\/div>\n<div class=\"comment-content\">Fluido is a generative design tool that brings the mesmerizing aesthetic of liquid metal and chrome directly into your Figma canvas. Transform vectors, text, or frames into organic, fluid masterpieces instantly.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\ud83d\udc4b Hey Product Hunt! I&#8217;m Ihor, the maker behind Fluido.<br \/>\nHonestly, as a designer, I&#8217;ve always been obsessed with those sleek liquid metal, chrome, and &#8220;lava&#8221; effects. But let&#8217;s be real &#8211; creating them is usually a pain. You either spend hours searching for the perfect stock image, or you have to jump into heavy 3D tools like Blender just to get a simple shape right. I really wanted to bring that generative power directly into the workflow where we actually do our design &#8211; Figma.<br \/>\nSo, I built Fluido to fix exactly that. I spent a lot of time tweaking the engine under the hood to make sure the chromatic aberrations, lighting, and metallic textures look completely natural. Now, instead of switching apps, you can just apply complex fluid shaders directly to your regular vector shapes, typography, or frames with one click.<br \/>\nThe workflow is super simple:<br \/>\nGrab any layer (text, shape, frame).<br \/>\nFire up Fluido.<br \/>\nPlay around with the sliders (refraction, contour, softness, etc.) until your design melts exactly how you want it.<br \/>\nApply to canvas!<br \/>\nI\u2019d absolutely love to hear what you all think. Drop your feedback, feature ideas, or even the wild designs you end up creating with it! I&#8217;ll be hanging out in the comments all day, so feel free to ask me anything. Cheers! \ud83d\ude80<\/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\/@ibl_prd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ibl_prd<\/a>&nbsp;congrats on the launch Ihor. How much control is there of effects after generation?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 super slick. honestly been waiting for something like this so i don&#8217;t have to jump into photoshop just for quick chrome assets. added to my figma rn. great job<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The one-click liquid-metal effect is genuinely satisfying to watch, and doing it natively in Figma instead of bouncing to After Effects saves a real step. Does it stay editable as a shape after the effect is applied?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@oleksii_sekundant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oleksii_sekundant<\/a>&nbsp;Yes, absolutely! The effect is completely dynamic. You can change or edit the shape at any point, and the liquid-metal effect will adapt to the new geometry. If you modify the shape or generate a new pattern, you just need to re-run or update it within the plugin, and it will automatically calculate and adapt the effect to the fresh form. No need to start from scratch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Simple but powerful! Love this kind of solutions and wish you all the best here Ihor!<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank you so much! Truly appreciate the kind words and the support. \ud83d\ude80\u2728<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the liquid chrome aesthetic is everywhere in social content right now and getting it right usually means bothering a 3D artist or spending hours in blender. one-click inside figma is a much easier workflow. the fact that it works on text layers too is great for social media headers and brand assets<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;That\u2019s 100% true. While it\u2019s obviously not a replacement for full-scale 3D production, it\u2019s a massive quality-of-life upgrade for product and visual designers. Being able to skip the render pipeline for quick, high-fidelity visual assets is exactly the shortcut we needed!<\/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>Not a designer by trade, mostly a solo dev who struggles with visuals. Tried Fluido on a text layer in Figma and the result was genuinely impressive for zero effort. The Figma integration feels native, not like a bolted-on plugin. That alone makes it worth it for developers who want polished assets without switching tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@keirodev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@keirodev<\/a>&nbsp;To be honest, I originally built Fluido just to scratch my own itch for a project I was working on \ud83d\ude02, but during the process, I realized how much time it could save others too. It\u2019s awesome to hear that it&#8217;s helping solo devs bypass the visual struggle and get polished, high-fidelity assets in just a few clicks. Thank you so much for the feedback! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/VZYEGPKBWDVKAI\" class=\"app-title\">hora Calendar<\/a><\/p>\n<div class=\"one-liner\">Google calendar built for the Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">123<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>hora Calendar\u662f\u4e00\u6b3e\u4e3a\u91cd\u5ea6Google Calendar\u7528\u6237\u6253\u9020\u7684macOS\u539f\u751f\u65e5\u5386\u5e94\u7528\uff0c\u901a\u8fc7\u5728\u83dc\u5355\u680f\u663e\u793a\u65e5\u7a0b\u3001\u4e00\u952e\u52a0\u5165\u4f1a\u8bae\u548c\u81ea\u7136\u8bed\u8a00\u5feb\u901f\u521b\u5efa\u4e8b\u4ef6\uff0c\u89e3\u51b3\u7528\u6237\u9891\u7e41\u5207\u6362\u6d4f\u89c8\u5668\u5e26\u6765\u7684\u6d41\u7a0b\u4e2d\u65ad\u4e0e\u6548\u7387\u635f\u5931\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\/977afd47-5d8e-44e3-96c4-ce2174693de7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bc86a100-a682-42fd-8648-ce03244f8e3a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7f677474-fd72-48be-b38f-f7835edca9cd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b49f0eee-3a67-457b-8e0b-aae74021643a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/96892429-8818-4ab5-8b32-65767507a29a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cdaf8794-ccd9-4b3d-bd6d-1e4d8cb2b085.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/906e547e-f8b0-4cd5-83ed-b0a4d165aa56.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ce693d09-cfee-4dc8-a3cb-d5bfdec6d0e3.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\/6f864da3-c7b9-4f30-839d-e4a7792c047b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/_af5IoREnAY\"><source src=\"https:\/\/youtu.be\/_af5IoREnAY\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Calendar<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS\u539f\u751f\u65e5\u5386<\/span><br \/>\n            <span class=\"tag\">Google\u65e5\u5386\u5ba2\u6237\u7aef<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u65e5\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u4e00\u952e\u52a0\u5165\u4f1a\u8bae<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u5feb\u901f\u6dfb\u52a0<\/span><br \/>\n            <span class=\"tag\">\u4e13\u6ce8\u65f6\u95f4\u5b89\u6392<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u591a\u8d26\u6237\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\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\u8bc4\u4ef7\u83dc\u5355\u680f\u65e5\u7a0b\u548c\u4e00\u952e\u52a0\u5165\u4f1a\u8bae\u529f\u80fd\uff0c\u8ba4\u4e3a\u662f\u65e5\u5e38\u6d41\u7a0b\u4e2d\u6700\u5927\u7684\u6469\u64e6\u79fb\u9664\u70b9\u3002\u6709\u7528\u6237\u8be2\u95eeAI\u529f\u80fd\uff08\u5982\u4f1a\u8bae\u6458\u8981\uff09\u7684\u9690\u79c1\u754c\u9650\u4e0e\u8861\u91cf\u6807\u51c6\uff0c\u5f00\u53d1\u8005\u4e5f\u5766\u8bda\u56de\u5e94\uff1aAI\u529f\u80fd\u5fc5\u987b\u51cf\u5c11\u64cd\u4f5c\u6b65\u9aa4\u800c\u975e\u589e\u52a0\u590d\u6742\u5ea6\uff0c\u6240\u6709\u6d89\u53ca\u4e8b\u4ef6\u5185\u5bb9\u7684\u6570\u636e\u5904\u7406\u90fd\u5728\u8bbe\u5907\u7aef\u672c\u5730\u5b8c\u6210\u3002\u53e6\u6709\u7528\u6237\u8d5e\u8d4f\u5176\u76f4\u63a5\u540c\u6b65Google API\u3001\u4e0d\u4ee3\u7406\u5b58\u50a8\u6570\u636e\u7684\u6781\u7b80\u9690\u79c1\u67b6\u6784\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                hora Calendar \u7684\u8bde\u751f\u80cc\u666f\uff0c\u662f\u4e00\u4e2a\u5178\u578b\u7684\u201c\u6d4f\u89c8\u5668\u5e94\u7528\u5f3a\u8feb\u75c7\u201d\u60a3\u8005\u7684\u81ea\u6551\u3002Google Calendar \u529f\u80fd\u5f3a\u5927\uff0c\u4f46\u5728 macOS \u4e0a\u4f5c\u4e3a PWA \u4f7f\u7528\uff0c\u5176\u4f53\u9a8c\u59cb\u7ec8\u662f\u201c\u5ba2\u5c45\u201d\u7684\u2014\u2014\u5b83\u4e0d\u5c5e\u4e8e\u684c\u9762\uff0c\u4f60\u6c38\u8fdc\u9700\u8981\u4e00\u4e2a\u6807\u7b7e\u9875\u3001\u4e00\u6b21\u5207\u6362\u3001\u4e00\u6b21\u52a0\u8f7d\u3002hora \u7684\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u4e00\u5806\u82b1\u54e8\u7684\u65e5\u5386\u529f\u80fd\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5730\u8bc6\u522b\u5e76\u94f2\u9664\u4e86\u4e00\u7c7b\u5fae\u5999\u4f46\u9ad8\u9891\u7684\u201c\u6469\u64e6\u201d\uff1a\u5728\u6d4f\u89c8\u5668\u4e0e\u684c\u9762\u73af\u5883\u95f4\u4e3a\u67e5\u770b\u65e5\u7a0b\u800c\u505a\u7684\u6bcf\u4e00\u6b21\u8df3\u8f6c\u3002\u83dc\u5355\u680f\u65e5\u7a0b\u9884\u89c8\u548c\u4e00\u952e\u52a0\u5165\u4f1a\u8bae\uff0c\u5c31\u662f\u8fd9\u4e2a\u903b\u8f91\u7684\u6781\u81f4\u4f53\u73b0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u67b6\u6784\u4e0a\uff0c\u5f00\u53d1\u8005\u7684\u6289\u62e9\u6781\u4e3a\u660e\u667a\u3002\u76f4\u63a5\u4e0e Google API \u540c\u6b65\uff0c\u4e0d\u8bbe\u4e2d\u95f4\u670d\u52a1\u5668\uff0c\u4e0d\u4ec5\u662f\u9690\u79c1\u4e0a\u7684\u201c\u786c\u6c14\u201d\uff0c\u66f4\u662f\u8fd0\u7ef4\u548c\u4fe1\u4efb\u7684\u8f7b\u91cf\u5316\u7b56\u7565\u3002\u8fd9\u4f7f\u5f97\u4ea7\u54c1\u53ef\u4ee5\u4e13\u6ce8\u4e8e\u6253\u78e8 SwiftUI + AppKit \u7684 native \u8d28\u611f\uff0c\u800c\u975e\u5728\u6570\u636e\u540c\u6b65\u7684\u6ce5\u6f6d\u4e2d\u6323\u624e\u3002\u8fd9\u5728\u72ec\u7acb\u5f00\u53d1\u8005\u4ea7\u54c1\u4e2d\u5c24\u4e3a\u53ef\u8d35\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u98ce\u9669\u540c\u6837\u5728\u6b64\u3002\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u51e0\u4e4e\u5b8c\u5168\u5efa\u7acb\u5728\u201cApple \u751f\u6001\u4f53\u9a8c\u201d\u548c\u201c\u5f00\u53d1\u8005\u4e2a\u4eba\u54c1\u5473\u201d\u4e4b\u4e0a\u3002Apple \u81ea\u8eab\u82e5\u5c06 Calendar Widget \u6216 Spotlight \u65e5\u7a0b\u96c6\u6210\u505a\u5f97\u8db3\u591f\u597d\uff0chora \u7684\u5dee\u5f02\u5316\u4f18\u52bf\u5c06\u77ac\u95f4\u88ab\u7a00\u91ca\u3002\u6b64\u5916\uff0c\u7528\u6237\u8bc4\u8bba\u4e2d\u63d0\u53ca\u7684 AI \u8def\u7ebf\u56fe\uff0c\u5982\u81ea\u7136\u8bed\u8a00\u6dfb\u52a0\u548c\u4f1a\u8bae\u6458\u8981\uff0c\u867d\u7136\u5f00\u53d1\u8005\u5728\u539f\u5219\uff08\u672c\u5730\u5904\u7406\u3001\u964d\u4f4e\u51b3\u7b56\u6210\u672c\uff09\u4e0a\u601d\u8003\u6210\u719f\uff0c\u4f46\u843d\u5730\u9762\u4e34\u5de8\u5927\u6311\u6218\u3002\u672c\u5730\u6a21\u578b\u80fd\u529b\u662f\u5426\u8db3\u4ee5\u5728\u4e0d\u5f15\u5165\u201c\u5ba1\u6838\u4fee\u6539\u201d\u5f0f\u989d\u5916\u8d1f\u62c5\u7684\u60c5\u51b5\u4e0b\uff0c\u51c6\u786e\u7406\u89e3\u5e76\u6267\u884c\u7528\u6237\u610f\u56fe\uff1f\u82e5 AI \u751f\u6210\u7ed3\u679c\u4ecd\u9700\u9891\u7e41\u624b\u52a8\u7ea0\u6b63\uff0c\u53cd\u800c\u4f1a\u80cc\u79bb\u201c\u51cf\u5c11\u64cd\u4f5c\u201d\u7684\u521d\u8877\uff0c\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u5197\u4f59\u7684 AI \u529f\u80fd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u7ec8\uff0chora Calendar \u662f\u4e00\u4e2a\u5c0f\u800c\u7f8e\u7684\u6548\u7387\u5de5\u5177\uff0c\u503c\u5f97\u6240\u6709 Google Calendar \u91cd\u5ea6\u7528\u6237\u4e00\u8bd5\u3002\u4f46\u5b83\u66f4\u50cf\u662f\u5f00\u53d1\u8005\u4e2a\u4eba\u7406\u5ff5\u7684\u5b8c\u7f8e\u5b9e\u8df5\uff0c\u800c\u975e\u80fd\u591f\u5927\u89c4\u6a21\u5546\u4e1a\u5316\u7684\u5e73\u53f0\u4ea7\u54c1\u3002\u5176\u957f\u671f\u7684\u751f\u5b58\u7a7a\u95f4\uff0c\u53d6\u51b3\u4e8e\u80fd\u5426\u5728 Apple \u751f\u6001\u6324\u538b\u548c\u7528\u6237\u5bf9\u201c\u6781\u81f4 native \u4f53\u9a8c\u201d\u7684\u4ed8\u8d39\u610f\u613f\u4e4b\u95f4\uff0c\u627e\u5230\u4e00\u4e2a\u8db3\u591f\u72ed\u7a84\u4f46\u771f\u5b9e\u7684\u751f\u5b58\u7f1d\u9699\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\">hora Calendar<\/span>\n                <\/div>\n<div class=\"comment-content\">hora Calendar is a native Mac app for Google Calendar. See your next meeting in the menu bar, join Meet, Zoom, and Teams in one click, create events fast, schedule focus time, and sync directly with Google without proxying calendar data through hora servers.<\/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><strong>hora Calendar<\/strong> is a fast, native Mac app for people who live in Google Calendar but don\u2019t want to keep a web app open all day.<\/p>\n<p>I built it because Google Calendar is great, but on macOS it still feels like something you visit in a browser instead of something that belongs on your desktop. I wanted my next meeting in the menu bar, one-click meeting joins, quick event creation, focus time scheduling, and a calendar that feels native to the Mac.<\/p>\n<p>hora is built with SwiftUI + AppKit, supports multiple Google accounts, Meet\/Zoom\/Teams links, natural language quick add, themes, and direct Google API sync. Calendar data syncs directly between your Mac and Google. hora does not proxy or store your calendar data on its own servers.<\/p>\n<p>I\u2019d love feedback from calendar-heavy Mac users, especially around workflows that still pull you back into the browser.<\/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\/@szamski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@szamski<\/a>&nbsp;congrats on the launch Maciej. What would you say is the biggest friction remover in hora?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>As someone who spends a lot of time in Google Calendar, I can definitely relate to the feeling of constantly jumping back to a browser tab just to check what&#8217;s next.<\/p>\n<\/p>\n<p>I really like the focus on keeping everything native to the Mac. Features like the menu bar view, quick event creation, and one-click meeting joins sound like small things that can make a big difference throughout the day.<\/p>\n<p>Also great to see the privacy-focused approach with direct Google sync and no extra storage of calendar 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gabriella_anjani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gabriella_anjani<\/a>&nbsp;That browser tab thing is exactly what broke my flow every day. The menu bar widget came from that frustration directly &#8211; one glance, next meeting, join button. No switching.<\/p>\n<\/p>\n<p>Glad the privacy angle lands. It&#8217;s not marketing, it&#8217;s just how the architecture works. No backend means nothing to store. After I developed my skills more and understood how stuff works not only looks I was astonished that we are giving so much of our data not only to the big players such Google, but also others totally for free, or sometimes we are even paying for this \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\">Your roadmap mentions Apple Intelligence for quick add, focus time planning, and TL;DR meeting summaries. What\u2019s your bar for shipping AI features in a calendar\u2014what has to be on-device\/private, and how will you measure whether these features reduce planning time rather than add complexity?<\/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\/@curiouskitty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@curiouskitty<\/a>&nbsp;Good question, and honestly one I think about a lot.<\/p>\n<p>My bar for AI in a calendar is simple: it has to reduce the number of taps or decisions, not add a new surface to manage. If an AI feature requires me to review, confirm, or fix its output more than once a week, it failed.<\/p>\n<p><strong>On privacy: <\/strong>anything that touches event content, titles, or attendees stays on-device. Apple Intelligence is the right tool for that, because it runs locally and I don&#8217;t have to build a backend that sees your calendar data. That&#8217;s not a philosophical stance, it&#8217;s a product constraint I locked in early. <br \/>hora has no backend. It connects directly to Google Calendar API and that&#8217;s it.<\/p>\n<p>The three features on the roadmap reflect that:<\/p>\n<ol>\n<li>\n<p>Quick add via natural language: on-device, processes text locally before sending a structured request to Google Calendar API. No content leaves your Mac except the final event payload.<\/p>\n<\/li>\n<li>\n<p>Focus time planning: reads your existing calendar locally, suggests blocks. No server involved.<\/p>\n<\/li>\n<li>\n<p>TL;DR meeting summaries: this one I&#8217;m still figuring out. Summaries require reading event descriptions and potentially linked docs. I&#8217;ll likely keep it opt-in and on-device only, which limits what it can do, but that&#8217;s the right tradeoff.<\/p>\n<\/li>\n<\/ol>\n<p>How I&#8217;ll measure success: time from &#8220;I need to block time&#8221; to &#8220;done&#8221;. If it&#8217;s not faster than typing, it ships as an experiment, not a feature. I&#8217;m tracking session length and interaction counts in TestFlight already, so I&#8217;ll have a baseline. Obviously Apple yesterday showed us some new things, so it&#8217;ll help a lot, but it&#8217;ll be invisible for the user as something that works &#8220;just fine&#8221; not is another AI hype tool, that after a while feels redundant.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the one-click join for Meet, Zoom, and Teams\u2014it\u2019s amazing how much friction that removes from busy days.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@a_petukhov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@a_petukhov<\/a>&nbsp;Thanks! That was exactly the friction I wanted gone. Jumping between the calendar and three different apps to find the right link was driving me nuts, so hora pulls the join link straight from the event and puts it one click away. Really glad it lands \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>Nice work! Direct Google API sync without proxying data to your servers is a strong privacy stance.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Thanks. It&#8217;s also just the simpler architecture &#8211; fewer moving parts, fewer things that can break.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/7EQR22JDON7KXA\" class=\"app-title\">Reve 2.0<\/a><\/p>\n<div class=\"one-liner\">Generate and edit 4K images through layout-based control<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">109<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Reve 2.0\u901a\u8fc7\u201c\u5e03\u5c40\u4f18\u5148\u201d\u67b6\u6784\uff0c\u5c06\u56fe\u50cf\u5206\u5272\u4e3a\u53ef\u5bfb\u5740\u533a\u57df\uff0c\u89e3\u51b3\u8bbe\u8ba1\u5e08\u548c\u521b\u610f\u56e2\u961f\u5728AI\u56fe\u50cf\u751f\u6210\u4e2d\u65e0\u6cd5\u7cbe\u786e\u63a7\u5236\u6784\u56fe\u3001\u5c40\u90e8\u7f16\u8f91\u56f0\u96be\u7684\u6838\u5fc3\u75db\u70b9\uff0c\u652f\u6301\u539f\u751f4K\u8f93\u51fa\u4e0e\u65e0\u635f\u8fed\u4ee3\u7f16\u8f91\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\/d09de3a3-3496-44f9-8109-1364f86919a2.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=RtPWVSOE3tQ\"><source src=\"https:\/\/www.youtube.com\/watch?v=RtPWVSOE3tQ\" 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\/8b6682df-6bf9-40ae-a407-57a2c2127875.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2f4f9413-a2d4-4d55-bd73-adaa5b685af0.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\/68bbbabd-be4f-4593-9f2d-e3cde1b6844b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/783a6578-50ce-4a7c-9526-babce3ee38e1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b72072f8-b981-4810-9a47-6b0b6b07d073.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e9a19e9d-5944-46b8-8602-53bd65ac5d6e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5a8512c7-ac91-4af1-ae02-ab3a21e3ae67.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c2b199e4-6c83-4b51-bf3a-85752dc46d96.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/394033df-ee15-4113-9884-e54c4dba12de.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6e34e620-6f07-46d5-82a1-e88a849f268d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/da0047fc-d4dd-47e3-9a92-7ac27405c136.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/86f35622-622e-415e-b775-97e9eca58d8f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9d52d19c-853e-48c9-90fa-13cf20596bff.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Social Media<\/span><br \/>\n            <span class=\"tag\">Social media marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u56fe\u50cf\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5e03\u5c40\u4f18\u5148\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">4K\u56fe\u50cf\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u53ef\u5bfb\u5740\u533a\u57df<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u56fe\u50cf\u5408\u6210<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u6587\u672c\u5230\u56fe\u50cf<\/span><br \/>\n            <span class=\"tag\">\u65e0\u635f\u8fed\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u751f\u6210\u5f0fAI<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8d5e\u8d4f\u5e03\u5c40\u4f18\u5148\u65b9\u6cd5\u5e26\u6765\u7684\u7cbe\u786e\u63a7\u5236\u548c\u4f18\u79c0\u7f51\u9875\u4f53\u9a8c\uff0c\u8ba4\u4e3a\u53ef\u5bfb\u5740\u533a\u57df\u662f\u4e25\u8083\u56fe\u50cf\u7f16\u8f91\u7684\u5b9e\u7528\u5347\u7ea7\u3002\u6709\u6548\u53cd\u9988\u96c6\u4e2d\u5728\u8ba4\u53ef\u5176\u89e3\u51b3\u4e86\u4f20\u7edf\u63d0\u793a\u8bcd\u751f\u6210\u7684\u6784\u56fe\u4e0d\u53ef\u63a7\u95ee\u9898\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Reve 2.0\u7684\u201c\u5e03\u5c40\u4f18\u5148\u201d\u5e76\u975e\u82b1\u54e8\u7684\u6982\u5ff5\u5305\u88c5\uff0c\u800c\u662f\u5bf9\u5f53\u524dAI\u56fe\u50cf\u751f\u6210\u201c\u9ed1\u7bb1\u5316\u201d\u521b\u4f5c\u6d41\u7a0b\u7684\u4e00\u6b21\u9488\u5bf9\u6027\u624b\u672f\u3002\u5b83\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e13\u4e1a\u7528\u6237\u6700\u5934\u75db\u7684\u75db\u70b9\uff1a\u751f\u6210\u9760\u8fd0\u6c14\uff0c\u4fee\u6539\u9760\u91cd\u6765\u3002\u5c06\u56fe\u50cf\u5206\u5272\u4e3a\u53ef\u5bfb\u5740\u533a\u57df\uff0c\u672c\u8d28\u4e0a\u662f\u628a\u50cf\u7d20\u7ea7\u9b54\u6cd5\u964d\u7ef4\u6210\u7ed3\u6784\u5316\u7684\u201c\u4e50\u9ad8\u79ef\u6728\u201d\u2014\u2014\u4f60\u7ec8\u4e8e\u53ef\u4ee5\u76f4\u63a5\u79fb\u52a8\u4e00\u5757\u79ef\u6728\uff0c\u800c\u4e0d\u5fc5\u62c5\u5fc3\u6574\u4e2a\u57ce\u5821\u5d29\u584c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u751f\u6210\u901f\u5ea6\u6216\u753b\u8d28\uff08\u867d\u71364K\u539f\u751f\u8f93\u51fa\u6d88\u9664\u4e86\u4e8c\u6b21\u653e\u5927\u7684\u4f2a\u5f71\uff09\uff0c\u800c\u5728\u4e8e\u5b83\u91cd\u65b0\u5b9a\u4e49\u4e86\u4eba\u673a\u534f\u4f5c\u7684\u8fb9\u754c\u3002\u5b83\u8ba9\u201c\u8fed\u4ee3\u201d\u4ece\u4e00\u4e2a\u7384\u5b66\u8bcd\u6c47\u53d8\u6210\u4e86\u53ef\u63a7\u5de5\u7a0b\uff1a\u8bbe\u8ba1\u5e08\u53ef\u4ee5\u50cf\u5728PS\u91cc\u9501\u5b9a\u56fe\u5c42\u4e00\u6837\u9501\u5b9a\u67d0\u4e2a\u5143\u7d20\uff0c\u7136\u540e\u75af\u72c2\u8c03\u6574\u5176\u4ed6\u90e8\u5206\uff1b\u5f00\u53d1\u8005\u80fd\u901a\u8fc7LLM\u76f4\u63a5\u4fee\u6539\u5e03\u5c40\u4ee3\u7801\uff0c\u5b9e\u73b0\u771f\u6b63\u7684\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41\u3002\u8fd9\u79cd\u201c\u89c4\u5212-\u6e32\u67d3\u201d\u5206\u79bb\u7684\u67b6\u6784\uff0c\u8ba9AI\u4ece\u201c\u5929\u624d\u753b\u5e08\u201d\u53d8\u6210\u4e86\u201c\u542c\u8bdd\u7684\u4e59\u65b9\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u8fd9\u79cd\u9ad8\u7cbe\u5ea6\u7684\u4ee3\u4ef7\u662f\u521b\u4f5c\u95e8\u69db\u7684\u95f4\u63a5\u63d0\u5347\u3002\u5b83\u66f4\u9002\u5408\u6709\u660e\u786e\u6784\u56fe\u9884\u8bbe\u7684\u4e13\u4e1a\u56e2\u961f\uff0c\u800c\u975e\u9700\u8981\u7075\u611f\u706b\u82b1\u7684\u5927\u4f17\u7528\u6237\u3002\u6b64\u5916\uff0c\u5e03\u5c40\u4f18\u5148\u5728\u590d\u6742\u5149\u5f71\u3001\u6750\u8d28\u878d\u5408\u7b49\u8d85\u5199\u5b9e\u573a\u666f\u4e2d\u7684\u8868\u73b0\u8fd8\u6709\u5f85\u8003\u9a8c\u3002\u6392\u540d\u7b2c\u4e8c\u7684Leaderboard\u6210\u7ee9\u8bf4\u660e\u6f5c\u529b\u5de8\u5927\uff0c\u4f46\u8981\u771f\u6b63\u6210\u4e3a\u8bbe\u8ba1\u5e08\u7684\u65e5\u5e38\u5de5\u5177\uff0cReve\u8fd8\u9700\u8981\u8bc1\u660e\u201c\u53ef\u7f16\u8f91\u6027\u201d\u4e0d\u4f1a\u5728\u6781\u7aef\u6848\u4f8b\u4e2d\u53d8\u6210\u201c\u53ef\u7834\u574f\u6027\u201d\u3002\u5b83\u662f\u4e00\u6761\u6b63\u786e\u7684\u8def\uff0c\u4f46\u5e76\u975e\u6240\u6709\u4eba\u90fd\u4f1a\u8d70\u8fd9\u6761\u8def\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\">Reve 2.0<\/span>\n                <\/div>\n<div class=\"comment-content\">Reve 2.0 generates and edits 4K images using a layout-first model that segments each image into addressable regions. For designers, marketers, and creative teams who need precise compositional control.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Reve 2.0 is a 4K image generation and editing model built on a layout-first architecture, now live at <a href=\"http:\/\/reve.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reve.com<\/a>.<\/p>\n<\/p>\n<p>Prompt-based image generation has always had a precision problem. You describe what you want, the model interprets it, and if the composition is off, your only option is to rewrite and regenerate. Reve 2.0 separates planning from rendering. Every image is first built as a structured, code-based layout where each region is labeled and addressable. Edit one element without touching the rest. Regenerate from the same layout with zero artifact accumulation.<\/p>\n<\/p>\n<ul>\n<li>\n<p>Layout-first generation gives you per-region control before a pixel is rendered, so composition stops being a guessing game<\/p>\n<\/li>\n<li>\n<p>Native 4K output at true 16MP means no separate upscaling step for print, ads, or product visuals<\/p>\n<\/li>\n<li>\n<p>Agent-native architecture lets LLMs read and modify the layout directly, opening clean automation workflows<\/p>\n<\/li>\n<li>\n<p>Lossless iteration means multi-step editing does not degrade image quality over time<\/p>\n<\/li>\n<\/ul>\n<p>Designers, brand marketers, and creative developers who run iterative visual workflows and need to adjust specific elements without regenerating from scratch will get the most out of this.<\/p>\n<\/p>\n<p>Reve 2.0 is ranked #2 on the Image Arena text-to-image leaderboard as of this launch. Try it at <a href=\"http:\/\/reve.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reve.com<\/a>and follow me for more launches like this.<\/p>\n<\/p>\n<p>I hunt the latest and greatest launches in tech, SaaS and AI, follow to be notified. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been trying reve 2.0 for a little while and it&#8217;s really impressive, and the webapp is the best i&#8217;ve used for image generation so far<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the layout-first approach, addressable regions feel like a practical upgrade for serious image editing workflows. 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\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/PULBOJS3SSKEEN\" class=\"app-title\">TravelMind <\/a><\/p>\n<div class=\"one-liner\">AI-powered city discovery built on taste, not reviews<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">108<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>TravelMind\u662f\u4e00\u6b3e\u57fa\u4e8e\u4e2a\u4eba\u54c1\u5473\u800c\u975e\u8bc4\u5206\u63a8\u8350\u7684AI\u57ce\u5e02\u63a2\u7d22\u5e94\u7528\uff0c\u901a\u8fc7\u6ed1\u52a8\u4ea4\u4e92\u5b66\u4e60\u7528\u6237\u504f\u597d\uff0c\u89e3\u51b3\u5728\u964c\u751f\u57ce\u5e02\u56e0\u4fe1\u606f\u8fc7\u8f7d\u800c\u96be\u4ee5\u627e\u5230\u771f\u6b63\u9002\u5408\u81ea\u5df1\u7684\u53bb\u5904\u8fd9\u4e00\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\/025299a6-4572-42f3-8e09-b5b6d814b006.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/059a07d3-3987-4042-801c-9fb5af2ac1cc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/810d1068-4fc3-45dc-b4dd-e0288d97c60d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9de6dd20-356a-4b11-a56b-17b15d44b88a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7f92ed74-b89c-4bac-b196-735d6ab0951d.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\/bf0bab80-f725-4c76-ad0f-032f25d23618.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/jZaD0RMx4B0?si=7WwNJ5mNM8eL2CVj\"><source src=\"https:\/\/youtu.be\/jZaD0RMx4B0?si=7WwNJ5mNM8eL2CVj\" 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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Travel<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u65c5\u884c\u63a8\u8350<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u54c1\u5473\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u6ed1\u52a8\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u57ce\u5e02\u63a2\u7d22<\/span><br \/>\n            <span class=\"tag\">\u76ee\u7684\u5730\u53d1\u73b0<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u63a8\u8350\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u884c\u4e3a\u504f\u597d<\/span><br \/>\n            <span class=\"tag\">\u53bb\u4e2d\u5fc3\u5316\u8bc4\u4ef7<\/span><br \/>\n            <span class=\"tag\">\u65c5\u884c\u51b3\u7b56\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\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\u201c\u54c1\u5473\u800c\u975e\u8bc4\u5206\u201d\u7684\u5b9a\u4f4d\uff0c\u4e3b\u8981\u5173\u6ce8\uff1a1\uff09\u65b0\u57ce\u5e02\u51b7\u542f\u52a8\u548c\u7528\u6237\u54c1\u5473\u56fe\u8c31\u8fc1\u79fb\u95ee\u9898\uff1b2\uff09AI\u4ece\u96f6\u5b66\u4e60\u5230\u6709\u6548\u63a8\u8350\u7684\u4ea4\u4e92\u6b21\u6570\uff1b3\uff09\u6570\u636e\u6e90\u662f\u5426\u652f\u6301\u7528\u6237\u81ea\u6dfb\u52a0\u4e0e\u672c\u5730\u5316\u8986\u76d6\u3002\u5f00\u53d1\u56e2\u961f\u56de\u5e94\u79f0\u54c1\u5473\u56fe\u8c31\u53ef\u968f\u7528\u6237\u8fc1\u79fb\uff0c\u4e14\u652f\u6301\u7528\u6237\u8d21\u732e\u5730\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                TravelMind\u7684\u5207\u5165\u70b9\u7cbe\u51c6\u2014\u2014\u5b83\u6253\u7684\u4e0d\u662f\u4f20\u7edf\u65c5\u6e38\u63a8\u8350\u7ea2\u6d77\uff0c\u800c\u662f\u201c\u51b3\u7b56\u762b\u75ea\u201d\u8fd9\u4e2a\u88ab\u5927\u5382\u5ffd\u89c6\u7684\u7ec6\u5206\u573a\u666f\u3002\u4ea7\u54c1\u672c\u8d28\u662f\u628aTinder\u7684\u6ed1\u52a8\u673a\u5236\u4e0e\u4e2a\u4eba\u504f\u597d\u5b66\u4e60\u7b97\u6cd5\u5ac1\u63a5\uff0c\u8bd5\u56fe\u7528\u6700\u8f7b\u91cf\u7684\u4ea4\u4e92\uff08swipe\uff09\u89e3\u51b3\u6700\u6c89\u91cd\u7684\u51b3\u7b56\uff08\u9009\u9910\u5385\/\u666f\u70b9\uff09\u3002\u8fd9\u4e2a\u601d\u8def\u806a\u660e\uff0c\u4f46\u5b58\u5728\u4e09\u4e2a\u81f4\u547d\u6311\u6218\uff1a\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e00\uff0c\u51b7\u542f\u52a8\u7684\u6570\u636e\u5bc6\u5ea6\u6096\u8bba\u3002\u4ea7\u54c1\u5ba3\u79f0\u201c\u4f60\u7684\u54c1\u5473\u968f\u4f60\u65c5\u884c\u201d\uff0c\u4f46AI\u5bf9\u67d0\u5ea7\u57ce\u5e02\u7684\u6709\u6548\u5b66\u4e60\u5fc5\u987b\u4f9d\u8d56\u8be5\u57ce\u5e02\u5df2\u79ef\u7d2f\u7684\u7528\u6237\u884c\u4e3a\u6570\u636e\u3002\u9996\u7528\u8005\u5728\u65b0\u57ce\u5e02\u5927\u6982\u7387\u4f1a\u9762\u5bf9\u540c\u6837\u201c\u6ca1\u4ec0\u4e48\u53ef\u63a8\u8350\u201d\u7684\u7a98\u5883\uff0c\u800c\u8fd9\u4e0e\u7528\u6237\u4e0a\u6ed1\u4e0b\u6ed1\u6570\u91cf\u6210\u6b63\u6bd4\u2014\u2014\u9e21\u751f\u86cb\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e8c\uff0c\u54c1\u5473\u6a21\u578b\u7684\u53ef\u8fc1\u79fb\u6027\u88ab\u9ad8\u4f30\u3002\u8bc4\u8bba\u4e2d\u5f00\u53d1\u8005\u56de\u5e94\u201c\u54c1\u5473\u56fe\u968f\u4f60\u65c5\u884c\u201d\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u628a\u4e00\u4e2a\u4eba\u7684\u504f\u597d\u62bd\u8c61\u5316\uff08\u6bd4\u5982\u201c\u559c\u6b22\u5de5\u4e1a\u98ce\u5496\u5561\u9986\u201d\uff09\uff0c\u4f46\u5b9e\u9645\u64cd\u4f5c\u4e2d\uff0c\u5317\u4eac\u7528\u6237\u5bf9\u201c\u6df1\u591c\u8def\u8fb9\u644a\u201d\u7684\u504f\u597d\uff0c\u4e0e\u4e1c\u4eac\u7528\u6237\u5bf9\u201c\u6df1\u591c\u5c45\u9152\u5c4b\u201d\u7684\u504f\u597d\u5f88\u96be\u7528\u540c\u4e00\u5957\u7279\u5f81\u5411\u91cf\u5b8c\u7f8e\u6620\u5c04\u3002\u8de8\u6587\u5316\u3001\u8de8\u573a\u666f\u7684\u54c1\u5473\u8fc1\u79fb\u662f\u4e2a\u8fdc\u672a\u89e3\u51b3\u7684\u5b66\u672f\u95ee\u9898\uff0c\u66f4\u522b\u8bf4\u5546\u4e1a\u5316\u5e94\u7528\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e09\uff0c\u5546\u4e1a\u6a21\u5f0f\u7684\u5929\u7136\u77db\u76fe\u3002\u7528\u6237\u5e0c\u671b\u627e\u5230\u201c\u975e\u7f51\u7ea2\u3001\u4e0d\u8bc4\u5206\u201d\u7684\u9690\u85cf\u5730\u70b9\uff0c\u4f46\u8fd9\u4e9b\u5730\u70b9\u6070\u6070\u7f3a\u5c11\u6570\u636e\u6e90\u3002\u5982\u679cTravelMind\u8d70\u5165\u9a7b\/\u5408\u4f5c\u8def\u7ebf\uff0c\u5c31\u56de\u5230\u4e86\u5927\u4f17\u70b9\u8bc4\u7684\u8001\u8def\uff1b\u5982\u679c\u5b8c\u5168\u4f9d\u8d56\u7528\u6237\u8d21\u732e\uff0c\u53c8\u9762\u4e34\u5185\u5bb9\u8d28\u91cf\u4e0d\u5747\u548c\u4f5c\u5f0a\u98ce\u9669\u3002\u8bc4\u8bba\u4e2d\u6709\u4eba\u5efa\u8bae\u7ed3\u5408\u5b9e\u65f6\u4f18\u60e0\u4fe1\u606f\uff0c\u8fd9\u66b4\u9732\u4e86\u4ea7\u54c1\u76ee\u524d\u7f3a\u4e4f\u62a4\u57ce\u6cb3\u2014\u2014\u63a8\u8350\u80fd\u529b\u82e5\u65e0\u7f51\u7edc\u6548\u5e94\u548c\u72ec\u5bb6\u6570\u636e\uff0c\u5f88\u5feb\u4f1a\u88ab\u590d\u523b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8fd9\u6b3e\u4ea7\u54c1\u76ee\u524d\u66f4\u9002\u5408\u4f5c\u4e3a\u65c5\u6e38\u8fc7\u7a0b\u4e2d\u7684\u201c\u7075\u611f\u8f85\u52a9\u5de5\u5177\u201d\u800c\u975e\u201c\u51b3\u7b56\u5de5\u5177\u201d\u3002\u5b83\u505a\u5bf9\u4e86\u4ece\u884c\u4e3a\u800c\u4e0d\u662f\u8bc4\u5206\u51fa\u53d1\u8fd9\u4ef6\u4e8b\uff0c\u4f46\u8981\u4ece\u201c\u6709\u8da3\u7684\u5b9e\u9a8c\u201d\u53d8\u6210\u201c\u53ef\u9760\u7684\u52a9\u624b\u201d\uff0c\u8fd8\u8981\u5728\u7b97\u6cd5\u5bc6\u5ea6\u3001\u6570\u636e\u51b7\u542f\u52a8\u548c\u5546\u4e1a\u6a21\u5f0f\u4e0a\u62ff\u51fa\u66f4\u786c\u7684\u65b9\u6848\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\">TravelMind <\/span>\n                <\/div>\n<div class=\"comment-content\">You land in a new city. You open every app you know. Two hours later you&#8217;re still scrolling, still unsure, still guessing. TravelMind was built for that moment. Swipe through places, tell us what you love \u2014 the AI does the rest. It learns your taste and finds the right spot before you even know to look. Your taste. Every city. Live now on iOS and Android.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I built TravelMind because I kept running into the same problem in every city: endless scrolling, biased reviews, influencer noise \u2014 and still not knowing where I\u2019d actually enjoy going.<\/p>\n<p>After years in hospitality, I realized discovery was broken not because of lack of options, but because platforms ignore personal taste. Everyone sees the same rankings, even though we all experience places differently.<\/p>\n<p>TravelMind started as a simple question: what if discovery worked like human intuition? We experimented, scrapped ideas, and eventually landed on swipe-based learning \u2014 letting behavior train recommendations instead of ratings.<\/p>\n<p>What began as a travel tool has evolved into something bigger: turning offline, word-of-mouth discovery into a personal, data-driven experience.<\/p>\n<p>Would love to hear \u2014 how do you usually find places you actually like when you\u2019re in a new city?<\/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\/@anastasia_chavdia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anastasia_chavdia<\/a>&nbsp;congrats on the launch Anastasia. How do you solve the &#8220;actually right for me, on this trip&#8221; question and how long does that take?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@anastasia_chavdia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anastasia_chavdia<\/a>&nbsp;Congratulations!!<\/p>\n<p>The &#8216;taste not reviews&#8217; positioning is smart \u2014 review fatigue is real, especially in travel. Would love to see this paired with live deal discovery so when TravelMind recommends a restaurant or hotel, it surfaces the best current price too. The discovery + savings combo is underexplored. Upvoted!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 taste-over-reviews bet looks to be the right call. I am thinking&#8230;as swipe learning needs density, what happens the first time I open it in a city nobody like me has swiped yet? Does my taste graph travel with me?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Yes \u2014 your taste graph travels with you. Think of it like a friend who already knows you, just landing in a new city with you. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83c\udf89<\/p>\n<\/p>\n<p>I can definitely relate to the problem. Even with so many review sites and travel apps, it can still be surprisingly hard to find places that actually match your personal taste.<\/p>\n<\/p>\n<p>I like the idea of learning from user behavior rather than relying only on ratings. The swipe-based approach sounds simple and intuitive.<\/p>\n<\/p>\n<p>When I visit a new city, I usually end up combining recommendations from friends, instagram\/tiktok posts, and lots of searching, so having something that learns my preferences could be really useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gabriella_anjani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gabriella_anjani<\/a>&nbsp;Thank you, Gabriella \u2014 that workflow you described is exactly what we&#8217;re trying to make obsolete.<\/p>\n<p>Would love to hear your honest take if you try it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, Anastasia and TravelMind team!<\/p>\n<p>I may be a bit biased here but I do have some insight on people discovering new places. I run my city&#8217;s biggest travel Instagram page (@experience.sofia on Instagram, we talk about Sofia, Bulgaria). What I find is our best-performing content is often either &#8220;hidden gems&#8221; or &#8220;how to avoid getting scammed\/overspending\/some other problem&#8221;. A huge part of our edge and credibility on social media is we are locals and we can bring you to those lesser-known places, some of which barely even have a Google Maps listing. Imo, this is what a lot of people are looking for in the era of overtourism &#8211; not to go to the same 2-3 overhyped places everyone else visits. <\/p>\n<\/p>\n<p>So, I was wondering how did you source the initial listings on TravelMind? Do you also have the option for users to add their own (as you can on Google Maps)?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@denitsapenchevavaltchanova\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@denitsapenchevavaltchanova<\/a>&nbsp;This is exactly the kind of feedback that matters \u2014 thank you, Denitsa.<\/p>\n<p>Community is the most valuable asset in this space right now \u2014 and experience sofia is a perfect example of that. The best places will always be found by people, not algorithms.<\/p>\n<p>You can already add your spots on TravelMind and share them with your audience. Sofia through your lens would be something special.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Am I supposed to swipe if I haven\u2019t been to the place?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Monday me and Saturday me are different people. Does the app know the difference? 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\/@jared_salois\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jared_salois<\/a>&nbsp;Thank you! That&#8217;s exactly what we&#8217;re working on. Stay tuned! \ud83d\ude04<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>two hours later you&#8217;re still scrolling, still unsure, still guessing&#8221; is so accurate it hurts. learning from swipes instead of relying on reviews makes way more sense because my taste in restaurants has zero overlap with the average google reviewer. curious how many swipes it takes before the recommendations actually start feeling personal<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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; &#8220;Zero overlap with the average Google reviewer&#8221; \u2014 we feel that deeply too.<\/p>\n<p>You&#8217;ve basically described the entire reason TravelMind exists. Ratings tell you what everyone thinks. We want to learn what <em>you<\/em> think \u2014 and get better at it every time you swipe.<\/p>\n<p>The short answer: it gets personal faster than you&#8217;d expect. But we&#8217;d rather you find out than take our word for it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This really resonates with me. When I land in a new city, it&#8217;s honesty hard to explore everything by myself. But when I search online, there&#8217;s so much influencer promotion and sponsored content that it can be hard to tell what&#8217;s overhyped and what&#8217;s actually a hidden gem. <\/p>\n<p>What countries or regions does TravelMind currently cover? Is the global discovery experience available worldwide, or focused on certain cities for 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\/@evakk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@evakk<\/a>&nbsp;You&#8217;ve described the problem better than most. The noise is the issue \u2014 not the lack of information.<\/p>\n<p>We&#8217;re live in a number of cities already and actively growing \u2014 the honest truth is that the recommendations get sharper the more people engage in a given place. So the best answer to your question is: try it where you are, and tell us what&#8217;s missing. That feedback is genuinely how we prioritize.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/5LN77OJG5IYPGU\" class=\"app-title\">Whistle<\/a><\/p>\n<div class=\"one-liner\">A fitness coach with personalized plans<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">108<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Whistle\u662f\u4e00\u6b3e\u901a\u8fc7\u8bfb\u53d6Apple Health\u6570\u636e\uff08\u5982\u5fc3\u7387\u3001\u7761\u7720\u3001\u6062\u590d\u72b6\u6001\uff09\u81ea\u52a8\u751f\u6210\u5e76\u52a8\u6001\u8c03\u6574\u4e2a\u6027\u5316\u5065\u8eab\u8ba1\u5212\uff08\u542b\u8dd1\u6b65\u3001\u9a91\u884c\u3001\u529b\u91cf\u8bad\u7ec3\uff09\u7684AI\u6559\u7ec3\u5e94\u7528\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u5065\u8eabApp\u8ba1\u5212\u5343\u7bc7\u4e00\u5f8b\u3001\u65e0\u6cd5\u6839\u636e\u7528\u6237\u5b9e\u65f6\u4f53\u80fd\u548c\u6062\u590d\u72b6\u51b5\u7075\u6d3b\u8c03\u6574\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\/b3b6c072-72c6-4999-a76b-825d4883d9bd.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/umdgM1GQidU\"><source src=\"https:\/\/youtu.be\/umdgM1GQidU\" 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\/a5ffdbd7-eff7-4ced-8fd3-8c4dca5b9632.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f7d194ad-5504-4e43-8226-aaabfbac424e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fcda987a-174d-44a9-b201-9495643130ed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8d605a26-c09f-4d23-9329-91179fc6c458.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\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Apple<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5065\u8eab\u6559\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u8bad\u7ec3\u8ba1\u5212<\/span><br \/>\n            <span class=\"tag\">Apple Health\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7a7f\u6234\u8bbe\u5907<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u8c03\u6574<\/span><br \/>\n            <span class=\"tag\">\u8010\u529b\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u529b\u91cf\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u6392\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u52a8\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\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\u80af\u5b9a\u5176\u4e2a\u6027\u5316\u4e0e\u52a8\u6001\u8c03\u6574\u80fd\u529b\uff0c\u7279\u522b\u662f\u5bf9Apple Health\u548c\u667a\u80fd\u6392\u7a0b\u7684\u6df1\u5165\u6574\u5408\u3002\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u5728\uff1a\u5982\u4f55\u7f16\u8f91\u548c\u5206\u6790\u5065\u5eb7\u6570\u636e\u3001\u662f\u5426\u4ec5\u652f\u6301Apple Watch\u3001\u5982\u4f55\u5904\u7406\u7528\u6237\u56e0\u52a8\u529b\u7f3a\u5931\u800c\u4e2d\u65ad\u8bad\u7ec3\uff08\u7834\u7a97\u6548\u5e94\uff09\u3001\u4ee5\u53ca\u5982\u4f55\u786e\u4fddAI\u8c03\u6574\u8ba1\u5212\u7684\u900f\u660e\u5ea6\u548c\u5b89\u5168\u6027\uff08\u907f\u514d\u8fc7\u5ea6\u6fc0\u8fdb\uff09\u3002\u7528\u6237\u671f\u5f85\u66f4\u8be6\u7ec6\u7684\u8fd0\u52a8\u6307\u5bfc\uff08\u5982\u52a8\u4f5c\u6f14\u793a\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Whistle\u8e29\u51c6\u4e86\u5f53\u524d\u201c\u6570\u636e\u9a71\u52a8\u79d1\u5b66\u5065\u8eab\u201d\u7684\u6d6a\u6f6e\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u751f\u6210\u8ba1\u5212\u201d\u8fd9\u4e2a\u57fa\u7840\u529f\u80fd\uff0c\u800c\u5728\u4e8e\u201c\u57fa\u4e8eApple Health\u5b9e\u65f6\u6570\u636e\u52a8\u6001\u8c03\u6574\u8ba1\u5212\u201d\u7684\u5f15\u64ce\u3002\u8fd9\u6bd4\u5e02\u9762\u4e0a\u7edd\u5927\u591a\u6570\u9760\u4e00\u5957\u56fa\u5b9a\u7b97\u6cd5\u6216\u6a21\u677f\u6253\u5929\u4e0b\u7684App\u9ad8\u51fa\u4e00\u4e2a\u7ef4\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u7cbe\u51c6\u5207\u5165\u4e86\u201cAI\u5065\u8eab\u6559\u7ec3\u201d\u7684\u7a7a\u767d\uff1a\u4e0d\u9760\u9e21\u6c64\u548c\u6bc5\u529b\uff0c\u9760\u6570\u636e\u548c\u903b\u8f91\u3002\u4ece\u8bc4\u8bba\u4e2d\u5f00\u53d1\u8005\u5bf9\u7ade\u4e89\u4ea7\u54c1Bevel\u7684\u89e3\u6790\u53ef\u4ee5\u770b\u51fa\uff0cWhistle\u5b9a\u4f4d\u6e05\u6670\u2014\u2014\u4e0d\u662f\u53e6\u4e00\u4e2a\u201c\u6570\u636e\u770b\u677f\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u201c\u4e3b\u52a8\u7684\u3001\u53ef\u5e72\u9884\u7684\u6267\u884c\u5c42\u201d\u3002\u5b83\u80fd\u6839\u636e\u7528\u6237\u7684\u5fc3\u7387\u53d8\u5f02\u6027\u3001\u7761\u7720\u3001\u8bad\u7ec3\u8d1f\u8377\u6765\u4e3b\u52a8\u5efa\u8bae\u66ff\u6362\u6216\u8c03\u6574\u8bad\u7ec3\u5185\u5bb9\uff0c\u8fd9\u5728\u9632\u6b62\u53d7\u4f24\u548c\u63d0\u5347\u957f\u671f\u6548\u7387\u4e0a\u662f\u771f\u6b63\u6709\u4ef7\u503c\u7684\u8bbe\u8ba1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u4e5f\u5f88\u660e\u663e\u3002\u7b2c\u4e00\uff0c\u8fc7\u5ea6\u4f9d\u8d56Apple Health\u6570\u636e\uff0c\u610f\u5473\u7740\u5bf9\u5b89\u5353\u751f\u6001\u6216\u975e\u82f9\u679c\u53ef\u7a7f\u6234\u8bbe\u5907\u7528\u6237\u975e\u5e38\u4e0d\u53cb\u597d\uff0c\u8fd9\u4f1a\u4e25\u91cd\u5236\u7ea6\u5176\u7528\u6237\u76d8\u5b50\u3002\u7b2c\u4e8c\uff0c\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201c\u7834\u7a97\u6548\u5e94\u201d\uff08\u7528\u6237\u4e2d\u9014\u653e\u5f03\uff09\u662f\u6b64\u7c7bApp\u7684\u751f\u6b7b\u7ebf\uff0c\u76ee\u524d\u4ec5\u9760AI\u201c\u81ea\u52a8\u8c03\u6574\u8ba1\u5212\u201d\u6765\u9002\u5e94\u5077\u61d2\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u964d\u4f4e\u76ee\u6807\u9608\u503c\uff0c\u800c\u975e\u6fc0\u53d1\u7528\u6237\u5185\u5728\u52a8\u673a\u3002\u8fd9\u53ef\u80fd\u4f1a\u8ba9\u8bad\u7ec3\u8ba1\u5212\u53d8\u5f97\u201c\u592a\u4f1a\u59a5\u534f\u201d\uff0c\u53cd\u800c\u4e0d\u5229\u4e8e\u8fdb\u6b65\u7684\u79ef\u7d2f\u3002\u7b2c\u4e09\uff0cAI\u8c03\u6574\u7684\u201c\u9ed1\u7bb1\u95ee\u9898\u201d\u5e76\u672a\u5b8c\u5168\u89e3\u51b3\uff0c\u5373\u4fbf\u5f00\u53d1\u8005\u5f3a\u8c03\u201c\u7528\u6237\u5ba1\u6279\u201d\uff0c\u4f46\u666e\u901a\u7528\u6237\u9762\u5bf9\u4e00\u5806\u8bad\u7ec3\u8d1f\u8377\u548c\u5fc3\u7387\u6570\u636e\uff0c\u5f88\u96be\u505a\u51fa\u7406\u6027\u5224\u65ad\uff0c\u6700\u7ec8\u53ef\u80fd\u8fd8\u662f\u8ddf\u968f\u7b97\u6cd5\u88ab\u52a8\u6267\u884c\uff0c\u8fd9\u53cd\u800c\u53ef\u80fd\u524a\u5f31\u7528\u6237\u5bf9\u81ea\u5df1\u8eab\u4f53\u7684\u8ba4\u77e5\u3002\u6574\u4f53\u800c\u8a00\uff0cWhistle\u662f\u4e00\u4e2a\u4f18\u79c0\u7684\u201c\u5de5\u5177\u578b\u201dAI\u5065\u8eab\u52a9\u624b\uff0c\u4f46\u8981\u60f3\u6210\u4e3a\u7528\u6237\u6bcf\u5929\u5fc5\u7528\u7684\u201c\u4f19\u4f34\u201d\uff0c\u5b83\u8fd8\u9700\u8981\u89e3\u51b3\u8de8\u5e73\u53f0\u9650\u5236\u548c\u7528\u6237\u884c\u4e3a\u5851\u9020\u8fd9\u4e24\u4e2a\u66f4\u590d\u6742\u7684\u96be\u9898\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\">Whistle<\/span>\n                <\/div>\n<div class=\"comment-content\">Most workout apps give you a generic plan and call it personalized. Whistle actually knows you. It reads your Apple Health data and builds a real training plan around your fitness level, recovery, and goals. Detailed workouts, smart progression, all on your iPhone and Apple Watch. Whether you&#8217;re just getting started or pushing toward a new personal best, your AI coach figures out what you need and when you need it. Your data. Your plan. Your pace.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt!<br \/>\nWe&#8217;ve been working on Whistle for months. It started when I was training for my first triathlon and tried using ChatGPT to build a plan. It worked, but it took a ton of manual back and forth. So we decided to build something that just knows you from the start.<\/p>\n<p>We&#8217;re two indie developers from Vienna, and Whistle is our attempt to build the fitness app of our dreams. Hope you enjoy it as much as we loved building it.<\/p>\n<p>Would love to hear what you think!<br \/>\nClemens<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@clemens_vogelhaus\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@clemens_vogelhaus<\/a>&nbsp;Kudos on the launch. Could you maybe give a walkthrough of how it analyzes Apple Health? Like how does it understand our level of fitness or position in our fitness journey and our goals? Do we get to edit 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>Congratulations on the launch. Does the app only work with Apple Watch?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@b_rws60503 for now yes but if your fitness watch adds data to Apple Health Whistle will get it too. We plan to integrate with other fitness watches soon too.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can I set a goal? For example, \u201cget six-pack abs\u201d?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@natalia_iankovych yes you can tell the coach any goal and it will build a plan for you around it<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the personalized progression system. Most apps just recycle the same routines regardless of recovery or fitness level.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@marianna_tymchuk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianna_tymchuk<\/a>&nbsp;glad you like it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, the Apple Health-native approach makes a lot of sense. Quick question on positioning: how do you see Whistle fitting alongside something like Bevel? They read the same Apple Watch data, but Bevel mostly tells me how recovered I am and leaves the training calls to me, whereas Whistle sounds like it actually builds and rewrites the plan itself. Is that prescriptive side the main thing you&#8217;re betting on?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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> yes, that&#8217;s the key difference. The Bevel release was really exciting for us. We&#8217;ve been working on Whistle for more than a year now, and seeing it confirmed a lot of our assumptions. As far as we can tell, Bevel focuses on helping you make sense of your fitness and health data. Whistle is primarily a workout planner. It lets you create workouts, schedule them and send them to your Apple Watch so you get real-time guidance during your session.<\/p>\n<\/p>\n<p>The health data we show in the app serves two purposes: it gives you guidance, and it gives the coach relevant context. The coach itself is really just an additional layer that can do all of this for you. It can help you understand your health data, but where it shines is creating plans and workouts. When it plans a run, it doesn&#8217;t just message you to say &#8220;go for a run.&#8221; It actually schedules the run in alignment with your goal, your training load, your recovery, the weather and more, and it generates structured workouts, so a run might include intervals with specific heart rate targets or paces whenever that makes sense. With the same approach it can build plans across multiple months to prepare you for a race or to work toward a bigger goal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 personalized plan is the easy half. The hard half is week two, when motivation dips and people quietly ghost the app. I build habit and wellbeing tools, and the missed-day moment is everything&#8230; guilt-trip people and they churn, let them off too easy and the habit never sets. How are you handling the broken streak?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>When you miss a workout or a key session Whistle can easily adjust your plan around it. It&#8217;s actually the biggest benefit compared to rigid training programs. We also plan to add additional features that we hope will increase motivation and help people stick to what they set out to achieve.<\/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;ve been using it since the Beta and it actually helped me improve my performance, specially on cycling as I sucked at it lol<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Happy to hear it helped \ud83d\ude00 I am sure your cycling isn&#8217;t that terrible<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Can you walk through a concrete example of how Whistle uses training load + projected load + sleep\/vitals + recent sessions to change a plan (e.g., swapping intervals, adjusting volume, adding recovery, moving strength) and what safety\/guardrail rules prevent over-aggressive recommendations?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@curiouskitty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@curiouskitty<\/a>&nbsp;,<\/p>\n<\/p>\n<p>Whistle handles this through Coach tools rather than a hidden black-box rule engine. For example, before changing a week it can read the current plan, recent completed workouts, planned workouts, training load, sleep, recovery, and overnight vitals. If Thursday has intervals planned but the last few sessions already pushed load up, sleep has been poor, and recovery\/vitals look off, Coach can propose a smaller change: move the hard session, reduce the interval volume, swap it for easy aerobic work, or move strength away from another hard day.<\/p>\n<\/p>\n<p>The important part is that plan changes are explicit. Whistle can adjust an existing workout, create a replacement, or remove a conflicting one, but those write actions go through user-facing approval\/permission flows. The training program also stores coaching context such as progression, load strategy, recovery spacing, adaptation rules, and \u201cwhat not to do,\u201d so future planning turns preserve the intent instead of just reacting to one metric.<\/p>\n<\/p>\n<p>We\u2019re careful not to frame sleep or vitals as medical diagnosis. They\u2019re used as wellness and readiness context, alongside training history and the plan, to make conservative adjustments the user can review before applying.<\/p>\n<\/p>\n<p>Hope that answers your question,<\/p>\n<p>Clemens<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 Clements, congrats on launching your venture! Question though: does the Wistle provides exercises or it only about running and biking? <\/p>\n<p>Best <\/p>\n<p>George<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@gsostak\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"gsostak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gsostak<\/a> , <\/p>\n<\/p>\n<p>thanks! Whistle works best for endurance sports, but it can also generate strength workouts and provide exercise routines for home or the gym. Right now, though, the app just tells you to do a certain exercise for a certain number of reps and can&#8217;t yet explain or show how to perform it correctly. <\/p>\n<\/p>\n<p>Hope that answers your question. <\/p>\n<p>Clemens<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/VG4XNFKDCM6SXN\" class=\"app-title\">agentcad<\/a><\/p>\n<div class=\"one-liner\">A CAD design tool for coding agents (free + open source)<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">103<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AgentCAD \u662f\u4e00\u6b3e\u8ba9AI\u7f16\u7a0b\u52a9\u624b\uff08\u5982Claude Code\uff09\u80fd\u81ea\u884c\u8bbe\u8ba1\u3001\u9a8c\u8bc1\u4e0e\u4fee\u590d3D\u6a21\u578b\u7684\u514d\u8d39\u5f00\u6e90CAD\u5de5\u5177\uff0c\u89e3\u51b3AI\u751f\u6210\u8bbe\u8ba1\u4ee3\u7801\u65f6\u65e0\u6cd5\u201c\u81ea\u68c0\u201d\u51e0\u4f55\u4e0e\u5de5\u7a0b\u7ea6\u675f\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\/bc2ff978-cba5-4f8e-ad50-9d80bb876074.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Zsn31-IilWM\"><source src=\"https:\/\/www.youtube.com\/watch?v=Zsn31-IilWM\" 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\/aae1babf-b776-4b8e-a59b-3e23fa3316e4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a19aab77-3f9e-4d41-8516-a83fee219cca.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aa42e0e7-a4f3-48d7-8b74-ceb78fa1c1c9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5031b48c-8af7-4d50-afc1-14f44044be80.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\">3D Printer<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">3D Modeling<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">CAD\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7a0b\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u51e0\u4f55\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">3D\u5efa\u6a21<\/span><br \/>\n            <span class=\"tag\">Build123d<\/span><br \/>\n            <span class=\"tag\">CadQuery<\/span><br \/>\n            <span class=\"tag\">STL\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">\u81ea\u68c0\u95ed\u73af<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5236\u9020<\/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 @jdilla \u79f0\u8d5e\u5176\u8ba9AI\u81ea\u68c0\u51e0\u4f55\u4e0e\u53ef\u6253\u5370\u6027\u662fCAD\u81ea\u52a8\u5316\u7684\u91cd\u8981\u8fdb\u6b65\uff0c\u5e76\u8be2\u95ee\u5f53\u524d\u751f\u6210\u96f6\u4ef6\u7c7b\u578b\uff08\u539f\u578b\/\u88c5\u914d\u4f53\/\u751f\u4ea7\u4ef6\uff09\u3002@zaid_mallik1 \u6307\u51fa\u6700\u5927\u6311\u6218\u4e0d\u662f\u751f\u6210CAD\u672c\u8eab\uff0c\u800c\u662f\u8ba9AI\u7406\u89e3\u5de5\u7a0b\u7ea6\u675f\u4ee5\u907f\u514d\u7cdf\u7cd5\u8bbe\u8ba1\uff0c\u5f00\u53d1\u8005\u8ba4\u540c\u201c\u8d28\u91cf\u628a\u5173\u201d\u66f4\u96be\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                AgentCAD \u5207\u4e2d\u4e86\u4e00\u4e2a\u5de5\u7a0b\u5e08\u4eec\u53e3\u53e3\u76f8\u4f20\u4f46\u5c11\u6709\u5de5\u5177\u7cfb\u7edf\u5316\u89e3\u51b3\u7684\u75db\u70b9\uff1aAI\u751f\u6210\u7684CAD\u4ee3\u7801\u51e0\u4e4e\u65e0\u6cd5\u4e00\u6b21\u6027\u6ee1\u8db3\u51e0\u4f55\u5c01\u95ed\u3001\u5c3a\u5bf8\u51c6\u786e\u548c\u53ef\u5236\u9020\u6027\u4e09\u6761\u7ea2\u7ebf\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u6559AI\u201c\u5982\u4f55\u9020\u66f4\u597d\u7684\u96f6\u4ef6\u201d\uff0c\u800c\u662f\u806a\u660e\u5730\u6784\u5efa\u4e86\u4e00\u4e2a\u201c\u95ed\u73af\u76d1\u63a7\u5668\u201d\u2014\u2014\u8ba9AI\u5148\u751f\u6210\uff0c\u518d\u7531AgentCAD\u4ece\u51e0\u4f55\u5c42\u9762\u66b4\u529b\u9a8c\u8bc1\uff0c\u628a\u9519\u8bef\u5835\u5728\u4ea4\u4ed8\u4e4b\u524d\u3002\u8fd9\u79cd\u505a\u6cd5\u672c\u8d28\u4e0a\u964d\u4f4e\u4e86AI\u4ecb\u5165CAD\u9886\u57df\u65f6\u7684\u201c\u5bb9\u9519\u6210\u672c\u201d\uff0c\u8ba9\u201c\u70c2\u56fe\u201d\u5728\u4eba\u5de5\u5ba1\u67e5\u524d\u5c31\u88ab\u8fc7\u6ee4\u6389\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5b83\u7684\u4ef7\u503c\u4e0a\u9650\u4e5f\u660e\u663e\u53d7\u9650\u4e8e\u4e24\u4e2a\u56e0\u7d20\uff1a\u7b2c\u4e00\uff0c\u9a8c\u8bc1\u903b\u8f91\u4ecd\u5c40\u9650\u4e8e\u51e0\u4f55\u95ed\u5408\u6027\u548c\u7ef4\u5ea6\u6b63\u786e\u6027\uff0c\u800c\u5bf9\u4e8e\u66f4\u590d\u6742\u7684\u5de5\u7a0b\u7ea6\u675f\uff08\u5982\u516c\u5dee\u3001\u6750\u6599\u9002\u914d\u3001\u52a0\u5de5\u5de5\u827a\u8def\u5f84\uff09\u76ee\u524d\u57fa\u672c\u65e0\u80fd\u4e3a\u529b\uff1b\u7b2c\u4e8c\uff0c\u5b83\u672c\u8d28\u4e0a\u662f\u5b9a\u4f4d\u4e8e\u201cAI\u81ea\u68c0+\u9884\u89c8\u201d\u7684\u4e2d\u95f4\u5c42\u5de5\u5177\uff0c\u800c\u4e0d\u662f\u539f\u751f\u7684\u8bbe\u8ba1\u5e73\u53f0\uff0c\u8fd9\u610f\u5473\u7740\u7528\u6237\u4ecd\u9700\u4f9d\u8d56Claude Code\u7b49\u524d\u7aef\u8fdb\u884c\u4ea4\u4e92\u8bbe\u8ba1\uff0c\u6574\u4e2a\u5de5\u4f5c\u6d41\u4f9d\u7136\u788e\u7247\u5316\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u5b9a\u4f4d\u770b\uff0c\u5b83\u975e\u5e38\u9002\u5408\u8bbe\u8ba1\u63a2\u7d22\u548c\u539f\u578b\u9a8c\u8bc1\u9636\u6bb5\u7684\u201c\u5feb\u7ffb\u5feb\u6539\u201d\uff0c\u5bf9\u673a\u68b0\u88c5\u914d\u4f53\u6216\u751f\u4ea7\u7ea7\u96f6\u4ef6\u5de5\u7a0b\u5e08\u800c\u8a00\uff0c\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u6709\u8da3\u7684\u8f85\u52a9\u68c0\u67e5\u7ad9\uff0c\u800c\u975e\u8bbe\u8ba1\u4e3b\u529b\u5de5\u5177\u3002\u4f46\u82e5\u80fd\u5c06\u5de5\u7a0b\u7ea6\u675f\u77e5\u8bc6\u9010\u6b65\u5185\u5316\u8fdb\u8fd9\u4e2a\u81ea\u68c0\u5faa\u73af\uff0c\u751a\u81f3\u53cd\u5411\u6307\u5bfcAI\u8c03\u6574\u8bbe\u8ba1\u903b\u8f91\uff0c\u5b83\u5b8c\u5168\u6709\u673a\u4f1a\u6210\u4e3aAI\u5236\u56fe\u65f6\u4ee3\u7684\u201c\u8d28\u91cf\u95e8\u201d\u57fa\u7840\u8bbe\u65bd\u3002\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u8ba9AI\u4e0d\u518d\u753b\u201c\u770b\u8d77\u6765\u5bf9\u4f46\u5b9e\u9645\u5e9f\u201d\u7684\u56fe\uff0c\u4f46\u8981\u753b\u201c\u771f\u6b63\u80fd\u9020\u7684\u56fe\u201d\u8fd8\u5dee\u4e00\u6574\u5957\u5de5\u7a0b\u7ea6\u675f\u7cfb\u7edf\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\">agentcad<\/span>\n                <\/div>\n<div class=\"comment-content\">Give your coding agent the ability to design real, manufacturable parts. Hand Claude Code or Codex a prompt, a sketch, or image. It writes build123d or CadQuery scripts, then runs agentcad to check its own work, catching broken code, confirming the geometry is watertight and dimensionally correct, and rendering it from every angle so your agent fixes its mistakes before you ever see them. You get back an interactive viewer plus STEP \/ STL \/ GLB files \u2014 ready to inspect, edit, or print.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Increasingly I find myself working with coding agents on the first drafts of things. I have a general idea of what I want to build and getting it to 80 or 90% allows me to visualize it and give better feedback.<\/p>\n<p>When doing this, I noticed that sometimes I got something back I liked but often coding agents gave me things that had obvious errors, born from the fact that they had no way to visualize \/ verify their code before handing it back to me. <\/p>\n<p>Agentcad solves this problem. It gives the coding agent the ability to see + verify what it&#8217;s making along the way allowing it to test what it&#8217;s building before you see it.<\/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\/@jdilla\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jdilla<\/a>&nbsp;Very cool concept. Giving coding agents the ability to validate geometry and catch their own mistakes before handing off printable files feels like a big step toward practical CAD automation. Curious, what kinds of parts are users generating most today: simple prototypes, mechanical assemblies, or production-ready components?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious whether the harder problem has been generating CAD designs or giving agents enough understanding of engineering constraints to avoid bad designs in the first place.<\/p>\n<p>Which side has surprised you 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\/@zaid_mallik1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaid_mallik1<\/a>&nbsp;the agents will always generate <em>something <\/em>so producing quality is definitely the bigger challenge. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/UXYTSLW2JY2VR3\" class=\"app-title\">Limelight<\/a><\/p>\n<div class=\"one-liner\">Make your screen recordings easy to follow<\/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>Limelight\u662f\u4e00\u6b3e\u96c6\u5149\u6807\u9ad8\u4eae\u3001\u6309\u952e\u663e\u793a\u4e0e\u5c4f\u5e55\u7ed8\u5236\u4e8e\u4e00\u4f53\u7684\u83dc\u5355\u680f\u5c0f\u5de5\u5177\uff0c\u4e13\u4e3a\u5f55\u5c4f\u548c\u76f4\u64ad\u573a\u666f\u6253\u9020\uff0c\u89e3\u51b3\u4e86\u89c2\u4f17\u770b\u4e0d\u6e05\u64cd\u4f5c\u7ec6\u8282\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\/79ee9a0a-7a75-4e5d-b917-11e59ae6bd7a.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\/fade83b0-c132-4f83-9f16-5ecb36b2a362.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\">Education<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5c4f\u5e55\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">\u5149\u6807\u9ad8\u4eae<\/span><br \/>\n            <span class=\"tag\">\u6309\u952e\u663e\u793a<\/span><br \/>\n            <span class=\"tag\">\u5c4f\u5e55\u7ed8\u56fe<\/span><br \/>\n            <span class=\"tag\">\u6f14\u793a\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6559\u5b66\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f55\u5c4f\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">Mac\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span><br \/>\n            <span class=\"tag\">\u5355\u6b21\u4ed8\u8d39<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u70b9\u8d5e\u5176\u805a\u7126\u6f14\u793a\u6e05\u6670\u5ea6\u7684\u8bbe\u8ba1\uff0c\u5c24\u5176\u597d\u5947\u5149\u6807\u9ad8\u4eae\u4e0e\u5c4f\u5e55\u6ce8\u91ca\u54ea\u4e2a\u529f\u80fd\u66f4\u5e38\u7528\u3002\u5f00\u53d1\u8005\u79ef\u6781\u53c2\u4e0e\u4e92\u52a8\uff0c\u627f\u8bfa\u4e3a\u7528\u6237\u63a8\u8350\u6700\u4f73\u5feb\u6377\u952e\u8bbe\u7f6e\uff0c\u5c55\u73b0\u8d34\u5fc3\u670d\u52a1\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                Limelight\u7cbe\u51c6\u5207\u5165\u4e86\u5f55\u5c4f\u548c\u6f14\u793a\u573a\u666f\u4e2d\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u7ec6\u8282\u2014\u2014\u64cd\u4f5c\u53ef\u89c1\u6027\u3002\u5728Zoom\u3001OBS\u7b49\u4e3b\u6d41\u5e73\u53f0\u5df2\u6210\u6807\u914d\u7684\u4eca\u5929\uff0c\u7528\u6237\u75db\u70b9\u5df2\u4ece\u201c\u80fd\u5426\u5f55\u5236\u201d\u8f6c\u5411\u201c\u89c2\u4f17\u80fd\u5426\u770b\u61c2\u201d\uff0c\u800cLimelight\u4ee5\u4e00\u5957\u4f4e\u6210\u672c\u7684\u201c\u5149\u6807\u8ffd\u8e2a+\u6309\u952e\u53cd\u663e+\u6807\u6ce8\u201d\u7ec4\u5408\u62f3\uff0c\u6070\u597d\u586b\u8865\u4e86\u5de5\u5177\u94fe\u4e2d\u7f3a\u5931\u7684\u6700\u540e\u4e00\u73af\u3002\u5176\u6700\u5927\u4eae\u70b9\u5e76\u975e\u529f\u80fd\u5806\u53e0\uff0c\u800c\u662f\u6781\u81f4\u7684\u514b\u5236\uff1a\u539f\u751f\u79bb\u7ebf\u3001\u65e0\u8d26\u6237\u30019\u7f8e\u5143\u4e70\u65ad\u3001\u83dc\u5355\u680f\u5e38\u9a7b\u3002\u5bf9\u6bd4ScreenFlow\u7b49\u4e0a\u767e\u7f8e\u5143\u7684\u5927\u800c\u5168\u5de5\u5177\uff0c\u4ee5\u53ca\u90e8\u5206\u4ed8\u8d39\u8ba2\u9605\u7684\u4e91\u7aef\u65b9\u6848\uff0cLimelight\u9009\u62e9\u4e86\u6700\u5229\u4e8e\u53e3\u7891\u4f20\u64ad\u7684\u8f7b\u91cf\u5316\u7b56\u7565\u3002\u4f46\u4e5f\u8981\u770b\u5230\uff0c\u5176\u5e94\u7528\u573a\u666f\u9ad8\u5ea6\u5782\u76f4\u2014\u2014\u5bf9\u5927\u591a\u6570\u53ea\u770b\u4e0d\u5f55\u7684\u666e\u901a\u7528\u6237\u800c\u8a00\uff0c8\u7f8e\u5143\u90fd\u4e0d\u503c\uff1b\u800c\u4e13\u4e1a\u89c6\u9891\u6559\u7a0b\u5236\u4f5c\u8005\uff0c\u53ef\u80fd\u66f4\u503e\u5411\u540e\u671f\u7528Final Cut Pro\u7684Keynote\u6548\u679c\u6216\u63d2\u4ef6\u66ff\u4ee3\u5b9e\u65f6\u6807\u6ce8\u3002\u6b64\u5916\uff0c\u5c4f\u5e55\u7ed8\u5236\u529f\u80fd\u7f3a\u4e4f\u5f62\u72b6\u9884\u8bbe\u548c\u56fe\u5c42\u7ba1\u7406\uff0c\u5728\u9ad8\u5f3a\u5ea6\u6f14\u793a\u4e2d\u7565\u663e\u5355\u8584\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u201c\u8d8a\u7528\u8d8a\u9999\u201d\u7684\u7cbe\u51c6\u5de5\u5177\uff0c\u9002\u5408\u8ffd\u6c42\u6548\u7387\u7684\u64ad\u5ba2\u3001\u6559\u5e08\u548c\u5f00\u53d1\u8005\uff0c\u4f46\u5929\u82b1\u677f\u4e5f\u76f8\u5f53\u660e\u663e\u2014\u2014\u5b83\u89e3\u51b3\u4e86\u201c\u770b\u4e0d\u6e05\u201d\u7684\u95ee\u9898\uff0c\u5374\u65e0\u6cd5\u89e3\u51b3\u201c\u8bb2\u5f97\u4e0d\u597d\u201d\u7684\u672c\u8d28\u3002\u72ec\u7acb\u5f00\u53d1\u8005\u82e5\u60f3\u7a81\u56f4\uff0c\u9700\u5728\u6a21\u677f\u5316\u5feb\u6377\u952e\u9884\u8bbe\u4e0e\u591a\u663e\u793a\u5668\u9002\u914d\u7b49\u573a\u666f\u6df1\u6316\uff0c\u800c\u975e\u76f2\u76ee\u6dfb\u529f\u80fd\u3002\u5b9a\u4ef7\u7b56\u7565\u582a\u79f0\u5178\u8303\uff1a\u4f4e\u5355\u4ef7\u7ed3\u5408\u514d\u8d39\u8bd5\u7528\uff0c\u65e2\u964d\u4f4e\u51b3\u7b56\u95e8\u69db\uff0c\u53c8\u8fc7\u6ee4\u767d\u5ad6\u7528\u6237\uff0c\u503c\u5f97\u540c\u7c7bApp\u501f\u9274\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\">Limelight<\/span>\n                <\/div>\n<div class=\"comment-content\">Limelight makes everything you do on screen easy to follow. \ud83d\udd26 Spotlight your cursor, \u2328\ufe0f show the keys you press, and \u270f\ufe0f draw on screen \u2014 so your audience never loses track of what you&#8217;re doing. Works with Zoom, OBS, Keynote, Google Slides, anything. Native, offline, no account. No subscription \u2014 $9 once, with a 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\">Hey Product Hunt \ud83d\udc4b I kept watching tutorials and demos where I couldn&#8217;t tell what the person clicked or which shortcut they pressed. So I built Limelight \u2014 cursor spotlight + on-screen keystrokes + draw-on-screen, all in one tiny menu-bar app. It&#8217;s for teachers, YouTubers\/screencasters, and devs doing demos. I&#8217;m tired of subscriptions for small utilities, so it&#8217;s $9 one-time \u2014 and the full app is free for 7 days, no card.<\/p>\n<p>Drop a comment with what you record or present, and I&#8217;ll reply with the exact shortcut setup that&#8217;ll make it cleanest \ud83d\udc47<\/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\/@willie_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@willie_dev<\/a>&nbsp;Love the focus on clarity during demos and presentations. The cursor spotlight and keystroke overlay seem especially useful for tutorials and screen shares. Curious, have you found users relying more on the spotlight feature or the on-screen annotations?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@willie_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@willie_dev<\/a>&nbsp;Nice work man!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/AA2VZA43G62USD\" class=\"app-title\">Mic Drop 3.0<\/a><\/p>\n<div class=\"one-liner\">Mute your mic in any app\u2014with your AirPods<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">99<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Mic Drop 3.0 \u662f\u4e00\u6b3e macOS \u5168\u5c40\u9759\u97f3\u7ba1\u7406\u5de5\u5177\uff0c\u8ba9\u4f60\u901a\u8fc7\u5feb\u6377\u952e\u3001\u83dc\u5355\u680f\u6216 AirPods \u6309\u538b\uff0c\u5728\u4efb\u4f55\u89c6\u9891\u4f1a\u8bae\u5e94\u7528\u4e2d\u4e00\u952e\u9759\u97f3\/\u53d6\u6d88\u9759\u97f3\uff0c\u5f7b\u5e95\u544a\u522b\u624b\u5fd9\u811a\u4e71\u627e\u6309\u94ae\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\/04be20f7-74db-43c0-af8a-2c1222604933.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1314beb4-4ee6-452f-8022-57b5790f0d7a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3300c349-8b9b-475e-8aa3-cf38d52118ae.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d341fd06-68bd-4091-9349-d6e4cc6ca841.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9b15effc-c123-418d-9e0d-60e8e05d92c9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e9367896-2bb8-43af-b51c-7c8acb1219d6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cf157096-02fd-4909-8f98-5de490831d41.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a22b07b3-0826-4970-bd7a-d3b48e62838b.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\">Meetings<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span><br \/>\n            <span class=\"tag\">Remote Work<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS<\/span><br \/>\n            <span class=\"tag\">\u9759\u97f3\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u4f1a\u8bae<\/span><br \/>\n            <span class=\"tag\">AirPods<\/span><br \/>\n            <span class=\"tag\">\u5168\u5c40\u5feb\u6377\u952e<\/span><br \/>\n            <span class=\"tag\">AppleScript<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u7528\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u63d0\u5347<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u4e70\u65ad\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>\u5f00\u53d1\u8005 Sarah \u548c Matt \u8868\u793a\uff0c\u7528\u6237\u547c\u58f0\u6700\u9ad8\u7684 AirPods \u6309\u538b\u9759\u97f3\u529f\u80fd\u5df2\u5728 3.0 \u4e2d\u5b9e\u73b0\uff0c\u5e76\u8bda\u9080\u7528\u6237\u53c2\u4e0e\u540e\u7eed\u529f\u80fd\u6d4b\u8bd5\uff0c\u53cd\u9988\u96c6\u4e2d\u5728\u671f\u5f85 Google Meet \u6d4f\u89c8\u5668\u63d2\u4ef6\u3001\u865a\u62df\u9ea6\u514b\u98ce\u53ca\u56fd\u9645\u5316\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                Mic Drop 3.0 \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u573a\u666f\u5316\u5feb\u6377\u952e\u201d\u7684\u7cbe\u81f4\u89e3\u51b3\u65b9\u6848\u3002\u5b83\u6ca1\u6709\u6539\u53d8\u4f1a\u8bae\u8f6f\u4ef6\u7684\u903b\u8f91\uff0c\u800c\u662f\u901a\u8fc7\u786c\u4ef6\uff08AirPods\uff09\u548c\u7cfb\u7edf\u7ea7\u6307\u4ee4\uff08AppleScript\uff09\u7684\u6865\u63a5\uff0c\u89e3\u51b3\u4e86\u591a\u5e73\u53f0\u4f1a\u8bae\u573a\u666f\u4e0b\u7684\u9ad8\u9891\u75db\u70b9\u2014\u2014\u5728\u591a\u4e2a\u5e94\u7528\u7a97\u53e3\u95f4\u5b9a\u4f4d\u9759\u97f3\u6309\u94ae\u7684\u201c\u788e\u5c4f\u201d\u5f0f\u5e72\u6270\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u63d0\u4f9b\u4e86\u6781\u81f4\u7684\u201c\u4f4e\u6469\u64e6\u4ea4\u4e92\u201d\uff1a\u628a\u539f\u672c\u9700\u8981\u89c6\u89c9\u786e\u8ba4\u7684\u70b9\u51fb\u64cd\u4f5c\uff0c\u964d\u7ea7\u4e3a\u808c\u8089\u8bb0\u5fc6\u7684\u6309\u538b\u52a8\u4f5c\uff0c\u8fd9\u5728\u9700\u8981\u4fdd\u6301\u955c\u5934\u524d\u804c\u4e1a\u72b6\u6001\u7684\u4f1a\u8bae\u4e2d\uff0c\u4f53\u9a8c\u63d0\u5347\u975e\u5e38\u660e\u663e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u8fd9\u4e2a\u4ea7\u54c1\u4e5f\u9762\u4e34\u660e\u663e\u7684\u529f\u80fd\u5929\u82b1\u677f\u3002AirPods \u6309\u538b\u672c\u8eab\u662f macOS \u539f\u751f\u652f\u6301\u7684\u5feb\u6377\u952e\u6620\u5c04\uff0c\u4e0d\u5b58\u5728\u6280\u672f\u58c1\u5792\uff1b\u800c\u201c\u5168\u5c40\u9759\u97f3\u201d\u7684\u5b9e\u73b0\u539f\u7406\uff08\u901a\u8fc7\u5feb\u6377\u952e\u8c03\u7528\u5404 App \u7684 API\uff09\u4e5f\u975e\u72ec\u521b\uff0c\u4e14\u90e8\u5206 App \u7684\u6743\u9650\u5c01\u9501\u53ef\u80fd\u968f\u65f6\u8ba9\u201c\u865a\u62df\u9ea6\u514b\u98ce\u201d\u65b9\u6848\u7684\u63a8\u8fdb\u53d8\u5f97\u68d8\u624b\u3002\u6b64\u5916\uff0c99\u7968\u7684\u793e\u533a\u5173\u6ce8\u5ea6\u4e0e\u201c\u9996\u8981\u6743\u9650\/\u4e70\u65ad\u5236\u201d\u7684\u7ec4\u5408\uff0c\u8bf4\u660e\u5b83\u4ecd\u662f\u4e00\u4e2a\u5c0f\u4f17\u5229\u5668\u578b\u5e94\u7528\uff0c\u800c\u975e\u5927\u4f17\u88c5\u673a\u5fc5\u5907\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u53ef\u80fd\u4e0d\u5728\u9759\u97f3\u672c\u8eab\uff0c\u800c\u5728\u4e8eAppleScript\u652f\u6301\u6240\u6784\u5efa\u7684\u81ea\u52a8\u5316\u751f\u6001\u2014\u2014\u5982\u679c\u7528\u6237\u80fd\u5c06\u5176\u4e0e Stream Deck\u3001Raycast \u6216\u5176\u4ed6\u5de5\u4f5c\u6d41\u6df1\u5ea6\u7ed1\u5b9a\uff0cMic Drop \u5c31\u6709\u53ef\u80fd\u4ece\u4e00\u4e2a\u201c\u4e34\u65f6\u7684\u4f1a\u8bae\u8f85\u52a9\u5de5\u5177\u201d\uff0c\u8fdb\u5316\u4e3a\u684c\u9762\u6548\u7387\u81ea\u52a8\u5316\u4e2d\u7684\u91cd\u8981\u4e00\u73af\u3002\u5426\u5219\uff0c\u9762\u5bf9\u5404\u5927\u4f1a\u8bae\u8f6f\u4ef6\u81ea\u5efa\u9759\u97f3\u5feb\u6377\u952e\u4ee5\u53ca\u7cfb\u7edf\u83dc\u5355\u680f\u672c\u8eab\u7684\u4f18\u5316\uff0c\u5b83\u7684\u4e0d\u53ef\u66ff\u4ee3\u6027\u4f1a\u968f\u7740\u65f6\u95f4\u88ab\u7a00\u91ca\u3002\u4e00\u53e5\u8bdd\uff1a\u529f\u80fd\u503c\u5f97\u4ed8\u8d39\uff0c\u4f46\u957f\u671f\u6765\u770b\uff0c\u6293\u7262\u81ea\u52a8\u5316\u4e0e\u5b9a\u5236\u5316\u7684\u201c\u57fa\u5efa\u201d\u89d2\u8272\uff0c\u6bd4\u5355\u7eaf\u4f18\u5316\u6309\u538b\u9759\u97f3\u4f53\u9a8c\uff0c\u66f4\u80fd\u51b3\u5b9a\u5176\u5929\u82b1\u677f\u7684\u9ad8\u4f4e\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\">Mic Drop 3.0<\/span>\n                <\/div>\n<div class=\"comment-content\">The ultimate macOS mute manager is back. Toggle your mic across Zoom, Meet, and Slack instantly using a global shortcut, menu bar icon, or a simple squeeze of your AirPods. Now faster, lighter, and packed with AppleScript support.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hello again Product Hunt! \ud83d\udc4b<\/p>\n<p>We\u2019re Sarah and Matt, and we built Mic Drop because we were tired of frantic clicking trying to find the mute button during video calls. Today, we&#8217;re incredibly excited to share version 3.0 with you all!<\/p>\n<p>This version launches with a feature we&#8217;ve heard users request over and over: AirPods Press to Mute! Just squeeze the stem of your AirPods to toggle your microphone system-wide\u2014no more hunting for the Zoom or Google Meet tab.<\/p>\n<p>What else is new in 3.0:<br \/>\n\u2022\tAppleScript Support: Build your own custom workflows, Stream Deck shortcuts, or advanced automations.<br \/>\n\u2022\tUnder the Hood: A complete optimisation sweep making the app even faster and vastly more energy-efficient.<br \/>\n\u2022\tRefined Behaviour: Sneaky bug fixes to make multi-device swapping smoother than ever.<\/p>\n<p>Mic Drop is entirely privacy-first (we don&#8217;t record your audio or collect analytics) and it&#8217;s a one-time purchase\u2014no pesky subscriptions here.<\/p>\n<p>We have lots of big improvements in the pipeline too:<br \/>\n&#8211; a Google Meet browser plug-in, mostly to hide the mute notice but also improve integration<br \/>\n&#8211; a virtual microphone for incompatible devices, this will allow devices that Mic Drop currently can\u2019t mute to work seamlessly<br \/>\n&#8211; internationalisation (Ol\u00e1\/Hallo\/\u4f60\u597d\/Hola)<br \/>\n&#8211; improved interoperability with other meeting apps<br \/>\n&#8211; statistics, so you can know how many times you\u2019ve muted yourself<br \/>\n&#8211; an optional dock icon<\/p>\n<p>If you&#8217;d like to help us beta test these future features, drop us a comment below!<\/p>\n<p>We&#8217;d love to hear your feedback. What features should we build next?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/5IV3JIRUE6DPAQ\" class=\"app-title\">Solarch<\/a><\/p>\n<div class=\"one-liner\">Interactive diagrams with AI, and your code always in sync<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">96<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Solarch\u662f\u4e00\u6b3e\u5c06\u4ea4\u4e92\u5f0f\u67b6\u6784\u56fe\u4f5c\u4e3a\u552f\u4e00\u771f\u76f8\u6e90\u3001\u901a\u8fc7\u4e25\u683c\u89c4\u5219\u5f15\u64ce\u81ea\u52a8\u751f\u6210NestJS\u540e\u7aef\u6837\u677f\u4ee3\u7801\uff08DTO\u3001\u670d\u52a1\u7b49\uff09\u7684\u5e73\u53f0\uff0c\u89e3\u51b3\u5f00\u53d1\u4e2d\u201c\u67b6\u6784\u56fe\u4e0e\u4ee3\u7801\u4e0d\u540c\u6b65\u201d\u4ee5\u53ca\u201c80%\u91cd\u590d\u6027\u7ed3\u6784\u642d\u5efa\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\/4b896ac3-126e-4cf5-a69c-51fffc9b3fde.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/ZHMCPwmUILM\"><source src=\"https:\/\/youtu.be\/ZHMCPwmUILM\" 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\/14e9a282-c219-40fa-bdc1-9ac931496c81.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5fed4d86-9464-478f-afa8-baaac5e3c8b3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d82da668-1d40-4f26-ac73-5adf26ba8432.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/569a3593-1762-4d9c-8149-eac937378a3f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ac75925f-f31a-4a4f-a17e-d8d1c2f9ef5d.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\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u67b6\u6784\u56fe\u9a71\u52a8\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801\/\u65e0\u4ee3\u7801<\/span><br \/>\n            <span class=\"tag\">AI\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">NestJS<\/span><br \/>\n            <span class=\"tag\">\u540e\u7aef\u5f00\u53d1\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u5efa\u6a21<\/span><br \/>\n            <span class=\"tag\">\u89c4\u5219\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">AST\u89e3\u6790<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\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\u56fe\u7801\u540c\u6b65\u201d\u89e3\u51b3\u67b6\u6784\u6f02\u79fb\u95ee\u9898\u3002\u6838\u5fc3\u8d28\u7591\u805a\u7126\u4e8e\uff1a1. \u53cc\u5411\u540c\u6b65\u65f6\u5982\u4f55\u4fdd\u7559\u81ea\u5b9a\u4e49\u903b\u8f91\uff08\u5b98\u65b9\u56de\u5e94V1\u91c7\u7528\u56fe\u4f5c\u4e3a\u7edd\u5bf9\u6e90\uff0cV2\u5c06\u7528AST\u89e3\u6790\u548cGit\u63a7\u5236\u6d41\u89e3\u51b3\uff09\uff1b2. \u89c4\u5219\u5f15\u64ce\u662f\u5426\u5141\u8bb8\u5b9a\u4e49\u81ea\u5b9a\u4e49\u8282\u70b9\u7c7b\u578b\uff08\u5982\u961f\u5217\u6d88\u8d39\u8005\uff09\uff1b3. \u5f53\u524d\u4e3b\u8981\u88ab\u7528\u4e8e\u4f55\u79cd\u9879\u76ee\uff1b4. \u5e0c\u671b\u540e\u7eed\u652f\u6301\u66f4\u591a\u7684\u6846\u67b6\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                Solarch\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u6602\u8d35\u7684\u75db\u70b9\u2014\u2014\u67b6\u6784\u56fe\u4e0e\u4ee3\u7801\u7684\u201c\u71b5\u589e\u201d\u51e0\u4e4e\u662f\u6240\u6709\u4e2d\u5927\u578b\u9879\u76ee\u7684\u987d\u75be\u3002\u5b83\u5c06\u56fe\u4ece\u201c\u6587\u6863\u201d\u63d0\u5347\u4e3a\u201c\u7f16\u8bd1\u5668\u201d\uff0c\u601d\u8def\u7280\u5229\u3002\u4f46\u5fc5\u987b\u76f4\u8bf4\uff0c\u5176\u5f53\u524dV1\u7248\u672c\u7684\u201c\u5355\u5411\u7f16\u8bd1\uff0c\u56fe\u5373\u771f\u7406\u201d\u6a21\u578b\uff0c\u5728\u5b9e\u9645\u5de5\u7a0b\u4e2d\u51e0\u4e4e\u4e0d\u53ef\u7528\u3002\u4efb\u4f55\u4e00\u4e2a\u6709\u7ecf\u9a8c\u7684\u56e2\u961f\u90fd\u4e0d\u4f1a\u63a5\u53d7\u751f\u6210\u7684\u6837\u677f\u4ee3\u7801\u88ab\u7c97\u66b4\u8986\u76d6\uff0c\u90a3\u7b49\u4e8e\u653e\u5f03\u4e86\u6240\u6709\u624b\u52a8\u4f18\u5316\u548c\u5f02\u5e38\u5904\u7406\u7a7a\u95f4\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u7684\u4ef7\u503c\u62bc\u6ce8\u5728\u5373\u5c06\u63a8\u51fa\u7684V2\u548cVS Code\u6269\u5c55\u4e0a\u3002\u57fa\u4e8eAST\u548cGit\u63a7\u5236\u6d41\u7684\u667a\u80fd\u5408\u5e76\uff0c\u624d\u662f\u89e3\u51b3\u201c\u53cc\u5411\u540c\u6b65\u201d\u96be\u9898\u7684\u6280\u672f\u5173\u952e\u3002\u5982\u679c\u53ea\u80fd\u505a\u5230\u5355\u5411\u751f\u6210\uff0c\u5b83\u4e0d\u8fc7\u662f\u4e00\u4e2a\u66f4\u6f02\u4eae\u7684\u4ee3\u7801\u751f\u6210\u5668\uff0c\u4e0e\u73b0\u6709\u7684\u4f17\u591a\u4f4e\u4ee3\u7801\u5de5\u5177\u65e0\u5f02\uff0c\u96be\u4ee5\u6784\u5efa\u62a4\u57ce\u6cb3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u503c\u5f97\u8b66\u60d5\u7684\u9690\u60a3\u662f\u201c\u6846\u67b6\u9501\u5b9a\u201d\u3002\u76ee\u524d\u4ec5\u652f\u6301NestJS\uff0c\u8fd9\u610f\u5473\u7740\u5176\u89c4\u5219\u5f15\u64ce\u4e0eTypeScript\u7684\u88c5\u9970\u5668\u3001\u4f9d\u8d56\u6ce8\u5165\u4f53\u7cfb\u6df1\u5ea6\u8026\u5408\u3002\u5feb\u901f\u652f\u6301Go\u3001Python\u7b49\u5176\u4ed6\u751f\u6001\u7684\u6846\u67b6\uff0c\u5c06\u51b3\u5b9a\u5b83\u4ece\u4e00\u4e2a\u201cNestJS\u63d2\u4ef6\u201d\u8fdb\u5316\u6210\u4e00\u4e2a\u201c\u901a\u7528\u67b6\u6784\u5de5\u5177\u201d\u7684\u5929\u82b1\u677f\u3002\u540c\u65f6\uff0c\u7528\u6237\u5173\u4e8e\u81ea\u5b9a\u4e49\u8282\u70b9\u7c7b\u578b\u7684\u63d0\u95ee\u4e00\u9488\u89c1\u8840\u2014\u2014\u5982\u679c\u89c4\u5219\u5f15\u64ce\u7684\u6a21\u677f\u662f\u5c01\u95ed\u7684\uff0c\u5b83\u5c31\u53ea\u80fd\u5904\u7406\u5df2\u77e5\u7684\u91cd\u590d\u52b3\u52a8\uff0c\u800c\u771f\u6b63\u7684\u67b6\u6784\u590d\u6742\u6027\u5f80\u5f80\u85cf\u5728\u672a\u77e5\u7684\u3001\u5b9a\u5236\u5316\u7684\u670d\u52a1\u91cc\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u540e\uff0c\u521b\u59cb\u4eba\u5c06Solarch\u5b9a\u4f4d\u4e3a\u201c\u4eba\u7c7b\u4e0eAI\u534f\u4f5c\u7684\u754c\u9762\u201d\u662f\u66f4\u9ad8\u660e\u7684\u68cb\u5c40\u3002\u5728Agent\u6cdb\u6ee5\u3001\u4ee3\u7801\u8d28\u91cf\u96be\u4ee5\u4fdd\u8bc1\u7684\u65f6\u4ee3\uff0c\u4e00\u4e2a\u4e25\u683c\u3001\u786e\u5b9a\u6027\u7684\u89c6\u89c9\u8bed\u8a00\u786e\u5b9e\u662f\u9a6f\u670dAI\u5e7b\u89c9\u7684\u7edd\u4f73\u5de5\u5177\u3002\u4f46\u8fd9\u4e00\u5207\u7684\u524d\u63d0\u662f\uff1a\u4ee3\u7801\u751f\u6210\u5fc5\u987b\u662f\u53ef\u9006\u3001\u53ef\u5408\u5e76\u3001\u53ef\u5b9a\u5236\u7684\uff0c\u800c\u975e\u94c1\u677f\u4e00\u5757\u7684\u8f93\u51fa\u3002Solarch\u7684\u8d4c\u6ce8\u5f88\u5927\uff0c\u4f46\u65b9\u5411\u5bf9\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\">Solarch<\/span>\n                <\/div>\n<div class=\"comment-content\">Solarch is a diagram-to-code platform powered by a strict rules engine. It instantly transforms visual nodes into deterministic boilerplate code like DTOs and Services. We build the repetitive 80% of the architecture so you can code the core logic.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi everyone \ud83d\udc4b,<\/p>\n<p>I am Ugur, a solo founder, and today I am launching Solarch.<\/p>\n<p>Whenever I start a new project, setting up the basic structure\u2014Tables, DTOs, and Services\u2014takes up 80% of my time. Also, the architecture diagrams I draw become useless the moment I start writing code in the IDE.<\/p>\n<p>I built Solarch to solve this. It is an interactive diagram-to-code platform powered by a strict rules engine.<\/p>\n<p>Here is what you can do:<br \/>\n&#8211; Interactive AI Mapping: Draw your architecture yourself or let the AI map it out for you.<br \/>\n&#8211;  Deep Node Editing: Go inside any visual node to edit specific methods, table columns, and relations.<br \/>\n &#8211; Code Sync: The platform instantly syncs your interactive map into clean, structural NestJS boilerplate code.<\/p>\n<p>My goal is to automate the repetitive 80% of backend development so we can focus on the complex 20%.<\/p>\n<p>Since I am building this solo, your feedback means everything to me. I would love to know:<br \/>\n1. How does the system design experience feel to you?<br \/>\n2. Which framework should I support next after NestJS?<\/p>\n<p>I will be here all day to answer your questions. Let me know what you think!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fatalerrorist\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fatalerrorist<\/a>&nbsp;Really like the idea of using diagrams as the source of truth and generating the repetitive architecture automatically. Offloading the boilerplate 80% lets developers spend more time on the business logic that actually matters. Curious, what kinds of projects are teams using Solarch for most 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=\"reply-item\">\n<div class=\"reply-content\">\n<p>Saw the VS Code extension on the roadmap with bi-directional sync. That&#8217;s the part I&#8217;d want to understand better. If I generate a service, then add custom logic in the generated file, and later go back to edit the node in Solarch, does the sync know to preserve what I wrote? Or does it treat the generated file as owned by the engine and overwrite everything?<\/p>\n<p>Separate question on node types. The built-in set right now is tables, DTOs, services. If I need something the rules engine doesn&#8217;t have a template for, like a queue consumer or a scheduled job, can I define that as a custom node type, or is the vocabulary locked to what ships with the platform?<\/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 &#8220;diagrams and code always in sync&#8221; idea resonates hard \u2014 I spend my days in financial models where the same drift problem kills you: the logic and the documentation diverge and nobody trusts the output. Keeping the visual map and the underlying mechanics locked together is the whole game. It&#8217;s the same principle behind ModeLoop (<a href=\"https:\/\/modeloop.net\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/modeloop.net\/<\/a>), where the structure of a model has to stay legible as it grows. Nice execution \u2014 how are you handling versioning when the code changes faster than the diagram?<\/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\/@samir_asadov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samir_asadov<\/a>&nbsp;<br \/>The entropy in financial models is the exact same problem as architectural drift in software. If the map doesn&#8217;t match the territory, the system becomes a liability. I completely agree with the principle behind ModeLoop\u2014structure must remain legible.<\/p>\n<\/p>\n<p>To answer your question directly: right now in v1, we enforce the diagram as the absolute source of truth. It is a strict one-way compiler. If a developer manually changes the generated boilerplate faster than the diagram, the next export will overwrite it.<\/p>\n<\/p>\n<p>However, we are fundamentally solving this in our upcoming <strong>VS Code extension (shipping in a few weeks).<\/strong> Instead of treating the generated file as 100% owned by the engine, we are implementing <strong>AST (Abstract Syntax Tree) <\/strong>parsing and a <strong>Git-based control flow.<\/strong> <\/p>\n<\/p>\n<p>This allows the engine to recognize manually injected custom logic blocks, perform a smart diff, and merge visual architectural updates without crushing the developer&#8217;s manual code. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interactive diagrams feel like they could become the shared source of truth between humans and agents.<\/p>\n<p>Do users mostly treat diagrams as documentation, or are they becoming active planning tools that drive implementation?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@zaid_mallik1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaid_mallik1<\/a>&nbsp;<\/p>\n<p>You just saw the exact endgame.<\/p>\n<p>Historically, diagrams are just dead pictures that rot within a week. It&#8217;s a broken loop. We\u2019re turning the canvas into a literal compiler.<\/p>\n<\/p>\n<p>And you are 100% right about AI agents. If humans and AI are going to build complex systems together, they need a strict, deterministic visual language\u2014otherwise, it&#8217;s just pure hallucination. This is exactly why integrating MCP is our next move. Solarch isn&#8217;t just a devtool; we are building the interface where human architects and AI agents will collaborate 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>Nice! I&#8217;ve been using a fork of mermaid.js in the past to generate visualizations ad-hoc. Excited to give this a try!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@andreas_rubin_schwarz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andreas_rubin_schwarz<\/a>&nbsp;Thank you for your feedback! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/XHAVYWJP5L5RKV\" class=\"app-title\">AgentOS<\/a><\/p>\n<div class=\"one-liner\">Manage AI agents, tasks, workspaces from one control layer<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">95<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AgentOS\u662f\u4e00\u4e2a\u9762\u5411\u591aAI\u4ee3\u7406\u534f\u540c\u5de5\u4f5c\u7684\u672c\u5730\u4f18\u5148\u63a7\u5236\u5c42\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u548c\u5355\u4eba\u516c\u53f8\u50cf\u7ba1\u7406\u516c\u53f8\u4e00\u6837\u7ba1\u7406AI\u4ee3\u7406\u3001\u4efb\u52a1\u3001\u5de5\u4f5c\u533a\u53ca\u5ba1\u6279\u6d41\u7a0b\uff0c\u89e3\u51b3\u591a\u4ee3\u7406\u534f\u4f5c\u4e2d\u7684\u6df7\u4e71\u548c\u6548\u7387\u4f4e\u4e0b\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                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/85376f1f-ad5a-48e6-8203-d655e572a38c.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=ribFHZuKRos\"><source src=\"https:\/\/www.youtube.com\/watch?v=ribFHZuKRos\" 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\/428c9455-3993-409e-bc76-dcc9f51e11e1.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\/1b5e4c3c-94a5-4d2e-8954-a28d42734c42.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\/1b54b1df-50ca-4864-85d6-049c0b417b52.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\/4d483c98-b64a-42a6-b673-761d0a732ba8.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\/2e0a0ea9-3463-4ab8-9a7e-7e16cd4e3eba.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\/be1185e2-b92b-414f-b18e-7304de23ef3e.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\/0e790a7b-3381-465b-87cd-347a17cec25f.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\/d723ac12-b78e-499f-baea-6ccf65c18987.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u591a\u4ee3\u7406\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u533a\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u5ba1\u6279<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u8425\u63a7\u5236\u5c42<\/span><br \/>\n            <span class=\"tag\">\u5355\u4eba\u516c\u53f8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u201c\u50cf\u516c\u53f8\u4e00\u6837\u7ba1\u7406\u4ee3\u7406\u201d\u7684\u6784\u60f3\uff0c\u8d5e\u626c\u5176\u5bf9\u5ba1\u6279\u3001\u4efb\u52a1\u3001\u8fd0\u884c\u53ef\u89c1\u6027\u7684\u5173\u6ce8\u3002\u4e3b\u8981\u7591\u95ee\u5305\u62ec\uff1a\u5f53\u524d\u6700\u6210\u529f\u7684\u5de5\u4f5c\u6d41\u573a\u666f\u3001\u4ee3\u7406\u89d2\u8272\u5b9a\u4e49\u4e0e\u5171\u4eab\u4e0a\u4e0b\u6587\u7ba1\u7406\u7684\u5e73\u8861\u3001\u6210\u672c\u900f\u660e\u5ea6\u548c\u9884\u7b97\u9650\u5236\uff08\u5982\u6bcf\u4ee3\u7406\u8d39\u7528\u4e0a\u9650\u3001\u6740\u6b7b\u5f00\u5173\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                AgentOS\u5207\u4e2d\u4e86\u4e00\u4e2a\u5b9e\u9645\u75db\u70b9\uff1a\u5f53AI\u4ee3\u7406\u4ece\u5355\u6253\u72ec\u6597\u8d70\u5411\u591a\u667a\u80fd\u4f53\u534f\u4f5c\u65f6\uff0c\u6838\u5fc3\u77db\u76fe\u5df2\u4ece\u201c\u6a21\u578b\u80fd\u529b\u201d\u8f6c\u5411\u201c\u8fd0\u8425\u7ba1\u63a7\u201d\u3002\u5176\u201c\u628a\u4ee3\u7406\u5f53\u516c\u53f8\u7ba1\u201d\u7684\u7c7b\u6bd4\uff0c\u672c\u8d28\u4e0a\u662f\u5c06\u5de5\u7a0b\u95ee\u9898\u62bd\u8c61\u4e3a\u7ba1\u7406\u95ee\u9898\u2014\u2014\u8fd9\u5f88\u806a\u660e\uff0c\u4f46\u4e5f\u66b4\u9732\u4e86\u5c40\u9650\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u73b0\u72b6\u770b\uff0cAgentOS\u66f4\u591a\u662f\u4e00\u4e2a\u201c\u4eea\u8868\u76d8+\u5ba1\u6279\u6d41+\u5de5\u4f5c\u533a\u201d\u7684\u6574\u5408\u5c42\uff0c\u5e95\u5c42\u4f9d\u8d56OpenClaw\u505a\u8fd0\u884c\u65f6\u7f16\u6392\u3002\u8fd9\u610f\u5473\u7740\u5b83\u5e76\u672a\u5728\u4ee3\u7406\u7cfb\u7edf\u672c\u8eab\u6709\u7a81\u7834\uff0c\u800c\u662f\u8bd5\u56fe\u7528\u6d41\u7a0b\u89c4\u8303\u6765\u8865\u507f\u4e0d\u6210\u719f\u7684\u534f\u8c03\u673a\u5236\u3002\u5373\u4fbf\u652f\u6301\u5171\u4eab\u4e0a\u4e0b\u6587\u548c\u7b56\u7565\uff0c\u7528\u6237\u4ecd\u9700\u624b\u52a8\u5b9a\u4e49\u89d2\u8272\u3001\u914d\u7f6e\u5bb9\u5fcd\u5ea6\uff0c\u672c\u8d28\u4e0a\u8fd8\u662f\u5728\u201c\u7528\u7e41\u590d\u7684\u89c4\u5219\u5e94\u5bf9\u6df7\u4e71\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u4ea7\u54c1\u8f83\u65e9\u5173\u6ce8\u6210\u672c\u63a7\u5236\u4e0e\u53ef\u89c2\u6d4b\u6027\u2014\u2014\u8fd9\u662f\u591a\u6570AI\u5e73\u53f0\u5728\u521d\u671f\u5ffd\u7565\u7684\u201c\u6697\u503a\u201d\u3002\u4f46\u82e5\u4ec5\u505a\u5230\u201c\u53ef\u89c1\u201d\u800c\u4e0d\u63d0\u4f9b\u81ea\u52a8\u5316\u6b62\u635f\uff08\u5982\u5f3a\u5236\u9884\u7b97\u3001\u5f02\u5e38\u5faa\u73af\u68c0\u6d4b\uff09\uff0c\u4f9d\u7136\u53ea\u662f\u4e8b\u540e\u8bf8\u845b\u4eae\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5bf9\u4e8e\u5355\u4eba\u516c\u53f8\u548c\u6781\u5ba2\u56e2\u961f\uff0cAgentOS\u53ef\u80fd\u6682\u65f6\u591f\u7528\u3002\u4f46\u8981\u771f\u6b63\u6210\u4e3a\u201c\u591a\u4ee3\u7406\u64cd\u4f5c\u7cfb\u7edf\u201d\uff0c\u5b83\u9700\u8981\u5728\u89d2\u8272\u5b9a\u4e49\u3001\u52a8\u6001\u534f\u8c03\u3001\u5f02\u5e38\u81ea\u6108\u7b49\u5c42\u9762\u5d4c\u5165\u667a\u80fd\uff0c\u800c\u975e\u505c\u7559\u5728\u201c\u7ed9\u6bcf\u4e2a\u4ee3\u7406\u914d\u4e2a\u89c4\u7ae0\u201d\u7684\u5c42\u9762\u3002\u5426\u5219\uff0c\u5f53\u4ee3\u7406\u6570\u91cf\u4ece5\u4e2a\u6da8\u523050\u4e2a\uff0c\u89c4\u5219\u77e9\u9635\u7684\u590d\u6742\u5ea6\u53cd\u800c\u4f1a\u6210\u4e3a\u65b0\u7684\u74f6\u9888\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\">AgentOS<\/span>\n                <\/div>\n<div class=\"comment-content\">Run AI agents like a company. AgentOS helps you coordinate workspaces, agents, tasks, jobs, approvals, and runtime visibility from one local-first control surface built on OpenClaw.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built AgentOS because running one AI agent is easy \u2014 but operating many agents across real projects gets messy fast.<\/p>\n<p>AgentOS lets you run AI agents like a company: organize workspaces, agents, tasks, models, sessions, approvals, onboarding, and runtime visibility from one local-first control surface.<\/p>\n<p>It is built on top of OpenClaw, which handles the agent runtime and orchestration. AgentOS focuses on the human operating layer: structure, visibility, control, and daily execution.<\/p>\n<p>My goal is to make agent teams operationally useful for builders, solo founders, and one-person companies.<\/p>\n<p>This is still early, so I\u2019d love your feedback:<br \/>\nWhat feels useful?<br \/>\nWhat feels confusing?<br \/>\nWhat would make this part of your workflow?<\/p>\n<p>AgentOS is open source \u2014 stars, forks, issues, PRs, and contributors are very welcome.<\/p>\n<p>Thanks for checking it out \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@akgulkazim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akgulkazim<\/a>&nbsp;Really interesting vision. Treating AI agents more like a company with approvals, tasks, and runtime visibility feels much closer to how real teams operate. Curious, what workflows are users coordinating most successfully with AgentOS today?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Once multiple agents share a workspace, coordination seems to become more important than raw model capability.<\/p>\n<p>Are users spending more effort defining agent roles, or managing the shared context between them?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@zaid_mallik1 Exactly. This is one of the core problems we\u2019re trying to solve with AgentOS.<\/p>\n<p>Agents in the same workspace can already share context, goals, strategy, and workspace-level policies. At the same time, each agent can still have its own role-specific policies, and agents can be cloned when you want to reuse a proven setup.<\/p>\n<p>The goal is to make multi-agent coordination feel simple for the operator \u2014 less manual context management, more clear execution.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;run agents like a company&#8221; framing makes sense because that&#8217;s where things are heading. one agent is easy, five agents doing different things across different workflows gets chaotic fast. curious how you handle cost visibility though&#8230; like if one agent starts looping and burning through tokens, is there a way to set per-agent spending limits or kill switches before the bill surprises you<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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 this is one of the core problems we\u2019re trying to solve with AgentOS.<\/p>\n<p>OpenClaw is powerful, and our goal is to make it more manageable, transparent, and accountable for real operations.<\/p>\n<p>Today, every agent already has visibility around which model it uses, task\/session activity, token usage, and task-level execution details. From there, the natural next layer is operator controls: per-agent budgets, task-level cost tracking, spend alerts, loop detection, and kill switches before anything gets out of hand.<\/p>\n<p>So yes \u2014 the goal is not just \u201crun more agents.\u201d<\/p>\n<p>It\u2019s to make agent work visible, measurable, and controllable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4YBL4VGAF725K6\" class=\"app-title\">Signal Recorder SR-7<\/a><\/p>\n<div class=\"one-liner\">On-device voice recorder that transcribes + exports Markdown<\/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>Signal Recorder SR-7 \u662f\u4e00\u6b3e\u4e13\u4e3a\u9690\u79c1\u654f\u611f\u7528\u6237\u8bbe\u8ba1\u7684\u672c\u5730\u8bed\u97f3\u8bb0\u5f55\u5de5\u5177\uff0c\u5728 Mac \u548c iPhone \u4e0a\u5b9e\u73b0\u79bb\u7ebf\u8f6c\u5199\u3001AI \u6458\u8981\uff0c\u5e76\u5c06\u5f55\u97f3\u76f4\u63a5\u5bfc\u51fa\u4e3a\u5e26 YAML \u5934\u90e8\u7684 Markdown \u6587\u4ef6\uff0c\u89e3\u51b3\u4e86\u8bed\u97f3\u6570\u636e\u201c\u4e0a\u4e91\u6cc4\u9732\u201d\u4e0e\u201c\u88ab\u5c01\u95ed\u5728\u5e94\u7528\u5185\u65e0\u6cd5\u590d\u7528\u201d\u7684\u53cc\u91cd\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\/bdd0dae7-086f-4f6f-b155-9097bad4d83b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bf4a7ce8-2312-4eea-9f2d-eef989de5276.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f6ac5a4d-6228-4e80-b0e7-de1acfa5c84c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e663226d-74f6-4981-9556-9d3369ac20aa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/68c482b1-a5be-4d6d-bdf7-d26df4f9add3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6a51f565-313d-47d7-bae6-f635df535f12.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\/6cf988d5-11fa-48a9-a386-3356360673c2.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=lZQ7d7cWhro\"><source src=\"https:\/\/www.youtube.com\/watch?v=lZQ7d7cWhro\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI\u8f6c\u5199<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">Markdown\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">Obsidian\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u4e70\u65ad\u5236\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">macOS\/iOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6781\u5ba2\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\u5bf9\u672c\u5730 MCP \u670d\u52a1\u5668\u4e0e Claude Code \u8054\u52a8\u67e5\u8be2\u6863\u6848\u7684\u529f\u80fd\u6700\u611f\u5174\u8da3\u3002\u5f00\u53d1\u8005\u56de\u5e94\u63d0\u793a\uff1a\u652f\u6301\u641c\u7d22\u3001\u9879\u76ee\u7ed3\u6784\u611f\u77e5\u3001\u6982\u89c8\u548c\u5355\u6587\u4ef6\u7f16\u8f91\uff0c\u4f46\u5b9e\u9645\u6548\u7387\u53d6\u51b3\u4e8e\u78c1\u76d8\u4e0a\u7684 Markdown \u6587\u4ef6\u3002\u53e6\u6709\u7528\u6237\u8be2\u95ee\u5982\u4f55\u6536\u96c6\u53cd\u9988\uff0c\u5f00\u53d1\u8005\u672a\u56de\u5e94\u76f8\u5173\u7ec6\u8282\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                SR-7 \u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u5c0f\u7fa4\u4eba\u7684\u201c\u75db\u611f\u201d\u2014\u2014\u90a3\u4e9b\u65e2\u7528 AI \u5199\u7a3f\u3001\u53c8\u7528 Obsidian \u505a\u7b14\u8bb0\u3001\u8fd8\u5bf9\u9690\u79c1\u8fc7\u654f\u7684\u786c\u6838\u77e5\u8bc6\u5de5\u4f5c\u8005\u3002\u5b83\u4e0d\u9760\u6d6e\u5938\u7684 AI \u529f\u80fd\u5438\u775b\uff0c\u800c\u662f\u7528\u201c\u4e70\u65ad+\u672c\u5730\u8fd0\u884c+Markdown \u8f93\u51fa\u201d\u4e09\u4e2a\u52a8\u4f5c\uff0c\u5f7b\u5e95\u7ec8\u7ed3\u4e86\u8bed\u97f3\u7b14\u8bb0\u201c\u5f55\u5b8c\u5c31\u6b7b\u201d\u548c\u201c\u5f55\u5b8c\u5c31\u4f20\u201d\u4e24\u5927\u987d\u75be\u3002\u6280\u672f\u4e0a\u5e76\u65e0\u98a0\u8986\uff1aApple Speech \u548c FoundationModels \u662f\u73b0\u6210\u80fd\u529b\uff0cMCP \u534f\u8bae\u4e5f\u975e\u9996\u521b\u3002\u4f46\u628a\u8fd9\u4e00\u6574\u5957\u94fe\u8def\u6253\u78e8\u6210\u201c\u5f00\u673a\u5373\u7528\u3001\u52ff\u9700\u8054\u7f51\u3001\u4ea4\u94b1\u4e00\u6b21\u201d\u7684\u4f53\u9a8c\uff0c\u672c\u8eab\u5c31\u662f\u8bbe\u8ba1\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u5b83\u7684\u5929\u82b1\u677f\u4e5f\u6e05\u6670\u53ef\u89c1\u3002\u7528\u6237\u753b\u50cf\u6781\u5176\u72ed\u7a84\u2014\u2014\u4f60\u5f97\u540c\u65f6\u662f Mac \u7528\u6237\u3001iPhone \u7528\u6237\u3001Obsidian \u6216 git \u7528\u6237\u3001\u4e14\u613f\u610f\u4e3a\u201c\u4e0d\u7528\u4e91\u670d\u52a1\u201d\u591a\u4ed8 $7.99\u3002\u5bf9\u4e8e\u666e\u901a\u7528\u6237\uff0c\u201c\u672c\u5730\u8fd0\u884c\u201d\u610f\u5473\u7740\u901f\u5ea6\u4e0d\u5982\u4e91\u7aef\u3001\u8f6c\u5f55\u7cbe\u5ea6\u53d7\u9650\u4e8e Apple \u6a21\u578b\u3001AI \u6458\u8981\u80fd\u529b\u4e5f\u8fdc\u4e0d\u5982 GPT-4o\u3002\u66f4\u81f4\u547d\u7684\u662f\uff0c\u5b83\u7684\u6838\u5fc3\u5356\u70b9\u201cMCP \u67e5\u8be2\u201d\u672c\u8d28\u4e0a\u662f\u5bf9\u5f00\u53d1\u8005\/\u6781\u5ba2\u7684\u9644\u8d60\u54c1\uff0c\u800c\u975e\u4e3b\u6d41\u7528\u6237\u521a\u9700\u3002\u5982\u679c\u56e2\u961f\u540e\u7eed\u4e0d\u6269\u5c55\u652f\u4ed8\u3001\u591a\u8bed\u8a00\u3001\u4e91\u5907\u4efd\u7b49\u5927\u4f17\u9700\u8981\u7684\u57fa\u7840\u529f\u80fd\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u5f88\u53ef\u80fd\u6ca6\u4e3a\u4e00\u6b3e\u201c\u6f02\u4eae\u4f46\u51b7\u95e8\u201d\u7684\u9690\u79c1\u73a9\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u9690\u60a3\u662f\u751f\u6001\u4f9d\u8d56\u3002Apple \u82e5\u6536\u7d27 FoundationModels \u7684\u8f93\u5165\u683c\u5f0f\u6216\u9650\u5236\u672c\u5730\u6a21\u578b\u8c03\u7528\uff0cSR-7 \u5c06\u76f4\u63a5\u65ad\u817f\u3002\u800c\u201c\u4e70\u65ad\u5236\u201d\u867d\u7136\u8ba8\u597d\u53e3\u7891\uff0c\u5374\u610f\u5473\u7740\u56e2\u961f\u5fc5\u987b\u9760\u53e3\u7891\u4f20\u64ad\u800c\u975e\u5e7f\u544a\u9a71\u52a8\u6765\u7f13\u6162\u83b7\u5ba2\uff0c\u5546\u4e1a\u53ef\u6301\u7eed\u6027\u5b58\u7591\u3002\u6bd5\u7adf\uff0c92 \u7968\u7684 Product Hunt \u70ed\u5ea6\u4e0d\u8db3\u4ee5\u517b\u6d3b\u4e00\u4e2a\u4ea7\u54c1\u3002SR-7 \u7684\u54f2\u5b66\u5f88\u7f8e\uff0c\u4f46\u5546\u4e1a\u4e0a\u66f4\u50cf\u4e00\u5c01\u5199\u7ed9\u201c\u9690\u79c1\u6781\u5ba2\u201d\u7684\u60c5\u4e66\uff0c\u800c\u4e0d\u662f\u4e00\u5e45\u653b\u57ce\u7565\u5730\u7684\u84dd\u56fe\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\">Signal Recorder SR-7<\/span>\n                <\/div>\n<div class=\"comment-content\">Privacy-first voice recorder for Mac and iPhone. Transcripts and AI summaries run on-device via Apple Speech and FoundationModels \u2014 no server, no account, nothing leaving your machine. Every recording exports as a Markdown file with YAML frontmatter \u2014 yours, on disk, ready for Obsidian or git. A built-in local MCP server lets Claude Code and other AI tools query the archive. Designed experience-first, to keep you in the moment. $7.99, buy once \u2014 Mac and iPhone, no subscription.<\/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 \u2014 SR-7 is a voice recorder that keeps everything on your machine. Transcription, AI titles, summaries \u2014 all on-device, via Apple Speech and FoundationModels. No cloud, no account, nothing leaving the device.<\/p>\n<\/p>\n<p>That mattered to us because most voice tools either ship your audio somewhere (Otter, Granola) or trap the transcript inside their own app. Neither fits a workflow where your AI is already editing the same files you are.<\/p>\n<\/p>\n<p>SR-7 does three things:<\/p>\n<p>&#8211; Records on Mac and iPhone. Transcription runs on-device via Apple Speech \u2014 no network, no account.<\/p>\n<p>&#8211; Writes an AI title and summary locally (Apple FoundationModels, macOS 26+).<\/p>\n<p>&#8211; Exports each recording as a Markdown file with YAML frontmatter. Yours, on disk. Drop it in Obsidian, commit it to git, or let Claude Code reach it through the local MCP server \u2014 point your agent at the archive and ask &#8220;what did I decide about X last week?&#8221; It answers from your own recordings, without anything leaving the machine.<\/p>\n<\/p>\n<p>$7.99, one time. Universal purchase, Mac and iPhone. No subscription \u2014 we make money when you buy it, not by mining what you record.<\/p>\n<p>Privacy and ownership, in an experience that&#8217;s calm enough to keep you in the moment.<\/p>\n<\/p>\n<p>One thing we&#8217;re genuinely curious about: what&#8217;s in your voice-to-text pipeline right now, and what&#8217;s broken about it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kohlhofer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kohlhofer<\/a>&nbsp;&#8220;Congrats on launching! With the local MCP server integration, what kind of prompt schemas can tools like Claude Code use to query the local recording archive?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@kohlhofer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kohlhofer<\/a>&nbsp;Hey, congrats on the launch!<\/p>\n<p>Curious, how are you collecting feature requests and feedback from users right now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the local mcp server querying the archive is the part that caught me \u2014 that&#8217;s the bit most on-device recorders skip. when claude code queries a big archive, does it pull full transcripts or just summaries? curious how you keep it in a sane token budget.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>&nbsp;<\/p>\n<\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@qifengzheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qifengzheng<\/a> the MCP has a decent set of tools to help with that. An agent can:<\/p>\n<ul>\n<li>\n<p>Run searches<\/p>\n<\/li>\n<li>\n<p>Understand the project structure<\/p>\n<\/li>\n<li>\n<p>Get an overview of a folder<\/p>\n<\/li>\n<li>\n<p>Access and edit one more recording\/transcript<\/p>\n<\/li>\n<li>\n<p>&#8230;<\/p>\n<\/li>\n<\/ul>\n<p>So it can work fairly efficiently. But in most cases, the markdown files on disk are the most performant.&nbsp; Claude Code, for example, can directly access them and use its own tools and patterns to manipulate them on a system level.<\/p>\n<\/p>\n<p>I have a journal folder, and once a week, I process the various daily entries into a weekly summary with Claude. It even puts them back into SR-7 in a dedicated project for the weekly entries. <\/p>\n<p>Some of the tools: <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0094e9e0-8137-4d9d-b183-b7673e475ad9.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a1eebf98-159e-4365-ad04-0bbe59393801.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/5CNHFATVGFR23I\" class=\"app-title\">NudgeFile<\/a><\/p>\n<div class=\"one-liner\">Automatically organize, rename, and manage files with AI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">91<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>NudgeFile \u662f\u4e00\u6b3e\u5229\u7528\u672c\u5730AI\u81ea\u52a8\u76d1\u63a7\u5e76\u6574\u7406\u6587\u4ef6\u5939\u3001\u91cd\u547d\u540d\u6587\u4ef6\u3001\u53bb\u91cd\u53ca\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41\u7684\u684c\u9762\u5de5\u5177\uff0c\u4e13\u95e8\u89e3\u51b3\u7528\u6237\u4e0b\u8f7d\u3001\u6587\u6863\u7b49\u6587\u4ef6\u5939\u201c\u8d8a\u7528\u8d8a\u4e71\u201d\u3001\u624b\u52a8\u6574\u7406\u8d39\u65f6\u8d39\u529b\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/387a3eb1-7ab2-43a5-8a29-b24edeb44e62.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b3659351-69ad-406c-9ef2-19f2d354e0f8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5907e204-88f0-4a9e-9621-d0ca2205015a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7bc11cdc-5006-44cc-a8ed-fdaa6cbf31fd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5090990a-2dab-477d-b5cc-6b993afa4f3f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6587\u4ef6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u6574\u7406<\/span><br \/>\n            <span class=\"tag\">\u91cd\u547d\u540d\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u91cd\u590d\u6587\u4ef6\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">Windows\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6587\u4ef6\u53bb\u91cd<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u9690\u79c1\u548c\u672c\u5730AI\u4f18\u52bf\uff0c\u4f46\u62c5\u5fe7\u81ea\u52a8\u5316\u98ce\u9669\u3002\u4e3b\u8981\u95ee\u9898\uff1a\u80fd\u5426\u9884\u89c8\/\u5ba1\u6279\u6587\u4ef6\u53d8\u66f4\uff1f\u662f\u5426\u652f\u6301\u5e72\u8fd0\u884c\u6a21\u5f0f\uff1f\u80fd\u5426\u5b66\u4e60\u7528\u6237\u73b0\u6709\u6587\u4ef6\u5939\u547d\u540d\u89c4\u5219\u800c\u975e\u5f3a\u52a0\u65b0\u5206\u7c7b\uff1f\u5bf9\u6df7\u5408\u4e1a\u52a1\/\u4e2a\u4eba\u6587\u4ef6\u7684\u573a\u666f\u5982\u4f55\u5904\u7406\uff1f\u56de\u6eda\u673a\u5236\u662f\u5426\u7a33\u59a5\uff1f\u5efa\u8bae\u5148\u5728\u622a\u56fe\u6216\u4e0b\u8f7d\u7b49\u5c0f\u98ce\u9669\u6587\u4ef6\u5939\u8bd5\u7528\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                NudgeFile \u7cbe\u51c6\u5207\u4e2d\u4e86\u6570\u5b57\u65f6\u4ee3\u7684\u201c\u6587\u4ef6\u6df7\u4e71\u7126\u8651\u201d\u2014\u2014\u4e00\u4e2a\u51e0\u4e4e\u6240\u6709\u7535\u8111\u7528\u6237\u90fd\u611f\u53d7\u8fc7\u3001\u4f46\u5927\u591a\u9009\u62e9\u5fcd\u53d7\u7684\u75db\u70b9\u3002\u5176\u6700\u5927\u4eae\u70b9\u5e76\u975eAI\u672c\u8eab\uff0c\u800c\u662f\u201c\u672c\u5730AI + \u9690\u79c1\u4f18\u5148\u201d\u7684\u5b9a\u4f4d\u3002\u5728\u4e91\u7aefAI\u6cdb\u6ee5\u7684\u5f53\u4e0b\uff0c\u6587\u4ef6\u7ed3\u6784\u6d89\u53ca\u6781\u79c1\u4eba\u7684\u6570\u636e\u56fe\u8c31\uff0c\u7eaf\u672c\u5730\u5904\u7406\u786e\u5b9e\u662f\u552f\u4e00\u6b63\u786e\u7684\u89e3\u6cd5\uff0c\u8fd9\u4e00\u70b9\u8bc4\u8bba\u533a\u7684\u666e\u904d\u8ba4\u53ef\u8bf4\u660e\u56e2\u961f\u5224\u65ad\u51c6\u786e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u6311\u6218\u4e0d\u5728\u4e8e\u6280\u672f\uff0c\u800c\u5728\u4e8e\u201c\u4fe1\u4efb\u201d\u4e0e\u201c\u4e60\u60ef\u201d\u7684\u535a\u5f08\u3002AI\u81ea\u52a8\u6539\u540d\u6392\u5e8f\u770b\u4f3c\u667a\u80fd\uff0c\u5374\u53ef\u80fd\u6253\u4e71\u7528\u6237\u591a\u5e74\u57f9\u517b\u7684\u5fc3\u667a\u6a21\u578b\u2014\u2014\u6bd4\u5982\u201c\u4e34\u65f6-\u8349\u7a3f-v1\u201d\u8fd9\u79cd\u6df7\u4e71\u4f46\u6709\u8ff9\u53ef\u5faa\u7684\u547d\u540d\u4f53\u7cfb\u3002\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u201c\u80fd\u5426\u9884\u89c8\/\u5ba1\u6279\/\u5e72\u8fd0\u884c\u201d\u53ca\u201c\u80fd\u5426\u5b66\u4e60\u6211\u7684\u89c4\u5219\u201d\u6b63\u662f\u8fd9\u79cd\u62c5\u5fe7\u7684\u96c6\u4e2d\u4f53\u73b0\u3002\u5982\u679cNudgeFile\u4ec5\u63d0\u4f9b\u4e00\u5957\u56fa\u5b9a\u7684\u81ea\u52a8\u5316\u6807\u7b7e\uff0c\u90a3\u5b83\u4e0d\u8fc7\u662f\u6362\u4e86\u58f3\u7684\u201c\u6279\u91cf\u91cd\u547d\u540d\u5de5\u5177+\u89c4\u5219\u5f15\u64ce\u201d\uff0c\u4ef7\u503c\u6709\u9650\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u5206\u6c34\u5cad\u5728\u4e8e\uff1a\u5b83\u80fd\u5426\u5728\u4fdd\u8bc1\u201c\u4e0d\u7ffb\u8f66\u201d\u7684\u524d\u63d0\u4e0b\uff0c\u5b9e\u73b0\u4ece\u201c\u66ff\u7528\u6237\u6574\u7406\u201d\u5230\u201c\u5e2e\u7528\u6237\u517b\u6210\u6574\u7406\u4e60\u60ef\u201d\u7684\u8dc3\u8fc1\u3002\u76ee\u524d\u770b\u5230\u7684100%\u672c\u5730\u63a8\u7406\u3001\u5ba1\u6279\u673a\u5236\u3001\u64cd\u4f5c\u53ef\u9006\u90fd\u662f\u57fa\u7840\u5b89\u5168\u7f51\u3002\u4f46\u771f\u6b63\u7684\u6740\u624b\u7ea7\u529f\u80fd\u5e94\u8be5\u662f\uff1a\u901a\u8fc7\u89c2\u5bdf\u7528\u6237\u624b\u52a8\u5206\u7c7b\/\u91cd\u547d\u540d\u7684\u6a21\u5f0f\uff0c\u8bad\u7ec3\u51fa\u4e2a\u6027\u5316\u7684\u547d\u540d\u6a21\u677f\u548c\u5206\u7c7b\u903b\u8f91\u2014\u2014\u4ece\u201c\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u4e2a\u4eba\u6587\u4ef6\u7ba1\u5bb6\u201d\u3002\u5426\u5219\uff0c\u591a\u6570\u7528\u6237\u53ea\u4f1a\u505c\u7559\u5728\u5c1d\u8bd5\u4e00\u4e0b\u3001\u7136\u540e\u56e0\u4e00\u6b21\u8bef\u64cd\u4f5c\u6216\u547d\u540d\u4e0d\u7b26\u5408\u76f4\u89c9\u800c\u5378\u8f7d\u7684\u5faa\u73af\u4e2d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4ec5\u652f\u6301Windows\u662f\u4e00\u628a\u53cc\u5203\u5251\uff0c\u82e5\u672a\u6765\u4e0d\u80fd\u5feb\u901f\u8986\u76d6macOS\u751a\u81f3\u79fb\u52a8\u7aef\uff0c\u5c06\u4e25\u91cd\u9650\u5236\u5176\u53e3\u7891\u79ef\u7d2f\u7684\u5e7f\u5ea6\u300291\u7968\u7684\u65e9\u671f\u53cd\u9988\u5df2\u900f\u9732\u51fa\u4e0d\u9519\u7684\u6f5c\u5728\u9700\u6c42\uff0c\u6210\u8d25\u5173\u952e\u5728\u4e8e\u4e0b\u4e00\u7248\u80fd\u5426\u4ea4\u51fa\u4ee4\u4eba\u4fe1\u670d\u7684\u201c\u53ef\u5b66\u3001\u53ef\u5ba1\u3001\u53ef\u9000\u201d\u7684\u4ea7\u54c1\u54f2\u5b66\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\">NudgeFile<\/span>\n                <\/div>\n<div class=\"comment-content\">NudgeFile automatically organizes, renames, and manages files using local AI. Monitor folders, automate workflows, detect duplicates, and keep your workspace clean\u2014all while keeping your data on your device.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m excited to introduce NudgeFile.<\/p>\n<p>The idea came from a simple problem: our Downloads, Documents, Screenshots, and project folders become messy faster than we can organize them.<\/p>\n<p>NudgeFile helps solve that by automatically monitoring folders, generating meaningful filenames with local AI, detecting duplicates, and automating repetitive file management tasks.<\/p>\n<p>A few things that make NudgeFile different:<\/p>\n<p>\u2705 Runs locally on your device<br \/>\n\u2705 Privacy-first approach<br \/>\n\u2705 AI-powered file renaming<br \/>\n\u2705 Workflow automation<br \/>\n\u2705 Undo-safe operations<br \/>\n\u2705 Built for Windows<\/p>\n<p>I&#8217;d love to hear your feedback, feature requests, and thoughts on how you currently organize your files.<\/p>\n<p>Thank you for checking it out!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tony2742\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tony2742<\/a>&nbsp;Love the privacy-first approach with local AI. Automatic organization and duplicate detection sound especially useful for keeping messy folders under control. Curious, what has surprised you most about how people are using NudgeFile so far?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">For a power user managing multiple projects, what does an ideal \u201cNudgeFile + existing tools\u201d setup look like (Explorer, cloud sync folders, dev\/design tools), and what folder(s) or workflows do you recommend people start with to get value in the first 10 minutes without risking their whole filesystem?<\/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>Is there a preview or approval step before it renames and moves a bunch of files?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@naimz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naimz<\/a>&nbsp;Absolutely \ud83d\udc4d<\/p>\n<\/p>\n<p>NudgeFile is designed to keep you in control.<\/p>\n<\/p>\n<p>\u2705 Every AI suggestion can be reviewed before it&#8217;s applied.<\/p>\n<\/p>\n<p>\u2705 Workflow Automation supports approval-based actions, so you can choose whether files require confirmation before being renamed or moved.<\/p>\n<\/p>\n<p>\u2705 All file activities are logged, making it easy to see what happened.<\/p>\n<\/p>\n<p>\u2705 Rename operations are reversible, allowing you to restore the original filename if needed.<\/p>\n<\/p>\n<p>For users who prefer full automation, approval steps can also be disabled so workflows run automatically in the background.<\/p>\n<\/p>\n<p>The goal is to save time without taking control away from you. \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83c\udf89<\/p>\n<p>This is one of those problems almost everyone has but rarely takes the time to solve properly. Downloads and screenshots folders can get messy surprisingly fast \ud83e\udd72<\/p>\n<\/p>\n<p>Wishing you lots of success with NudgeFile! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>File organization chaos is real especially when you&#8217;re running multiple businesses with projects scattered everywhere. The privacy-first local approach is the right call \u2014 I wouldn&#8217;t want my file structure going to a cloud service. Question for you: how does it handle folders that mix personal and business files? That&#8217;s where my naming conventions always break down.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Auto-organizing files with AI is a quiet productivity win \u2014 I have years of project-finance model templates and the naming\/version chaos is real. I ended up curating my own templates publicly on Eloquens (<a href=\"https:\/\/www.eloquens.com\/channel\/samir-asadov-cfa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.eloquens.com\/channel\/samir-asadov-cfa<\/a>) partly just to force myself to keep them organized. Does NudgeFile learn a user&#8217;s existing folder conventions, or impose its own taxonomy? The former is what would make me switch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Privacy-first local AI is exactly the right call for this kind of tool. My main hesitation is the same as <a href=\"https:\/\/www.producthunt.com\/@curiouskitty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@curiouskitty<\/a>, what&#8217;s the rollback story if an automated rename goes wrong on a folder with 500 files? The &#8220;undo-safe&#8221; mention is reassuring but I&#8217;d love to see a dry-run mode before any operation runs for real.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-06-09 PH\u70ed\u699c | 2026-06-09 #1 VC Bo [&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-247","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/247","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=247"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/247\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}