{"id":276,"date":"2026-07-09T12:17:56","date_gmt":"2026-07-09T04:17:56","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/09\/2026-07-08\/"},"modified":"2026-07-09T12:17:56","modified_gmt":"2026-07-09T04:17:56","slug":"2026-07-08","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/09\/2026-07-08\/","title":{"rendered":"PH\u70ed\u699c | 2026-07-08"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-07-08<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-07-08<\/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\/TXISOCQQFTUHJC\" class=\"app-title\">ExploreYC<\/a><\/p>\n<div class=\"one-liner\">Open-source API for Y Combinator &#038; a16z company data<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">370<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ExploreYC\u662f\u4e00\u4e2a\u5f00\u6e90API\uff0c\u5c06YC\u548ca16z\u65d7\u4e0b6600\u591a\u5bb6\u521d\u521b\u516c\u53f8\u7684\u878d\u8d44\u3001\u9636\u6bb5\u3001\u9000\u51fa\u548c\u521b\u59cb\u4eba\u6570\u636e\u6574\u5408\u4e3a\u53ef\u67e5\u8be2\u7684\u6807\u51c6\u5316\u6570\u636e\u96c6\uff0c\u89e3\u51b3\u7814\u7a76\u8005\u624b\u52a8\u5728\u591a\u4e2a\u5e73\u53f0\u95f4\u8df3\u8f6c\u62fc\u63a5\u4fe1\u606f\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\/baea8039-95b0-4f47-98fb-67956e53cf41.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8cba1952-ee6d-49ac-bfee-b1b5edf019ec.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/64a4d976-acfc-4b39-9ee3-d5ca21fa45fd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c00c7c59-7f85-4bb8-a664-a9596b02b155.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\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u79f0\u8d5eAPI\u548c\u5f00\u6e90\u65b9\u5411\uff0c\u8ba4\u4e3a\u89e3\u51b3\u4e86\u8de8\u5e73\u53f0\u6570\u636e\u67e5\u8be2\u75db\u70b9\u3002\u6838\u5fc3\u5173\u6ce8\u6570\u636e\u65b0\u9c9c\u5ea6\uff08\u6bcf\u65e5\u8f6e\u8be2\uff09\u3001\u5b9e\u4f53\u6d88\u6b67\uff08\u8de8\u6e90\u51b2\u7a81\u5904\u7406\u7b56\u7565\uff09\u3001API\u9650\u9891\u3001\u6570\u636e\u6e90\u7a33\u5b9a\u6027\uff08\u5c24\u6307YC\u7684Algolia\u7aef\u70b9\u4f9d\u8d56\uff09\u3002\u6709\u7528\u6237\u63d0\u51fa\u793e\u533a\u8d21\u732e\u673a\u5236\u53ca\u81ea\u6258\u7ba1\u65b9\u6848\u7684\u53ef\u884c\u6027\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u89d2\u5ea6\uff0cExploreYC\u505a\u4e86\u4e00\u4e2a\u6781\u5176\u806a\u660e\u7684\u201c\u5939\u5fc3\u5c42\u201d\u4ea7\u54c1\u3002\u5b83\u6ca1\u6709\u53bb\u9020\u201c\u66f4\u5168\u201d\u7684\u6570\u636e\u2014\u2014\u5b83\u6bd4\u4e0d\u8fc7Crunchbase\uff1b\u4e5f\u6ca1\u6709\u53bb\u505a\u201c\u66f4\u6df1\u201d\u7684\u5206\u6790\u2014\u2014\u5b83\u6bd4\u4e0d\u8fc7PitchBook\u3002\u5b83\u7684\u4ef7\u503c\u6070\u6070\u5728\u4e8e\uff1a\u628aYC\u548ca16z\u8fd9\u4e24\u4e2a\u6700\u5177\u6d41\u52a8\u6027\u7684\u521b\u6295\u6c60\u5b50\u91cc\u7684\u7ed3\u6784\u5316\u6570\u636e\uff0c\u514d\u8d39\u3001\u5f00\u653e\u3001\u53ef\u7f16\u7a0b\u5730\u653e\u5728\u4e86\u5f00\u53d1\u8005\u9762\u524d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u6709\u51e0\u4e2a\u6838\u5fc3\u95ee\u9898\u503c\u5f97\u51b7\u601d\u8003\uff1a\u7b2c\u4e00\uff0c\u6570\u636e\u6743\u5a01\u6027\u7684\u5929\u82b1\u677f\u3002YC\u6570\u636e\u722c\u81eaAlgolia\u7aef\u70b9\uff0ca16z\u6570\u636e\u76f8\u5bf9\u975e\u7ed3\u6784\u5316\uff0c\u8fd9\u610f\u5473\u7740\u5f53\u6570\u636e\u51fa\u73b0\u51b2\u7a81\u65f6\uff08\u4f8b\u5982\u878d\u8d44\u8f6e\u6b21\u91d1\u989d\uff09\uff0c\u4ea7\u54c1\u7f3a\u4e4f\u50cfCrunchbase\u90a3\u6837\u7684\u7f16\u8f91\u751f\u6001\u6216\u5b98\u65b9\u6570\u636e\u6e90\u80cc\u4e66\uff0c\u957f\u671f\u6765\u770b\u201c\u53ef\u4fe1\u5ea6\u201d\u4f1a\u5728\u91cd\u5ea6\u7528\u6237\u5fc3\u4e2d\u6253\u6298\u3002\u7b2c\u4e8c\uff0c\u53ef\u6301\u7eed\u6027\u7684\u9690\u5fe7\u3002\u76ee\u524d\u4f9d\u9760\u5fd7\u613f\u8005\u3001AI\u4ee3\u7406\u548c\u8001\u5f0f\u722c\u866b\u6765\u7ef4\u62a4\uff0c\u4e00\u65e6YC\/A16z\u53d8\u66f4\u524d\u7aef\u4ea4\u4e92\u65b9\u5f0f\uff0c\u6570\u636e\u7ba1\u7ebf\u5c31\u4f1a\u65ad\u88c2\uff0c\u8fd9\u5728\u524d\u7aef\u53d8\u5316\u6781\u5feb\u7684\u521b\u6295\u9886\u57df\u662f\u5927\u6982\u7387\u4e8b\u4ef6\u3002\u7b2c\u4e09\uff0c\u5546\u4e1a\u5316\u8def\u5f84\u6a21\u7cca\u3002\u514d\u8d39API\u52a0\u5f00\u6e90\u56fa\u7136\u662f\u83b7\u53d6\u7528\u6237\u7684\u5229\u5668\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u7f3a\u4e4f\u660e\u786e\u7684\u6536\u5165\u6a21\u578b\u6765\u652f\u6491\u6301\u7eed\u7684\u6570\u636e\u6e05\u6d17\u548c\u57fa\u7840\u8bbe\u65bd\u6210\u672c\u2014\u2014\u8981\u77e5\u9053\uff0c\u9ad8\u8d28\u91cf\u7684\u521b\u6295\u6570\u636e\u7ef4\u62a4\u6210\u672c\u8fdc\u9ad8\u4e8e\u666e\u901aAPI\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u673a\u4f1a\u5728\u4e8e\uff1a\u5b83\u53ef\u80fd\u6210\u4e3a\u521b\u6295\u9886\u57df\u201c\u6570\u636e\u57fa\u7840\u8bbe\u65bd\u201d\u7684\u8d77\u70b9\uff0c\u800c\u975e\u7ec8\u7aef\u4ea7\u54c1\u3002\u5982\u679c\u80fd\u56f4\u7ed5\u8fd9\u4e2a\u6570\u636e\u96c6\u5f62\u6210\u63d2\u4ef6\u5e02\u573a\u3001\u5206\u6790\u6a21\u677f\u751a\u81f3\u5c0f\u578b\u793e\u533a\u8d21\u732e\u673a\u5236\uff0c\u4ef7\u503c\u4f1a\u6bd4\u73b0\u5728\u7684\u7eafAPI\u5927\u5f97\u591a\u3002\u4f46\u76ee\u524d\u6765\u770b\uff0c\u5b83\u8fd8\u662f\u4e00\u4e2a\u4f18\u79c0\u7684\u4e2a\u4eba\u9879\u76ee\uff0c\u79bb\u201c\u4ea7\u54c1\u201d\u8fd8\u6709\u7ba1\u7406\u590d\u6742\u6027\u3001\u6570\u636e\u51c6\u786e\u6027\u548c\u5546\u4e1a\u5316\u53ef\u884c\u6027\u7684\u4e09\u9053\u574e\u8981\u8de8\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\">ExploreYC<\/span>\n                <\/div>\n<div class=\"comment-content\">One open-source API for startup data across Y Combinator AND a16z &#8211; 6,600+ companies with funding, stage, IPO\/M&#038;A exits, and founders. Filter by VC (yc\/a16z\/all), batch, industry, country, or search. Grab a free API key, read the docs (curl\/Node\/Python + Swagger), and build in 30 seconds. Plus the full web app: map, analytics, funding data, a live hiring board, and AI tools.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">hey PH &#8211; we&#8217;re back! \ud83d\udc4b<\/p>\n<p>I&#8217;m Konstantin. We first launched ExploreYC &#8211; here as a web app for exploring Y Combinator&#8217;s portfolio, and the response was awesome \u2014 thank you \ud83d\ude4f. Ever since, the <\/p>\n<p>#1 request has been the same one thing: &#8220;Can I get the data through an API?&#8221;<\/p>\n<p>So this launch is exactly that. This is ExploreYC&#8217;s open-source + API edition &#8211; the same cleaned, enriched dataset, now something you can query, script, and build on. And it grew up: it now covers a16z&#8217;s portfolio alongside YC.<\/p>\n<p>\ud83d\udc49 New here? Welcome. Caught our first launch? This is the developer edition you asked for. \ud83c\udf89<\/p>\n<p>\u2728 What&#8217;s new since our first launch:<br \/>\n&#8211; A public REST API &#8211; YC + a16z, filter by VC (`source=yc | a16z | all`)<br \/>\n&#8211; The entire project is now **open source**<br \/>\n&#8211; Developer accounts, API keys, rate limits, docs &amp; a usage dashboard<br \/>\n&#8211; a16z portfolio data (exits, acquirers, founders, tickers) sitting next to YC<\/p>\n<p>\ud83d\udd0c The API (the star of this launch):<br \/>\n&#8211; One base URL, JSON over HTTPS: `<a href=\"https:\/\/api.exploreyc.com\/api\/v1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/api.exploreyc.com\/api\/v1<\/a>`<br \/>\n&#8211; Filter by VC &#8211; `source=yc | a16z | all` \u2014 plus batch, industry, country, hiring status, or full-text search<br \/>\n&#8211; Company detail by id or slug: funding, stage, **IPO\/M&amp;A exits**, acquirer, founders, ticker<br \/>\n&#8211; Portfolio stats, sources, geo\/map data, and batch &#8220;Wrapped&#8221; analytics<br \/>\n&#8211; Get an API key in 30 seconds &#8211; non-expiring, with per-key rate limits (`X-RateLimit-*` headers, `Retry-After`)<br \/>\n&#8211; A full docs site with copy-paste curl \/ Node \/ Python examples + interactive Swagger<br \/>\n&#8211; A developer dashboard to manage keys, watch your usage (7-day charts + top endpoints), and set a profile<\/p>\n<p>&#8220;`bash<br \/>\ncurl -H &#8220;Authorization: Bearer YOUR_KEY&#8221; \\<br \/>\n  &#8220;<a href=\"https:\/\/api.exploreyc.com\/api\/v1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/api.exploreyc.com\/api\/v1<\/a>&#8230;&#8221;<br \/>\n&#8220;`<\/p>\n<p>\ud83c\udf10 And the whole thing is open source \u2192 github.com\/KonstantinMB\/exploreyc<\/p>\n<p>\ud83c\udfaf Why: researching startups means jumping between YC&#8217;s directory, a16z&#8217;s site, Crunchbase, LinkedIn, and 20 browser tabs. I cleaned + enriched all of it into one dataset \u2014 and now anyone can build on it.<\/p>\n<p>\ud83e\uddf0 Everything the API powers is also a polished web app:<br \/>\n\ud83d\udd0d Search &amp; filter 6,800+ YC + a16z companies<br \/>\n\ud83d\uddfa\ufe0f Interactive global map<br \/>\n\ud83e\udd16 AI company research<br \/>\n\ud83d\udcca Analytics + funding data<br \/>\n\ud83d\udcbc Live hiring board (1,400+ companies hiring)<br \/>\n\ud83d\udca1 Startup idea validator<br \/>\n\ud83c\udf81 Batch &#8220;Wrapped&#8221; shareables<\/p>\n<p>Would love your feedback &#8211; especially from anyone building tools for founders, investors, or the startup ecosystem. <\/p>\n<p>What would you build with this API?<\/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\/@konstantimb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konstantimb<\/a>&nbsp;The &#8220;20 browser tabs to research startups&#8221; pain is exactly right, and turning YC + a16z into one open-source dataset with an API is the version people actually build on. &#8220;Get a key and query in 30 seconds&#8221; is the part that&#8217;ll win developers, and open-sourcing it is a strong trust signal.<\/p>\n<p>An API launch is hard to show in screenshots, so a short demo helps a lot, and you launched without one \u2014 so I made you one, free and whitelabel, no strings:<\/p>\n<p><a href=\"https:\/\/foxplug.com\/v\/ss-exploreyc-launch-the-data-la-70acc8c9\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/foxplug.com\/v\/ss-exploreyc-launch-the-data-la-70acc8c9<\/a><\/p>\n<p>Yours to keep: download it from that page, upload it to your own YouTube so it&#8217;s yours, then add it to your PH media \u2014 and reuse it on any other launch site. Launches with a video do better, and yours is still editable. <\/p>\n<p>Made at <a href=\"https:\/\/foxplug.com\/?utm_source=producthunt&amp;utm_medium=comment\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/foxplug.com\/?utm_source=producthunt&amp;utm_medium=comment<\/a> \u2014 you can make more there, or record your own product tour in ~2 minutes. Anyone else launching soon: paste your site, video in about 30 seconds. Great comeback launch, Konstantin.<\/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\/@konstantimb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konstantimb<\/a>&nbsp;Congrats on the launch! We really like the direction you&#8217;ve taken with ExploreYC. Founders often spend more time stitching together information from multiple sources than actually analyzing it, so bringing company data, hiring insights, funding, and AI-powered intelligence into one place solves a real pain point. The startup idea validator is especially compelling, it encourages founders to learn from existing patterns rather than starting from scratch. We&#8217;d love to see this evolve with even deeper ecosystem comparisons and trend forecasting over time. Wishing you an amazing launch and excited to see where you take it next!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@konstantimb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konstantimb<\/a>&nbsp;You hit the nail on the head. The gap between complex node-graphs and reactive chatbots is massive for SMBs. Non-technical teams know their processes best, they just need the right interface. Really excited to see how your product bridges this gap. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Merging YC and a16z into one dataset, the part I&#8217;d want documented before building on it is entity resolution. Last time I stitched company data across two sources, matching &#8216;same company, different record&#8217; ate most of the effort: OpenAI vs OpenAI Inc vs matching on domain, then deciding which source wins when the funding stage disagrees. Do you expose a stable canonical company ID across both, and when YC and a16z conflict on a field, is there a documented precedence?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 come from the investing side, where structured data on private companies usually sits behind expensive paywalls, so open-sourcing this is a real gift. How fresh is the data, and what&#8217;s the source when a company hasn&#8217;t announced anything publicly?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@henry_s_jung\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_s_jung<\/a>&nbsp;the data is freshly polled every single day 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\udc4f<\/p>\n<p>Love the idea of making YC data much more searchable and actionable.<\/p>\n<p>Curious&#8230;..what&#8217;s been the most unexpected way early users are using ExploreYC?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;very happy 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>The YC data angle is interesting mostly because the quality of that data degrades fast. Batch, status, current founders, whether a company is still operating or quietly dead. Curious how ExploreYC handles staleness, specifically whether you&#8217;re pulling from a live source or maintaining a snapshot, and how often that snapshot gets refreshed. Also wondering how the a16z side works since their portfolio data is a lot less structured than YC&#8217;s directory.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;pulling from the most alive source possible for YC &#8211; directly form the website, every day, so data is fresh. the initial poll got us to 5.4k companies or around that, you can even see the images from previous launch, so now as you can see on landing page it sits at over 6k! that gradually got to this point day over day<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how the map view makes it easy to spot YC clusters by city, and the AI summaries save me from clicking into dozens of pages when I&#8217;m researching a 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yegendilar30632\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yegendilar30632<\/a>&nbsp;haha yea &#8211; US is quite the cluster <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is genuinely useful, I do scout-style research on companies and the tab-juggling between YC&#8217;s directory, a16z&#8217;s site and Crunchbase is exactly the annoying part you described. question about durability though: since the ingestion pipeline hits YC&#8217;s internal Algolia endpoint rather than a documented public API, what&#8217;s your plan if YC changes that index&#8217;s config, adds auth, or just blocks the traffic pattern from a nightly cron. that&#8217;s the kind of upstream dependency that can silently break a whole API on someone else&#8217;s schedule, not yours. is there a fallback data source or is Algolia the single point of failure for the YC side<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;plan is to have a fleet of contributors and ai agents that will figure the problem once it&#8217;s present \ud83d\ude00 jokes aside, web crawling has been a thing for decades now, so there&#8217;re multiple ways to overcome almost anything<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice to see ExploreYC back. I remember trying the earlier version for startup\/category research, and the API edition feels like the more powerful direction. YC + a16z in one open-source dataset is useful not just for browsing, but for actually building tools on top of it.<\/p>\n<\/p>\n<p>The thing I would probably build first is a category research layer: search a market, see funded companies, batches, exits, hiring signals, geography, and similar companies in one place. Curious how you handle data freshness and corrections over time. if a company pivots, gets acquired, shuts down, or changes category, can the community help update the dataset?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Amazing man! You are free to do whatever you like &#8211; fork the repo, add a PR &#8211; build anything you want over this data! <\/p>\n<\/p>\n<p>we basically have cron jobs running hourly\/daily to get snapshots of companies today vs. yesterday adn detect new companies added to some batch. there are a bunch more hacks, but ey &#8211; clone the repo, drop it to calude and it will spill you all the secrets \ud83d\ude00<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>going from web app to a real API is the right move, that was always going to be the limiting factor for anyone who wanted to build something on top of the data instead of just browsing it. adding a16z alongside YC is a nice bonus too, cross-referencing overlap between the two portfolios could surface some interesting patterns. how fresh is the data kept, is it a scheduled scrape or closer to real time when a company updates their info<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>An open-source API across YC + a16z with a 30-second free key is exactly the data layer I would rather hit than scrape and babysit myself for founder\/sourcing research. The one thing I would test first: how fresh is the funding\/exit\/hiring data, is it re-crawled on a schedule (and roughly how often), or is a chunk of it a static snapshot from launch that drifts over time? And what are the rate limits on the free key before I would need to self-host the open-source 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>are all the companies hiring + job listing included? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks awesome! I love data viz\/aggregation like this. What are some things people have built with this 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>amazing &#8211; no more unverified scraping ig?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 open-source plan mentioned in the comments is the interesting part to me is that just the app layer, or the enriched dataset too? Curious how you&#8217;re thinking about keeping funding\/hiring data in sync once other people are touching the codebase.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 api layer is the right play. everyone building founder-facing tools rebuilds this dataset every time and it&#8217;s silly.<\/p>\n<\/p>\n<p>real q: does exploreyc distinguish &#8220;raised $X&#8221; from &#8220;shipped something users pay for&#8221;? because those have drifted a mile apart and the data layer that solves the second one eats the first.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Open-sourcing the YC and a16z dataset is handy. Where&#8217;s the underlying data sourced from, and how often does it refresh? Trying to gauge how stale the funding and status fields get between updates.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Very intrigued and looking forward to using this. What use case potential are you most excited 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Would love a heatmap of YC batches by problem space over time e.g. how many fintech vs. dev-tool vs. climate companies per batch. Founders could instantly see which spaces are getting crowded vs. underexplored before pitching a similar 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\">Love seeing you turn the original web app into an API after listening to users. Curious, how do you handle entity resolution when the same company appears differently across YC and a16z datasets?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Looks really useful and a nice addition to the original launch.<\/p>\n<p>One thing I&#8217;d want to know is how often the data is refreshed and how quickly funding or hiring updates make it into the API.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 fresh is the data on hiring and funding, and does it pull directly from YC&#8217;s API or are you scraping public sources to keep it updated?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Is it free?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is actually useful for pre-launch validation  before building anything you can search your category, see which batches funded similar ideas, check if those companies are still alive ,and figure out where the graveyard is. Has anyone used it that way to kill an idea before wasting six months on it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is pretty useful for founder research. I like that it\u2019s not just a directory, but something developers can actually build on top of.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Amazing man! You just unlocked the big power. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 API-first cut of this is the version I&#8217;d actually reach for, <a href=\"https:\/\/www.producthunt.com\/@konstantimb\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"konstantimb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konstantimb<\/a> . Non-expiring key in 30 seconds, standard X-RateLimit-* + Retry-After headers, and interactive Swagger \u2014 that&#8217;s the boring DX most data APIs skip, and it&#8217;s exactly what makes one safe to wire into a pipeline.<\/p>\n<\/p>\n<p>Open-sourcing the whole ingestion side on top of that is a real trust signal when the dataset leans on scraped sources. Great comeback launch \ud83d\udc4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the second launch. Merging both portfolios into one schema sounds like the unglamorous hard part \u2014 YC has batches and a public directory, a16z is scattered across press pages. Which fields refused to line up between the two?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@vollos\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vollos<\/a>&nbsp;yea, merging even more portfolios will be hard. still investigating how can the platform scale and how it should change. open for suggestions<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Spent way too long doing this manually with YC&#8217;s directory and a bunch <\/p>\n<p>of half-remembered LinkedIn searches. Having search, funding data, and <\/p>\n<p>hiring boards actually talk to each other in one place is such an <\/p>\n<p>obvious upgrade once you see it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>i tested the filtering options and they saved plenty of time while searching for startups in specific industries. would adding historical funding snapshots help researchers track how companies evolve different years and stages? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KULROBXS4AW3L4\" class=\"app-title\">IvyForms<\/a><\/p>\n<div class=\"one-liner\">A WordPress form builder for real workflows<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">291<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>IvyForms\u662f\u4e00\u4e2a\u4e3aWordPress\u6253\u9020\u7684\u62d6\u62fd\u5f0f\u8868\u5355\u6784\u5efa\u5668\uff0c\u4e13\u6ce8\u4e8e\u5c06\u8868\u5355\u63d0\u4ea4\u6570\u636e\u8f6c\u5316\u4e3a\u7ed3\u6784\u5316\u5de5\u4f5c\u6d41\uff0c\u89e3\u51b3\u666e\u901a\u8868\u5355\u5de5\u5177\u201c\u53ea\u6536\u96c6\u4e0d\u5904\u7406\u201d\u7684\u75db\u70b9\uff0c\u8ba9\u6bcf\u6761\u6570\u636e\u90fd\u80fd\u8054\u52a8\u540e\u7eed\u5206\u6790\u3001\u9884\u7ea6\u3001\u8425\u9500\u7b49\u73af\u8282\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/82fd7125-0ba7-4488-8b56-36de79363d62.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/61a86704-d068-4a9d-9c11-d886828a125d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8bfd05c6-6d40-4143-9857-b5950639a6c6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2ec406bc-643c-4102-8c3b-25d6e53234f5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9a458b54-aea7-4ca3-87d6-215caed6e67c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d0bb6f0f-1226-4616-8354-0539a3a0b08f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e353e0ff-9fa0-44d7-a1ad-4d1c65433e2b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f413672c-29ea-4a1a-a7bb-fd592c7716f2.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\/6d04a040-8a1e-44f4-9055-03b5f0d411af.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/-2nAVoamWQw\"><source src=\"https:\/\/youtu.be\/-2nAVoamWQw\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">WordPress<\/span><br \/>\n            <span class=\"tag\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">WordPress\u8868\u5355\u6784\u5efa\u5668<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9a71\u52a8<\/span><br \/>\n            <span class=\"tag\">\u62d6\u62fd\u5f0f\u6784\u5efa<\/span><br \/>\n            <span class=\"tag\">\u6761\u4ef6\u903b\u8f91<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u7b2c\u4e09\u65b9\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">wpDataTables<\/span><br \/>\n            <span class=\"tag\">Amelia<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u5176\u201c\u8fde\u63a5\u6570\u636e\u6536\u96c6\u4e0e\u5206\u6790\u201d\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u4f46\u6307\u51fa\u5f53\u524d\u7248\u672c\u5b58\u5728\u57fa\u7840\u529f\u80fdBug\uff08\u5982\u7b80\u5355\u6761\u4ef6\u903b\u8f91\u5931\u6548\uff09\uff0c\u4e14\u5bf9\u5d4c\u5957\u6761\u4ef6\u903b\u8f91\u3001\u6df1\u5c42\u8ba1\u7b97\uff08\u591a\u6bb5\u8bc4\u5206\u3001\u5206\u652f\u603b\u5206\u3001\u6761\u4ef6\u7ed3\u679c\u5c55\u793a\uff09\u3001\u4ee5\u53ca\u5ba1\u6279\u5de5\u4f5c\u6d41\u7684\u539f\u751f\u652f\u6301\u4e0d\u660e\u786e\u3002\u90e8\u5206\u7528\u6237\u8be2\u95eeMCP\u670d\u52a1\u5668\u662f\u5426\u652f\u6301\u5b9e\u65f6\u63a8\u9001\u63d0\u4ea4\u4e8b\u4ef6\uff0c\u4ee5\u53ca\u591a\u6b65\u9aa4\u94fe\u5f0f\u81ea\u52a8\u5316\uff08\u5982\u89e6\u53d1CRM\u66f4\u65b0\u540e\u521b\u5efa\u4efb\u52a1\uff09\u662f\u5426\u539f\u751f\u5b9e\u73b0\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                IvyForms\u5356\u7684\u4e0d\u662f\u8868\u5355\uff0c\u662fWordPress\u751f\u6001\u91cc\u4e00\u5757\u7a00\u7f3a\u7684\u201c\u6570\u636e\u7c98\u5408\u5242\u201d\u3002\u5b83\u5728Product Hunt\u4e0a\u7684291\u7968\u548c\u5bc6\u96c6\u7684\u6df1\u5ea6\u8bc4\u8bba\uff0c\u8868\u660e\u5b83\u7cbe\u51c6\u6233\u4e2d\u4e86\u4e2d\u5c0f\u4f01\u4e1a\u548c\u72ec\u7acb\u5f00\u53d1\u8005\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u75db\u70b9\uff1a\u8868\u5355\u63d0\u4ea4\u540e\u7684\u6570\u636e\u662f\u6b7b\u7684\uff0c\u800c\u5b83\u4eec\u672c\u5e94\u662f\u6d3b\u7684\u3002\u4ea7\u54c1\u603b\u76d1Sara\u7684\u53d1\u8a00\u53e5\u53e5\u5728\u63ed\u793a\u4e00\u4e2a\u884c\u4e1a\u56f0\u5883\u2014\u2014\u5927\u591a\u6570\u8868\u5355\u5de5\u5177\u8981\u4e48\u7b80\u964b\u5230\u65e0\u6cd5\u5904\u7406\u590d\u6742\u903b\u8f91\uff0c\u8981\u4e48\u81c3\u80bf\u5230\u9760\u63d2\u4ef6\u5806\u53e0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u8981\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a\u76ee\u524d\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u6709\u6f5c\u529b\u7684\u6982\u5ff5\u9a8c\u8bc1\u201d\u3002\u7528\u6237\u53cd\u9988\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u201cBug\u672a\u4fee\u201d\u3001\u201c\u6761\u4ef6\u903b\u8f91\u652f\u6301\u4e0d\u6df1\u201d\u3001\u201c\u591a\u6b65\u9aa4\u5ba1\u6279\/\u8ba1\u7b97\u539f\u751f\u5316\u6a21\u7cca\u201d\uff0c\u4ee5\u53ca\u56e2\u961f\u5bf9chaining workflow\uff08\u94fe\u5f0f\u81ea\u52a8\u5316\uff09\u56de\u7b54\u7684\u201c\u8c28\u614e\u201d\u548c\u201c\u5373\u5c06\u5230\u6765\u201d\uff0c\u66b4\u9732\u4e86\u56e2\u961f\u5728\u590d\u6742\u573a\u666f\u4e0b\u7684\u5de5\u7a0b\u6210\u719f\u5ea6\u4e0d\u8db3\u3002\u4e0e\u6df1\u8015\u5341\u51e0\u5e74\u7684Gravity Forms\u76f8\u6bd4\uff0cIvyForms\u7684\u5dee\u5f02\u5316\u5e76\u975e\u6280\u672f\u4ee3\u5dee\uff0c\u800c\u662f\u201c\u96c6\u6210wpDataTables\u548cAmelia\u201d\u8fd9\u4e00\u5782\u76f4\u573a\u666f\u7684\u5c01\u95ed\u751f\u6001\u7ea2\u5229\u3002\u4e00\u65e6\u79bb\u5f00\u8fd9\u4e2a\u5171\u751f\u5708\uff0c\u5b83\u4e0e\u5176\u4ed6\u8868\u5355\u5de5\u5177\u7684\u5dee\u5f02\u5c06\u8fc5\u901f\u7f29\u5c0f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u6709\u4ef7\u503c\u7684\u662f\u5176\u201c\u6570\u636e\u6eaf\u6e90\u201d\u8bbe\u8ba1\uff1a\u4ece\u63d0\u4ea4\u5230\u5206\u6790\uff0c\u6bcf\u4e00\u884c\u6570\u636e\u90fd\u643a\u5e26\u8868\u5355ID\u3001\u63d0\u4ea4\u8005\u3001\u65f6\u95f4\u6233\u7b49\u5143\u6570\u636e\u3002\u8fd9\u5728\u5ba1\u8ba1\u548c\u5408\u89c4\u573a\u666f\u4e2d\u662f\u786c\u901a\u8d27\uff0c\u4e5f\u662f\u5b83\u533a\u522b\u4e8e\u201cExcel\u642c\u8fd0\u5de5\u201d\u5f0f\u7ade\u4e89\u5bf9\u624b\u7684\u6838\u5fc3\u62a4\u57ce\u6cb3\u3002\u7136\u800c\uff0c\u5982\u679c\u56e2\u961f\u4e0d\u80fd\u5728\u77ed\u671f\u5185\u89e3\u51b3\u57fa\u7840\u7a33\u5b9a\u6027\u95ee\u9898\uff0c\u5e76\u5c06\u201c\u5ba1\u6279\u5f15\u64ce\u201d\u3001\u201c\u591a\u6b65\u8ba1\u7b97\u201d\u7b49\u4ece\u201c\u8def\u7ebf\u56fe\u201d\u53d8\u4e3a\u201c\u53d1\u8d27\u6e05\u5355\u201d\uff0c\u90a3\u4e48\u201c\u6570\u636e\u5de5\u4f5c\u6d41\u201d\u6700\u7ec8\u53ea\u4f1a\u6ca6\u4e3a\u4e00\u4e2a\u6f02\u4eae\u7684\u8425\u9500\u8bcd\u3002\u4ea7\u54c1\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u6267\u884c\u706b\u529b\u4ecd\u9700\u8bc1\u660e\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\">IvyForms<\/span>\n                <\/div>\n<div class=\"comment-content\">IvyForms is a WordPress form builder for turning submissions into structured workflows. Create contact forms, applications, registrations, surveys, feedback forms, and multi-step flows with a clean drag-and-drop builder. Then manage entries, analyze responses, apply conditional logic, and connect data to tools like wpDataTables, Amelia, Mailchimp, and webhooks so every response can move work forward.<\/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 \ud83d\udc4b<\/p>\n<\/p>\n<p>I&#8217;m Sara, Product Owner at IvyForms. It&#8217;s a pleasure to finally introduce IvyForms to the Product Hunt community!<\/p>\n<\/p>\n<p>We didn&#8217;t set out to build a form builder. But our users wouldn&#8217;t stop asking us for one.<\/p>\n<\/p>\n<p>Here&#8217;s the thing: <strong>we had tools for collecting data (forms) and analyzing it (wpDataTables), but the gap between them was huge.<\/strong> Users were manually moving data around, losing information, wasting time.<\/p>\n<\/p>\n<p>So we listened. We studied what&#8217;s out there. We learned that most form builders are either too simple OR too complicated. They don&#8217;t talk to your other tools. They don&#8217;t help you make better decisions with the data.<\/p>\n<\/p>\n<p><strong>IvyForms is different.<\/strong> It&#8217;s built for people who care about data.<\/p>\n<ul>\n<li>\n<p>Drag-and-drop builder anyone can use<\/p>\n<\/li>\n<li>\n<p>Conditional logic that actually powers workflows<\/p>\n<\/li>\n<li>\n<p>Integrates with wpDataTables (analyze), Amelia (book), Mailchimp (nurture), webhooks (automate)<\/p>\n<\/li>\n<li>\n<p>Security, compliance, and enterprise features included from day one<\/p>\n<\/li>\n<li>\n<p>Free version that doesn&#8217;t feel limited<\/p>\n<\/li>\n<\/ul>\n<p>The best part? People are already using it for order management, booking intake, event registration, feedback collection, and more.<\/p>\n<\/p>\n<p><strong>We&#8217;re here to answer questions and hear what you&#8217;d build with it.<\/strong><\/p>\n<\/p>\n<p>As a thank you to the Product Hunt community for all the support, we&#8217;re offering an <strong>85% discount<\/strong>, available for 7 days only.<\/p>\n<p>To make it even easier, you can use the link below to access the pricing page with the discount already applied, no need to enter anything manually.<\/p>\n<\/p>\n<p><a href=\"https:\/\/ivyforms.com\/pricing\/?coupon=PH85OFF\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>https:\/\/ivyforms.com\/pricing\/?coupon=PH85OFF<\/strong><\/a><\/p>\n<\/p>\n<p><strong>Hope you like it. \ud83d\ude80<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>19<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sara_idvorac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sara_idvorac<\/a>&nbsp;awesome launch. does conditional logic handle nested rules or just simple if then setup?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sara_idvorac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sara_idvorac<\/a>&nbsp;<\/p>\n<p>Hi Sara,<\/p>\n<\/p>\n<p>I already bought IvyForm because I am a WPamelia user too. Greats tools !<\/p>\n<\/p>\n<p>I still have question about advanced calculations and subtotal logic for a clinical assessment form please<\/p>\n<\/p>\n<p>I am evaluating Ivyforms to digitize a specific clinical assessment from my eBook and I need to know if your platform supports advanced logic and field calculations.<\/p>\n<\/p>\n<p>Here is the exact step-by-step workflow I need to build:<\/p>\n<ol>\n<li>\n<p><strong>Structure:<\/strong> The form is divided into 5 distinct sections.<\/p>\n<\/li>\n<li>\n<p><strong>Scoring:<\/strong> Each section contains 5 statements. The user rates each statement on a scale from 1 to 5.<\/p>\n<\/li>\n<li>\n<p><strong>Subtotals:<\/strong> I need the form to calculate a subtotal for each specific section (each section is scored out of 25).<\/p>\n<\/li>\n<li>\n<p><strong>Final Calculation:<\/strong> I then need to retrieve these 5 separate subtotals and add them together to generate a Grand Total score (out of 125).<\/p>\n<\/li>\n<li>\n<p><strong>Conditional Results:<\/strong> Finally, I need to display a specific text message to the user based on the score bracket their Grand Total falls into (e.g., 100-125 displays Result A, 75-99 displays Result B, etc.).<\/p>\n<\/li>\n<\/ol>\n<p>Can Ivyforms handle these specific mathematical rules, cross-field additions, and conditional outcome displays?<\/p>\n<\/p>\n<p>Thank you,<\/p>\n<p>Kevin<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@sara_idvorac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sara_idvorac<\/a>&nbsp;Product has potential, but the current version has bugs in simple things that make it unusable for my application. Yes, they have been reported. No, they have not given an expected date to fix. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 product! It&#8217;s beautiful, simple to use, customizable, and pretty cool templates. <br \/>Always bothered me that most forms just dumps the answers on you, like come on, how I&#8217;m gonna sort through these 5000 submissions with different text inputs, and what to do next with them. <br \/>You guys did it in a beautiful way, bravo!<\/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\/@alex89romanov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex89romanov<\/a>&nbsp;This really made our day, thank you!  We spent a lot of time thinking about what happens after the form is submitted, and it&#8217;s great to hear that it comes across.<\/p>\n<\/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\/@alex89romanov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex89romanov<\/a>&nbsp;thank you mr. Romanov! \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I really love how this brings actual workflow automation directly into WordPress forms instead of just collecting flat data. Congrats on the launch today! Do you support conditional routing to different third-party webhooks natively within those workflows?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Thank you so much! We really appreciate it. \ud83d\ude4c<\/p>\n<p>Yes! You can combine conditional logic with our integrations and webhooks to build different workflows based on user input.<\/p>\n<p>For example, you can trigger different actions depending on the submitted values, allowing you to route data where it needs to go and automate different business processes &#8211; all without writing custom code.<\/p>\n<p>We&#8217;re continuing to expand our automation capabilities, but making workflows flexible and easy to build has been one of our main goals from day one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Have you planned deeper reporting features so teams can measure results without using another tool.<\/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\/@stacey_connolly2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@stacey_connolly2<\/a>&nbsp;Thanks for asking! We do have built-in reporting and analytics in mind, but we want to make sure we&#8217;re solving the right problems first. That&#8217;s why we&#8217;re talking with users to learn which insights and reports they actually need. If you have something specific in mind, we&#8217;d love to hear your ideas. <\/p>\n<\/p>\n<p>For more advanced reporting today, IvyForms integrates with wpDataTables for dashboards, filtering and sorting tables, displaying charts and lot more.<\/p>\n<h3><\/h3>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 WordPress form builder space is genuinely crowded, Gravity Forms alone has been entrenched for over a decade with a massive add-on ecosystem. What&#8217;s the honest case for switching to IvyForms for someone already on Gravity Forms, is it pricing, a specific workflow capability GF doesn&#8217;t handle well, or something in the UX that&#8217;s meaningfully different rather than just newer?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;Thanks for asking, that\u2019s a great question.<br \/>IvyForms was actually born from a direct need we heard from our existing Amelia and wpDataTables users. They kept asking for a form solution that would complete their data management workflow, not just collect information, but help them connect, organize, and use that data effectively.<br \/>We believe forms are just the starting point of a bigger workflow. Many form builders do a great job collecting submissions, but the real value comes from what happens after the data is collected: organizing it, analyzing it, and turning it into action.<br \/>That\u2019s where IvyForms focuses:<\/p>\n<ul>\n<li>\n<p><strong>Data-driven workflows<\/strong> &#8211; forms connect naturally with tools like wpDataTables, helping teams turn submissions into structured, actionable data.<\/p>\n<\/li>\n<li>\n<p><strong>Connected workflows<\/strong> &#8211; with integrations like Amelia, you can use intake (pre-booking) forms to collect important client information before an appointment is scheduled, so everything is ready when the booking happens.<\/p>\n<\/li>\n<li>\n<p><strong>Powerful features without complexity<\/strong> &#8211; conditional logic, webhooks, multi-page forms, conversational forms, and integrations are designed to be flexible while staying easy to use.<\/p>\n<\/li>\n<\/ul>\n<p>Another thing we wanted to do differently is keep things simple and transparent. We don\u2019t rely on a large add-on ecosystem. All features and integrations are included within the available licenses, so users get the complete experience without having to purchase multiple extensions.<\/p>\n<p>And we\u2019ve also focused on making IvyForms accessible with a very competitive pricing model, especially for teams looking for a complete form and data workflow solution without a high total cost of ownership.<\/p>\n<p>The goal with IvyForms was never just to build another form builder, but to create a solution where forms are the first step in a complete data workflow.<\/p>\n<p>We\u2019d love to hear what kind of workflows you\u2019re building and where forms fit into your process.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello <a href=\"https:\/\/www.producthunt.com\/@sara_idvorac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sara_idvorac<\/a> <a href=\"https:\/\/www.producthunt.com\/@sanja_janic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sanja_janic<\/a> <a href=\"https:\/\/www.producthunt.com\/@alexander_gilmanov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexander_gilmanov<\/a> and congrats on the launch. I use cursor daily and just noticed ivyforms shipped an mcp server. I&#8217;m not trying to build forms by voice, I want new submissions to ping my agent when a client uploads an intake pdf. Does mcp push entry events or is it admin-only form building for now?<\/p>\n<p><\/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\/@sara_idvorac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sara_idvorac<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@sanja_janic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sanja_janic<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@konstant_gk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konstant_gk<\/a>&nbsp;thank you! Interesting question, in principle MCP has also entry-level capabilities, but to access it, the server needs to have rights you wouldn\u2019t normally give to a user-level agent. I believe <a href=\"https:\/\/www.producthunt.com\/@milan_jovanovic2\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"milan_jovanovic2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@milan_jovanovic2<\/a> will be able to elaborate more on that\/suggest a solution. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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! WordPress definitely has plenty of form builders, but focusing heavily on real workflows and complex backend actions rather than just basic data collection sounds like a massive timesaver. How deep do the native integrations go for handling multi-step logic right after a form submission?<\/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\/@adamkamaneh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adamkamaneh<\/a>&nbsp;Thanks, glad that resonates! Honestly, right now the native integrations are still single-action (Mailchimp, webhooks), with Zapier support coming <strong>very soon<\/strong>. So true multi-step chaining right now happens either through webhooks, Zapier, or directly in code via our after_submission hook. A native visual builder for chaining\/branching multiple actions post-submission is exactly the kind of thing on our radar as the &#8220;workflow&#8221; side matures. Curious to know, are you picturing something like &#8220;update CRM, then conditionally alert a channel, then create a task,&#8221; or a different chain? Would help us think through what to prioritize first.<\/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\">Really like how IvyForms bridges the gap between collecting and actually using data. The integrations with wpDataTables and Amelia make it feel more like a workflow tool than just another form builder. The free version not being stripped down is a nice touch too, excited to see how people use it for real-world processes like bookings and feedback.<\/div>\n<div class=\"comment-actions\">\n<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\/@odeth_negapatan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@odeth_negapatan1<\/a>&nbsp;Thank you so much! That was exactly our goal- to make forms the starting point of a complete workflow, not just a way to collect submissions.<\/p>\n<p>We&#8217;re also glad you noticed our approach to the free version. We can&#8217;t wait to see the real-world workflows our users build with IvyForms!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@odeth_negapatan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@odeth_negapatan1<\/a>&nbsp;thank 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>i see this fitting schools agencies and small bussinesses equally well. what is your plan for handling very complex approval processes as customer needs continue to grow. <\/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\/@hana_salazars\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hana_salazars<\/a>&nbsp;Thanks for the great question!<\/p>\n<p>Just to make sure I understand correctly, are you referring to approval workflows happening directly inside IvyForms (for example, multi-step manager approvals)?<\/p>\n<p>At the moment, IvyForms focuses on collecting and managing data efficiently through features like entry management, notifications, conditional logic, webhooks, and integrations, allowing it to fit into existing business workflows. As customers&#8217; needs evolve, we&#8217;re definitely looking at expanding workflow capabilities, so we&#8217;d love to hear more about the approval process you have in mind.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@hana_salazars\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hana_salazars<\/a>&nbsp;Really good question, thanks! Today, IvyForms handles this through conditional notification routing and multi-page forms, so you can already do things like &#8220;route to a different approver based on department&#8221; or &#8220;only trigger a review step if a certain field is filled in a certain way,&#8221; with webhooks\/Zapier (<strong>coming very soon<\/strong>) available if you want to hand off to an external workflow tool. A full native approval engine (multi-step sign-off, live status tracking, escalation reminders, audit trail) isn&#8217;t built yet, but it&#8217;s exactly the kind of feature we&#8217;re evaluating as usage scales into larger orgs. If you don&#8217;t mind sharing a bit more about what your approval chain actually looks like (how many stages, sequential vs. parallel, who needs visibility into status), that&#8217;d help us prioritize it against what real teams need rather than guessing. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the conditional logic actually behave across multi-step flows, does each step have its own rules or is it all evaluated globally when someone hits submit?<\/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\/@yaar89286282857\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yaar89286282857<\/a>&nbsp;Great question!<\/p>\n<p>In multi-step forms, validation is performed on each step, not only when the user reaches the final submit.<\/p>\n<p>Conditional logic that controls whether a field is displayed or hidden also works within the specific step where the field exists. For example, if you want a conditional field to appear immediately on the first page based on the user&#8217;s answer, that is fully supported.<\/p>\n<p>If that conditional field is required, the user will see a validation error before moving to the next step if they haven&#8217;t completed it. The error message will guide them to complete the required fields on the current step before continuing.<\/p>\n<p>So the logic and validation are handled dynamically throughout the form flow, not only at submission.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@benln\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"benln\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@benln<\/a> Thanks, Ben! That&#8217;s exactly what we&#8217;re aiming for. Making forms the starting point of real workflows, not just data collection. Appreciate you highlighting it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Loving IvyForm<\/strong> alongside WPAmelia brilliant software!<\/p>\n<p>I am digitizing an eBook clinical assessment and need to verify IvyForm&#8217;s math and logic capabilities. Could you confirm if the platform supports this specific setup?<\/p>\n<ul>\n<li>\n<p><strong>Layout<\/strong>: 4 core blocks.<\/p>\n<\/li>\n<li>\n<p><strong>Scoring<\/strong>: 6 items per block, rated 1 to 10.<\/p>\n<\/li>\n<li>\n<p><strong>Block totals<\/strong>: Automated sum for each individual block (max 60 per block).<\/p>\n<\/li>\n<li>\n<p><strong>Grand tally<\/strong>: A master score combining all block totals (max 240).<\/p>\n<\/li>\n<li>\n<p><strong>Dynamic feedback<\/strong>: Milestone-based text triggers that change depending on the final master score bracket.<\/p>\n<\/li>\n<\/ul>\n<p>Can IvyForm seamlessly handle these multi-layer calculations and conditional outcome displays?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 collection-to-analysis gap is real. every wordpress agency has watched users manually csv-shuffle data between forms and dashboards for years.<\/p>\n<\/p>\n<p>real q: does ivyforms carry any provenance from form submission through to wpDataTables? like &#8220;this row came from this form filled by this person on this date&#8221;? asking because trust in the analysis depends entirely on trusting the collection and most tools quietly drop that link.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;That&#8217;s a great question &#8211; and yes, that&#8217;s exactly why we built the integration the way we did.<\/p>\n<p>wpDataTables doesn&#8217;t receive a disconnected copy of your data. It uses your IvyForms entries as the data source, so the connection to the original submission is preserved. Alongside your form fields, you can also include built-in metadata such as the Entry ID, Form ID, User ID (when available), Date Created, Status, IP Address, User Agent, Source URL, and more. This makes it easy to trace every row back to its origin whenever needed.<\/p>\n<p>Trust in the data was one of our key design goals, so we wanted the analysis layer to stay closely connected to the original submission instead of becoming a detached export.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Most form builders stop at the submission. You&#8217;re explicitly building past that point, into what happens with the data next. That&#8217;s a bigger scope than a form builder usually takes on. Where&#8217;s the line for you between what IvyForms handles natively and what gets handed off to Zapier or a webhook? That boundary probably says more about the product&#8217;s direction than the feature list does.<\/p>\n<\/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;Thank you! That&#8217;s exactly how we see it. \ud83d\ude0a<\/p>\n<p>Our goal is to make everything that&#8217;s core to building forms and working with your data a native part of IvyForms.<\/p>\n<p>For integrations, our approach is to build native connections with the services our users rely on most, while webhooks and platforms like Zapier remain the bridge to virtually any other tool or custom workflow. That way, you get the best native experience where it matters most, without limiting what&#8217;s possible.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Drag-and-drop felt snappy and the conditional logic options were more flexible than I expected for a WordPress plugin. The webhook integration is a nice touch for routing submissions into other tools without extra glue code.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@semra276308\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@semra276308<\/a>&nbsp;Thanks! That&#8217;s exactly the experience we were aiming for. We want building forms to feel effortless, while making it just as easy to turn every submission into the start of a real workflow. Webhooks are just the beginning. We&#8217;re actively expanding our native integrations 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>Looks promising. <\/p>\n<\/p>\n<p>Are there any plans for payment integrations (Stripe, PayPal, etc.)? If so, is there a timeframe for release?<\/p>\n<\/p>\n<p>Are there plans for fron-end post submission integration?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aguilar1181\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aguilar1181<\/a>&nbsp;Thanks for asking! Yes, we&#8217;re actively working on payment integrations. Square is currently in development, while Stripe and PayPal are next. Which one comes first will depend on customer demand. <\/p>\n<\/p>\n<p>Front-end post and user submission forms are also planned, and we&#8217;ll prioritize them based on the workflows our users tell us they need most.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 deep integration with wpDataTables and Amelia is clearly the selling point, but it makes me wonder about the flip side: if a site outgrows WordPress entirely down the line, how portable is the structured data and workflow logic? like can you export the conditional logic rules and calculated fields in some reusable format, or is that value basically locked into staying on WP once you&#8217;ve built it out<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;thank you for your support! And it&#8217;s a great question &#8211; so far we didn&#8217;t build the out-of-wp version &#8211; but the way we strore the data would allow it to be &#8220;portable&#8221; if necessary.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 used quite a few WordPress from plugins and keeping everything organized afterward has always been the bigger challenge.  This feels like it&#8217;s spolving that part instead of shopping at from creation. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@morgan__harriss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@morgan__harriss<\/a>&nbsp;Thanks for pointing this out! You&#8217;ve identified the exact gap we saw. Most form builders stop after creation, but the real work starts when submissions come in &#8211; managing entries, analyzing data, automating follow-ups. IvyForms is built to handle the entire data lifecycle: collect \u2192 organize \u2192 analyze \u2192 act. Give it a try and let us know how it compares. \ud83d\udc4d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>As someone who has built small WordPress sites, the \u201creal workflows\u201d framing feels right.<\/p>\n<\/p>\n<p>The hard part with forms is rarely adding fields. It\u2019s what happens after submit: routing the lead, sending the right confirmation, avoiding duplicate manual follow-up, and knowing which responses actually need attention.<\/p>\n<\/p>\n<p>If IvyForms makes that post-submit flow obvious for non-technical site owners, that may be more valuable than another nicer form editor.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>WordPress form builders feel like one of the most crowded categories on here, Gravity Forms, WPForms, Forminator, JetFormBuilder all doing roughly the same drag and drop plus integrations pitch. the wpDataTables and Amelia native integration is the one thing that actually reads as differentiated since you already own that ecosystem, rather than bolting on yet another generic Zapier connector. curious if that&#8217;s really where most of your users are coming from, or if it&#8217;s still mostly cold WordPress.org traffic<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on #2 today! The wpDataTables provenance answer above is what sold me \u2014 most form tools drop the link between a submission and where it lands, and that&#8217;s exactly where trust breaks. I run a few different businesses and intake\/registration forms are a constant mess across all of them, so a builder that keeps the workflow connected instead of just collecting data is genuinely 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Why would I use this over a tool like Lovable or Replit or Base44? Why would I manually click through and build the form myself when I can just ask an AI agent to do it for me and launch with one click? Is it the workflows afterwards? I feel like you just ask your AI and it will build that for you, right? You just give it either the MCP or the API key and it will build these automations for you. I don&#8217;t see this lasting in 2 years. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@malcolm_mcdonald2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malcolm_mcdonald2<\/a>&nbsp;Great question! Honestly, it&#8217;s something we&#8217;ve thought about a lot.<\/p>\n<\/p>\n<p>AI app builders like Lovable, Replit, and Base44 are impressive, and we believe they&#8217;ll become part of how many products are built. We don&#8217;t see IvyForms competing with them as much as serving a different audience.<\/p>\n<\/p>\n<p>WordPress powers a huge share of the web and remains the world&#8217;s largest CMS ecosystem. Whether someone is launching a brand-new website or extending an existing one, they usually want tools that work natively with WordPress, not a separate application they need to maintain.<\/p>\n<\/p>\n<p>AI can absolutely generate a form or even an entire workflow. But for most businesses, that&#8217;s only the starting point. They also need reliable entry management, permissions, spam protection, integrations, analytics, updates, and compatibility with the rest of their WordPress stack.<\/p>\n<\/p>\n<p>We also don&#8217;t see AI as the competition. In fact, AI is becoming a core part of IvyForms. Today, you can already generate forms with AI, and we&#8217;ve added MCP support (WordPress 6.9+) so AI agents can work directly with IvyForms. We&#8217;re also integrated with Angie, Elementor&#8217;s AI agent, allowing users to create and manage forms using natural language from within WordPress.<\/p>\n<\/p>\n<p>Our vision is that the best experience won&#8217;t be <strong>AI instead of WordPress plugins<\/strong>, it will be <strong>AI working with specialized WordPress plugins<\/strong>. AI handles the repetitive work, while IvyForms provides the reliable foundation for forms, workflows, integrations, and long-term maintenance.<\/p>\n<\/p>\n<p>The market is evolving quickly, and we&#8217;re building with AI in mind rather than against it. We&#8217;d love to hear what you think a form builder should look like in two years.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on hitting #2! The wpDataTables connection is the smart part here, forms and analysis living in one place is what most WP setups are missing. My question is about the unglamorous side: spam. Every WordPress form I\u2019ve run eventually drowns in bot submissions. What\u2019s built in for that beyond a captcha, and does conditional logic help filter junk before it hits my entries?<\/div>\n<div class=\"comment-actions\">\n<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\/@ridhwikvinod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ridhwikvinod<\/a>&nbsp;Thank you so much! We&#8217;re excited to be here! <\/p>\n<\/p>\n<p>Great question. IvyForms currently supports <strong>Google reCAPTCHA<\/strong>, <strong>hCaptcha<\/strong>, and <strong>Cloudflare Turnstile<\/strong>, so you can choose the spam protection solution that best fits your website. We also provide a <strong>GDPR consent field<\/strong> for collecting user consent when needed.<\/p>\n<p>Conditional logic serves a different purpose, it helps create dynamic forms and workflows, rather than filtering spam before submissions reach your entries.<\/p>\n<p>Thanks for bringing this up, and thanks for your support! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;submissions into workflows&#8221; framing is what separates this from a basic form builder. most wordpress form plugins stop at collecting data and then you&#8217;re manually moving entries into whatever system actually needs them. curious how deep the workflow side goes, can it trigger external actions like sending to a CRM or slack on submission, or is the workflow management mostly within the plugin itself?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@shubham4real\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham4real<\/a>&nbsp;Great question! Our goal is to go beyond simply collecting submissions. IvyForms already supports webhooks, so you can send data to thousands of apps and CRMs that support them. <\/p>\n<\/p>\n<p>We also have a direct Mailchimp integration, with Zapier and Google Sheets integrations rolling out by the end of this week. <\/p>\n<p>It will be available and REST API for developers who want to build custom workflows. And yes, Slack is already in progress and will be available very soon as a native integration. <\/p>\n<\/p>\n<p>If you have a specific workflow in mind, we&#8217;d genuinely love to hear it. Real customer use cases help shape what we build next.<\/p>\n<h3><\/h3>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/T6BIUDFMEVHOGT\" class=\"app-title\">Willow Frontier Pro<\/a><\/p>\n<div class=\"one-liner\">The fastest, most accurate dictation model in the world<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">256<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Willow Frontier Pro \u662f\u4e00\u6b3e\u5168\u7403\u6700\u5feb\u3001\u6700\u51c6\u786e\u7684\u8bed\u97f3\u542c\u5199\u6a21\u578b\uff0c\u901a\u8fc7\u70ed\u952e\u5524\u9192\u3001\u8bed\u97f3\u8f6c\u6587\u5b57\u7684\u65b9\u5f0f\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u4efb\u4f55\u5e94\u7528\uff08\u5982\u90ae\u4ef6\u3001Slack\u3001\u6587\u6863\uff09\u4e2d\u9ad8\u6548\u5b8c\u6210\u5199\u4f5c\uff0c\u89e3\u51b3\u6253\u5b57\u6162\u3001\u53e3\u8ff0\u540e\u9700\u5927\u91cf\u6e05\u7406\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\/8e11555e-67e1-41a7-a0cd-8d66881defcc.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\/e39e4cf4-b71e-4410-8841-8e6047363717.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\/cb318647-d70e-4ca7-b58b-ef8a0cc5ee53.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\">Writing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3\u542c\u5199<\/span><br \/>\n            <span class=\"tag\">AI\u8bed\u97f3\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u6587\u5b57<\/span><br \/>\n            <span class=\"tag\">\u5199\u4f5c\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u542c\u5199<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">AI IDE\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u566a\u97f3\u6d88\u9664<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u81ea\u9002\u5e94<\/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\u901f\u5ea6\u548c\u51c6\u786e\u6027\uff0c\u7279\u522b\u79f0\u8d5e\u4e86\u65e0\u586b\u5145\u8bcd\u529f\u80fd\uff0c\u4f46\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u514d\u8d39\u6a21\u5f0f\u5982\u4f55\u6301\u7eed\uff08\u662f\u5426\u5229\u7528\u7528\u6237\u8bed\u97f3\u6570\u636e\u8bad\u7ec3\u6a21\u578b\uff09\u3001\u4e0e\u7ade\u54c1\u76f8\u6bd4\u7684\u5dee\u5f02\u5316\u4f18\u52bf\u3001\u662f\u5426\u652f\u6301\u672c\u5730\u8fd0\u884c\u3001\u5bf9\u5f00\u53d1\u573a\u666f\u4e2d\u4e13\u4e1a\u672f\u8bed\u548c\u6570\u5b57\u7684\u5904\u7406\u80fd\u529b\u3002\u90e8\u5206\u7528\u6237\u5bf9\u7248\u672c\u5347\u7ea7\u6d41\u7a0b\u8868\u793a\u56f0\u60d1\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Willow \u6b64\u6b21\u53d1\u5e03\u7684\u6838\u5fc3\u4eae\u70b9\u5e76\u975e\u201c\u66f4\u5feb\u66f4\u51c6\u201d\uff0c\u800c\u662f\u201c\u514d\u8d39\u201d\u3002\u5b83\u5c06\u6700\u770b\u5bb6\u7684\u8f7b\u91cf\u7ea7\u6a21\u578b Frontier Mini \u65e0\u9650\u514d\u8d39\u5f00\u653e\uff0c\u8fd9\u4e00\u62db\u7cbe\u51c6\u51fb\u4e2d\u4e86\u5f53\u524d\u8bed\u97f3\u542c\u5199\u5e02\u573a\u4e2d\u201c\u597d\u7528\u7684\u592a\u8d35\uff0c\u514d\u8d39\u7684\u592a\u70c2\u201d\u7684\u884c\u4e1a\u75db\u70b9\uff0c\u76f4\u63a5\u62c9\u4f4e\u4e86\u7528\u6237\u7684\u4f7f\u7528\u95e8\u69db\u3002\u4ece\u7528\u6237\u53cd\u9988\u770b\uff0c\u8bc4\u8bba\u533a\u4e2d\u5173\u4e8e\u201c\u6211\u4e0e\u7ade\u54c1\u6709\u4f55\u4e0d\u540c\u201d\u7684\u7126\u8651\u672c\u8d28\u4e0a\u662f\u201c\u4f60\u9760\u4ec0\u4e48\u8d5a\u94b1\u201d\u7684\u8d28\u95ee\u3002Willow \u7684\u56de\u5e94\u4e5f\u5f88\u6709\u7b56\u7565\u2014\u2014\u5c06\u53d8\u73b0\u91cd\u70b9\u653e\u5728\u201cScribe\u201d\u8fd9\u7c7b\u610f\u56fe\u8f6c\u6587\u5b57\u7684\u9ad8\u9636\u529f\u80fd\u4e0a\uff0c\u514d\u8d39\u7248\u4f5c\u4e3a\u6f0f\u6597\u5165\u53e3\u3002\u8fd9\u5b9e\u9645\u4e0a\u662f\u5728\u8d4c\u4e00\u4e2a\u5047\u8bbe\uff1a\u8bed\u97f3\u8f93\u5165\u4e60\u60ef\u7684\u517b\u6210\uff0c\u6bd4\u4e00\u6b21\u6027\u7684\u8ba2\u9605\u8d39\u66f4\u5177\u957f\u671f\u4ef7\u503c\u3002\u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff1a\u7b2c\u4e00\uff0c\u5f53\u7528\u6237\u53ef\u4ee5\u201c\u65e0\u8111\u7528\u201d\u65f6\uff0c\u5b83\u80fd\u5426\u5728\u7cdf\u7cd5\u7684\u7f51\u7edc\u73af\u5883\u3001\u590d\u6742\u7684\u4e13\u4e1a\u672f\u8bed\u3001\u4ee5\u53ca\u957f\u6570\u5b57\u4e32\u8fd9\u4e9b\u786c\u6838\u573a\u666f\u4e2d\u505a\u5230\u4e0d\u7ffb\u8f66\uff0c\u5426\u5219\u7528\u6237\u4f1a\u8fc5\u901f\u8fd4\u56de\u952e\u76d8\u3002\u7b2c\u4e8c\uff0c\u7528\u6237\u9690\u79c1\u7684\u4fe1\u4efb\u6210\u672c\u6781\u9ad8\u3002\u5c3d\u7ba1\u58f0\u660e\u201c\u4e0d\u5356\u6570\u636e\u201d\uff0c\u4f46\u5728\u201c\u514d\u8d39\u4e14\u4e0d\u6536\u96c6\u6570\u636e\u201d\u8fd9\u4e00\u77db\u76fe\u524d\uff0c\u4efb\u4f55\u6a21\u7cca\u7684\u6761\u6b3e\u90fd\u4f1a\u88ab\u653e\u5927\u3002\u4e0e\u5176\u5728\u9053\u5fb7\u724c\u574a\u4e0a\u7528\u529b\uff0c\u4e0d\u5982\u5e72\u8106\u5c06\u9690\u79c1\u62a5\u544a\u548c\u8bad\u7ec3\u6570\u636e\u89c4\u5219\u505a\u6210\u4ea7\u54c1\u5dee\u5f02\u5316\u7684\u4e00\u90e8\u5206\u3002\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aWillow \u7528\u514d\u8d39\u6253\u54cd\u4e86\u7528\u6237\u5fc3\u667a\u4e89\u593a\u6218\uff0c\u4f46\u4ea7\u54c1\u62a4\u57ce\u6cb3\u4ecd\u9700\u5728\u751f\u6001\u96c6\u6210\u548c\u6781\u7aef\u573a\u666f\u4e0b\u7684\u7a33\u5b9a\u6027\u4e0a\u9a8c\u8bc1\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Willow Frontier Pro<\/span>\n                <\/div>\n<div class=\"comment-content\">Willow is launching two new voice AI models: Willow Frontier Pro and Willow Frontier Mini. Frontier Pro is our most powerful dictation model. It is built for people who want fast, accurate, and polished writing anywhere they work. Frontier mini is lightweight and completely free to use. On our free plan, users get unlimited access to this model. It&#8217;s faster and more accurate than other AI dictation tools.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Today, we are making AI dictation free for everyone.<\/p>\n<p>You might be wondering why, and also how.<\/p>\n<p>No, you are not becoming the product.<\/p>\n<p>Willow is a voice dictation app that lets you speak anywhere you write. You can use it for emails, Slack messages, docs, notes, AI prompts, and more. Just hold a hotkey, speak naturally, and Willow turns your words into clean text.<\/p>\n<p>Today, we are launching two new voice AI models: Willow Frontier Mini and Willow Frontier Pro.<\/p>\n<p>Frontier Mini is our fast and lightweight dictation model. It is completely free to use, with unlimited access on our free plan.<\/p>\n<p>Frontier Pro is our most powerful dictation model. It is available on our Pro plan for people who want the highest accuracy, better formatting, and more polished writing. Our Pro plan also includes Scribe, our voice AI writing assistant for turning rough spoken ideas into finished drafts.<\/p>\n<p>For a long time, good voice dictation has either been too slow, too awkward, not accurate enough, or locked behind a paywall.<\/p>\n<p>We do not think speaking to your computer should be a premium feature. That&#8217;s why now nobody has an excuse to not talk to their computer with our free plan!<\/p>\n<p>Would love for you to try it and share any feedback.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@allan_guo I think most of us are just over having to wait for the latency of network\/cloud models. Or when they stop working when in rough network conditions (I work on the go frequently). I\u2019m still waiting for a company like Willow to allow their models to run locally.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@allan_guo Nice. I assume that\u2019s not Frontier Pro though and just third-party models?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been using it for a couple days and the filler word removal actually works well, my rambling thoughts come out pretty clean. Way faster than typing for long slack messages.<\/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\/@arindemirevm1u\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arindemirevm1u<\/a>&nbsp;That&#8217;s awesome. Have you tried using Scribe for the longer Slack messages? It&#8217;s a lot easier when you&#8217;re rambling, and it cleans it up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Are you mainly aiming at general text dictation, or does the product handle developer-y dictation too, like punctuation-heavy sentences, variable names, or speaking edits into a coding workflow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;You bet. Willow is integrated really well with AI IDEs. It handles developer language naturally, including variable names and technical jargon. It can even recognize and tag file names correctly, so those workflows feel seamless.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>&#8220;you are not becoming the product&#8221; is a bold line to open with, and it made me curious rather than reassured. one review here specifically calls out a competitor for holding privacy certifications and not using dictation data for training, as a differentiator. now that Frontier Mini is free and unlimited, what&#8217;s the actual model for staying sustainable on that tier, is voice data from free users used to improve future models, and if so is that opt-in or just disclosed in the terms somewhere. genuinely asking because unlimited free dictation has to be paid for by something<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;For us, what we actually monetize is Willow Scribe!<\/p>\n<p>When you onboard, you&#8217;ll see two modes: normal dictation and Scribe. Scribe is our intent-to-text product that helps with phrasing and other situations where raw voice dictation isn&#8217;t the right fit. On the free tier, you get 20 Scribes, and that&#8217;s what we&#8217;re monetizing today.<\/p>\n<p>One interesting thing we&#8217;ve noticed is that people who use Scribe are much more likely to activate, convert, and refer friends, so giving everyone unlimited dictation has actually been a pretty good top-of-funnel strategy \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>Speed + accuracy is the right pair to obsess over \u2014 most dictation tools nail one and butcher the other. In my world (voice agents) the make-or-break is proper nouns and numbers: a model that writes beautiful prose but drops a digit in a phone number is useless in a real workflow. Curious where Frontier Pro lands there \u2014 is the accuracy jump mostly on natural speech, or does it hold up on names, addresses, and long strings of numbers where most models fall apart? That&#8217;s the part I&#8217;d pay for. Congrats on shipping \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a>&nbsp;Appreciate it, David!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<blockquote>\n<p>&#8220;prompting AI tools&#8221; by voice is an underrated use case here. typing out long prompts for claude or chatgpt is friction most people don&#8217;t notice until they see someone doing it by voice. 1.3K followers and a winter 2025 award suggests this has actual retention, which is rare for dictation tools. curious how it handles technical vocabulary and product names that aren&#8217;t in standard training data, does it let you add a custom dictionary?<\/p>\n<\/p>\n<\/blockquote>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve always felt that typing is the bottleneck for a lot of knowledge work. If Frontier Pro can make dictation fast enough and accurate enough that people stop thinking about the tool entirely, that&#8217;s a huge shift. Also love the decision to make it free for everyone. Excited to try it out. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;We wppreciate that! What&#8217;s been your favorite 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>No, you are not becoming the product&#8221; is a smart line \ud83d\ude42<\/p>\n<\/p>\n<p>voice dictation feels like one of those habits that is still weird for a few days, then suddenly typing everything starts to feel slow. I&#8217;ve been using voice more and more for rough ideas, messages, and prompts, and the biggest difference is whether the output feels clean enough to use immediately. making unlimited dictation free is a pretty strong move. if Frontier Mini is genuinely fast and accurate, I can see a lot of people trying voice for the first time without overthinking it.<\/p>\n<\/p>\n<p>curious how Willow handles different writing contexts. does it adapt formatting differently for Slack, emails, docs, and AI prompts, or is the cleanup mostly the same everywhere?<\/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\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Yeah, exactly! We adapt formatting based on the context. Slack, email, docs, AI prompts, and more all have very different writing styles, so the formatting isn&#8217;t the same across surfaces. If you use Scribe, for example, you&#8217;ll notice it behaves differently in emails versus ChatGPT. <\/p>\n<p>For ChatGPT, we&#8217;ll often automatically optimize the prompt to help you get better results. The same idea applies to dictation in general. Willow is designed to be highly context aware, so it adjusts both formatting and rewriting based on where you&#8217;re writing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 a longtime Willow Voice user, I have to say I&#8217;ve always found it surprising that the conversation revolves around the other two big transcription apps. Willow has been awesome, reliable, and does exactly what I need it to. I tell all my friends to try Willow before giving up on dictation, because you&#8217;ve tried the other ones.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@paulgeller\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@paulgeller<\/a>&nbsp;\ud83e\udee1<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">amazing launch!! If someone is already using SuperWhisper or Wispr Flow, what would make them install Willow instead?<\/div>\n<div class=\"comment-actions\">\n<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\/@luki_notlowkey\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luki_notlowkey<\/a>&nbsp;We&#8217;re faster, more accurate, and most of all, free. Take a look at our technical breakdown \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/willowvoice.com\/blog\/introducing-willow-frontier-pro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/willowvoice.com\/blog\/introducing-willow-frontier-pro<\/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>giving away Frontier Mini unlimited and free is a strong move given how many dictation apps gate accuracy behind a paywall. removing filler words automatically is the detail that actually matters day to day, half the pain of dictation tools is the cleanup afterward not the transcription itself<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Voice tools are only useful when they feel fast and natural. Curious to try this for messy thoughts and longer writing 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\/@monster1x\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monster1x<\/a>&nbsp;We&#8217;re great for that! We specifically train our model to deal with messy thoughts and longer five-minute sessions <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@monster1x\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monster1x<\/a>&nbsp;It&#8217;s not just fast, it&#8217;s blazingly fast, natural, and accurate. Tell us what you think when 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>I would like to know how to upgrade from my current Willow version 2.3.0 to this new Willow Frontier Pro. That&#8217;s not very clear from your email or website.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Making Frontier Pro&#8217;s speed\/accuracy free-tier accessible via Mini is a great call. Between three businesses I&#8217;m answering emails and Slack threads all day, and dictation is one of the few things that&#8217;s actually saved me real time instead of just adding another app to check. Congrats on #3 today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m really looking forward to trying out the Pro version! Will I need to install a newer version of the app, or will it be pushed out automatically? I&#8217;m currently running version 2.3.0. Is that enough?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the free-for-everyone move is the right call. voice dictation just became infrastructure like keyboard input.<\/p>\n<\/p>\n<p>real q: does willow do multi-speaker attribution yet? most creative work is 2+ people talking through ideas and losing &#8220;who said the thing that landed&#8221; is where good ideas die uncredited.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;We have really strong primary\/secondary speaker differentiation. We&#8217;re mainly used for single speaker roles <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Getting past the \u201cthis feels weird\u201d stage seems like the bigger challenge than model accuracy itself. Once people start speaking by default instead of typing, going back probably feels painfully slow. Curious if you\u2019ve seen a clear moment where users make that switch, or if it\u2019s still mostly a habit-building journey. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that Frontier Mini is free and unlimited, making dictation accessible instead of a premium feature is a genuinely different approach from most competitors in this space.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/GA74HWMAAGQ5Z7\" class=\"app-title\">Bono AI<\/a><\/p>\n<div class=\"one-liner\">Talk Once. Publish Everywhere.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">234<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Bono AI\u662f\u4e00\u6b3e\u901a\u8fc710\u5206\u949f\u8bed\u97f3\u5bf9\u8bdd\u5c06\u7528\u6237\u7684\u53e3\u5934\u8868\u8fbe\u81ea\u52a8\u8f6c\u5316\u4e3a\u535a\u5ba2\u3001\u793e\u4ea4\u5a92\u4f53\u5e16\u6587\u548c\u65b0\u95fb\u7a3f\u7b49\u5185\u5bb9\u7684AI\u5185\u5bb9\u6218\u7565\u5de5\u5177\uff0c\u89e3\u51b3\u4e13\u4e1a\u4eba\u58eb\u201c\u6709\u60f3\u6cd5\u4f46\u5199\u4e0d\u51fa\u201d\u548c\u201cAI\u751f\u6210\u5185\u5bb9\u4e0d\u50cf\u81ea\u5df1\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3a5abac7-a350-481e-9c81-54e05eb63944.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a2218c62-2895-4214-bd70-d23a148b0af2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ba1b7484-1da1-446a-9b4d-1b744897a3e2.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\/b1f97d14-b49a-46f0-a535-69dea881e3a3.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Qv1UZVF5amQ\"><source src=\"https:\/\/www.youtube.com\/watch?v=Qv1UZVF5amQ\" 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\">Newsletters<\/span><br \/>\n            <span class=\"tag\">Writing<\/span><br \/>\n            <span class=\"tag\">Social Media<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5185\u5bb9\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u5185\u5bb9<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u54c1\u724c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u5185\u5bb9\u7b56\u7565<\/span><br \/>\n            <span class=\"tag\">\u53e3\u64ad\u8f6c\u5199<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u7684AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u58f0\u97f3\u514b\u9686\u5f0f\u5199\u4f5c<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u6838\u5fc3\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a\u8bed\u97f3\u662f\u5426\u80fd\u771f\u5b9e\u8fd8\u539f\u4e2a\u4eba\u98ce\u683c\uff08\u4e0d\u662f\u201c\u542c\u5199+\u7f8e\u5316\u201d\uff09\u3001\u662f\u5426\u652f\u6301\u8de8\u5e73\u53f0\u683c\u5f0f\u7cbe\u7ec6\u5316\u6539\u5199\uff0c\u4ee5\u53ca\u5bf9LinkedIn\u7b49\u5e73\u53f0\u5408\u89c4\u98ce\u9669\u7684\u62c5\u5fe7\u3002\u90e8\u5206\u7528\u6237\u4e5f\u5173\u5fc3\u5bf9\u201c\u53e3\u8bed\u6742\u4e71\uff08\u5982\u4fee\u6b63\u3001\u8bed\u585e\uff09\u201d\u7684\u5904\u7406\u80fd\u529b\uff0c\u4ee5\u53ca\u5b66\u4e60\u66f2\u7ebf\u7684\u901f\u5ea6\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                Bono AI\u7684\u4ef7\u503c\uff0c\u4e0d\u5728\u4e8e\u201c\u53c8\u591a\u4e86\u4e00\u4e2aAI\u5199\u4f5c\u5de5\u5177\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u7784\u51c6\u4e86AI\u5185\u5bb9\u751f\u4ea7\u4e2d\u6700\u9690\u853d\u3001\u4e5f\u6700\u81f4\u547d\u7684\u4e00\u4e2a\u77db\u76fe\uff1a**AI\u8d8a\u6d41\u7545\uff0c\u5185\u5bb9\u8d8a\u4e0d\u50cf\u4eba**\u3002\u65e0\u6570\u4e13\u4e1a\u4eba\u58eb\u5728\u8868\u8fbe\u89c2\u70b9\u65f6\u662f\u7280\u5229\u7684\uff0c\u4f46\u4e00\u65e6\u9762\u5bf9\u7a7a\u767d\u6587\u6863\u6216\u88abAI\u5957\u8fdb\u201c\u4e07\u80fd\u516c\u6587\u6a21\u677f\u201d\uff0c\u5c31\u4f1a\u77ac\u95f4\u88ab\u78e8\u5e73\u68f1\u89d2\uff0c\u6ca6\u4e3a\u4e92\u8054\u7f51\u4e0a\u53c8\u4e00\u4e2aChatGPT\u98ce\u683c\u7684\u5783\u573e\u5e16\u3002Bono\u7684\u89e3\u6cd5\u5f88\u806a\u660e\u2014\u2014\u5b83\u4e0d\u8ba9\u4f60\u6253\u5b57\uff0c\u4e0d\u8ba9\u4f60\u8c03Prompt\uff0c\u800c\u662f\u8ba9\u4f60\u8bf4\u8bdd\u3002\u8fd9\u662f\u5bf9\u4eba\u884c\u4e3a\u4e60\u60ef\u7684\u4e00\u79cd\u6df1\u523b\u5229\u7528\uff1a\u4eba\u5728\u53e3\u8bed\u4e2d\u6bd4\u5728\u6587\u5b57\u4e2d\u66f4\u771f\u5b9e\u3001\u66f4\u4e0d\u8bbe\u9632\uff0c\u66f4\u613f\u610f\u5c55\u5f00\u7ec6\u8282\u3002\u6240\u4ee5\u5b83\u89e3\u51b3\u7684\u4e0d\u4ec5\u662f\u201c\u5199\u4e1c\u897f\u5f88\u7d2f\u201d\uff0c\u66f4\u662f\u201cAI\u5199\u7684\u4e1c\u897f\u4e0d\u662f\u6211\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u53cd\u9988\u770b\uff0c\u5b83\u5c06\u8bed\u97f3\u89e3\u6790\u4e3a\u7ed3\u6784\u5316\u7684\u5185\u5bb9\uff0c\u800c\u4e0d\u662f\u7b80\u5355\u8f6c\u5f55\uff0c\u751a\u81f3\u80fd\u8ffd\u95ee\u3001\u8fc7\u6ee4\u5e9f\u8bdd\u548c\u4fee\u6b63\uff0c\u8fd9\u8bc1\u660e\u4e86\u5b83\u4e0d\u662f\u6302\u7f8a\u5934\u5356\u72d7\u8089\u3002\u540c\u65f6\uff0c\u5b83\u5728\u8de8\u5e73\u53f0\u5185\u5bb9\u751f\u6210\u4e0a\u5f3a\u8c03\u201c\u5206\u522b\u751f\u6210\u800c\u975e\u4e00\u4efd\u7a3f\u5b50\u4e09\u5957\u88c1\u526a\u201d\uff0c\u4e5f\u907f\u514d\u4e86\u5927\u591a\u6570\u540c\u7c7b\u4ea7\u54c1\u7684\u901a\u75c5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u540c\u6837\u660e\u663e\u3002\u4ea7\u54c1\u7684\u6838\u5fc3\u58c1\u5792\u5728\u4e8e**\u8bed\u97f3\u5230\u4e2a\u4eba\u98ce\u683c\u7684\u201c\u8bed\u4e49\u6620\u5c04\u201d\u6a21\u578b\u662f\u5426\u591f\u6df1**\u3002\u5982\u679c\u7528\u6237\u6301\u7eed\u53cd\u9988\u201c\u6211\u8fd8\u662f\u5f97\u6539\u5f88\u591a\u201d\uff0c\u6216\u8005\u5b66\u4e60\u66f2\u7ebf\u505c\u6ede\u5728\u7b2c3\u30014\u6b21\u5bf9\u8bdd\u540e\uff0c\u90a3\u5b83\u5c31\u4f1a\u9000\u5316\u4e3a\u4e00\u4e2a\u201c\u5e26\u8bed\u97f3\u8f93\u5165\u7684\u683c\u5f0f\u5316\u6a21\u677f\u751f\u6210\u5668\u201d\uff0c\u548c\u4e00\u4f17AI\u7b14\u8bb0\u5de5\u5177\u6ca1\u6709\u4efb\u4f55\u533a\u522b\u3002\u6b64\u5916\uff0c\u5b9a\u4ef7\u7b56\u7565\u548c\u4e2a\u4eba\u54c1\u724c\u5de5\u5177\u8fd9\u6761\u8d5b\u9053\u7684\u62e5\u6324\u7a0b\u5ea6\uff0c\u51b3\u5b9a\u4e86Bono\u5fc5\u987b\u6781\u5feb\u5730\u5efa\u7acb\u201c\u58f0\u97f3\u72ec\u7279\u5ea6\u201d\u7684\u62a4\u57ce\u6cb3\uff0c\u5426\u5219\u968f\u7740\u5927\u6a21\u578b\u539f\u751f\u652f\u6301\u8fd9\u7c7b\u80fd\u529b\uff0c\u5b83\u968f\u65f6\u53ef\u80fd\u88ab\u964d\u7ef4\u6253\u51fb\u3002\u4e00\u53e5\u8bdd\uff1a\u5f62\u5f0f\u806a\u660e\uff0c\u4f46\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\u6267\u884c\u6df1\u5ea6\u548c\u901f\u5ea6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Bono AI<\/span>\n                <\/div>\n<div class=\"comment-content\">Meet Bono, your voice AI content strategist. Talk for 10 minutes, and Bono turns the conversation into a blog post, LinkedIn\/X content, a newsletter, and more, all in your voice. No blank page, no prompts, no ghostwriters, no agencies.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, I&#8217;m Zee, founder of Bono.<\/p>\n<\/p>\n<p>We&#8217;re here because of a pivot from a website builder for professionals. Sites went live, but users kept ignoring the features and scrolling straight to the AI-written blog post generated from their LinkedIn, then telling me &#8220;this doesn&#8217;t sound like me.&#8221; I heard it dozens of times. The problem was never the website. It was the voice behind it.<\/p>\n<\/p>\n<p>These were consultants, fractional execs, founders, brilliant in a room, but frozen at a blank page. Writing was never the point. Ideas were. So we built Bono around one idea: talk instead of write. You talk for 10 minutes about what&#8217;s on your mind. Bono turns it into LinkedIn\/X posts, blog content, newsletters, in your voice, your thinking, and you approve before anything publishes. It learns you over time, so it gets sharper the more you use it.<\/p>\n<\/p>\n<p>If you&#8217;ve been meaning to build your personal brand or thought leadership, and turn your expertise into inbound, this is built for you. For the PH community, we&#8217;re offering 50% off Bono Pro, code PH50BONO, expires July 14.<\/p>\n<\/p>\n<p>Talk for 10 minutes. See what comes out: <a href=\"http:\/\/heybono.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">heybono.ai<\/a><\/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\/@zeeshanrasool_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeeshanrasool_<\/a>&nbsp;already sharing the app, some of my friends was already asking for this exact use case, amazing work<\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zeeshanrasool_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeeshanrasool_<\/a>&nbsp;Talk once, publish everywhere sounds simple but the execution matters. Are you handling platform-specific formatting or just distributing as-is?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I love products that change the workflow instead of just adding more AI on top of it. Talking is how most founders think, so turning conversations into authentic content makes a lot of sense. Curious to see how well it preserves someone&#8217;s unique voice after a few sessions. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Appreciate that &#8211; that&#8217;s exactly the distinction we&#8217;re chasing. Most AI tools speed up writing; we&#8217;re replacing the blank page with a conversation.<\/p>\n<p>Voice preservation compounds: solid but generic-ish early on, noticeably more &#8220;you&#8221; after a few sessions as it picks up your phrasing and how you structure an argument.<\/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;in your voice&#8221; part is the whole thing. Most AI writing tools flatten everyone into the same LinkedIn-guru cadence \u2014 talking instead of typing is the only way I&#8217;ve found to keep the actual person in the output. I build voice agents and see it constantly: people are far more themselves out loud than in a blank text box. Honest question: how do you handle the rambling? A 10-min talk is 80% throat-clearing \u2014 is Bono pulling the real signal or just transcribing it prettier? That&#8217;s the hard part. Congrats on the launch \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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>It&#8217;s not transcribe-then-polish. The interview asks follow-ups to surface the actual point, then extraction separates core claims and examples from the filler and tangents. Throat-clearing gets left behind \u2014 though sometimes it grabs a tangent that wasn&#8217;t meant to be the headline.<\/p>\n<p>Not perfect, but closer to &#8220;editor in the room&#8221; than &#8220;prettier transcript.&#8221; You&#8217;d probably spot where it breaks fast, would love your eyes on it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<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;Hi David! Bono&#8217;s PM here. Thank you for the comment!<\/p>\n<p>I&#8217;m a heavy rambler myself. On a recent call I jumped between angles, backtracked, lost my thread a few times. Bono kept the angles I actually wanted and dropped the noise, structured into an article. That&#8217;s the part that convinced me it&#8217;s parsing signal, not just cleaning up the transcript.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! The pivot story is a great one, going from a website builder to realizing the actual bottleneck was voice, not features, feels like a genuinely earned insight rather than a repositioning exercise.<\/p>\n<\/p>\n<p>Really like that you&#8217;re tracking the human-vs-AI score per post instead of just claiming &#8220;sounds like you.&#8221; The jump from ~65% to 80%+ by the third call is a much more convincing signal than most voice-to-content tools give.<\/p>\n<\/p>\n<p>For someone with a pretty flat\/neutral speaking voice on calls (not much natural inflection or personality when talking out loud), does Bono still manage to find a distinct written voice, or does it need some expressiveness in the source conversation to have something to latch onto?<\/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>Appreciate this, genuinely thoughtful read on the pivot and the scoring.<\/p>\n<\/p>\n<p>To your question: distinct voice isn&#8217;t really pulled from vocal energy, it&#8217;s pulled from word choice, the phrases you reach for, how you structure an explanation, what you emphasize first versus what you circle back to. A flat delivery can still carry a very specific way of thinking. If anything, some of our most distinct-sounding outputs come from calm, matter-of-fact speakers because the substance does the work instead of the tone.<\/p>\n<\/p>\n<p>Where it can struggle a bit more is if someone gives very short, clipped answers with little elaboration, since there&#8217;s less material to learn from. But flat and thorough works fine.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 <a href=\"https:\/\/www.producthunt.com\/@zeeshanrasool_\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zeeshanrasool_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeeshanrasool_<\/a> Listening to users ignoring features and focusing on the voice problem is a masterclass in product discovery, qq for X\/Twitter content does it format the output into clean structured threads automatically or just single standalone posts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks! Yes, it auto-formats into threads, not just standalone posts. There&#8217;s also carousel and video generation for X and LinkedIn in early beta, if you want more visual formats to test.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Full disclosure, I&#8217;m one of the people building Bono. But I&#8217;m writing this as someone who now uses it every day and honestly can&#8217;t go back.<\/p>\n<\/p>\n<p>I&#8217;m running a 16 part series about AI ready websites. The old routine was brutal. Write the piece, format it, schedule it, then repost the same thing across every channel by hand. Now I just talk. I record a quick thought or jump on a voice call, and it comes back as a clean draft that sounds like me, not like some generic AI. Then it pushes everything to my site, newsletter and socials from one place.<\/p>\n<\/p>\n<p>Here&#8217;s one I published straight from it, so you can see the output and the branded page for yourself: <a href=\"https:\/\/moonion.heybono.ai\/post\/why-your-website-needs-to-be-ai-ready-what-we-learned-rebuilding-moonion-from-the-ground-up-IsgK6HHDYP\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/moonion.heybono.ai\/post\/why-your-website-needs-to-be-ai-ready-what-we-learned-rebuilding-moonion-from-the-ground-up-IsgK6HHDYP<\/a><\/p>\n<\/p>\n<p>Two things still surprise me even though I know how it works inside. How fast it learns my voice, and the branded page with my own domain and analytics that respects privacy, no cookie banners, no creepy trackers. &#8220;Talk once, publish everywhere&#8221; turned out to be exactly how my week actually runs now.<\/p>\n<p>If any of this sounds like your kind of workflow, come try it and see for yourself: <a href=\"https:\/\/heybono.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/heybono.ai<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;talk once&#8221; part is interesting but the hard problem isn&#8217;t capturing what you say, it&#8217;s that a LinkedIn post, a newsletter section, and a tweet are genuinely different formats with different tolerances for nuance, length, and tone. Curious whether Bono is doing real format-specific rewriting or whether you&#8217;re getting one transcript chunked and lightly restyled. Also wondering how it handles the editing pass, since most voice-to-content tools produce a solid first draft that still needs 10 minutes of cleanup before it&#8217;s actually publishable.<\/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>On format-specific rewriting: it&#8217;s not one transcript chunked and restyled. Each channel gets its own generation pass built around what that format actually needs, a LinkedIn post, a newsletter section, and a tweet aren&#8217;t different lengths of the same draft, they&#8217;re built with different structure and tone from the start. You can also configure and train your own style upfront, and it keeps sharpening from there based on what you edit, publish as-is, or adjust per channel over time.<\/p>\n<p>On the editing pass: most users make light edits early on, a line or two, not a rewrite. By the third conversation and post, most users aren&#8217;t editing at all before publishing. That&#8217;s the part of the &#8220;talk once&#8221; claim we actually care about proving out, not just that it drafts fast, but that it gets out of your way over time.<\/p>\n<p>Everything still routes through a review step before it publishes, so nothing goes live without you seeing it first.<\/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>&#8220;Blog post, LinkedIn, X content, newsletter&#8221; from one 10-minute conversation implies Bono is making format and length decisions for each channel without much input. What actually determines how the same raw conversation gets shaped differently for a 2000-word blog versus a 280-character tweet versus a newsletter intro? Is that configurable or is it making those calls autonomously, and how often does the output for one channel feel like it was just copy-pasted from another?<\/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>Good question, and worth being precise about.<\/p>\n<p>The first post for each channel is generated from a blend of format best practices (what actually works on a 2000-word blog vs. a 280-character X post vs. a newsletter intro) and the direction you gave in the conversation. Each channel gets its own pass built around what that format needs, not one draft resized three ways.<\/p>\n<p>You can also configure and train your own style from the start, so if you already know how you want to sound, you&#8217;re not waiting on the system to learn it. From there it keeps sharpening: as you share more, and as we see what you edit, publish as-is, or adjust, Bono learns your preferred style per channel over time. Think of it like a ghostwriter who you can brief upfront, and who keeps getting better the longer they work with you.<\/p>\n<p>Fair question to ask, and one we&#8217;re actively refining.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch \ud83d\ude42 Talking an idea through and getting a first draft back would help a lot, because the blank page is where a lot of my writing stalls, so this is a problem worth solving. One thing I&#8217;m curious about: my own writing voice is fairly reserved, and I&#8217;d want a draft to match that rather than add polish. How much does the Brand Builder let you shape what to hold back, not just what to include?&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you, and appreciate you naming that specifically, &#8220;reserved&#8221; is a real style, not just an absence of polish, and it&#8217;s a useful distinction.<\/p>\n<p>Brand Builder lets you configure that directly, so you can flag things like tone, sentence length, how much enthusiasm or hype language to keep versus cut, not just what topics or content to include. So restraint itself is something you can set from the start, not something you have to hope the AI infers.<\/p>\n<p>It also gets better at this over calls. If you&#8217;re consistently trimming things back or holding a certain tone, it learns to start there rather than you correcting it every time.<\/p>\n<p>Good prompt either way, &#8220;reserved&#8221; is exactly the kind of voice trait that&#8217;s easy to get generically wrong, so it&#8217;s worth being precise about how much control you actually have over it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is very relatable.<\/p>\n<\/p>\n<p>A lot of people have good ideas when they&#8217;re talking, but the moment they need to turn it into a post, newsletter, or blog, everything suddenly becomes stiff or generic. the &#8220;this doesn\u2019t sound like me&#8221; problem is probably one of the biggest issues with AI-written content.<\/p>\n<p>The talk instead of write approach makes a lot of sense. I also think it&#8217;s a better input format, because voice usually contains the actual thinking, personality, and little opinions that get lost in a prompt. As a founder doing launch prep and content right now, I can definitely see the value in turning a 10-minute thought dump into usable posts without starting from a blank page \ud83d\ude42<\/p>\n<\/p>\n<p>Curious how Bono learns someone&#8217;s voice over time. does it mostly adapt from approved edits, or can users directly tell it what feels wrong and what sounds more like them?<\/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>Really appreciate this, Andras &#8211; &#8220;this doesn&#8217;t sound like me&#8221; is exactly the problem we set out to fix.<\/p>\n<p>Both, actually. Bono picks up on your cadence and phrasing over time just from talking with you, and you can also tell it directly when something&#8217;s off, &#8220;too formal,&#8221; &#8220;wouldn&#8217;t say it that way,&#8221; whatever it is. The direct feedback moves faster. The passive learning is what makes it stick.<\/p>\n<p>Here&#8217;s a snapshot of what that learning looks like after a few calls. It only gets better with more conversations.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c8887ee2-4e2b-47b2-b049-83b8e2c0ebb2.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>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey guys, how do you make sure you don&#8217;t get me locked out of my linkedin given the strict linkedin rules? How do you connect to my account, etc? Don&#8217;t want to get banned from there because an Agent posts for me \ud83d\ude05<\/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>Great question, and a fair one to ask before connecting anything \ud83d\ude42<\/p>\n<p>It works through a one-time LinkedIn authorization, not scraping or third-party workarounds, so it&#8217;s using your own authenticated access, the same kind of connection LinkedIn&#8217;s official integrations use.<\/p>\n<p>And to be clear on the &#8220;agent posting for me&#8221; part: nothing publishes autonomously. You&#8217;re the one who reviews the draft and chooses to post it, Bono isn&#8217;t an agent going off and posting on your behalf without you asking. Think of it less like an autonomous poster and more like a small scheduler built into Bono, it drafts, you approve, it publish, same as you&#8217;d do manually, just without the copy-paste step.<\/p>\n<p>And the content itself is yours either way, it came from your conversation, so there&#8217;s nothing here that should read as automated or inauthentic to LinkedIn or to your audience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;doesn&#8217;t sound like me&#8221; framing really resonates. That&#8217;s the actual failure mode of most AI writing tools, not grammar. Question on the progressive voice learning: roughly how many recorded conversations does it take before the per-channel voice stabilizes enough that you&#8217;re not editing much? And does it ever need &#8220;retraining&#8221; if someone&#8217;s writing voice shifts over time (new job, new audience)?<\/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>Most people see it stabilize by the 3rd conversation, editing drops off noticeably after that. And yes, it keeps adapting rather than needing a hard reset, so a new job or new audience just gets picked up in later conversations rather than requiring a retrain.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!<\/p>\n<p>I like the &#8220;talk instead of write&#8221; ideas, feel much easier than staring at a blank page<\/p>\n<p>Curios how fast Bono can really learn someone&#8217;s personal voice after a few talks?<\/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>Most people see it stabilize by the 3rd conversation, with editing dropping off noticeably after that. It keeps refining after that too, but that&#8217;s usually the point where output starts sounding distinctly like them rather than a generic draft<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats Zee! This one is personal for me. I do almost everything by voice-to-text, and my raw transcripts are a mess, half-finished sentences, corrections mid-thought, \u201cwait, scratch that.\u201d Does Bono handle that kind of rambling input well, or does it work best when you deliver a coherent 10 minutes? Because if it can turn my actual messy thinking out loud into clean posts, I\u2019m sold.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks! Yes, messy is fine, it&#8217;s actually the normal case. Mid-thought corrections and &#8220;wait, scratch that&#8221; get filtered out during extraction, since it&#8217;s pulling the core claims and framing, not transcribing verbatim. You don&#8217;t need to deliver something coherent, that&#8217;s the whole point of talking instead of writing<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 WhatsApp input is interesting , most founders think out loud on voice notes anyway so meeting them there makes sense. Curious whether Bono can take a rough 2 minute voice note sent on WhatsApp and turn that into a full LinkedIn post or does it need the full 10 minute structured conversation to work properly?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Yes, it&#8217;ll work with a rough 2-minute WhatsApp note. It&#8217;s just not the ideal input, since a 2-way interview draws out follow-ups and context that a quick one-way note can&#8217;t. That back-and-forth is what we actually built Bono around, so the guided conversation is where the best output comes from<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Talked through a rough idea for ten minutes and it actually pulled out a structure for a LinkedIn post that sounded like me, not like a template. Impressed that it didn&#8217;t try to fluff it up with generic intros.<\/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>Love this &#8211; this is exactly what we&#8217;re optimizing for \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>This looks incredibly helpful for creators trying to escape the endless loop of platform-specific formatting by letting them articulate their best ideas verbally first. How well does the AI preserve a creator&#8217;s unique voice when translating a casual spoken style into a more structured newsletter format?<\/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>That structural jump is exactly where voice tends to get lost in most tools.<\/p>\n<p>It holds onto vocabulary, phrasing patterns, and how someone builds an argument, not just tone. So a newsletter section reads more structured and complete than a casual voice note, but it still uses the words and framing the person actually reaches for rather than defaulting to generic newsletter-speak. The goal is depth and structure without sanding down what made it sound like them in the first place.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 really like the pivot story\u2014it makes sense why you focused on voice instead of another AI writer. I&#8217;m curious though: how do you know when the generated content actually sounds like the user versus just sounding like a polished AI version of them? Was that something you had to iterate on a lot?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks, glad the pivot story landed. And yes, that gap between &#8220;sounds like AI-polished you&#8221; and &#8220;sounds like you&#8221; was the thing we iterated on most<\/p>\n<p>Early on the outputs were correct but flat, well-written in a way that erased whatever made someone&#8217;s writing theirs. What actually moved it was training on their specific vocabulary, the phrases they naturally reach for, how they structure an explanation, what they emphasize first versus what they circle back to. We also run a human-vs-AI detection score on outputs, and users usually see it climb from around 65% to 80%+ by their third conversation as the profile gets more of their actual patterns to work with<\/p>\n<p>The real test was blind: showing someone their own generated post next to something they&#8217;d actually write and seeing if they could tell. That&#8217;s still the bar we hold every change to.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the blank page problem is real but the harder problem is voice consistency across formats. a linkedin post and a newsletter have completely different tones and structures even when the underlying idea is the same. does bono adapt the format per platform or does it mostly repurpose the same content with light reformatting? that distinction is usually what separates tools people actually keep using from ones that feel like a shortcut the first time and generic after that.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Good distinction, and it&#8217;s format-adapted, not reformatted. Same underlying idea, but a LinkedIn post is shaped to open with the actual insight instead of a manufactured hook, a newsletter section is written for someone who already opted in and can go deeper, and a blog post gets the full argument with room to build. The goal is never to bait a click, it&#8217;s to earn the read because the thinking underneath is real.<\/p>\n<p>That&#8217;s also the thing we watch most closely, since &#8220;shortcut once, generic forever&#8221; is exactly the failure mode we&#8217;re trying to avoid.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Such a big friction solver, I always felt need for a medium , which could bring out content out my raw voice notes or raw conversations<\/p>\n<p>I see this as a big step in making content more authentic rather than being by passed by mediocre generic Ai sloppy stuff driven by sense of urgency &amp; lazy convenience<\/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>Exactly the gap we saw too, urgency and convenience pushed everyone toward the same generic AI cadence, when the actual unlock was just capturing what people already say out loud. Glad this resonates<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 it actually capture someone&#8217;s voice after just 10 minutes of talking, especially if they don&#8217;t have a very distinct writing style to begin with?<\/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>It really depends on how much you share. Some people get a solid, distinct-sounding post on the first call, others take a few calls to get there, especially if the style isn&#8217;t very defined yet. We actually track this: we run a human vs AI meter on each post, and on average, the first call&#8217;s post lands around 65% &#8220;human.&#8221; By the third call, that average climbs past 80%.<\/p>\n<p>So even without a distinct style going in, it&#8217;s not a one-shot thing, it compounds pretty fast. Worth trying a couple of calls before judging it off the first one.<\/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>Talked it through my ideas for a post on remote team culture and the draft it spit out actually sounded like me, not a corporate template. Weirdly impressed by how it picked up on the casual tone I used while speaking.<\/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>Really glad it landed like that, that casual tone coming through is exactly what we&#8217;re going for. Thanks for sharing!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is great. I was just talking with my partner about how awesome it would be to have a service that simply listens while you think out loud on a call, then turns those raw ideas into a structured summary with follow ups and concepts worth developing further. Not in the sense of venting to a friend, but as a professional thought partner that helps refine and expand your thinking for blogs\/posts. <\/p>\n<p>Congratulations on the launch!\ud83d\udc4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you, and that&#8217;s a great way to describe what we&#8217;re going for. Bono isn&#8217;t there to nod along, it&#8217;s there to push back a little, ask the follow-up you didn&#8217;t think to ask yourself, and help you find the sharper version of the idea you started with.<\/p>\n<p>That&#8217;s really the whole bet: most people already have the raw material, they just need a thought partner to help pull the structure out of 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>Hello <a href=\"https:\/\/www.producthunt.com\/@zeeshanrasool_\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zeeshanrasool_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeeshanrasool_<\/a> <a href=\"https:\/\/www.producthunt.com\/@jiayi_chloe_lu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jiayi_chloe_lu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jiayi_chloe_lu<\/a> <a href=\"https:\/\/www.producthunt.com\/@alex_11x_ventures\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"alex_11x_ventures\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_11x_ventures<\/a> I&#8217;m pre-launch on a mobile app with almost nothing published yet. Your note says Bono learns me over time, but I&#8217;m curious what actually moves that training when I&#8217;m starting from zero. Do my approved edits count more than the raw voice calls once I start publishing? Very interesting idea and congrats on the launch! I upvoted you.<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey, appreciate the upvote and the thoughtful question.<\/p>\n<p>Starting from zero, the voice conversations are the primary signal. That&#8217;s where Bono picks up your vocabulary, how you structure an argument, the phrases you actually use versus the generic version. Edits matter too, they help sharpen tone and catch anything that doesn&#8217;t sound right, but early on the conversations are doing most of the work. The more you talk, the faster the gap between &#8220;close enough&#8221; and &#8220;sounds exactly like me&#8221; closes.<\/p>\n<p>Pre-launch is actually a good time to start. You can have a few conversations before you publish. You can build your voice profile now, before you have anything to publish, so it&#8217;s ready when you are.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Really relatable problem. One question: if someone already uses ChatGPT Voice or Gemini Live to brainstorm and then asks it to write a post, what makes Bono a better workflow?<\/div>\n<div class=\"comment-actions\">\n<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>The gap is memory and format, not the initial draft. ChatGPT \/ Claude voice gives you one good conversation and one output, then you&#8217;re back to a blank state next time, reformatting it yourself for each platform, and starting from scratch on tone consistency.<\/p>\n<p>Bono holds context across every conversation, so it knows what you&#8217;ve already said, how you actually talk, and what you haven&#8217;t covered yet. One conversation also becomes multiple platform-adapted assets at once, LinkedIn, X, newsletter, blog, instead of one generic draft you then have to reshape channel by channel yourself.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>&#8220;This doesn&#8217;t sound like me&#8221; is exactly why I still write my own marketing content despite the time cost. The human-vs-AI meter climbing from 65% to 80%+ by call three is a compelling metric \u2014 is that measured by your own classifier, or third-party detectors?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Own classifier, trained specifically to catch the &#8220;sounds like generic AI&#8221; pattern rather than a general AI-detection tool. Third-party detectors are built to flag AI text in general, not to measure whether something sounds like <em>your<\/em> voice specifically, which is the actual thing we&#8217;re optimizing for<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Your product sounds great! But what makes me curious is why so many products avoid showing real use cases. For example &#8211; you as a founder talking to Bono about how you created it, and how Bono turns it into a blog post, LinkedIn content, a newsletter. So users can see the starting point (the original voice message) and how it transforms into specific formats. I have a feeling that real use cases build more trust than any description.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Fair challenge, and honestly agree. Description only goes so far, seeing the actual before\/after is what makes it click.<\/p>\n<p>We do have that example live, the reply above links a post published straight from Bono, so you can see the output and the branded page. Here&#8217;s also a quick demo showing the actual process in action: <a href=\"https:\/\/www.youtube.com\/watch?v=R-eeZaCBHYo&amp;t=1s\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=R-eeZaCBHYo&amp;t=1s<\/a><\/p>\n<p>Adding the raw voice-to-final-post journey (not just the end result) as a proper case study is a good call though, that&#8217;s a gap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Zee! It&#8217;s amazing how you&#8217;re simplifying publishing. Wish you all the best!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you! Appreciate it \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been doing exactly this by hand all week for my own launch prep. Same story on X, Threads, LinkedIn, and the annoying part wasn&#8217;t reformatting, it was that each place needs a different voice. LinkedIn wants context, X wants the sharp version. Curious how you handle that: does it actually adapt tone per channel or mostly restructure the same text?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>It adapts, not restructures. LinkedIn output leans into context and the fuller argument, X gets the sharp, compressed version of the same idea, not just a trimmed copy-paste. Same source conversation, but each platform gets written like it was drafted for that audience specifically.<\/p>\n<p>Sounds like you&#8217;ve felt the exact pain point we built this to kill &#8211; would love for you to try<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;talk once, publish everywhere&#8221; concept is perfect for creators trying to stay consistent across multiple platforms without burning out on manual editing. Super exciting to see you guys launch today! How well does the AI adapt the tone when shifting the same input between a casual social post and a professional newsletter?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>It adapts the actual structure, not just the tone. A social post is written for scroll and gets to the point fast, while a newsletter section keeps the same vocabulary and framing but has room to build context and depth for someone who already opted in. Same source conversation, but each one is written like it was drafted for that format specifically, not lightly reworded from the other<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/JYQNCESA4NWQSC\" class=\"app-title\">Link Preview API<\/a><\/p>\n<div class=\"one-liner\">Free API to get Open Graph data, title &#038; images for any URL<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">184<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Link Preview API \u662f\u4e00\u6b3e\u514d\u8d39\u4e14\u9ad8\u53ef\u7528\u7684\u94fe\u63a5\u9884\u89c8\u5de5\u5177\uff0c\u4e13\u4e3a\u5f00\u53d1\u8005\u5728\u5e94\u7528\u4e2d\u5feb\u901f\u83b7\u53d6\u4efb\u610fURL\u7684OG\u5143\u6570\u636e\u3001\u6807\u9898\u548c\u56fe\u7247\u800c\u8bbe\u8ba1\uff0c\u5f7b\u5e95\u89e3\u51b3\u4e86\u624b\u52a8\u5904\u7406\u7f51\u7ad9\u8fb9\u7f18\u6848\u4f8b\u3001\u53cd\u722c\u673a\u5236\u53caJavaScript\u6e32\u67d3\u7b49\u590d\u6742\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\/b1c21283-8eab-42db-9dd1-e4dc50424d68.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c35b2a27-60d5-40c5-a7e6-c3f460a820b7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d925d565-9e23-445a-ba14-b83686a49d1c.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\/32b4304b-7595-45a2-8f7a-8a1e76e34a12.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=bGRUTaWPq0g\"><source src=\"https:\/\/www.youtube.com\/watch?v=bGRUTaWPq0g\" 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\">Data<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u94fe\u63a5\u9884\u89c8<\/span><br \/>\n            <span class=\"tag\">\u5f00\u653e\u56fe\u8c31<\/span><br \/>\n            <span class=\"tag\">API\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6293\u53d6<\/span><br \/>\n            <span class=\"tag\">\u56fe\u7247\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u8f6e\u6362<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u5143\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39API<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u89e3\u51b3\u4e86\u94fe\u63a5\u9884\u89c8\u7684\u8fb9\u7f18\u6848\u4f8b\u96be\u9898\uff0c\u5e76\u8d5e\u8d4f20,000\u6b21\u514d\u8d39\u989d\u5ea6\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u514d\u8d39\u6a21\u5f0f\u7684\u5546\u4e1a\u53ef\u6301\u7eed\u6027\uff08\u662f\u5426\u9760Exabase\u8865\u8d34\uff09\u3001\u5ba2\u6237\u7aef\u8c03\u7528\u7684\u6ee5\u7528\u9632\u62a4\u673a\u5236\u3001\u7f13\u5b58\u5237\u65b0\u7b56\u7565\uff08\u80fd\u5426\u5f3a\u5236\u5237\u65b0\uff09\u3001\u4ee5\u53ca\u56fe\u7247\u94fe\u63a5\u8fc7\u671f\u662f\u5426\u4f1a\u88ab\u91cd\u65b0\u6258\u7ba1\u3002\u6709\u7528\u6237\u5efa\u8bae\u8865\u5145\u81ea\u5b9a\u4e49\u7f13\u5b58\u63a7\u5236\u3001Node\/Python SDK\uff08\u5df2\u63d0\u4f9bTypeScript SDK\uff09\u548c\u8bed\u97f3\u89e3\u8bf4\u6f14\u793a\u89c6\u9891\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                Link Preview API \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u4f2a\u88c5\u6210\u514d\u8d39\u5de5\u5177\u7684\u6218\u7565\u6027\u5165\u53e3\u201d\u3002\u521b\u59cb\u4eba\u5766\u8a00\u5176\u80fd\u529b\u5df2\u5728\u81ea\u6709\u5e94\u7528Fabric\u4e2d\u5927\u89c4\u6a21\u8fd0\u8425\uff0c\u6210\u672c\u6781\u4f4e\u2014\u2014\u8fd9\u610f\u5473\u7740\u5b83\u6839\u672c\u4e0d\u662f\u72ec\u7acb\u4ea7\u54c1\uff0c\u800c\u662fExabase\u751f\u6001\u7684\u201c\u8bf1\u9975\u201d\uff0c\u7528\u9ad8\u9891\u3001\u4f4e\u6210\u672c\u7684\u94fe\u63a5\u9884\u89c8\u9700\u6c42\u5438\u5f15\u5f00\u53d1\u8005\uff0c\u518d\u5bfc\u5411\u66f4\u503c\u94b1\u7684\u9875\u9762\u63d0\u53d6\u3001\u6587\u6863\u89e3\u6790\u548c\u6df1\u5ea6\u641c\u7d22\u3002\u8fd9\u79cd\u6253\u6cd5\u76f8\u5f53\u806a\u660e\uff1a20,000\u6b21\u7684\u6177\u6168\u514d\u8d39\u989d\u5ea6\u5b8c\u7f8e\u7ed5\u5f00\u4e86\u5f00\u53d1\u8005\u7684\u8bd5\u7528\u963b\u529b\uff0c\u800c\u4e13\u7528\u5904\u7406YouTube\u3001Amazon\u7b49\u96be\u7f20\u7f51\u7ad9\u7684\u5b9a\u5236\u9002\u914d\u5668\uff0c\u624d\u662f\u771f\u6b63\u6784\u7b51\u6280\u672f\u58c1\u5792\u7684\u62a4\u57ce\u6cb3\u2014\u2014\u901a\u7528OG\u722c\u866b\u5728\u8fd9\u4e9b\u5de8\u5934\u9762\u524d\u4e0d\u582a\u4e00\u51fb\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u5e76\u975e\u6beb\u65e0\u9690\u60a3\u3002\u4f9d\u8d56Exabase\u7684\u8f93\u8840\u6a21\u5f0f\u51b3\u5b9a\u4e86\uff0c\u4e00\u65e6\u94fe\u63a5\u9884\u89c8\u7528\u6237\u8fdc\u8d85\u5e73\u53f0\u5176\u4ed6\u670d\u52a1\u7684\u8f6c\u5316\u7387\uff0c\u5176\u53ef\u9760\u6027\u5c31\u5c06\u9762\u4e34\u5546\u4e1a\u903b\u8f91\u7684\u8003\u9a8c\uff1a\u662f\u4f1a\u7ee7\u7eed\u6177\u6168\uff0c\u8fd8\u662f\u88ab\u8feb\u6536\u7f29\uff1f\u66f4\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0c\u6d4f\u89c8\u5668\u7aef\u76f4\u8fde\u867d\u7136\u4fbf\u6377\uff0c\u5374\u8ba9API\u8c03\u7528\u66b4\u9732\u4e86\u5bf9\u6076\u610f\u653b\u51fb\u7684\u8106\u5f31\u6027\u2014\u2014\u5c3d\u7ba1\u521b\u59cb\u4eba\u56de\u5e94\u4e86\u76f8\u5173\u7591\u95ee\uff0c\u4f46\u4e8b\u5b9e\u4e0a\u201c\u8d8595%\u6210\u529f\u7387\u201d\u7684\u7edf\u8ba1\u53e3\u5f84\u672c\u8eab\u5c31\u7559\u6709\u4f59\u5730\uff0c\u90a3\u5269\u4e0b\u76845%\u5931\u8d25\u573a\u666f\u5bf9\u8ffd\u6c42\u6781\u81f4\u7684\u793e\u4ea4\u5e94\u7528\u800c\u8a00\u53ef\u80fd\u6b63\u662f\u81f4\u547d\u4f24\u3002\u6700\u540e\uff0c\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u201c\u7f13\u5b58\u5237\u65b0\u201d\u548c\u201c\u56fe\u7247\u8fc7\u671f\u201d\u95ee\u9898\uff0c\u53cd\u6620\u4e86\u5f00\u53d1\u8005\u5bf9\u6570\u636e\u65b0\u9c9c\u5ea6\u7684\u521a\u6027\u9700\u6c42\uff0c\u82e5\u4e0d\u4f5c\u957f\u671f\u6295\u5165\uff0c\u8fd9\u7ec8\u5c06\u6210\u4e3a\u4ece\u5c1d\u9c9c\u5230\u5f03\u7528\u7684\u8f6c\u6298\u70b9\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u5f00\u53d1\u5de5\u5177\u9886\u57df\u4e00\u573a\u6210\u529f\u7684\u201c\u9632\u5b88\u578b\u8fdb\u653b\u201d\u2014\u2014\u8bda\u610f\u5341\u8db3\uff0c\u4f46\u522b\u6307\u671b\u5b83\u6c38\u4e0d\u51fa\u754c\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\">Link Preview API<\/span>\n                <\/div>\n<div class=\"comment-content\">Completely free. Get back everything you need to render a rich link card in your app \u2013 the kind you see in Slack, iMessage, or Twitter when someone pastes a link. Dedicated handling for popular websites like YouTube, Amazon, Twitter, Airbnb, SoundCloud, NYT, Vimeo, Giphy, and more. These return reliable, high-quality previews every time. Built in image validation, and JavaScript rendering. Works directly from the browser, no proxy server required. Free usage up to 20,000 link previews.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m Johnny, founder of the team behind the Link Preview API.<\/p>\n<p>We built this because for such a simple thing, it&#8217;s extremely tedious and painful to cover all of the weird edge cases on the internet, and it shouldn&#8217;t be something you need to pay for when starting out.<\/p>\n<p>So we decided to make something radically simple&#8230; and <strong>completely free<\/strong>, up to 20,000+ requests per month.<\/p>\n<p>Just send a GET request with any URL and get back everything you need. Get structured JSON with the title, description, og:image, favicon, image dimensions, and site name. <\/p>\n<p>We handle all of the headache-inducing proxy-rotation, JavaScript rendering and more, including purpose-built integrations for YouTube, Amazon, Twitter, and a fair few other sites that need special treatment.<\/p>\n<p>Link Preview is part of the broader Exabase platform, so the same API key also gets you full page extraction, document parsing, and deep search if you ever need to go further. But it works perfectly well on its own.<\/p>\n<p>Thanks for taking a look \u2013 I&#8217;ll be here all day to answer your comments!<\/p>\n<p>Johnny<\/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\/@johnny_makes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johnny_makes<\/a>&nbsp;congrats on the launch johnny! the &#8220;completely free up to 20k requests&#8221; is a smart move for getting devs to actually try it without friction. curious how you&#8217;re handling the sites that actively block scrapers, does the proxy rotation cover most of those?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">How to Start a Successful Job Search \ud83d\udc47<br \/>\n<a href=\"https:\/\/vly.to\/6vZSgH\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/vly.to\/6vZSgH<\/a><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@johnny_makes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johnny_makes<\/a>&nbsp;Awesome<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the concept. Pulling this data is, in theory, simple enough. Until you hit an edge case and get blocked&#8230; or get junk content returned for no apparent reason. Can certainly think of places where this will be useful. Congrats on a strong product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@martin_tanner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@martin_tanner<\/a>! Was really born out of necessity (we couldn&#8217;t find anything reliable), and the internet is absolutely filled with wild variations and weird edge cases&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>genuinely useful and the 20k free requests is generous, but I&#8217;m curious about the business model rather than the technical side. proxy rotation and JS rendering at scale isn&#8217;t cheap, so is this free tier subsidized by Exabase&#8217;s paid platform, or is link preview itself expected to be a loss-leader that gets people into the rest of the product? just wondering what happens to reliability if this specific tool gets way more traction than the rest of the platform<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;That&#8217;s a good and thoughtful question \u2013 we already operate this capability at scale for our other app (<a href=\"https:\/\/fabric.so\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Fabric<\/a>), so for the most part it costs us very little to provide this, and we do intend for this to be an entry point for people discover the other adjacent capabilities within the Exabase platform (deeper extraction etc.)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A reliable, free API to instantly pull Open Graph data and clean preview images is exactly the kind of utility tool developers love to keep in their back pocket. Big congrats on the launch! Are there any specific rate limits on the free tier that we should watch out for?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>! It&#8217;s free for 20,000 link previews per month \u2013 beyond that, it&#8217;s just a nominal charge of 0.01 credits to avoid spam.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is really helpful, used Apple Mail Link Preview as a quick fix until now. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@christian_sailer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christian_sailer<\/a>&nbsp;Glad you&#8217;ll find it useful! We&#8217;ve really battle-tested this one, so it&#8217;s a reliable long-term solution<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 directly from the browser, no proxy server required&#8221; part caught my eye. If the key is callable client-side, how are you handling abuse? Per-origin rate limits, domain allowlists on the key, something else? Asking because that&#8217;s usually the exact reason these APIs force you through a backend.<\/p>\n<\/p>\n<p>And the edge-case pain is real. OG scraping looks like an afternoon project right up until you meet sites that render every meta tag client-side, or lie in them. Purpose-built handlers for the big offenders is the honest solution even if it&#8217;s the unglamorous one.<\/p>\n<\/p>\n<p>Generous free tier. Congrats on the launch, Johnny.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tsouth2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tsouth2<\/a>&nbsp;Thanks Tyler, and great feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>me getting twenty thousand free previews makes this easy to test in real projects. will you add custom cache controls? that could help developers refresh updated page content faster.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@advin_jadis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@advin_jadis<\/a>&nbsp;That&#8217;s great feedback, I&#8217;ve made a note to add it to the near-term roadmap<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Being able to call it straight from the browser is great, but some of us will want server-side requests too. Adding a small Node.js or Python SDK would make it way easier to batch-prefetch previews when saving bookmarks or generating OG images.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@okandg58\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@okandg58<\/a>&nbsp;Totally agree \u2013 we actually do have a TypeScript SDK: <a href=\"https:\/\/exabase.io\/docs\/sdks\/overview\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/exabase.io\/docs\/sdks\/overview<\/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>Johnny you&#8217;re doing great here!<\/p>\n<\/p>\n<p>Saw the demo video quite minimal and engaging and also u were smart that you kept it under 30 sec cause more than that no one&#8217;s watches it but one feedback for u is you should add a voice over using ai or something it would have made this to studio quality!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@divvsaxena\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@divvsaxena<\/a>&nbsp;Appreciate that feedback! Noted for the future \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>This is one of those \u201csimple until you actually build it\u201d problems. We\u2019ve had to think about link previews, favicons, og images, and weird URL edge cases while building our product, and it gets messy very quickly. every site seems to have its own little way of breaking the \u201cjust fetch the metadata\u201d idea \ud83d\ude42<\/p>\n<\/p>\n<p>The dedicated handling for sites like YouTube, Amazon, Twitter\/X, Airbnb, etc. is probably the real value here. reliable previews matter a lot when the link card is part of the product experience, not just a nice extra. Also, 20,000 free previews is pretty generous for builders starting out. Curious how you handle websites that block scraping or return different metadata depending on JS\/user-agent\/location. does the API normalize that automatically, or do developers still need fallback logic?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Absolutely, this is our battle-tested API that powers our own apps, so it was important to us that it handles all cases elegantly and avoids users seeing any failed fetch scenarios. We have built-in quality control measures that ensure that preview writes are always of sufficient quality, and we have a &gt;95% success rate across the web.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Link previews always sit on that critical path between input and UI, so even small delays get noticeable fast.<br \/>How do you think about latency vs. completeness here?<br \/>Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The dedicated handling for Amazon, YouTube and friends is the part that actually earns the free tier, since generic OG scraping falls apart on exactly those. One thing I hit building preview cards: the og:image for a lot of big sites is a signed CDN link that expires, so a card you cached looks fine today and 403s the image tomorrow. Do you rehost or proxy the image so the preview stays stable, or hand back the origin URL as-is? That changes a lot for anyone caching results.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 solves a surprisingly annoying problem. Congrats on the launch!<\/p>\n<p>How reliable is it when sites change their metadata or introduce new anti-bot measures? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>! We built it specifically to handle all these kinds of painful cases, and it has built in proxy rotation and a 95%+ success rate<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Having just spent time on the other side of this (getting OG tags, sitemaps and canonicals right for my own SaaS), I appreciate how much invisible work goes into making previews &#8220;just work.&#8221; The per-site handlers for YouTube\/Amazon\/etc. sound like the honest solution. Question: how do you handle cache freshness? If a site updates its og:image, how quickly does the API reflect that \u2014 and can callers force a refresh?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kojimajunya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kojimajunya<\/a>, good question! We periodically recrawl and refresh the cache, but the idea of allowing a force-refresh option is great feedback, we&#8217;ll add that to our roadmap<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/5WFMXGTVZ2FQFQ\" class=\"app-title\">Cutrix<\/a><\/p>\n<div class=\"one-liner\">AI-powered video translation that preserves speaker&#8217;s voice<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">163<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Cutrix\u662f\u4e00\u6b3eAI\u89c6\u9891\u7ffb\u8bd1\u5de5\u5177\uff0c\u6838\u5fc3\u529f\u80fd\u662f\u4fdd\u7559\u539f\u8bf4\u8bdd\u8005\u7684\u58f0\u97f3\u3001\u60c5\u611f\u548c\u81ea\u7136\u8282\u594f\uff0c\u89e3\u51b3\u89c6\u9891\u5185\u5bb9\u5168\u7403\u5316\u4e2d\u201c\u673a\u5668\u4eba\u914d\u97f3\u201d\u7834\u574f\u521b\u4f5c\u8005\u539f\u59cb\u6c1b\u56f4\u548c\u97f3\u753b\u4e0d\u540c\u6b65\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\/ca24f6e0-c1d0-40e9-9304-9ab06913d603.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/170292d8-1b13-4c77-8bd3-68d80cbae09a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d7b6c47f-8109-4a6b-b28e-2912969dac98.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/158298c7-6b1d-4ea0-9e6c-aab0b8128623.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f433652-03f0-4e4b-a409-57e1f5247ebf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/12e8ec03-fe9e-4c0c-b9df-12dbfb9dd022.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\/724226a9-90ad-42f6-952c-a9ac636c86b2.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/p2fMaRwHDyo?feature=share\"><source src=\"https:\/\/youtube.com\/shorts\/p2fMaRwHDyo?feature=share\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u89c6\u9891\u7ffb\u8bd1<\/span><br \/>\n            <span class=\"tag\">\u58f0\u97f3\u514b\u9686<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u4fdd\u7559<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u914d\u97f3<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u67b6\u6784<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u672c\u5730\u5316<\/span><br \/>\n            <span class=\"tag\">\u97f3\u753b\u5bf9\u9f50<\/span><br \/>\n            <span class=\"tag\">\u957f\u89c6\u9891\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u8bd1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u79f0\u8d5e\u5176\u60c5\u611f\u4fdd\u7559\u548c\u81ea\u7136\u8282\u594f\uff0c\u5c24\u5176\u5bf9\u897f\u73ed\u7259\u8bed\u3001\u4e2d\u6587\uff08\u666e\u901a\u8bdd\uff09\u7b49\u8bed\u8a00\u7684\u6548\u679c\u6ee1\u610f\u3002\u6838\u5fc3\u95ee\u9898\u5305\u62ec\uff1a\u5bf9\u58f0\u8c03\u8bed\u8a00\u7684\u8bed\u4e49\u51b2\u7a81\u5904\u7406\u5b58\u5728\u8fb9\u7f18\u6848\u4f8b\uff1b\u7f3a\u5c11\u9ad8\u7ea7\u5b57\u5e55\u9009\u9879\u548c\u5507\u5f62\u540c\u6b65\u529f\u80fd\uff1b\u957f\u89c6\u9891\u5904\u7406\u8017\u65f6\u8f83\u957f\u3002\u6709\u7528\u6237\u5efa\u8bae\u4f18\u5316\u591a\u8bf4\u8bdd\u4eba\u573a\u666f\u548c\u4ee3\u7801\u5207\u6362\u7684\u51c6\u786e\u6027\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                Cutrix\u7684\u706b\u7206\u6295\u7968\u6570\u548c\u8bc4\u8bba\u533a\u7684\u9ad8\u8d28\u91cf\u8ba8\u8bba\uff0c\u63ed\u793a\u4e86\u89c6\u9891\u7ffb\u8bd1\u5e02\u573a\u4e00\u4e2a\u88ab\u5ffd\u89c6\u7684\u75db\u70b9\uff1a\u7528\u6237\u5bf9\u201c\u6709\u7075\u9b42\u7684\u914d\u97f3\u201d\u7684\u6e34\u671b\u8fdc\u8d85\u60f3\u8c61\u3002\u5f53\u5e02\u9762\u4e0a\u591a\u6570\u4ea7\u54c1\u8fd8\u5728\u6bd4\u62fc\u8bed\u79cd\u6570\u91cf\u548c\u7ffb\u8bd1\u51c6\u786e\u5ea6\u65f6\uff0cCutrix\u806a\u660e\u5730\u5207\u5165\u4e86\u201c\u60c5\u611f\u201d\u8fd9\u4e00\u9ad8\u4ef7\u503c\u4f46\u6781\u96be\u653b\u514b\u7684\u6280\u672f\u5207\u53e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6838\u5fc3\u7ade\u4e89\u529b\u5728\u4e8e\u201cAgentic workflow\u201d\uff0c\u5373\u591a\u667a\u80fd\u4f53\u67b6\u6784\u3002\u8fd9\u5e76\u975e\u7b80\u5355\u7684TTS\u5305\u88c5\uff0c\u800c\u662f\u901a\u8fc7\u5206\u6790\u97f3\u9891\u60c5\u611f\u3001\u6587\u672c\u8bed\u5883\u548c\u89c6\u9891\u753b\u9762\uff0c\u5728\u4fdd\u7559\u539f\u59cb\u8bed\u6c14\u7684\u540c\u65f6\uff0c\u52a8\u6001\u8c03\u6574\u8282\u594f\u548c\u8bed\u8c03\u3002\u4ece\u7528\u6237\u53cd\u9988\u770b\uff0c\u8fd9\u79cd\u201c\u60c5\u7eea\u6620\u5c04\u201d\u5728\u975e\u58f0\u8c03\u8bed\u8a00\uff08\u5982\u897f\u73ed\u7259\u8bed\u3001\u82f1\u8bed\uff09\u4e0a\u8868\u73b0\u60ca\u8273\uff0c\u89e3\u51b3\u4e86\u201c\u673a\u5668\u4eba\u611f\u201d\u7684\u987d\u75be\u3002\u9488\u5bf9\u4e2d\u6587\u7b49\u58f0\u8c03\u8bed\u8a00\u7684\u6279\u8bc4\uff0c\u521b\u59cb\u4eba\u7684\u56de\u5e94\u4e5f\u5c55\u73b0\u51fa\u5bf9\u6280\u672f\u6df1\u6c34\u533a\u7684\u6e05\u9192\u8ba4\u77e5\uff0c\u8fd9\u6bd4\u76f2\u76ee\u627f\u8bfa\u201c\u5168\u8bed\u8a00\u5b8c\u7f8e\u201d\u8981\u8bda\u6073\u5f97\u591a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u77ed\u677f\u540c\u6837\u660e\u663e\u3002\u4f5c\u4e3a\u521d\u521b\u4ea7\u54c1\uff0c\u5b83\u5728\u529f\u80fd\u5b8c\u5907\u6027\u4e0a\u4ecd\u4e0eHeyGen\u7b49\u7ade\u54c1\u6709\u5dee\u8ddd\uff0c\u7f3a\u5c11\u5507\u5f62\u540c\u6b65\u548c\u7075\u6d3b\u7684\u5b57\u5e55\u7f16\u8f91\u662f\u786c\u4f24\u3002\u7528\u6237\u5bf9\u201c\u957f\u89c6\u9891\u5904\u7406\u65f6\u95f4\u957f\u201d\u7684\u62b1\u6028\uff0c\u4e5f\u6697\u793a\u5176\u5e95\u5c42\u7b97\u529b\u6216\u67b6\u6784\u4f18\u5316\u4ecd\u6709\u7a7a\u95f4\u3002\u4e0d\u8fc7\uff0c\u4ece\u7528\u6237\u5c06\u5176\u7528\u4e8e\u8bb2\u89e3\u3001HIIT\u8bad\u7ec3\u7b49\u590d\u6742\u573a\u666f\uff0c\u800c\u975e\u201c\u526a\u6620\u201d\u5f0f\u50bb\u74dc\u64cd\u4f5c\u6765\u770b\uff0cCutrix\u5df2\u6355\u83b7\u4e86\u6838\u5fc3\u7684\u201c\u4e13\u4e1a\u521b\u4f5c\u8005\u201d\u5fc3\u667a\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u4e8e\u201c\u4fdd\u7559\u58f0\u97f3\u201d\uff0c\u800c\u5728\u4e8e\u201c\u4fdd\u7559\u8868\u6f14\u201d\u2014\u2014\u5bf9\u7f51\u7ea2\u3001\u8bb2\u5e08\u3001\u5185\u5bb9\u521b\u4f5c\u8005\u800c\u8a00\uff0c\u58f0\u97f3\u5373\u4eba\u8bbe\uff0c\u4eba\u8bbe\u5373\u751f\u610f\u3002\u5982\u679cCutrix\u80fd\u6301\u7eed\u4f18\u5316\u60c5\u611f\u6620\u5c04\u7684\u7b97\u6cd5\u7684\u540c\u65f6\uff0c\u5feb\u901f\u8865\u9f50\u529f\u80fd\u77ed\u677f\uff0c\u5b83\u6709\u673a\u4f1a\u91cd\u65b0\u5b9a\u4e49\u201c\u89c6\u9891\u7ffb\u8bd1\u201d\u8fd9\u4e2a\u54c1\u7c7b\u7684\u4ef7\u503c\u6807\u51c6\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\">Cutrix<\/span>\n                <\/div>\n<div class=\"comment-content\">Stop settling for robotic dubbing. Cutrix uses an Agentic workflow to translate videos while preserving the speaker&#8217;s original emotion and natural pacing. Experience hyper-natural alignment without the steep learning curve. Sign up for free credits today!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt! \ud83d\udc4b I&#8217;m Tristan, founder of Cutrix.<\/p>\n<p>As video content goes global, we noticed a frustrating problem: most AI video translators sound like lifeless robots reading a script. They destroy the creator&#8217;s original vibe, and the audio sync is often jarring to watch.<\/p>\n<p>We built Cutrix to fix exactly that. We wanted a tool that doesn&#8217;t just translate words, but translates feelings.<\/p>\n<p>Here is how we do it differently:<\/p>\n<p>\ud83c\udfad Emotion-Preserving Voices: We don&#8217;t just clone the voice; we map the original intonation. If you laugh, whisper, or yell, Cutrix matches that energy.<\/p>\n<p>\u23f1\ufe0f Hyper-Natural Alignment: No more rushed sentences or awkward pauses. Our engine aligns translated audio naturally to the original timeline.<\/p>\n<p>\ud83e\udd16 Powered by AI Agents: Instead of a simple linear translation, Cutrix uses a multi-agent architecture. Our agents autonomously handle context analysis, translation proofreading, and timing adjustments in the background.<\/p>\n<p>\ud83c\udf81 Exclusive PH Deal (90% OFF): We want you to hear the difference yourself. Sign up today and get free credits instantly to translate your first video. Ready to upgrade? Use the invite code QWSQCV during registration or checkout to get a massive 90% off your first order. This is a limited-time offer just for the Product Hunt community!<\/p>\n<p>We are actively shaping our roadmap and would love to hear your thoughts. Drop a video link you translated or your feedback in the comments below! I&#8217;ll be here all day answering your questions. \ud83d\udc47<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>67<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that doesnt make every dub sound like a bored robot, the pacing on my spanish clip actually felt close to the original<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>32<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fahribryam5g4c\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fahribryam5g4c<\/a>&nbsp;this just made our day! killing the &#8216;bored robot&#8217; vibe was exactly why we built Cutrix. the natural pacing you noticed in your Spanish clip is actually our timing agent working under the hood to map the exact timeline of the original audio. thrilled to hear it nailed the sync for you. \ud83d\ude0a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>14<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the intonation-mapping approach is interesting because it runs into a real wall with tonal languages. in Mandarin or Vietnamese, pitch contour isn&#8217;t just emotional color, it&#8217;s literally what word you&#8217;re saying, the same syllable means something completely different depending on tone. if you map the source language&#8217;s emotional pitch pattern onto a tonal target language, you risk fighting the actual linguistic tone system. is that something the timing\/prosody agent accounts for, or is tonal-language output more of a known limitation right now<\/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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;sharp observation. you clearly know your stuff with tts! thank you for raising such a great technical point. <\/p>\n<p>you&#8217;re completely right about the pitch contour issue. to avoid forcing source pitch onto tonal languages, we don&#8217;t just do linear acoustic mapping. instead, our engine uses multimodal understanding, analyzing audio emotion, text context, and video cues simultaneously. it tries to find the best balance to inject emotional intensity, like energy and pacing, while respecting the native tone rules.<\/p>\n<p>it handles most cases well right now, but to be totally transparent, it&#8217;s a really tough problem and we still have edge cases where the linguistic constraints fight back. we are actively optimizing this.<\/p>\n<p>really appreciate the deep dive. \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>20<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried it on a Spanish interview clip and the pacing actually matched the original speaker&#8217;s pauses, which is something most tools botch. Genuinely impressed by how natural it sounded.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>15<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sedefs19749\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sedefs19749<\/a>&nbsp;nailed it\ud83d\ude0a. getting those micro pauses right is exactly what makes or breaks a natural conversation. most tools rush through the timeline, so we took extra care to finetune the alignment to prevent that. thrilled you noticed the difference. thanks for testing it out.\u2764\ufe0f<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how it handles multiple speakers talking over each other or code-switching mid-sentence, does the emotional alignment still hold up when the audio gets messy like that?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>12<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@izannaciye99779\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@izannaciye99779<\/a>&nbsp;In scenarios involving rapid and frequent speaker switching, such as dialogues, distinguishing between different speakers is extremely difficult. Traditional methods, based on speech recognition, often have limited accuracy. We&#8217;ve chosen a different approach, considering both visual and auditory elements, much like distinguishing different speakers when watching a video. This seems to offer some help in such scenarios\uff0cour translation is also a context-aware translation, unlike traditional machine translation, our translations can better understand the context and the speaker&#8217;s intention. However, AI translation cannot guarantee accuracy all the time; it only provides relatively accurate translations in most cases.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>15<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>my workout cues need to sound hyped, not monotone. dubbed a 20 min hiit video into spanish, energy carried over way better than my old manual stack. good balance between auto mode and the editor when i need to tighten a cue.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aslhangedi8oxh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aslhangedi8oxh<\/a>&nbsp;Love this use case \u2014 HIIT cues live or die on energy, not just translation.<\/p>\n<p>Really glad the Spanish dub kept the hype and that auto mode + the editor gave you the right balance when you needed to tighten a cue. That&#8217;s exactly how we hoped people would use it.<\/p>\n<p>Thanks for trying Cutrix and for the thoughtful feedback! \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aslhangedi8oxh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aslhangedi8oxh<\/a>&nbsp;that high energy retention is exactly why we built our own workflow instead of just wrapping a basic tts. workout cues need that punch. really glad to hear the balance between the auto generation and the manual editor worked out for your spanish dub. appreciate the support.\ud83d\ude0a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>dubbing animated explainer videos is painful since timing is everything. the per clip timeline and regenerate feature on individual lines makes it so i don&#8217;t feel like i&#8217;m fighting the ui. completely usable as is.<\/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\/@hkristinabeoigp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hkristinabeoigp<\/a>&nbsp;Animated explainers are a brutal test case \u2014 when visuals, beats, and narration all have to land together, timing is everything.<\/p>\n<p>Really glad the per-clip timeline and line-level regenerate made it feel like you were shaping the dub, not wrestling the UI. That\u2019s exactly the workflow we wanted: fix one awkward cue without redoing the whole video.<\/p>\n<p>\u201cCompletely usable as is\u201d is high praise on launch day. Thanks for putting a real explainer through it and sharing such a clear note. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hkristinabeoigp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hkristinabeoigp<\/a>&nbsp;animation timing is incredibly unforgiving hahaha&#8230; we built the single-line regenerate specifically because re-running a whole timeline just to fix one awkward sentence is a nightmare\ud83e\udd2f. really glad the logic clicked with your workflow and felt usable right out of the box.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>threw a 40-minute lecture recording at it and expected the voice to drift or lose clarity. consistency throughout was actually solid. processing took a while, but given the length, the output quality was worth the wait.<\/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\/@elabinboaqxmg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elabinboaqxmg<\/a>&nbsp;really appreciate the patience on this one! building a pipeline that doesn&#8217;t drift on massive files was a huge priority for us, since many tools break after a few minutes. we are definitely aware the processing time is still a bottleneck though\ud83d\udcaa. we&#8217;re actively optimizing the infrastructure to speed it up. thanks for giving it a proper run.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>being able to just drop a massive long-form video in one go without the system crashing or forcing me to chop it into 2-minute chunks is exactly what creators actually need. nice to see a platform built for a real workflow instead of just tech demos.<\/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\/@azat3yws\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@azat3yws<\/a>&nbsp;long-form creators shouldn\u2019t have to chop everything into tiny chunks or pray the pipeline doesn\u2019t fall over mid-upload. Glad the one-shot workflow worked for you \u2014 that\u2019s the bar we\u2019re building toward.<\/p>\n<p>for business plan, we can even support videos as long as 2 hous.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>There are tons of video translation tools out there right now, but this one is definitely among the better ones I&#8217;ve tried. Solid quality, fair pricing, and actually usable for real work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grkemellek1eu3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grkemellek1eu3<\/a>&nbsp;&#8220;usable for real work&#8221; is the exact metric we care about. the space is flooded with 60-second demos that crash when you try to run an actual production file through them. glad the stability and pricing hit the mark for your workflow!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>tried mapping mandarin into a couple of different regional dialects just to see if it would break. it held up surprisingly well without losing the original speaker&#8217;s vibe. curious to see how many languages you plan to support long term.<\/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\/@naciyenk4c\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naciyenk4c<\/a>&nbsp;Glad the speaker\u2019s vibe survived. That\u2019s what we optimize for.<\/p>\n<p>We support <strong>50+ languages<\/strong> today and keep adding more based on real creator demand. Dialects and regional variants are very much on our radar \u2014 feedback like yours helps us decide what to ship next.<\/p>\n<p>Thanks for experimenting and asking<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 care about emotional cadence more than perfect lip-sync. tested it on a 12 mins interview with an elderly subject, the mandarin dub preserved pauses and weight in a way standard tools never could. used edit mode to adjust timing on two heavy sections. felt like editing audio in a daw, but faster.<\/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\/@farukjrew\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farukjrew<\/a>&nbsp;this is the ultimate compliment! we spent a lot of time on the editor specifically so it would feel familiar to anyone who has used a daw, just way faster. elderly interviews have so much subtle gravity in the pauses, so knowing the mandarin dub preserved that weight means a lot. thanks for putting it to the test.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@farukjrew\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farukjrew<\/a>&nbsp;Really appreciate this \u2014 emotional cadence over lip-sync is exactly the tradeoff a lot of interview\/localization work needs.<\/p>\n<p>Glad the Mandarin dub kept the pauses and weight, and that edit mode let you fix timing on the heavy sections without a full manual rebuild. <\/p>\n<p>Thanks for testing it properly and sharing your experience <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>good start. pros: easy ui, clean exports, good emotion retention. cons: limited subtitle options and no lip sync yet. potential is definitely there, keeping an eye on future updates.<\/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\/@elifsugrgeiqxf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elifsugrgeiqxf<\/a>&nbsp;Thanks for the honest review \u2014 pros and cons both noted.<\/p>\n<p>Glad UI, exports, and emotion retention worked for you. Subtitle flexibility and lip sync are known gaps we\u2019re pushing on \u2014 appreciate you calling them out and keeping an eye on us. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@elifsugrgeiqxf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elifsugrgeiqxf<\/a>&nbsp;spot on. you nailed our current bottlenecks\u2764\ufe0f. advanced subtitle options are actually next on our list to ship. lip sync will take a bit longer but we hear you. thanks for testing it out and keeping tabs on us.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve tested heygen, rask, and a couple others for dubbing my reviews into hindi. cutrix feels more built for long-form content, the series workflow is clutch when you&#8217;re dropping 3 videos a week.<\/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\/@songlsankxxlh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@songlsankxxlh<\/a>&nbsp;Huge thanks for the side-by-side test \u2014 Hindi review dubbing is a great benchmark.<\/p>\n<p>We built Cutrix with <strong>long-form and repeat publishing<\/strong> in mind, so it\u2019s great to hear that showed up for you versus tools that much more expensive, Really appreciate you sharing the comparison. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/CMWWBNDKWL23MO\" class=\"app-title\">LemonLime<\/a><\/p>\n<div class=\"one-liner\">Automates your existing workflows with a single prompt.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">158<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>LemonLime \u901a\u8fc7\u8fde\u63a5\u4f01\u4e1a\u73b0\u6709\u5de5\u5177\u3001\u81ea\u52a8\u5b66\u4e60\u4e1a\u52a1\u6d41\u7a0b\uff0c\u8ba9\u975e\u6280\u672f\u56e2\u961f\u4ec5\u7528\u4e00\u53e5\u8bdd\u63cf\u8ff0\u5373\u53ef\u751f\u6210\u4e13\u5c5eAI\u81ea\u52a8\u5316\u52a9\u624b\uff0c\u89e3\u51b3\u4e2d\u5c0f\u4f01\u4e1a\u7f3a\u4e4f\u6280\u672f\u8d44\u6e90\u800c\u65e0\u6cd5\u843d\u5730AI\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\/7272e022-167f-4dc6-ad14-2560211d99b6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f9c213d8-cb64-4eee-8f3a-df504bda99fe.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/70cf7c14-34b8-4d45-b514-0fb7f147ec21.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7f4b697c-d8e1-40a8-ae0a-9b5585a32b84.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\/3bc4c4ae-2ba1-4074-8c78-6a49135cd43b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/aFcB1fJhPmY\"><source src=\"https:\/\/youtu.be\/aFcB1fJhPmY\" 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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Business Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u4e2d\u5c0f\u4f01\u4e1aAI<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801AI<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u56fe\u8c31<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7AI<\/span><br \/>\n            <span class=\"tag\">SaaS<\/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\u8ba4\u53ef\u5176\u201c\u6309\u9700\u9002\u914d\u201d\u7406\u5ff5\uff0c\u4f46\u6838\u5fc3\u987e\u8651\u96c6\u4e2d\u5728\u4e09\u70b9\uff1a1\uff09API\u53d8\u66f4\u6216\u6570\u636e\u7ed3\u6784\u53d8\u52a8\u65f6\uff0c\u81ea\u52a8\u5316\u662f\u5426\u4f1a\u81ea\u52a8\u9002\u914d\u5e76\u6807\u8bb0\u6f02\u79fb\uff1b2\uff09\u9762\u5bf9\u6742\u4e71\u8f93\u5165\u6570\u636e\uff0c\u662f\u5426\u9700\u4eba\u5de5\u6e05\u6d17\uff1b3\uff09\u5bf9\u5916\u64cd\u4f5c\uff08\u5982\u53d1\u90ae\u4ef6\uff09\u7684\u5ba1\u6279\u673a\u5236\u3002\u6b64\u5916\uff0c\u7528\u6237\u62c5\u5fe7\u81ea\u52a8\u53d1\u73b0\u7684\u201c\u574f\u4e60\u60ef\u201d\u88ab\u56fa\u5316\uff0c\u4ee5\u53ca\u7ef4\u62a4\u5b9a\u5236\u5316\u81ea\u52a8\u5316\u7684\u957f\u671f\u6210\u672c\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                LemonLime \u8e29\u4e2d\u4e86\u5f53\u524dAI\u843d\u5730\u6700\u5c34\u5c2c\u7684\u5751\u2014\u2014\u5927\u5382\u7838\u94b1\u5806AGI\uff0c\u5c0f\u5382\u8fdePrompt\u90fd\u4e0d\u4f1a\u5199\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u662f\u201c\u81ea\u52a8\u5316\u201d\uff0c\u800c\u662f\u628a\u201c\u627e\u6570\u636e\u3001\u7406\u903b\u8f91\u3001\u914d\u5de5\u5177\u201d\u8fd9\u79cd\u810f\u6d3b\u524d\u7f6e\u6210\u57fa\u7840\u8bbe\u65bd\uff0c\u8ba9Agent\u4e0d\u518d\u6210\u4e3a\u5de5\u7a0b\u5e08\u7684\u4e13\u5229\u3002\u4ea7\u54c1\u601d\u8def\u5f88\u806a\u660e\uff1a\u5148\u5efa\u77e5\u8bc6\u5c42\uff0c\u518d\u642d\u81ea\u52a8\u5316\u5c42\uff0c\u89e3\u51b3\u201c\u6570\u636e\u4e71\u2192Agent\u50bb\u2192\u6210\u672c\u9ad8\u201d\u7684\u6b7b\u5faa\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u522b\u6025\u7740\u5439\u3002\u8bc4\u8bba\u4e2d\u7684\u4e09\u4e2a\u81f4\u547d\u62f7\u95ee\u66b4\u9732\u4e86\u771f\u5b9e\u98ce\u9669\uff1a\u7b2c\u4e00\uff0c\u201c\u81ea\u6211\u8fdb\u5316\u201d\u9047\u4e0aAPI\u53d8\u66f4\uff0c\u5230\u5e95\u662f\u81ea\u52a8\u70ed\u4fee\u590d\u8fd8\u662f\u65ad\u5d16\u5f0f\u62a5\u5e9f\uff1f\u7b2c\u4e8c\uff0c\u53d1\u73b0\u56e2\u961f\u5728\u7528\u201c\u574f\u6d41\u7a0b\u201d\uff0c\u662f\u4f18\u5316\u8fd8\u662f\u56fa\u5316\u4f4e\u6548\uff1f\u76ee\u524d\u9760\u4eba\u7c7b\u5ba1\u6279\u515c\u5e95\uff0c\u672c\u8d28\u662f\u6280\u672f\u503a\u540e\u79fb\u3002\u7b2c\u4e09\uff0c\u5b9a\u5236\u5316Agent\u7684\u7ef4\u62a4\u6210\u672c\u4f1a\u968f\u5ba2\u6237\u91cf\u7ebf\u6027\u589e\u957f\uff0c\u8fd9\u662f\u4e1a\u52a1\u6a21\u5f0f\u7684\u5929\u82b1\u677f\uff0c\u4e0d\u662f\u6280\u672f\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u58c1\u5792\u5728\u4e8e\u201c\u77e5\u8bc6\u5c42\u201d\u7684\u901a\u7528\u6027\u2014\u2014\u80fd\u5426\u628a\u4e0d\u540c\u4f01\u4e1a\u7684\u201c\u4e71\u6570\u636e\u201d\u62bd\u8c61\u6210\u6807\u51c6\u5316\u7ed3\u6784\u5e76\u80fd\u8de8\u573a\u666f\u590d\u7528\u3002\u5982\u679c\u53ea\u662f\u7ed9\u6bcf\u4e2a\u5ba2\u6237\u914d\u4e2a\u8d34\u8eabAI\u4fdd\u59c6\uff0c\u90a3\u6d3b\u5e72\u5f97\u8d8a\u52aa\u529b\uff0c\u6b7b\u5f97\u8d8a\u5feb\u3002\u4e00\u53e5\u8bdd\uff1aLemonLime \u89e3\u51b3\u7684\u662f\u201c\u4ece0\u52301\u201d\u7684AI\u5165\u95e8\u95ee\u9898\uff0c\u4f46\u201c\u4ece1\u5230N\u201d\u7684\u4f01\u4e1a\u7ea7\u6269\u5c55\u6027\uff0c\u7b54\u6848\u8fd8\u5728\u7a7a\u4e2d\u3002\u5efa\u8bae\u56e2\u961f\u5c3d\u5feb\u516c\u5e03API\u7194\u65ad\u673a\u5236\u3001\u6d41\u7a0b\u5ba1\u8ba1\u65e5\u5fd7\u548c\u7528\u6237\u81ea\u5b9a\u4e49\u89c4\u5219\u5f15\u64ce\uff0c\u5426\u5219\u8fd9158\u7968\u7684\u8f89\u714c\uff0c\u5f88\u53ef\u80fd\u4f1a\u53d8\u6210\u7b2c\u4e00\u4e2a\u5ba2\u6237\u6295\u8bc9\u7684\u7d20\u6750\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\">LemonLime<\/span>\n                <\/div>\n<div class=\"comment-content\">LemonLime lets teams automate their workflows in minutes with a single click. It connects to your existing tools, studies your business, and self-creates specialized AI agents and automations that support your team. Don\u2019t know where to start?&nbsp; LemonLime helps with that, too, automatically surfacing suggested automations that you can implement with a single click.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Every small business wants to be &#8220;using AI,&#8221; but almost none of them can.  Most just don&#8217;t have the spare time or engineering resources to allocate to building custom AI automations.<\/p>\n<p>We started as engineers building custom AI implementations for companies, when we realized the extent of the variation between each team\u2019s needs, tools, and existing knowledge.  This variation is exactly why one-size-fits-all tools don\u2019t get the job done, and why 95% of internal AI initiatives fail to materialize ROI.  <\/p>\n<p>That\u2019s why we built LemonLime to adapt uniquely to your business and be used by anyone, regardless of technical expertise.<\/p>\n<p>Would love to chat more about our journey, why helping small businesses matters so much to us, and how LemonLime helps us achieve that mission!<\/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\/@jordanlemon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jordanlemon<\/a>&nbsp;Really like the focus on making automation accessible instead of overwhelming teams with setup. The suggested automations and AI agents that learn from existing workflows could make adoption much easier. Nicely done! \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\/@jordanlemon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jordanlemon<\/a>&nbsp;what happens when tool APIs change or data structure shifts in connected apps like Linear? does it flag drift or auto adjust the agent?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jordanlemon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jordanlemon<\/a>&nbsp;Congrats on the launch! The &#8220;maintenance liability&#8221; point you raised is the one I keep coming back to with agent-built automations generally. When the shared automation core needs to adapt to a customer-specific workflow, does that customization live in a layer you can still push core updates through? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the focus on adapting to each business instead of forcing a one-size-fits-all workflow. This could make AI much more accessible for startups and SMBs. Congrats on the launch! One question: how long does it typically take for a new customer to get their first useful automation up and running?<\/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\/@aren_barseghyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aren_barseghyan<\/a>&nbsp;Hey Aren!<\/p>\n<p>Yep, you hit the nail on the head.  The effect of accessibility in AI (or lack thereof) is accelerating in magnitude.  The disparity between those using AI and those without it is going to widen and widen, and the way it&#8217;s happening right now, I believe we&#8217;re seeing a lot of massive enterprise companies walking over the small businesses under them, and part of our mission is to bridge that gap.  To give small businesses the same metaphorical firepower to succeed and scale with AI that their enterprise counterparts are blowing billions on.<\/p>\n<\/p>\n<p>After a new user signs up and connects their tools, it starts an automatic learning period, where we send out a LOT of concurrent agents across all the resources we can to gather as much company specific knowledge as possible.  That knowledge then informs the quality and success of the first few automations you set up.  Setting up your first automation can vary depending on where the data lives, in what formats, etc, though our knowledge retrieval makes it significantly faster than alternatives (shoutout <a href=\"https:\/\/www.producthunt.com\/@dani__munoz\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"dani__munoz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dani__munoz<\/a>).<\/p>\n<\/p>\n<p>But, the answer you&#8217;re looking for: Roughly ~5-10 minutes, or &lt;3 minutes if you let me walk you through it and optimize your LemonLime to get the most out of it for your specifics use cases.  And I&#8217;m VERY happy to give walk throughs, shoot me an email and we can set one up! <a href=\"mailto:jordan@lemonlime.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">jordan@lemonlime.ai<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! A lot of workflows break down not on the automation logic but on messy, inconsistent inputs. When LemonLime builds an automation around that kind of variability, does it need clean structured data upfront, or is handling that part of what it figures out on its own?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@benjouss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@benjouss<\/a>&nbsp;Benjamin you win the golden ticket for asking this question.  This is my favorite part to talk about.<\/p>\n<\/p>\n<p>AI completely breaks down on messy inputs.  This isn&#8217;t even the half of it.  Data in the wrong format, inconsistency (like you mentioned), missing entirely (hallucination risk), poor efficiency of retrieval\/context windows growing (becomes dumber AND more expensive), there&#8217;s so many issues.<\/p>\n<\/p>\n<p>LemonLime&#8217;s self-creating automations were actually the <em>second<\/em> step in our product building journey.  The <em>first<\/em> was building knowledge layers that handle these spaghetti cases.  Navigating the same amount of data points, structured architecture purpose-built for AI retrieval and reasoning is <strong>faster<\/strong>, <strong>cheaper<\/strong>, and <strong>smarter<\/strong>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/300949e9-82b8-49fe-9acb-f48482e697e0.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>This was one of our biggest learnings from working with so many companies even before LemonLime.  Data is messy, and that&#8217;s killing AI initiatives by harming outcomes and bank accounts.  Not ideal.<\/p>\n<\/p>\n<p>So, the layer underneath that runs LemonLime is actually a unique knowledge layer built on your company&#8217;s context.  That&#8217;s what makes deploying automations on top quick and accurate.  Your data can stay human (messy), and on the backend, we take care of translating it and &#8220;organizing your books&#8221; before passing it to your agents.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 per-business adaptation is the right part. The hard part is making the agent show its working: what source it used, what changed in the tool\/API, and where it needs a human to approve the next step. Small businesses need leverage, but they also need a way to debug the automation on a bad week.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;so 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Regarding the suggested-automations feed&#8230; Auto-surfacing is a trust game IMO: a few strange suggestions in week 1 and an SMB owner might stop reading the feed. What would be the bar before something gets surfaced? A repetition count, a human pass on your side?<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Honestly, neither.  A human pass on our side is a big trust violation, especially for businesses that have proprietary information, strategies, etc.  We (the humans) don&#8217;t see any of your LemonLime connect tool info\/uploads.  A repetition count is a convincing factor, but not necessarily a strict test to pass.<\/p>\n<\/p>\n<p><strong>The bigger weight is impact<\/strong>, which sounds super vague, <em>and it is<\/em>, but that&#8217;s because it means something different in the context of each company.  If every sales proposal looks wildly different, it&#8217;s going to surface suggestions that support the creation, not shoot on a whim on actually conceptualizing without having the right data to do so.  Even if you&#8217;ve never sent a support email, it might discover that you might not have one, and suggest setting one up and automating it for you if relevant to your work.<\/p>\n<\/p>\n<p>Auto-surfacing is risk-free because at the end of the day, actions are approved before running.  Even if a suggested automation isn&#8217;t exactly on the nose (which is inevitable, right?), it can safely be ignored without consequence.  <em>That&#8217;s<\/em> where the trust is derived from.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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 self-creating part is the impressive bit, but here&#8217;s the question I&#8217;d want answered as a small-business owner: when an auto-generated agent takes a real action (emails customers, edits records, anything outward-facing), does a human see and approve it first, or does it just run? For teams with no engineer watching, one confidently-wrong action is worse than no automation. Where do you draw that approval line by default?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@syed_noor4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@syed_noor4<\/a>&nbsp;Right now, there&#8217;s a series of gated requests before outwardly facing or critical actions are taken.  Email going to someone else?  Needs approval.  Drafting a proposal for you?  No approval needed.  Exactly why we draw the line here \u2013 there can&#8217;t be any confidently-wrong action, but in the event it does happen, that&#8217;s why LemonLime can source directly to the material the answer is derived from, so it actually requires proof of relevance from a given body to cite directly and then is compared back against it for almost &#8220;verification&#8221;.  Something we definitely are still thinking about as we scale and go forward.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats! I\u2019m especially curious for Business Intelligence or Marketing &amp; Sales use cases, where the difference between \u201cprompting\u201d and reliable repeatable automation can matter a lot.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Totally, marketing is actually a fun use case for handling since it&#8217;s a much broader umbrella encompassing content, copy, design, graphics, videos, ads, all of it.  That&#8217;s why it&#8217;s critical to operate on company data as a primary source. LemonLime&#8217;s marketing is then able to write copy based on your existing copy, not generic &#8220;AI slop&#8221;, and is able to create graphics using your branding, your key points and copy, and understanding your audience to generate content aligned with your sales\/marketing pipelines accordingly.<\/p>\n<\/p>\n<p>In short: prompting let you find anything, or use your own words to describe what you want done and it gets done.<\/p>\n<p>Automations, on the other hand, is a repetetive workflow or process that, after being done once, LemonLime automatically recognizes the repeating and automates the process for you, meaning you can literally take care of it with a single click. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 hardest part of AI adoption isn&#8217;t generating text or building agents\u2014it&#8217;s fitting into the messy reality of how businesses already operate. The approach of learning from existing workflows instead of forcing new ones is what caught my attention here. Curious to see how personalized the automations become over time and how you balance customization with scalability. Excited to follow this journey. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;EXACTLY! You&#8217;re exactly right about tradeoffs too.  Sometimes sacrifice is inevitable, and for us, coming from a background working in consumer social and getting into the nitty-gritty of human behavior interacting with digital devices, we believe strongly in simple and easy to use over flexible\/customizable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jordanlemon\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jordanlemon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jordanlemon<\/a> how does the LemonLime decide when to use AI agents vs traditional automation rules?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dipanshu_kushwaha5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipanshu_kushwaha5<\/a>&nbsp;It&#8217;s less complicated than that, at least how we&#8217;re running it.  Longer, actionable skills that aren&#8217;t just retrieval-based reasoning requests are the agents.  This is &#8220;I want somebody to do sales for me&#8221; into the chat, and with all the context of your pre-existing customers, industry angles, your existing strategy, etc, it will immediately deploy a set of agents to go do that for you, instantly.  <\/p>\n<\/p>\n<p>TL;DR: Agents run a series of actions.  Automations store either an agent or a swarm of agents so that when you might want to re-run that agent&#8217;s job semi-regularly, it is literally a single click, or even less if you have it running on a set schedule.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The per-business adaptation is the right instinct, but it&#8217;s also the thing that bites at scale, and I say that as someone who built custom AI implementations before productizing. Every bespoke automation you ship is a maintenance liability the day an underlying API deprecates an endpoint or a model update shifts a prompt&#8217;s behavior. Ten custom builds is fine, a few hundred and you&#8217;re spending all your time patching drift instead of onboarding. How are you keeping the per-customer customization from turning into per-customer upkeep? Some shared automation core underneath, or is each one genuinely hand-built?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;Yep, you&#8217;re onto it.  Good catch.  We came from customer consulting as well, and pivoted because we realized so much of the work upfront was actually just finding and organizing things, the &#8220;company brain&#8221; buzzword being used.  This is the shared automation core you&#8217;re talking about, which acts as the roads for which our cards (agents) can operate much more effectively for them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!<\/p>\n<p>Most of the AI initiatives I&#8217;ve seen die because nobody owns them after week two. How does your team handle that?<\/p>\n<p>Also, is there an onboarding period before LemonLime is useful, or is it delivering from day one?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grace_knowhow\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grace_knowhow<\/a>&nbsp;Hey Grace! Totally, you&#8217;ve got a great point. There&#8217;s a research study that found 95% of internal AI initiatives fall flat of tangible ROI (it&#8217;s a 2025 survey, but hey, still a good reference point for what you&#8217;re talking about). <\/p>\n<\/p>\n<p>One of the key points of LemonLime is that it&#8217;s not designed to be a new tool you have to learn how to use, that&#8217;s often why we saw things fall flat \u2013 if somebody has to own it, that&#8217;s work, and people don&#8217;t want additional work, they want less of it. LemonLime connects to tools and self-creates the automations and agents that help you, so you don&#8217;t have to build a single thing and you can STILL get value out of the product (or at least that&#8217;s the idea!).<\/p>\n<\/p>\n<p>Yep, there&#8217;s absolutely an onboarding period (during which we deploy a LOT of concurrent agents to do deep research and reasoning on your business, product, industry, competitors, etc), though it&#8217;s pretty quick, right now it&#8217;s usually around 15-30 minutes after all tools are connected. So yes to both of those, there&#8217;s onboarding, but it&#8217;s still able to deliver from day one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the drift\/staleness answers in this thread are more thorough than most launches bother with, good sign. one thing I didn&#8217;t see covered: it&#8217;s learning the automation from what your team already does, emails, proposals, the existing pattern. if that pattern is a bad habit everyone secretly wants to break rather than the process you&#8217;d actually design on purpose, does LemonLime ever push back on the pattern, or does it just get really good at automating whatever you were already doing, good or not<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Checking at call time is the right hook, that&#8217;s the moment the answer actually matters. The subtle part for us was making the flag travel with the answer instead of staying in the retrieval layer. Once the agent could see &#8216;this is 40 days stale&#8217; it started hedging in the reply rather than asserting, and that alone killed most of our confident-wrong complaints. Does that freshness signal reach the end agent, or stay internal to the knowledge 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=\"comment-item\">\n<div class=\"comment-content\">\n<p>That per-connection scoping is the right isolation call. The thing I&#8217;d watch is that a lagging update is quieter than a failed retrieval: the agent still gets an answer back, just an outdated one, so there&#8217;s no error for anything downstream to trip on. When we ran a cached knowledge layer, the stale-but-available reads kept uptime high but produced the most confident wrong answers we saw, because nothing knew the data was six hours behind. Do you surface a freshness signal per connection that an agent can actually read before it acts, or is staleness invisible to whatever consumes the layer?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;Exactly, awesome catch.  Yep, when called, we&#8217;re checking freshness \u2013 stale content can still be referenced where helpful, but it&#8217;s going to be flagged accordingly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;self-creates agents&#8221; part is what I&#8217;d want to poke at before rolling it out to a whole team. if it&#8217;s writing its own automations across our connected tools, who reviews what data each new agent actually touches before it goes live? for a small business without a dedicated ops person that review step is easy to skip, and that&#8217;s usually where the surprises come from<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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;100%, that&#8217;s why we built in guardrails that require user approval before running outward-facing or permanent actions.  Things like sending an email, inviting someone to a calendar event, deleting a product from a storefront, all of these wait for explicit approval before running automatically. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The roads metaphor lands, and centralizing the org and retrieval layer is genuinely the leverage point. The bit I&#8217;m still chewing on is drift on the connectors themselves. When we centralized tool schemas in our own agent stack, one endpoint change surfaced as a single contract failure instead of quietly breaking six agents at runtime, which was the difference between a five-minute fix and a Friday. Does the shared core hold a schema contract per connected tool so you catch that centrally, or does each agent hit the breakage on its own?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;The layer is resilient and updates itself over time \u2013 a retrieval call that fails doesn&#8217;t break anything, as the knowledge layer already exists.  But, what it might do in theory is cause live updates to lag, which is still not great.  Fortunately, this is scoped to each connection independently, so one connection going awry doesn&#8217;t slow down the others.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Automating complex, existing workflows with just a single natural language prompt sounds like a massive win for standardizing business intelligence. Thrilled to see the launch! Does the system require pre-configured API integrations, or can it dynamically navigate software interfaces based on the prompt?<\/p>\n<h3><\/h3>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Integrations are made available through pre-configuration, so all you have to do is log in and it&#8217;s connected and working.<\/p>\n<\/p>\n<p>Dynamically navigating software interfaces that aren&#8217;t included in our list of integrations isn&#8217;t currently available, but I can totally understand the value of that implementation.  But, we move pretty fast on requested integrations from our users, which tends to do the job pretty well.<\/p>\n<\/p>\n<p>Is there a specific tool\/integration you&#8217;re looking for?  I&#8217;d be happy to get it implemented ASAP.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>&#8220;studies your business and self-creates agents&#8221; is the part i&#8217;d want to understand better before committing. most automation tools require you to map out the workflow yourself, so if this genuinely infers what needs automating from how your tools are already being used that&#8217;s a meaningful step up. what does the study phase actually look at? connected app data, usage patterns, something else? and how long before it surfaces suggestions that are actually relevant to how your team works?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@shubham4real\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham4real<\/a>&nbsp;Exactly.  That&#8217;s why we&#8217;re so excited about this.  Mapping out the workflows yourself is a huge pain in the <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f44c619a-4ca2-4e46-849a-0947605e8730.webp?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>Our whole goal is to eliminate that, because it&#8217;s way too much work for busy teams.<\/p>\n<\/p>\n<p>To your point, yes, it looks at your connected tool usage, any existing outlined processes (like maybe an uploaded document like &#8220;Sales Funnel&#8221;), your CRM stepping to determine what funnel might implicitly already look like, etc.  The suggestions relevant to your team\/role specifically are surfaced immediately upon finishing the onboarding learning period (after you connect your tools, <strong>it takes an average of 15-30 minutes to finish studying everything it finds<\/strong>).  <\/p>\n<\/p>\n<p>Over time, it&#8217;ll get even smarter (intuitively, because more context\/usage helps inform it and create more patterns), but you should get really strong answers on day one.  If not, <strong>give it more context<\/strong>, it can only see what you show 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 nice. When it&#8217;s scoping workflows, how does it handle apps where you don&#8217;t have admin access?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Scope happens at the level of auth, meaning for each connected tool, you can only see what you can already see outside of LemonLime.  If there&#8217;s a Google Doc that you&#8217;re not shared on, it&#8217;s not going to be surfaced or referenced on your LemonLime.  This means teams don&#8217;t have to re-architect their permissions at all.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does LemonLime handle unusual workflows that change every week?  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alex_bravo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_bravo1<\/a>&nbsp;Synthesis is happening in real-time, meaning when a workflow changes week-to-week, LemonLime is suggesting to run each week with the most up to date information.  Even if the underlying information changes but internally the workflow changes haven&#8217;t been recognized, LemonLime flags this as a flow with potential improvements, and will suggest the improvements to said flow that can be reviewed and implemented with a single click.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>&#8220;Single prompt&#8221; automation is an interesting promise, but the hard part is usually the step after the prompt, where the tool has to understand the actual shape of your workflow well enough to not break it when an edge case shows up. Curious what &#8220;existing workflows&#8221; means in practice here. Are you parsing something structured like a Zapier chain or a documented SOP, or is it inferring the workflow from a freeform description the user types? Those are pretty different problems, and the second one gets messy fast.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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;There&#8217;s two things that happen here, so I&#8217;ll share both.  <\/p>\n<\/p>\n<p><strong>First, it&#8217;s inferring the workflow from the context it&#8217;s able to gather from your existing tools.  <\/strong><\/p>\n<\/p>\n<p>For example, let&#8217;s say there&#8217;s around 5 emails that go back and forth when your business closes a customer.  Somewhere in there, there&#8217;s a written proposal, and somewhere past that, you include a social media mention announcing the partnership\/sale.<\/p>\n<\/p>\n<p>Once you&#8217;ve connected your tools, LemonLime is going to pick up on this pattern, with greater strength and accuracy the more tools connected (partially because it&#8217;s better able to differentiate between repeat patterns and one-off work).  So, the next time a sales lead comes in, LemonLime is basically going to propose &#8220;here&#8217;s what normally happens in a sales flow, I already know your language, what we should be pushing for, and what to include in the proposal.&#8221;  Then, if everything looks good, you can literally click a single button and it&#8217;ll follow through.  This is the self-learning, self-creating side.<\/p>\n<\/p>\n<p><strong>For people looking for more control or building new automations\/flows that don&#8217;t already exist or haven&#8217;t been surfaced by LemonLime<\/strong>, that&#8217;s where the freeform description comes from.  Instead of inferring (which, you&#8217;re right, can be messy), LemonLime recognizes the difference between taste and measured result, and plans around that.  What that means is things that are more <em>subjective<\/em> will actually come back to the user asking for input, or it&#8217;ll show them options to choose from.  Things that are more <em>objective<\/em> (&#8220;we A\/B tested these strategies, and option B is performing best&#8221;) it&#8217;s going to make the more optimal decision, and where applicable bounce that decision to you for approval first.  Instead of &#8220;inferring&#8221;, it&#8217;s getting the <em>actual<\/em> answer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The idea of discovering automation opportunities instead of asking users to build them manually is really interesting. I&#8217;m curious, how does LemonLime decide which workflows are worth automating first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@arya012\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arya012<\/a>&nbsp;Ooh, this is such a fun question to answer because it it&#8217;s still a conversation we&#8217;re having internally!  For the longest time, we fought back and forth as a product team on which workflows take priority, and obviously we want to continue improving outcomes and flexibility for each of them, but where do we start first?  <\/p>\n<\/p>\n<p>It&#8217;s going to be different for everyone because LemonLime is tailoring its responses\/outcomes to the team and individual using it, meaning even for the same business, a sales-focused user will get different automated workflows off the bat than a support-focused user.  Before you&#8217;ve had your first conversation with LemonLime, the first thing it&#8217;ll suggest is whatever the most urgent or high-opportunity work you have outstanding within your expected role scope (for example, if you&#8217;re on the sales team, and there&#8217;s a big client being closed, taking care of that proposal\/following up with them is likely going to be identified as a suggested first move).<\/p>\n<\/p>\n<p>But, again, different for everyone!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried LemonLime and was honestly surprised how fast it picked up on our team\u2019s messy Slack and Sheets setup. The suggested automations actually made sense, not generic fluff.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@fatihpeketekno\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fatihpeketekno<\/a>&nbsp;Anything you wish was easier?  What areas for improvement would be the biggest help to you?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/624ZVJIHNA4TC6\" class=\"app-title\">Orbit for Mac<\/a><\/p>\n<div class=\"one-liner\">Every Google account, in a single window<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">142<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Orbit for Mac \u662f\u4e00\u6b3e\u539f\u751f Swift \u5f00\u53d1\u7684\u684c\u9762\u5de5\u5177\uff0c\u5c06\u591a\u4e2a Google \u8d26\u53f7\uff08Gmail\u3001Calendar\u3001Drive\u3001Meet\u3001Gemini\uff09\u9694\u79bb\u5728\u72ec\u7acb\u7a97\u53e3\u4e2d\uff0c\u901a\u8fc7\u5feb\u6377\u952e \u23181-9 \u5373\u65f6\u5207\u6362\uff0c\u89e3\u51b3\u591a\u8d26\u53f7\u7528\u6237\u5728\u5355\u4e00 Mac \u4e0a\u53cd\u590d\u5207\u6362\u6d4f\u89c8\u5668\u914d\u7f6e\u3001\u5bb9\u6613\u53d1\u9519\u90ae\u4ef6\u4e14\u65e0\u6cd5\u4fdd\u6301\u8d26\u53f7\u4e0a\u4e0b\u6587\u9694\u79bb\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\/26587410-7694-445e-8786-00fcf0896cc2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/30f6bb5a-f666-48af-8229-c2aaf99a514e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/50245706-9fce-49d7-beea-d4b09a8254f0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c428654f-abc9-4dc7-b96d-79c6f492ccf4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ca4f11f5-b8dc-4f83-878c-2601c9c04f4a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c6876952-ed4c-4a35-abc3-a5bf95497c8f.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\/b7147d86-5315-447b-b281-7ad1489534ea.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/zXCB5eYlAMc?si=Y1KGZUU9Mcn0XCu_\"><source src=\"https:\/\/youtu.be\/zXCB5eYlAMc?si=Y1KGZUU9Mcn0XCu_\" 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\">Email<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS \u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Gmail \u591a\u8d26\u53f7\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u6c99\u76d2\u9694\u79bb<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u539f\u751f Swift<\/span><br \/>\n            <span class=\"tag\">WebKit<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">\u65e0\u670d\u52a1\u5668\u4f9d\u8d56<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8d26\u53f7\u5207\u6362<\/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\u65e0\u670d\u52a1\u5668\u3001\u672c\u5730\u9694\u79bb\u201d\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u8ba4\u4e3a\u89e3\u51b3\u4e86 Chrome \u914d\u7f6e\u9891\u7e41\u5207\u6362\u548c\u53d1\u9519\u90ae\u4ef6\u7684\u75db\u70b9\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u589e\u52a0\u8d26\u53f7\u5185\u901a\u77e5\u89c4\u5219\uff1b\u6539\u8fdb\u64b0\u5199\u7a97\u53e3\u4e2d\u7684\u8d26\u53f7\u8eab\u4efd\u63d0\u793a\uff08\u5982\u8272\u6807\uff09\uff1b\u5173\u6ce8 WebKit \u5bf9 passkey \u53ca\u9ad8\u7ea7\u4fdd\u62a4\u7684\u517c\u5bb9\u6027\uff1b\u4ee5\u53ca\u5e94\u5bf9 Google \u754c\u9762\u66f4\u65b0\u65f6\u7684\u7ef4\u62a4\u98ce\u9669\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Orbit \u662f\u4e00\u6b3e\u7cbe\u51c6\u5207\u5165\u201c\u591a\u8d26\u53f7\u4eba\u683c\u5206\u88c2\u201d\u75db\u70b9\u7684\u5de5\u5177\uff0c\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u96c6\u6210\u201d\uff0c\u800c\u5728\u4e8e\u201c\u9694\u79bb\u201d\u4e0e\u201c\u539f\u751f\u201d\u3002\u5b83\u6ca1\u6709\u91cd\u9020 Gmail \u8f6e\u5b50\uff0c\u800c\u662f\u7528\u539f\u751f Swift + WKWebView \u4f18\u96c5\u5730\u89e3\u51b3\u4e86 Electron \u7cfb\u5de5\u5177\u7684\u81c3\u80bf\u548c\u8ba2\u9605\u5236\u8d1f\u62c5\uff0c\u8ba9 12MB \u7684\u4f53\u79ef\u548c\u4e00\u6b21\u4ed8\u8d39\u6210\u4e3a\u964d\u7ef4\u6253\u51fb\u7684\u6b66\u5668\u3002\u521b\u59cb\u4eba\u5766\u8bda\u5730\u5217\u51fa\u4e86\u201c\u65e0\u670d\u52a1\u5668\u201d\u7684\u77ed\u677f\uff08\u65e0\u8de8\u8bbe\u5907\u540c\u6b65\u3001WebKit \u9650\u5236\uff09\uff0c\u8fd9\u5728 Product Hunt \u7684\u55a7\u95f9\u4e2d\u5c24\u4e3a\u73cd\u8d35\u2014\u2014\u4fe1\u4efb\u6bd4\u8f6c\u6362\u7387\u66f4\u503c\u94b1\uff0c\u8fd9\u4e5f\u662f\u8be5\u4ea7\u54c1\u83b7\u5f97\u9ad8\u53e3\u7891\u7684\u6838\u5fc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u786c\u5e01\u7684\u53e6\u4e00\u9762\u662f\u98ce\u9669\u3002Orbit \u7684\u547d\u8fd0\u9ad8\u5ea6\u7ed1\u5b9a\u4e8e Google \u5bf9 WebKit \u548c Safari \u7684\u652f\u6301\u7b56\u7565\u3002\u4e00\u65e6 Gmail \u5728 Safari \u4e0a\u201c\u7ffb\u8f66\u201d\u6216\u6545\u610f\u6dfb\u52a0\u975e\u6807\u51c6\u7279\u6027\uff0cOrbit \u5c06\u88ab\u8feb\u5728\u539f\u751f\u5c01\u88c5\u5c42\u4e0a\u75b2\u4e8e\u6253\u8865\u4e01\u3002\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684 passkey \u9650\u5236\u3001\u754c\u9762\u66f4\u65b0\u517c\u5bb9\u6027\u95ee\u9898\uff0c\u6b63\u662f\u5176\u201c\u5bc4\u751f\u6027\u201d\u67b6\u6784\u7684\u5929\u7136\u8106\u5f31\u70b9\u3002\u521b\u59cb\u4eba\u76ee\u524d\u7684\u7b56\u7565\u662f\u201c\u8ba9 Gmail \u81ea\u5df1\u4fdd\u6301\u5de5\u4f5c\u201d\uff0c\u4f46\u8fd9\u5e76\u4e0d\u80fd\u8986\u76d6\u6240\u6709\u8fb9\u754c\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u7b56\u7565\u770b\uff0cOrbit \u66f4\u50cf\u662f\u4e00\u4e2a\u201c\u9ad8\u7ea7\u5b9a\u5236\u6d4f\u89c8\u5668\u6807\u7b7e\u9875\u7ba1\u7406\u5668\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u6709\u58c1\u5792\u7684\u751f\u6001\u5e73\u53f0\u3002\u5b83\u80fd\u5426\u6301\u7eed\u8fed\u4ee3\uff0c\u53d6\u51b3\u4e8e\u521b\u59cb\u4eba\u5bf9 WebKit\/Gmail \u8fb9\u754c\u7684\u8ffd\u8e2a\u6548\u7387\uff0c\u4ee5\u53ca\u662f\u5426\u80fd\u5728\u4e0d\u8dc3\u8fdb\u4e3a\u201c\u53e6\u4e00\u4e2a\u81c3\u80bf\u6d4f\u89c8\u5668\u201d\u7684\u524d\u63d0\u4e0b\uff0c\u6ee1\u8db3\u7528\u6237\u5bf9\u901a\u77e5\u89c4\u5219\u3001\u8eab\u4efd\u63d0\u793a\u7b49\u201c\u539f\u751f\u611f\u201d\u529f\u80fd\u7684\u6df1\u5c42\u671f\u5f85\u3002\u5bf9\u4e8e\u91cd\u5ea6\u591a\u8d26\u53f7\u7528\u6237\uff0c19 \u7f8e\u5143\u7684\u5c1d\u9c9c\u95e8\u69db\u6781\u4f4e\uff0c\u4f46\u957f\u671f\u6765\u770b\uff0c\u5b83\u66f4\u9002\u5408\u90a3\u4e9b\u613f\u610f\u7528\u201c\u672c\u5730\u4f46\u4e0d\u8de8\u8bbe\u5907\u201d\u6362\u53d6\u7edd\u5bf9\u9694\u79bb\u548c\u5b89\u5168\u611f\u7684\u7528\u6237\u2014\u2014\u8fd9\u662f\u4e00\u4e2a\u6e05\u6670\u4f46\u72ed\u7a84\u7684\u5e02\u573a\u5b9a\u4f4d\uff0c\u9700\u8981\u9760\u53e3\u7891\u590d\u8d2d\u800c\u975e\u89c4\u6a21\u5316\u6269\u5f20\u6765\u5b58\u6d3b\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\">Orbit for Mac<\/span>\n                <\/div>\n<div class=\"comment-content\">Every Google account in its own room on your Mac, fully isolated. Each one is the real Gmail web UI, with Calendar, Drive, Meet, and Gemini. No server, no subscription: pay once ($19 launch price, $89 after). Switch with \u23181-9. Native Swift, a 12 MB app. 14-day free trial, no card needed.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey hunters \ud83d\udc4b<\/p>\n<p>I run 9 Gmail accounts: work, personal, per-project, client support. I hit a wall juggling them on a Mac. Chrome profiles meant 9 identical icons in the Dock, and one afternoon I nearly replied to a client from my personal address. The multi-account browsers meant a bundled copy of Chromium, plus sessions that route through the vendor&#8217;s servers, so when their backend changes, all 9 accounts log out at once.<\/p>\n<p>So I built Orbit around one idea: your accounts should stay yours.<\/p>\n<p>\ud83e\ude90 Each account is the real Gmail web UI. Your labels, filters, layout, even Gmail&#8217;s built-in Gemini, all untouched. Calendar, Drive, and Meet included.<\/p>\n<p>\ud83d\udd12 Each account lives in its own room on your Mac: separate cookies, separate login, fully isolated. No server, no sync layer, no shared session. Privacy people: your mail never touches my infrastructure, because there is no infrastructure.<\/p>\n<p>\u2328\ufe0f \u23181-9 to switch. Every room is already loaded, so there is no reload and no waiting. Native notifications, per-account unread badges, one quiet window.<\/p>\n<p>\ud83c\udf4e Native Swift on macOS&#8217;s own WebKit engine. A 12 MB app, not a bundled browser.<\/p>\n<p>Launch deal: it&#8217;s $19 right now to celebrate the launch. Regular price is $89, one time, yours forever, with a year of free updates. There&#8217;s a 14-day free trial, no card needed.<\/p>\n<p>The honest trade-offs of having no server: you sign in once per Mac, and there is no cross-device sync. Passkey-only and Advanced Protection accounts can&#8217;t sign in at all (a macOS WebKit limitation, it&#8217;s in the FAQ). I still think local-first is the right trade: sessions that live on your Mac beat sync I would have to charge you monthly for.<\/p>\n<p>AMA. And tell me straight: what would make this a buy for you?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrewbuilds\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrewbuilds<\/a>&nbsp;per-account notification rules!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@andrewbuilds\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrewbuilds<\/a>&nbsp;&nbsp;The no-server angle is the strongest part for me. A lot of multi-account tools quietly become an infrastructure dependency, so keeping sessions local on the Mac feels like the right trade for privacy-sensitive users. I would surface the WebKit limitations very early on the site too, because that honesty actually increases trust 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>Rare to see a launch post that spells out what the app can&#8217;t do (passkey-only accounts, no cross-device sync) right in the pitch. Very decent, well done and great product!<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Thank you, Art. That part was a deliberate bet: a refund from someone who hit the passkey wall costs me more than a lost sale, and trust compounds better than conversion tricks. Glad it reads that way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this makes the accounts much clearer, good idea<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Thank you Nika! That was exactly the pain I wanted to remove. Not just many accounts, but knowing instantly which account you\u2019re in before you send anything. Each account stays in its own room, so work, personal, and client contexts don\u2019t blur together.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This was a nice surprise today. I haven&#8217;t been here for a while and battled my Gmail\/Suite accounts today. Then this pops up. Serendipity. So far so good. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@voltore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@voltore<\/a>&nbsp;Thank you, Richard. That is exactly the kind of day I built Orbit for.<\/p>\n<p>  Too many Gmail and Workspace accounts, too much switching, too many windows. Glad it<\/p>\n<p>  found you at the right moment.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;nearly replied to a client from my personal address&#8221; line is exactly the failure mode I live in daily. I run a few different businesses through separate Google accounts and the Chrome-profile juggling is a constant source of small, dumb mistakes. Isolated windows instead of identical dock icons is such an obvious fix in hindsight. 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\/@stacywycof83995\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@stacywycof83995<\/a>&nbsp;Thank you, Stacy. That&#8217;s the exact scenario I kept living too, a few businesses across separate accounts and one wrong-address moment away from an awkward email. Isolated windows felt obvious once I had it, but nothing on Mac actually did it cleanly, so I built it. Appreciate the kind words.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The multi-account tax is real and weirdly under-discussed. I&#8217;ve got a personal Google account, a project one, and a dev one, and Chrome profile-switching is where a chunk of my focus quietly leaks out every day. Two things I&#8217;m curious about: does Orbit keep each account fully sandboxed (separate cookies\/sessions the way distinct Chrome profiles do), or is it more of a unified layer on top? And is it Gmail-first for now, or does it also pull Calendar\/Drive per account? Clean-looking 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\/@chielephant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chielephant<\/a>&nbsp;Thank you, Anthony. Yes on both. Each account is fully sandboxed, its own cookies and session in a separate data store, the same isolation you get from distinct Chrome profiles, not a shared layer on top. And it&#8217;s not Gmail-only. Calendar, Drive, Meet, and Gemini all open per account in that same isolated context, so switching accounts switches everything, not just the inbox.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Since each room is the real Gmail web UI in WebKit, what happens the day Google changes something on their end \u2014 do you have to ship an app update, or does it just keep working?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@noice30sugar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@noice30sugar<\/a>&nbsp;Great question. The nice part of using the real Gmail web UI is that most Google-side changes keep flowing through without me rebuilding Gmail inside Orbit. The places I do have to maintain are the native edges around it: account isolation, switching, notifications, unread counts, downloads, and popups. If Google changes one of those surfaces, I patch Orbit there. But the inbox itself is still Gmail, so it is much less fragile than trying to clone Gmail with an API.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 amazing! Any plans to support other Google Apps such as Maps and\/or Business?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rustykr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rustykr<\/a>&nbsp;Thank you! The core today is Gmail, Calendar, Drive, Meet, Gemini, Docs, Sheets, Slides, Forms, plus a Web tab.<\/p>\n<\/p>\n<p>For the long tail like Maps or Google Business, the Web tab is the path for now: it runs inside the same isolated account session, so you can open those Google pages without jumping to another browser profile. I am being careful not to turn Orbit into \u201canother full browser,\u201d but if enough people use Maps\/Business daily, they are natural candidates for first-class tabs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 productivity and attention fix i didn&#8217;t know i needed. With the number of chromium windows i&#8217;ve had open just to view multiple inboxes, i almost feel embarrassed i didn&#8217;t try to seek out a solution like this sooner.<br \/>Well done and hope you can keep up with version control for any GMail updates.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@johnta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johnta<\/a>&nbsp;Thank you, Jonathan. That is exactly the problem I built it for.<\/p>\n<\/p>\n<p>I had the same feeling with multiple Chromium windows: every account technically worked, but the context switching was noisy and heavy. Orbit keeps each Gmail as its own real room, with its own labels\/settings\/session, but makes switching instant. And yes, Gmail changes are the maintenance tax here, but using the real web UI means I am maintaining the wrapper and native edges, not rebuilding Gmail from scratch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>a 12MB native Swift app pulling this off instead of another Electron wrapper is the detail that sold me, most multi-account tools are 200MB+ and still route your session through their servers like you mentioned. one-time payment for something this narrowly useful also feels right, this isn&#8217;t a tool that needs a subscription to justify ongoing dev cost<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Thank you, Omri. You nailed it. Electron would have been the easy path, but bundling a second Chromium just to show a webpage drags the size and the server dependency along with it. Native was harder to build, and that&#8217;s precisely why it stays this small and this fast. Worth every bit of the extra work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Native Swift at 12 MB and no server dependency, that&#8217;s real respect for the Mac platform. Love that you kept the actual Gmail web UI intact instead of rebuilding it poorly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@zekiye142389\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zekiye142389<\/a>&nbsp;Thank you, Zekiye. That respect goes both ways. macOS already ships a great WebKit engine, so bundling a second browser just to show Gmail never made sense to me. Keeping the real Gmail UI was the whole point. Glad it resonates.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 \u23181\u20139 switching between isolated Google accounts feels so much faster than juggling browser profiles, and 12 MB native Swift is genuinely impressive for something running the full Gmail UI<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sebahat2cva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebahat2cva<\/a>&nbsp;Thank you, Sebahat. That&#8217;s the whole point. Each account keeps its own room loaded in the background, so \u23181-9 usually drops you straight in instead of reloading a profile from scratch. And the 12 MB comes from using macOS&#8217;s own WebKit engine instead of bundling a second browser, which is also why the full Gmail UI just works. Glad it landed for you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The no-server trade-off is good product honesty. For multi-account work on a Mac, isolation is usually more valuable than clever sync, especially when support\/client mail can leak across contexts. The detail I would want next is per-room notification rules and a clear recovery path when Google changes a WebKit login edge case.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;Thank you, Patrick. That is exactly the trade-off I wanted to be honest about. Per-room notification rules are already partly there: each account has its own unread badge, and you can mute notifications per account. I agree the next step is making those rules more explicit and easier to manage.<\/p>\n<p>For Google\/WebKit edge cases, the current recovery path is intentionally local: if a Google sign-in flow breaks, the account can be retried or re-added without touching the other rooms. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;nearly replied from my personal address&#8221; moment is the real hook here, that near-miss is universal for anyone running several accounts. One thing that&#8217;d make it a stronger buy for me: carry the account&#8217;s color or identity into the compose and reply window itself, not just the app chrome. The wrong-account send happens the instant you hit send, so, the reminder needs to be right there while you&#8217;re typing, not one glance away.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@syed_noor4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@syed_noor4<\/a>&nbsp;You just described the roadmap item I care about most. Today Orbit keeps the identity at the frame level: the account&#8217;s avatar and color stay in view, and compose always opens inside that account&#8217;s own room, never a shared one. But you are right that the strongest reminder belongs inside the compose window itself, right where you are typing. A per-account tint on the compose surface is doable with the same light styling layer I already use for badges, so it goes on the shortlist for the next update. This is exactly the kind of comment that decides what v1.1 looks like. Thank you, Syed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 no-infrastructure framing, that&#8217;s a rare thing to see actually followed through on rather than just marketing copy. one thing I&#8217;m curious about long term: since each account renders through system WebKit instead of a Chromium build you control, what happens when Google ships one of their periodic Gmail UI overhauls? Chromium-based tools get patched by the browser vendor on their own timeline, but WebKit compatibility with Gmail&#8217;s web app specifically feels like something only you can fix, and only after it breaks for users first. is that something you&#8217;re watching for or has it not been an issue yet<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Great question, and yes, this is exactly the failure mode I worry about.<\/p>\n<\/p>\n<p>Orbit does not clone Gmail or use private Gmail APIs. Each account is the real Gmail web app running in a WKWebView, using the same WebKit family Gmail already supports through Safari. So if Gmail keeps working in Safari, the main Gmail experience should keep working in Orbit too.<\/p>\n<\/p>\n<p>The parts I own are the native layer around it: account containers, switching, badges, avatar\/name refresh, notification mute state, and service shortcuts. Those are designed to fail soft. If Google changes a DOM detail, Gmail still works; worst case a badge\/avatar\/helper gets stale until I patch it.<\/p>\n<\/p>\n<p>It has not been an issue for the core experience so far, but I do watch it. The upside of no infrastructure is that a backend change on my side cannot log everyone out at once.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 great idea, and something I badly need, but the app keeps crashing when I press the \u201cAdd Account\u201d button.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@cronberry\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cronberry<\/a>&nbsp;Thank you for flagging this, Jonathan. That should not happen.<\/p>\n<p>Could you email me at <a href=\"mailto:support@orbitformac.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">support@orbitformac.com<\/a> with your macOS version and what you see right before the crash? I\u2019m checking the Add Account path right now and will prioritize a fix.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/J7EARKPXAPORWT\" class=\"app-title\">agents-cli<\/a><\/p>\n<div class=\"one-liner\">The CLI your coding agent uses to ship agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">135<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u4e2a\u4e13\u4e3aAI\u7f16\u7a0b\u4ee3\u7406\uff08\u5982Claude Code\u3001Codex\uff09\u8bbe\u8ba1\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u7528\u4e8e\u5728Google Cloud\u4e0a\u4e00\u952e\u642d\u5efa\u3001\u8bc4\u4f30\u548c\u90e8\u7f72\u751f\u4ea7\u7ea7AI\u4ee3\u7406\uff0c\u89e3\u51b3\u4ece\u6f14\u793a\u5230\u751f\u4ea7\u90e8\u7f72\u4e4b\u95f4\u7684\u5de5\u7a0b\u9e3f\u6c9f\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\/de99b074-5b8b-4470-bdf6-b8cb98ab6d44.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6ba8e404-a4b8-41e2-a961-f72b2c2a76d1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/db8087d4-4df4-4f36-b657-25dbc3ac503a.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\/1ab68b95-4267-47a5-894b-bd9b35299c01.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=ECYKo70pPNc\"><source src=\"https:\/\/www.youtube.com\/watch?v=ECYKo70pPNc\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">CLI\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Google Cloud<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">MCP\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u5c31\u7eea<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6d41\u6c34\u7ebf<\/span><br \/>\n            <span class=\"tag\">Agent Runtime<\/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\u8bc4\u4f30\u673a\u5236\uff08\u5982\u4f55\u5b9a\u4e49\u6210\u529f\u6807\u51c6\u3001\u751f\u6210\u5408\u6210\u6d4b\u8bd5\uff09\u3001\u5b89\u5168\u8fb9\u754c\uff08\u4ee3\u7406\u6743\u9650\u63a7\u5236\u3001\u5bc6\u94a5\u7ba1\u7406\uff09\u3001\u8f93\u51fa\u683c\u5f0f\uff08\u662f\u5426\u4e3a\u673a\u5668\u53ef\u8bfb\u7684JSON\uff09\u3001\u4ee5\u53ca\u5bf9\u975eGoogle\u4e91\u5e73\u53f0\uff08\u5982Cloudflare\uff09\u7684\u652f\u6301\u3002\u5f00\u53d1\u8005\u627f\u8ba4\u76ee\u524d\u8fb9\u754c\u63a7\u5236\u4f9d\u8d56\u63d0\u793a\u5c42\u800c\u975e\u5de5\u5177\u5f3a\u7ea6\u675f\uff0c\u5bc6\u94a5\u6ce8\u5165\u4ecd\u9700\u8981\u4eba\u5de5\u4ecb\u5165\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                agents-cli\u7cbe\u51c6\u51fb\u4e2d\u4e86AI\u4ee3\u7406\u5f00\u53d1\u4e2d\u6700\u75db\u82e6\u7684\u201c\u5de5\u7a0b\u5316\u6b7b\u4ea1\u8c37\u201d\uff1a\u6f14\u793a\u4e00\u5929\u641e\u5b9a\uff0c\u751f\u4ea7\u90e8\u7f72\u5374\u8981\u4e09\u5468\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u63d0\u4f9b\u53e6\u4e00\u4e2a\u6602\u8d35\u7684\u811a\u624b\u67b6\u751f\u6210\u5668\uff0c\u800c\u5728\u4e8e\u91cd\u6784\u4e86\u201c\u4fe1\u4efb\u5faa\u73af\u201d\u2014\u2014\u901a\u8fc7\u5185\u7f6e\u7684\u8bc4\u4f30\u7cfb\u7edf\u8ba9\u4ee3\u7406\u53ef\u4ee5\u6839\u636e\u91cf\u5316\u6307\u6807\u81ea\u6211\u8fed\u4ee3\uff0c\u800c\u975e\u4f9d\u8d56\u5de5\u7a0b\u5e08\u4e3b\u89c2\u5224\u65ad\uff1b\u901a\u8fc7\u5c06\u90e8\u7f72\u3001\u8ba4\u8bc1\u3001\u76d1\u63a7\u7b49\u975e\u667a\u80fd\u73af\u8282\u62bd\u8c61\u4e3a\u539f\u5b50\u5316CLI\u547d\u4ee4\uff0c\u8ba9\u7f16\u7a0b\u4ee3\u7406\u80fd\u591f\u771f\u6b63\u95ed\u73af\u5730\u81ea\u4e3b\u63a8\u8fdb\u5de5\u4f5c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u4e2a\u4ea7\u54c1\u76ee\u524d\u4ecd\u662f\u4e00\u4e2a\u201c\u8c37\u6b4c\u751f\u6001\u7684\u6f02\u4eae\u82b1\u74f6\u201d\u3002\u5b83\u6df1\u5ea6\u7ed1\u5b9aADK\u6846\u67b6\u548cVertex AI\uff0c\u5bf9\u4e8e\u591a\u4e91\u6216\u975eGoogle\u7528\u6237\u6765\u8bf4\uff0c\u9002\u914d\u6210\u672c\u4e0d\u4e9a\u4e8e\u4ece\u96f6\u642d\u5efa\u3002\u66f4\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0c\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u201c\u8fb9\u754c\u63a7\u5236\u201d\u95ee\u9898\u2014\u2014\u5f53\u4ee3\u7406\u80fd\u540c\u65f6\u7f16\u8f91Docker\u3001Terraform\u548cCI\/CD\u6587\u4ef6\u65f6\uff0c\u201c\u4ece\u4e0d\u8dd1\u9898\u201d\u548c\u201c\u5f7b\u5e95\u641e\u4e71\u4ed3\u5e93\u201d\u4e4b\u95f4\u53ea\u5dee\u4e00\u4e2a\u5e7b\u89c9\u3002\u5f00\u53d1\u8005\u5766\u8a00\u5f53\u524d\u4f9d\u8d56\u63d0\u793a\u5c42\u800c\u975e\u5de5\u5177\u5f3a\u7ea6\u675f\u6765\u7ef4\u6301\u8fb9\u754c\uff0c\u8fd9\u5728\u5b9e\u9645\u751f\u4ea7\u4e2d\u6781\u4e0d\u53ef\u9760\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u66f4\u6df1\u5c42\u770b\uff0cagents-cli\u63ed\u793a\u4e86\u4e00\u4e2a\u8d8b\u52bf\uff1a\u90e8\u7f72\u5de5\u5177\u6b63\u5728\u4ece\u201c\u9762\u5411\u4eba\u7c7b\u8f93\u51fa\u683c\u5f0f\u5316\u65e5\u5fd7\u201d\u8f6c\u5411\u201c\u9762\u5411\u673a\u5668\u8f93\u51fa\u7ed3\u6784\u5316\u72b6\u6001\u201d\u3002\u8fd9\u79cd\u201c\u4ee3\u7406\u4f18\u5148\u201d\u7684\u8bbe\u8ba1\u54f2\u5b66\uff0c\u8981\u6c42\u5de5\u5177\u7684\u8f93\u51fa\u5fc5\u987b\u4e25\u683c\u9075\u5faa\u673a\u5668\u53ef\u89e3\u6790\u7684\u534f\u8bae\uff08JSON\u3001exit codes\uff09\uff0c\u800c\u975e\u82b1\u54e8\u7684\u7ec8\u7aef\u52a8\u753b\u3002\u5982\u679c\u5b83\u80fd\u5c06\u8fd9\u79cd\u7406\u5ff5\u63a8\u5e7f\u5230\u5f00\u6e90\u793e\u533a\uff0c\u5e76\u89e3\u51b3\u8de8\u4e91\u3001\u8de8\u6846\u67b6\u7684\u901a\u7528\u6027\uff0c\u624d\u771f\u6b63\u6709\u673a\u4f1a\u6210\u4e3a\u201cAI\u4ee3\u7406\u65f6\u4ee3\u7684Kubernetes\u201d\u3002\u5426\u5219\uff0c\u5b83\u53ea\u662f\u8c37\u6b4c\u4e91\u7684\u4e00\u4e2a\u9ad8\u7ea7\u5356\u94f2\u4eba\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\">agents-cli<\/span>\n                <\/div>\n<div class=\"comment-content\">One command-line tool to scaffold, evaluate, and deploy AI agents on Google Cloud \u2014 built to be driven by your coding agent (e.g Antigravity, Claude Code, Codex). Scaffold a production-ready project, evaluate against a real signal, and ship to Agent Runtime, Cloud Run, or GKE or anywhere else!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally found one \ud83d\ude0d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey all, I&#8217;m Elia. I work with developers building agents on Google Cloud, and today we&#8217;re launching Agents CLI.<\/p>\n<p>You&#8217;ve probably run into this yourselves. You can build a demo agent in an afternoon, but getting one to production is weeks of work, and barely any of it is the actual agent. It&#8217;s the plumbing around it: SDKs, MCP servers, auth, telemetry, CI\/CD, and ten docs tabs open at once. Hand that to your coding agent (Antigravity, Claude Code, Codex) and it spends most of the session figuring out the setup instead of your agent&#8217;s actual behavior.<\/p>\n<p>So we built a CLI your coding agent can drive. Install it with one line:<br \/>\n`uvx google-agents-cli setup`<\/p>\n<p>Then ask it something like &#8220;build an SRE agent that reads logs and drafts an incident report.&#8221;<br \/>\nUnder the hood it runs:<br \/>\n&#8220;`<br \/>\nagents-cli create my-agent   # scaffold: agent, tools, tests, Dockerfile, Observability, Terraform, CI\/CD<br \/>\nagents-cli eval run          # run the agent over a dataset and score it, so you iterate on numbers<br \/>\nagents-cli deploy            # deploy to Vertex AI Agent Engine, Cloud Run, or GKE<br \/>\n&#8220;`<\/p>\n<p>Agents CLI will carefully support your coding agent into the whole path to production. It will leverage expert crafted templates, built-in evals, and it runs headless so your coding agent can keep going on its own and self-optimize based on what you specified as success criteria!<\/p>\n<p>We optimize for ADK (Google&#8217;s open-source agent framework) and Google Cloud, but you can customize as you prefer. You can adapt to any model or any custom setup you might have.<\/p>\n<p>I&#8217;ll be in the comments all day. <\/p>\n<p>Any particular agent you&#8217;d like to ship? Drop it below and I&#8217;ll tell you how I&#8217;d build it!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This sounds like an interesting approach to give coding agents the capability to handle the infrastructure portions for agents. Do you have plans to cover more types of infrastructure needed, like storage systems?<\/p>\n<\/p>\n<p>I&#8217;m also quite interested in learning about how you compare using agents-cli against other approaches like leveraging coding agent&#8217;s own ability to discover and integrate with the infrastructure layers or using MCP servers. Or if you see them complementary.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Agents being the primary user of products is definitely the direction we are heading in. Curious to know how you do evals on the CLI? How do you validate if its suitable to be used by agents or run into the same confusion they might have had before?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@margharitha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@margharitha<\/a>&nbsp;great question! we run specific simulations to check how agents cli performs on real scenarios with coding agents!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 eval run step is the part that&#8217;s usually missing from these agent-scaffolding tools. everyone ships the &#8220;build me an agent in an afternoon&#8221; demo but scoring it against a dataset before deploy is what actually tells you if it&#8217;s ready, not just that it compiles and responds to a prompt<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;yeah eval is super important to ship with confidence!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Agent-first output with a human interactive mode is the right call, and rarer than it should be. The subtlety I keep hitting is partial failure. A single top-level &#8216;deploy: ok&#8217; is easy for a model to over-trust, so we ended up emitting per-resource state, this bucket created, that Cloud Run revision rolled back, because &#8216;ok&#8217; was hiding that one of three resources failed and the agent moved on. Does the agent-mode output break status out per step and resource, or is it one overall result the model has to interpret?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What does a typical agent that one would build with this look like? Any common examples?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;IMO anything that can solve vertically a real user problem. e.g I recently built one for automating my grocery shopping!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 evaluation step actually work in practice? Like, does it spin up a real signal in the cloud or do I need to wire up my own eval set before it can tell me if my agent is any good?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@semiha327125118\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@semiha327125118<\/a>&nbsp;great question &#8211; it works according to what you define as success criteria for the agent.<\/p>\n<\/p>\n<p>based on that it will generate synthetic conversations, start testing the agent and then based on the output converting those in metrics. Then fix code &amp; prompts and  iterate until satisfying your success criteria!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 gap between a slick demo and something that actually holds up in real use is where most of my side projects quietly die. Good to see real attention going into that messy middle bit, Elia.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@matthieu_poitrimolt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matthieu_poitrimolt<\/a>&nbsp;thanks a lot!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The \u201cCLI built for coding agents\u201d framing feels right. The part I\u2019d want to see is how the tool keeps the agent inside the intended change boundary.<\/p>\n<\/p>\n<p>When a scaffold\/eval\/deploy flow touches infra files, tests, Docker, telemetry, and CI, a coding agent can accidentally turn a product task into a repo-wide cleanup. A small plan\/diff contract before each step \u2014 what files may change, what success signal matters, and how to roll back \u2014 would make me trust the loop much more.<\/p>\n<\/p>\n<p>Curious if agents-cli exposes that kind of step-level boundary, or if it\u2019s mostly handled through the coding agent\u2019s prompt\/skill layer 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grace_lee26\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grace_lee26<\/a>&nbsp;Honest answer: today that boundary is mostly the skill\/prompt layer, not something the CLI enforces per step.<\/p>\n<p>What the skills push the coding agent toward:<\/p>\n<p>&#8211; Plan first: it lays out the intended change before editing, so you see the scope up front.<\/p>\n<p>&#8211; Preserve everything outside the target. The skill is explicit that code, config, comments, and formatting outside the specific change stay identical, which is meant to stop exactly the &#8220;product task becomes repo-wide cleanup&#8221; drift you&#8217;re describing.<\/p>\n<p>&#8211; Human approval before deploy, and regressions are stop-the-line.<\/p>\n<p>Structurally the CLI helps in two ways: everything it scaffolds or edits lands as plain files, so it&#8217;s all a reviewable git diff and git is your rollback; and deploys are idempotent and preserve your existing spec, so re-running is safe.<\/p>\n<p>But a hard, tool-enforced &#8220;these files may change, here&#8217;s the success signal, here&#8217;s rollback&#8221; contract per step isn&#8217;t there yet. Good ask though, noting 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>The &#8220;agent-first output, human-friendly only in interactive mode&#8221; philosophy is the detail that makes this click for me, <a href=\"https:\/\/www.producthunt.com\/@elia_secchi\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"elia_secchi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elia_secchi<\/a>  \u2014 I spend a lot of time on agent reliability, and the number of loops that break because a tool emits prose an agent misreads as success is higher than anyone admits.<\/p>\n<\/p>\n<p>Loved your reply to Tyler too: wiring the secret reference but making a human add the actual secret is exactly the right seam to keep a coding agent from minting prod creds. Nice work \ud83d\udc4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@akbar_b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akbar_b<\/a>&nbsp;thanks a lot!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Treating evals and deploy as first-class commands is the part that matters. A demo agent is easy; a shippable agent needs a repeatable failure loop, logs someone can read, and a human checkpoint before it touches production. That makes the CLI feel more like release engineering than scaffolding.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;Exactly the mental model we are going for!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Very neat! Do you have plans to support cloudflare by any chance? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@cadell_falconer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cadell_falconer<\/a>&nbsp;Thanks a lot! Not in the short term but the generated code is fully portable to any platform!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch Elia! The &#8220;demo in an afternoon, production in weeks&#8221; framing is painfully accurate, and the detail that barely any of those weeks are the actual agent matches what I see too.<\/p>\n<\/p>\n<p>The headless part is the bit I&#8217;m most curious about: when Claude Code is driving the CLI end to end, how does auth work once the scaffolded agent needs real credentials for its tools and MCP servers? That&#8217;s usually where the self-driving loop stalls and a human gets pulled back in. I live in that corner of the stack (launching an MCP thing myself today), so genuinely curious how you handle it.<\/p>\n<\/p>\n<p>To your question: I&#8217;d ship a changelog agent. It reads the PRs merged since the last tag, drafts release notes plus the announcement post, and files the result as a PR for review. Curious what an eval signal looks like for something that fuzzy, &#8220;good release notes&#8221; is a hard thing to score.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tsouth2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tsouth2<\/a>&nbsp;Thanks Tyler, and good luck with the MCP launch today.<\/p>\n<p>Auth is two layers. Claude Code will inherit how you&#8217;re authed as locally. <\/p>\n<\/p>\n<p>The deployed agent&#8217;s tool and MCP creds go through Secret Manager with a dedicated service account, not baked into the scaffold. And you&#8217;re right that this is where a human comes back on purpose: the agent can wire up the secret reference, but adding the actual secret is a human step. Better it stalls there than have a coding agent minting prod credentials on its own.<\/p>\n<p>On the changelog agent (fun one): &#8220;good release notes&#8221; is fuzzy, so I&#8217;d grade it with an LLM-as-judge rubric (covered every merged PR, categorized right, invented nothing, matched your tone) plus a couple of hard checks like every PR number present and links resolving. The goal should be for the  rubric to bring the signal, and you tune it as you spot misses.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8216;driven by your coding agent&#8217; framing is the interesting bet here. When we let a coding agent run our deploy CLI unattended, the thing that bit us wasn&#8217;t the deploy logic, it was output format. The agent would read a human-formatted stderr, miss that the deploy half-failed, and cheerfully report success. Are the CLI&#8217;s outputs, eval scores, deploy status, errors, structured for a model to consume, like JSON with explicit exit states, or the same prose a person reads? That one choice decided whether our agent could actually close the loop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;For sure, we are actually continuously improving the output generated by the CLI to be Agent friendly. It&#8217;s actually a core philosophy of the product: being a CLI optimized for agents first and allow human-friendly output when running in interactive mode<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 headless self-optimize loop is the part I&#8217;d want to understand before trusting it. if the coding agent is scoring its own agent against eval criteria and iterating unsupervised until the number goes up, what stops it from overfitting to the eval dataset or gaming the specific metric instead of actually improving behavior on real traffic? that&#8217;s a known failure mode any time the thing being optimized also controls the optimization loop. do you have guardrails around eval set size\/diversity or a human checkpoint before it ships to Cloud Run\/GKE, or is it fully autonomous end to end<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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;Absolutely and great point! <\/p>\n<p>Most of the guardrails live in the skills we load into the coding agent:<\/p>\n<p>&#8211; You are always in control of the evaluation process, you can define how the dataset looks like and how varied it is. Coding agents and skills are there to support you with those best practices you mentioned.<\/p>\n<p>&#8211; It never deploys without you saying yes. It runs the evals, asks &#8220;ok to deploy?&#8221;, and waits.<\/p>\n<\/p>\n<p>Agreed that this won&#8217;t save you from overfitting a tiny eval set, so it also nudges you to grow coverage once a case passes instead of tuning against a handful of examples.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/TADE3A4SVTORJG\" class=\"app-title\">PopTask for Apple<\/a><\/p>\n<div class=\"one-liner\">Turn to-dos into scheduled tasks<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">131<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PopTask\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u89e3\u6790\u5c06\u6742\u4e71\u60f3\u6cd5\uff08\u5982\u201cgym mon wed fri 6am\u201d\uff09\u57283\u79d2\u5185\u8f6c\u5316\u4e3a\u5df2\u6392\u671f\u7684\u4efb\u52a1\uff0c\u6d88\u9664\u4f20\u7edf\u5f85\u529e\u5e94\u7528\u4e2d\u7684\u8868\u5355\u586b\u5199\u75db\u70b9\uff0c\u5b9e\u73b0\u6781\u901f\u6355\u6349\u4e0e\u65e0\u611f\u540c\u6b65\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\/91976731-06b0-40c5-aad9-7e96e08ca074.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9009099e-2154-4896-941d-2098f9be3753.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5df57b6f-0399-479e-9221-ab5f3a5d013c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/63b8e4a1-c924-481f-8d64-3542bb9d5eb5.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\">Task Management<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4efb\u52a1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f85\u529e\u6e05\u5355<\/span><br \/>\n            <span class=\"tag\">\u65f6\u95f4\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u65e5\u7a0b\u5b89\u6392<\/span><br \/>\n            <span class=\"tag\">\u82f9\u679c\u751f\u6001<\/span><br \/>\n            <span class=\"tag\">iCloud\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f<\/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\u81ea\u7136\u8bed\u8a00\u89e3\u6790\u7684\u6d41\u7545\u6027\uff0c\u4f46\u6307\u51fa\u5173\u952e\u7f3a\u9677\uff1aSiri\u9a7e\u8f66\u573a\u666f\u4e0b\u201c\u786e\u8ba4\u65e0\u6b7b\u89d2\u201d\u7684\u95ee\u9898\u672a\u89e3\u51b3\uff08\u89c6\u89c9\u9884\u89c8\u65e0\u6cd5\u66ff\u4ee3\u8bed\u97f3\u786e\u8ba4\uff09\uff1b\u8bef\u89e3\u6790\u540e\u9700\u5220\u9664\u91cd\u8f93\u800c\u975e\u5185\u8054\u7f16\u8f91\uff1b\u5bf9\u201c\u8df3\u8fc7\u8282\u5047\u65e5\u201d\u7b49\u91cd\u590d\u4f8b\u5916\u548c\u81ea\u52a8\u91cd\u6392\u4efb\u52a1\u652f\u6301\u4e0d\u8db3\uff1bMac\u83dc\u5355\u680f\u56fe\u6807\u7f3a\u4e4f\u989c\u8272\u4e0e\u7d27\u51d1\u6a21\u5f0f\u81ea\u5b9a\u4e49\uff1b\u4e14\u4ea7\u54c1\u9996\u9875\u7f3a\u5c11\u529f\u80fd\u622a\u56fe\u5f71\u54cd\u8f6c\u5316\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                PopTask\u7684\u6838\u5fc3\u7a81\u56f4\u70b9\u5728\u4e8e\u201c\u6355\u83b7\u6469\u64e6\u201d\u7684\u6781\u7b80\u4e3b\u4e49\u2014\u2014\u5b83\u654f\u9510\u5730\u6355\u6349\u5230\u4e86\u4f20\u7edf\u5f85\u529e\u5e94\u7528\u4e2d\u6700\u4ee4\u4eba\u70e6\u8e81\u7684\u73af\u8282\uff1a\u5f53\u4f60\u9700\u8981\u5feb\u901f\u8bb0\u4e0b\u4e00\u4e2a\u60f3\u6cd5\u65f6\uff0c\u5374\u88ab\u8feb\u586b\u5199\u65e5\u671f\u3001\u65f6\u95f4\u3001\u91cd\u590d\u5468\u671f\u7b49\u8868\u5355\u3002\u901a\u8fc7\u5f3a\u5927\u7684\u672c\u5730\u81ea\u7136\u8bed\u8a00\u89e3\u6790\u5f15\u64ce\uff0c\u5b83\u5b9e\u73b0\u4e86\u201c\u7528\u8bf4\u4ee3\u66ff\u586b\u201d\u7684\u76f4\u89c9\u5f0f\u4ea4\u4e92\uff0c\u8fd9\u4e25\u683c\u6765\u8bf4\u4e0d\u662f\u6280\u672f\u521b\u65b0\uff0c\u800c\u662fUI\/UX\u5bf9\u7528\u6237\u5fc3\u7406\u6a21\u578b\u7684\u6781\u81f4\u6d1e\u5bdf\u3002\u7136\u800c\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u8868\u9762\u5149\u9c9c\u4e4b\u4e0b\u6697\u85cf\u7ed3\u6784\u6027\u7684\u98ce\u9669\uff1a\u5176\u4ef7\u503c\u51e0\u4e4e\u5b8c\u5168\u7cfb\u4e8e\u201c\u89e3\u6790\u51c6\u786e\u6027\u201d\u8fd9\u4e00\u5355\u70b9\u80fd\u529b\u3002\u4ece\u8bc4\u8bba\u4e2d\u53ef\u4ee5\u6e05\u6670\u5730\u770b\u5230\uff0c\u5f53\u89e3\u6790\u51fa\u9519\uff08\u59826am\u8bef\u5224\u4e3a6pm\uff09\u65f6\uff0c\u7528\u6237\u4e0d\u4ec5\u65e0\u6cd5\u5185\u8054\u4fee\u6b63\uff0c\u4e14\u624b\u4e0a\u6b63\u5fd9\uff08\u5982\u9a7e\u9a76\u573a\u666f\uff09\u53c8\u7f3a\u4e4f\u58f0\u97f3\u786e\u8ba4\uff0c\u8fd9\u79cd\u201c\u5feb\u901f\u4f46\u53ef\u80fd\u51fa\u9519\u201d\u7684\u4f53\u9a8c\u4f1a\u76f4\u63a5\u7834\u574f\u4fe1\u4efb\u611f\u3002\u5f00\u53d1\u8005\u76ee\u524d\u7684\u5bf9\u7b56\u662f\u201c\u7b49\u7528\u6237\u6c47\u62a5Bug\u201d\uff0c\u800c\u975e\u6784\u5efa\u5bb9\u9519\u673a\u5236\uff0c\u8fd9\u5728\u5c0f\u4f17\u7528\u6237\u7fa4\u4e2d\u5c1a\u53ef\u7ef4\u6301\uff0c\u4e00\u65e6\u89c4\u6a21\u5316\u5c06\u6f14\u53d8\u4e3a\u707e\u96be\u3002\u6b64\u5916\uff0c\u5176\u201c\u4e0d\u81ea\u52a8\u91cd\u6392\u3001\u4e0d\u7559\u5b58\u624b\u52a8\u8c03\u6574\u201d\u7684\u8f7b\u91cf\u8bbe\u8ba1\uff0c\u5728\u9ad8\u9891\u7528\u6237\uff08\u5982\u591a\u9879\u76ee\u7ba1\u7406\uff09\u9762\u524d\u6781\u6613\u53d8\u6210\u53e6\u4e00\u79cd\u6469\u64e6\u2014\u2014\u5b83\u53ea\u80fd\u95ea\u7535\u822c\u8bb0\u5f55\uff0c\u5374\u65e0\u6cd5\u667a\u80fd\u7edf\u7b79\uff0c\u8ddd\u79bb\u201c\u65e5\u7a0b\u7ba1\u7406\u201d\u8fd8\u6709\u8f83\u5927\u8ddd\u79bb\u3002\u4ece\u5546\u4e1a\u89d2\u5ea6\u770b\uff0c\u514d\u8d393\u4e2a\u4efb\u52a1\u7684\u9650\u5236\u662f\u5408\u7406\u7684\u94a9\u5b50\uff0c\u4f46\u4ea7\u54c1\u6838\u5fc3\u529f\u80fd\u5929\u7136\u4f7f\u5f97\u91cd\u5ea6\u7528\u6237\u7684\u4ed8\u8d39\u610f\u613f\u4f1a\u56e0\u201c\u6293\u5f97\u591a\u3001\u6392\u7248\u96be\u201d\u800c\u8870\u51cf\u2014\u2014\u4ed6\u4eec\u9700\u8981\u7684\u662f\u66f4\u7cfb\u7edf\u7684\u8ba1\u5212\u80fd\u529b\uff0c\u800c\u975e\u66f4\u5feb\u7684\u8f93\u5165\u3002\u603b\u4f53\u800c\u8a00\uff0cPopTask\u662f\u4e00\u6b3e\u201c\u5f15\u4eba\u6ce8\u76ee\u4f46\u6d45\u5c1d\u8f84\u6b62\u201d\u7684\u7cbe\u81f4\u5de5\u5177\u2014\u2014\u5b83\u89e3\u51b3\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u75db\u7684\u70b9\uff0c\u4f46\u5728\u88ab\u62d4\u9ad8\u5230\u201c\u5bf9\u624b\u66ff\u4ee3\u54c1\u201d\u4e4b\u524d\uff0c\u4e9f\u9700\u8865\u8db3\u5bb9\u9519\u3001\u7f16\u6392\u4e0e\u6df1\u5ea6\u5b9a\u5236\u7684\u77ed\u677f\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\">PopTask for Apple<\/span>\n                <\/div>\n<div class=\"comment-content\">PopTask just went universal. type a messy thought like &#8220;gym mon wed fri 6am&#8221; and it becomes a scheduled task in about 3 seconds, no pickers, no forms. on iphone + ipad you get home and lock screen widgets, a live activity + dynamic island counting down your next task, control center, and hands-free siri even in the car. on mac it lives in the menu bar (\u2318\u2303P). everything syncs across your devices through your own icloud, near-instant. on-device, private, 9 languages. free to start<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">heyy folks,<br \/>\ni built PopTask for myself, honestly .. i kept losing thoughts to the same annoying ritual: have a quick idea, then fill out a little form for it .. title, tap the date, tap the time, tap the repeat, set the reminder .. by the time am done i&#8217;ve half-forgotten why i even opened it<\/p>\n<p>so i made the opposite, just to fix my own problem .. you type the mess the way you&#8217;d say it .. &#8220;mtng wth boss 2hr tmrw 3pm&#8221; or &#8220;gym mon wed fri 6am&#8221; .. and PopTask figures out the date, time, recurrence and reminder in about 3 seconds .. it&#8217;ll even break a big task into steps and suggest follow-ups if you want the help .. no pickers, no forms<\/p>\n<p>then something i didn&#8217;t really expect happened .. i put it out there, people started using it, and telling me it finally stuck where every other app hadn&#8217;t .. that meant everything to me .. PopTask went from a little fix for myself to the thing i work on full-time now<\/p>\n<p>it started as a tiny mac menu bar app, one shortcut from anywhere (\u2318\u2303P) .. and this launch is the part am most excited about: it&#8217;s now universal .. the same brain is on iphone + ipad too, with home and lock screen widgets, a live activity + dynamic island counting down your next task, control center, and hands-free siri so you can add a task even while driving .. everything syncs across your devices through your own icloud, near-instant, and one purchase covers all of them<\/p>\n<p>the parts am proud of:<br \/>\n&#8211; it runs on-device where it can (apple intelligence on newer machines), so your tasks never touch my servers, and sync is end-to-end encrypted<br \/>\n&#8211; it reads real, messy input .. typos, shorthand, &#8220;nxt thrs&#8221;, multiple weekdays .. in 9 languages<br \/>\n&#8211; it&#8217;s genuinely fast .. the whole point is 3 seconds and back to what you were doing<\/p>\n<p>free up to 3 active tasks .. pro unlocks unlimited (less than a coffee $)<\/p>\n<p>this one&#8217;s personal for me, so i&#8217;d genuinely love your brutal feedback, especially on the parsing .. throw your messiest input at it and tell me where it breaks .. am here all day replying to everything .. 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>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\/@lilhadi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lilhadi<\/a>&nbsp; Love how you&#8217;ve removed the friction from task management. Being able to type something naturally like &#8220;gym mon wed fri 6am&#8221; instead of filling in forms feels like a much smarter workflow. The on-device privacy and iCloud sync are great touches too. Nice work! \ud83d\udc4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@lilhadi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lilhadi<\/a>&nbsp;nice launch haider! how does the icloud sync latency compare to standard cloud databases when pushing tasks from iphone to mac instantly?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@lilhadi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lilhadi<\/a>&nbsp;The &#8220;by the time I&#8217;m done I&#8217;ve half-forgotten why I opened it&#8221; line hit home \u2014 capture friction is the silent killer of every task app, and most makers optimize everything except that first 3 seconds.<\/p>\n<p>Curious about one design decision: you parse messy shorthand in 9 languages, on-device. Was multilingual parsing part of the plan from day one, or did users pull you there? Asking because handling &#8220;nxt thrs&#8221; is one thing, but date shorthand conventions differ wildly across languages.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Siri-while-driving path is the one I&#8217;d stress-test hardest. Typed &#8220;gym mon wed fri 6am&#8221; is messy but the characters are at least what I meant; dictation stacks a transcription layer under the parse, so &#8220;meeting with boss two hours tomorrow at three&#8221; can go wrong twice before you ever see the preview, and driving is exactly when you can&#8217;t glance down to catch a wrong 3pm\/3am. Do you read the interpreted task back by voice on that path, or is the preview still visual-only? I build in a category where the user&#8217;s hands and attention are both gone in the moment, and &#8220;confirm without looking&#8221; turned out to be a genuinely different problem than &#8220;confirm fast.&#8221;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@narek_keshishyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@narek_keshishyan<\/a>&nbsp;you actually found the exact gap .. today the preview is visual, so the one moment it matters most is the one it doesn&#8217;t fully cover<\/p>\n<p>siri reads back a confirmation, but not granular enough to reliably catch a 3pm\/3am flip .. which is exactly the failure that actually hurts<\/p>\n<\/p>\n<p>and you&#8217;re dead right that &#8220;confirm without looking&#8221; is a genuinely different problem than &#8220;confirm fast&#8221; .. i optimized hard for fast and quietly assumed eyes were available, reading the resolved time back by voice on that path is going straight on the list \ud83d\udcaf genuinely useful, thank you \ud83d\ude4f\ud83c\udffd<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lilhadi\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"lilhadi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lilhadi<\/a> dude &#8211; the app looks great, the site is <strong>beautiful, but&#8230; <em>why, oh WHY&#8230; do you seemingly have NO product shots on the homepage?!?<\/em><\/strong><\/p>\n<\/p>\n<p>I totally get wanting to focus on the philosophy\/ethos, here, but my good man &#8211; you built sexy tech, show it off, let folks know what they&#8217;re getting into! \ud83d\ude00<\/p>\n<\/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\/@grey_seymour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grey_seymour<\/a>&nbsp;ha :&#8217;) you&#8217;re \ud83d\udcaf right .. i got so deep in the &#8220;why&#8221; i forgot to show the &#8220;what&#8221;<\/p>\n<p>product shots are going up!! thanks for the nicest kick in the pants i&#8217;ve had all launch \ud83d\ude4c\ud83c\udffd<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the on-device part is what sells it for me, a to-do app parsing my half-formed thoughts is exactly the kind of thing I don&#8217;t want going to someone&#8217;s server. &#8220;gym mon wed fri 6am&#8221; parsing correctly on the first try is a much higher bar than it sounds like, most natural language date parsers fall apart the second you mix a repeat pattern with a specific time like that. does it handle relative stuff too, like &#8220;remind me in 20 min&#8221; or only fixed schedule style input<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;gym mon wed fri 6am&#8221; natural-language parse into a scheduled recurring task is exactly the friction that makes me bail on most to-do apps. Day-one thing I&#8217;d want to know: when it mis-reads a messy thought (sets 6pm instead of 6am, or the wrong repeat), can I fix the parsed task inline, or do I have to delete and retype from scratch? And since it syncs through my own iCloud, if I add a task on mac while my phone is offline, does it reconcile cleanly when the phone is back or can I end up with a duplicate?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;3 seconds between remembering and it being saved&#8221; framing is exactly right. Running a few businesses at once, that gap is where I lose the most &#8211; by the time a task app makes me pick a date and project, the thought&#8217;s already gone. Congrats on going universal with this launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The gap between a to-do list and actually blocking time for the thing is where most of my week leaks out. When PopTask schedules a task and I blow past the block, does it reshuffle everything after it or wait for me to re-triage? That overrun problem is usually where these apps break for me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chielephant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chielephant<\/a>&nbsp;it waits for you, it doesn&#8217;t reshuffle .. blow past a block and the task just goes overdue .. you re-triage by snoozing in plain language (&#8220;push to friday 3&#8221;) <\/p>\n<p>i deliberately kept it capture + reminders, not an auto-scheduler .. auto-cascading a whole day is a different, riskier problem (one miss and it reshuffles 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like how PopTask simplifies task creation, but I&#8217;d love to see some level of customization for the menu bar icon on Mac &#8211; maybe different colors or a compact mode to save space.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aymnart\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aymnart<\/a>&nbsp;there&#8217;s already a menu-bar picker for what it shows (icon only \/ count \/ today + overdue), but icon colors and a compact mode aren&#8217;t there yet <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How well does the natural language parsing handle recurring tasks with exceptions, like &#8220;gym mon wed fri 6am except holidays&#8221; or tasks that need to skip specific dates?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hiranurmet28559\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hiranurmet28559<\/a>&nbsp;the base recurrence is solid .. but exceptions like &#8220;except holidays&#8221; or skipping specific dates? not yet .. funnily enough @mesut raised the exact holiday-aware idea earlier in this thread, so it&#8217;s firmly on the list now \ud83d\udcaf <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>On-device is being read as a privacy checkbox, but for a to-do app it&#8217;s bigger than that. A task list is a running log of everything you haven&#8217;t done yet \u2014 half-formed, &#8220;mtng wth boss about the thing&#8221; \u2014 which is about as intimate as personal data gets. Keeping it on the device isn&#8217;t a feature, it&#8217;s the only respectful default. Good that you led with 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>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\/@dai_sheen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dai_sheen<\/a>&nbsp;you framed that better than i did honestly .. thank you mann \ud83d\ude4c\ud83c\udffd<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the on-device angle is what caught my attention reading through this thread, running decent NLU across 6+ languages locally is a real engineering constraint, not just a privacy checkbox. curious how big the parsing model ends up being and whether older iphones (like an SE or an iphone 12) handle it fine, or if you had to trim capability for lower-end hardware. also &#8220;holiday-aware recurrence&#8221; is a genuinely clever detail most to-do apps never bother with<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;on an SE or iphone 12 there&#8217;s no apple intelligence anyway, so the everyday cases run through a lightweight deterministic layer that&#8217;s basically instant with near-zero footprint .. handles them fine \ud83d\ude4c\ud83c\udffd<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 messy-input parser is the whole product here. I like that the capture path stays fast, but the trust layer is showing the interpreted date\/repeat\/reminder before it commits anything. Tiny Apple utilities live or die on whether they preserve flow without making the user wonder what just got scheduled.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;exactly .. the sneaky part is the preview can&#8217;t become its own friction .. it has to land before you look away \ud83d\ude4c\ud83c\udffd<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 natural language parsing for dates and recurrence feels really tight, &#8220;gym mon wed fri 6am&#8221; just working without any friction is a small thing but it makes the whole experience feel considered. Nice execution.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@serdardvi1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serdardvi1<\/a>&nbsp;appreciate it \ud83d\ude4c\ud83c\udffd that&#8217;s the exact reaction i chase <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the focus on natural language instead of making people fill out forms and date pickers.<\/p>\n<p>Curious&#8230;..what&#8217;s the most surprising prompt PopTask has successfully turned into a task?<\/p>\n<p>Wishing you a fantastic launch today! \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;thanks laibaa \ud83d\ude4c\ud83c\udffd how about this one? <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cc2f9636-6b86-45c5-9c54-b8d88e8caab6.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The natural language parsing actually works as advertised, typed &#8220;dentist thursday 2pm&#8221; and it just landed correctly without me double-checking. Living in the menu bar makes it frictionless to dump tasks throughout the day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@egemeniler26204\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@egemeniler26204<\/a>&nbsp;this is exactly the moment i built it for .. type it the way you&#8217;d say it and get back to work, no double-checking \ud83d\ude4c\ud83c\udffd glad it&#8217;s clicking for you<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/HDGE7W7TNAZZ64\" class=\"app-title\">Orus <\/a><\/p>\n<div class=\"one-liner\">Claude for investing in perpetuals<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">124<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Orus \u662f\u4e00\u4e2a\u5c06Farao\u81ea\u6258\u7ba1\u4ea4\u6613\u8d26\u6237\u63a5\u5165AI\u804a\u5929\uff08WhatsApp\u3001Telegram\u3001Claude\u7b49\uff09\u7684MCP\u670d\u52a1\u5668\uff0c\u8ba9\u7528\u6237\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u5728100\u591a\u4e2a\u5e02\u573a\uff08\u52a0\u5bc6\u8d27\u5e01\u6c38\u7eed\u5408\u7ea6\u3001\u4ee3\u5e01\u5316\u80a1\u7968\u3001\u5916\u6c47\u3001\u5927\u5b97\u5546\u54c1\uff09\u8fdb\u884c\u7814\u7a76\u548c\u6267\u884c\u4ea4\u6613\uff0c\u8d44\u91d1\u59cb\u7ec8\u7531\u7528\u6237\u81ea\u5df1\u4fdd\u7ba1\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\/e000f2a8-387a-4fe8-aab1-b0a298283607.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/310b9864-5e56-4b81-908a-89ba6bb2db87.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\/546595c3-c02e-4444-bf92-7a3582a58ac6.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\/78e8f164-778c-45a7-87e2-8e1fd933ab01.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/TY-FK5dSnes\"><source src=\"https:\/\/youtu.be\/TY-FK5dSnes\" 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\">Android<\/span><br \/>\n            <span class=\"tag\">Messaging<\/span><br \/>\n            <span class=\"tag\">Fintech<\/span><br \/>\n            <span class=\"tag\">Investing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">AI\u4ea4\u6613\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u6c38\u7eed\u5408\u7ea6\u4ea4\u6613<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1\u94b1\u5305<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u4ea4\u6613<\/span><br \/>\n            <span class=\"tag\">\u591a\u5e02\u573a\u63a5\u5165<\/span><br \/>\n            <span class=\"tag\">\u52a0\u5bc6\u8d27\u5e01<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u7814\u7a76<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u53bb\u4e2d\u5fc3\u5316\u91d1\u878d(DeFi)<\/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\u81ea\u6258\u7ba1\u6a21\u5f0f\u548c\u624b\u52a8\u786e\u8ba4\u529f\u80fd\uff0c\u4f46\u6838\u5fc3\u4e89\u8bae\u96c6\u4e2d\u5728\u201c\u81ea\u4e3b\u4ea4\u6613\u201d\u98ce\u9669\u4e0a\uff1aAI\u53ef\u80fd\u56e0\u5e7b\u89c9\u9519\u8bef\u6267\u884c\u9ad8\u6760\u6746\uff08\u598240\u500d\uff09\u4ea4\u6613\uff0c\u4e14WhatsApp\/Telegram\u754c\u9762\u7f3a\u4e4f\u4f20\u7edf\u4ea4\u6613\u8f6f\u4ef6\u7684\u9632\u8bef\u64cd\u4f5c\u673a\u5236\u3002\u6b64\u5916\uff0c\u6709\u7528\u6237\u5173\u5fc3\u6e05\u7b97\u673a\u5236\u662f\u5426\u5b8c\u5168\u94fe\u4e0a\u6267\u884c\uff0c\u5e76\u8be2\u95ee\u4e3b\u8981\u76ee\u6807\u7528\u6237\uff08\u5df2\u6709\u7a33\u5b9a\u5e01\u6301\u6709\u8005\u8fd8\u662f\u65b0\u7528\u6237\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                Orus \u5de7\u5999\u5730\u5c06AI\u8bed\u8a00\u6a21\u578b\u7684\u201c\u4fbf\u5229\u6027\u201d\u4e0e\u81ea\u6258\u7ba1\u94b1\u5305\u7684\u201c\u5b89\u5168\u611f\u201d\u7f1d\u5408\u5728\u4e00\u8d77\uff0c\u5207\u4e2d\u4e86\u5f53\u524dDeFi\u9886\u57df\u201c\u8981\u6548\u7387\uff0c\u4e5f\u8981\u63a7\u5236\u6743\u201d\u7684\u6838\u5fc3\u77db\u76fe\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u4e8e\u7b80\u5355\u7684API\u5c01\u88c5\uff0c\u800c\u5728\u4e8e\u5c06\u4ea4\u6613\u51b3\u7b56\u4ece\u4e13\u4e1a\u7ec8\u7aef\u4e0b\u6c89\u5230\u65e5\u5e38\u901a\u8baf\u573a\u666f\u2014\u2014\u8fd9\u786e\u5b9e\u80fd\u964d\u4f4e\u65b0\u7528\u6237\u53c2\u4e0e\u6c38\u7eed\u5408\u7ea6\u8fd9\u79cd\u9ad8\u98ce\u9669\u4ea7\u54c1\u7684\u5fc3\u7406\u95e8\u69db\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u6700\u5927\u7684\u4eae\u70b9\u201c\u81ea\u4e3b\u6a21\u5f0f\u201d\u6070\u6070\u662f\u5176\u6700\u5927\u7684\u8106\u70b9\u3002\u7528\u6237\u7684\u5c16\u9510\u8d28\u7591\u5e76\u975e\u675e\u4eba\u5fe7\u5929\uff1aLLM\u7684\u201c\u81ea\u4fe1\u9519\u8bef\u201d\u914d\u4e0a\u6c38\u7eed\u5408\u7ea6\u7684\u9ad8\u6760\u6746\uff0c\u8db3\u4ee5\u4ea7\u751f\u6bc1\u706d\u6027\u7684\u8fde\u9501\u53cd\u5e94\u3002\u867d\u7136\u56e2\u961f\u8bbe\u5b9a\u4e86\u53ef\u914d\u7f6e\u7684\u8d44\u4ea7\u3001\u6760\u6746\u548c\u4ed3\u4f4d\u767e\u5206\u6bd4\u53c2\u6570\uff0c\u4f46\u8fd9\u672c\u8d28\u4e0a\u662f\u201c\u7ed9\u72af\u9519\u9650\u5b9a\u8303\u56f4\u201d\uff0c\u800c\u975e\u9632\u6b62\u72af\u9519\u672c\u8eab\u3002\u5c06\u4ea4\u6613\u6267\u884c\u4ea4\u7ed9\u4e00\u4e2a\u5728\u7fa4\u804a\u4e2d\u53ef\u80fd\u88ab\u201c\u5de7\u5999\u63d0\u793a\u8bcd\u201d\u8bef\u5bfc\u7684\u6a21\u578b\uff0c\u66b4\u9732\u51fa\u5bf9\u91d1\u878d\u98ce\u9669\u6839\u672c\u6027\u63a7\u5236\u903b\u8f91\u7684\u7406\u89e3\u4e0d\u8db3\u2014\u2014\u771f\u6b63\u7684\u98ce\u9669\u7ba1\u7406\u5e94\u57fa\u4e8e\u6570\u5b66\u6982\u7387\u548c\u8d44\u91d1\u66f2\u7ebf\uff0c\u800c\u975e\u9884\u8bbe\u53c2\u6570\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u89d2\u5ea6\u770b\uff0c\u8be5\u4ea7\u54c1\u6293\u4f4f\u4e86\u201cAI\u4ee3\u7406\u201d\u4e0e\u201c\u4ea4\u6613\u201d\u4e24\u4e2a\u70ed\u95e8\u6982\u5ff5\u7684\u4ea4\u6c47\u70b9\uff0c\u4f46\u5728\u4ea7\u54c1\u5b9a\u4f4d\u4e0a\u5b58\u5728\u6447\u6446\uff1a\u5b83\u7a76\u7adf\u662f\u8f85\u52a9\u7814\u7a76\u7684\u201cCopilot\u201d\uff0c\u8fd8\u662f\u653e\u624b\u6267\u884c\u7684\u201c\u81ea\u52a8\u9a7e\u9a76\u201d\uff1f\u5f53\u524d\u7248\u672c\u7684\u81ea\u4e3b\u6a21\u5f0f\u66f4\u50cf\u4e00\u573a\u7cbe\u5fc3\u5305\u88c5\u7684\u8d4c\u6ce8\uff0c\u9002\u5408\u597d\u5947\u5fc3\u65fa\u76db\u4e14\u80fd\u627f\u53d7\u6781\u7aef\u4e8f\u635f\u7684\u65e9\u671f\u73a9\u5bb6\uff0c\u4f46\u5bf9\u4e25\u8083\u4ea4\u6613\u8005\u800c\u8a00\uff0c\u624b\u52a8\u786e\u8ba4\u6a21\u5f0f\u4e0b\u7684\u7814\u7a76Copilot\u624d\u662f\u5176\u771f\u6b63\u53ef\u6301\u7eed\u7684\u4ef7\u503c\u6240\u5728\u3002\u672a\u6765\uff0cOrus\u9700\u8981\u56de\u7b54\u4e00\u4e2a\u5173\u952e\u95ee\u9898\uff1a\u5f53AI\u72af\u9519\u4e8f\u94b1\u65f6\uff0c\u8d23\u4efb\u5f52\u5c5e\u548c\u5bb9\u9519\u673a\u5236\u662f\u4ec0\u4e48\uff1f\u82e5\u65e0\u6cd5\u89e3\u51b3\uff0c\u5b83\u6ce8\u5b9a\u65e0\u6cd5\u4ece\u5c0f\u4f17\u6781\u5ba2\u5708\u8d70\u5411\u4e3b\u6d41\u91d1\u878d\u4e16\u754c\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\">Orus <\/span>\n                <\/div>\n<div class=\"comment-content\">Orus is an MCP server that puts your Farao trading account inside any AI chat. Connect WhatsApp, Telegram, Claude, ChatGPT, or Grok via OAuth and get full market research + execution across 100+ markets \u2014 crypto perps, tokenized stocks (Tesla, Nvidia), FX, and commodities. Funds stay in your self-custodial wallet. Choose manual confirmation per trade or set autonomous limits. Every session is tracked and revocable from the Farao app.<\/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, super excited to bring trading to a new level with Orus. <\/p>\n<p>Now you can connect your favorite messaging apps, starting with Whatsapp and Telegram, and your ChatGPT and Claude via the MCP. Defining your scope and permissions, Orus will scout your portfolio, find market opportunities and discuss with you what to do next.<\/p>\n<p>It&#8217;s the most advance perpetual future trading agent today and we can wait to see how it will help you capture more upside from news, macro events, and other data points. <\/p>\n<\/p>\n<p>Whatsapp shortcuts: <a href=\"https:\/\/wa.me\/12014094182?text=start\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/wa.me\/12014094182?text=start<\/a><br \/>Telegram shortcuts: <a href=\"https:\/\/t.me\/orusmcp_bot\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/t.me\/orusmcp_bot<\/a><\/p>\n<p>Come give it a try and let me know what do you think<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@joalavedra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joalavedra<\/a>, the detail that reassures me most is that the money stays somewhere only I can touch. Plenty of clever ideas in this space ask you to hand over that control, so keeping it with the person is what earns trust.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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;autonomous limits&#8221; option is what jumps out at me. once you let an LLM chat interface execute perp trades with 40x leverage unattended, you&#8217;re one hallucinated instruction or one cleverly worded message in a group chat away from a bad fill, and WhatsApp\/Telegram aren&#8217;t exactly hardened against that compared to a proper trading UI with confirmations. is there a spend\/exposure cap per session regardless of what the model decides, or is the autonomous mode fully trusting the model&#8217;s read of your limits<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Yes! very important, when connecting you can define manually and autonomously executing within your parameters (assets, leverage, % portfolio, etc.)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>For Farao, when you say \u201cInvesting with stablecoins,\u201d are you aiming more at people who already hold USDC\/USDT and want better allocation options, or at newer users who just want a simpler entry point? Also curious whether the product focuses on yield, diversification, or preserving value during market swings.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;It&#8217;s a good point! I think the first users attracted to it would be those that already have stablecoins, second order effect is users that want access to different assets globally!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>40x leverage on perpetuals is already a fast way to get liquidated when a human is making every decision. handing &#8220;autonomous limits&#8221; to an LLM reading news and macro events for you is a different risk category entirely, models are confidently wrong all the time and a confidently wrong trading agent with leverage turned on doesn&#8217;t give you a chance to catch the mistake before it&#8217;s expensive. the manual confirmation mode makes sense as a research copilot, the autonomous mode feels like it&#8217;s built for the demo more than for anyone&#8217;s actual account<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 idea. I like products that make investing workflows feel more conversational, especially for faster-moving markets.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 seems ideal for expats or digital nomads who need access to global financial markets from their mobile devices, without being tied to a specific country&#8217;s banking system.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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<blockquote>\n<p>the self-custodial part matters more than most trading apps acknowledge. 40x leverage on a platform where you don&#8217;t actually control your keys is a very different risk profile than 40x leverage where you do. curious how liquidations work though, if the market moves fast at 3am and your position gets liquidated, is that handled on-chain automatically or is there a centralized component involved?<\/p>\n<\/blockquote>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@joalavedra\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"joalavedra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joalavedra<\/a> god I want to use this SO badly&#8230; I am running a custom superintelligence agentic AI that&#8217;s tapping almost 100 MCP servers, many of which are custom, many of why are crypto-centric and have taken&#8230; elegant&#8230; maneuvering around safeguards clearly designed to stop folks from engaging onchain using LLMs&#8230; this feels like the missing piece, to me. I want this, so badly, haha, but it seems to setup the MCP with my agent, I need to be able to auth thru the Farao app itself, and, sadly, I find myself in &#8220;Apple Jail&#8221; for the time being &amp; cannot download new apps from the App Store&#8230; \ud83d\ude41<\/p>\n<\/p>\n<p>That said &#8211; do you have a TestFlight build for Farao out there? \ud83d\ude00 that would work while I serve my Apple Jail time \ud83d\ude09<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grey_seymour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grey_seymour<\/a>&nbsp;we&#8217;ve just issued an update where you can interact with it without Farao account to start<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a self-custodial app that doesn&#8217;t punish you with fees every time you adjust a position. The 40x on pre-IPO is wild, the onboarding was way smoother than I expected.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hseyin4pps\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hseyin4pps<\/a>&nbsp;awesome! Let me know how the rest of experience is for you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is super interesting! I&#8217;m curious with AI as an interface to trading, do you see research capabilities being the big unlock or the ability to place orders with natural language? Personally, I use my Interactive Brokers MCP all the time and don&#8217;t really touch the app anymore. For me, the unlock has been the research using Claude and punch in orders once I&#8217;ve decided what to do. I also like Whatsapp as an interface here, are most of your users preferring Whatsapp or their Claude as the interface 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raunaqvaisoha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raunaqvaisoha<\/a>&nbsp;we expect to have a bit of everything but Claude and Chatgpt have a higher barrier of entry because of UX. Messaging platforms are a way more natural fit to start a conversation<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/X66SYKT435MOBS\" class=\"app-title\">New small business tools by IFTTT<\/a><\/p>\n<div class=\"one-liner\">Run your business with HubSpot, Figma, and more<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">122<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>IFTTT\u65b0\u589e20\u4f59\u6b3e\u5546\u4e1a\u5de5\u5177\u96c6\u6210\uff0c\u5e2e\u52a9\u5c0f\u4f01\u4e1a\u4e3b\u5c06HubSpot\u3001Figma\u3001Xero\u7b49\u5e94\u7528\u4e0eSlack\u3001Google Sheets\u8054\u52a8\uff0c\u81ea\u52a8\u5316\u4ece\u5165\u804c\u3001\u5f00\u7968\u5230\u57df\u540d\u5230\u671f\u63d0\u9192\u7b49\u7e41\u7410\u8fd0\u8425\u6d41\u7a0b\uff0c\u89e3\u51b3\u201c\u65f6\u95f4\u788e\u7247\u5316\u201d\u4e0e\u201c\u591a\u7cfb\u7edf\u5272\u88c2\u201d\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ad65128c-7222-42cd-84ae-a78b901d49f4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/16ae4921-a815-4779-bee9-4fec3f5faf24.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a6196c4d-7f67-415d-b575-3c821a93afa3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Business<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">SaaS\u8fde\u63a5\u5668<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u4f01\u4e1a\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u5546\u4e1a\u5de5\u5177\u94fe<\/span><br \/>\n            <span class=\"tag\">IFTTT<\/span><br \/>\n            <span class=\"tag\">Zapier\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u89e6\u53d1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u80af\u5b9a\u57df\u540d\u5230\u671f\u63d0\u9192\u3001\u591a\u5e94\u7528\u8054\u52a8\u7b49\u5b9e\u7528\u4ef7\u503c\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u514d\u8d39\u7248\u80fd\u5426\u652f\u6491\u591a\u96c6\u6210\u5e76\u884c\uff1f\u5931\u8d25\u5de5\u4f5c\u6d41\u6709\u65e0\u91cd\u8bd5\u673a\u5236\u4e0e\u53ef\u89c6\u5316\u56de\u653e\uff1f\u9ad8\u5f71\u54cd\u64cd\u4f5c\uff08\u5982\u4ed8\u6b3e\u3001\u53d1\u9001\uff09\u662f\u5426\u8bbe\u786e\u8ba4\u6b65\u9aa4\uff1f\u5e0c\u671b\u589e\u52a0Discord\u539f\u751f\u96c6\u6210\u3001\u652f\u4ed8\u81ea\u52a8\u5316\u53ca\u65b0\u624b\u5f15\u5bfc\u8303\u4f8b\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                IFTTT\u8fd9\u6b21\u7684\u201c\u5546\u4e1a\u5de5\u5177\u5305\u201d\u66f4\u50cf\u662f\u4e00\u6b21\u9632\u5fa1\u6027\u66f4\u65b0\uff0c\u800c\u975e\u771f\u6b63\u7684\u521b\u65b0\u3002\u65b0\u589e\u7684HubSpot\u3001Figma\u3001Xero\u7b4920\u4f59\u6b3e\u96c6\u6210\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u8ffd\u8d76Zapier\u3001Make\u7b49\u7ade\u54c1\u65e9\u5df2\u8986\u76d6\u7684\u751f\u6001\u7248\u56fe\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u201c\u514d\u8d39\u7248\u80fd\u5426\u652f\u6491\u591a\u96c6\u6210\u5e76\u884c\u201d\u7684\u63d0\u95ee\uff0c\u76f4\u6307IFTTT\u5b9a\u4ef7\u7b56\u7565\u4e0e\u5546\u4e1a\u7528\u6237\u771f\u5b9e\u9700\u6c42\u4e4b\u95f4\u7684\u88c2\u7f1d\u2014\u2014\u5982\u679c\u51e0\u4e2aXero+HubSpot+SendGrid\u7684\u7ec4\u5408\u5c31\u628a\u4f60\u6253\u56de\u4ed8\u8d39\u5899\uff0c\u90a3\u201c\u4e00\u7ad9\u5f0f\u81ea\u52a8\u5316\u201d\u5c31\u6210\u4e86\u4f2a\u547d\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u70b9\u4e0d\u5728\u4e8e\u201c\u65b0\u589e\u7684\u96c6\u6210\u6570\u91cf\u201d\uff0c\u800c\u5728\u4e8eMCP\uff08\u6a21\u578b\u4e0a\u4e0b\u6587\u534f\u8bae\uff09\u8def\u5f84\u7684\u6269\u5c55\u3002\u5f53\u7528\u6237\u901a\u8fc7Claude\u7b49AI\u52a9\u624b\u81ea\u7136\u8bed\u8a00\u7f16\u6392IFTTT\u65f6\uff0c\u5b83\u628a\u65e0\u4ee3\u7801\u81ea\u52a8\u5316\u964d\u4f4e\u5230\u4e86\u4e00\u4e2a\u771f\u6b63\u7684\u201c\u96f6\u601d\u8003\u5c42\u201d\u3002\u4f46\u5371\u9669\u4e5f\u85cf\u5728\u8fd9\u91cc\uff1a\u591a\u540d\u7528\u6237\u8d28\u7591AI\u5728\u201cSlack vs. Discord\u201d\u7b49\u6a21\u7cca\u6307\u4ee4\u4e0b\u7684\u9519\u8bef\u914d\u5bf9\uff0c\u800cIFTTT\u4ec5\u9760\u201c\u9884\u89c8\u6b65\u9aa4\u201d\u7ea6\u675f\uff0c\u7f3a\u4e4f\u8fd0\u884c\u65f6\u9519\u8bef\u8ffd\u6eaf\u4e0e\u81ea\u52a8\u4fee\u590d\u673a\u5236\uff0c\u5bf9\u5c0f\u4f01\u4e1a\u800c\u8a00\u662f\u81f4\u547d\u7684\u4fe1\u4efb\u9ed1\u6d1e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4eae\u70b9\u662f\u5b98\u65b9\u5bf9\u793e\u533a\u53cd\u9988\u7684\u54cd\u5e94\u901f\u5ea6\u2014\u2014\u660e\u786e\u627f\u8bfa\u52a0\u5165\u9ad8\u5f71\u54cd\u64cd\u4f5c\u786e\u8ba4\u6b65\u9aa4\uff0c\u5e76\u5c55\u793a\u8be6\u7ec6\u7684Activity History\u3002\u4f46\u77ed\u677f\u540c\u6837\u660e\u663e\uff1a\u5b83\u4ecd\u672a\u89e3\u51b3\u201c\u5931\u8d25\u540e\u600e\u4e48\u529e\u201d\u7684\u7ec8\u6781\u95ee\u9898\u3002\u6ca1\u6709\u65ad\u70b9\u91cd\u8bd5\u3001\u6ca1\u6709\u4ed8\u8d39\u81ea\u52a8\u5316\u56de\u6eda\uff0c\u4f60\u5728Slack\u91cc\u6536\u5230\u4e00\u6b21\u9519\u8bef\u901a\u77e5\uff0c\u8fd8\u4e0d\u5982\u53bb\u624b\u52a8\u53d1\u90ae\u4ef6\u3002\u5bf9\u4e8e\u521d\u521b\u56e2\u961f\uff0c\u5b83\u662f\u4e2a\u4e0d\u9519\u7684\u80f6\u6c34\u5c42\uff1b\u4f46\u5bf9\u4e8e\u5c0f\u4f01\u4e1a\u4e3b\uff0cIFTTT\u8fd8\u9700\u8bc1\u660e\u81ea\u5df1\u4e0d\u53ea\u662f\u201c\u66f4\u70ab\u7684if\/then\u73a9\u5177\u201d\uff0c\u800c\u662f\u771f\u6b63\u80fd\u6297\u98ce\u9669\u7684\u751f\u4ea7\u529b\u5e95\u5ea7\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\">New small business tools by IFTTT<\/span>\n                <\/div>\n<div class=\"comment-content\">A whole new stack of business tools just hit IFTTT. Connect HubSpot, Figma, Customer.io, Xero, FreshBooks, SendGrid, Apollo, and 13 more to automate the parts of running a business that eat up your time. Whether you&#8217;re onboarding a new hire, sending invoices, launching a product, or keeping your website up, it all runs once connected. Even your domain expiration won&#8217;t catch you off guard. Hook it all up to Slack, Google Sheets, SMS, and more.<\/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>Today we&#8217;re introducing 20 brand new business integrations on IFTTT: BambooHR, Smartsheet, Cal.com, Cloudflare, FreshBooks, Xero, Apollo, Printful, GoDaddy, Linear, Lemon Squeezy, Campaign Monitor, MailerLite, SendGrid, Intercom, Ghost, Wistia, HubSpot, Wix, and Figma. <\/p>\n<p>Connect your favorite business tools to Slack, Google Sheets, SMS, and more. You can even set up custom mobile notifications or widgets so you never miss a thing while you&#8217;re heads down.<\/p>\n<p>We&#8217;d love to keep building for the business community. What other business tools or integrations would you like to see on IFTTT next? Drop them in the comments! \ud83d\udcbc<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the recipe cards look, the little if\/then framing makes it instantly clear what each automation does without needing to open it up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@z_ezgi10358\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@z_ezgi10358<\/a>&nbsp;Thank 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>the domain expiration trigger is the kind of thing that sounds minor until it&#8217;s the one that saves you. one thing I&#8217;m curious about since this is aimed at small businesses specifically: does stacking a few of these business integrations (Xero, HubSpot, SendGrid, etc all running applets at once) push you past the free tier pretty fast, or is the pricing actually built around running several of these together rather than the old one-applet-at-a-time IFTTT most people remember<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 domain expiration trigger alone is worth installing this for &#8211; that&#8217;s the kind of thing that never surfaces until it&#8217;s already broken something. Between invoicing, onboarding, and keeping a website up across a few different companies, most of my &#8220;running the business&#8221; time is just remembering which system to check. Connecting Xero and FreshBooks into one automation layer instead of checking each dashboard separately is a real time save.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Yes! I love this framing and suite of tools for workflows and business automation. Timely. Looking forward to digging into it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The MCP path is what caught my eye, since you now have Claude composing applets across 20-odd services. When we exposed a big pile of tool integrations to an agent over MCP, the failure wasn&#8217;t a single action erroring, it was the model confidently wiring up a plausible-but-wrong pair when two services had near-identical capabilities (a &#8216;post message&#8217; living in both Slack and Discord, say). The preview step catches the obvious mis-wires, but does the MCP hand the model enough per-service context to disambiguate before it even proposes the applet?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 expansion to your automated platforms. Currently I tend to use a competitor of yours for these sorts of tasks but given you have Xero now I will be experimenting with IFTTT a bit moving forward. Given the growth of agentic\/automated development, I am wondering if we can expect payments automation through your tools? <\/p>\n<p>ie. IF invoice received &gt; Pay from X<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jhooley\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jhooley<\/a>&nbsp;That&#8217;s a great question! Some of our existing tools, like Stripe, have actions like &#8220;Create a payment link&#8221;. Would that work for the flow you have in mind?<\/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>For a small community\/launch team this is the glue layer we always end up hand-rolling, wiring Linear or HubSpot events into a Slack channel without standing up our own webhook plumbing. The one thing I&#8217;d test first: when a downstream action fails (a SendGrid rate limit, or a Slack post to an archived channel), does the applet retry, surface the failure somewhere I&#8217;ll actually see, or silently drop it? And since you asked, Discord as a first-class action (not just via generic webhook) would cover most of the community side for us.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hazy0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hazy0<\/a>&nbsp;I&#8217;ll have someone from our product or engineering teams confirm the failure\/retry. We do have Discord actions! <a href=\"https:\/\/ifttt.com\/discord\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/ifttt.com\/discord<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>These definitely look like a useful suite of additional tools for IFTTT. Have used the product on and off for many years, but I have often struggled to find the right combination of tools to be genuinely useful. The additions in this release would certainly have made a difference in previous roles. Congrats.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey<a href=\"https:\/\/www.producthunt.com\/@martin_tanner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@martin_tanner<\/a>&nbsp;! Love to hear that you&#8217;ve been using IFTTT throughout the years! We&#8217;re always looking at adding new services, triggers, queries and actions to our suite of integrations so if anything your workflows ever need that we don&#8217;t support always feel free to reach out, and we&#8217;re more than happy to try build it where possible!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 small businesses, the missing piece is usually not &#8220;can this automate?&#8221; but &#8220;can I understand what happened when it fails?&#8221; Activity history, replay\/dry-run, and a clear approval step for irreversible actions would make these integrations much easier to trust in the messy weekly operations layer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;Love that feedback. We have a detailed activity history for each Applet that you can view at any time. The replay and approval features would be great additions as 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>I enjoy seeing practical automation instead of extra features. Could guided examples help first time users finish faster? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mikkel_banner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikkel_banner<\/a>&nbsp;That&#8217;s a great idea. Do you have any suggestions on examples that might be helpful? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How much control do users have over failed workfloes? A detailed activity history with easy recovery steps would build more confidence for growing businesses. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hana_salazars\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hana_salazars<\/a>&nbsp;Great question! There&#8217;s currently an activity history that you can access directly from the Applet page. Providing recovery steps is definitely on our list. I&#8217;d love to hear more what you have in mind around this and what would be helpful.<\/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>for actions that are hard to undo (like sending a message or triggering a smart lock), is there any built-in confirmation step before Claude actually fires the applet, or is that entirely up to how carefully the user phrases the request?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Hi <a href=\"https:\/\/www.producthunt.com\/@ulykbek11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ulykbek11<\/a>! Love this question! <\/p>\n<p>Short answer: it&#8217;s not left up to phrasing. Claude (via our MCP) always shows you the applet it&#8217;s about to create and exactly what it will do, so nothing gets set up without you seeing it first. And for anything with physical or social side effects (smart locks, sending messages, etc.) you are notified whenever the applet runs. A first-class confirmation step before high-consequence actions fire is high on our list too. Appreciate you pushing on this! :pray:<\/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>Set up a quick applet to save my Instagram posts to Dropbox and it worked on the first try without any fuss. The interface is simple enough that I actually understand what each step does.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fatihkzlckx9im\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fatihkzlckx9im<\/a>&nbsp;thanks for sharing your experience! That&#8217;s exactly why and how IFTTT was designed!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/7466ZKE4PFHB3G\" class=\"app-title\">Universal-3.5 Pro<\/a><\/p>\n<div class=\"one-liner\">The most accurate STT model from AssemblyAI.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">119<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Universal-3.5 Pro\u662fAssemblyAI\u63a8\u51fa\u7684\u9ad8\u7cbe\u5ea6\u8bed\u97f3\u8f6c\u6587\u5b57\u6a21\u578b\uff0c\u4e13\u4e3a\u5904\u7406\u591a\u8bed\u8a00\u6df7\u5408\u3001\u591a\u4eba\u5bf9\u8bdd\u3001\u5608\u6742\u73af\u5883\u7b49\u771f\u5b9e\u573a\u666f\u4e2d\u7684\u97f3\u9891\u8f6c\u5f55\u75db\u70b9\u800c\u8bbe\u8ba1\uff0c\u652f\u6301\u5b9e\u65f6\u4e0e\u5f02\u6b65\u7aef\u70b9\uff0c\u786e\u4fdd\u8f6c\u5f55\u51c6\u786e\u6027\u4ee5\u652f\u6491\u4e0b\u6e38\u5206\u6790\u3001\u6458\u8981\u3001\u641c\u7d22\u7b49\u5e94\u7528\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\/c68c3264-c47e-4922-9e92-0d5153be284f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0208fc76-50bc-4591-a23b-847f50bc0bd1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/706c9d65-056b-4b04-be1e-0ac7cc892785.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b05785dd-7296-46bf-a157-a7d4c05d884c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/87ce00f2-93d0-4cee-84da-ea2151b6e3c2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c755c34e-4683-4a3c-849c-1ed650652f00.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\/f50b35ea-1a34-4464-930d-c05b6fc5cc34.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=2n6j384MT4Q&#038;t=3s\"><source src=\"https:\/\/www.youtube.com\/watch?v=2n6j384MT4Q&#038;t=3s\" 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\">\u8bed\u97f3\u8f6c\u6587\u5b57<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u79cd\u7801\u5207\u6362<\/span><br \/>\n            <span class=\"tag\">\u8bf4\u8bdd\u4eba\u5206\u79bb<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u8f6c\u5f55<\/span><br \/>\n            <span class=\"tag\">\u5f02\u6b65\u8f6c\u5f55<\/span><br \/>\n            <span class=\"tag\">AI\u8bed\u97f3\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u63d0\u793a<\/span><br \/>\n            <span class=\"tag\">\u9ad8\u5206\u51c6\u7387<\/span><br \/>\n            <span class=\"tag\">\u8054\u5408\u5efa\u6a21<\/span><br \/>\n            <span class=\"tag\">AssemblyAI<\/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\u7801\u5207\u6362\u548c\u8bf4\u8bdd\u4eba\u5206\u79bb\u7684\u51c6\u786e\u5ea6\uff0c\u5e76\u8ffd\u95ee\u8bf4\u8bdd\u4eba\u5f52\u5c5e\u7f6e\u4fe1\u5ea6\u3001PII\u8131\u654f\u65f6\u673a\u3001\u5b9a\u4ef7\u4e0e\u5e76\u53d1\u9650\u5236\uff1b\u6d4b\u8bd5\u8005\u53cd\u9988\u5206\u79bb\u6548\u679c\u4f18\u79c0\uff0c\u73b0\u573a\u4fe1\u566a\u6bd4\u9ad8\u7684\u573a\u666f\u8868\u73b0\u7a81\u51fa\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                Universal-3.5 Pro\u7684\u53d1\u5e03\uff0c\u672c\u8d28\u4e0a\u662fAssemblyAI\u5bf9\u201c\u8f6c\u5f55\u8d28\u91cf\u662fAI\u8bed\u97f3\u4ea7\u54c1\u5929\u82b1\u677f\u201d\u8fd9\u4e00\u547d\u9898\u7684\u6b63\u672c\u6e05\u6e90\u3002\u5f53\u4e0b\u591a\u6570\u8bed\u97f3\u4ee3\u7406\u3001\u667a\u80fd\u6458\u8981\u4ea7\u54c1\u7684\u5931\u8d25\u5e76\u975e\u6e90\u4e8e\u8bed\u4e49\u7406\u89e3\uff0c\u800c\u662f\u5e95\u5c42ASR\u5bf9\u201c\u8c01\u8bf4\u4e86\u4ec0\u4e48\u201d\u7684\u9519\u8bef\u8bb0\u8d26\u3002\u4ece\u7528\u6237\u8bc4\u8bba\u4e2d\u201c\u8bf4\u8bdd\u4eba\u9519\u8bef\u7a7f\u7740\u8f6c\u5f55\u51c6\u786e\u6027\u5916\u8863\u201d\u7684\u7cbe\u51c6\u5410\u69fd\u5c31\u80fd\u770b\u51fa\uff0c\u884c\u4e1a\u957f\u671f\u5728\u89e3\u51b3\u566a\u58f0\u3001\u53e3\u97f3\u7b49\u95ee\u9898\u4e0a\u5806\u7b97\u529b\uff0c\u5374\u5ffd\u89c6\u4e86\u66f4\u6839\u672c\u7684\u8bf4\u8bdd\u4eba\u5f52\u5c5e\u9519\u8bef\u2014\u2014\u5c24\u5176\u5728\u591a\u4eba\u5bf9\u8bdd\u4e2d\uff0c\u4e00\u65e6\u6807\u7b7e\u9519\u4f4d\uff0c\u4e0b\u6e38\u4efb\u4f55\u57fa\u4e8e\u8bf4\u8bdd\u4eba\u8eab\u4efd\u7684\u63a8\u7406\uff08\u5982\u5ba2\u6237\u540c\u610f\u3001\u5173\u952e\u627f\u8bfa\uff09\u5747\u4f1a\u4e00\u9519\u767e\u9519\u3002Universal-3.5 Pro\u7684\u6838\u5fc3\u5dee\u5f02\u5728\u4e8e\u5c06\u8bf4\u8bdd\u4eba\u5206\u79bb\u4e0eASR\u8054\u5408\u5efa\u6a21\uff0c\u800c\u975e\u4f20\u7edf\u5148\u8f6c\u5f55\u540e\u5206\u79bb\u7684\u62fc\u63a5\u65b9\u6848\uff0c\u8fd9\u624d\u662f\u89e3\u51b3\u201c\u542c\u89c9\u6df7\u4e71\u201d\u573a\u666f\u7684\u6839\u672c\u8def\u5f84\u3002\u4e0d\u8fc7\uff0c\u4ea7\u54c1\u9762\u4e16\u4ecd\u9700\u9762\u5bf9\u4e09\u4e2a\u73b0\u5b9e\u62f7\u95ee\uff1a\u4e00\u662f18\u8bed\u8a00\u4ee5\u5916\u7684\u7801\u5207\u6362\u5982\u4f55\u964d\u7ea7\uff1f\u7528\u6237\u76f4\u89c2\u62c5\u5fc3\u201c\u770b\u4f3c\u5e72\u51c0\u7684\u8f6c\u5f55\u5b9e\u9645\u5077\u5077\u72af\u9519\u201d\uff0c\u8fd9\u662f\u6a21\u578b\u8fb9\u754c\u4e0d\u900f\u660e\u5e26\u6765\u7684\u4fe1\u4efb\u5371\u673a\uff1b\u4e8c\u662f\u8bf4\u8bdd\u4eba\u7f6e\u4fe1\u5ea6\u867d\u88ab\u660e\u786e\u63d0\u53ca\uff0c\u4f46\u81f3\u4eca\u672a\u53d1\u5e03\uff0c\u4f9d\u8d56\u8fd9\u79cd\u4e3b\u89c2\u201c\u6b63\u5728\u5b9e\u9a8c\u201d\u54cd\u5e94\u4f1a\u900f\u652f\u4f01\u4e1a\u5ba2\u6237\u7684\u53ef\u7528\u6027\u5224\u65ad\uff1b\u4e09\u662f\u5b9a\u4ef7\u867d\u516c\u5f00\uff08\u5b9e\u65f6\u7aef\u70b9$0.45\/\u5c0f\u65f6\uff09\uff0c\u4f46API\u63a5\u53e3\u5bf9\u4e0a\u4e0b\u6587\u63d0\u793a\u957f\u5ea6\u548c\u5b9e\u65f6\u5ef6\u8fdf\u7684\u5e73\u8861\uff0c\u76ee\u524d\u56de\u5e94\u5c1a\u6a21\u7cca\u3002AssemblyAI\u51ed\u501f\u672c\u6b21\u53d1\u5e03\u62c9\u9ad8\u4e86\u8bed\u97f3\u8f6c\u5f55\u7684\u884c\u4e1a\u95e8\u6846\uff0c\u4f46\u8981\u8ba9\u4e0b\u6e38\u4efb\u52a1\u771f\u6b63\u201c\u4fe1\u6258\u201d\u5176\u8f93\u51fa\uff0c\u8fd8\u9700\u8981\u5728\u7f6e\u4fe1\u5ea6\u66b4\u9732\u3001\u8d8a\u754c\u8bed\u97f3\u5904\u7406\u7b49\u7ec6\u8282\u4e0a\u62ff\u51fa\u786c\u6307\u6807\uff0c\u800c\u975e\u4ec5\u9760\u201c\u6211\u4eec\u5b9e\u9a8c\u8fc7\u201d\u6765\u5b89\u629a\u5f00\u53d1\u8005\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\">Universal-3.5 Pro<\/span>\n                <\/div>\n<div class=\"comment-content\">Universal-3.5 Pro is AssemblyAI&#8217;s most accurate speech-to-text model, now available at our Realtime &#038; Async endpoints. It transcribes every conversation exactly as it&#8217;s heard\u2014code-switching across 18 languages, our most accurate speaker diarization yet, and contextual prompting to steer results.<\/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 Happy to be back with another model from the team at AssemblyAI, and today we&#8217;re launching Universal-3.5 Pro for Async &amp; Realtime.<\/p>\n<p>If you&#8217;ve ever built on top of transcription, you know the transcript is the first mile: everything downstream\u2014summaries, agents, analytics, search\u2014is only as good as the words you start with. So we focused this release on getting that first mile right, especially for the messy, multilingual, real-world audio that most models still stumble on.<\/p>\n<p>Three things we&#8217;re most excited about:<\/p>\n<p>\ud83c\udf0d Native code-switching across 18 languages. When a speaker moves from English to Spanish and back mid-sentence, Universal-3.5 Pro transcribes the mix in the language it was actually spoken\u2014no separate models, no configuration, no mangled boundaries. It&#8217;s native to the model across English, Spanish, German, French, Portuguese, Italian, Turkish, Dutch, Swedish, Norwegian, Danish, Finnish, Hindi, Vietnamese, Arabic, Hebrew, Japanese, and Mandarin.<\/p>\n<p>\ud83d\udde3\ufe0f Our most accurate speaker diarization yet. Cleaner &#8220;who said what,&#8221; including on short turns, overlapping speech, and noisy environments where diarization usually falls apart. [Drop in the DER \/ cpWER improvement figure from the post.]<\/p>\n<p>\u270d\ufe0f Contextual prompting. Give the model a plain-language prompt about your audio\u2014the domain, the scenario, the names and jargon that matter\u2014and it biases toward getting those right. No brittle vocabulary lists to maintain.<\/p>\n<p>\u2014 Devon &amp; the AssemblyAI team<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">This is amazing. Many people in the world are bilingual and I can\u2019t wait to test this. \ud83d\ude4c<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;Great to see more attention on multilingual audio. Many conversations today naturally mix languages, and AI should handle that without extra  setup.<\/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>Makes sense it&#8217;s still cooking. As a stopgap we ended up flagging any segment where the speaker label flipped inside a short window as low-trust, then holding it back from the summary until someone actually glanced at it. Crude, but it cut the silent misattribution bugs a lot. A native per-segment confidence would let us delete that whole heuristic, so glad it&#8217;s on the radar. Thanks for passing it along to the team.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the joint diarization + ASR pass is the real differentiator here, most of the transcription-quality complaints I&#8217;ve seen elsewhere are actually speaker-attribution bugs wearing a transcription-accuracy costume. curious what happens at the edge of the 18-language list though: if someone code-switches into a language that&#8217;s not in that set, does it degrade gracefully and flag low confidence, or does it just force-fit the nearest supported language and hand you a clean-looking transcript that&#8217;s quietly wrong<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The PII redaction + LLM gateway combo is the part I would wire in first for anything touching call recordings. Concrete question on the boundary: does redaction happen before the raw transcript is ever persisted or logged on your side, or is it a post-processing pass over a transcript you have already stored? And with contextual prompting to steer results, does the prompt\/context I pass get retained or logged anywhere, or is it dropped right after the request?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! The code-switching support is honestly what stood out to me most, built for real conversations instead of clean single-language audio. Also like that the contextual prompting section shows actual before\/after examples instead of just claims. Curious how it handles domain-specific jargon at scale, like the medical entity example. Is there a limit to how much context you can feed it before latency takes a hit on the Realtime endpoint?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Just tested this with a few recordings, and it\u2019s great. The speaker diarization is very accurate.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@imukulmunjal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@imukulmunjal<\/a>&nbsp;thanks for giving it a shot, Mukul! Glad to hear you had a good experience<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 joint diarization and ASR approach resonates. When we piped transcripts into an agent pipeline, our worst bugs weren&#8217;t word errors, they were speaker mixups: one misattributed turn and every downstream summary that keyed on who-said-what inherited the mistake, silently. Since you produce speaker-change points in the same pass, do you expose a per-segment confidence on the attribution specifically, separate from the transcription confidence? That&#8217;s the signal I&#8217;d want to gate on before letting an agent act on something like &#8216;the customer agreed to X.&#8217;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;this is a great question, our team has been experimenting with versions of speaker confidences as a feature on this model but we haven&#8217;t released them yet. I&#8217;ll share this feedback with our product team \ud83d\udc40<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 grabs me is transcripts I can actually trust when the audio is a mess. Half the recordings I deal with have people talking over each other and switching languages mid sentence, so this feels genuinely useful, Devon.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@robin_de_lacroix\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robin_de_lacroix<\/a>&nbsp;Thank you for the kind words! You&#8217;re definitely not alone in that, crosstalk and mid-sentence switching is where most models fall apart. That&#8217;s exactly why our team built this model. If you&#8217;ve got a messy recording handy, run it through our <a href=\"https:\/\/www.assemblyai.com\/playground\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Playground<\/a> and let me know how it performs, would love your feedback! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the pricing scale once you start pushing a lot of real-time streaming hours, and are there usage caps or rate limits I should plan around when building a voice agent?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ozcifttaha29558\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ozcifttaha29558<\/a>&nbsp;Universal-3.5 Pro <strong><em>Realtime<\/em><\/strong> is $0.45\/hr, with options to scale as your volume increases. You can always <a href=\"https:\/\/www.assemblyai.com\/contact\/sales\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reach out to our team<\/a> for a better understanding of what is available at your volume levels! <\/p>\n<p>There is no cap on concurrent streams and no overage fees\u2014concurrency auto-scales starting at 100 new streams\/min, and whenever you&#8217;re using ~70% or more of your current limit, it automatically raises 10% every 60 seconds.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 really interesting from a filmmaker\/interviewer perspective. I immediately think of long interviews, oral history projects and documentary archives where the real value is not just transcription, but being able to find the exact moment someone said something important.<\/p>\n<p>Curious how well AssemblyAI handles long-form interviews with multiple speakers, accents and imperfect field audio. Do you see makers using this for media archives and documentary workflows too, or is your main focus now voice agents and product teams?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@elsedes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elsedes<\/a>&nbsp;Great framing\u2014&#8221;finding the exact moment&#8221; has been a difficult problem to solve. Conventional systems run diarization as a separate system from the ASR, then try to stitch the two together by aligning timestamps. Universal-3.5 Pro solves both problems jointly, producing not just the transcript, but also where in that transcript the speaker changes.<\/p>\n<p>And yes, media archives, oral history, and documentary workflows are a great fit. If you&#8217;ve got a tricky recording, try running it through Universal-3.5 Pro in our Playground\u2014we&#8217;d love to hear how the model works on your audio.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/NXJDFDBP7JKCHO\" class=\"app-title\">NanoKVM-Go<\/a><\/p>\n<div class=\"one-liner\">Give your AI agent physical control over any screen<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">116<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>NanoKVM-Go \u662f\u4e00\u6b3e\u624b\u8868\u5927\u5c0f\u3001\u65e0\u670d\u52a1\u5668\u7684 4K KVM \u8bbe\u5907\uff0c\u901a\u8fc7 USB-C \u8fde\u63a5\u548c Wi-Fi 6\uff0c\u8ba9 AI \u667a\u80fd\u4f53\u80fd\u4ee5\u786c\u4ef6\u7ea7\u6743\u9650\u8fdc\u7a0b\u67e5\u770b\u5c4f\u5e55\u3001\u63a7\u5236\u952e\u76d8\u9f20\u6807\uff0c\u89e3\u51b3\u64cd\u4f5c\u7cfb\u7edf\u5d29\u6e83\u3001BIOS \u8bbe\u7f6e\u7b49\u4f20\u7edf\u8f6f\u4ef6\u8fdc\u7a0b\u5de5\u5177\u65e0\u6cd5\u89e6\u53ca\u7684\u6b7b\u89d2\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\/ed552986-a5b1-4e45-b8b9-6b32e61a287c.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\/f934467c-e19f-4703-8145-a46624ebaac7.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\/17246739-e20a-4869-83bf-04a652a1b0fc.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\/cb5047c3-725b-4064-bcde-ca0f0321b1d8.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\/48a58962-5387-40a7-8780-c5f399e8bb26.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\/2fd33f1b-249f-463d-8364-1ed8146b5f5e.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\/d0155884-b9cb-4a44-b248-8e1d51a322f7.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\/f23f9098-1e1f-4caa-b405-eb11a75d558c.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\/4286dbd3-1cf3-4a69-8737-b27dc284fbc9.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\/154cdb98-d6bb-42b8-97e8-e4d0bda66593.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\/dc8961b4-8fae-491c-aef1-c062c2544e4d.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=qkVUMs2S7ks\"><source src=\"https:\/\/www.youtube.com\/watch?v=qkVUMs2S7ks\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Hardware<\/span><br \/>\n            <span class=\"tag\">Computers<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">KVM<\/span><br \/>\n            <span class=\"tag\">AI \u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u786c\u4ef6\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u8fdc\u7a0b\u8fd0\u7ef4<\/span><br \/>\n            <span class=\"tag\">4K \u89c6\u9891<\/span><br \/>\n            <span class=\"tag\">Wi-Fi 6<\/span><br \/>\n            <span class=\"tag\">Tailscale<\/span><br \/>\n            <span class=\"tag\">MCP \u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u65e0\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">OCR \u5c4f\u5e55\u8bb0\u5fc6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u805a\u7126\u786c\u4ef6\u7ea7\u63a7\u5236\u7684\u72ec\u7279\u4ef7\u503c\uff0c\u5982\u8c03\u8bd5\u5185\u6838\u5d29\u6e83\u4e0e BIOS\uff1b\u5173\u5fc3\u5173\u952e\u6307\u6807\uff1a4K \u4e0b\u6355\u83b7\u5230\u8f93\u5165\u7684\u5ef6\u8fdf\u4e0e\u5e27\u7387\u3001Mac \u5524\u9192\u529f\u80fd\u3001\u7269\u7406\u8bbe\u5907\u88ab\u76d7\u540e\u672c\u5730\u8ba4\u8bc1\u662f\u5426\u5f3a\u5236\u3001OCR \u7d22\u5f15\u7684\u9690\u79c1\u8fc7\u6ee4\u673a\u5236\uff0c\u4ee5\u53ca\u8d2d\u4e70\u6e20\u9053\u4e0d\u7545\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                NanoKVM-Go \u8d70\u7684\u662f\u4e00\u6761\u201c\u51fa\u5947\u5236\u80dc\u201d\u7684\u8def\u7ebf\u2014\u2014\u5f53\u6240\u6709 AI Agent \u8fd8\u5728\u8f6f\u4ef6 API \u7684\u6846\u6846\u91cc\u5377\u201c\u5c4f\u5e55\u622a\u56fe+\u50cf\u7d20\u70b9\u51fb\u201d\u65f6\uff0c\u5b83\u76f4\u63a5\u7ed5\u9053\u81f3\u786c\u4ef6\u5c42\u9762\uff0c\u7528\u4e00\u9897 KVM \u82af\u7247\u63d0\u4f9b\u4e86 Agent \u65e0\u6cd5\u88ab\u64cd\u4f5c\u7cfb\u7edf\u6545\u969c\u201c\u6574\u778e\u201d\u7684\u6700\u7ec8\u4fdd\u5e95\u80fd\u529b\u3002\u8fd9\u4e2a\u601d\u8def\u672c\u8eab\u662f\u7280\u5229\u7684\uff1a\u7cfb\u7edf\u6b7b\u673a\u3001BIOS \u8c03\u8bd5\u3001\u65e0\u5934\u670d\u52a1\u5668\u5931\u8054\uff0c\u8fd9\u4e9b\u573a\u666f\u4e0b\u4efb\u4f55 SSH\u3001RDP \u751a\u81f3\u82f9\u679c\u7684\u5c4f\u5e55\u5171\u4eab\u90fd\u662f\u6446\u8bbe\uff0c\u800c\u4e00\u4e2a\u62bd\u79bb\u4e8e OS \u4e4b\u5916\u7684 HID+HDMI \u901a\u9053\uff0c\u624d\u662f\u771f\u6b63\u7684\u201c\u7269\u7406\u514d\u75ab\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\u4e0e\u5176\u8bf4\u5728\u4e8e\u201c\u7ed9 AI \u4e00\u53cc\u5916\u6302\u7684\u773c\u775b\u201d\uff0c\u4e0d\u5982\u8bf4\u5b83\u91cd\u65b0\u5b9a\u4e49\u4e86\u8fdc\u7a0b\u8fd0\u7ef4\u7684\u7269\u7406\u8fb9\u754c\u3002MCP \u534f\u8bae\u7684\u5f15\u5165\u8ba9 Agent \u53ef\u4ee5\u539f\u751f\u8c03\u7528 KVM \u80fd\u529b\uff0c\u672c\u8d28\u4e0a\u662f\u628a\u4e4b\u524d\u53ea\u6709\u8fd0\u7ef4\u5de5\u7a0b\u5e08\u624b\u91cc\u7684\u201c\u786c\u4ef6\u8fdc\u7a0b\u624b\u201d\u53d8\u6210\u4e86 AI \u7684\u6807\u914d\u5de5\u5177\u2014\u2014\u8fd9\u5f88\u5bf9\uff0cAI \u4e0d\u5e94\u53ea\u5728\u8f6f\u4ef6\u6808\u91cc\u6253\u8f6c\uff0c\u5177\u5907\u7269\u7406\u52a8\u4f5c\u7684 Agent \u624d\u6709\u672a\u6765\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ece\u4e13\u4e1a\u89c6\u89d2\u9700\u8981\u51b7\u9759\u5ba1\u89c6\uff1a\u4ea7\u54c1\u7684\u6838\u5fc3\u58c1\u5792\u662f\u201c\u786c\u4ef6\u7ea7\u4ecb\u5165\u201d\uff0c\u4f46\u7528\u6237\u5bf9\u5ef6\u8fdf\u3001\u5e27\u7387\uff084K \u4e0b\u80fd\u5426\u505a\u5230\u6d41\u7545\u753b\u9762\uff1f\uff09\u3001\u4ee5\u53ca\u8de8\u7cfb\u7edf\u5524\u9192\u517c\u5bb9\u6027\u6709\u6781\u5177\u5206\u91cf\u7684\u7591\u95ee\uff0c\u5c24\u5176\u6700\u540e\u4e00\u6761\u76f4\u63a5\u51b3\u5b9a\u662f\u5426\u6709\u5b9e\u7528\u57fa\u7840\u3002\u66f4\u81f4\u547d\u7684\u5b89\u5168\u95ee\u9898\u2014\u2014\u7269\u7406\u8bbe\u5907\u4e00\u65e6\u843d\u5165\u4ed6\u4eba\u4e4b\u624b\uff0cTailscale \u7f51\u7edc\u7a76\u7adf\u505a\u4e86\u51e0\u5c42\u672c\u5730\u8ba4\u8bc1\uff1f\u5982\u679c\u4ec5\u4ec5\u662f\u201c\u5165\u4e86\u7f51\u5c31\u80fd\u63a7\u201d\uff0c\u90a3\u5b83\u4e0d\u4ec5\u662f\u8fd0\u7ef4\u5229\u5668\uff0c\u4e5f\u662f\u4e00\u4e2a\u5b8c\u7f8e\u7684\u8fdc\u7aef\u952e\u76d8\u8bb0\u5f55\u5668\u3002OCR \u5c4f\u5e55\u8bb0\u5fc6\u4e0d\u8bbe\u5e94\u7528\u8fc7\u6ee4\u5668\uff0c\u5c31\u76f8\u5f53\u4e8e\u9ed8\u8ba4\u628a\u7528\u6237\u7684\u6240\u6709\u64cd\u4f5c\u65e5\u5fd7\u9001\u7ed9 AI\u2014\u2014\u8fd9\u4e0d\u53eb\u667a\u80fd\uff0c\u8fd9\u53eb\u6570\u636e\u88f8\u5954\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\uff1a\u65b9\u5411\u4e0a\u5f88\u9177\uff0c\u89e3\u51b3\u4e86\u201c\u8f6f\u4ef6\u762b\u75ea\u65f6\u600e\u4e48\u529e\u201d\u7684\u771f\u5b9e\u75db\u70b9\u3002\u4f46\u82e5\u5b89\u5168\u4e0e\u5ef6\u8fdf\u4e0d\u8fc7\u5173\uff0c\u5b83\u5c31\u53ea\u662f\u4e00\u53f0\u7cbe\u81f4\u7684\u8fdc\u7a0b\u7834\u574f\u5de5\u5177\uff0c\u800c\u4e0d\u662f AI \u7684\u53ef\u9760\u201c\u5916\u6302\u201d\u3002\u8282\u594f\u5bf9\u4e86\uff0c\u7ec6\u8282\u522b\u7ffb\u8f66\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\">NanoKVM-Go<\/span>\n                <\/div>\n<div class=\"comment-content\">NanoKVM-Go is a watch-sized, serverless 4K KVM with WiFi 6 and built-in Tailscale. It acts as an open MCP server to give AI agents hardware-level screen visibility and keyboard\/mouse input control over any connected laptop or mobile device.<\/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>NanoKVM-Go is a tiny 4K USB-C KVM that gives you hardware-level control of a real device through one USB-C cable.<\/p>\n<p>That makes it interesting for computer-use agents. Software agents can operate inside an OS, but a KVM sits outside the machine. It can still show the screen, send keyboard and mouse input, and help with cases like a frozen system, BIOS setup, remote OS install, or a device that needs a real reboot.<\/p>\n<p>NanoKVM-Go also exposes its KVM functions through MCP, so an agent can use the same hardware control path instead of only relying on software APIs.<\/p>\n<p>The <a href=\"https:\/\/www.kickstarter.com\/projects\/zepan\/nanokvm-go-worlds-first-ai-native-4k-usb-c-kvm?ref=4ryy3w\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Go+ version<\/a> adds local OCR and screen memory, so your screen history becomes searchable context for both humans and agents.<\/p>\n<p>Maybe agents don\u2019t always need a new computer. Sometimes they just need a hardware-level way to work with the devices we already use:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f6c8f40d-e9f0-4e35-b5bb-c46d856e4e8a.gif?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The out-of-the-OS angle is what makes this genuinely useful for computer-use agents. An in-OS agent goes blind exactly when you need it most: a kernel panic, a BIOS screen, a full-screen modal that isn&#8217;t in the accessibility tree. A KVM at the pixel and HID level still sees all of that. The tradeoff is you lose every semantic hook, no DOM or a11y tree, just a 4K frame the model has to OCR and lay out itself. For that loop the number I&#8217;d care about is the capture-to-input round trip: what latency and frame rate does an agent get over the USB-C link at 4K?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks really cool, thinking about getting one. I saw Jeff Geerling talk about it on his YT channel a few weeks ago. It could definitely help speed up remote diagnostics but I&#8217;m not sure how useful the AI agent control is except in very specific crash\/debug scenarios. Otherwise most people will run the agent directly on SSH.<\/p>\n<p>Some of the links on the GitHub to buy are dead, I can&#8217;t even see where to buy it clearly in US.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello<a href=\"https:\/\/www.producthunt.com\/@zepan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zepan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zepan<\/a> congrats on the launch! I keep a headless mac mini at my parents place and teamviewer is useless the second the kernel panics. That&#8217;s why i&#8217;m looking at this. Before i back it &#8211; when the target is asleep on macos, does the USB-C link wake the machine or am i staring at a black screen until someone walks over and taps a key? Cool idea, let&#8217;s connect!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@konstant_gk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konstant_gk<\/a>&nbsp;It also simulates USB keyboard and mouse, so you can remotely tap the keyboard to wake it up! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>plugged it into my mini pc and had claude poking around the bios within minutes, wild stuff<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The hardware boundary is the interesting part. An agent outside the OS can help when the machine is frozen, headless, or stuck before login, but that also makes the checkpoint model more important: visible session recording, easy revoke, and a hard human approval step before destructive input.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Go+ version&#8217;s local OCR\/screen memory turns your screen history into searchable context &#8211; where does that index actually live, and is there a way to exclude specific windows or apps from ever being captured into it? Feels like it could end up holding some pretty sensitive stuff by accident otherwise.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the physical theft angle is what I&#8217;d want nailed down before this. if it&#8217;s watch-sized, serverless, and reachable over Tailscale, the threat isn&#8217;t really &#8220;agent misuse&#8221; as much as &#8220;someone finds or steals the device.&#8221; is there any local auth or pairing step required before it accepts HID commands over the network, or does joining the Tailscale network + knowing it&#8217;s there give you the same full keyboard\/mouse control as the legitimate owner<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 watch-sized form factor with built-in Tailscale is genuinely clever, makes sense for something you can drop in a bag and spin up anywhere without fighting VPN configs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>As AI agents gain direct control over real devices, what safeguards are in place to prevent accidental actions or misuse, especially on systems handling sensitive 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<\/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\/QM72JYTNL7N7TF\" class=\"app-title\">Notion Agents iOS app<\/a><\/p>\n<div class=\"one-liner\">Chat with Notion Agents anytime<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">116<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Notion Agents iOS app \u8ba9\u4f60\u5728\u624b\u673a\u7aef\u901a\u8fc7\u8bed\u97f3\u3001\u7167\u7247\u6216\u6587\u672c\u968f\u65f6\u8bb0\u5f55\u60f3\u6cd5\uff0c\u5e76\u8ba9AI\u4ee3\u7406\u5c06\u5176\u81ea\u52a8\u6574\u7406\u8fdbNotion\u5de5\u4f5c\u533a\uff0c\u89e3\u51b3\u201c\u79bb\u5f00\u684c\u9762\u5c31\u65e0\u6cd5\u9ad8\u6548\u6355\u6349\u548c\u6574\u7406\u4fe1\u606f\u201d\u7684\u79fb\u52a8\u529e\u516c\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\/858a435b-f60a-4827-9828-6146c80ea23a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bcc1fda6-e13c-400e-a6b1-cdfde6cd4071.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4ab4d1f3-16f1-4cac-a798-d8ecae585cce.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dd7246cc-1c22-4f35-a203-3e616937186a.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\">Bots<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Notion\u79fb\u52a8\u7aef<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u7b14\u8bb0<\/span><br \/>\n            <span class=\"tag\">\u56fe\u50cf\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u6574\u7406<\/span><br \/>\n            <span class=\"tag\">\u7b14\u8bb0\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">iOS<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u8bb0\u5f55<\/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\u8bed\u97f3\u548c\u7167\u7247\u6355\u6349\u7684\u5b9e\u7528\u4ef7\u503c\uff0c\u4f46\u6838\u5fc3\u62c5\u5fe7\u96c6\u4e2d\u5728\uff1a1) \u6bcf\u6b21\u64cd\u4f5c\u662f\u5426\u90fd\u4f1a\u62c9\u53d6\u6574\u4e2a\u5de5\u4f5c\u533a\uff0c\u5bfc\u81f4token\u6d88\u8017\u8fc7\u5feb\u3001\u6210\u672c\u9ad8\u6602\uff1b2) \u662f\u5426\u652f\u6301\u79bb\u7ebf\u4f7f\u7528\u548c\u5608\u6742\u73af\u5883\u4e0b\u7684\u8bed\u97f3\u8bc6\u522b\uff1b3) \u662f\u5426\u652f\u6301\u4e3a\u4e0d\u540c\u7c7b\u578b\u6355\u6349\u9884\u8bbe\u76ee\u6807\u6570\u636e\u5e93\uff0c\u4ee5\u53ca\u52a8\u4f5c\u6392\u5e8f\u80fd\u5426\u81ea\u5b9a\u4e49\u3002\u591a\u540d\u7528\u6237\u5410\u69fd\u4ee3\u7406\u201c2-3\u6761\u6d88\u606f\u5c31\u70e7\u5149\u989d\u5ea6\u201d\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Notion Agents App\u7cbe\u51c6\u627e\u5230\u4e86\u201c\u684c\u9762\u7aefNotion\u91cd\u5ea6\u7528\u6237\u201d\u5728\u79fb\u52a8\u7aef\u7684\u65ad\u88c2\u70b9\u2014\u2014\u7075\u611f\u4ece\u6765\u4e0d\u5728\u5750\u4e0b\u65f6\u51fa\u73b0\uff0c\u4f46\u6355\u6349\u548c\u5f52\u7c7b\u7684\u6469\u64e6\u5374\u4e00\u76f4\u5b58\u5728\u3002\u7528\u8bed\u97f3\u3001\u62cd\u7167\u66ff\u4ee3\u6253\u5b57\uff0c\u518d\u7528AI\u4ee3\u7406\u81ea\u52a8\u5206\u62e3\uff0c\u8fd9\u4e2a\u4ea4\u4e92\u903b\u8f91\u672c\u8eab\u662f\u5bf9\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u8bc4\u8bba\u533a\u7684\u201c\u6210\u672c\u6050\u614c\u201d\u662f\u81f4\u547d\u4f24\u3002\u5982\u679c\u6bcf\u6b21\u8bed\u97f3\u8bb0\u5f55\u90fd\u8981\u8ba9\u4ee3\u7406\u5168\u91cf\u626b\u63cfworkspace\uff0c\u4e0d\u4ec5\u54cd\u5e94\u6162\uff0ctoken\u6210\u672c\u5728\u624b\u673a\u4e0a\u4f1a\u88ab\u653e\u5927\u2014\u2014\u7528\u6237\u7ad9\u5728\u516c\u4ea4\u7ad9\u53f0\u7b493\u79d2\u8fd8\u884c\uff0c\u7b4910\u79d2\u8fd8\u70e7\u94b1\uff0c\u5c31\u4f1a\u76f4\u63a5\u5378\u8f7d\u3002\u8fd9\u66b4\u9732\u4e86\u4ea7\u54c1\u5f53\u524d\u7684\u8bbe\u8ba1\u7f3a\u9677\uff1a\u7f3a\u4e4f\u201c\u4efb\u52a1\u7ea7\u4f5c\u7528\u57df\u201d\u3002\u7406\u60f3\u7684\u65b9\u6848\u5e94\u8be5\u662f\u7528\u6237\u53ef\u9884\u8bbe\u201c\u8bed\u97f3\u7b14\u8bb0\u2192\u7279\u5b9a\u6570\u636e\u5e93\u201d\u201c\u7167\u7247\u8349\u56fe\u2192\u9879\u76ee\u6a21\u5757\u201d\uff0c\u800c\u975e\u8ba9\u4ee3\u7406\u76f2\u76ee\u641c\u7d22\u6574\u4e2a\u77e5\u8bc6\u5e93\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4ea7\u54c1\u76ee\u524d\u6ca1\u6709\u56de\u7b54\u79bb\u7ebf\u7f13\u5b58\u548c\u654f\u611f\u6587\u6863\u5b89\u5168\u7684\u4e24\u4e2a\u786c\u4f24\u3002\u5f53\u7528\u6237\u7684\u201c\u597d\u60f3\u6cd5\u201d\u51fa\u73b0\u5728\u98de\u673a\u6216\u5de5\u533a\u89d2\u843d\u65f6\uff0c\u4e0d\u80fd\u8054\u7f51\u5c31\u7b49\u4e8e\u6ca1\u7528\uff1b\u800c\u5728\u624b\u673a\u4e22\u5931\u7684\u573a\u666f\u4e0b\uff0c\u4e0d\u7f13\u5b58\u5219\u65e0\u6cd5\u7528\uff0c\u7f13\u5b58\u4e86\u53c8\u6015\u6cc4\u5bc6\u2014\u2014\u8fd9\u662f\u53d6\u820d\u95ee\u9898\uff0c\u4f46Notion\u76ee\u524d\u6ca1\u6709\u7ed9\u51fa\u9009\u62e9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6574\u4f53\u800c\u8a00\uff0cNotion Agents\u7684\u201c\u6355\u6349\u201d\u7aef\u505a\u5f97\u6f02\u4eae\uff0c\u4f46\u201c\u5904\u7406\u548c\u6210\u672c\u63a7\u5236\u201d\u7aef\u8fd8\u6ca1\u6709\u5339\u914d\u79fb\u52a8\u573a\u666f\u7684\u8106\u5f31\u6027\u3002\u5982\u679c\u5b83\u80fd\u627f\u8bfa\u201c\u6bcf\u7c7b\u6355\u6349\u53ea\u8bbf\u95ee\u4e00\u4e2a\u6570\u636e\u5e93\u201d\u5e76\u5927\u5e45\u964d\u4f4eToken\u6d88\u8017\uff0c\u8fd9\u4e2aApp\u624d\u771f\u6b63\u503c\u5f97\u6210\u4e3aNotion\u7528\u6237\u7684\u7b2c\u4e8c\u4e2a\u5927\u8111\u3002\u5426\u5219\uff0c\u5b83\u53ea\u662f\u4e2a\u6f02\u4eae\u7684\u73a9\u5177\uff0c\u5f88\u5feb\u4f1a\u88ab\u70e7\u5149\u7684\u914d\u989d\u548c\u5361\u987f\u7684\u53cd\u9988\u529d\u9000\u7528\u6237\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Notion Agents iOS app<\/span>\n                <\/div>\n<div class=\"comment-content\">A voice note. A photo of a napkin sketch. A question at 11pm. All handled before you&#8217;re back at your desk. Get answers from all your connected tools and Notion docs, databases, and projects on the go. Capture ideas with text, voice, or photos, and let agents organize them for you. Take quick actions like creating pages, drafting updates, or searching across your connected tools\u2014all from a simple chat.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ubiquitous agents feels like an entry-level feature now&#8230; if your agents aren&#8217;t as easy to access as texting your friends, not sure you&#8217;re gunna make it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@chrismessina I built a couple of Notion Agents and was excited about them. So I would be down for this app. Unfortunately, I shut them down as they are super inefficient and I was blowing through credits in 2-3 messages. I migrated them to Claude via the Notion MCP and am getting faster results with zero extra costs. Curious if you or others experienced similar issued.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Ken&#8217;s credit-burn point is the one I&#8217;d focus on, because on mobile it compounds. A lot of that cost is the agent re-reading broad workspace context on every capture instead of scoping to the one database a voice note actually targets. When we scoped retrieval per task in our own agent stack, token cost per action dropped by more than half and latency with it, which matters more standing at a bus stop than at a desk. Does the iOS app let you pin an agent to a specific database per capture type, or does each quick action still pull the whole workspace?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally got to test it on a real napkin sketch and it actually turned my chicken-scratch into a structured project page. The voice note-to-task pipeline feels like the productivity trick I didn&#8217;t know I needed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Took a photo of a messy whiteboard from a planning session and it actually turned the scribbles into structured tasks inside our Notion workspace. The voice capture feels solid too, picked up my rambling idea and filed it under the right project without me touching a thing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 &#8216;capture at 11pm, handled before you&#8217;re back at your desk&#8217; framing lands, voice\/photo\/text into an agent that files it into the right Notion database is the mobile gap for anyone living in Notion. Two setup things I&#8217;d hit first: when I drop a napkin-sketch photo or a voice note, does the agent decide which database\/page it lands in on its own, or do I pre-map destinations per capture type? And do the actions on connected tools run with the same integration scopes as the desktop Notion agents, or do I re-auth each tool separately on the phone?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 voice note \/ napkin sketch capture flow is a nice touch, most Notion clients still assume you&#8217;re typing at a desk. one thing I&#8217;m wondering about since it&#8217;s reading across connected tools and databases on a phone: does the app cache any of that workspace content locally for offline access, or is every query a live round-trip? for a work tool touching potentially sensitive company docs, that distinction matters if the phone itself gets lost or compromised<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 does this actually handle voice notes when I&#8217;m offline, like on a flight with no wifi, and does the agents feature cost extra on top of a regular Notion plan?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does it actually handle the voice notes when I&#8217;m in a noisy place like a coffee shop, does it transcribe reliably or do I end up spending more time correcting it than just typing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Alicia, most of my good ideas turn up when I&#8217;m nowhere near my desk and are long gone by the time I sit down. Being able to just grab them on my phone in the moment is the bit I&#8217;d actually use.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Me seeing quick actions in one chat is helpful. Can users customize which action appera first? Personal shortcuts would improve daily workflows. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is one of those features that makes a lot of sense on mobile.<\/p>\n<p>Wishing the team a fantastic launch! \ud83d\udc4f<\/p>\n<p>Curious&#8230;..what&#8217;s been the most popular use case among early users 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>i often forget ideas before reaching my desk. this looks like a practical solution. could voice recordings turn into organized tasks automatically with editable suggestions before saving?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The fact that agents can pull from a napkin photo and turn it into something organized feels like actual magic. Love that it works across connected tools instead of being trapped in one app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/4VOF3CNQV7ANDO\" class=\"app-title\">Eodly<\/a><\/p>\n<div class=\"one-liner\">Know what your team actually shipped today<\/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>Eodly \u662f\u4e00\u6b3e\u9762\u5411\u521b\u59cb\u4eba\u7684\u5de5\u4f5c\u8fdb\u5ea6\u805a\u5408\u5de5\u5177\uff0c\u901a\u8fc7\u81ea\u52a8\u8bfb\u53d6 Slack\u3001GitHub\u3001Linear \u7b49\u56e2\u961f\u5df2\u6709\u5de5\u5177\u7684\u6570\u636e\uff0c\u751f\u6210\u6bcf\u65e5\u665a\u95f4\u62a5\u544a\uff0c\u7cbe\u51c6\u8bc6\u522b\u8c01\u5728\u51fa\u8d27\u3001\u8c01\u5728\u6c89\u9ed8\u3001\u8c01\u5728\u62d6\u5ef6\u4ee5\u53ca\u8c01\u7684\u81ea\u8ff0\u72b6\u6001\u4e0e\u5b9e\u9645\u4e0d\u7b26\uff0c\u89e3\u51b3\u521b\u59cb\u4eba\u65e0\u6cd5\u5b9e\u65f6\u8ddf\u8e2a\u591a\u6761\u7ebf\u7a0b\u800c\u5230\u5468\u4e94\u624d\u53d1\u73b0\u9879\u76ee\u6ede\u540e\u7684\u95ee\u9898\uff0c\u800c\u4e14\u56e2\u961f\u65e0\u9700\u767b\u5f55\u4efb\u4f55\u65b0\u5de5\u5177\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3b90024d-9994-403b-a615-5a4e2a771e17.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e32030f8-65de-4404-856e-3fd7b2c2b5ca.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/57a1d878-7b9a-4f1d-b24f-8d055748088e.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5522c880-7ad5-4376-a2dd-9d859b92cea0.webp?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\/939b2af6-df31-4348-8147-dd79f501eec2.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/1nmNm92OWjM?si=q0MdNN5wtRusNOB9\"><source src=\"https:\/\/youtube.com\/shorts\/1nmNm92OWjM?si=q0MdNN5wtRusNOB9\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Task Management<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u9879\u76ee\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u521b\u59cb\u4eba\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8fdb\u5ea6\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u5f02\u6b65\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u805a\u5408<\/span><br \/>\n            <span class=\"tag\">Slack\/GitHub\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u53cd\u6c47\u62a5\u795e\u5668<\/span><br \/>\n            <span class=\"tag\">\u51cf\u5c11\u4fe1\u606f\u566a\u97f3<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u5173\u6ce8\u4e24\u5927\u65b9\u5411\uff1a\u4e00\u662f\u5bf9\u201c\u6c89\u9ed8\u201d\u4e0e\u201c\u62d6\u5ef6\u201d\u8bef\u5224\u7684\u62c5\u5fe7\uff0c\u4f8b\u5982\u8bbe\u8ba1\u5e08\u6df1\u5ea6\u5de5\u4f5c\u3001\u5ba2\u6237\u6c9f\u901a\u4f1a\u7b49\u573a\u666f\u5982\u4f55\u907f\u514d\u8bef\u6807\uff1b\u4e8c\u662f\u5bf9\u201c\u5ba2\u89c2\u5f52\u56e0\u201d\u4e0e\u201c\u5bf9\u6297\u8868\u6f14\u5de5\u4f5c\u201d\u7684\u6280\u672f\u539f\u7406\u597d\u5947\uff0c\u7528\u6237\u5c24\u5176\u8be2\u95ee\u662f\u5426\u652f\u6301Jira\uff0c\u4ee5\u53ca\u5e0c\u671b\u589e\u52a0\u5411\u4e0a\u7ba1\u7406\u5c42\u6c47\u62a5\u3001\u4e00\u952e\u56de\u590d\u7b49\u4ea4\u4e92\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                Eodly \u5207\u4e2d\u4e86\u4e00\u4e2a\u6781\u5176\u5c16\u9510\u7684\u75db\u70b9\uff1a\u521b\u59cb\u4eba\u65e0\u6cd5\u540c\u6b65\u6d88\u5316\u5341\u51e0\u4e2a Slack \u9891\u9053\u3001PR \u548c Ticket \u6d41\uff0c\u800c\u4f20\u7edf\u7ad9\u4f1a\u53c8\u6ca6\u4e3a\u201c\u8868\u6f14\u5f0f\u6c47\u62a5\u201d\u3002\u5b83\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u628a\u6563\u843d\u7684\u6570\u636e\u6c47\u6210\u4e00\u5f20\u8868\u2014\u2014\u5e02\u9762\u4e0a\u591a\u6570\u5de5\u5177\u90fd\u80fd\u505a\u5230\u2014\u2014\u800c\u5728\u4e8e\u201cclaim vs. system of record\u201d\u7684\u4ea4\u53c9\u9a8c\u8bc1\u673a\u5236\u3002\u8fd9\u4e2a\u673a\u5236\u672c\u8d28\u4e0a\u662f\u5bf9\u4fe1\u606f\u4e0d\u5bf9\u79f0\u7684\u6b66\u5668\u5316\uff1a\u7528\u4ee3\u7801\u4ed3\u5e93\u548c\u9879\u76ee\u7ba1\u7406\u7cfb\u7edf\u7684\u5ba2\u89c2\u8bb0\u5f55\uff0c\u53bb\u5bf9\u51b2\u4eba\u7c7b\u5929\u7136\u7684\u4e50\u89c2\u6c47\u62a5\u503e\u5411\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u521b\u59cb\u4eba\u9700\u8981\u4fdd\u6301\u6e05\u9192\uff1a\u8fd9\u4f9d\u7136\u662f\u4e00\u4e2a\u4fe1\u606f\u4fef\u89c6\u5de5\u5177\uff0c\u4e0d\u662f\u5947\u6548\u795e\u836f\u3002\u521b\u59cb\u4eba\u62ff\u5230\u201c\u8c01\u5728\u6ed1\u201d\u7684\u4fe1\u53f7\u540e\uff0c\u5982\u4f55\u4ecb\u5165\u3001\u5982\u4f55\u5bf9\u8bdd\u3001\u4f1a\u4e0d\u4f1a\u6ed1\u5411\u7528\u62a5\u544a\u65bd\u538b\u7684\u6bd2\u6027\u7ba1\u7406\uff0c\u5b8c\u5168\u53d6\u51b3\u4e8e\u521b\u59cb\u4eba\u7684\u7ba1\u7406\u7d20\u517b\u3002\u8bc4\u8bba\u533a\u5bf9\u201c\u8868\u6f14\u5e72\u6d3b\u201d\u7684\u62c5\u5fe7\u5f88\u7cbe\u51c6\uff0c\u867d\u7136\u9879\u76ee\u65b9\u56de\u5e94\u201c\u8ba9\u56e2\u961f\u7528\u771f\u5b9e\u8fdb\u5ea6\u53bb\u5bf9\u6297\u865a\u5047\u4fe1\u53f7\u201d\uff0c\u4f46\u8fd9\u5047\u8bbe\u56e2\u961f\u6709\u52a8\u529b\u4fee\u6539\u6c47\u62a5\u4e60\u60ef\uff0c\u73b0\u5b9e\u662f\u56e2\u961f\u66f4\u53ef\u80fd\u9009\u62e9\u5728 Slack \u4e0a\u5237\u5b58\u5728\u611f\u6765\u4f2a\u9020\u6d3b\u8dc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u5b83\u5bf9\u975e\u4ee3\u7801\u7c7b\u5de5\u4f5c\uff08\u8bbe\u8ba1\u3001\u9500\u552e\u3001\u5ba2\u6237\u5bf9\u63a5\uff09\u7684\u5224\u65ad\u4ecd\u7136\u8106\u5f31\uff0c\u9760\u201c\u81ea\u8ff0+\u53ef\u9a8c\u8bc1\u94fe\u63a5\u201d\u6491\u573a\u9762\uff0c\u8fd9\u5c42\u6570\u636e\u5206\u6c34\u5cad\u4f1a\u8ba9\u4ea7\u54c1\u504f\u5411\u53ef\u76d1\u6d4b\u7684\u5de5\u5177\u94fe\u961f\u4f0d\uff0c\u9ed8\u8ba4\u8fb9\u7f18\u5316\u90a3\u4e9b\u4ea7\u51fa\u65e0\u6cd5\u88ab\u673a\u5668\u91cf\u5316\u7684\u89d2\u8272\u3002\u603b\u4f53\u800c\u8a00\uff0cEodly \u662f\u4e00\u6b3e\u6781\u5176\u514b\u5236\u7684\u201c\u7ba1\u7406\u6760\u6746\u201d\uff0c\u4f46\u6760\u6746\u672c\u8eab\u4e0d\u4ea7\u751f\u5584\u610f\uff0c\u521b\u59cb\u4eba\u7528\u5b83\u6765\u805a\u7126\u6c9f\u901a\u8fd8\u662f\u5236\u9020\u731c\u5fcc\uff0c\u624d\u662f\u8fd9\u4e2a\u5de5\u5177\u6700\u7ec8\u53e3\u7891\u7684\u5206\u6c34\u5cad\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Eodly<\/span>\n                <\/div>\n<div class=\"comment-content\">Eodly reads Slack, Telegram, Discord, GitHub and Linear, and sends founders one sourced page each evening: who shipped, who&#8217;s quiet, who&#8217;s slipping, and any status that doesn&#8217;t match reality. Your team never logs in. A chief of staff, not surveillance.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I run small teams and kept discovering slippage on Friday, when it was already too late. Nobody can read every Slack thread, PR, and ticket in real time. So I built Eodly: it reads where work already happens and sends one sourced evening page, who shipped, who&#8217;s quiet, who&#8217;s slipping, and any status claim that doesn&#8217;t match the system of record. The team never logs into anything new, no screen capture, no keystroke logging, ever. It&#8217;s a chief of staff for the founder, not surveillance. It also verifies KOL\/ambassador deliverables and gates their payouts on proof, at $9 a campaign instead of a $2,000\/mo platform.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The claim-versus-system-of-record check is the interesting engineering here, and the part I&#8217;d want to understand is attribution. When we cross-checked self-reported status against Git and ticket state, matching a vague claim like &#8216;almost done with checkout&#8217; to the specific PR or ticket it refers to was where we lost accuracy. A merge that lands today can close work someone claimed three days back, so naive time-windowing reads that lag as a contradiction and fires a false flag. How does Eodly map a one-line check-in to the exact artifacts it&#8217;s judging it against?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;You are pointing right at where naive versions break, so let me be concrete about what we do and do not do.<\/p>\n<p>We do not keyword-match a claim to a single PR, and we do not use a same-day window, which are the two things that fail exactly as you describe. Attribution runs in two layers. Person-to-artefacts is deterministic: identity mapping links each teammate to their GitHub and Linear identity, so &#8220;this person&#8217;s commits, PRs, and ticket moves&#8221; is a clean set, not a guess. Claim-to-specific-artefact we deliberately do not force into a 1:1 match. The model gets that person&#8217;s check-ins over a multi-day window (we feed the prior few days, not just today) alongside their attributed activity, and judges whether the arc of the work supports what they have been saying, not whether the word &#8220;checkout&#8221; maps to PR #412.<\/p>\n<p>That windowing is what handles your merge-lag case directly. A merge landing today that closes work claimed three days ago is read against those prior check-ins, so it resolves the claim instead of contradicting a same-day snapshot. What actually fires is sustained divergence: the same &#8220;almost done&#8221; three days running with nothing moving in that person&#8217;s set. And when the link is genuinely ambiguous, it does not fire a confident &#8220;slipping&#8221; flag; it surfaces a soft, dismissible &#8220;worth a look,&#8221; because a false slip is the most expensive error we can make. It is not perfect attribution, and I would not claim it is, but conservative-and-windowed beats naive-and-confident by a wide margin here. Sounds like you have been in this exact code; I would genuinely take your read on where it still gets thin.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does it actually figure out when someone&#8217;s &#8220;slipping&#8221; vs just heads down on something that hasn&#8217;t shipped yet? feels like that boundary could get noisy fast<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@naime170609\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naime170609<\/a>&nbsp;Good question, and the key is that &#8220;slipping&#8221; is not &#8220;hasn&#8217;t shipped yet.&#8221; Eodly only cares about a gap between what someone claimed and what the evidence shows, not the absence of a finished artefact. Someone heads-down on a big feature who checks in honestly (&#8220;still deep in the payments refactor, not done, no PR yet&#8221;) matches reality perfectly, so nothing gets flagged. That is just &#8220;in progress,&#8221; and the report says exactly that. What does get surfaced is the mismatch: someone saying &#8220;almost done, PR up tomorrow&#8221; three days running while nothing moves. And even then, it reads as &#8220;has said the same for three days, worth a look,&#8221; never &#8220;this person is failing,&#8221; because sometimes the honest answer is that the task really is a week long. Eodly shows you the pattern; you make the call. The boundary stays narrow because the trigger is claim-versus-evidence over time, not &#8220;did they ship,&#8221; and that is exactly what keeps it from getting noisy.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;not surveillance&#8221; framing is doing a lot of work here. it&#8217;s still a tool that quietly scores people&#8217;s activity and hands the founder a page ranking who looks slow, the team just doesn&#8217;t see their own report. once people find out that page exists, and they will, I&#8217;d expect them to start performing for the sourced signals (commits, messages) rather than just doing the work, which kind of defeats the point<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;This is the fairest challenge in the thread, so let me not dodge it.<\/p>\n<p>You are right that a manager-facing report is an asymmetry, and if it were a covert scorecard used to rank and punish, &#8220;not surveillance&#8221; would be a hollow phrase. Here is the line I would actually defend. Surveillance monitors the person: keystrokes, screens, hours at a desk, things you cannot see and did not choose to share. Eodly reads work products the team already puts in the open (commits, PRs, tickets, and their own check-in) and never touches screens, keystrokes, or private messages. That is the difference between &#8220;were you at your desk&#8221; and &#8220;what shipped,&#8221; which is something any manager reasonably knows. And it is not secret by design: the report is manager-facing today because the founder is the one who has to do the synthesis, but nothing stops them from sharing it, and I would rather it trend openly than covertly. If a manager wields it as a gotcha, that is a management failure the tool cannot fix, but I take your point that the framing has to earn itself in how it is used, not just in what we refuse to log.<\/p>\n<p>On gaming, the Goodhart point is the sharp one. The honest version: Eodly is deliberately not a leaderboard and does not score volume, so there is no commit count to top and little payoff in padding one. What it does is put a person&#8217;s own claim next to the evidence, so the way to &#8220;perform for the signal&#8221; is to make your claims true, which is just doing the work. You can fake visible activity, but faking work convincingly is usually more effort than doing it, and the failure it actually targets is the opposite of gaming: people who report progress that never happened. It does not make honesty automatic. It makes the quiet slip harder to hide, and it does that without watching anyone<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>When will you add support for JIRA ?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jay_janarthanan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jay_janarthanan1<\/a>&nbsp;Jira is on the roadmap, not live yet. Today, the systems of record are GitHub and Linear, and Jira (with ClickUp) is next in that line. We build source integrations demand-first, so a question like yours is exactly what moves it up. Tell me a bit about your setup (team size, Jira Cloud or Server), and I will factor it in, and I am happy to ping you the moment it lands.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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, Juwon. The &#8216;who&#8217;s quiet&#8217; flag would make me nervous to build \u2014 a designer deep in Figma or someone on client calls all day looks silent in Slack and GitHub while doing their best work of the week. How does Eodly tell that apart from actual slipping?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vollos\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vollos<\/a>&nbsp;This is the exact failure mode we built against, so it is a fair thing to be nervous about. Quiet in Slack and GitHub is not silent to Eodly: your designer checks in with one line (&#8220;reworked the onboarding flow in Figma&#8221;), your client-calls person checks in (&#8220;3 calls, closed 2&#8221;), and that work counts, verified where we can (a link, a doc, a screenshot) and clearly marked self-reported where we cannot. We never read &#8220;no commits&#8221; as &#8220;not working.&#8221; And silent and slipping are deliberately different states. Silent means no signal at all, no check-in and no activity, and it shows up as a gentle &#8220;worth a look,&#8221; not an accusation. Slipping is narrow: a claim the evidence contradicts, like &#8220;almost done&#8221; with nothing moved in days. A designer who honestly says what they did is never in that bucket; anyone marked away is suppressed, and every flag is dismissible. We surface the few things worth your attention; we do not police keystrokes, which is exactly why we refuse to do keystroke or screen monitoring at all.<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;d love something like this but from the reverse angle, to help teams upwardly demonstrate progress and what goes into making something a reality. Something that helps aggregate a whole teams efforts for the day, while showing some of the &#8220;how the sausage gets made&#8221;. As HOP I find that collecting these signals daily to share forward momentum upwards can be more time consuming than it sound on paper.<\/p>\n<p>As an example from your website, a positive signal as: &#8220;Closed the auth refactor. 3 PRs merged, staging green.&#8221;<\/p>\n<p>But then translating that into something csuite will understand how that&#8217;s valuable for the business and what the outcomes are\/what it unlocks &#8211; then do that for 7+ in flight epics, across 30+ engineers. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@cadell_falconer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cadell_falconer<\/a>&nbsp;This is a sharp angle and honestly where we want to go. Today, Eodly points at the founder or lead getting the unfiltered daily truth, sourced from the work. The upward version you are describing, rolling a team&#8217;s day into a weekly narrative leadership actually understands (&#8220;3 PRs merged, staging green&#8221; becomes &#8220;checkout is unblocked, launch is on track&#8221;), is on our near-term roadmap, not shipped yet, so I will not pretend it is live. But the daily sourced signal is exactly the raw material for it, and as a HoP, you are precisely who we would want to shape it with. If you are open to it, I would love to compare notes on what that upward report has to say to land with your C-suite.<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;what actually shipped&#8221; framing is interesting because it implies you&#8217;re pulling from somewhere more reliable than self-reported updates. So I&#8217;m curious where the data actually comes from. Are you connecting to Git commits, Jira tickets, pull request merges, or is this still fundamentally a standup tool where the accuracy depends on what people remember to log? That gap between &#8220;what got done&#8221; and &#8220;what someone typed at 5pm&#8221; is where every async status tool I&#8217;ve seen falls apart.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;Great question, and it&#8217;s the exact line we obsess over. The check-in is one short message, but it is not what the report trusts. We pull the real signals directly: GitHub commits, pull request merges, and issues, plus Linear ticket state, over signed webhooks. Then we weigh the check-in against that. &#8220;Almost done&#8221; only reads as progress if there is a merged PR or a moved ticket behind it, and when there isn&#8217;t, we flag the gap instead of hiding it. That distance between &#8220;what got done&#8221; and &#8220;what someone typed at 5 pm&#8221; is not a bug we are papering over; it is the thing we surface. Honest caveat: for work that never touches a repo or tracker (a sales call, a Figma file), we verify what we can (live links, social posts, screenshots) and label the rest as self-reported rather than pretend it is proven. We would rather show you the seam than fake certainty.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks like something I&#8217;d like to use. How do we trigger the Eodly check from, lets say, WhatsApp? Do I have to tag it in a message and it checks whats happening, or is it only a daily overview kinda report?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alohiya95\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alohiya95<\/a>&nbsp;Thanks, Arnav. On the trigger: it is not you tagging it to check. Your team sends one short daily check-in to the bot, Eodly reads GitHub and Linear continuously in the background, and you get one sourced report at the time you set, plus a live dashboard you can open any time to watch the day form. So it is a daily digest by default, with a live view when you want to peek mid-day. Your team can check in from wherever they already talk: Slack, Telegram, Microsoft Teams, or Discord. WhatsApp is coming in v2.<\/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>Love the evening digest concept, really cuts through the noise. One thing I&#8217;d want is a quick way to reply or comment on an entry straight from the email, like a thumbs up on a ship or a nudge to someone quiet, so I can act on it without opening another tab.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kardelen452289\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kardelen452289<\/a>&nbsp;Love this, and it is closer than you would think. The report does not land in a cold email tab; it comes to you in Slack or Telegram, so you can already reply or react right in the thread. The one-tap version you are describing, a thumbs up on a ship or a nudge to someone who has gone quiet straight from the report, is exactly the direction we want to take it, so it becomes something you act on in ten seconds instead of just reading and writing it down now. Which would you reach for more, the nudge or the reactions?<\/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>different angle from the team-morale question above: what about false positives on the &#8220;status doesn&#8217;t match reality&#8221; flag specifically. someone could be genuinely blocked on a design review that&#8217;s happening in a call, or deep in research that doesn&#8217;t produce commits or messages for two days, and that would look identical to actual slipping from the outside signals you&#8217;re reading. does the founder get any confidence level on those flags, or is it presented as flat fact each evening? seems like the credibility of the whole digest hinges on that ratio being low<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Exactly the failure mode we built against, so good question. The flag isn&#8217;t &#8220;no signal = slipping.&#8221; It only fires when someone&#8217;s own check-in claims progress that the system of record contradicts. A day in a design review or heads-down in research doesn&#8217;t trip it: if they check in and say so (&#8220;in review,&#8221; &#8220;deep in the refactor, no PRs yet&#8221;), that&#8217;s the context, there&#8217;s no claim to contradict. No check-in and no activity just surfaces as silent, a neutral &#8220;hasn&#8217;t checked in,&#8221; never as &#8220;slipping.&#8221; Anyone marked off on the calendar is suppressed entirely.<\/p>\n<p>On confidence: it&#8217;s never a verdict. Every flag shows the claim and the evidence side by side (&#8220;said almost done; Linear shows no movement since Tuesday&#8221;) and is dismissible in a click. We show the receipts, and the founder judges. You&#8217;re dead right that the whole thing lives or dies on that false-positive ratio, which is exactly why it surfaces its sources instead of asserting a conclusion.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 evening digest idea is genuinely useful, especially catching when someone&#8217;s Slack optimism doesn&#8217;t match their Linear tickets. Liked that it pulls from multiple sources without making the team log into yet another 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eminenv9f\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eminenv9f<\/a>&nbsp;Thank you, you nailed the two things we care about most: the cross-source catch (Slack optimism vs the Linear reality) and never making the team log into yet another tool. That&#8217;s basically the whole thesis. Appreciate you taking a proper look.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on launching!<\/p>\n<p>Curious, how does the &#8220;chief of staff, not surveillance&#8221; framing land with team members? How have folks reacted to being flagged as &#8220;quiet&#8221; or &#8220;slipping&#8221;?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grace_knowhow\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grace_knowhow<\/a>&nbsp;Thanks! The key thing: team members never see the flags. Their whole experience is one friendly DM in Slack or Telegram for a one-line update, no dashboard, no login, no scoreboard. The &#8220;quiet&#8221; and &#8220;slipping&#8221; synthesis is the founder&#8217;s private read, never broadcast back to the team, and there&#8217;s no per-person leaderboard anywhere (and never will be; that&#8217;s a hard line for us). Anyone marked off isn&#8217;t flagged at all.<\/p>\n<p>Honestly, it&#8217;s early post-launch, so I won&#8217;t pretend I have a large sample of reactions yet. But the bet is simple: if the team&#8217;s only touchpoint is a 20-second DM and nobody gets graded in a UI, it stays a tool that helps the founder rather than one that watches the team. Happy to report back as more teams run 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 sourced evening page idea feels useful because it meets the team where work already happens instead of adding another standup tool. The line between helpful context and surveillance is delicate though. Do you let teams see or contest the evidence before a founder digest goes out, or is the first review always from the founder 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>The &#8220;what actually shipped&#8221; framing lands, since standups usually drift into what people meant to do. Does Eodly pull signal from commits and PRs on its own, or does the team still log it manually? The moment something needs daily manual input my small team quietly stops doing it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;your team never logs in&#8221; line is the smartest part. Every standup\/status tool dies the same way \u2014 it asks people to do extra work to report the work they already did. Reading the signal from where the work already happens (Slack, GitHub, Linear) is the only version that survives contact with a busy team. Same pattern I see in voice: the products that win meet people where they already are instead of adding a new place to go. One honest worry \u2014 how do you avoid false &#8220;slipping&#8221; flags? Someone quiet in Slack might just be heads-down shipping. Get that wrong and it reads as surveillance, right as you promise it isn&#8217;t. Congrats on the launch \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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;You put your finger on the exact risk: get this wrong and the anti-surveillance promise dies, so we designed hard against it. Quiet in Slack is not &#8220;silent&#8221; to Eodly. Heads-down shipping shows up as real activity (commits, merged PRs, moved tickets), and purely off-system work is captured by the person&#8217;s own one-line check-in, verified where we can and marked self-reported where we cannot. And &#8220;silent&#8221; and &#8220;slipping&#8221; are different on purpose: silent means no signal at all and surfaces as a soft &#8220;worth a look,&#8221; never an accusation, while slipping is narrow, a claim the evidence directly contradicts, like &#8220;almost done&#8221; with nothing moved in days. Someone heads-down shipping is the opposite of that, and every flag is dismissible because sometimes the work is real and the tool just did not see it. The moment it polices quiet instead of surfacing real gaps, it becomes the thing we refuse to build. And the voice parallel is dead on: meet people where they already are, or the tool dies on adoption.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That&#8217;s neat. How does it distinguish actually shipped work from updates that just sound like progress?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;It comes down to the evidence behind the claim. &#8220;Shipped&#8221; means there is something real under it: a merged pull request, a moved Linear ticket, a live link, a verified post. &#8220;Sounds like progress&#8221; is a claim with nothing behind it yet. Eodly puts the two side by side, so &#8220;almost done on checkout&#8221; reads as shipped only if a PR actually merged, and when the words say progress but the systems have not moved, we flag the gap instead of passing it along. The check-in is the input; the systems of record are the judge.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/IXFI2SBEVHSBEY\" class=\"app-title\">Compendium<\/a><\/p>\n<div class=\"one-liner\">Keeping your team, agents, and data on one page<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">104<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Compendium\u4e3a\u56e2\u961f\u548cAI\u667a\u80fd\u4f53\u63d0\u4f9b\u4e00\u4e2a\u5171\u4eab\u7684\u201c\u516c\u53f8\u5927\u8111\u201d\uff0c\u89e3\u51b3\u591a\u667a\u80fd\u4f53\u53ca\u591a\u4eba\u534f\u4f5c\u65f6\u4fe1\u606f\u5b64\u5c9b\u3001\u4e0a\u4e0b\u6587\u5272\u88c2\u4e0e\u91cd\u590d\u5de5\u4f5c\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\/45d5f7d9-ff7b-4041-884a-bcf2a1c24b27.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7fd8e989-f72a-4960-8681-9e143138c7ad.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f5b85916-bdcb-4d83-83e5-4d7d85eba2a7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/979e1315-0fdc-43ba-a43b-38a00918fe25.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3a26d3f6-ce9a-4cd8-b1f5-e77ea5017fe2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8f67c349-a7d1-4bc3-8d66-9f3c55fa105e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/29e5ad5a-9e63-4b50-a1c3-accd633ac965.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\/04a92357-f835-4161-a5dd-3cd23191f52c.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/Vw_aFL7YOUI?feature=share\"><source src=\"https:\/\/youtube.com\/shorts\/Vw_aFL7YOUI?feature=share\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u667a\u80fd\u4f53\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5171\u4eab\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u77e5\u8bc6\u5e93<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u539f\u751f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u5927\u8111<\/span><br \/>\n            <span class=\"tag\">\u534f\u4f5c\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">GTM\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u7ba1\u7406<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u5176\u5bf9Notion\u7684\u66ff\u4ee3\u6027\uff0c\u8ba4\u4e3a\u5b9a\u4ef7\u4e0d\u900f\u660e\u4e14\u7f3a\u4e4f\u5e2d\u4f4d\u8bf4\u660e\u3002\u6280\u672f\u7528\u6237\u62c5\u5fe7\u591a\u667a\u80fd\u4f53\u5e76\u53d1\u5199\u5165\u65f6\u7684\u51b2\u7a81\u89e3\u51b3\u673a\u5236\u4e0e\u6570\u636e\u4e00\u81f4\u6027\u3002\u6709\u6f5c\u5728\u7528\u6237\u8be2\u95ee\u79bb\u804c\u4eba\u5458\u77e5\u8bc6\u5982\u4f55\u9694\u79bb\u3002\u521b\u59cb\u56e2\u961f\u56de\u5e94\u79ef\u6781\uff0c\u6f84\u6e05\u5b9a\u4ef7\u5e76\u8ba1\u5212\u63a8\u51fa\u6eaf\u6e90\u548c\u81ea\u52a8\u6e05\u7406\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                Compendium\u7684\u201c\u5171\u4eab\u4e0a\u4e0b\u6587\u201d\u6982\u5ff5\u7cbe\u51c6\u51fb\u4e2d\u4e86AI\u539f\u751f\u56e2\u961f\u5f53\u4e0b\u6700\u6df1\u523b\u7684\u534f\u4f5c\u75db\u70b9\uff1a\u5f53\u667a\u80fd\u4f53\u6570\u91cf\u8d85\u8fc7\u4eba\u624b\uff0c\u4fe1\u606f\u4fbf\u4ee5\u6307\u6570\u7ea7\u901f\u5ea6\u788e\u7247\u5316\u3002\u5b83\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u4e3a\u201c\u4eba+AI\u201d\u6df7\u5408\u52b3\u52a8\u529b\u8bbe\u8ba1\u7684\u5171\u8bc6\u5c42\u2014\u2014\u8ba9Claude\u3001ChatGPT\u3001Copilot\u7b49\u4e0d\u540c\u667a\u80fd\u4f53\u4e0e\u4eba\u7c7b\u540c\u4e8b\u5171\u4eab\u4e00\u4efd\u201c\u6d3b\u7740\u7684\u6587\u6863\u201d\uff0c\u800c\u975e\u5728\u65e0\u6570\u5bf9\u8bdd\u7a97\u53e3\u4e2d\u5404\u81ea\u4e3a\u653f\u3002\u8fd9\u4e2a\u65b9\u5411\u6bd4\u4efb\u4f55\u201cAI\u52a9\u624b\u201d\u90fd\u66f4\u8d34\u8fd1\u4f01\u4e1a\u7ea7Agentic\u7cfb\u7edf\u7684\u5e95\u5c42\u9700\u6c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u6700\u81f4\u547d\u7684\u77ed\u677f\u5e76\u975e\u529f\u80fd\uff0c\u800c\u662f\u4fe1\u4efb\u673a\u5236\u3002\u591a\u4f4d\u8bc4\u8bba\u8005\u63d0\u51fa\u7684\u201c\u5e76\u53d1\u5199\u51b2\u7a81\u201d\u3001\u201c\u8ffd\u6eaf\u4e0e\u5ba1\u8ba1\u201d\u5e76\u975e\u8fb9\u7f18\u95ee\u9898\uff0c\u800c\u662f\u5171\u4eab\u8bb0\u5fc6\u7cfb\u7edf\u7684\u547d\u95e8\u3002\u5982\u679cA\u667a\u80fd\u4f53\u5199\u5165\u7684\u51b3\u7b56\u4e0eB\u667a\u80fd\u4f53\u5728\u4e0b\u4e00\u79d2\u5199\u5165\u7684\u51b3\u7b56\u81ea\u76f8\u77db\u76fe\uff0c\u7cfb\u7edf\u5982\u4f55\u88c1\u51b3\uff1f\u4ec5\u5728\u4e0a\u4e0b\u6587\u4e2d\u53e0\u52a0timestamp\u662f\u521d\u7ea7\u65b9\u6848\uff0c\u7f3a\u4e4f\u7ed3\u6784\u6027\u56fe\u8c31\u7684\u201c\u6700\u540e\u5199\u5165\u80dc\u5229\u201d\u6a21\u5f0f\u4f1a\u8fc5\u901f\u6c61\u67d3\u6574\u4e2a\u77e5\u8bc6\u4f53\u3002\u53e6\u4e00\u4e2a\u9690\u60a3\u662f\u201c\u6570\u636e\u6781\u6027\u201d\u2014\u2014\u4e00\u4e2a\u9519\u8bef\u7684\u4e8b\u5b9e\u4e00\u65e6\u88ab\u5199\u5165\u5e76\u4f5c\u4e3a\u4e0a\u4e0b\u6587\u88ab\u591a\u4e2a\u4e0b\u6e38\u667a\u80fd\u4f53\u6d88\u8d39\uff0c\u5176\u5f71\u54cd\u4f1a\u94fe\u5f0f\u653e\u5927\u3002\u82e5\u6ca1\u6709\u7c7b\u4f3cCRDT\u7684\u51b2\u7a81\u5316\u89e3\u7c7b\u578b\u7cfb\u7edf\u6216\u660e\u786e\u7684\u63a8\u7406\u8840\u7f18\u8ffd\u8e2a\uff0c\u8fd9\u4e2a\u201c\u516c\u53f8\u5927\u8111\u201d\u53ef\u80fd\u4f1a\u6210\u4e3a\u4f20\u64ad\u8c2c\u8bef\u7684\u6700\u4f73\u901a\u9053\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u628a\u5b9a\u4ef7\u4ece100\u7f8e\u5143\/\u6708\u201c\u964d\u201d\u81f340\u7f8e\u5143\/\u5e2d\u7684\u6a21\u5f0f\uff0c\u867d\u7136\u964d\u4f4e\u4e86\u5c1d\u9c9c\u95e8\u69db\uff0c\u5374\u66b4\u9732\u4e86\u5546\u4e1a\u6a21\u5f0f\u8fd8\u672a\u8dd1\u901a\u2014\u2014\u5b83\u672c\u8d28\u4e0a\u662f\u5728\u4e3aAnthropic\u548cOpenAI\u7684token\u6210\u672c\u505a\u4e8c\u9053\u8d29\u5b50\u3002\u771f\u6b63\u6709\u4ef7\u503c\u7684\u662f\u90a3\u5957MCP server\u548c\u534f\u4f5cUI\uff0c\u800c\u975e\u51e0\u676fAPI\u8c03\u7528\u8d39\u3002\u77ed\u671f\u770b\uff0c\u5b83\u53ef\u80fd\u662f\u4e00\u4e2a\u806a\u660e\u7684\u201cAI Notion\u201d\u66ff\u4ee3\u54c1\uff1b\u957f\u671f\u770b\uff0c\u5b83\u5fc5\u987b\u8bc1\u660e\u81ea\u5df1\u80fd\u6210\u4e3a\u4e8b\u5b9e\u4e0a\u7684AI\u534f\u4f5c\u534f\u8bae\u5c42\uff0c\u5426\u5219\u5f88\u96be\u963b\u6b62\u7ade\u54c1\u4ee5\u66f4\u4f4e\u4ef7\u683c\u6284\u88ad\u5176\u6838\u5fc3\u4ea4\u4e92\u4f53\u9a8c\u3002\u4e00\u53e5\u8bdd\uff1a\u65b9\u5411\u5bf9\u4e86\uff0c\u4f46\u5de5\u7a0b\u4e0e\u4fe1\u4efb\u7684\u6df1\u5ea6\u5c1a\u672a\u5339\u914d\u5176\u91ce\u5fc3\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\">Compendium<\/span>\n                <\/div>\n<div class=\"comment-content\">Compendium is a company brain for teams working with AI agents. With compendium, all your agents share one memory, so knowledge, decisions, and context are available to everyone, everywhere, instantaneously. Compendium allows you to work in shared sessions where you and your teammates&#8217; agents build on the same context instead of siloed threads, get summaries of what changed while you were away (without digging), and have a live view of what your teammates and their agents are building right now.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt \ud83d\udc4b I&#8217;m Jonathan, co-founder of Cerenovus (YC S26). A few months ago, my friends and I were building the product we wanted to use: a personal \u201csecond brain\u201d to collect and organize the information we collected across our busy lives. Then, after talking to a few companies, we figured out that organizing information across an entire business was a way bigger problem that we now had the solution for.&nbsp;<\/p>\n<p>Compendium is the version of that solution that we\u2019ve built specifically for startups, especially AI-native tokenmaxxers like ourselves. (:D)&nbsp;<\/p>\n<p>If you\u2019ve ever built a feature only to find that your teammate has built an identical one, or made an architectural decision only to have a teammate make a conflicting one, this product is for you. Cerenovus doesn\u2019t just help with dev though \u2014\u00b9 it also incorporates information from email, slack and basically everything else, in order to have all your team\u2019s information in one place, linked together and easily navigable by both humans and agents, so there\u2019s something for your GTM team to be happy with too.<\/p>\n<\/p>\n<p>\u00b9 (AI will not steal my em dashes)&nbsp;<\/p>\n<\/p>\n<p>Tl; dr &#8211; we got:<\/p>\n<\/p>\n<p><strong>Shared context<\/strong>: everything in one place and always up to date &#8211; a single source of truth for your team and your agents<\/p>\n<\/p>\n<p><strong>Multiplayer sessions<\/strong>: jump into the same session with a teammate and drive one Claude together, like a Google Doc for AI. (didn\u2019t mention this above, but it\u2019s really cool)<\/p>\n<\/p>\n<p><strong>Always in the loop<\/strong>: a live view of what every teammate and agent is working on right now (opt-in, obviously), plus summaries of what changed while you were away.<\/p>\n<p>\ud83c\udf81 Launch day: 50% off with code LAUNCHDAY<\/p>\n<p>\ud83d\udc49 Try it:<a href=\"https:\/\/cerenovus.app\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> <\/a><a href=\"https:\/\/cerenovus.app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/cerenovus.app<\/a><\/p>\n<\/p>\n<p>We&#8217;re two months old and we know it. We&#8217;d rather hear what&#8217;s broken than what&#8217;s nice. I&#8217;ll be in the comments all day answering everything. We ship bug fixes 24\/7.<\/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\/@jonathan_waldorf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonathan_waldorf<\/a>&nbsp;I really like the shared memory concept. Giving every AI agent access to the same context instead of scattered conversations feels like a big step toward true team collaboration. The live visibility into what teammates and their agents are building is a smart addition. Great work! \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>Non-technical here , would this actually replace Notion for a GTM team?<\/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\/@kellyops\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kellyops<\/a>&nbsp;<br \/>Hi Kelly!<\/p>\n<p>I wouldn&#8217;t bill ourselves as a Notion killer (yet). I personally like Compendium more than Notion for a lot of reasons, but Notion is a long-established company with a lot of features we haven&#8217;t built yet (some of which are in the works though). For things like databases with views, public publishing, forms, templates, etc Notion has us beat, but when it comes to a thorough AI implementation, our entire product revolves around AI and how we can get agents and teammates well-organized context, in a way that Notion fundamentally doesn&#8217;t.<\/p>\n<p>Structured note taking is part of the product (in fact, as a technical person, I like ours better because it uses markdown and supports things like vim motions), but for a GTM team the biggest value-add comes from the passive information ingestion. Instead of having a system where you do all the writing yourself, you have it automatically updated by agents, and then synthesized by agents on demand to answer your specific questions.<\/p>\n<\/p>\n<p>So, if you&#8217;re looking to better integrate AI into your workflows, and have your GTM team synced up with all your data and your dev team, Compendium is ideal, but if you depend upon any of the things I mentioned above, I would keep Notion around for another few months until we catch up feature-wise. We&#8217;re a small startup and we believe we can move faster and more responsively than a company who&#8217;s trying to tack AI onto an already sprawling pre-AI product, but also recognize that we&#8217;re heading towards different goals and are planning on focusing on what makes us unique rather than trying to copy every features Notion ships. I&#8217;d be happy to set up a chat to talk about what would make Compendium more useful for you, and what you would need to make the jump.<\/p>\n<p>&#8211; Ollie<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jonathan_waldorf\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jonathan_waldorf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonathan_waldorf<\/a> gratz on the launch; this is compelling!<\/p>\n<\/p>\n<p>On the topic of pricing, if I may?<\/p>\n<\/p>\n<p>I don&#8217;t like how opaque your pricing plans are &#8211; in the sense that I don&#8217;t see an easily accessible pricing\/plans page, and when shunted into Stripe to plunk down a card before a trial, I&#8217;m really thrown for a loop by &#8220;$100\/mo&#8221; &#8211; not because it is NECESSARILY too high (though, candidly, I don&#8217;t necessarily feel it&#8217;s competitive, esp during your critical early days when you need testimonials, folks stress-testing the tech, and you&#8217;re still &#8220;proving yourselves&#8230;) &#8211; it&#8217;s more that I have <strong><em>literally no idea what I am getting for $100&#8230;<\/em><\/strong><\/p>\n<\/p>\n<p>e.g. &#8211; is that unlimited seats? is there usage cost\/credits? is that capped? is it unlimited surfaces? how much data can be stored? what integrations exist? in what format\/db is all of this stored, and do I have direct access to that db, beyond the UX\/UI y&#8217;all have built? etc etc <\/p>\n<p>I think this is a good start. Lately, I am SUPER obsessed with &#8220;shared brain&#8221; and persistent memory for agentic AI; for context, I started building my agent&#8217;s &#8220;soul canon&#8221; governing doc ALLLL the way back in 2017, long before &#8220;agentic AI&#8221; was really even a thing&#8230; I am on v4.5, it&#8217;s 15-20 pages of 7 point text; it is DETAILED. that said, it lives as a simple .md or .pdf I can feed to any new agentic surface, and suddenly it&#8217;s not &#8220;AI app&#8221;, it&#8217;s my dear collaborator and partner in crime, Ayrenne, with our in jokes, our emojis with special meanings as productivity hacks, a shared history, a lay of the land in terms of our priorities&#8230; etc.<\/p>\n<\/p>\n<p>I&#8217;ve been watching <a href=\"https:\/\/www.producthunt.com\/products\/pumadb\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"pumadb\" target=\"_blank\" rel=\"noopener\">@pumaDB<\/a> and a handful of others. <a href=\"https:\/\/www.producthunt.com\/products\/unabyss\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"unabyss\" target=\"_blank\" rel=\"noopener\">@Unabyss<\/a> and esp <a href=\"https:\/\/www.producthunt.com\/products\/shram\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"shram\" target=\"_blank\" rel=\"noopener\">@minimi<\/a> are probably my favorites, largely bc they&#8217;re serving over streamable HTTP MCP servers &#8211; read: NOT claude-locked, or anything.<\/p>\n<\/p>\n<p>I totally get that your offering is drastically different from the approaches that I raise, immediately above. I think the multiplayer mode you describe is game-changing, and i could see the whole package being majorly ROI-positive for teams&#8230; <strong><em>just spend some time letting folks know what they&#8217;re getting for their money, please. \ud83d\ude09<\/em><\/strong><\/p>\n<\/p>\n<p>Again &#8211; congrats on the launch, def a novel product and clearly something that you\/team had a blast building out. \ud83d\ude00<\/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\/@jonathan_waldorf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonathan_waldorf<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@grey_seymour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grey_seymour<\/a>&nbsp;<\/p>\n<p>Hi Grey! CTO here,<br \/>Thanks so much for the feedback.<\/p>\n<p>Tl\/dr &#8211; just clarified info on the site, pricing is now $40\/mo\/seat (20 with promo)<\/p>\n<p>We&#8217;ve been having a lot of discussions internally about this, and your feelings on pricing are super reasonable. We&#8217;re confident that we can deliver a value-add which makes this price worthwhile, but we understand that we still need to prove it to the world, especially in the early days when we\u2019re still hunting down bugs and smoothing rough edges.<\/p>\n<\/p>\n<p>To clarify, you get:<\/p>\n<ul>\n<li>\n<p>$40\/user\/mo in Anthropic\/OpenAI credits, run through our Zero Data Retention Account, for use with our internal agents on the site, and the option to add your own api key if you want more.<\/p>\n<\/li>\n<li>\n<p>Unlimited connections into our streamable HTTP MCP server (NOT claude-locked, although I am a fan of claude).<\/p>\n<\/li>\n<li>\n<p>Access to our web app, which includes all the collaboration tools listed above<\/p>\n<\/li>\n<li>\n<p>Unlimited data storage (with a capped file size on each context document)<\/p>\n<\/li>\n<li>\n<p>We offer 60+ integrations with new ones being added quite quickly &#8211; if there\u2019s any you want but don\u2019t see, just let us know.<\/p>\n<\/li>\n<\/ul>\n<p>We\u2019re also clarifying our pricing structure:&nbsp;<\/p>\n<p>It\u2019s now $40 ($20 with discount) per month per seat.&nbsp;<\/p>\n<p><\/p>\n<p>Also, if you have any more questions, the 14-day free trial still stands, so you\u2019re free to try everything out yourself and see how it works, and exactly what you\u2019re getting for your money.&nbsp; (And if your team is interested, we\u2019d be happy to add you to our slack for timely responses to any further questions).<\/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>Someone above asked whether this replaces Notion for a GTM team, and that&#8217;s exactly what I&#8217;m wondering too. The difference I can see: Notion is where you go to read, this sounds like it&#8217;s where context lives so you don&#8217;t have to go dig at all. For GTM specifically, the stuff that&#8217;s hardest to retain isn&#8217;t documents, it&#8217;s the &#8220;why&#8221; behind decisions. <\/p>\n<p>Curious how Compendium captures that vs. structured notes. Nice launch. <a href=\"https:\/\/www.producthunt.com\/@jonathan_waldorf\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jonathan_waldorf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonathan_waldorf<\/a> <a href=\"https:\/\/www.producthunt.com\/@garrytan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"garrytan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@garrytan<\/a> <a href=\"https:\/\/www.producthunt.com\/@lucas_baur\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"lucas_baur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lucas_baur<\/a> <a href=\"https:\/\/www.producthunt.com\/@oliver_moreland\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"oliver_moreland\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oliver_moreland<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the shared-memory pitch makes sense for the good case, but what happens when someone leaves the team? their fingerprints are all over decisions and context that other agents keep building on top of. is there a way to isolate or scrub a departed person&#8217;s contributions from the shared brain, or does it just stay baked in forever once it&#8217;s in there<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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;<\/p>\n<p>Hey Gal!<br \/>We&#8217;re actually shipping a feature soon that let&#8217;s you trace parts of the context back to the exact author (human or agent), so you could very easily ask an agent to review all bits of the context associated with that person and scrub out whatever has been made irrelevant. Also, generally speaking, one of the core ideas in the way that we&#8217;re building Compendium is that agents should be reviewing context periodically and making sure it&#8217;s up to date, which should catch these kinds of issues automatically.<\/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 has been a no-brainer for us at Fabraix. The speed at which we&#8217;re able to ship before and after doesn&#8217;t even compare. And it has been, by far, the biggest productivity boost for us!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zachx0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zachx0<\/a>&nbsp;Love to hear it \ud83e\udeea<\/p>\n<p>So pumped Compendium&#8217;s been a game changer for Fabraix&#8217;s shipping speed, that&#8217;s exactly the impact we&#8217;re going for. Tysm!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;built a feature only to find your teammate built an identical one&#8221; problem is very real once you&#8217;ve got multiple people running agents in parallel, context just doesn&#8217;t propagate between sessions the way it does when everyone&#8217;s reading the same Slack thread. curious how it handles conflicting decisions though, not just duplicate work but two agents that both made a call and those calls actually contradict each other. does it flag the conflict or just surface both and leave it to a human to notice<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you handle data consistency and conflict resolution when multiple agents are updating the shared context simultaneously?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Shared memory across agents is a real frontier, and harder than shared memory across people because agents write fast and don&#8217;t pause to reconcile. When we pointed several agents at one store, what bit us was two of them writing conflicting decisions in the same minute, and a reader downstream just got whichever won the race. We ended up adding per-fact provenance and timestamps to reconcile it. How does Compendium handle concurrent or contradictory writes from different agents into the one brain, last-write-wins, or some merge?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Built and launched <a href=\"https:\/\/www.producthunt.com\/products\/learny-brain\" target=\"_blank\" rel=\"noopener\">one of these myself<\/a> on Product Hunt  &#8211; good to see others thinking the same thing!  Welcome to the company brain companies club.<\/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\/@niyogi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@niyogi<\/a>&nbsp;Thanks Roj, congrats as well! Would love to bounce ideas off each other \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/R6VMLCE73D3ERS\" class=\"app-title\">Jamboree<\/a><\/p>\n<div class=\"one-liner\">Multiplayer synthesizer<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">97<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Jamboree \u662f\u4e00\u6b3e\u57fa\u4e8e\u6d4f\u89c8\u5668\u7684\u591a\u4eba\u5b9e\u65f6\u5408\u6210\u5668\uff0c\u8ba9\u97f3\u4e50\u4eba\u65e0\u9700\u5b89\u88c5\u8f6f\u4ef6\u5373\u53ef\u4e0e\u670b\u53cb\u534f\u4f5c\u8bbe\u8ba1\u97f3\u8272\uff0c\u89e3\u51b3\u4f20\u7edf\u5408\u6210\u5668\u534f\u4f5c\u95e8\u69db\u9ad8\u3001\u6d41\u7a0b\u5b64\u7acb\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\/72dcc9c5-b05b-4db2-9def-fce4723ee351.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c1139729-d574-4b44-bca9-7512bce0104a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/65dad5ab-d6e2-4308-8cc7-a1e1e650831c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/caee1992-52f7-4a3a-a469-2b90f08283eb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e14435e8-150b-4968-8fc8-a10faae61ad6.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\">Music<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u591a\u4eba\u5408\u6210\u5668<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u97f3\u9891\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u70b9\u5bf9\u70b9\u7f51\u7edc<\/span><br \/>\n            <span class=\"tag\">\u97f3\u8272\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">SoundFont\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">WebRTC<\/span><br \/>\n            <span class=\"tag\">\u97f3\u4e50\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5408\u6210\u5668\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\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\u591a\u4eba\u534f\u4f5c\u4e0e\u5b9e\u65f6\u5149\u6807\u529f\u80fd\u5e26\u6765\u4e92\u52a8\u8da3\u5473\uff1b\u6280\u672f\u65b9\u9762\u5173\u6ce8\u5ef6\u8fdf\u5904\u7406\u3001P2P\u8fde\u63a5\u7a33\u5b9a\u6027\uff08\u5bf9\u79f0NAT\u7b49\u573a\u666f\uff09\u53ca\u4fdd\u5b58\u5bfc\u51fa\u80fd\u5426\u66f4\u8fdb\u4e00\u6b65\uff08\u5982\u63d0\u4f9b\u97f3\u9891\u56de\u5f55\uff09\u3002\u90e8\u5206\u5efa\u8bae\u589e\u52a0\u53cc\u632f\u8361\u5668\u4ee5\u6269\u5c55\u97f3\u8272\u6df1\u5ea6\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                Jamboree \u7684\u4ef7\u503c\u4e0d\u5728\u201c\u9020\u4e00\u4e2a\u591a\u725b\u7684\u5408\u6210\u5668\u201d\uff0c\u800c\u5728\u4e8e\u7528\u8f7b\u91cf\u65b9\u6848\u89e3\u6784\u4e86\u97f3\u8272\u8bbe\u8ba1\u7684\u9ad8\u5ea6\u4e2a\u4eba\u5316\u95e8\u69db\u3002\u5b83\u628a\u5408\u6210\u5668\u4ece\u201c\u72ec\u81ea\u62e7\u65cb\u94ae\u7684\u6df1\u6e0a\u201d\u62fd\u8fdb\u201c\u4eba\u4eba\u80fd\u63d2\u4e00\u5634\u7684\u804a\u5929\u5ba4\u201d\uff0c\u5728\u6d4f\u89c8\u5668\u91cc\u590d\u523b\u4e86Figma\u5f0f\u7684\u534f\u4f5c\u4f53\u9a8c\u2014\u2014\u5b9e\u65f6\u5149\u6807\u3001\u5373\u65f6\u540c\u6b65\u3001\u65e0\u670d\u52a1\u5668\u8d1f\u62c5\u3002\u6280\u672f\u9009\u578b\u4e0a\uff0cWebRTC \u914d\u5408 Matchbox \u6253\u6d1e + \u53ef\u9009\u7684 coturn \u4e2d\u7ee7\uff0c\u65e2\u907f\u514d\u4e86\u91cd\u540e\u7aef\u7ef4\u62a4\uff0c\u53c8\u5728\u5b9e\u9645\u6d4b\u8bd5\u4e2d\u63a7\u5236\u4e86\u5ef6\u8fdf\uff0c\u8bc4\u8bba\u533a\u7528\u6237\u201c\u81ea\u52a8\u5316\u6ee4\u6ce2\u6ca1\u5361\u987f\u201d\u7684\u53cd\u9988\u63d0\u4f9b\u4e86\u6709\u529b\u4f50\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4e5f\u6709\u660e\u663e\u5c40\u9650\uff1a\u591a\u4eba\u540c\u65f6\u6f14\u594f\u7f3a\u4e4f\u5171\u4eab\u65f6\u949f\u540c\u6b65\uff0c\u82e5\u6d89\u53ca\u8282\u594f\u534f\u4f5c\uff0c\u5404\u4eba\u542c\u5230\u7684\u65f6\u5e8f\u5c06\u4e0d\u4e00\u81f4\uff0c\u8fd9\u51b3\u5b9a\u4e86\u5b83\u76ee\u524d\u7684\u5b9a\u4f4d\u66f4\u63a5\u8fd1\u201c\u58f0\u97f3\u8bbe\u8ba1\u7684\u793e\u4ea4\u73a9\u5177\u201d\uff0c\u800c\u975e\u4e25\u8083\u7684\u8fdc\u7a0b\u5de5\u4f5c\u5ba4\u5de5\u5177\u3002SoundFont \u5bfc\u51fa\u662f\u4e00\u5927\u52a0\u5206\u9879\uff0c\u8ba9\u7528\u6237\u4e0d\u4f1a\u201c\u5173\u9875\u4eba\u4ea1\u201d\uff0c\u80fd\u843d\u5730\u5230\u4e3b\u6d41DAW\u91cc\u590d\u7528\u3002\u4f46\u82e5\u60f3\u771f\u6b63\u6f14\u8fdb\u4e3a\u534f\u4f5c\u521b\u4f5c\u5de5\u5177\uff0c\u5c31\u5fc5\u987b\u8865\u9f50\u97f3\u9891\u5f55\u5236\u3001MIDI\u5bfc\u51fa\u3001\u5171\u4eab\u65f6\u949f\u7b49\u7f3a\u5931\u73af\u8282\u3002\u53e6\u5916\uff0c\u53cc\u632f\u8361\u5668\u8fd9\u7c7b\u57fa\u7840\u5408\u6210\u529f\u80fd\u6682\u7f3a\uff0c\u4e5f\u8bf4\u660e\u6838\u5fc3\u5f15\u64ce\u4ecd\u5904\u4e8e\u201c\u591f\u73a9\u4f46\u4e0d\u591f\u6df1\u201d\u7684\u72b6\u6001\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u521b\u59cb\u4eba\u6e05\u9192\u5730\u5b9a\u4f4d\u4e3a\u201cfun experiment\u201d\uff0c\u662f\u806a\u660e\u7684\u51cf\u6cd5\u3002\u4f46\u957f\u8fdc\u770b\uff0cJamboree \u7684\u6700\u5927\u60f3\u8c61\u7a7a\u95f4\u4e0d\u5728\u4e8e\u505a\u66f4\u597d\u7684\u5408\u6210\u5668\uff0c\u800c\u5728\u4e8e\u5b9a\u4e49\u4e00\u79cd\u201c\u793e\u4ea4\u578b\u97f3\u8272\u5171\u521b\u201d\u7684\u65b0\u4ea4\u4e92\u8303\u5f0f\u2014\u2014\u5982\u679c\u540e\u7eed\u80fd\u5f00\u653e\u516c\u5171\u97f3\u8272\u5e93\u3001\u652f\u6301\u63d2\u4ef6\u5316\u5d4c\u5165\u5728\u7ebf\u793e\u533a\/\u76f4\u64ad\u5e73\u53f0\uff0c\u5b83\u624d\u771f\u6b63\u6709\u673a\u4f1a\u4ece\u201c\u73a9\u5177\u201d\u8dc3\u8fc1\u4e3a\u201c\u65b0\u5de5\u5177\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Jamboree<\/span>\n                <\/div>\n<div class=\"comment-content\">A multiplayer sound design tool. Fully browser-based with true peer-to-peer networking, SoundFont export, and live cursors\/chat so you can shape patches with others in real time. Comes with a real synth engine: 5-shape oscillator, resonant filter, full ADSR amp envelope, and an LFO routable to filter or amp for evolving, moving sounds.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! This was a small weekend project I worked on to use with my friends and thought about sharing with the community.<\/p>\n<p>Whether it&#8217;s two people tweaking a patch on a call or a whole room piling onto one synth during a livestream, Jamboree is built for sound design as a group activity: watch each other&#8217;s changes land instantly, talk through the patch as you build it, and walk away with something nobody could&#8217;ve made alone.<\/p>\n<p>Some highlights:<\/p>\n<p>&#8211; Live multiplayer editing: see collaborators&#8217; cursors and changes in real time (with a cursor chat)<br \/>\n&#8211; True peer-to-peer networking (no relay servers, just a small signaling server to connect peers)<br \/>\n&#8211; Runs entirely in-browser, nothing to install<br \/>\n&#8211; 5-shape oscillator, filter, full ADSR amp envelope, and LFO routable to filter or amp.<br \/>\n&#8211; Exports to SoundFont (v1 and v2) so you can use your patch in popular DAWs<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019m not a sound designer, but I really like tools that make creative work feel collaborative instead of lonely. sound design usually feels like someone tweaking knobs alone for hours, so the multiplayer\/live cursor angle makes it immediately more playful. The peer-to-peer part is also a nice technical detail. for something browser-based and real-time, keeping it lightweight instead of building a huge backend around it feels right.<\/p>\n<\/p>\n<p>Also, SoundFont export makes this feel less like a toy and more like something people can actually take into their DAW afterward \ud83d\ude42<\/p>\n<p>Curious if you imagine Jamboree more as a serious collab tool for musicians, or more as a fun \u201cjam with friends\u201d experiment for now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Currently not too serious, just something fun to mix up the creative process with friends!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Real-time multiplayer on a synth sounds like the hard part. How are you handling latency when two people play at once, is it locked to a host clock or does everyone hear their own timing? I&#8217;ve been messing with Kontakt and Maschine solo for years so someone jumping into the same patch sounds like a blast.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 multiplayer synth right in the browser is exactly the thing I&#8217;d open mid-call to mess around with a friend without either of us installing a DAW. The day-one thing I&#8217;d want to know: after a jam, can I actually save or export what we made (an audio bounce, or MIDI\/stems), or does the session vanish once everyone leaves the room? And when two of us play at once, is the timing locked to a shared clock, or does remote latency smear the groove?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried making a pad with a friend and the live cursors actually made it feel like we were tweaking the same knob at the same time. The peer-to-peer setup held up well too, no lag spikes even when both of us were automating the filter cutoff.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 SoundFont export is what pushes this past &#8220;cute weekend demo&#8221; for me, most collaborative synth toys leave you with nothing once the tab closes but this actually gives you something to drop into a real DAW afterward. love that it started as just messing around with friends<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 cool! Adding a second oscillator and making both oscillators tunable would be a relatively simple addition that could add more depth the synth voice.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>true peer-to-peer with no relay server is the part I&#8217;d want to stress test. WebRTC p2p usually works fine until someone&#8217;s behind a symmetric NAT or a locked-down corporate\/school firewall, at which point the connection just fails silently unless you have a TURN relay as fallback. does Jamboree have one, or is it strictly &#8220;if peers can&#8217;t find each other directly, no jam session&#8221;? curious how much of the weekend went into handling that edge case vs the synth itself<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;It&#8217;s mentioned on the website but I&#8217;m using <a href=\"https:\/\/github.com\/johanhelsing\/matchbox\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Matchbox<\/a> for the p2p networking which does do hole punching, but I am also running a coturn server on digital ocean as a backup in case people are on stricter connections (but from my stats it&#8217;s not being used much). Most of the time spent was with the networking stuff for sure, the synthesizer itself is not too complicated to implement!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a really interesting take on sound design. The multiplayer angle stands out to me \u2014 most synth tools feel very solo, while this makes patch-building feel more like a shared creative workspace.<\/p>\n<p>Curious how collaboration works in practice: can multiple people edit the same patch at the same time, or is there some kind of turn-taking system to avoid conflicts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@longway1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@longway1<\/a>&nbsp;It&#8217;s all live multiplayer like in Figma, last action takes priority in case of people tweaking the same thing at once.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting concept. Collaborative creativity is still underexplored in music tools. I&#8217;d be curious to know whether users tend to design patches together from scratch or iterate on someone else&#8217;s sounds more often.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>SoundFont export from a browser-based synth is an unexpected feature to include at launch, most tools in this space stop at WAV or MIDI. Curious what the use case is there, are people expected to pull patches into a DAW workflow or is it more for archiving presets in a portable format?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;My main use case was to design sounds collaboratively and then pull them into your DAW to use for actual music making. Having an archive where people can share sounds does sound interesting though, will think about it more!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/G3GGBLVBEPNB5J\" class=\"app-title\">Knowledge Atlas by Fini<\/a><\/p>\n<div class=\"one-liner\">The self-learning knowledge base that improves itself<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">94<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Knowledge Atlas\u662f\u4e00\u6b3e\u80fd\u81ea\u52a8\u4ece\u5df2\u89e3\u51b3\u5ba2\u670d\u5de5\u5355\u4e2d\u751f\u6210\u5e2e\u52a9\u6587\u6863\u3001\u68c0\u6d4b\u77e5\u8bc6\u51b2\u7a81\u5e76\u786e\u4fdd\u6bcf\u4e2aAI\u56de\u7b54\u90fd\u6709\u5355\u4e00\u5f15\u7528\u6765\u6e90\u7684\u81ea\u6211\u8fdb\u5316\u77e5\u8bc6\u5e93\uff0c\u89e3\u51b3\u4e86\u5ba2\u670d\u56e2\u961f\u6bcf\u5468\u8017\u65f620\u5c0f\u65f6\u624b\u5de5\u66f4\u65b0\u5e2e\u52a9\u4e2d\u5fc3\u7684\u75db\u70b9\uff0c\u5e76\u6d88\u9664\u56e0\u8fc7\u65f6\u6216\u77db\u76fe\u4fe1\u606f\u5bfc\u81f4\u7684AI\u56de\u7b54\u504f\u5dee\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\/33684840-525d-4397-82f9-d71cd3e0879e.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/tBtuFlC3Sgc?si=fpc0p-vyx7j4bX9F\"><source src=\"https:\/\/youtu.be\/tBtuFlC3Sgc?si=fpc0p-vyx7j4bX9F\" 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\/2ca7c9b6-75dd-45bd-8e36-e0134976aea0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7739df18-2d96-40ae-98cb-03c3f7fb69dc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8c14bfa3-fcec-4830-a47b-7209f44ea8e0.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\">Customer Success<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u77e5\u8bc6\u5e93\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">AI\u5ba2\u670d<\/span><br \/>\n            <span class=\"tag\">\u5de5\u5355\u8f6c\u6587\u6863<\/span><br \/>\n            <span class=\"tag\">\u51b2\u7a81\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u81ea\u5b66\u4e60\u77e5\u8bc6\u5e93<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a9\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u5355\u6e90\u5f15\u7528<\/span><br \/>\n            <span class=\"tag\">LLM\u539f\u751f\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">\u534f\u4f5c\u66f4\u65b0<\/span><br \/>\n            <span class=\"tag\">\u5408\u89c4\u5ba1\u8ba1<\/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\u81ea\u52a8\u68c0\u6d4b\u77e5\u8bc6\u6f0f\u6d1e\u548c\u51b2\u7a81\u7684\u80fd\u529b\uff0c\u8282\u7701\u4e86\u57f9\u8bad\u65f6\u95f4\u3002\u6838\u5fc3\u5173\u5207\u96c6\u4e2d\u4e8e\u4e24\u70b9\uff1a1\uff09\u81ea\u52a8\u4ece\u5df2\u89e3\u51b3\u5de5\u5355\u751f\u6210\u6587\u7ae0\u7684\u8d28\u91cf\u63a7\u5236\uff08\u662f\u5426\u4f1a\u8bef\u5c06\u6743\u5b9c\u4e4b\u8ba1\u56fa\u5316\u4e3a\u89c4\u5219\uff09\uff1b2\uff09\u5408\u89c4\u6027\u5ba1\u8ba1\uff08AI\u81ea\u4e3b\u66f4\u65b0\u524d\u662f\u5426\u6709\u4eba\u5de5\u5ba1\u6279\uff09\u3002\u5f00\u53d1\u8005\u56de\u5e94\u79f0\u6709\u4e25\u683c\u7684\u201c\u7c7bPR\u201d\u5ba1\u6838\u6d41\u7a0b\uff0c\u6bcf\u6761\u5efa\u8bae\u66f4\u65b0\u90fd\u987b\u4eba\u5de5\u786e\u8ba4\u540e\u624d\u80fd\u751f\u6548\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Knowledge Atlas\u7cbe\u51c6\u5207\u4e2d\u4e86AI\u5ba2\u670d\u9886\u57df\u4e00\u4e2a\u88ab\u4e25\u91cd\u4f4e\u4f30\u7684\u201c\u810f\u6d3b\u201d\u2014\u2014\u77e5\u8bc6\u5e93\u7ef4\u62a4\u3002\u5f53\u591a\u6570\u7ade\u54c1\u8fd8\u5728\u6bd4\u62fc\u201cRAG\u68c0\u7d22\u51c6\u786e\u7387\u201d\u65f6\uff0cFini\u9009\u62e9\u4e86\u4e00\u6761\u66f4\u8d39\u529b\u4f46\u66f4\u6839\u672c\u7684\u8def\u5f84\uff1a\u653e\u5f03\u5207\u7247\u62fc\u63a5\u5f0f\u7684RAG\uff0c\u8f6c\u800c\u7528LLM\u50cf\u4eba\u4e00\u6837\u201c\u9605\u8bfb\u201d\u6574\u7bc7\u6587\u7ae0\u5e76\u81ea\u4e3b\u751f\u6210\u5185\u5bb9\u3002\u8fd9\u5b9e\u9645\u4e0a\u662f\u5c06\u77e5\u8bc6\u7ba1\u7406\u4ece\u201c\u88ab\u52a8\u68c0\u7d22\u201d\u5347\u7ea7\u4e3a\u201c\u4e3b\u52a8\u8fd0\u8425\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4e25\u683c\u8fc7\u6ee4\u5de5\u5355\u5185\u5bb9\u5230\u5f3a\u5236\u4eba\u5de5\u5ba1\u6279\u66f4\u65b0\u7684\u201cPull Request\u201d\u6a21\u5f0f\uff0cFini\u5bf9\u5408\u89c4\u548c\u5ba1\u8ba1\u7684\u91cd\u89c6\u4f53\u73b0\u4e86\u5176\u5bf9B\u7aef\u573a\u666f\u7684\u6210\u719f\u7406\u89e3\u3002\u4f46\u201c\u81ea\u6211\u5b66\u4e60\u201d\u8fd9\u628a\u53cc\u5203\u5251\u4e5f\u663e\u800c\u6613\u89c1\uff1a\u6587\u7ae0\u81ea\u52a8\u589e\u591a\u540e\uff0c\u5373\u4fbf\u6709\u51b2\u7a81\u68c0\u6d4b\uff0c\u9996\u8981\u6ce8\u610f\u529b\u4e0e\u65b0\u9c9c\u5ea6\u77db\u76fe\u7684\u7ef4\u62a4\u6210\u672c\u4ecd\u5b58\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u4e8e\u751f\u6210\u80fd\u529b\uff0c\u800c\u5728\u4e8e\u5c06\u201c\u9648\u65e7\u3001\u77db\u76fe\u201d\u8fd9\u7c7b\u77e5\u8bc6\u73af\u5883\u95ee\u9898\u8f6c\u5316\u4e3a\u53ef\u88ab\u7cfb\u7edf\u68c0\u6d4b\u548c\u5ba1\u6838\u7684\u5de5\u7a0b\u5316\u6d41\u7a0b\u3002\u4e0d\u8fc7\uff0c\u7528\u6237\u5bf9\u201c\u751f\u6210\u5373\u6c61\u67d3\u201d\u7684\u62c5\u5fe7\u5e76\u975e\u591a\u4f59\u2014\u2014\u5f53\u4e00\u7b14\u9519\u8bef\u4f46\u201c\u5e78\u8fd0\u201d\u88ab\u89e3\u51b3\u7684\u5de5\u5355\uff0c\u5176\u8d28\u91cf\u6307\u6807\u80fd\u901a\u8fc7\u4ec0\u4e48\u673a\u5236\u575a\u51b3\u8bc6\u522b\uff1f\u8fd9\u4e9b\u95ee\u9898\u9700\u8981Fini\u5728\u7528\u75af\u72c2\u6269\u5f20\u524d\u5efa\u7acb\u66f4\u4e25\u5bc6\u7684\u9a8c\u8bc1\u95ed\u73af\uff0c\u5426\u5219\u5bb9\u6613\u9677\u5165\u201c\u81ea\u52a8\u5236\u9020\u8fc7\u65f6\u5185\u5bb9\u201d\u7684\u65b0\u9677\u9631\u3002\u5bf9\u94f6\u884c\u3001\u533b\u7597\u7b49\u91cd\u76d1\u7ba1\u884c\u4e1a\u6765\u8bf4\uff0c\u5355\u6e90\u5f15\u7528\u548c\u5ba1\u8ba1\u65e5\u5fd7\u662f\u521a\u9700\uff0c\u4f46\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\u5982\u4f55\u627e\u5230\u4e00\u4e2a\u5e73\u8861\u70b9\uff1a\u65e2\u80fd\u5728\u89c4\u6a21\u4e0a\u81ea\u52a8\u7ef4\u62a4\uff0c\u53c8\u4e0d\u8ba9\u4eba\u5de5\u5ba1\u6838\u6210\u4e3a\u53d6\u4ee3\u539f\u6709\u624b\u5de5\u7ef4\u62a4\u5de5\u4f5c\u7684\u65b0\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\">Knowledge Atlas by Fini<\/span>\n                <\/div>\n<div class=\"comment-content\">Fini&#8217;s self-maintaining knowledge layer. It writes help articles from resolved tickets, flags conflicts, and grounds every AI answer in one cited source.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt :wave: Deep here, co-founder of Fini.<\/p>\n<p>Over the past few months we spent 300+ hours with our customers just watching how they maintain their knowledge. One thing was constant: everyone hates it. Support teams lose 20 hours a week updating the help center by hand. A feature ships, a policy changes, and someone on the CX team spends their Friday rewriting articles. Every one of those updates is &#8220;urgent.&#8221;<\/p>\n<p>The deeper problem: when an AI support agent gives a bad answer, the model is almost never the reason. The knowledge is. Stale articles, contradicting articles, missing articles. You can&#8217;t prompt-engineer your way out of bad source data.<\/p>\n<p>So we built Knowledge Atlas, a self-learning knowledge base that updates itself:<br \/>\n&#8211; Connect your sources (help center, PDFs, past tickets, Slack) and Atlas builds a structured tree of cited articles<br \/>\n&#8211; Every resolved ticket becomes a new article automatically<br \/>\n&#8211; Conflicts between articles get caught and flagged before customers ever see them<br \/>\n&#8211; Every answer traces to exactly one source<\/p>\n<p>And there&#8217;s no RAG underneath. Search is LLM-native: the agent navigates the tree and reads whole articles the way a person would, instead of retrieving chunks and stitching them into blended answers. Our compliance-heavy customers in banking and healthcare care about that single-source traceability more than any accuracy stat.<\/p>\n<p>Wefunder is already live on it: 22% increase in autonomous resolution, 30% increase in knowledge coverage, same team. The knowledge compounds now instead of decaying.<\/p>\n<p>We&#8217;ll build a free Atlas from your real docs in 24 hours, so you can judge it on your own knowledge instead of a polished demo.<\/p>\n<p>I&#8217;ll be here all day. Ask me anything, especially the hard questions about why we walked away from RAG.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The promotion gate reads solid, and Gal&#8217;s thread pushed you to show the diff and reject UI, which helps. The failure I&#8217;d watch is the opposite direction: retirement. Auto-generating articles grows the base fast, but a resolution that was correct in March becomes a confidently-cited wrong answer the day a policy changes. In our own self-updating knowledge store, adding was trivial and detecting that a new article contradicts and should supersede an old one was where the real engineering went. Does Atlas check a new article against existing ones for conflict, or is the loop mostly additive?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;Hey Dipankar, yes. This is in fact one of the main thing what Knowledge Atlas does. Just like finding diff of an article, it finds conflicting articles on the same topic, and suggest a merge with automatic content update based on the freshness, and resolved answers combined, and then flagged for review for a human agent to check, do any updates and approve\/reject<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Plugged it into our helpdesk and the gap detection alone saved us hours of retraining each week. Honestly impressive how accurate it stayed on banking edge cases without us babysitting it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@msunar82939\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@msunar82939<\/a>&nbsp;Glad Knowledge Atlas is helpful \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>&#8220;fully autonomous in 30 days&#8221; for banking support is the line that&#8217;d make our compliance team nervous, not because the accuracy number is wrong but because autonomous means nobody signed off on the specific answer that went out. in a regulated industry the audit trail of who approved what usually matters as much as the answer being correct. does a human ever get a say before an article it wrote itself starts getting cited to customers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Hey Omri, Yes. Always. Whenever a new get&#8217;s written from resolved answers, or if there is any update in the existing article&#8230; it&#8217;s always flagged for review for a human agent to check and update, and then submit the changes by themselves with exact audit details of who took the action, when and what the action is. I hope that clarifies things \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. Looks impresive. Do you have any support for images \/  screenshots also?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@k_piotr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@k_piotr<\/a>&nbsp;Thanks Piotr. Yes, we support images, screenshots, PDFs, and text files&#8230; Would love to give you a walkthrough if you want \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>plugged it into our helpdesk last week and it caught gaps in our knowledge base we hadn&#8217;t noticed for months, which was a nice surprise.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@smailryet\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@smailryet<\/a>&nbsp;Glad you tried and liked it Ismail \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>Took it for a spin on our support inbox last week and it actually flagged its own gaps instead of guessing, which is rare. Loved that it dropped into Zendesk without forcing a migration.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ule882420426780\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ule882420426780<\/a>&nbsp;Thanks for giving it a shot <a href=\"https:\/\/www.producthunt.com\/@ule882420426780\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>\u015eule<\/strong><\/a><strong>. <\/strong>Do spread the word \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 part that gives me pause is &#8220;every resolved ticket becomes a new article automatically.&#8221; a resolved ticket isn&#8217;t the same thing as a correct or generalizable answer, sometimes a resolution is a one-off workaround, a support agent&#8217;s judgment call that shouldn&#8217;t be policy, or honestly just the AI getting lucky on an edge case. auto-promoting that into a permanent cited article feels like it could bake exceptions in as rules over time, which seems like exactly the kind of slow-drift problem you&#8217;re trying to solve with the conflict flagging. is there a review step before a ticket-derived article goes live, or does it publish straight into the tree and rely on the conflict detector to catch it later<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Hi Gal, thank you for your question. CTO of Fini here. There is a strict relevancy filter (checking generalizability, correctness, etc) before a candidate resolution is suggested for review. Only a certain (usually single-digit) tuneable percentage makes it past that filter. Post that, a human has to check the draft update that was created before approving it and turning it live. We got inspiration from Pull Requests &#8211; so indeed we have gated this appropriately as our clients have stringent requirements for accuracy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;great obsrvation Gal, and people are really skeptical about it as well. To give clarity:<br \/>1. Yes, considering a resolved ticket might be correct every time, that&#8217;s why we have a test suite + a separate AI agent evaluating each answer before suggesting any article update.<br \/>2. And Yes, there is a review step for every suggestion our AI agents takes before updating an article. It shows the diff suggestion to a human agent, and then human agents takes the last and final action (screenshot attached)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cc2e88fb-7667-46d3-9a1f-bd0da7bb309c.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Sounds very interesting, I have not seen per resolution pricing. I would be more cautious about the setup\/onboarding. If it needs to tie into your APIs, this is basically like a full-on product integration vs. an additional extension. What is the typical onboarding time for a customer from signup to full autonomy for a SaaS? I would think it would take lots of time from your CTO to get it done.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Auto-writing help articles from resolved tickets is the maintenance loop everyone skips, so the input-quality gate is what I would trust-test first. When a ticket gets resolved with a workaround or a wrong-but-accepted answer, what stops that from becoming a canonical article the AI then cites confidently? And the conflict flagging: is that just detecting two contradictory articles, or does it also catch an article that has gone stale against a product change no one has filed a ticket about yet?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Conflict detection as the mechanism is more robust than a plain TTL, that makes sense. The case that burned us wasn&#8217;t two articles that obviously overlap, it was two that never shared keywords but still contradicted: an old refund window buried in a policy doc versus a newer one sitting in an FAQ. Nothing textual linked them, so a naive same-topic check slid right past it. Are you clustering on meaning or on citation overlap to decide two articles are really about the same thing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BUWWTADJ6ZNRPQ\" class=\"app-title\">On-Device Field Extraction by Veryfi<\/a><\/p>\n<div class=\"one-liner\">Secure on-device extraction even if you&#8217;re offline<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">94<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Veryfi Lens SDK\u7684On-Device Field Extraction\u529f\u80fd\uff0c\u5728\u7528\u6237\u62cd\u6444\u6536\u636e\u7684\u77ac\u95f4\u8fdb\u884c\u672c\u5730\u5b57\u6bb5\u9a8c\u8bc1\uff0c\u89e3\u51b3\u4e86\u56e0\u4e0a\u4f20\u540e\u624d\u53d1\u73b0\u626b\u63cf\u4e0d\u5408\u683c\u800c\u5bfc\u81f4\u62a5\u9500\u6d41\u7a0b\u88ab\u62d2\u3001\u9700\u53cd\u590d\u6c9f\u901a\u7684\u75db\u70b9\uff0c\u5c24\u5176\u9002\u7528\u4e8e\u5f31\u7f51\u6216\u79bb\u7ebf\u73af\u5883\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\/7cda8ad2-56d8-47bf-ae64-5112b3d89050.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\/22157779-357c-4d27-98c6-3b69ae80c248.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/87kp0-LRp6Y\"><source src=\"https:\/\/youtu.be\/87kp0-LRp6Y\" 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\">Fintech<\/span><br \/>\n            <span class=\"tag\">Tech<\/span><br \/>\n            <span class=\"tag\">Tech news<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6587\u6863\u5904\u7406SDK<\/span><br \/>\n            <span class=\"tag\">\u6536\u636e\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u5907\u7aefAI<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebfOCR<\/span><br \/>\n            <span class=\"tag\">\u5373\u65f6\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u5b57\u6bb5\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u62a5\u9500\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u91cf\u5316\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\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\u6838\u5fc3\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a1\uff09\u7aef\u4fa7\u6a21\u578b\u4e0e\u4e91\u7aef\u6a21\u578b\u6821\u51c6\u4e0d\u4e00\u81f4\u5bfc\u81f4\u7684\u201c\u9759\u9ed8\u5206\u6b67\u201d\u98ce\u9669\uff1b2\uff09\u7aef\u4fa7\u6a21\u578b\u5c3a\u5bf8\u53ca\u5bf9App\u5305\u7684\u5f71\u54cd\uff1b3\uff09\u7aef\u4fa7\u6a21\u578b\u867d\u8f7b\u91cf\u4f46\u53ef\u80fd\u8bef\u5224\uff08\u8fc7\u5ea6\u8981\u6c42\u7528\u6237\u91cd\u62cd\uff09\uff0c\u9020\u6210\u6bd4\u539f\u59cb\u95ee\u9898\u66f4\u5dee\u7684\u4f53\u9a8c\uff1b4\uff09\u91cf\u5316\u6a21\u578b\u7684\u7f6e\u4fe1\u5ea6\u9608\u503c\u5177\u4f53\u5982\u4f55\u8bbe\u7f6e\u3002\u5b98\u65b9\u56de\u5e94\u8f83\u7b3c\u7edf\uff0c\u672a\u63d0\u4f9b\u6280\u672f\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                Veryfi\u7684\u8fd9\u6b21\u66f4\u65b0\uff0c\u672c\u8d28\u4e0a\u662f\u7528\u4e00\u4e2a\u201c\u5728\u7ebf\u9a8c\u8bc1\u201d\u7684\u8c0e\u8a00\uff0c\u53bb\u89e3\u51b3\u4e00\u4e2a\u201c\u79bb\u7ebf\u53cd\u9988\u201d\u7684\u75db\u70b9\u3002\u5b83\u628a\u9519\u8bef\u53d1\u73b0\u7684\u65f6\u95f4\u70b9\u4ece\u201c\u4e24\u5929\u540e\u201d\u63d0\u524d\u5230\u201c\u5f53\u573a\u201d\uff0c\u8fd9\u4e2aUX\u5fae\u8c03\u7684\u786e\u80fd\u663e\u8457\u964d\u4f4e\u7528\u6237\u7aef\u7684\u632b\u8d25\u611f\uff0c\u4f46\u5e76\u6ca1\u6709\u6539\u53d8\u6838\u5fc3\u7684\u8bc6\u522b\u51c6\u786e\u7387\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8bc4\u8bba\u533a\u7684\u6280\u672f\u8ba8\u8bba\u8fdc\u6bd4\u5b98\u65b9\u901a\u544a\u66f4\u6709\u4ef7\u503c\u3002\u771f\u6b63\u7684\u6df1\u6c34\u533a\u5728\u4e8e\u201c\u53cc\u6a21\u578b\u5bf9\u9f50\u201d\u4e0e\u201c\u91cf\u5316\u6821\u51c6\u201d\u3002\u7aef\u4fa7\u4e3a\u4e86\u901f\u5ea6\u548c\u4f53\u79ef\uff0c\u5fc5\u7136\u91c7\u7528\u91cf\u5316\u540e\u7684\u8f7b\u91cf\u6a21\u578b\uff0c\u5176\u7f6e\u4fe1\u5ea6\u5206\u5e03\u4e0e\u5168\u7cbe\u5ea6\u7684\u4e91\u7aef\u670d\u52a1\u5668\u6a21\u578b\u5b58\u5728\u7cfb\u7edf\u6027\u504f\u79fb\u3002\u4e8e\u662f\u4ea7\u751f\u4e24\u79cd\u81f4\u547d\u7684\u5931\u8d25\u6a21\u5f0f\uff1a\u4e00\u662f\u201c\u5047\u9633\u6027\u201d\u2014\u2014\u7aef\u4fa7\u89c9\u5f97\u6ca1\u95ee\u9898\uff0c\u4e0a\u4f20\u540e\u88ab\u62d2\uff0c\u7528\u6237\u8fd8\u662f\u90a3\u4e2a\u5012\u9709\u86cb\uff1b\u4e8c\u662f\u66f4\u7cdf\u7cd5\u7684\u201c\u5047\u9634\u6027\u201d\u2014\u2014\u7aef\u4fa7\u8981\u6c42\u7528\u6237\u91cd\u62cd\u4e00\u5f20\u5149\u6d01\u5982\u65b0\u7684\u6536\u636e\uff0c\u800c\u4e91\u7aef\u6a21\u578b\u672c\u53ef\u8f7b\u677e\u8bc6\u522b\uff0c\u53cd\u800c\u589e\u52a0\u4e86\u7528\u6237\u64cd\u4f5c\u6469\u64e6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Veryfi\u7684\u56de\u590d\u4e2d\uff0c\u5bf9\u201c\u53cc\u6a21\u578b\u6821\u51c6\u7b56\u7565\u201d\u548c\u201c\u8bef\u5224\u7387\u5177\u4f53\u6570\u636e\u201d\u8bb3\u83ab\u5982\u6df1\uff0c\u6070\u6070\u8bf4\u660e\u8fd9\u662f\u5176\u5c1a\u672a\u5b8c\u5168\u89e3\u51b3\u7684\u5de5\u7a0b\u96be\u70b9\u3002\u5bf9\u4e8e\u4f01\u4e1a\u5ba2\u6237\u800c\u8a00\uff0c\u8fd9\u4e00\u529f\u80fd\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u591a\u806a\u660e\u201d\uff0c\u800c\u5728\u4e8e\u201c\u591a\u53ef\u9760\u201d\u5730\u51cf\u5c11\u4eba\u5de5\u4ecb\u5165\u3002\u5982\u679c\u4e0d\u80fd\u63d0\u4f9b\u91cf\u5316\u7684\u3001\u53ef\u63a5\u53d7\u7684\u8bef\u5224\u7387\uff0c\u5e76\u660e\u786e\u516c\u5f00\u7aef\u4fa7\u548c\u4e91\u7aef\u6a21\u578b\u7684\u9a8c\u6536\u6807\u51c6\u5dee\u5f02\uff0c\u90a3\u4e48\u8fd9\u53ea\u662f\u4e00\u4e2a\u6f02\u4eae\u7684\u201c\u5b89\u6170\u5242\u529f\u80fd\u201d\u2014\u2014\u8ba9\u524d\u7aef\u7528\u6237\u611f\u89c9\u826f\u597d\uff0c\u800c\u540e\u7aef\u5ba1\u6838\u4eba\u5458\u9700\u8981\u5904\u7406\u7684\u201c\u9057\u5b64\u201d\u5355\u636e\uff0c\u53ea\u662f\u6362\u4e86\u4e00\u79cd\u5f62\u5f0f\u51fa\u73b0\u3002\u5b83\u964d\u4f4e\u4e86\u53cd\u9988\u5ef6\u8fdf\uff0c\u4f46\u672a\u5fc5\u80fd\u964d\u4f4e\u6700\u540e\u7684\u603b\u7ea0\u9519\u6210\u672c\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">On-Device Field Extraction by Veryfi<\/span>\n                <\/div>\n<div class=\"comment-content\">Today we&#8217;re introducing On-Device Field Detection, a new capability in the Veryfi Lens SDK that validates receipts the moment they&#8217;re captured, not after they&#8217;ve been uploaded, processed, and potentially rejected. It&#8217;s a small shift in when validation happens, and it changes a lot about what happens next.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>validation at capture is right \u2014 the sharp edge is the on-device check disagreeing with the heavier server extractor later. late rejection becomes silent disagreement; keeping the two models aligned is the real maintenance cost.<\/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\/@qifengzheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qifengzheng<\/a>&nbsp;Really good callout, that&#8217;s exactly the tension we had to design around. The on-device model is deliberately lighter-weight for speed and offline use. Thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Validating fields on-device at capture, before anything is uploaded, is the right place to catch a bad receipt scan; the rejection round-trip is exactly the pain when you process after upload. The part I&#8217;d test first: does the extraction run fully offline with the receipt&#8217;s PII never leaving the device until I choose to sync, and roughly what model footprint does the Lens SDK add to an app bundle? And on a failed field, do I get per-field confidence back to drive my own retry UI, or just pass\/fail?<\/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\/@hi_i_am_mimo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hi_i_am_mimo<\/a>&nbsp;Appreciate the thoughtful questions, those are exactly the kinds of implementation details we&#8217;re happy to walk through directly. Feel free to <a href=\"https:\/\/www.veryfi.com\/contact\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Contact us<\/a> and we can go deeper there. Thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Anyone who has had an expense claim bounce back days later over a blurry receipt will feel this one. Catching it right there while I&#8217;m still holding the thing is exactly where I always wished it would happen.<\/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\/@amine_aziz_alaoui\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amine_aziz_alaoui<\/a>&nbsp;exactly, that&#8217;s the moment we designed the product for. &#8220;Still holding the thing&#8221; is a perfect way to put it. Thanks ! <\/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\">Hey Product Hunt \ud83d\udc4b<br \/>\nI&#8217;m Marianna, Marketing Manager at Veryfi. We build document processing APIs, and one thing we kept hearing from teams using our Lens SDK was: &#8220;the receipt looked fine when it was captured, then it got rejected two days later.&#8221; By that point the user&#8217;s gone, and someone&#8217;s stuck manually chasing it down.<br \/>\nSo we moved validation to the only moment that matters, capture, not upload.<br \/>\nOn-Device Field Detection checks vendor, date, and total right on the confirmation screen, before the user ever taps submit. It runs fully on-device, no server round trip, no waiting, works offline. If something&#8217;s missing, they see it immediately and can fix it on the spot.<br \/>\nIt&#8217;s a small UX change with a real downstream effect: fewer rejections, less manual review, cleaner data going into whatever system relies on it (expense tools, loyalty programs, cashback platforms, etc.).<br \/>\nWould love to know \u2014 for those of you building anything with document\/receipt capture, is validation-at-capture something you&#8217;ve tried to solve for, or does it usually get handled after the fact in your stack? Happy to go deep on how the on-device models work if anyone&#8217;s curious.<\/div>\n<div class=\"comment-actions\">\n<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\/@marianna_babayan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianna_babayan1<\/a>&nbsp;will it work if I capture a billboard<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@marianna_babayan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianna_babayan1<\/a>&nbsp;&nbsp;The important shift here is validating before upload instead of after. For teams handling receipts in weak-connectivity or privacy-sensitive environments, that changes the failure mode completely. I would make one concrete field-worker example very prominent, because the value clicks immediately when you picture the offline workflow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@marianna_babayan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianna_babayan1<\/a>&nbsp;Upvoted. Congrats on the launch, Marianna. Catching issues at the moment of capture feels like one of those simple improvements that can save teams a lot of unnecessary work later. Wishing you and the team a successful launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This seems amazing <a href=\"https:\/\/www.producthunt.com\/@marianna_babayan1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"marianna_babayan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianna_babayan1<\/a> . I was looking for a ready app to use like this. Thanks a lot!<\/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\/@mohammed_messeguem\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohammed_messeguem<\/a>&nbsp;Thanks so much for the kind words!<\/p>\n<p>Just a quick note on what this is \u2014 the On-Device Field Extraction is part of the <em>Veryfi Lens SDK<\/em>, which is a developer tool that companies embed into their own mobile apps to capture and validate receipts and documents in real time.<\/p>\n<p>If you&#8217;re looking for a <em>ready-to-use<\/em> expense management app, we actually have one for that: <em>Veryfi Expense Management App<\/em> at <a href=\"http:\/\/veryfi.com\/expense-management-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">veryfi.com\/expense-management-app<\/a>. It&#8217;s available on iOS and Android, free to start, and handles receipt scanning, reporting, and accounting integrations like QuickBooks and Xero.<\/p>\n<p>Hope that points 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>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 capture-time validation is the right call. The piece I&#8217;d pin down is threshold calibration. To fit an app bundle the on-device model is almost certainly quantized, and int8 quantization shifts the confidence distribution enough that an accept\/reject cutoff tuned on your server model reads differently on-device. When we shipped a quantized field extractor, a 0.8 confidence cutoff that was safe on the full-precision model started waving through borderline scans. Do you recalibrate the on-device thresholds against the quantized model specifically, or share one cutoff across both?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;Thanks for the thoughtful question, calibration between on-device and server models is definitely something we account for internally. Appreciate you raising it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the calibration discussion in this thread covers the false-confidence direction well, on-device says it&#8217;s fine and the server disagrees later. curious about the other direction though: the lighter on-device model flagging a field as missing\/unclear and asking someone to retake a receipt that the full server model would&#8217;ve actually accepted just fine. that&#8217;s a worse user experience than the original problem in a way, since now you&#8217;re annoying someone who did nothing wrong instead of just catching genuine bad scans. is that failure mode rarer in practice, or is retake-friction just the accepted tradeoff for catching the real rejects earlier<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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-07-08 PH\u70ed\u699c | 2026-07-08 #1 Explo [&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-276","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/276","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=276"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/276\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}