{"id":270,"date":"2026-07-03T12:12:21","date_gmt":"2026-07-03T04:12:21","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/03\/2026-07-02\/"},"modified":"2026-07-03T12:12:21","modified_gmt":"2026-07-03T04:12:21","slug":"2026-07-02","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/03\/2026-07-02\/","title":{"rendered":"PH\u70ed\u699c | 2026-07-02"},"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-02<\/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-02<\/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\/XBX6EKSLADLB4V\" class=\"app-title\">Context.dev<\/a><\/p>\n<div class=\"one-liner\">One API to scrape, enrich, and extract the internet<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">609<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Context.dev \u901a\u8fc7\u7edf\u4e00API\u4e3aAI\u4ea7\u54c1\u548cAgent\u63d0\u4f9b\u5b9e\u65f6\u7f51\u9875\u4e0a\u4e0b\u6587\uff0c\u89e3\u51b3\u5f00\u53d1\u8005\u81ea\u5efa\u722c\u866b\u3001\u6570\u636e\u6e05\u6d17\u3001\u54c1\u724c\u4fe1\u606f\u63d0\u53d6\u7b49\u91cd\u590d\u6027\u57fa\u7840\u8bbe\u65bd\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\/32a94a26-3db3-49c0-8b04-6ddd8ce5b479.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2770333d-7095-4af0-87a3-a0e0680061ef.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5c310164-a94e-4989-80f4-2ee62c41638d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e68a5f83-9a71-412d-bfdd-493c1eeb09c1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/790f743d-742d-4f2a-bd20-ebdd16ad1743.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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Data<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7f51\u9875\u6293\u53d6API<\/span><br \/>\n            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">LLM\u5c31\u7eeaMarkdown<\/span><br \/>\n            <span class=\"tag\">\u7ed3\u6784\u5316\u6570\u636e\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u5bcc\u5316<\/span><br \/>\n            <span class=\"tag\">\u622a\u56feAPI<\/span><br \/>\n            <span class=\"tag\">JavaScript\u6e32\u67d3<\/span><br \/>\n            <span class=\"tag\">YC<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u7ba1\u9053<\/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\u597d\u8bc4\uff0c\u8ba4\u4e3aAPI\u53ef\u9760\u3001\u901f\u5ea6\u5feb\uff0c\u8f93\u51fa\u5e72\u51c0\u7684Markdown\u548c\u51c6\u786e\u7684\u54c1\u724c\u6570\u636e\u3002\u5e38\u89c1\u95ee\u9898\u96c6\u4e2d\u5728\uff1a\u5982\u4f55\u5e94\u5bf9JavaScript\u52a8\u6001\u52a0\u8f7d\u5185\u5bb9\uff1bAgent\u81ea\u52a9\u6ce8\u518c\u7684\u6ee5\u7528\u98ce\u9669\u5982\u4f55\u9632\u8303\u3002\u521b\u59cb\u4eba\u56de\u5e94\u79f0\u6240\u6709\u8bf7\u6c42\u5747\u901a\u8fc7\u771f\u5b9e\u6d4f\u89c8\u5668\u5904\u7406\uff0c\u4e14\u6709\u9ad8\u7ea7\u53cd\u6b3a\u8bc8\u673a\u5236\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Context.dev \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u62ab\u7740API\u5916\u8863\u7684\u722c\u866b\u57fa\u7840\u8bbe\u65bd\u805a\u5408\u5668\u201d\uff0c\u5176\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u4e0a\u7684\u98a0\u8986\u6027\u521b\u65b0\uff0c\u800c\u5728\u4e8e\u5c06\u6563\u843d\u7684\u201c\u810f\u6d3b\u7d2f\u6d3b\u201d\uff08\u6293\u53d6\u3001\u6e32\u67d3\u3001\u6e05\u6d17\u3001\u63d0\u53d6\uff09\u6253\u5305\u6210\u4e00\u4e2a\u5f00\u53d1\u8005\u53cb\u597d\u7684\u63a5\u53e3\u3002\u4ea7\u54c1\u5b9a\u4f4d\u7cbe\u51c6\u5730\u5207\u4e2d\u4e86AI Agent\u548c\u5927\u6a21\u578b\u5e94\u7528\u5bf9\u201c\u5b9e\u65f6\u3001\u5e72\u51c0\u3001\u7ed3\u6784\u5316\u201d\u7f51\u9875\u6570\u636e\u7684\u521a\u6027\u9700\u6c42\u2014\u2014\u5927\u6a21\u578b\u672c\u8eab\u662f\u9759\u6001\u7684\uff0c\u800cContext.dev\u5145\u5f53\u4e86\u201c\u901a\u5f80\u6d3b\u7f51\u7edc\u7684\u6865\u6881\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u8bbe\u8ba1\u770b\uff0c\u5176\u201cAgent-native\u201d\u7684\u6ce8\u518c\u548c\u96c6\u6210\u65b9\u5f0f\u662f\u4e00\u4e2a\u806a\u660e\u7684\u5dee\u5f02\u5316\u5356\u70b9\uff1a\u8ba9AI Agent\u81ea\u5df1\u5b8c\u6210\u6ce8\u518c\u548cAPI\u7ed1\u5b9a\uff0c\u5927\u5e45\u964d\u4f4e\u4e86\u521d\u6b21\u63a5\u5165\u7684\u95e8\u69db\uff0c\u4e5f\u6697\u5408\u4e86\u201cAI\u81ea\u4e3b\u8fd0\u7ef4\u201d\u7684\u672a\u6765\u8d8b\u52bf\u3002\u4f46\u8fd9\u4e5f\u5f15\u51fa\u4e86\u5b89\u5168\u9690\u5fe7\uff1a\u82e5\u7f3a\u4e4f\u4e0a\u6e38\u63a7\u5236\uff0c\u8be5API\u6781\u6613\u88ab\u7528\u4e8e\u6570\u636e\u722c\u53d6\u3001CC\u653b\u51fb\u6216\u6ee5\u7528\u514d\u8d39\u989d\u5ea6\uff0c\u521b\u59cb\u4eba\u867d\u63d0\u53ca\u201c\u9ad8\u7ea7\u53cd\u6b3a\u8bc8\u201d\uff0c\u4f46\u672a\u900f\u9732\u5177\u4f53\u673a\u5236\uff0c\u8fd9\u53ef\u80fd\u6210\u4e3a\u4f01\u4e1a\u7ea7\u5ba2\u6237\u91c7\u8d2d\u65f6\u7684\u6838\u5fc3\u987e\u8651\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u76ee\u524d\uff0cContext.dev\u9762\u4e34\u7684\u7ade\u4e89\u538b\u529b\u4e0d\u5c0f\uff0cFirecrawl\u3001Browserless\u7b49\u540c\u7c7b\u5de5\u5177\u5df2\u6709\u4e00\u5b9a\u5e02\u573a\u3002\u5176\u6838\u5fc3\u58c1\u5792\u53ef\u80fd\u4e0d\u5728\u4e8eAPI\u7684\u201c\u901f\u5ea6\u201d\u6216\u201c\u529f\u80fd\u201d\uff0c\u800c\u5728\u4e8e\u5bf9\u201c\u975e\u6807\u51c6\u7f51\u9875\u201d\u7684\u517c\u5bb9\u6027\uff08\u6bd4\u5982JS\u6e32\u67d3\u3001\u54c1\u724c\u63d0\u53d6\uff09\u548c\u56f4\u7ed5Agent\u751f\u6001\u7684\u5f00\u53d1\u8005\u4f53\u9a8c\u4f18\u5316\u3002\u5546\u4e1a\u4e0a\uff0c\u4f9d\u9760YC\u5149\u73af\u548c5000+\u5ba2\u6237\u79ef\u7d2f\u7684\u4fe1\u8a89\uff0c\u77ed\u671f\u83b7\u5ba2\u4e0d\u6210\u95ee\u9898\uff0c\u4f46\u957f\u671f\u9700\u8b66\u60d5\u5927\u5ba2\u6237\u81ea\u5efa\u66ff\u4ee3\u65b9\u6848\uff0c\u6216\u4e91\u5382\u5546\uff08\u5982Cloudflare\u3001AWS\uff09\u63a8\u51fa\u7c7b\u4f3c\u7684\u529f\u80fd\u96c6\u6210\u3002\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u8fd9\u662f\u4e00\u4e2a\u201c\u597d\u7528\u4f46\u4e0d\u6027\u611f\u201d\u7684\u5de5\u5177\uff0c\u9002\u5408\u6240\u6709\u9700\u8981\u8054\u7f51\u6570\u636e\u7684\u5f00\u53d1\u8005\uff0c\u4f46\u5b83\u5f88\u96be\u6210\u4e3a\u62a4\u57ce\u6cb3\uff0c\u9664\u975e\u80fd\u5c06\u201c\u7f51\u9875\u6570\u636e\u7ba1\u9053\u201d\u7684API\u5185\u5316\u4e3a\u67d0\u4e2a\u5782\u76f4AI\u5e94\u7528\u7684\u6838\u5fc3\u4f9d\u8d56\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\">Context.dev<\/span>\n                <\/div>\n<div class=\"comment-content\">Context.dev is the web context API for AI products and agents. Scrape any URL, crawl sites, turn pages into LLM-ready Markdown, extract structured data into your own schema, capture screenshots, and retrieve logos, colors, fonts, styleguides, company data, and transaction enrichment through one API. YC-backed, no card required, and built so developers or coding agents can integrate in minutes.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I\u2019m Yahia, founder of Context.dev.<\/p>\n<p>I built Context.dev because every AI product eventually runs into the same problem: models are powerful, but they don\u2019t know what\u2019s happening on the live web.<\/p>\n<p>So teams end up building the same annoying infrastructure over and over again: scrapers, crawlers, browser rendering, proxy handling, sitemap parsing, Markdown cleanup, screenshots, logo extraction, brand enrichment, company data pipelines, and more.<\/p>\n<p>Context.dev turns all of that into one API.<\/p>\n<p>You can scrape any URL, crawl a site, extract clean LLM-ready Markdown, pull structured data into your own schema, capture screenshots, retrieve logos\/colors\/fonts\/styleguides, enrich companies, and give your agents fresh web context in seconds.<\/p>\n<p>The part I\u2019m most excited about: Context.dev is agent-native. You can integrate it yourself, or paste one line into your coding agent and let it sign up, grab an API key, and wire the API into your codebase.<\/p>\n<p>We\u2019re YC-backed, have a free tier with no card required, and are already powering products at teams like Mintlify, daily.dev, DocsBot, Chatwoot, and more.<\/p>\n<p>Would genuinely love feedback from the PH community, especially from anyone building AI agents, RAG pipelines, onboarding flows, enrichment workflows, or anything that needs live web data.<\/p>\n<p>Happy to answer questions all day!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>34<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yahia_bakour3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yahia_bakour3<\/a>&nbsp;Hey Yahia!<\/p>\n<\/p>\n<p>Awesome product, we plan to integrate it with the product we&#8217;re building. Hopefully it improves our agents web capabilities \ud83d\ude42<\/p>\n<\/p>\n<p>Cheers!<\/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\/@yahia_bakour3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yahia_bakour3<\/a>&nbsp;Huge fan of <a href=\"http:\/\/Context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Context.dev<\/a>! Been using it for a while and the quality of the outputs and the support from Yahia and team has been amazing. Super easy to work with and genuinely one of my favorite pieces of our stack.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@yahia_bakour3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yahia_bakour3<\/a>&nbsp;No more broken scrapers. Clean markdown in minutes. Essential tool<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>We are using <a href=\"https:\/\/Context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Context.dev<\/a> and we love it! Recommended<\/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\/@guicurcio1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@guicurcio1<\/a>&nbsp;Guido!!! Thank you so much for the kind words. I truly appreciate it \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>We have been using <a href=\"https:\/\/Context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Context.dev<\/a> at Notra for a bit now and its great, much cheaper than Firecrawl which we used before and with no concurrent browser limits. The team also provides top tier support and listens to our crazy ideas! 10\/10 left no crumbs <\/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\/@dominikkoch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dominikkoch<\/a>&nbsp;man, i really do appreciate you. Absolute pleasure working with you and really happy you&#8217;re enjoying the platform \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the markdown output came back clean enough that i barely had to clean it up before feeding it into my agent. brand extraction on a few random sites was surprisingly on point too, definitely beats maintaining my own scrapers.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sat966633299516\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sat966633299516<\/a>&nbsp;incredible to hear!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 this to replace a scraper that kept breaking. One API call, clean markdown back. The brand data extraction (logos, colors, fonts) is surprisingly useful for onboarding flows. Handles JS-heavy sites better than I expected. 5000+ customers is a decent trust signal. Some niche sites still struggle, but overall solid.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rick_borduur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rick_borduur<\/a>&nbsp;amazing! Thank you so much.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\ude80\ud83c\udf1a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@maximehugodupre\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maximehugodupre<\/a>&nbsp;i agree<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 tricky part on that hash is that &#8216;material&#8217; is consumer-specific: a price flip matters to a catalog agent, a nav reshuffle doesn&#8217;t, but an agent watching layout wants the reverse. If you can surface the structured diff and let the caller pick which spans count, with your materiality hash as the sensible default, you sidestep everyone fighting one baked-in definition of meaningful. Glad it&#8217;s already on the roadmap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;100%, it&#8217;s a really hard problem to solve developer-experience wise, we iterate more on the interface than the actual tech just because we want it to be intuitive for everyone. <\/p>\n<p>What&#8217;s your background btw? these are very solid questions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yahia_bakour3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yahia_bakour3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yahia_bakour3<\/a> Congrats on the launch! We\u2019ve been using your APIs for almost half a year now and they\u2019ve been really reliable, fast, and delivering great results. Quality and speed are what matter most to us, and you\u2019ve nailed both. Thank you, Yahia, for everything!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@liam007\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@liam007<\/a>&nbsp;Thank you Liam! It&#8217;s been an absolute pleasure to know you guys, not many tech Syrian founders like us out there \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I can already think of a ton of use case for this. Congrats on the launch Yahia!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@haita\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haita<\/a>&nbsp;Amen, these fine people agree as well: <a href=\"https:\/\/www.context.dev\/customers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.context.dev\/customers<\/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>Have been a user for 9 months haven&#8217;t had any problems.<\/p>\n<p>Would recommend<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@harsha_gaddipati\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harsha_gaddipati<\/a>&nbsp;you were actually my first ever YC-backed customer! It&#8217;s crazy that we now live 2 doors down from each other man.<\/p>\n<\/p>\n<p>Thank you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it actually handle sites that load content dynamically with JavaScript, does it run a real browser under the hood or just hit the raw HTML and miss half the page?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tahsincceuqp4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tahsincceuqp4<\/a>&nbsp;every single request goes through a browser. JS is always assumed to be there, we&#8217;ve found anything less affects quality dramatically.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Didn\u2019t know I\u2019d love scraping websites, extracting style guides, and pulling font data until I tried <a href=\"http:\/\/context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">context.dev<\/a>.<\/p>\n<p>There\u2019s a surprising amount of knowledge to gain from doing things like this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chmielwork\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chmielwork<\/a>&nbsp;AMEN, there&#8217;s so many possibilities!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 brand data extraction actually work under the hood when a site uses lazy loading or dynamically renders its content client-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\/@melisao2k9\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@melisao2k9<\/a>&nbsp;we use a near perfect custom browser, so doesn&#8217;t matter if they use lazy loading or not! you can try it out now \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 a side project and the brand extraction returned logos and fonts on the first try, which honestly surprised me for a 10 minute setup.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@beratzgll\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@beratzgll<\/a>&nbsp;SUPERB!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The agent-native onboarding is the part that stopped me, most APIs assume a human reads docs and wires a key in manually. Letting a coding agent paste one line, sign itself up, and grab a key end to end is a genuinely different distribution bet.<\/p>\n<\/p>\n<p>That&#8217;s also my real question: <strong>what stops that flow from becoming a free-tier abuse vector?<\/strong> If an agent can self-provision with no human in the loop, nothing stops another agent from looping ten signups to dodge rate limits. Is there verification or a review gate before a self-signed-up key actually starts working?<\/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\/@keirodev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@keirodev<\/a>&nbsp;we have really advanced fraud protection. We get attacks nearly daily for the past year and have developed our own way of stopping it immediately and preventing it all-together<\/p>\n<\/p>\n<p>Really good question.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yahia_bakour3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yahia_bakour3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yahia_bakour3<\/a> The product looks solid, but I\u2019m interested in the competitive side. If someone already has Firecrawl or a similar API in production, what\u2019s the biggest reason they decide to move to <a href=\"http:\/\/Context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Context.dev<\/a>? I\u2019d love to know which feature or capability ends up being the deciding factor in real customer deployments rather than just in demos.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@josh_bennett1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@josh_bennett1<\/a>&nbsp;<\/p>\n<\/p>\n<p>Do you want your error rate to plummet?<\/p>\n<p>Do you want best in class quality?<\/p>\n<p>Do you want to cut your bill by 50-80%?<\/p>\n<\/p>\n<p>If the answer to any of these 3 is yes, then the answer is clear.<\/p>\n<\/p>\n<p>Id like to emphasize firecrawl is a wonderful company and i look forward to winning vs them and much larger competitors.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">@yahia_bakour3 How do you measure extraction quality? Returning data is one thing, but making sure it\u2019s accurate enough for production AI workflows is a much harder problem.<\/div>\n<div class=\"comment-actions\">\n<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\/@moh_codokiai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@moh_codokiai<\/a>&nbsp;Hey! We run constant quality checks on millions of requests daily and ship infra improvements 2x per day.<\/p>\n<\/p>\n<p>This is something we care about ALOT. Great question.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Awesome product Yahia! Glad I never have to handle scraping on my own again! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ryan_volpi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ryan_volpi<\/a>&nbsp;Truly appreciate you Ryan, it&#8217;s been a pleasure to know you for years \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! Happy to have your MCP deployed on us!\ud83e\udee1<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@pederzh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pederzh<\/a>&nbsp;coming very very soon! (will dm u on shared slack), excited!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Putting crawl, Markdown cleanup, brand data, and schema extraction behind one API is a useful shape for agent builders! The place I would care about most is freshness, because stale web context can quietly poison a workflow. Do responses include enough source and timestamp detail for an app to decide when to reuse context and when to fetch again?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@monolithdread\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monolithdread<\/a>&nbsp;We have a maxAgeMs parameter so you can control the cache down to the ms, we&#8217;re also surfacing our own &#8220;hash&#8221; that takes into account the web is a mess and that content shifts on pages without being meaningful changes.<\/p>\n<p>Great question.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Typed SDKs across TS\/Python\/Ruby plus sub-10-min integration is a great combo. Curious how you handle caching\/rate limits when a customer wants to enrich brand data for thousands of domains in one batch &#8211; queued async or synchronous per call?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dannyheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dannyheng<\/a>&nbsp;thousands is trivial, we only recommend calling us when you want to exceed 1K TPS or 60K requests\/minute, all we have to do is one click to enable this for your account and it helps us forecast infrastructure demands!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 customer here , product is very dope and save us lot of money and time. <br \/>If you are founder Yahia is kind of founder who go through every message and try to make himself available.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@neuraoptima\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@neuraoptima<\/a>&nbsp;Hey Sudeep! Thank you so much for the kind words and being a customer \ud83d\ude42<\/p>\n<p>A-lot more coming soon<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Right, I wasn&#8217;t doubting the render fidelity, I meant determinism across fetches. Same URL scraped today vs next week: if the live DOM reorders a section, the markdown shape moves with it and an agent that indexed against the first shape drifts. Do you expose a content hash or a diff between fetches, so a pipeline can tell &#8216;page actually changed&#8217; from &#8216;page just reordered&#8217;? That&#8217;s the bit that decides whether I wire it into an agent loop or keep it a one-off pull.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;good point and a great idea, i will build this shortly \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dipankar_sarkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dipankar_sarkar<\/a>&nbsp;100000% this is an excellent point, we&#8217;re working on a custom &#8220;hash&#8221; that takes into account whether a page materially changed rather than shipped a new design or animation. Excellent question!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Treating web context as a first-class infrastructure concern rather than a DIY afterthought is exactly the kind of abstraction AI-native apps have been missing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ilko_kacharov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilko_kacharov<\/a>&nbsp;10000%!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thanks Yahia, this is game changer. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@adam_lab\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adam_lab<\/a>&nbsp;appreciate 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>Nice work! The UI looks clean. I&#8217;m curious, what was the biggest challenge while building this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kian_1602\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kian_1602<\/a>&nbsp;Everything. Maintaining stable infrastructure is a huge huge headache, we got it right and need to make sure we continue to deliver as we scale a ton more.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kian_1602\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kian_1602<\/a>&nbsp;scaling fast, we use porter to deploy scalable infra so it works wonderfully.<\/p>\n<\/p>\n<p>Can handle 100K TPS if 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been using <a href=\"http:\/\/context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">context.dev<\/a> for a personal project since back when it was <a href=\"http:\/\/brand.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">brand.dev<\/a>. I&#8217;m not technical, I just build with AI, so being easy to use with an agent was my number one thing. Product aside, Yahia is just a really nice guy. Gave me some free credits, then topped me up again when I ran out. We&#8217;re now a customer at the company level too, and I&#8217;ll definitely be reaching for it on more projects going forward.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@imrogb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@imrogb<\/a>&nbsp;ROGER, so happy to see you here. Thank you for the extremely kind words, i hope i continue to earn your business into the future. Thank you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Amazing product, but more than that, amazing founder.<\/p>\n<\/p>\n<p><a href=\"https:\/\/Context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Context.dev<\/a> solved an exact problem we had and we&#8217;ve actually shifted a lot of our architecture around their service because it&#8217;s so good.<\/p>\n<\/p>\n<p>But beyond that, since I became a customer the founder Yahia has offered such amazing support that we have become friends. He&#8217;s an intelligent, kind hearted guy and gives me a lot of advice on my business as we go through growth pains.<\/p>\n<\/p>\n<p>I highly recommend context and the ability to use something made by Yahia!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@samraaj_bath1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samraaj_bath1<\/a>&nbsp;Man, this is so kind of you to say, seriously. Thank you for being a customer and more importantly a friend! <\/p>\n<\/p>\n<p>Will only get better from 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>Big fan of <a href=\"https:\/\/Context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Context.dev<\/a> using it to personalize all our sales outreach!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rgmvisser\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rgmvisser<\/a>&nbsp;Appreciate 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>Been a happy customer for a while and case study. Best and most affordable for brand extraction APIs for highly personalized experiences in my SaaS and marketing. <\/p>\n<\/p>\n<p>Expanding usage to full scraping soon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@uglyrobot\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uglyrobot<\/a>&nbsp;It&#8217;s an absolute honor to have you as a customer for so long. I really do appreciate it.<\/p>\n<\/p>\n<p>THANK YOU<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/IIFDLOVH6SHQ6P\" class=\"app-title\">Fypro<\/a><\/p>\n<div class=\"one-liner\">Convert your TikTok followers into paying customers<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">585<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u901a\u8fc7TikTok\u8d26\u53f7\u4e00\u952e\u751f\u6210\u54c1\u724c\u7f51\u7ad9\u3001\u5546\u54c1\u5e97\u94fa\u548c\u89c6\u9891\u5185\u5bb9\uff0c\u5e2e\u52a9\u521b\u4f5c\u8005\u5c06\u7c89\u4e1d\u8f6c\u5316\u4e3a\u53ef\u81ea\u4e3b\u638c\u63e1\u7684\u4ed8\u8d39\u5ba2\u6237\uff0c\u89e3\u51b3\u201c\u6709\u6d41\u91cf\u96be\u53d8\u73b0\u201d\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a04068cb-a396-4975-a747-55c0575a750f.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\/95c89492-b1c4-4b2e-beb6-c273a7a97eec.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\/a4381e27-6fa9-40a5-b606-69fbea177bdb.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\/8355f5bf-f4c4-4e19-9287-ee1ed7b26832.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\/37188e69-3a8d-48f7-bb87-5e3f9495be27.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\/e30aee64-7c84-4387-855b-f3d555a7443e.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\/06582771-b878-4712-aaaf-e0ce57feefcd.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\/f30c5069-5931-46b3-8ca1-b9ee0c9c0ad9.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\/4968a35a-7053-4c39-b0c9-850d5727bcf0.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\/db06c9ba-1cbd-49d7-8a6c-a62334ce93e2.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\/ad2194b4-258e-4277-99c6-6b44b4778f07.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=S5eVBNsNDKU\"><source src=\"https:\/\/www.youtube.com\/watch?v=S5eVBNsNDKU\" 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\">Social Media<\/span><br \/>\n            <span class=\"tag\">E-Commerce<\/span><br \/>\n            <span class=\"tag\">Shopping<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">TikTok\u53d8\u73b0<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u7ecf\u6d4e<\/span><br \/>\n            <span class=\"tag\">AI\u5185\u5bb9\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5e97\u94fa\u642d\u5efa<\/span><br \/>\n            <span class=\"tag\">\u7c89\u4e1d\u8f6c\u5316<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">DTC\u54c1\u724c<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801<\/span><br \/>\n            <span class=\"tag\">\u5546\u4e1a\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u6237\u6570\u636e\u6240\u6709\u6743<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u4e00\u952e\u4eceTikTok\u542f\u52a8\u201d\u7684\u6781\u7b80\u8bbe\u8ba1\u4e0e\u53d8\u73b0\u4ef7\u503c\uff0c\u4f46\u96c6\u4e2d\u5173\u5fc3\u4e09\u70b9\uff1a1\uff09\u5e73\u53f0\u652f\u6301\u6269\u5c55\u81f3Instagram\u548cYouTube\uff1b2\uff09\u5e97\u94fa\u662f\u5426\u4e0eShopify\u7b49\u73b0\u6709\u7cfb\u7edf\u534f\u540c\uff1b3\uff09AI\u751f\u6210\u7684\u201c\u4e2a\u4eba\u58f0\u97f3\u201d\u771f\u5b9e\u5ea6\u4ecd\u505c\u7559\u5728\u98ce\u683c\u5339\u914d\uff0c\u800c\u975e\u6df1\u5ea6\u7684\u8bed\u5883\u6a21\u4eff\u3002\u8fd8\u6709\u7528\u6237\u5e0c\u671b\u90ae\u4ef6\u8425\u9500\u529f\u80fd\u4ece\u5efa\u540d\u5355\u5ef6\u4f38\u81f3\u81ea\u52a8\u5316\u57f9\u80b2\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                Fypro\u5207\u4e2d\u4e86\u521b\u4f5c\u8005\u7ecf\u6d4e\u6700\u5927\u7684\u76f2\u533a\uff1a\u7edd\u5927\u591a\u6570TikTok\u7f51\u7ea2\u62e5\u6709\u60ca\u4eba\u7684\u6ce8\u610f\u529b\uff0c\u5374\u7f3a\u4e4f\u53d8\u73b0\u57fa\u7840\u8bbe\u65bd\u3002\u4ea7\u54c1\u4ee5\u201c\u4e00\u952e\u4eceHandle\u5230\u5546\u94fa\u201d\u7684\u6781\u7b80\u6d41\u7a0b\uff0c\u628a\u5efa\u7ad9\u3001\u9009\u54c1\u3001\u5185\u5bb9\u751f\u6210\u5c01\u88c5\u6210\u9ed1\u76d2\u670d\u52a1\uff0c\u786e\u5b9e\u964d\u4f4e\u4e86\u521b\u4e1a\u95e8\u69db\u30022,000+\u521b\u4f5c\u8005\u3001585\u6295\u7968\u4fa7\u9762\u5370\u8bc1\u4e86\u9700\u6c42\u771f\u5b9e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u8b66\u60d5\u201c\u4e07\u80fd\u5de5\u5177\u201d\u9677\u9631\u3002\u4ea7\u54c1\u5b9e\u9645\u7531\u4e09\u5c42\u6784\u6210\uff1aAI\u5185\u5bb9\u751f\u6210\uff084M\u89c6\u9891\u8bad\u7ec3\u7684\u8bed\u611f\uff09\u3001\u9009\u54c1\u63a8\u8350\uff08\u7ed1\u5b9aDropshipping\u5e93\u5b58\uff09\u3001\u4e0eCRM\u642d\u5efa\uff08\u90ae\u4ef6\u5217\u8868\u6240\u6709\u6743\uff09\u3002\u6bcf\u4e00\u5c42\u90fd\u9762\u4e34\u6210\u719f\u7684\u7ade\u54c1\u2014\u2014Jasper\/Opus Clip\u505a\u5185\u5bb9\uff0cShopify\/Spocket\u505a\u4f9b\u5e94\u94fe\uff0cConvertKit\u505a\u90ae\u4ef6\u2014\u2014\u4e14\u5355\u5c42\u80fd\u529b\u90fd\u4e0d\u7b97\u9876\u5c16\u3002\u7528\u6237\u201cAI\u58f0\u97f3\u4e0d\u591f\u771f\u201d\u7684\u53cd\u9988\u76f4\u6307\u6838\u5fc3\uff1a\u82e5\u5185\u5bb9\u53ea\u662f\u201c\u6a21\u677f\u5316\u590d\u523b\u201d\uff0c\u5f88\u96be\u5efa\u7acb\u7c89\u4e1d\u771f\u6b63\u4fe1\u4efb\u7684\u201c\u4e2a\u4ebaIP\u5546\u4e1a\u201d\uff0c\u6700\u7ec8\u53ef\u80fd\u53ea\u5269\u4e0b\u4e00\u5806\u540c\u8d28\u5316\u7684\u8054\u76df\u8425\u9500\u9875\u9762\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u957f\u671f\u4ef7\u503c\u5728\u4e8e\u201c\u6570\u636e\u5f52\u56e0\u201d\u2014\u2014\u5f53Fypro\u540c\u65f6\u638c\u63e1\u5185\u5bb9\u8868\u73b0\u3001\u7528\u6237\u884c\u4e3a\u4e0e\u8d2d\u4e70\u6570\u636e\u65f6\uff0c\u5b83\u53ef\u4ee5\u6210\u4e3a\u521b\u4f5c\u8005\u5546\u4e1a\u7684\u201c\u64cd\u4f5c\u7cfb\u7edf\u201d\uff1a\u77e5\u9053\u54ea\u7c7b\u89c6\u9891\u5e26\u6765\u4e86\u590d\u8d2d\uff0c\u4ec0\u4e48\u54c1\u7c7b\u5728\u4e0b\u6ed1\u3002\u4f46\u8fd9\u9700\u8981\u8db3\u591f\u591a\u7684\u7528\u6237\u6df1\u5ea6\uff08\u4e0d\u53ea\u7528\u4e00\u6b21\u5bfc\u5165\u5de5\u5177\uff09\uff0c\u4ee5\u53ca\u7528\u6237\u5bf9\u6570\u636e\u9690\u79c1\u7684\u4fe1\u4efb\u3002\u5f53\u524d\u9636\u6bb5\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u9488\u5bf9TikTok\u7684\u201c\u53d8\u73b0\u5b9e\u64cd\u8bfe\u201d\u800c\u975e\u6280\u672f\u62a4\u57ce\u6cb3\uff0c\u6838\u5fc3\u58c1\u5792\u5728\u4e8e\u80fd\u5426\u901a\u8fc7\u6301\u7eed\u8fed\u4ee3\uff0c\u8ba9AI\u4ece\u201c\u5199\u7a3f\u673a\u5668\u201d\u8fdb\u5316\u6210\u4e3a\u201c\u4e86\u89e3\u4f60\u7c89\u4e1d\u7684\u9500\u552e\u987e\u95ee\u201d\u3002\u5426\u5219\uff0c\u5f53TikTok\u81ea\u5df1\u6216Shopify\u63a8\u51fa\u7c7b\u4f3c\u7684\u4e00\u952e\u53d8\u73b0\u529f\u80fd\uff0cFypro\u5c06\u9762\u4e34\u5de8\u5927\u751f\u5b58\u538b\u529b\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\">Fypro<\/span>\n                <\/div>\n<div class=\"comment-content\">You built a TikTok following that trusts you. Fypro turns those followers into paying customers you actually own. Drop your handle and it reads your account, then builds the whole thing for you: a site from your content, a store stocked with products matched to your niche, videos in your own voice, and a customer and email list that&#8217;s yours to keep. Trained on 4M+ viral TikToks. Used by 2,000+ creators.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<\/p>\n<p>I&#8217;m Steven, Co-founder of Fypro.<\/p>\n<\/p>\n<p><strong>Fypro turns your TikTok followers into paying customers you actually own. <\/strong><\/p>\n<p>We built this for creators who&#8217;ve grown a real audience \u2014 but haven&#8217;t turned that trust into a business of their own yet.<\/p>\n<p>If you post on TikTok and want your followers to become buyers, an email list, and real income, this is for you.<\/p>\n<\/p>\n<p><strong>\u270d\ufe0f Here&#8217;s how it works:<\/strong><\/p>\n<ol>\n<li>\n<p>Drop your TikTok handle. Fypro reads your account \u2014 your niche, your followers, and what&#8217;s already working.<\/p>\n<\/li>\n<li>\n<p>Get your plan: what to post next, and what to sell.<\/p>\n<\/li>\n<li>\n<p>Fypro builds it for you \u2014 your site, your store, and your content. Review, tweak, and go live.<\/p>\n<\/li>\n<\/ol>\n<p><strong>Why you want Fypro:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Followers \u2192 customers: <\/strong>the audience you built becomes buyers you keep<\/p>\n<\/li>\n<li>\n<p><strong>Everything in one place: <\/strong>your site, store, content, and customer list<\/p>\n<\/li>\n<li>\n<p><strong>A store that stocks itself: <\/strong>trending products matched to your niche, margin shown on every pick<\/p>\n<\/li>\n<li>\n<p><strong>Content in your own voice: <\/strong>from product to finished video in minutes<\/p>\n<\/li>\n<li>\n<p><strong>Own what you build: <\/strong>emails and purchase history that are yours to keep, not just followers on a feed<\/p>\n<\/li>\n<\/ul>\n<p>\ud83c\udf89 To celebrate our launch, <strong>use code PHPRO1 to get your first month of Pro for just $1!<\/strong><\/p>\n<\/p>\n<p>\ud83d\udcac Join our Discord to get close to the Fypro team \u2014 share your account, ask us anything, and we&#8217;ll help you set up your store:<a href=\"https:\/\/discord.gg\/ukq75weRnw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> <\/a><a href=\"https:\/\/discord.gg\/vXhq7mPDbB\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/vXhq7mPDbB<\/a><\/p>\n<\/p>\n<p>Come drop your handle and build with us \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>21<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@steven_zhou8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@steven_zhou8<\/a>&nbsp;is it for tiktok only?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>8<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@steven_zhou8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@steven_zhou8<\/a>&nbsp;I am happy this focuses on helping creators own their audience instead of depending on social platforms. nice direction.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@steven_zhou8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@steven_zhou8<\/a>&nbsp;that\u2019s correct. It\u2019s currently mainly built for TikTok because it\u2019s the strongest channel for short-form video performance and rapid creative testing.<\/p>\n<p>More social platforms commonly used in the market will be added over time to support broader distribution and workflows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>6<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I would love to see Instagram and YouTube support too. That would make Fypro even more useful.        <\/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\/@georgiafor9p\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@georgiafor9p<\/a>&nbsp;Totally agree! Instagram and YouTube support are definitely on our roadmap. We want Fypro to help creators work across more platforms smoothly, so this is absolutely something we\u2019re planning for.<\/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\/@georgiafor9p\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@georgiafor9p<\/a>&nbsp;Thank you for sharing this.  Instagram and YouTube support is definitely something we\u2019re actively exploring to better serve creators\u2019 workflows.<\/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\/@georgiafor9p\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@georgiafor9p<\/a>&nbsp;Thanks Georgia. You are reading our minds. TikTok is where we started, but Instagram and YouTube are exactly where we want to go next. Comments like this help us prioritize, so I really appreciate it. If you want, join our Discord and I will keep you posted as we roll them out: <a href=\"https:\/\/discord.gg\/ukq75weRnw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/ukq75weRnw<\/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>I like that everything is built from a TikTok handle. I think keeping the setup simple will help more creators get started. <\/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\/@carolina_ellen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carolina_ellen<\/a>&nbsp;Thank you for noticing! \ud83d\ude4f Simplicity isn\u2019t just about ease; it\u2019s about respecting your time so you can focus on creating.  Happy creating! \u2728<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@carolina_ellen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carolina_ellen<\/a>&nbsp;Hi Carolina, thank you! That&#8217;s exactly our goal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@carolina_ellen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carolina_ellen<\/a>&nbsp;Yes!We wanted to remove as much friction as possible so creators can focus on creating, not setup. Starting with just a TikTok handle makes it super easy to get up and running<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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! <br \/>For creators who&#8217;ve never run an email list before, does Fypro help with the actual nurture side too, or is building the list as far as it goes?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>14<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thanks a ton! \ud83d\ude4f And great question.<\/p>\n<p>Right now Fypro nails the &#8220;build the list&#8221; part \u2014 every subscriber lands in your Audience CRM (and it&#8217;s <em>yours<\/em>, one-click export, no lock-in). The nurture side \u2014 automated email sequences \u2014 is what we&#8217;re building next, and it&#8217;s one of our top priorities.<\/p>\n<p>Honestly, folks who&#8217;ve never run a list before are exactly who we&#8217;re building for \u2014 you shouldn&#8217;t have to become an &#8220;email marketer&#8221; to stay in touch with your people. What are you building your list for? \ud83d\udc40<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thank you so much! \ud83d\ude4f Fypro not only is building the list, but also conducts analysis for you, helping you with your creation and conversion.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thanks! Fypro helps you build and manage your customer list in the Audience section, and you own all your customer data. For specifics on email nurture capabilities and what&#8217;s available, feel free to reach out to <a href=\"mailto:customer.support@fypro.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">customer.support@fypro.ai<\/a> \u2014 our team can give you the full details.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 creator who&#8217;s already got a Shopify store running, does Fypro work alongside it or is it more of a replace-everything setup?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;Great question! Fypro is designed to complement your Shopify store, not replace it. Keep Shopify as your commerce hub while using Fypro\u2019s AI tools (Ideation, AI Studio) to accelerate content creation and audience engagement\u2014especially for TikTok-driven traffic.<\/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\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;Great question! Short version: Fypro is its own end-to-end setup, not a plugin that layers on top of Shopify.<\/p>\n<p>So today it doesn&#8217;t two-way sync with your existing store. But you&#8217;re also not forced to rip Shopify out. Think of it less as &#8220;replace everything overnight&#8221; and more as a different engine: it reads your account, builds a growth plan, spins up a personalized site + link-in-bio, helps you create content, and keeps your audience and data <em>yours<\/em>.<\/p>\n<p>If you&#8217;ve already got Shopify humming, a lot of the pull is the content \u2192 audience \u2192 growth side that a store alone doesn&#8217;t cover.<\/p>\n<p>Curious what&#8217;s making you look beyond Shopify. Genuinely helps us prioritize. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@boyuan_deng1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boyuan_deng1<\/a>&nbsp;Fypro works alongside your existing Shopify store, it\u2019s designed to enhance your content workflow, not replace your setup.<\/p>\n<p>Give it a try and see how it fits into your current 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Huge congrats on shipping this. The creator economy has no shortage of content tools, but monetization tools are still underserved.<\/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\/@qiwap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qiwap<\/a>&nbsp;Thank you, QIQI! That&#8217;s exactly the opportunity we&#8217;re focused on.<\/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\/@qiwap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qiwap<\/a>&nbsp;Thank you so much! We really appreciate it. We completely agree that monetization is still underserved in the creator economy, and that\u2019s exactly what we\u2019re excited to work on with Fypro.<\/p>\n<p>We\u2019d love for you to try it out \u2014 really looking forward to hearing your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@qiwap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qiwap<\/a>&nbsp;Thank you so much for the congratulations! Fypro empowers creators to both create and monetize, and we&#8217;re dedicated to opening up more possibilities for them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Feels like you&#8217;re solving one of the biggest problems in the creator economy today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eeeeeach\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eeeeeach<\/a>&nbsp; Thank you so much, Yichi. That is exactly the problem we care about. Many creators are great at earning attention, but turning that attention into owned customers and real revenue is still too hard. We are excited to keep building for that.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>6<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eeeeeach\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eeeeeach<\/a>&nbsp;Thank you! We really appreciate it.<\/p>\n<p>Our goal is to make content creation and growth much more efficient for creators and brands. We&#8217;d love for you to give Fypro a try and share your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eeeeeach\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eeeeeach<\/a>&nbsp;Thanks so much \u2014 means a lot! We truly believe creators deserve better tools to turn their passion into real income, and we&#8217;re just getting started.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Huge congrats. Is the content generation optimized around conversion goals or audience growth goals?<\/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\/@nicole_h94\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nicole_h94<\/a>&nbsp;Thanks for the question. It\u2019s designed to support both conversion and audience growth, depending on your objective.<\/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\/@nicole_h94\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nicole_h94<\/a>&nbsp;To add a bit more: we think of it as growth signals feeding conversion workflows. Fypro looks at what kind of content and hooks are already working, then uses that to shape scripts, product videos, store direction, and product recommendations. So it\u2019s not \u201cgrowth or conversion\u201d as two separate tracks. the goal is to help creators turn audience attention into owned 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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nicole_h94\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nicole_h94<\/a>&nbsp;Thank you for the congratulations! Ultimately, the goal of content creation is entirely up to you. You can achieve your preferred results by interacting with the AI, and Fypro is fully equipped to support both of these capabilities.<\/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>someone i know has been trying to turn their TikTok audience into a small business. I&#8217;m definitely sending this their way because it seems built for exactly that challenge.<\/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\/@malani_willa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malani_willa<\/a>&nbsp; Really appreciate that, Malani. That is exactly the kind of creator we are building for. Many creators already have attention and trust, but need a simpler path from audience to owned customers, products, and revenue. Would love to hear what they think if they 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@malani_willa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malani_willa<\/a>&nbsp;That means so much to us, thank you for sharing! Converting organic followers into sustainable revenue is exactly what we built Fypro for, and we hope it helps your friend launch and scale their creator business smoothly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@malani_willa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malani_willa<\/a>&nbsp;We truly appreciate your recommendation. Helping creators turn an audience into something they truly own and grow is exactly why we built Fypro.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the system continuously update recommendations as audience behavior changes?<\/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\/@mia_qiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mia_qiao<\/a>&nbsp;Yes. Recommendations evolve with your content performance and audience signals, so the system keeps improving what it suggests over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting approach. Does the generated storefront keep updating as new TikTok content is posted?<\/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\/@prince__kumar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prince__kumar<\/a>&nbsp;Yes. As you continue creating and publishing content with Fypro, your projects, performance insights, and recommendations keep evolving to help you optimize your strategy over time. We\u2019re continuously expanding these capabilities as well. <\/p>\n<p>Learn more: <a href=\"https:\/\/www.fypro.ai\/help-center\/articles\/get-to-know-fypro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Fypro Help Center<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@prince__kumar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prince__kumar<\/a>&nbsp;Great question. The storefront does not blindly change every time you post new TikTok content. Fypro can use your TikTok handle or connected account signals to inform the store direction, product recommendations, and content ideas, but creators stay in control of what gets updated and published. We want the store to get smarter from your content, without surprising you with automatic changes.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@prince__kumar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prince__kumar<\/a>&nbsp;Great question. Now the storefront wouldn&#8217;t update with the new posts. But it provides links to your different social media account. Do u want a storefront with latest contents? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Fypro differentiate itself from traditional creator management platforms?<\/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\/@phoenixhu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@phoenixhu<\/a>&nbsp;Great question! The core difference is that traditional platforms focus on managing creators (contracts, scheduling, analytics), while Fypro is built to empower creators directly with AI-native tools.<\/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\/@phoenixhu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@phoenixhu<\/a>&nbsp;Fypro differs from traditional creator management platforms by focusing on AI-driven content creation and optimization, rather than manual creator coordination.<\/p>\n<p>It aligns content directly with business goals like conversion, engagement, and growth, and streamlines creation, optimization, and distribution into one system.<\/p>\n<p>More details: <a href=\"https:\/\/www.fypro.ai\/help-center\/articles\/get-to-know-fypro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.fypro.ai\/help-center\/articles\/get-to-know-fypro<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Dropped in my handle and it pulled in my old videos without me having to upload anything, the site looked surprisingly on-brand within a couple minutes. Wish the email capture popup was a bit less aggressive but overall way easier than I expected.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@birsenimdj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@birsenimdj<\/a>&nbsp;Love hearing this. Getting creators from handle to a brand-ready site in minutes is exactly what we were aiming for, and thanks for the note on the email popup, that&#8217;s helpful 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@birsenimdj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@birsenimdj<\/a>&nbsp; Thanks for trying it, Birsen. Really glad the setup felt fast and close to your brand. The email capture feedback is helpful too. We want creators to own their audience without making the experience feel too pushy, so this is useful signal for us as we keep tuning the storefront 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 &#8220;audience you built becomes buyers you keep&#8221; framing is the part I wish more creators understood before they hit follower burnout. Watching a lot of DTC brands right now the pattern is the same at every stage, TikTok drives eyeballs, then everyone realizes eyeballs on TikTok aren&#8217;t the same asset as email addresses on your own list. Getting people to make that translation before they need it is the hard part.<\/p>\n<\/p>\n<p>The AI-writes-in-your-voice claim is what I&#8217;d stress-test hardest. Voice for a creator isn&#8217;t just word choice, it&#8217;s rhythm and specific reference points that only work because their audience knows them. Trained on 4M viral TikToks probably captures the format layer well but voice is more parasocial than pattern-based. Curious how much of the voice replication is &#8220;match their content style&#8221; versus &#8220;match how they talk to their specific audience&#8221;, because the second is a much harder problem and I don&#8217;t know if it&#8217;s solvable without deep sample data per creator.<\/p>\n<\/p>\n<p>Also congrats on the 2,000 creators. That&#8217;s not a demo number, that&#8217;s real evidence.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@elias_motionfy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elias_motionfy<\/a>&nbsp;This might be the sharpest comment in the thread, thank you Elias.<\/p>\n<p>On the translation point, you are right that it is the hard part. Almost nobody makes the eyeballs-to-email jump until a bad month forces them to. Our whole bet is to make owning that list the default from day one, so it happens before the crisis instead of after.<\/p>\n<p>On voice, I will be straight with you and not overclaim. Today it is closer to &#8220;match their content style&#8221; than &#8220;match how they talk to their specific audience.&#8221; The 4M corpus is really the format and trend layer, structure, hooks, pacing. The personal layer comes from the creator&#8217;s own past content as sample data, so the more of their own videos we learn from, the better it gets, and every script is theirs to review and edit before anything ships. The parasocial layer you described, the inside references that land only because their audience knows them, is genuinely the harder problem, and I agree it is not fully solvable from patterns alone. That is exactly why we keep the creator in the loop rather than pretending the model nails it on its own. It is an area we are still actively working on.<\/p>\n<p>And thank you on the 2,000. It means a lot that you read it as real evidence, because that is how we treat it too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@elias_motionfy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elias_motionfy<\/a>&nbsp;Appreciate this, Elias, especially the voice question because it&#8217;s the right thing to push on.<\/p>\n<p>Honestly it&#8217;s closer to &#8220;match their content style&#8221; right now than the harder version you&#8217;re describing. The 4M TikToks give us format, pacing, hook structure, that kind of thing. Getting to &#8220;talks to their specific audience&#8221; the way they actually do requires per creator sample data, you&#8217;re right, and that&#8217;s the part we&#8217;re still working through rather than something we&#8217;ve solved. We&#8217;d rather be upfront about that than oversell it.<\/p>\n<p>On the DTC point, that&#8217;s basically the whole thesis. Most creators don&#8217;t feel the eyeballs vs. owned audience gap until a platform shift forces it on them, and by then they&#8217;re rebuilding from zero. Trying to get people there earlier, before the forcing function hits.<\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@elias_motionfy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elias_motionfy<\/a>&nbsp;Thank you so much for this thoughtful, in-depth feedback \u2014 we truly appreciate your sharp observations around audience ownership and creator voice authenticity.<\/p>\n<p>You\u2019re completely right about owned audience assets: our core design philosophy is to help creators move past vanity follower counts to build permanent, monetizable customer data they fully control via email lists, breaking reliance on platform algorithm traffic. Getting creators to prioritize long-term owned growth over short-term views is indeed a key educational goal for us.<\/p>\n<p>On AI voice replication: our model first locks in your core content tone, pacing and stylistic habits from your public TikTok content. To nail the intimate, parasocial tone unique to your loyal audience, we let creators feed in their top-performing captions, comment replies and fan interactions as custom training samples. The more personalized context you provide, the closer the output matches how you naturally speak to your core fans, not just generic viral formatting. We keep refining fine-tuning tools to lower the sample data barrier for small creators too.<\/p>\n<p>And thank you for celebrating our 2,000 active creators milestone! This community growth validates that our all-in-one content-to-commerce workflow solves real pain points for growing creators, and we\u2019ll keep iterating based on feedback like yours.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 matching actually work when it picks products for your niche, is it pulling from a database you choose or do you connect your own supplier somehow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nevzaty1ns\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nevzaty1ns<\/a>&nbsp;Good question. You do not need to line up your own supplier to start. Fypro matches products for you from a curated pool of trending dropshipping items, filtered to your niche, with the margin shown on every pick so you can see the economics before you add anything. If you already have your own products or supplier, supporting that is on our roadmap, but the default is built so you can launch a stocked store without sourcing anything yourself.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Steven, I know quite a few creators who have a good following  but no real way to monetize it outside brand deals. This looks like it could help bridge that 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@simran_kumar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@simran_kumar<\/a>&nbsp;Exactly ! brand deals are great, but they&#8217;re not always consistent or scalable. That&#8217;s why we built Fypro: to give creators another way to monetize their audience through their own store, without needing to hold inventory or build everything from scratch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>congratulations! the product recommendations sound smart. do you also estimate demand before suggesting products? or mainly calculate margins?<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@joshua_cooper2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joshua_cooper2<\/a>&nbsp;Thanks! We look at a mix of factors when recommending products \u2014 both market demand and margins are part of the equation, along with how well the product fits the creator&#8217;s niche. If you&#8217;d like to dive deeper into the specifics, feel free to reach out to <a href=\"mailto:customer.support@fypro.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">customer.support@fypro.ai<\/a> and our team can walk you through 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\/@joshua_cooper2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joshua_cooper2<\/a>&nbsp;Thanks Joshua. Great question. It is both. Before a product ever gets suggested, Fypro looks at real demand signals from TikTok trends and what is selling in that niche, not just the margin. Then it weighs margin and how well the product fits the creator&#8217;s audience. The goal is products people actually want to buy, with room to make it worth the creator&#8217;s time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Have you seen any common traits among the creators getting the highest conversion rates with Fypro?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@lukas__lang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lukas__lang<\/a>&nbsp; Great question, Lukas. The strongest creators usually have a clear niche, a trusted point of view, and an audience that already looks to them for product ideas or taste. It is less about having the biggest follower count and more about having audience trust that can naturally connect to the right products.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Fypro decide which products are the best match for a creator&#8217;s audience and niche?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@curtis_j_sanders\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@curtis_j_sanders<\/a>&nbsp;Thanks for the question. Fypro uses your niche signals and content context to surface product recommendations that are most relevant to your audience, helping you quickly align content with potential conversions. You can refine, review, and adjust the selections as you go, so it stays aligned with your brand and strategy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can creators connect their own product catalog if they already have an existing 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\/@leo__fournier\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@leo__fournier<\/a>&nbsp;Yes. Fypro supports managing and organizing products, so creators with existing businesses can work with their own product setup and structure it into collections within the 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>can creators already selling products migrate their existing store? or is Fypro mainly designed for starting from scratch?<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@imogen_wallace\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@imogen_wallace<\/a>&nbsp;Fypro is designed to support both. You can start from scratch or connect existing setups and build on top of them, so you don\u2019t lose what you\u2019ve already built, It\u2019s flexible by design.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@imogen_wallace\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@imogen_wallace<\/a>&nbsp;Fypro works for both \u2014 it&#8217;s great for creators starting from scratch, and creators with existing products can also use Fypro to manage and sell through their store. For specifics on migrating an existing store, feel free to reach out to <a href=\"mailto:customer.support@fypro.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">customer.support@fypro.ai<\/a> and our team can walk you through the options.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Useful product! But I personally think people on the Internet nowadays don&#8217;t really like commerce promotion videos, how do you help creators monetize without making their content feel too salesy or damaging audience 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@xinrui1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xinrui1<\/a>&nbsp; That is a very real concern, Xinrui. We do not think monetization should mean turning every post into a hard sell. The goal is to help creators match products and content ideas to what their audience already trusts them for, so the result feels useful and natural instead of forced. Creator control and review are important parts of that.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@xinrui1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xinrui1<\/a>&nbsp;Great question \u2014 this is something we care a lot about. The key is fit: we only recommend products that align with the creator&#8217;s niche and content direction, so it feels natural rather than forced. Creators also have full control over what they promote and can pick what genuinely makes sense for their audience. The goal is for monetization to feel like an extension of their content, not a sales pitch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;thanks , Madalina<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;&nbsp;Thanks so much!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>When a follower buys, who handles fulfillment and shipping \u2014 the creator, or is that built in?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ryancheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ryancheng<\/a>&nbsp;Fulfillment and shipping are handled through integrated systems, so creators don\u2019t need to manage logistics themselves. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@ryancheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ryancheng<\/a>&nbsp;It&#8217;s built in \u2014 fulfillment and shipping are handled by our supply chain partners and suppliers for products from the catalog. Creators don&#8217;t need to hold inventory or handle logistics themselves.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Turning content into an actual business is a much bigger challenge than growing folowers. I like that you&#8217;re tackling that part. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hassan_ismail_rebe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hassan_ismail_rebe<\/a>&nbsp;Thanks for the support! That\u2019s exactly what we\u2019re aiming to do.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@hassan_ismail_rebe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hassan_ismail_rebe<\/a>&nbsp;Thank you! That&#8217;s exactly what we&#8217;re building for.<\/p>\n<p>Fypro is designed to help creators turn content into real business outcomes, not just grow an audience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@hassan_ismail_rebe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hassan_ismail_rebe<\/a>&nbsp;Absolutely \u2014 building an audience is one thing, turning it into a sustainable business is another. That gap is exactly what Fypro is built to bridge, by bringing content, store, and monetization all into one place.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 pick the products it puts in your store, do you pick from a catalog or does it just auto-match stuff from your niche without any approval step<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@idemx532\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@idemx532<\/a>&nbsp;Great question. Fypro starts by matching products based on your niche, content style, and audience signals, but it\u2019s not meant to be a blind auto fill. You can review the recommended products, check things like price, margin, variants, inventory, and shipping, then decide what to push to your store. The idea is to remove the blank-page problem, while still keeping the creator in control.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@idemx532\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@idemx532<\/a> Fypro helps identify products that fit your niche, while still giving you visibility and control throughout the process.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@idemx532\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@idemx532<\/a>&nbsp;<\/p>\n<p>Give it a try and see how quickly it builds a store tailored to your content.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really curious to see what creators build with this. Feels like the kind of product that could change how creators approach monetization.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This feels especially valuable for creators who aren&#8217;t naturally entrepreneurial.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Smart move focusing on commercialization rather than chasing content generation trends.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Congratulations! the audience to business journey is a great vision.does Fypro help optimize existing products too?or mainly recommend new ones?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/C2GZROB7OFA5HO\" class=\"app-title\">Needle<\/a><\/p>\n<div class=\"one-liner\">The proactive GTM agent in Slack and Teams<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">259<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Needle\u662f\u4e00\u4e2a\u5185\u7f6e\u4e8eSlack\u548cTeams\u7684\u4e3b\u52a8\u5f0fGTM\u4ee3\u7406\uff0c\u81ea\u52a8\u76d1\u63a7\u9500\u552e\u7ba1\u9053\u3001\u8bc6\u522b\u505c\u6ede\u4ea4\u6613\u3001\u9884\u5199\u8ddf\u8fdb\u90ae\u4ef6\u3001\u51c6\u5907\u901a\u8bdd\u80cc\u666f\u5e76\u6574\u7406CRM\uff0c\u7701\u53bb\u9500\u552e\u56e2\u961f\u5927\u91cf\u624b\u52a8\u5fd9\u6d3b\uff0c\u805a\u7126\u771f\u6b63\u9500\u552e\u52a8\u4f5c\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d3e71b0a-9df7-4d66-9104-566ad94bc28f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6fea518d-3e87-4e79-9a17-569c639c0903.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0a04d933-58ab-4ee8-8851-960f35d1599b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f34715a-fca5-4028-885b-d4567b919aed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fc9811a3-2950-4144-83b7-a43654f10d77.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/04d8c3e7-0631-42cb-9ad1-be17a746f470.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/04eda04b-a8ae-44d6-855c-241f0a1cd13e.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\/46aaeff9-8e92-4fc8-b1d9-e0ee7798025e.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=IORiX0PpEN0\"><source src=\"https:\/\/www.youtube.com\/watch?v=IORiX0PpEN0\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Sales<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u9500\u552eAI<\/span><br \/>\n            <span class=\"tag\">GTM\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u52a8\u5f0f<\/span><br \/>\n            <span class=\"tag\">CRM\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6536\u5165\u56e2\u961f<\/span><br \/>\n            <span class=\"tag\">\u4ea4\u6613\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4fe1\u53f7\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u7ee7\u627f<\/span><br \/>\n            <span class=\"tag\">\u975e\u4fb5\u5165\u5f0f<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a\u4e3b\u52a8\u63a8\u9001\u5982\u4f55\u907f\u514d\u566a\u97f3\uff08\u9700\u53ef\u914d\u7f6e\u9608\u503c\u53ca\u9644\u5e26\u53ef\u6267\u884c\u52a8\u4f5c\uff09\uff1b\u6743\u9650\u7ee7\u627f\u5982\u4f55\u8fd0\u4f5c\uff08\u76f4\u63a5\u4f7f\u7528\u7528\u6237\u5df2\u6709\u6743\u9650\uff09\uff1b\u533a\u5206\u771f\u5b9e\u505c\u6ede\u4e0e\u6709\u610f\u51b7\u5374\u7684\u96be\u5ea6\uff08\u4f9d\u8d56\u591a\u6e90\u4e0a\u4e0b\u6587\uff09\uff1b\u65e9\u671f\u56e2\u961f\u9002\u7528\u6027\uff08\u65e0\u9700\u5b8c\u6574\u9500\u552e\u6808\uff09\u3002\u8d5e\u5176\u8282\u7701\u65f6\u95f4\uff0c\u4f46\u6307\u51fa\u8349\u6848\u7565\u663e\u901a\u7528\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Needle\u5728\u201c\u4e3a\u9500\u552eAI\u6b63\u540d\u201d\u65b9\u9762\u8fc8\u51fa\u4e86\u6b63\u786e\u7684\u4e00\u6b65\u2014\u2014\u5b83\u4e0d\u518d\u662f\u4e00\u4e2a\u88ab\u52a8\u7684\u95ee\u7b54\u673a\u5668\u4eba\uff0c\u800c\u662f\u4e00\u4e2a\u4e3b\u52a8\u7684\u201cGTM\u5de5\u7a0b\u5e08\u201d\u3002\u4ea7\u54c1\u6838\u5fc3\u6d1e\u5bdf\u662f\uff0c\u9500\u552e\u56e2\u961f\u771f\u6b63\u7684\u6548\u7387\u74f6\u9888\u4e0d\u5728\u4e8e\u201c\u5356\u201d\uff0c\u800c\u5728\u4e8e\u201c\u627e\u201d\u548c\u201c\u8ddf\u201d\uff1a\u627e\u4eba\u3001\u627e\u8d44\u6599\u3001\u8ddf\u8fdb\u505c\u6ede\u3001\u6574\u7406CRM\u3002\u5c06AI\u5d4c\u5165Slack\/Teams\uff0c\u7528\u201c\u63d0\u9192+\u8349\u6848\u201d\u800c\u975e\u201c\u4eea\u8868\u76d8\u201d\u7684\u65b9\u5f0f\u4ea4\u4ed8\u4ef7\u503c\uff0c\u662f\u5728\u6b63\u786e\u573a\u666f\u505a\u6b63\u786e\u7684\u4e8b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u6709\u51e0\u4e2a\u5173\u952e\u70b9\u9700\u8981\u8bda\u5b9e\u5ba1\u89c6\u3002\u9996\u5148\uff0c\u201c\u4e3b\u52a8\u201d\u662f\u4e00\u628a\u53cc\u5203\u5251\u3002\u4ece\u8bc4\u8bba\u4e2d\u201cvibes\u201d\u548c\u201c\u53ef\u914d\u7f6e\u9608\u503c\u201d\u7684\u56de\u5e94\u80fd\u770b\u51fa\uff0c\u56e2\u961f\u5bf9\u566a\u97f3\u63a7\u5236\u6709\u610f\u8bc6\uff0c\u4f46\u201c\u6bcf\u4e2a\u63d0\u9192\u90fd\u9644\u5e26\u53ef\u6267\u884c\u52a8\u4f5c\u201d\u7684\u627f\u8bfa\u5728\u5b9e\u9645\u4e2d\u6781\u6613\u6ed1\u5411\u201c\u5fae\u65e0\u6548\u901a\u77e5\u201d\uff0c\u5c24\u5176\u662f\u5bf9\u590d\u6742\u9500\u552e\u5468\u671f\u4e2d\u7684\u591a\u7ebf\u7d22\u4ea4\u53c9\u573a\u666f\u3002\u5176\u6b21\uff0c\u4ea7\u54c1\u5ba3\u79f0\u201c\u65e0\u9501\u5b9a\u201d\uff0c\u4f46\u4ee3\u7406\u5b66\u4e60\u7684\u8bb0\u5fc6\u4e0e\u98ce\u683c\u504f\u597d\u4fee\u590d\u8d8a\u6df1\u5165\uff0c\u7528\u6237\u66ff\u4ee3\u6210\u672c\u5c31\u8d8a\u9ad8\u2014\u2014\u8fd9\u672c\u8d28\u4e0a\u662f\u4e00\u79cd\u8f6f\u9501\u5b9a\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u662f\u201c\u4e0d\u9501\u5b9a\u201d\uff0c\u800c\u662f\u201c\u5728\u4f60\u4e60\u60ef\u5b83\u4e4b\u540e\uff0c\u4f60\u4e0d\u60f3\u79bb\u5f00\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u5bf9\u4e8e\u5c0f\u56e2\u961f\uff0cNeedle\u7684\u4ef7\u503c\u5728\u4e8e\u201c\u79e9\u5e8f\u201d\uff1b\u5bf9\u4e8e\u5927\u56e2\u961f\uff0c\u5176\u4ef7\u503c\u5728\u4e8e\u201c\u4e00\u81f4\u6027\u4e0e\u53ef\u6269\u5c55\u6027\u201d\u3002\u4f46\u540e\u8005\u8981\u9762\u4e34\u7684\u6743\u9650\u3001\u4fe1\u53f7\u566a\u58f0\u548c\u8de8\u56e2\u961f\u534f\u4f5c\u95ee\u9898\u8fdc\u6bd4\u524d\u8005\u590d\u6742\u3002\u6700\u540e\uff0cNeedle\u7684\u7075\u9b42\u5728\u4e8e\u201c\u4ee3\u7406\u5b66\u4f1a\u50cf\u4f60\u4e00\u6837\u601d\u8003\u201d\uff0c\u800c\u8fd9\u9700\u8981\u5927\u91cf\u9ad8\u8d28\u91cf\u3001\u9ad8\u9891\u6b21\u7684\u4ea4\u4e92\u53cd\u9988\u3002\u5982\u679c\u521d\u671f\u7528\u6237\u4ec5\u5c06\u5176\u89c6\u4e3a\u201c\u81ea\u52a8\u63d0\u9192\u5de5\u5177\u201d\u800c\u7f3a\u4e4f\u8fed\u4ee3\u540e\u7684\u7cbe\u51c6\u5ea6\uff0c\u5c31\u4f1a\u9677\u5165\u88ab\u66ff\u4ee3\u7684\u56f0\u5883\u3002\u603b\u7684\u6765\u8bf4\uff0cDirection\uff08\u65b9\u5411\uff0990\u5206\uff0cExecution\uff08\u6267\u884c\uff09\u5728Demo\u4e2d\u8868\u73b0\u826f\u597d\uff0c\u4f46\u9700\u5728\u89c4\u6a21\u5316\u4e2d\u8bc1\u660e\u5b83\u771f\u7684\u201c\u6709\u7528\u201d\uff0c\u800c\u975e\u53ea\u662f\u201c\u6709\u8da3\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\">Needle<\/span>\n                <\/div>\n<div class=\"comment-content\">Most sales AI waits for you to ask. Needle is proactive. It works like a GTM engineer on your team: it watches your pipeline and acts before you do. Spots stalled deals and drafts the follow-up, preps you before calls, keeps your CRM tidy, surfaces real buying signals. It lives in Slack and Teams, wired into HubSpot, Gmail and Gong. Unlike horizontal agents, it is built for revenue teams, acts through your permissions, and your context and memory stay portable. No lock-in. Not another dashboard.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt, Jan here, cofounder of Needle.<\/p>\n<p>We spent months talking to 100+ GTM and RevOps leaders, and the same thing kept coming up: the work that actually moves deals isn&#8217;t the selling. It&#8217;s everything around it. Researching accounts, chasing stalled deals, prepping for calls, keeping the CRM honest, finding the right case study at the right moment. The context that wins deals is scattered across HubSpot, Slack, Gong and email, and reps drown in it.<\/p>\n<p>Most sales AI waits for you to ask it something. That never solved the real problem.<\/p>\n<p>So we built Needle to work like a GTM engineer that sits on your team. It&#8217;s proactive: it watches your pipeline and acts before you ask. It spots a deal going quiet and drafts the follow-up. It preps you before every call. It tidies the CRM on its own. It surfaces the buying signal worth acting on and ignores the noise. All of it lives in Slack and Teams, where your team already works.<\/p>\n<p>You make the calls. Needle handles the busywork around them. It acts through your existing permissions, so it can do what you can do and nothing you can&#8217;t, and your context and memory stay portable and fully yours. No lock-in.<\/p>\n<p>Not another dashboard. Think of it as your right hand to closed-won.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jan_heimes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jan_heimes<\/a>&nbsp;The &#8216;no lock-in&#8217; detail buried at the end is actually your sharpest moat. Most sales AI demands you live in their interface. You stay in Slack\/HubSpot and let Needle act <em>through<\/em> existing permissions. That&#8217;s what RevOps leaders actually want. Real question: when deal velocity improves, do reps stick with CRM-driven workflows, or does proactivity create dependency on Needle nudges?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@jan_heimes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jan_heimes<\/a>&nbsp;Love that it lives directly inside Slack and Teams. The last thing our sales reps need is another dashboard to log into. The seamless integration with HubSpot, Gmail, and Gong is flawless<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@jan_heimes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jan_heimes<\/a>&nbsp;Congrats on the launch! \ud83c\udf89<\/p>\n<p>A proactive GTM agent in Slack and <\/p>\n<p>Teams is such a smart idea &#8211; spots <\/p>\n<p>stalled deals before you even ask!<\/p>\n<p>Quick question &#8211; when sales teams <\/p>\n<p>search &#8220;AI GTM agent for Slack&#8221; on <\/p>\n<p>ChatGPT, is Needle showing up?<\/p>\n<p>I help SaaS tools get discovered on <\/p>\n<p>ChatGPT &amp; Google through Reddit <\/p>\n<p>marketing. Communities like r\/sales <\/p>\n<p>and r\/startups would love Needle.<\/p>\n<p>Would love to connect!<\/p>\n<p>&#8211; Priyesh Kharwar<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Very interesting one! Wondering how does Needle tell a deal that stalled from one that went quiet on purpose? Is it pulling that from CRM notes? Call transcripts?<\/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\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;good question, and it&#8217;s genuinely the hard part. Needle pulls from everything connected, CRM signals like stage and activity, but also email threads, Slack, and yes, call transcripts via Gong and Fireflies. That&#8217;s what makes the distinction possible: a deal where the champion said &#8220;circle back after our board meeting in July&#8221; on a call reads completely differently from one that just went dark, even if both look identical in the CRM timeline. The more sources connected, the better it gets at telling stalled from quiet-on-purpose. Still not perfect, edge cases exist, but the whole point is judging from full context, not just a &#8220;no activity in X days&#8221; timer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 do you handle permissions?<\/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\/@darian_weingartner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@darian_weingartner<\/a>&nbsp;Permissions aren&#8217;t a separate layer you configure, they&#8217;re inherited. Since every agent is personal, it only ever sees and acts on what you can, across CRM, email, Drive, and Slack. What an agent can do maps to what the person behind it is allowed to do.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>&#8216;Proactive&#8217; is the interesting word here &#8211; most agents wait to be asked, and the value is in the ones that surface the thing you didn&#8217;t know to ask about. How do you keep the proactive pings from becoming noise? That threshold (helpful vs annoying) is the hardest dial to tune in any agent I&#8217;ve shipped. 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><a href=\"https:\/\/www.producthunt.com\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a> thanks for the support! the agent learns how the rep and the company operates and matches the vibes so it learns not to be annoying.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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> fair callout, and I&#8217;ll be more precise than the vibes answer above. Two things keep it from becoming noise. First, thresholds are explicit and rep-configurable. Second, and more important, every ping is scoped to something with a clear action attached, re-engage this person, review this field, not just an observation. If there&#8217;s no decision for the rep to make, Needle doesn&#8217;t ping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 deal nudges actually got me to follow up on stuff i&#8217;d completely forgotten about, which is rare for any tool i&#8217;ve tested<\/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\/@hiranurerkasap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hiranurerkasap<\/a>&nbsp;That&#8217;s exactly the reaction we were hoping for. The stuff that quietly slips through the cracks is usually what costs a deal, glad Needle caught it for you! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally gave this a spin in our Slack and the pre-call prep nudge saved me from walking into a discovery call blind. The stalled-deal drafts are a bit generic but honestly useful as a starting point.<\/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\/@berktrh4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@berktrh4<\/a>&nbsp; Really appreciate the honest take, especially the generic part. That&#8217;s fair, and it&#8217;s exactly the kind of feedback that helps us tune it. The drafts are meant as a starting point Needle builds from what it knows about the deal, but there&#8217;s clearly room to make them sharper and more specific. Glad the pre-call prep already earned its keep though, that&#8217;s the one I personally use every day. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Super excited to finally see this out in the open \ud83d\ude80<\/p>\n<p>One thing that stood out while building Needle is how much of a rep\u2019s day is spent on everything <em>except<\/em> selling: research, CRM updates, follow-ups, finding the right context, preparing for calls. That\u2019s exactly the problem we wanted to solve.<\/p>\n<p>Proud of what the team has built, and we\u2019re just getting started. We\u2019d love to hear what the Product Hunt community thinks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@valentin_po\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@valentin_po<\/a>&nbsp;Couldn&#8217;t have said it better. The wildest part building this was realizing how little of a rep&#8217;s day is actually spent selling. We built Needle so that everything else just happens in the background. Proud to be building this with you \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!<\/p>\n<p>1. Curious how Needle decides that something is a signal in the first place. Is it mostly based on rules the team sets, or does it infer patterns from HubSpot, email and call context?<\/p>\n<p>2. And once a rep acts on a suggestion, can that close the loop? Meaning, can Needle learn which plays worked, which got ignored, and turn that into better GTM moves over time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ataniz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ataniz<\/a>&nbsp;thanks for the support! <\/p>\n<ol>\n<li>\n<p>Needle agents analyze won\/lost deals and recognize the patterns and learns what is a signal or not. <\/p>\n<\/li>\n<li>\n<p>i think my first point also answers this<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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 looks genuinely useful &#8211; taking the admin work off a sales pipeline is exactly where I would want the help. One question before trying it: is it usable for a small, early team, or does it assume an established sales org already on HubSpot and Gong? <\/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\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp; you&#8217;re not on HubSpot or Gong yet, Needle still plugs into Slack, email, and calendar and helps from there, the value shows up earlier with an early team since there&#8217;s usually no one dedicated to keeping things tidy. It gets sharper as more of your stack connects, but it&#8217;s not gated behind having an established org 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;glad to see you find it useful! you don&#8217;t have to have an established sales org. you can plug it into your stack. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow, great stuff! Congrats on the launch!<br \/>Love the video \ud83d\udda4<\/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\/@dmitrysereda\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmitrysereda<\/a>&nbsp;thanks a lot for the support! \ud83d\udda4<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@dmitrysereda\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmitrysereda<\/a>&nbsp;Appreciate you and yeah shoutout to the team. The video was teamwork. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Hyped! <\/p>\n<p>Built our GTM from scratch using Needle. <\/p>\n<p>Now we have superpowers \ud83e\uddb8<\/p>\n<p>LFGO \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><a href=\"https:\/\/www.producthunt.com\/@mauricevv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mauricevv<\/a>&nbsp;LFGO indeed \ud83d\ude80  happy to build this with you. Superpowers unlocked \ud83e\uddb8<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Slack\/Teams angle makes a lot of sense to me. From my perspective, a lot of GTM tools end up living outside the flow of work, so people either forget to use them or only check them when something has already gone cold.<\/p>\n<p>How would you avoid this becoming noisy though? If Needle is proactive, how do you decide what is worth surfacing versus what just becomes another notification people start ignoring?<\/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\/@tobiasfleischer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tobiasfleischer<\/a>&nbsp;honestly, this is the thing that worries me most too. Right now we handle it two ways: every ping has to come with something the rep can actually do, not just an observation, if there&#8217;s no decision attached we don&#8217;t surface it. Notification fatigue is a real risk with anything proactive, and we&#8217;re still learning where the line is as more people actually use it day to day.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Haha, genuinely speaking, this system is so motherly. I mean you do start working but somebody has already done the job for you. I personally like that it connects to every tool itself .<\/div>\n<div class=\"comment-actions\">\n<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\/@prachi_nagwan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prachi_nagwan<\/a>&nbsp;thank you! we believe it&#8217;s super helpful too. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Proactive feels right, it pinged me about a stalled deal before I even opened HubSpot that morning and drafted a solid follow-up. The Slack-first setup keeps it out of my way.<\/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\/@erolsalmaney2h\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erolsalmaney2h<\/a>&nbsp;This is exactly the moment we built it for, catching the thing before you even go looking for it. Thanks for your comment!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>most ai waits to be asked. this one talks first. that flip is where the trust question gets real. reactive is easy because the worst case is a bad reply. proactive is scary because the worst case is a bad action nobody signed off on. the design job is making sure the actions are the ones the human would have taken 5 minutes later anyway.<\/p>\n<\/p>\n<p>curious how you handle disagreement. when needle drafts follow-up and the rep would have written it differently, does the rep edit and move on, or does needle learn to write more like that rep over time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp;thanks for the question, great one! the agent is highly customized based on the preferences of the rep, it learns their style and how they handle conflicts. it always self-improves.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a> this is exactly the right framing! To your question: both, in sequence. Early on the rep edits almost everything, that&#8217;s expected and fine, we treat every edit as a signal, not a failure. Over time the gap between what Needle drafts and what the rep would have written shrinks, but we never let it fully auto-send on judgment calls like tone or relationship nuance. It has memory. <\/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>super hyped to build this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@onur_o\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@onur_o<\/a>,&nbsp;proud of you and the team man.  \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the vision but I&#8217;d probably want to start with recommendations before giving an AI permission to take actions automatically. Is there a gradual adoption path for more cautious teams?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 part that gives me pause is &#8220;tidies the CRM on its own&#8221; &#8211; CRM data being wrong silently is worse than it being stale, because nobody double checks a field that looks filled in. is there an audit trail showing what it changed and why, or do you just have to trust the drafts before they go 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\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;<br \/>The goal is that &#8220;tidy&#8221; never means &#8220;confidently wrong.&#8221; Can start with propose only and write only if agreed \/ review. Once you trust after some time to you can let it run automatically end to end. Also has memory so it learns over time.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting approach \ud83d\ude42. The &#8216;mirrors your permissions&#8217; model avoids a lot of the config headache. Curious how it handles document-heavy steps (proposals, contracts, PDFs) in the pipeline. That&#8217;s often the messiest part of automating a sales workflow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;<\/p>\n<p>Great question, and you&#8217;re right that it&#8217;s where most sales automation quietly breaks. Today Needle reads the docs already living in the deal (PDF proposals, email attachments, HubSpot files via Gmail\/Drive\/HubSpot) and treats them as context: it pulls the key terms, flags what&#8217;s missing or inconsistent, and drafts the follow-up or proposal off the actual document instead of a generic template.<\/p>\n<p>What it won&#8217;t do yet is generate a fully redlined contract end to end. Curious which doc step is messiest for your team, proposals or contracts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 proactive GTM agent only works if the handoff is legible. The important part is not that it finds every possible signal; it is that sales\/support can see why this account matters, what changed, and what action is safe to take next.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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;couldn&#8217;t agree more, and you&#8217;ve put it better than most of our internal docs. Finding signals is honestly the easier half, models are good at that now. The hard part is exactly what you said: making the handoff legible enough that a rep trusts it in three seconds. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Slack and Teams-first angle makes a lot of sense here, especially for the \u201cact before someone opens the CRM\u201d moments.<\/p>\n<p>Curious how you handle trust when Needle suggests an action. Do reps get a clear reason for why something was surfaced, like the signal, source, and suggested next step, or is the goal to keep it mostly invisible unless they ask?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@akashnawani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akashnawani<\/a>&nbsp;not invisible, that would make it impossible to trust. Every suggestion comes with why it&#8217;s showing up, what signal triggered it, where that signal came from, and what the suggested next step is. No black box nudges. The goal is you can glance at it and immediately know whether to act, snooze, or ignore, not have to go dig for context first. If it can&#8217;t explain itself, we don&#8217;t ship the nudge.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\/@jan_heimes\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jan_heimes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jan_heimes<\/a> ! Needle feels strongest where sales teams usually lose momentum.<\/p>\n<\/p>\n<p>Curious how you recommend a team rolls this out in the first 2 weeks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 proactive angle is the interesting part since most of these just wait to be prompted. What actually triggers Needle to act: configurable rules\/thresholds (deal untouched N days, no reply on a thread), or a model deciding on its own when something matters? And when it fires, does it act autonomously (send the follow-up, update the HubSpot field) or draft it and wait for the rep to approve? Trying to gauge how much CRM-hygiene work I could hand off on day one vs still babysitting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 reactive-to-proactive shift is where the interesting failure modes start. When AI just answers questions, wrong answers are annoying but recoverable. When AI acts before you ask, wrong actions cost you deals and worse, they cost you credibility with the prospect who now thinks your team is uncoordinated.<\/p>\n<\/p>\n<p>Running my own cold email ops solo right now (162 leads, personalized Loom video sequence) and the manual version of what Needle does is roughly 40% of my week, pipeline watching, follow-up drafting, CRM hygiene. The math on offloading that is real. But the trust boundary Mustafa raised is exactly right, the piece that has to feel right is &#8220;would this have been the follow-up I&#8217;d have written.&#8221; Not just competent, but on-voice.<\/p>\n<\/p>\n<p>Curious about the calibration period, does Needle need a warm-up phase where it drafts and you approve before it moves to autonomous action, or is it comfortable acting on day 1 with just permission scoping?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! How are you connecting to all the 3rd party tools? <a href=\"https:\/\/www.producthunt.com\/@onur_o\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"onur_o\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@onur_o<\/a> ?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the fact that it pings you in slack before a call with a quick brief is genuinely useful, not just another ai wrapper hype 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>Nice work Jan! 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>Great stuff! GTM is a pain, automating it is great<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">One thing I keep seeing with AI agents is that context is everything. How do you balance being proactive without overwhelming reps with notifications? I&#8217;d imagine getting that signal-to-noise ratio right is one of the hardest parts.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how it handles the noise though &#8211; does it learn from feedback when a flagged &#8220;stalled deal&#8221; is actually just going slow on purpose, or does it keep pinging you the same way every time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/KQ7BAH3EAIJBLM\" class=\"app-title\">PixFit<\/a><\/p>\n<div class=\"one-liner\">Turn 1 creative into every ad format, instantly<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">199<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PixFit \u662f\u4e00\u6b3e\u4e13\u4e3a\u5e7f\u544a\u521b\u610f\u56e2\u961f\u8bbe\u8ba1\u7684\u81ea\u52a8\u5316\u5de5\u5177\uff0c\u80fd\u5c06\u5355\u4e2a\u4e3b\u89c6\u89c9\u4e00\u952e\u9002\u914d\u6210\u6240\u6709\u5e7f\u544a\u5e73\u53f0\uff08\u5982 Meta\u3001Google\u3001TikTok\uff09\u6240\u9700\u7684\u591a\u79cd\u683c\u5f0f\uff0c\u540c\u65f6\u4fdd\u8bc1\u54c1\u724c\u5143\u7d20\u3001\u5b89\u5168\u533a\u548c\u6587\u6848\u5e03\u5c40\u7684\u5b8c\u7f8e\u5448\u73b0\uff0c\u5f7b\u5e95\u89e3\u51b3\u8bbe\u8ba1\u5e08\u624b\u52a8\u7f29\u653e\u3001\u6392\u7248\u8017\u65f6\u957f\u4e14\u6613\u51fa\u9519\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\/9464e0c2-5612-47e2-9b76-ac4cf4ea214e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a5f3934c-c08f-4d70-ae6e-e1e85662b40a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/db753ed4-8f53-44d8-a6f8-39447f2a9dfb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bbe3ec3e-4fac-45da-9b36-769ac726f494.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7c764b56-4896-430c-8ba4-9a5af002130a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f5a81b4f-4cd9-472b-b8f3-5151dff053b0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/30d36907-ec68-4f37-8167-9b09cf81144c.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\/e01395fa-33c4-436a-aeca-76001c2ed0ac.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=poNFaufplu8\"><source src=\"https:\/\/www.youtube.com\/watch?v=poNFaufplu8\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Design resources<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5e7f\u544a\u521b\u610f\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u591a\u683c\u5f0f\u9002\u914d<\/span><br \/>\n            <span class=\"tag\">\u7d20\u6750\u6279\u91cf\u8c03\u6574<\/span><br \/>\n            <span class=\"tag\">AI\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u4e00\u81f4\u6027<\/span><br \/>\n            <span class=\"tag\">\u5e73\u53f0\u5b89\u5168\u533a<\/span><br \/>\n            <span class=\"tag\">\u4eba\u5de5\u515c\u5e95<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u751f\u4ea7\u6d41\u7a0b<\/span><br \/>\n            <span class=\"tag\">Winclap<\/span><br \/>\n            <span class=\"tag\">\u4ed8\u8d39\u5e7f\u544a\u4f18\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u5bf9\u201c\u521b\u610f\u74f6\u9888\u201d\u7684\u89e3\u51b3\u4ef7\u503c\uff0c\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u4e8e\uff1aAI\u8f93\u51fa\u8d28\u91cf\u7684\u4e3b\u89c2\u5224\u65ad\u673a\u5236\uff08\u4ec5\u97603\u6b21\u5c1d\u8bd5\u89e6\u53d1\u4eba\u5de5\u515c\u5e95\u662f\u5426\u8db3\u591f\uff09\u3001\u6587\u672c\u5bc6\u96c6\u578b\u7d20\u6750\u7684\u6392\u7248\u903b\u8f91\uff08\u91cd\u6392 vs. \u7f29\u653e\uff09\u3001\u89c6\u9891\u9002\u914d\u529f\u80fd\u7f3a\u5931\u3002\u540c\u65f6\uff0c\u7528\u6237\u5173\u5fc3\u4eba\u5de5\u515c\u5e95\u662f\u5426\u989d\u5916\u6536\u8d39\u53ca\u7075\u6d3b\u7f16\u8f91\u80fd\u529b\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                PixFit \u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u6781\u5176\u771f\u5b9e\u4e14\u6602\u8d35\u7684\u75db\u70b9\uff1a\u8d44\u6df1\u8bbe\u8ba1\u5e08\u628a\u5927\u91cf\u65f6\u95f4\u6d6a\u8d39\u5728\u201c\u8c03\u6574\u5c3a\u5bf8\u201d\u800c\u975e\u201c\u521b\u9020\u201d\u4e0a\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u4e8eAI\u672c\u8eab\u6709\u591a\u5f3a\uff0c\u800c\u5728\u4e8e\u5b83\u5bf9\u5e7f\u544a\u884c\u4e1a\u751f\u4ea7\u6d41\u7a0b\u7684\u6df1\u523b\u7406\u89e3\u2014\u2014\u4e0d\u662f\u505a\u4e00\u4e2a\u201c\u4e07\u80fd\u7f29\u653e\u201d\u7684\u73a9\u5177\uff0c\u800c\u662f\u5c06\u5e7f\u544a\u5e73\u53f0\u7684\u5b89\u5168\u533a\u3001CTA\u4f4d\u7f6e\u3001\u6587\u6848\u5c42\u7ea7\u8fd9\u4e9b\u9690\u6027\u77e5\u8bc6\u4ee3\u7801\u5316\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u5b58\u5728\u4e24\u4e2a\u6f5c\u5728\u98ce\u9669\u3002\u7b2c\u4e00\uff0c\u201c\u4eba\u5de5\u515c\u5e95\u201d\u673a\u5236\u770b\u4f3c\u7f8e\u597d\uff0c\u4f46\u672c\u8d28\u4e0a\u662f\u5c06\u201c\u8d28\u91cf\u63a7\u5236\u201d\u7684\u8d23\u4efb\u8f6c\u5ac1\u7ed9\u4e86\u7528\u6237\u30023\u6b21AI\u5c1d\u8bd5\u540e\u7528\u6237\u624b\u52a8\u5224\u5b9a\u201c\u6548\u679c\u4e0d\u4f73\u201d\uff0c\u8fd9\u5728\u5b9e\u9645\u9ad8\u5f3a\u5ea6\u751f\u4ea7\u4e2d\u4f1a\u53d8\u6210\u65b0\u7684\u535a\u5f08\u548c\u7b49\u5f85\uff0c\u5c24\u5176\u5f53\u7528\u6237\u7f3a\u4e4f\u4e13\u4e1a\u5ba1\u7f8e\u5224\u65ad\u529b\u65f6\uff0c\u8fd9\u4e2a\u201c\u5b89\u5168\u7f51\u201d\u53cd\u800c\u53ef\u80fd\u6210\u4e3a\u6548\u7387\u9ed1\u6d1e\u3002\u7b2c\u4e8c\uff0c\u56e2\u961f\u5766\u8bda\u201c\u5c1a\u672a\u83b7\u5f97\u5916\u90e8\u5927\u89c4\u6a21\u6570\u636e\u201d\uff0c\u8fd9\u610f\u5473\u7740AI\u5bf9\u590d\u6742\u521b\u610f\uff08\u5982\u591a\u6587\u6848\u5c42\u53e0\u3001\u975e\u6807\u51c6\u6bd4\u4f8b\u63d2\u56fe\uff09\u7684\u9002\u5e94\u6027\u4ecd\u9700\u9a8c\u8bc1\u3002\u76ee\u524d\u89e3\u51b3\u7684\u4e3b\u8981\u662f\u201c\u91cd\u590d\u52b3\u52a8\u201d\u800c\u975e\u201c\u521b\u610f\u51b3\u7b56\u201d\uff0c\u5bf9\u4e8e\u9700\u8981\u6df1\u5ea6\u7406\u89e3\u54c1\u724c\u8c03\u6027\u3001\u76ee\u6807\u53d7\u4f17\u5fc3\u7406\u7684\u9ad8\u9636\u9002\u914d\uff0cAI\u6050\u6015\u53ea\u80fd\u63d0\u4f9b\u201c\u53ca\u683c\u201d\u800c\u975e\u201c\u60ca\u8273\u201d\u7684\u521d\u7a3f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u89d2\u5ea6\u770b\uff0c\u5207\u5165\u201c\u521b\u610f\u751f\u4ea7\u540e\u534a\u7a0b\u201d\uff08\u4ece\u5b9a\u7a3f\u5230\u591a\u683c\u5f0f\u5206\u53d1\uff09\u662f\u806a\u660e\u7684\u7b56\u7565\uff0c\u7ade\u4e89\u58c1\u5792\u4e0d\u5728\u4e8e\u6280\u672f\uff0c\u800c\u5728\u4e8e\u4e0e\u5e73\u53f0\uff08Meta\u3001Google\u7b49\uff09\u7684\u6df1\u5ea6\u5bf9\u63a5\u80fd\u529b\u548c\u5bf9\u201c\u53ef\u4ea4\u4ed8\u6027\u201d\u7684\u627f\u8bfa\u3002\u4f46\u82e5\u5c40\u9650\u4e8e\u6b64\uff0c\u4ea7\u54c1\u6700\u7ec8\u4f1a\u6ca6\u4e3a\u201c\u9ad8\u7ea7\u7248Canva\u6a21\u677f\u201d\u3002\u771f\u6b63\u7684\u8fdb\u5316\u65b9\u5411\uff0c\u5e94\u662f\u4ece\u201c\u9002\u914d\u5de5\u5177\u201d\u8f6c\u5411\u201c\u521b\u610f\u7b56\u7565\u5f15\u64ce\u201d\u2014\u2014\u4e0d\u4ec5\u77e5\u9053\u5b89\u5168\u533a\u5728\u54ea\uff0c\u66f4\u80fd\u9488\u5bf9\u4e0d\u540c\u5e73\u53f0\u7684\u7528\u6237\u6ce8\u610f\u529b\u6a21\u578b\uff0c\u4e3b\u52a8\u5efa\u8bae\u4f18\u5316\u521b\u610f\u5143\u7d20\uff08\u5982\u89c6\u89c9\u91cd\u5fc3\u3001\u6587\u6848\u7bc7\u5e45\uff09\u3002\u76ee\u524d\uff0cPixFit\u66f4\u50cf\u662f\u4e00\u4e2a\u9ad8\u6548\u7684\u201c\u4f53\u529b\u52b3\u52a8\u66ff\u4ee3\u8005\u201d\uff0c\u800c\u4e0d\u662f\u201c\u521b\u610f\u601d\u7ef4\u52a9\u624b\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\">PixFit<\/span>\n                <\/div>\n<div class=\"comment-content\">Senior Designers shouldn&#8217;t be manually-resizing assets ready to run or being aware of TikTok safe zones. PixFit turns 1 key visual into every ad format \u2014 brand-perfect, platform-specific, ready to ship.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Marco, currently leading GTM at Winclap &#8211; a performance advertising company that&#8217;s been running content production at scale for years.<\/p>\n<p>PixFit started as our internal tool. We were spending serious senior designer hours on one repetitive task every single campaign: adapting a master creative to every media ad format. Safe zones, platform margins, CTA repositioning, background expansion &#8211; all manual, all blocking campaigns from going live.<\/p>\n<p>So we automated it, then decided to make it available to everyone.<\/p>\n<p>How it works:<br \/>\nUpload your master creative. PixFit generates every format: brand-aware, safe-zone correct, with optimal branding and CTA placement per platform. The first output is delivered directly. No approval queue. Ready to ship.<\/p>\n<p>The part I&#8217;m most proud of: the human fallback.<br \/>\nWe could&#8217;ve shipped pure AI and called it done. We didn&#8217;t.<\/p>\n<p>If an output doesn&#8217;t meet your standard after 3 AI attempts, you can request a Winclap designer that delivers manually within 24\u201348h. You always get an output you can ship. It&#8217;s not &#8220;AI with mandatory human QA&#8221; \u2014 it&#8217;s AI-first, with a safety net that only activates when you decide you need it.<\/p>\n<p>We&#8217;re going public for the first time today. Until now, this has only existed as an internal Winclap tool.<\/p>\n<p>What I&#8217;d genuinely love to know:<br \/>\nWhat&#8217;s your biggest headache in creative production right now? Are we solving the right pain or is there something we&#8217;re missing?<\/p>\n<p>I&#8217;ll be here all day answering every comment.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>21<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mbertone911\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mbertone911<\/a>&nbsp;Congrats on the launch! \ud83c\udf89<\/p>\n<p>Turning 1 creative into every ad <\/p>\n<p>format instantly is a game changer <\/p>\n<p>for marketing teams!<\/p>\n<p>Quick question &#8211; when marketers <\/p>\n<p>search &#8220;AI ad resizing tool&#8221; on <\/p>\n<p>ChatGPT, is PixFit showing up?<\/p>\n<p>I help marketing tools get discovered <\/p>\n<p>on ChatGPT &amp; Google through Reddit <\/p>\n<p>marketing. Communities like r\/marketing <\/p>\n<p>and r\/digital_marketing would love <\/p>\n<p>PixFit.<\/p>\n<p>Would love to connect!<\/p>\n<p>&#8211; Priyesh Kharwar<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@mbertone911 Resizing is easy. Preserving the reason a creative performs while adapting it across completely different placements is the part that usually breaks.<\/p>\n<p>If the output consistently keeps that intent intact, this solves a much bigger problem than automation.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mbertone911\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mbertone911<\/a>&nbsp;As someone who&#8217;s spent way too many Fridays resizing the same campaign into a hundred sizes, this hits home. The manual version of this is soul-crushing. How close to &#8220;final&#8221; are the outputs \u2014 usable as-is or more of a starting point?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I lead the creative operations side at Winclap Studio \u2014 the team that actually produces the assets.<\/p>\n<\/p>\n<p>Before PixFit existed, we had great designers, solid processes, and still spent an embarrassing amount of time on mechanical adaptation work. The kind where a talented person is manually resizing the same creative into 12 formats at 11pm. Not because they lacked tools \u2014 because none of the tools truly understood the <em>workflow<\/em> behind the creative, not just the creative itself.<\/p>\n<\/p>\n<p>That frustration is where PixFit started. We built it first for ourselves, tested it with our own production load, and broke it enough times to know what actually had to work.<\/p>\n<\/p>\n<p>What I&#8217;m most proud of: we didn&#8217;t ship a tool that promises 100% automation and quietly fails. We designed for the real number \u2014 the 70% you can automate confidently \u2014 and built a proper human review layer for the rest. That honesty in the product design is what makes it trustworthy at scale.<\/p>\n<\/p>\n<p>If your team is producing performance creatives across formats for multiple brands, you&#8217;ll feel this immediately. Happy to share how we&#8217;ve been running it internally if anyone wants to dig in \ud83d\ude4f<\/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>So the human fallback only kicks in after three AI attempts fail&#8230; how do you actually detect that an output &#8220;failed&#8221; versus just handing me something that technically fits the safe zones but looks off? Curious whether that&#8217;s a confidence score or purely me hitting a button.<\/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\/@sezerufukyavuz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sezerufukyavuz<\/a>&nbsp;<br \/>Really sharp question and this is exactly the right thing to poke at \ud83d\udc47<\/p>\n<p>Honest answer: the <em>fallback<\/em> trigger is you, not a magic score. We run automated checks on every output \u2014 safe zones, logo integrity, contrast, text legibility per placement and those are the ones to catch the hard failures (crop, overflow, unreadable CTA). But &#8220;technically fits the safe zone yet <em>looks off<\/em>&#8221; is a taste call, and we&#8217;re not going to pretend an algorithm nails taste today.<\/p>\n<p>So after 3 AI generations, &#8220;Request Designer Help&#8221; unlocks and a human takes over \u2014 <em>you<\/em> decide it&#8217;s off, we don&#8217;t gaslight you into accepting it. The 3-attempt gate is deliberate: it keeps the system honest (95% should be AI-solvable) while never leaving you stuck with something that&#8217;s <em>almost<\/em> right.<\/p>\n<p>Longer term, yes &#8211; we want a confidence signal that proactively flags the &#8220;meh&#8221; ones before you even ask. That&#8217;s the interesting unsolved part. What would make you trust a score like that, showing you &#8220;why&#8221; it&#8217;s low-confidence?<\/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 can be pretty helpful and time-saving. When I want to change something, it can take a pretty amount of time to customise it. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;<\/p>\n<p>Thanks Nika, that means a lot \ud83d\ude4c\ud83c\udffc<\/p>\n<p>And you&#8217;re touching a real one, customization time is the thing we&#8217;re pushing hardest on. The whole point is that adapting or tweaking an asset should take seconds, not an afternoon. If there&#8217;s a specific step that felt slow for you, I&#8217;d genuinely love to hear which one, that kind of feedback is what shapes the next iteration.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Hi Marco! Having a tool to turn 1 idea into multiple ad formats is life saving. I have one question. Do multiple formats have any negative impact in pixel quality? Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@konstant_gk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@konstant_gk<\/a>&nbsp;Absolutely none!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>La verdad que la herramienta me facilit\u00f3 un mont\u00f3n parte de la operatividad de mi trabajo diario. Me pareci\u00f3 muy amigable y f\u00e1cil de usar! Me sirvi\u00f3 m\u00e1s de lo que esperaba! S\u00faper recomendado! <\/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\/@nadia_frontalini\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nadia_frontalini<\/a>&nbsp;\u00a1Gracias Nadia, tu comentario nos alegra much\u00edsimo! \ud83d\ude4c Eso es exactamente lo que buscamos, que lo operativo deje de ser una carga y puedas enfocarte en lo que realmente importa. \u00a1Seguimos trabajando para que PixFit te sorprenda a\u00fan m\u00e1s!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 waiting for something like this. The worst part of running paid is the creative bottleneck &#8211; one good asset and then hours reformatting it into 20 placements before you can actually launch. Curious how PixFit handles the weird ones (Stories vs. feed vs. display banners). Congrats on the launch \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ayda_golahmadi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ayda_golahmadi<\/a>&nbsp;<br \/>Thanks so much! \ud83d\ude4f You nailed exactly the pain we built this for &#8211; the asset is never the bottleneck, the reformatting is. PixFit takes one master creative and generates every ratio and placement ad-ready, including the awkward ones like Stories and display banners (those were the hardest to get right, honestly). The idea is 95% done by AI, and if an output needs a human touch you can request a designer as a fallback. What&#8217;s the placement mix that eats the most of your time right now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>We built PixFit around a problem that sounds simple, but quietly consumes a huge amount of creative-production time:<\/p>\n<p>You have one approved campaign asset. Now you need to rebuild it for every ratio, placement and platform \u2014 Meta, Google, TikTok \u2014 while preserving the hierarchy, branding, safe zones, logos, CTAs and legal copy.<\/p>\n<p>But the part we cared about most was making it useful in real production, not just impressive in a demo.<\/p>\n<p>AI handles the first pass and automatically retries or fixes most problematic outputs. When it still cannot produce something that meets the required standard, a senior creative steps in and finishes it.<\/p>\n<p><strong>95% resolved with AI.<br \/>5% refined by humans.<br \/>0% shipped unfinished.<\/strong><\/p>\n<\/p>\n<p>You can try it with your own creative \u2014 the free trial includes five resizes and requires no credit card.<\/p>\n<p>Give it something difficult. See where it works, where it struggles and tell us what you would change. That feedback is exactly what we want from this launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice idea, especially the human fallback. How much flexibility is there to tweak the AI generated creatives before exporting them? Also, i sthe human fallback included in the pricing or charged separately?  Congratulations!<\/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\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Thanks Henry, and great questions \ud83d\ude4f<\/p>\n<p>On flexibility: outputs aren&#8217;t a black box &#8211; before exporting you can adjust the crop, reframing, safe zones and copy placement per format, so you stay in control of the final creative rather than taking whatever the AI decides.<\/p>\n<p>On the human fallback: it&#8217;s built into the flow, not a surprise add-on, it unlocks as part of your plan once the AI has taken its passes, so you&#8217;re not paying \u00e0 la carte every time you want a human to polish something.<\/p>\n<p>Curious: in your workflow, would you rather tweak outputs yourself or hand the edge cases straight to a designer?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the human fallback after 3 attempts is the right call honestly, most of these tools pretend the AI output is always good enough and quietly ship the bad crops. curious what the actual failure rate looks like once you have real usage data, not just your own campaigns<\/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\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;<br \/>Omri, this is the most honest question we&#8217;ve gotten all day and I&#8217;m not going to dodge it \ud83d\ude04<\/p>\n<p>You&#8217;re right that the tempting move is to quietly ship the bad crops, that&#8217;s exactly why we put a hard gate at 3 attempts instead of pretending every output is gold.<\/p>\n<p>Real talk on the failure rate: we&#8217;re literally at launch, so the intellectually honest answer is we have solid numbers from our own volume but not yet at scale across other people&#8217;s campaigns. Rather than hand-wave a number, I&#8217;d rather earn it with real usage data.<\/p>\n<p>If you&#8217;re up for it, I&#8217;d love to get you in early and actually share what the failure rate looks like on <em>your<\/em> creatives &#8211; that&#8217;s the data that would make me trust a tool too. Deal?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Amazing! Tired of waiting days for my agency to resize my assets<\/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\/@bernardo_tinti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bernardo_tinti<\/a>&nbsp;That wait is completely avoidable \u2014 and honestly, it shouldn&#8217;t be a bottleneck in the first place! With PixFit you upload one master creative and get every format ready to ship in minutes, not days. Would love to hear how it compares to your current agency turnaround once you try it! \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>resizing ad creatives across formats is genuinely one of those tasks that eats hours and adds zero creative value. the platform safe zones detail is what makes this useful, anyone can crop an image but knowing where tiktok puts its UI overlays vs where meta does is the actual knowledge being automated. how does it handle text-heavy creatives where a straight resize would break the layout? does it reflow elements or just scale everything proportionally?<\/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\/@shubham4real\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham4real<\/a>&nbsp;<br \/>Really good question, and you nailed exactly <strong>why<\/strong> we built the tool.<\/p>\n<p>You&#8217;re right that the platform knowledge is the actual value. Anyone can crop; knowing where TikTok drops its UI overlays vs where Meta does is the hard part. That&#8217;s also <em>why<\/em> it works: <strong>Meta, Google and TikTok are partners of Winclap<\/strong>, so the safe zones and overlay logic aren&#8217;t guesswork, they come straight from working closely with the platforms. That&#8217;s the part we trust most.<\/p>\n<p>On text-heavy creatives: this is the key difference. We don&#8217;t do a straight proportional scale. <strong>The flow actually understands the creative and recomposes it<\/strong>: it reads the individual elements and re-lays them out for the new format instead of stretching whatever was already there. Text gets the same treatment &#8211; it&#8217;s understood as text, kept in the <strong>same typography<\/strong>, and reflowed to fit the new dimensions rather than squished or scaled into something that breaks the layout.<\/p>\n<p>So the short answer: it reflows and adapts, it doesn&#8217;t just scale everything proportionally. That&#8217;s the whole point &#8211; keeping every version looking intentionally designed for its format, not warped.<\/p>\n<p>Thanks for digging into the details! This is exactly the kind of questions and comments we love getting. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting product!!! Curious&#8230;..what&#8217;s the biggest challenge in keeping creatives brand-consistent across so many different ad formats?<\/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\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;<\/p>\n<p>Thanks Laiba, great question \ud83d\udc40<\/p>\n<p>Honestly the hardest part isn&#8217;t resizing, it&#8217;s keeping the branding intact when a master asset gets stretched into 8+ ratios. Logos get cropped, safe zones break, text gets swallowed by platform UI (think TikTok buttons eating your CTA).<\/p>\n<p>That&#8217;s exactly what we obsessed over: PixFit doesn&#8217;t just rescale, it unaderstands and re-composes for each format so the brand reads clean on every placement, ad-ready.<\/p>\n<p>Curious, how are you handling that today, manually in canva or maybe a freelance designer?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried the tool, works clean! <\/p>\n<p>What about videos? that would be great \ud83d\ude09<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@timurr_l\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@timurr_l<\/a>&nbsp;Love that, thanks for actually trying PixFit it Timur!<\/p>\n<p>Great question on video resizing, we launched as fast as we could and left that feature on the backlog because it was not polished yet, we wanted images to feel bulletproof first. <\/p>\n<p>But video adaptation is 100% where this is heading, it&#8217;s the most requested thing already.<\/p>\n<p>Want me to ping you when it drops? Your \ud83d\ude09 is now officially motivation \ud83d\ude04<\/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\">Congrats! The human fallback is a really interesting touch. What percentage of creatives typically need to be escalated to a designer today?<\/div>\n<div class=\"comment-actions\">\n<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;Great question! In practice, only around -5% of creatives end up needing a human designer, the AI handles the vast majority on its own. And when an escalation does happen, we turn it around within 24 hours, so it never becomes a real blocker. The goal is that you get the speed of automation with the safety net of a professional eye when it truly matters.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle brand fonts and custom typography when generating all those platform variants?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alparslanvfgl\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alparslanvfgl<\/a>&nbsp;Great question! Under the hood, PixFit has a layer that vectorizes the typography from your master creative \u2014 so the font is preserved pixel-perfect across every platform variant. At most, text might reflow or reorder to fit a different aspect ratio, but the typeface itself is never substituted or lost. No more &#8216;fallback font&#8217; surprises!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 tool is amazing. Does it only support TikTok today?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chilarai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chila<\/a>It supports Meta, Tik Tok and Google and we&#8217;ll keep enabling more formats!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a tool that gets ad resizing right. Batch processing 30+ formats in one click is insane \u2013 saves our design team days of work. Brand consistency across platforms is solid. The human fallback option is a nice safety net, though we haven&#8217;t needed it much. Some complex layouts still need manual tweaks, but for 80% of our work, it&#8217;s been a game changer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rick_borduur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rick_borduur<\/a>&nbsp;Thank you for your support Rick!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 auto-safe-zone logic looks incredibly thoughtful, especially the way it preserves focal points across formats rather than just cropping blindly. That kind of attention is exactly what senior designers actually need.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@metehanzgg5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@metehanzgg5<\/a>&nbsp;Absolutely!!!<\/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<\/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\/F2JPCQ5746WUFS\" class=\"app-title\">Macro<\/a><\/p>\n<div class=\"one-liner\">Unifies your work into one app with shared memory<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">174<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Macro\u662f\u4e00\u6b3e\u96c6\u90ae\u4ef6\u3001\u6d88\u606f\u3001\u6587\u6863\u3001\u4efb\u52a1\u3001\u4ee3\u7801\u3001AI\u4ee3\u7406\u3001\u901a\u8bdd\u548cCRM\u4e8e\u4e00\u4f53\u7684\u4e00\u7ad9\u5f0f\u5de5\u4f5c\u53f0\uff0c\u901a\u8fc7\u56e2\u961f\u7ea7\u5171\u4eab\u8bb0\u5fc6\u89e3\u51b3\u591a\u5de5\u5177\u5207\u6362\u5bfc\u81f4\u7684\u4fe1\u606f\u788e\u7247\u5316\u548c\u4e0a\u4e0b\u6587\u4e22\u5931\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/adbe0db6-0b29-446c-9023-e675ebca85a5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f3948bc-726e-4223-89da-96d7c211fea8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/531d4c14-78a2-40ca-a82a-ff952668dad4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/54a96d0a-5a7d-42eb-8224-cc64091cf8a4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fb34ba30-bfee-465d-a6f7-a5396b391f46.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\/a2696650-b156-46a3-bdc4-bead364daa84.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/xUUhu7SHFtk\"><source src=\"https:\/\/youtu.be\/xUUhu7SHFtk\" 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\">\u4e00\u4f53\u5316\u5de5\u4f5c\u53f0<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u6574\u5408<\/span><br \/>\n            <span class=\"tag\">\u534f\u4f5c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\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\u9ad8\u5ea6\u80af\u5b9a\u5176\u89e3\u51b3\u591a\u5de5\u5177\u5207\u6362\u75db\u70b9\u7684\u601d\u8def\uff0c\u4f46\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\u201c\u56e2\u961f\u7ea7\u8bb0\u5fc6\u201d\u7684\u5b9e\u9645\u8fd0\u4f5c\u4e0a\uff1a\u5982\u4f55\u8de8\u5de5\u5177\u7d22\u5f15\u3001\u5982\u4f55\u9075\u5faa\u8bbf\u95ee\u6743\u9650\u3001\u79bb\u804c\u4eba\u5458\u4fe1\u606f\u5904\u7406\u3001\u662f\u5426\u652f\u6301\u624b\u52a8\u6392\u9664\u67d0\u4e9b\u5185\u5bb9\u3002\u540c\u65f6\uff0c\u7528\u6237\u4e5f\u5173\u5fc3\u662f\u5426\u771f\u7684\u80fd\u66ff\u4ee3Notion\/Slack\u7b49\u73b0\u6709\u5de5\u5177\uff0c\u4ee5\u53ca\u684c\u9762\u7aef\u5e94\u7528\u7684\u4f18\u5148\u7ea7\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                Macro\u7684\u91ce\u5fc3\u5728\u4e8e\u6210\u4e3a\u56e2\u961f\u7684\u201c\u5927\u7edf\u4e00\u7406\u8bba\u201d\uff0c\u4f46\u201c\u8d85\u7ea7\u5e94\u7528\u201d\u7684\u575f\u573a\u91cc\u4ece\u4e0d\u7f3a\u5c11\u91ce\u5fc3\u5bb6\uff0cSlack\u548cTeams\u7684\u524d\u8f66\u4e4b\u9274\u8868\u660e\uff0c\u529f\u80fd\u5806\u780c\u4e0d\u7b49\u4e8e\u4ef7\u503c\u6574\u5408\u3002Macro\u771f\u6b63\u7684\u6740\u624b\u950f\u4e0d\u662f\u5b83\u6709\u591a\u5c11\u529f\u80fd\uff0c\u800c\u662f\u90a3\u4e2a\u201c\u5171\u540c\u8bbe\u8ba1\u7684\u5171\u4eab\u8bb0\u5fc6\u201d\u548c\u201c\u6743\u9650\u7ee7\u627f\u7684AI\u4ee3\u7406\u201d\u3002\u8fd9\u6bd4\u7b80\u5355\u7684API\u5bf9\u63a5\u9ad8\u660e\u4e86\u4e00\u4e2a\u7ef4\u5ea6\u2014\u2014\u5f53\u6240\u6709\u6570\u636e\u672c\u8eab\u5c31\u5728\u4e00\u4e2a\u6570\u636e\u5e93\u91cc\uff0cAI\u7684\u68c0\u7d22\u548c\u63a8\u7406\u6548\u7387\u5c06\u8fdc\u8d85MCP\u62fc\u51d1\u65b9\u6848\u3002\u7136\u800c\uff0c\u6311\u6218\u4e5f\u5728\u4e8e\u6b64\uff1a\u56e2\u961f\u7ea7\u8bb0\u5fc6\u5728\u9690\u79c1\u548c\u6743\u9650\u95f4\u7684\u5e73\u8861\u662f\u60ac\u9876\u4e4b\u5251\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u53cd\u590d\u8ffd\u95ee\u7684\u201c\u5982\u4f55\u8e22\u4eba\u3001\u5982\u4f55\u6392\u9664\u5185\u5bb9\u3001\u5982\u4f55\u786e\u4fdd\u6a21\u578b\u4e0d\u6cc4\u9732\u4e0d\u8be5\u8bf4\u7684\u201d\uff0c\u76f4\u6307\u4ea7\u54c1\u6700\u8106\u5f31\u7684\u4fe1\u4efb\u8fb9\u754c\u3002\u521b\u59cb\u4eba\u5bf9\u6b64\u7684\u56de\u5e94\uff08\u6743\u9650\u7ee7\u627f\u4ee3\u7406\uff09\u7406\u8bba\u4e0a\u6b63\u786e\uff0c\u4f46\u5728\u5b9e\u9645\u591a\u5c42\u7ea7\u3001\u52a8\u6001\u53d8\u5316\u7684\u56e2\u961f\u6743\u9650\u4e2d\uff0c\u8fd9\u51e0\u4e4e\u662f\u5730\u72f1\u7ea7\u96be\u9898\u3002\u6b64\u5916\uff0c\u9760\u4e00\u4e2a\u4ea7\u54c1\u53d6\u4ee3\u8d85\u7ea7\u90ae\u4ef6\u3001\u7ebf\u6027\u4efb\u52a1\u3001Notion\u6587\u6863\u7684\u6210\u672c\u4e0d\u53ea\u662f40\u7f8e\u5143\uff0c\u66f4\u662f\u7528\u6237\u4e60\u60ef\u7684\u8fc1\u79fb\u6210\u672c\u3002\u5f00\u6e90\u662f\u806a\u660e\u7684\u4fe1\u4efb\u80cc\u4e66\u548c\u793e\u533a\u9632\u5fa1\uff0c\u4f46\u80fd\u5426\u4ece\u201c\u5c1d\u9c9c\u8005\u201d\u7684\u8d5e\u7f8e\u8d70\u5230\u201c\u9e35\u9e1f\u578b\u201d\u4f01\u4e1a\u7684\u65e5\u5e38\uff0c\u53d6\u51b3\u4e8e\u8fd9\u4e2a\u201c\u5927\u8111\u201d\u662f\u5426\u771f\u7684\u6bd4\u4eba\u7c7b\u66f4\u64c5\u957f\u5fd8\u8bb0\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\">Macro<\/span>\n                <\/div>\n<div class=\"comment-content\">Macro is the all-in-one workspace that combines email, messages, docs, tasks, code, agents, calls, and CRM. With team-level memory, you can query your entire workspace and never lose context.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt!<\/p>\n<\/p>\n<p>I&#8217;m Jacob, the founder and CEO of Macro (<a href=\"https:\/\/macro.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">macro.com<\/a>) &#8211; an open source, all-in-one workspace.<\/p>\n<\/p>\n<p>In our last startup, we ran on Slack + Linear + Notion + Superhuman + 17 other tools. All of these are fine individually but as we scaled it became chaotic to manage, and information was everywhere.<\/p>\n<\/p>\n<p>We built Macro to replace siloed apps and put them all into a unified workspace with shared AI memory.<\/p>\n<\/p>\n<p>Already Macro has:<\/p>\n<ul>\n<li>\n<p><strong>Email<\/strong> inspired by Superhuman, with better AI for triaging (&#8220;Signal vs. Noise&#8221;)<\/p>\n<\/li>\n<li>\n<p>Notion-like <strong>documents<\/strong> with fast CRDT&#8217;s instead of last-write-wins, @linked to everything<\/p>\n<\/li>\n<li>\n<p><strong>Messaging<\/strong>, like Slack, but more focused for deep work<\/p>\n<\/li>\n<li>\n<p>Linear-like <strong>tasks<\/strong> but deeply integrated with channels, auto-created and auto-assigned<\/p>\n<\/li>\n<li>\n<p><strong>Video calls <\/strong>with Google Meet performance that are transcribed and added to your team<\/p>\n<\/li>\n<li>\n<p>A <strong>unified brain<\/strong> for all of this, in one place, and much more<\/p>\n<\/li>\n<\/ul>\n<p>We&#8217;ve also chosen to be open source in order to keep customizability at the core of our company. You can check out the repo here <a href=\"https:\/\/github.com\/macro-inc\/macro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/macro-inc\/macro<\/a> and see what we&#8217;re building in the Pull Requests tab.<\/p>\n<\/p>\n<p>Macro is an ambitious project. But that&#8217;s also what makes it so useful and fun to work on.<\/p>\n<\/p>\n<p>Give it a try: <a href=\"https:\/\/macro.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/macro.com\/<\/a><\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>25<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@linked\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@linked<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@jacob_beckerman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jacob_beckerman<\/a>&nbsp;Love the ambition behind this. Instead of adding another tool to the stack, you&#8217;re trying to simplify the entire workflow. That&#8217;s a problem worth solving. \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\/@linked\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@linked<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@jacob_beckerman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jacob_beckerman<\/a>&nbsp;Congrats on the launch! What stood out to me is that Macro Workspace seems designed around how people actually work\u2014not just adding more AI features.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@linked\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@linked<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@jacob_beckerman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jacob_beckerman<\/a>&nbsp;Replacing four or five separate subscription tools with one unified application is a massive win for both team alignment and operational budget<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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 products that immediately makes sense. Bringing docs, tasks, communication, and AI into a single workspace could eliminate so much context switching. The shared AI memory is an especially interesting idea. Looking forward to trying it out\u2014congrats on the launch and best of luck! \ud83d\ude80<\/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\/@1mirul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@1mirul<\/a>&nbsp;Thanks! Yes, we think it is a pretty obvious pitch. When we set out to build it I knew I wanted it, but wasn&#8217;t sure how good it would all <em>feel<\/em>. Now two years later with much of it polished, I can say it feels really really good. Our company is decluttered, everyone is aligned and we&#8217;re shipping fast. It&#8217;s not rocket science but it is super tedious design work. I take pleasure in doing it better than anyone else would have done it, if anyone else would have tried. The existing stuff is good, it&#8217;s just not <em>great<\/em> and it&#8217;s not well-integrated for teams and agents, and it&#8217;s closed-source. Thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been waiting for a workspace where AI actually understands everything happening across emails, docs, and tasks. This looks like a promising step in that direction. Best of luck with the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@monir_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monir_<\/a>&nbsp;You can also accomplish this by MCP&#8217;ing Claude\/Chat into all your tools. But:<\/p>\n<ul>\n<li>\n<p>MCP is often a limited subset of the app itself, or rate limited. Your agent received a partial representation of what you get as a human user. It often makes mistakes that aren&#8217;t forgivable. Incentives are misaligned because each develop wants to keep you in their ecosystem, just just become something that lives under the LLM. <\/p>\n<\/li>\n<li>\n<p>You&#8217;re still paying for all of those tools. The cost adds up to much more than Macro&#8217;s free version or $40\/month plan. if you sum Superhuman, Notion, Linear, Slack, HubSpot, etc., etc., you get to a significant sum. And to save money, often you&#8217;ll not give e.g. HubSpot seats to everyone who needs them which leads to further fragmentation of who-can-see-what in your company. Macro unifies all of this into one business system.<\/p>\n<\/li>\n<li>\n<p>You still have to login, 2FA and have sign ins to a bunch of different tools. This is mostly a problem on mobile where you have links going across apps. It&#8217;s easier, but still annoying, to context switch between different tabs on desktop. It&#8217;s even harder on mobile.<\/p>\n<\/li>\n<li>\n<p>Fundamentally, each tool was designed as a silo, only with limited integrations. For example there is no button in Superhuman to take a customer email and report it as a Linear ticket: that&#8217;s a manual process you have to do of pasting an image in Slack and having an engineer (or you) create a ticket, which doesn&#8217;t always happen. In Macro, because <em>each product surface was co-designed<\/em> you don&#8217;t have to do this, just hit &#8220;task&#8221; from email to bidirectionally link a new task to that customer email.<\/p>\n<\/li>\n<li>\n<p>There is no unified memory layer, in part because nobody is &#8220;in charge&#8221; of constructing this. Nobody has all the pieces. You buy a little slice of your stack from each vendor. Macro provides unified and team-level memory across all your tools, because it <em>is<\/em> all your tools, co-located in one ta and co-designed to work together.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the team-level memory actually work across all those different tools, especially for things like email threads from a few months back that I barely remember starting?<\/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\/@zehra6lwq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zehra6lwq<\/a>&nbsp;<em>Recall<\/em> (in the sense of <em>precision<\/em> and <em>recall<\/em>) is a problem for all AI systems, and humans too ;). One of the biggest benefits of having all your workspace  in one database (Macro) not spread across a bunch of apps is the <em>unified<\/em> memory aiding in recall. Macro&#8217;s Unified Search tool available to the agent allows it to search through all content types, rather than having to execute multiple MCP calls, dedup resonses, order chronologically, then make more calls to further investigate. Of course, our approach saves cost (tokens) and time (tokens, again) but it also improves performance on these types of queries.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Huge shoutout for going open source with this \ud83d\udc4f <a href=\"https:\/\/www.producthunt.com\/@jacob_beckerman\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jacob_beckerman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jacob_beckerman<\/a> qq Is there a native desktop app with global shortcuts for quick capture, or is everything running out of the browser for now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vikramp7470\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vikramp7470<\/a>&nbsp;Thanks Vikram &#8211; we believe the successor to legacy SaaS will be an open, modular, extensible workspace. I also believe most startups die from apathy: the most important thing you have to do as a founder is make a dent in the universe. If we succeed in improving things for users, I&#8217;m confident this is a great business as well. And over time as Macro matures, it will be silly to use proprietary closed-source SaaS when there&#8217;s a unified and open alternative.<\/p>\n<\/p>\n<p>Right now there&#8217;s a mobile app that&#8217;s native with Tauri, which we will also use to make the Mac and Windows apps eventually. For now it&#8217;s browser-only on desktop &#8211; would this be a top priority for you? Personally I prefer email in a desktop app, so I see the use caee, but since Arc browser I&#8217;m mostly using we versions of apps, except sometimes Figma for local fonts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 shared memory part is the bit I\u2019m most curious about. Feels like a lot of tools are getting better at storing more context, but more context is not always the same as useful context. How does Macro decide what is actually worth remembering? Is it mostly things I tell it to save, or does it start picking up patterns from how I work over time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tobiasfleischer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tobiasfleischer<\/a>&nbsp;What is worth remembering? That&#8217;s a good research topic! Probably, whatever is salient, especially in light of future requests you expect the user to make. For us, right now, it depends highly on what you connect and who you&#8217;re working with. My memory system is mostly filled with biographical details, history of the company (Macro), and what things I prefer and don&#8217;t in AI responses, who I work with and what they&#8217;re the technical owners for, and some quite personal information about my partner and pets (picked up from my connected personal email) and family.<\/p>\n<\/p>\n<p>(if you want to know what Macro knows about you so far, you can ask for it&#8217;s memory dumb &#8211; after using it for a few months mine is super impressive)<\/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 super-app graveyard is real. slack tried to be your inbox, docs, calls, CRM. teams too. both ended up as chat with a lot of tabs nobody clicks. the thing that would actually make one of these work is the connective tissue between the parts. team memory is that, if it knows who said what where.<\/p>\n<\/p>\n<p>genuine question: is the memory a permission-scoped graph or a flat corpus? that&#8217;s where team products either become invaluable or become HR nightmares.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Thanks for your comments Mustafa &#8211; see my reply to Dipankar!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Shared memory is the hook here, but the trust boundary feels just as important. Can teams choose which channels, docs, or calls get added to agent memory, or is everything in the workspace queryable 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\/@novamaker01\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@novamaker01<\/a>&nbsp;Great question. We have what we call Channel based permissions permissions (see <a href=\"https:\/\/docs.macro.com\/product\/channels\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.macro.com\/product\/channels<\/a>) which means whenever you something in a channel is is auto-shared with participants. Compare that to, say, Notion + Slack or GDocs + Slack, where you need to also remember to manually share your link with everyone in the channel. Then, the memory system is built from your permissions because all Macro agents inherit your permissions; so memory includes all channels you&#8217;re a part of, all email accounts connected, external services via MCP, and the text content of all channels, including Macro Calls aka standups\/huddles spawned from those channels!<\/p>\n<\/p>\n<p>As I&#8217;m writing this, I&#8217;m realizing how important permissions is for building team-level memory. TBH we don&#8217;t think about this much internally as we use Macro because it &#8220;just works&#8221;. But yes, it would be a lot harder otherwise because you have no centralized permissions controller.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 unified surface demos well, but the hard part is team memory respecting permissions at retrieval time. If I query &#8216;the workspace&#8217; and the answer lives in a doc or DM I&#8217;m not on, does retrieval enforce ACLs per chunk, or is the index shared and you filter after? We built agent memory over mixed-permission sources and the lesson was that access control has to live inside retrieval, not the prompt, or the model will happily quote something the user was never allowed to see. Being open source makes that auditable, which is a real plus.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Yea, there&#8217;s no right answer and it&#8217;s a hard problem. From a design perspective there&#8217;s a couple options (i) let some LLM decide (ii) manually grant permissions at runtime (iii) the agent inherits permissions of some human. Four our case, at least for now, we&#8217;ve chosen ~3:the access control inherits from the user that launched the agent or that referenced them in the channel. This works pretty well and hasn&#8217;t let to any embarrassments yet, since your agent is restricted to accessg things you have access to, it generally matches users&#8217; expectations and fails understandably.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally an app that actually unifies my inbox and tasks without feeling clunky, the memory search pulled up a thread from last month 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=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is very interesting, and I like the unified experience. But does that mean I have to move out of Notion and rebuild everything?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does team-level memory actually work when people leave or join a workspace, does it retain or wipe their context<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried Macro this morning and the team memory feature actually works like advertised. Asked it to pull up last week&#8217;s client thread and got the email, doc, and follow up tasks in one view.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 team-level memory actually work across different tools like email and code, and is it really seamless or do you have to manually tag what gets stored?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 team-level memory actually work across different apps \u2014 does it just index everything or is there a way to exclude certain conversations or docs from being searchable by the rest of the team?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the team-level memory idea is genuinely clever &#8211; being able to query your whole workspace instead of digging through tabs sounds like a real quality of life upgrade<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried Macro after hearing about it for weeks and the team memory feature is the real deal. Pulled up everything I needed across docs and messages without jumping tabs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Team-level memory that lets you query your whole workspace is the compelling part &#8211; most unified-workspace tools stop at search. Does the memory span everything (docs, calls, CRM) from day one, or is there a lookback window before it kicks in?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Open source is a smart trust move for a workspace that wants to hold email, docs, tasks, calls, and CRM in one place! The adoption challenge is that most teams will not move their whole stack at once. Are early users starting with Macro as an email client first, or are they bringing docs and tasks in 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The constant hopping between apps is one of those small daily drains you stop noticing, so seeing it all pulled into one calm place is a relief.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that pulls my chaotic slack, gmail, and notion stuff into one place without me copy-pasting between tabs. the team memory search is genuinely useful for digging up old context<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 the team-level memory actually work across different tools like email and code\u2014does it pull context live or do you need to keep everything inside Macro for it to be 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ozkur99489\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ozkur99489<\/a>&nbsp;Email, it connects to your Google Workspace \/ Gmail accounts. We&#8217;ve had requests for IMAP and Outlook which is on our roadmap. For your other tools, you canconnect them here. Just hit MCP&#8217;s in the bottom left to add integrations. From there, the agent will be able to access or <em>import<\/em> your content. Just say &#8220;import my docs from &#8230;&#8221; etc.<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0b3f26c6-7ee1-4500-b658-aa09c1451033.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>replacing 17 tools with one app is the pitch every all-in-one workspace makes, and it usually means each individual piece ends up 80% as good as the dedicated tool it replaced. what&#8217;s actually best in class here vs just &#8220;good enough to not need Slack anymore&#8221; &#8211; email triage, docs, or something else<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;I agree that historically you&#8217;ve had to choose between Let&#8217;s run trough some comps of who&#8217;s tried and why I think it went wrong. It&#8217;s important to note that all of these attempts were pre-coding agents, so a reasonable answer to &#8220;why now&#8221; is &#8220;this problem [rebuilding the workspace] literally just became tractable&#8221;. Of course, we started building Macro before coding agents, but they&#8217;ve allowed us to make progress on our roadmap much faster and expand our ambitious to more blocks. <\/p>\n<ul>\n<li>\n<p><strong>Notion <\/strong>chose the wrong level of abstraction. Markdown docs and databases are super flexible but they&#8217;re not as as good as purpose-built products. We ran our last company on it but had to migrate CRM and Tasks off of it as we scaled, leaving Notion hollowed out. Also, Notion really isn&#8217;t an all-in-one, it&#8217;s docs\/notes\/wikis and now agents. They just unshipped Notion Mail. They don&#8217;t have calls, channels or mail. Their calendar is a different app that they acquired. So I think it&#8217;s fair to say they&#8217;re backing off the &#8220;all-in-one&#8221; pitch to focus on agents.<\/p>\n<\/li>\n<li>\n<p><strong>ClickUp<\/strong> figured out that most F500 teams can&#8217;t discern slop from quality, and that sales matters more than product for that market. So they rapidly built an okay product with that market and layered sales and marketing. They never won with taste-makers and startups. They&#8217;re super closed source, and not even as friendly as Notion when it comes to dev extensibility. But they were the only game in town for the all-in-one pitch. But still, to my knowledge, no email client integrated? That&#8217;s an important part because it&#8217;s where customer requests come in and it&#8217;s the main comms channel for sales, customer support, etc.<\/p>\n<\/li>\n<li>\n<p><strong>Coda <\/strong>was like Notion but expanded a bit too quickly IMO whereas Notion stayed focused on docs, wikis and tasks for longer. Coda never won the mindshare that Notion got with solo users (and then lost to Obsidian a few years later, as they enshitified and moved upmarket).<\/p>\n<\/li>\n<li>\n<p><strong>Quip<\/strong> was a great mid-2010s attempt at this from Brett Taylor. I&#8217;ve asked a few people why this didn&#8217;t go as planned and I&#8217;m not so sure why. They did spreadsheets, unlike Notion, and channels and it was pretty sleek. It got adopted by some big companies. Perhaps it was mismanaged by SFDC, I&#8217;m not sure. It had a very different vibe than Macro IIRC, it wasn&#8217;t as good as the standalone tools, it was more of a light version of docs, spreadsheets, etc.<\/p>\n<\/li>\n<\/ul>\n<p>TL;DR: Macro is the only tool that doesn&#8217;t make you choose. You get (i) best-in-class blocks (notes, email, etc.) as well as full integration across the suite. Coding agents are what make building this feasible.<\/p>\n<\/p>\n<p>See <a href=\"https:\/\/macro.com\/posts\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/macro.com\/posts\/<\/a> for some more info about how we&#8217;ve designed Macro and how it compares to what came before it, and how those tools inspired\/informed us!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Inheriting the launching user&#8217;s permissions is a sane default. Where it got us was memory writes: once the agent summarizes something into shared memory, a teammate with lower access can pull that derived summary later even if they were never allowed to see the source it came from. Does a memory entry carry the ACL of its most-restricted source, or does it just inherit the channel it was created in?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/IM2X7KS5EUXQGF\" class=\"app-title\">Solaris<\/a><\/p>\n<div class=\"one-liner\">Your company\u2019s AI adoption and upskilling platform<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">151<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Solaris \u901a\u8fc7AI\u7d20\u517b\u6d4b\u8bd5\u3001\u89d2\u8272\u5316\u5b66\u4e60\u8def\u5f84\u548c\u56e2\u961f\u5de5\u4f5c\u6d41\u5b9e\u9a8c\uff0c\u5e2e\u52a9\u4f01\u4e1a\u5c06\u96f6\u6563\u7684AI\u5de5\u5177\u4f7f\u7528\u8f6c\u5316\u4e3a\u7cfb\u7edf\u5316\u7684\u56e2\u961fAI\u80fd\u529b\uff0c\u89e3\u51b3\u201c\u4e70\u4e86AI\u5de5\u5177\u4f46\u6ca1\u4eba\u4f1a\u7528\u201d\u7684\u843d\u5730\u56f0\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\/d1edf0d4-25dc-4372-b31f-7b3735151126.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0411d7bf-c96d-473a-8e35-169c45a6affc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/58549828-5161-46f9-afe5-303a2a867718.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bc419227-1fa8-4f8a-ba52-18d83a036480.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b31f86b5-cb80-4619-a5f4-ccf1e661e477.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9ce6585-2e86-4f96-aada-0b7f8fe9792d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/168cf426-61cf-4401-a12d-358492a7b16d.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\/23feca25-1d19-4105-a440-7f65f066906b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/_q8GZ7ACHW0\"><source src=\"https:\/\/youtu.be\/_q8GZ7ACHW0\" 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\">Education<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Online Learning<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4f01\u4e1aAI\u57f9\u8bad<\/span><br \/>\n            <span class=\"tag\">AI\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u5458\u5de5AI\u7d20\u517b<\/span><br \/>\n            <span class=\"tag\">AI\u8f6c\u578b\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961fAI\u80fd\u529b<\/span><br \/>\n            <span class=\"tag\">AI\u91c7\u7eb3\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">AI\u51a0\u519b<\/span><br \/>\n            <span class=\"tag\">AI\u5b9e\u9a8c<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u534f\u4f5c<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u884c\u4e3a\u6539\u53d8\uff08\u5de5\u4f5c\u538b\u529b\u4e0b\u56de\u5f52\u65e7\u4e60\u60ef\uff09\u548c\u8861\u91cf\u6307\u6807\uff0890\u5929\u540eAI\u539f\u751f\u72b6\u6001\uff09\u3002\u53cd\u9988\u8ba4\u4e3a\u6bd4\u5355\u7eaf\u57f9\u8bad\u66f4\u843d\u5730\uff0c\u4f46\u9700\u8b66\u60d5\u57f9\u8bad\u540e\u7684\u4e60\u60ef\u56de\u5f39\u3002\u5f3a\u8c03\u6d4b\u8bd5\u80fd\u66b4\u9732\u56e2\u961f\u610f\u5916\u76f2\u70b9\uff0c\u5e76\u5efa\u8bae\u533a\u5206\u4e0d\u540c\u804c\u80fd\uff08\u5982PM\u4e0e\u5de5\u7a0b\u5e08\uff09\u7684AI\u7d20\u517b\u6807\u51c6\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Solaris\u6253\u52a8\u4eba\u7684\u4e0d\u662fAI\u6280\u672f\u672c\u8eab\uff0c\u800c\u662f\u5b83\u5bf9\u201cAI\u6e83\u8d25\u201d\u80cc\u540e\u884c\u4e3a\u75db\u70b9\u7684\u7cbe\u51c6\u6355\u6349\u3002\u5f53\u65e0\u6570\u4f01\u4e1a\u4e3aChatGPT\u4e70\u5355\u540e\u5374\u53d1\u73b0\u5458\u5de5\u4f9d\u65e7\u62b1\u7740Excel\u548c\u65e7\u6d41\u7a0b\u4e0d\u653e\u65f6\uff0cSolaris\u7528\u201c\u6d4b\u8bd5\u2192\u5b9a\u5236\u5b66\u4e60\u2192\u5b9e\u9a8c\u2192\u51a0\u519b\u2192\u5ea6\u91cf\u201d\u7684\u95ed\u73af\u56de\u7b54\u4e86\u6838\u5fc3\u95ee\u9898\u2014\u2014AI\u8f6c\u578b\u7684\u6839\u672c\u662f\u6539\u53d8\u5de5\u4f5c\u4e60\u60ef\uff0c\u800c\u975e\u8d2d\u4e70\u8f6f\u4ef6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u5de7\u5999\u907f\u5f00\u4e86\u201cAI\u529f\u80fd\u5806\u780c\u201d\u7684\u9677\u9631\uff0c\u8f6c\u800c\u805a\u7126\u201c\u5982\u4f55\u7528AI\u91cd\u5851\u5de5\u4f5c\u6d41\u201d\u7684\u5b9e\u64cd\u573a\u3002\u4ece\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u201c\u884c\u4e3a\u56de\u5f39\u201d\u95ee\u9898\u53ef\u4ee5\u770b\u51fa\uff0c\u56e2\u961f\u7f3a\u4e4f\u7684\u4e0d\u662f\u5de5\u5177\uff0c\u800c\u662f\u5c06\u65b0\u884c\u4e3a\u56fa\u5316\u4e3a\u4e60\u60ef\u7684\u7cfb\u7edf\u6027\u73af\u5883\u3002Solaris\u7528\u6bcf\u5468\u5b9e\u9a8c\u63d0\u4ea4\u548c\u5185\u90e8\u51a0\u519b\u673a\u5236\uff0c\u5c06AI\u878d\u5165\u6301\u7eed\u4e92\u52a8\u800c\u975e\u4e00\u6b21\u6027\u57f9\u8bad\uff0c\u8fd9\u6bd4\u5355\u7eaf\u7684\u77e5\u8bc6\u704c\u8f93\u9ad8\u51fa\u51e0\u4e2a\u5c42\u6b21\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u4ea7\u54c1\u9762\u4e34\u7684\u771f\u6b63\u6311\u6218\u5728\u4e8e\uff1a\u5f53\u5458\u5de5\u5728KPI\u538b\u529b\u4e0b\u88ab\u8feb\u201c\u901f\u5ea6\u4f18\u5148\u201d\u65f6\uff0c\u662f\u5426\u6709\u8db3\u591f\u6760\u6746\u8ba9\u65b0\u4e60\u60ef\u771f\u6b63\u624e\u6839\uff1f\u53e6\u5916\uff0c\u5e73\u53f0\u4e0a\u201cAI\u7d20\u517b\u6d4b\u8bd5\u201d\u7684\u6807\u5c3a\u662f\u5426\u80fd\u533a\u5206\u4e0d\u540c\u89d2\u8272\uff08\u5982\u9500\u552e\u4e0e\u5de5\u7a0b\u5e08\uff09\u7684\u5dee\u5f02\u5316\u6df1\u5ea6\uff0c\u662f\u4ea7\u54c1\u80fd\u5426\u907f\u514d\u6d41\u4e8e\u8868\u9762\u7684\u5173\u952e\u3002\u82e5\u53ea\u7ed9\u51fa\u901a\u7528\u8bc4\u5206\uff0c\u5219\u53ef\u80fd\u6ca6\u4e3aHR\u6570\u636e\u7684\u53c8\u4e00\u5671\u5934\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\uff1aSolaris\u5207\u7684\u662f\u201cAI\u7126\u8651\u201d\u5e02\u573a\u7684\u771f\u9700\u6c42\uff0c\u4f46\u80fd\u5426\u4ece\u201c\u54a8\u8be2\u5f0f\u670d\u52a1\u201d\u6f14\u53d8\u4e3a\u201c\u53ef\u89c4\u6a21\u5316\u7684\u884c\u4e3a\u5f15\u64ce\u201d\uff0c\u53d6\u51b3\u4e8e\u5b83\u662f\u5426\u80fd\u8bc1\u660e90\u5929\u540e\u56e2\u961f\u7684\u81ea\u52a8\u5316\u7387\u548c\u51b3\u7b56\u6548\u7387\u6709\u4e86\u53ef\u8861\u91cf\u7684\u63d0\u5347\u2014\u2014\u800c\u975e\u53ea\u662f\u591a\u638c\u63e1\u4e86\u51e0\u6761\u63d0\u793a\u8bcd\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\">Solaris<\/span>\n                <\/div>\n<div class=\"comment-content\">Solaris is an AI-native transformation platform that helps organisations build AI fluency across every team. Start with a fluency test to understand where people are today, then give each team tailored learning, practical use cases, workflow challenges, champions and adoption tracking. Solaris helps companies move from scattered AI experiments to measurable capability, so AI becomes part of how work actually gets done.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>Annie here, co-founder of Build Club.<\/p>\n<p>Today we\u2019re launching Solaris &#8211; an AI-native transformation platform that helps organisations turn AI access into real team capability.<\/p>\n<p>We built Solaris because most companies already have AI tools inside the business (ChatGPT, Claude, Copilot, Gemini and more are already being used somewhere).<\/p>\n<p>But usage is often scattered, shallow and inconsistent. <\/p>\n<p>A few early adopters move quickly, while the rest of the organisation is unsure what to use, how to use it, or where AI actually fits into their work.<\/p>\n<p>Solaris is designed to make AI adoption more structured.<\/p>\n<p>It starts with an AI fluency baseline, so leaders can understand where teams are today: who is confident, who is stuck, what tools people are using, and where the biggest capability gaps are.<\/p>\n<p>From there, each team gets guided through role-based learning pathways and practical AI use cases based on how they actually work. Instead of generic AI training, Solaris helps employees see where AI can improve their day-to-day workflows across functions like sales, ops, marketing, finance, HR, customer support and leadership.<\/p>\n<p>Teams then submit real workflow experiments each week, turning learning into hands-on application. Internal champions are upskilled to support adoption inside the company, share examples, and help AI behaviour spread beyond the early adopters.<\/p>\n<p>Leaders get visibility into adoption over time: which teams are progressing, what workflows are being tested, where support is needed, and how AI fluency is improving across the business.<\/p>\n<p>The goal is simple:<\/p>\n<p>AI should not be another tool sitting unused inside the organisation.<\/p>\n<p>It should become part of how teams think, build, communicate and work.<\/p>\n<p>We have seen this pattern again and again through Build Club, Campus, Manus Academy and our enterprise AI programs. One-off training is not enough. Real transformation needs baselining, tailored learning, practical workflows, champions and measurement.<\/p>\n<p>That is what Solaris brings together in one platform.<\/p>\n<p>We\u2019re onboarding organisations now and would love your feedback, roasts and intros.<\/p>\n<p>Explore Solaris: <a href=\"https:\/\/solaris.buildclub.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/solaris.buildclub.ai\/<\/a><\/p>\n<p>Question for you: What is the hardest part of getting teams to actually adopt AI at work?<\/p>\n<p>Built with \u2764\ufe0f,<br \/>The Build Club team &#8211; Annie, Kevin, Talin, Clinton, David and Andrew<\/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\">@annie_liao Most companies don&#8217;t struggle because employees can&#8217;t use AI.<\/p>\n<p>They struggle because people default to familiar workflows under pressure. Did that behavioral gap end up shaping the product more than the AI itself?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What&#8217;s the metric you point to when a company asks if this actually worked? Like what does &#8216;AI-native&#8217; look like 90 days in vs day 1?<\/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>Wherever you&#8217;re starting from, Solaris meets your team where they are. Get your team started on their journey to becoming AI fluent and beyond \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\/@clinton_lui1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@clinton_lui1<\/a>&nbsp;love the spirit!! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Build Club helps anyone leverage AI. Solaris helps any company become AI-native.<\/p>\n<\/p>\n<p>Super excited to usher in an era of AI-native companies!<\/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\/@kevinzhu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevinzhu<\/a>&nbsp;\ud83d\udd25 it&#8217;s an exciting time to be in the workforce!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the community actually work day to day \u2014 is it mostly async discussions, weekly calls, or something else? Trying to figure out if it fits a busy schedule or if regular attendance is expected.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alperenoc52\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alperenoc52<\/a>&nbsp;it fits into your schedule! in enterprise settings we encourage activations like lunch and learns and showcases, for community, this is mainly opt in and in curated build labs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Joined a build session last week and the feedback loop felt really natural, people jump in with code reviews and resource links right when you need them. Surprised how active the Discord is even for niche AI topics.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kbra7nqg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kbra7nqg<\/a>&nbsp;thank you! and glad to have you in the community!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 free tier actually hold up compared to paid AI learning platforms \u2014 do you get hands-on project feedback from the community or is it more self-paced content?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eymenyabasoqjc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eymenyabasoqjc<\/a>&nbsp;both!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Annie, learning by actually building something has always stuck with me far more than watching a tutorial I forget by lunch. The idea of staying current while getting my hands dirty is really appealing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@joan_live\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joan_live<\/a>&nbsp;thats so great to hear! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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, and really like the angle here.<\/p>\n<\/p>\n<p>I like that this is framed around adoption and not just training. Feels like a lot of companies can do an AI workshop, everyone nods along, and then a week later people are mostly back to the same old habits.<\/p>\n<p>I guess what I\u2019m wondering is: what actually changes the day after the training? Like what stops people from just going back to their old way of 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\/@tobiasfleischer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tobiasfleischer<\/a>&nbsp;100% &#8211; that&#8217;s where the governance and HR toolling we have built becomes relevant. Solaris takes AI transformation from giving someone a &#8220;tour&#8221; to being a long term &#8220;tour guide&#8221; on a companies AI journey. <\/p>\n<\/p>\n<p>In practise, this means an AI hub and project dojo where we help companies surface master templates and encourage a culture of 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>Love how clean the community hub layout is, everything you need to dive into a lesson or connect with other builders is right there without feeling cluttered.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@farukvbr9\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farukvbr9<\/a>&nbsp;Thank you Faruk! Appreciate the feedback<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on your launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@moon10\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@moon10<\/a>&nbsp;thank you !!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi,  like how you break down AI fluency into stages, when a company takes the benchmark test, does it usually reveal gaps that surprise teams about where they actually stand?<\/div>\n<div class=\"comment-actions\">\n<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\/@thys_beesman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thys_beesman<\/a>&nbsp;100% &#8211; it&#8217;s also a great tool to identify AI champions inside organisations<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>interesting approach starting with the fluency test before prescribing learning paths. curious how you calibrate what &#8220;fluent&#8221; actually means for different roles \u2014 the bar for a product manager vs an engineer using AI is pretty different in practice. do you differentiate by function or is it a universal baseline?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ROUEJOAWUF7RFP\" class=\"app-title\">Banger Mail<\/a><\/p>\n<div class=\"one-liner\">Shared mailboxes for teams and AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">139<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Banger Mail\u662f\u4e00\u6b3e\u4e13\u4e3a\u56e2\u961f\u6253\u9020\u7684macOS\u539f\u751f\u5171\u4eab\u90ae\u7bb1\u5e94\u7528\uff0c\u8ba9\u5ba2\u670d\u3001\u9500\u552e\u7b49\u56e2\u961f\u534f\u4f5c\u548cAI\u667a\u80fd\u4f53\u5728\u540c\u4e00\u6536\u4ef6\u7bb1\u5de5\u4f5c\uff0c\u6838\u5fc3\u89e3\u51b3\u591a\u4eba\u5171\u7528\u4e00\u4e2a\u90ae\u7bb1\u65f6\u5bc6\u7801\u5171\u4eab\u3001\u91cd\u590d\u56de\u590d\u3001\u7f3a\u4e4f\u5ba1\u6838\u6d41\u7b49\u75db\u70b9\uff0c\u6838\u5fc3\u7279\u8272\u662fAI\u8349\u7a3f+\u4eba\u5de5\u5ba1\u6838\u540e\u624d\u53d1\u9001\u7684\u201c\u90ae\u4ef6\u7248\u62c9\u53d6\u8bf7\u6c42\u201d\u6a21\u5f0f\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\/85726f60-108b-4e2b-8ea2-e5d5103d8199.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/19509bcd-0aa0-448f-a859-3a04624c53b8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fea7b45a-86b6-4f2e-963e-0bc6bcdb170b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7aa12beb-c72d-4622-af18-9c250df00153.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b7c8640d-7429-438e-879c-1515ca9c4f34.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/22b00038-8d42-4a72-b6c6-eff31b2c366e.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\/18f25d6a-00b1-446e-9a91-d38fc23e319f.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/8pv4v3u0uBc\"><source src=\"https:\/\/youtu.be\/8pv4v3u0uBc\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Email<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Customer Success<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5171\u4eab\u90ae\u7bb1<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u5ba1\u6838<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u670d\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u90ae\u7bb1<\/span><br \/>\n            <span class=\"tag\">\u539f\u751f\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u90ae\u4ef6\u62c9\u53d6\u8bf7\u6c42\u201d\u6a21\u5f0f\u4e0e\u81ea\u5efa\u90ae\u4ef6\u57fa\u7840\u8bbe\u65bd\u7684\u8bda\u610f\uff1b\u6838\u5fc3\u8d28\u7591\u96c6\u4e2d\u5728\uff1a\u591a\u4eba\u540c\u65f6\u5ba1\u67e5\u5982\u4f55\u9632\u91cd\u590d\u56de\u590d\uff08\u76ee\u524d\u4ec5\u652f\u6301\u5355\u6b21\u5ba1\u67e5\uff09\uff1bAI\u4ee3\u7406\u7684\u81ea\u4e3b\u53d1\u9001\u6743\u9650\u5982\u4f55\u7cbe\u7ec6\u7ba1\u63a7\uff08\u652f\u6301\u6309\u90ae\u7bb1\/\u4ee3\u7406\u8bbe\u5b9a\uff09\uff1b\u51b7\u542f\u52a8\u65f6\u6613\u51fa\u73b0\u201c\u5ba1\u6838\u75b2\u52b3\u201d\uff0c\u7f3a\u5c11\u81ea\u52a8\u653e\u884c\u5b89\u5168\u573a\u666f\uff08\u5982\u9000\u6b3e\uff09\u7684\u4fe1\u4efb\u5206\u7ea7\u673a\u5236\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Banger Mail \u7684\u5207\u5165\u70b9\u8db3\u591f\u950b\u5229\uff1a\u5b83\u7cbe\u51c6\u6355\u6349\u5230\u201c\u5171\u4eab\u90ae\u7bb1\u201d\u770b\u4f3c\u7b80\u5355\u5b9e\u5219\u6df7\u4e71\u7684\u534f\u4f5c\u9ed1\u6d1e\uff0c\u5e76\u7528\u539f\u751f\u6027\u80fd\u548c\u81ea\u5efa\u57fa\u7840\u8bbe\u65bd\u8868\u8fbe\u4e86\u4e0d\u4fd7\u7684\u6280\u672f\u51b3\u5fc3\u3002\u521b\u59cb\u4eba\u81ea\u66dd\u6765\u81eaBeeper\/Automattic\uff0c\u5176\u201c\u90ae\u4ef6\u5373\u4ee3\u7801\u201d\u7684Pull Request\u601d\u7ef4\u786e\u5b9e\u6233\u4e2d\u4e86\u4f01\u4e1a\u7ea7\u90ae\u7bb1\u534f\u4f5c\u7f3a\u5931\u7684\u5b89\u5168\u5ba1\u6838\u5c42\uff0c\u6bd4\u90a3\u4e9b\u53ea\u505aUI\u5305\u88c5\u7684SaaS\u9ad8\u660e\u8bb8\u591a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u6765\u770b\uff0c\u4ea7\u54c1\u7684\u771f\u6b63\u6311\u6218\u5728\u4e8e\u5e73\u8861\u201c\u5b89\u5168\u201d\u4e0e\u201c\u6548\u7387\u201d\u3002\u76ee\u524d\u4e25\u683c\u7684\u201c\u6bcf\u5c01\u4fe1\u90fd\u8981\u4eba\u5de5\u5ba1\u6838\u201d\u6a21\u5f0f\uff0c\u5bf9\u9ad8\u9891\u7b54\u590d\u573a\u666f\uff08\u5982\u8d26\u5355\u67e5\u8be2\uff09\u7edd\u5bf9\u662f\u6548\u7387\u6bd2\u836f\uff0c\u800c\u7528\u6237\u63d0\u51fa\u7684\u201c\u57fa\u4e8e\u610f\u56fe\u7684\u81ea\u52a8\u653e\u884c\/\u62bd\u68c0\u201d\u662f\u672c\u4ea7\u54c1\u80fd\u5426\u4ece\u6781\u5ba2\u73a9\u5177\u8fdb\u5316\u4e3a\u56e2\u961f\u5de5\u5177\u7684\u5173\u952e\u3002\u867d\u7136\u56e2\u961f\u58f0\u79f0\u5c06\u63a2\u7d22\u201c\u4fe1\u4efb\u7b49\u7ea7\u201d\uff0c\u4f46\u8def\u7ebf\u56fe\u4e0a\u5c1a\u672a\u7ed9\u51fa\u660e\u786e\u7684\u4f18\u5148\u7ea7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0c\u81ea\u5efa\u90ae\u4ef6\u57fa\u7840\u8bbe\u65bd\u56fa\u7136\u662f\u957f\u671f\u58c1\u5792\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u56e2\u961f\u5fc5\u987b\u6b7b\u78d5\u53d1\u9001\u53ef\u8fbe\u6027\u3001\u53cd\u5783\u573e\u7b56\u7565\u7b49\u8fd0\u7ef4\u5730\u72f1\uff0c\u8fd9\u6781\u53ef\u80fd\u6210\u4e3a\u65e9\u671f\u56e0\u5c0f\u4f17\u57df\u540d\u6216\u914d\u7f6e\u9519\u8bef\u800c\u529d\u9000\u7528\u6237\u7684\u9690\u5f62\u6740\u624b\u3002\u53e6\u5916\uff0c\u4f5c\u4e3aMac\u9996\u53d1\u5e94\u7528\uff0c\u5728Windows\u548c\u79fb\u52a8\u7aef\u63a8\u51fa\u524d\u7684\u8fd9\u6bb5\u65f6\u95f4\uff0c\u5176\u5e02\u573a\u58f0\u97f3\u53ef\u80fd\u88ab\u5f3a\u52b2\u7684\u73b0\u6210\u8de8\u5e73\u53f0\u5de5\u5177\uff08\u5982Front\u3001Missive\uff09\u5feb\u901f\u5438\u8d70\u6ce8\u610f\u529b\u3002Banger Mail \u60f3\u5f81\u670d\u56e2\u961f\u7684\u6536\u4ef6\u7bb1\uff0c\u9700\u8981\u6784\u5efa\u7684\u8fdc\u4e0d\u6b62\u4e00\u4e2a\u4f18\u96c5\u7684\u5ba1\u67e5\u5668\uff0c\u800c\u662f\u6210\u719f\u7684\u534f\u4f5c\u5de5\u4f5c\u6d41\u4e0e\u53ef\u9760\u6027\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\">Banger Mail<\/span>\n                <\/div>\n<div class=\"comment-content\">Banger is a native Mac app for teams running shared inboxes like support@, sales@, and founder@. You and AI agents work the same mailboxes: agents triage, label, and draft with scoped access, while you review before anything sends. Connect your own domain or Google Workspace accounts, search everything, assign threads, and track work on a board. Early access: 14 days free, 2 mailboxes, 100 AI credits, no card. 500 spots now. Mac first, Windows and mobile next.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>If two teammates are reviewing the same conversation at the same time, how does  Banger prevent duplicate replies or conflicts?<\/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\/@shawn_idrees\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shawn_idrees<\/a>&nbsp;hey Shawn, in this early implementation you can only request review one at a time. But in the future they will be just many revisions you can accept or merge yourself, i.e. the reviews won&#8217;t be applied right away but live as changes that you can accept or not and resolve conflicts if any.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b I&#8217;m Tiago.<\/p>\n<p>I\u2019ve spent the last few years building chat apps, first at Beeper, including Beeper Mini, and then at Automattic. Most of my work has been deep app engineering: native clients, messaging surfaces, sync, reliability.<\/p>\n<p>One thing I kept running into is that email still feels built for one person, even though a lot of company work happens there. Support, sales, invoices, recruiting, partnerships. It all lands in the inbox, but teams still end up sharing passwords, forwarding threads around, or pasting drafts into Slack when they want someone else to review a reply.<\/p>\n<p>So I left my job and started <em>MuchBetterApps<\/em> with a friend who has spent years building and operating infrastructure. <strong>Banger<\/strong> is the first thing we\u2019re building.<\/p>\n<p>The basic idea is shared email with review built in. You can have shared mailboxes, real permissions instead of one shared login, and a way to put an email up for review before it sends. That can be for a teammate\u2019s draft, or for something an AI agent wrote. The closest analogy is probably a pull request, but for email.<\/p>\n<p>One important detail: for custom domains, we are not just putting a nicer UI on top of someone else\u2019s email product. We built our own mail infrastructure for receiving and sending email, including the domain setup layer. We are not relying on AWS SES, SendGrid, Postmark, Mailgun, or another hosted email service for that part. There is a lot of unglamorous work in deliverability, routing, queues, DNS setup, bounces, retries, and abuse prevention, but I think owning this layer matters if we want to build the kind of email product we have in mind.<\/p>\n<p>Today we&#8217;re launching the native Mac app. It supports your own domains and Google Workspace. For new domains, we\u2019re trying to make setup less annoying. For existing Google Workspace teams, the goal is to add the collaboration layer that Gmail does not really have.<\/p>\n<p>This is early access, so it\u2019s not the whole vision yet. There are 500 open spots now and we plan to open more as the infrastructure scales.<\/p>\n<p>I\u2019ll be around in the comments. I\u2019d love to hear what you like, what feels unclear, and what you think we\u2019re missing. Thanks for checking it out.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tgloureiro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tgloureiro<\/a>&nbsp;A native Mac app for shared team inboxes with built-in AI triage and human approval? Exactly what early-stage startups need to scale founder@ and sales@. Huge congrats on the launch today! \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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you envision the AI agents handling email threads with multiple stakeholders or complex customer support issues?<\/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\/@aymnart\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aymnart<\/a>&nbsp;<br \/>1- We are going to enable you to use external agents, on which you shared the proper context and gave proper tools and skills to answer very complex issues.<br \/>2- The main Idea on Banger is that teammates or AI agents can make reviews without sending, i.e. they can suggest something and rely on an advanced opperator to approve sending 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 appreciate that you built your own email infrastructure instead of just adding another interface on top of  existing services. That is a much bigger undertaking than most people  realize.<\/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\/@lakeesha_weatherwax\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakeesha_weatherwax<\/a>&nbsp;Yes, we&#8217;re just getting started on that but it will help us to create features no other email app has. ty for checking out!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;pull request for email&#8221; framing is exactly right. I build support and sales agents for ecommerce stores, and<\/p>\n<p>review-before-send is the single thing that makes owners comfortable letting an agent anywhere near their inbox. So, it<\/p>\n<p>is great to see it treated as a first-class feature instead of a bolt-on.<\/p>\n<p>The question that I think decides whether this scales: what happens after a reviewer has approved 50 routine drafts in<\/p>\n<p>a row and starts rubber-stamping? Do you plan per-agent or per-thread-type trust levels (auto-send the routine stuff,<\/p>\n<p>always hold refunds, pricing, anything with money), or sampled review once an agent earns confidence? That dial<\/p>\n<p>between safety and approval fatigue is the hardest part of this pattern in my experience.<\/p>\n<p>Also, respect for owning the mail infrastructure yourselves. Deliverability, bounces and abuse handling are unglamorous, but that layer is usually where products like this live or die.<\/p>\n<p>Congrats on the launch, Tiago.<\/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\/@syed_noor4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@syed_noor4<\/a>&nbsp;Hi Syed, ty for checking it out. When you add a human and teammate right now you can choose the permission level. I think we&#8217;re well positioned to experiment with per-agent or per-thread type trust levels, similar on how code harnesses have the &#8216;only ask for actions as detected as potentially unsafe&#8217;. We&#8217;ll explore this idea on the second half of the year. Thank you for suggesting the per-thread-type trust level, I haven&#8217;t received this feedback yet.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats! QQ, this is only for MacOS or any future plans to release on Win?<\/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>Hey <a href=\"https:\/\/www.producthunt.com\/@ruvik_milkis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ruvik_milkis<\/a>&nbsp;, we have a Windows version that is very advanced right now, based on WinUI3 with Fluent Design. We&#8217;ll launch it soon after it gets parity and similar quality as the native macOS version.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a shared inbox that doesn&#8217;t feel like a hacked together web app. Loved the scoped AI access, draft stayed put until I hit send which is the right default.<\/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>Building your own send\/receive infrastructure instead of layering on SES or Postmark is the choice most teams talk themselves out of because the ROI takes years to show. But it&#8217;s the one that separates products that stay flexible from ones that hit ceilings the moment their upstream provider decides to change something.<\/p>\n<\/p>\n<p>The &#8220;pull request for email&#8221; analogy is the tightest way to state that pattern I&#8217;ve heard. Review-before-send with AI drafts is exactly the missing layer, I&#8217;ve watched teams try to bolt this on with Slack channels, forwarded threads, and shared Google Docs, and it collapses within a month because the review context doesn&#8217;t survive being ripped out of email.<\/p>\n<\/p>\n<p>Genuine question, for someone running cold email operations across multiple mailboxes and warmed domains, does Banger&#8217;s shared inbox model extend to that use case, or is it strictly for shared team inboxes like support@ and sales@? The reason I ask: cold email is one of the places where &#8220;one draft, three eyes on it before it goes&#8221; would materially reduce misfires, but the current tooling assumes single-operator workflows.<\/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\/@elias_motionfy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elias_motionfy<\/a>&nbsp;hey Elias, yes, you can share any mailbox, even gmail accounts with other teammates to do cold email and everything.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Shared mailboxes where agents triage and draft but a human reviews before send is exactly the setup I&#8217;d want for a support@\/founder@ inbox \u2014 the &#8216;forward the thread into Slack for a second opinion&#8217; dance is real. One thing I&#8217;d test first: does the review-before-send gate apply to every agent-drafted reply forever, or can you whitelist specific labels\/intents (say, shipping-status replies) for auto-send once you trust the triage? And is an agent&#8217;s scoped access set per-mailbox, or can you restrict it to certain threads\/labels within a single inbox?<\/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>finally a shared inbox that feels built for mac, the scoped ai access for drafting is genuinely useful and the kanban board for threads makes support way easier to follow<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cumaiftlikm5ln\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cumaiftlikm5ln<\/a>&nbsp;thank you Cuma<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally a mac app that doesn&#8217;t feel like a chrome wrapper for shared inboxes. love that ai drafts sit waiting for approval before sending, keeps things sane for support@<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@camderelit14271\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@camderelit14271<\/a>&nbsp;thank you Tahir<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 AI scoping actually work in practice, like can two agents see different drafts of the same thread or is everything shared across the 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@melihlidiphxj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@melihlidiphxj<\/a>&nbsp;hey Melih, you can choose who access which mailbox(human or agent) and send permissions for each 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>How do the AI agents actually decide when to draft a reply vs just label something, and can I set per-agent rules or do they all run on the same defaults?<\/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\/@naime162129\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naime162129<\/a>&nbsp;<\/p>\n<p>Hi Naime, emails are always labelled by AI (being cloud or local AI).<\/p>\n<p>Regarding processing of the queue:<\/p>\n<p>When you create an internal agent, you can setup the per-agent rules and the send capabilities (draft and ask for review or can send). On your workspace you can have as many different agents as you want to deal with different needs.<\/p>\n<p>On this early preview, you still need to assign the email to one of the agent so it does draft or send it depending on its permissions. We have auto-triage on the roadmap, on which you will define rules so the email\/task is given automatically to one of the agents or a human.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Shared inboxes are a good place for AI because the work is repetitive but the accountability is still human. The guardrail I would want is a clean separation between draft, suggested action, and actual send, especially for support or billing threads.<\/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\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;yeah, we already have that on the version we launched today. Give it a try and let me know if it works for you. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How scoped exactly is the agent access \u2014 can it send on its own in some scenarios, or does every outbound always wait on a human click?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sedahykex4z\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sedahykex4z<\/a>&nbsp;You define its send permissions, if it&#8217;s an inbox that&#8217;s ok for the agent to eventually send it&#8217;ll do that given the permission.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Scoped access + human review before send is the right trust boundary for mixing AI agents into shared inboxes. How granular does the scoping get &#8211; can one agent draft-only on support@ while another gets broader access on sales@, or is it set per-mailbox rather than per-agent?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dannyheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dannyheng<\/a>&nbsp;hey Danny, yeah same for teammates and AI agents: you can choose which mailboxes they have access. For example, you can have a support agent answer on @support and @help and a sales agent answering only on @sales. Same as teammates, you can invite some people to some of the mailboxes only.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>shared password \/ forwarding threads around for a support@ inbox is such a specific, real pain that never gets fixed properly. glad you kept a review step before send instead of letting agents fire off replies on their own, that&#8217;s the part that would actually make me trust it with a customer-facing mailbox<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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, give it a 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>This is very interesting. We&#8217;re building an AI agent for outreach and encountered this issue. Will explore how it works. 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\/@heyitsirenechan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heyitsirenechan<\/a>&nbsp;Cool Irene, maybe we could chat later if it helps, ty!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/VLSRVNIXY4YBJX\" class=\"app-title\">PieterPost MCP<\/a><\/p>\n<div class=\"one-liner\">Connect your AI agent to postal mail<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">129<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PieterPost MCP\u662f\u4e00\u4e2aAI\u4ee3\u7406\u7269\u7406\u90ae\u4ef6\u63a5\u53e3\uff0c\u8ba9ChatGPT\u3001Claude\u7b49\u667a\u80fd\u4f53\u80fd\u591f\u81ea\u52a8\u5b8c\u6210\u4fe1\u4ef6\/\u660e\u4fe1\u7247\u7684\u64b0\u5199\u3001\u5730\u5740\u586b\u5199\u3001\u9644\u4ef6\u4e0a\u4f20\u3001\u652f\u4ed8\u94fe\u63a5\u751f\u6210\u53ca\u7269\u6d41\u8ffd\u8e2a\uff0c\u89e3\u51b3AI\u65e0\u6cd5\u89e6\u8fbe\u7269\u7406\u4e16\u754c\u90ae\u4ef6\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/586d351b-12b2-4291-bdb8-d605fd6ba9e6.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Swo3hg-h054\"><source src=\"https:\/\/www.youtube.com\/watch?v=Swo3hg-h054\" 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\/60d6d31a-ca96-4a08-8e11-8e4e652e62d4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b9b9a558-d161-48c8-8454-413a644ae4af.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/95f9bd3c-ebc9-4fa8-8299-82cf8b41dd0b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c418e3e1-9ac2-4fd8-9a1e-bc6e541af8b7.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7269\u7406\u90ae\u4ef6\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u90ae\u653fAPI<\/span><br \/>\n            <span class=\"tag\">\u660e\u4fe1\u7247\u6253\u5370<\/span><br \/>\n            <span class=\"tag\">\u90ae\u9012\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u652f\u4ed8\u94fe\u63a5<\/span><br \/>\n            <span class=\"tag\">\u8054\u7edc\u4eba\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u8ba2\u5355\u8ffd\u8e2a<\/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\u5173\u6ce8\u5b89\u5168\u673a\u5236\uff08\u5e7b\u89c9\u5730\u5740\u4e0d\u53ef\u9006\u3001\u4eba\u5de5\u5ba1\u6838\u95e8\u7684\u5fc5\u8981\u6027\uff09\uff0c\u79f0\u8d5eMailbook\u901a\u8baf\u5f55\u96c6\u6210\u548c\u201c\u5148\u5ba1\u540e\u53d1\u201d\u7684\u8349\u7a3f\u6a21\u5f0f\uff1b\u8be2\u95ee\u5b9a\u4ef7\u6309\u7528\u91cf\u8ba1\u8d39\u3001\u7269\u7406\u90ae\u5bc4\u6d41\u7a0b\uff08\u6253\u5370\u6295\u9012\u800c\u975e\u81ea\u53d6\uff09\u3001\u4ee5\u53ca\u660e\u4fe1\u7247\u9884\u89c8\u786e\u8ba4\u529f\u80fd\u3002\u8bc4\u8bba\u533a\u666e\u904d\u8ba4\u4e3a\u8be5\u4ea7\u54c1\u586b\u8865\u4e86AI\u4e0e\u5b9e\u4f53\u901a\u4fe1\u7684\u7a7a\u767d\uff0c\u5c24\u5176\u9002\u5408\u8282\u5047\u65e5\u8d3a\u5361\u3001\u5546\u52a1\u51fd\u4ef6\u7b49\u573a\u666f\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                PieterPost MCP\u672c\u8d28\u4e0a\u662f\u4e00\u6b21\u201c\u865a\u62df\u4e0e\u7269\u7406\u7684\u786c\u7f1d\u5408\u201d\u2014\u2014\u5b83\u89e3\u51b3\u7684\u5e76\u975e\u6280\u672f\u96be\u9898\uff0c\u800c\u662f\u4e1a\u52a1\u6d41\u4e2d\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u65ad\u88c2\uff1aAI\u80fd\u751f\u6210\u5b8c\u7f8e\u7684\u6587\u6848\uff0c\u5374\u65e0\u6cd5\u89e6\u8fbe\u771f\u6b63\u7684\u4fe1\u7bb1\u3002\u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u5c06\u4f20\u7edf\u90ae\u653f\u670d\u52a1\u5c01\u88c5\u8fdbMCP\u534f\u8bae\uff0c\u4f7f\u7269\u7406\u90ae\u5bc4\u6210\u4e3aAI\u4ee3\u7406\u7684\u4e00\u4e2a\u53ef\u7f16\u7a0b\u5de5\u5177\u8282\u70b9\u3002\u7136\u800c\uff0c\u8fd9\u6070\u6070\u4e5f\u662f\u4ea7\u54c1\u7684\u963f\u5580\u7409\u65af\u4e4b\u8e35\uff1a\u4e00\u65e6\u8fdb\u5165\u5b9e\u4f53\u4e16\u754c\uff0c\u9519\u8bef\u7684\u4ee3\u4ef7\u4ece\u201c\u91cd\u65b0\u751f\u6210\u201d\u53d8\u4e3a\u201c\u4fe1\u4ef6\u9001\u5230\u964c\u751f\u4eba\u624b\u91cc\u201d\u3002\u4ece\u8bc4\u8bba\u53ef\u89c1\uff0c\u7528\u6237\u6700\u5173\u5fc3\u7684\u5e76\u975e\u6280\u672f\u5b9e\u73b0\uff0c\u800c\u662f\u201c\u4e0d\u53ef\u9006\u201d\u7684\u5bb9\u9519\u8fb9\u754c\u2014\u2014\u4ed6\u4eec\u9700\u8981\u201c\u786c\u6027\u4eba\u5de5\u95e8\u201d\u800c\u975e\u9ed8\u8ba4\u4fe1\u4efb\u3002\u5f53\u524d\u4ea7\u54c1\u4ee5\u201c\u5148\u5ba1\u540e\u53d1\u201d\u4f5c\u4e3a\u9ed8\u8ba4\u6d41\u7a0b\uff0c\u806a\u660e\u5730\u89c4\u907f\u4e86AI\u5e7b\u89c9\u5f15\u53d1\u7684\u6cd5\u5f8b\u98ce\u9669\uff0c\u4f46\u4e5f\u9650\u5236\u4e86\u81ea\u52a8\u5316\u60f3\u8c61\u529b\uff1a\u5b83\u672c\u8d28\u4e0a\u4ecd\u662f\u4e00\u4e2a\u201cAI\u8d77\u8349+\u4eba\u7c7b\u6700\u7ec8\u786e\u8ba4\u201d\u7684\u534a\u81ea\u52a8\u7cfb\u7edf\u3002\u5546\u4e1a\u4e0a\uff0c\u6309\u53d1\u9001\u91cf\u8ba1\u8d39\u4e14MCP\u514d\u8d39\u7684\u7b56\u7565\u964d\u4f4e\u4e86\u8bd5\u7528\u95e8\u69db\uff0c\u4f46\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\u89c4\u6a21\u5316\u540e\u7684\u4fe1\u4efb\u673a\u5236\u2014\u2014\u5f53\u7528\u6237\u5e0c\u671b\u5b9e\u73b0\u5f7b\u5e95\u65e0\u4eba\u503c\u5b88\u65f6\uff0c\u7cfb\u7edf\u80fd\u5426\u901a\u8fc7\u5730\u5740\u6821\u9a8c\u3001\u5185\u5bb9\u5ba1\u6838\u548c\u652f\u4ed8\u9650\u989d\u7b49\u5185\u5efa\u6805\u680f\u6765\u515c\u5e95\uff1f\u53ef\u4ee5\u8bf4\uff0cPieterPost MCP\u662fAI\u539f\u751f\u5e94\u7528\u4ece\u6570\u5b57\u4ef7\u503c\u5954\u5411\u7269\u7406\u4ef7\u503c\u7684\u4e00\u573a\u5b9e\u9a8c\uff0c\u5b83\u8bc1\u660e\u4e86\u201c\u628a\u4fe1\u5bc4\u51fa\u53bb\u201d\u8fdc\u6bd4\u201c\u628a\u4fe1\u5199\u597d\u201d\u66f4\u590d\u6742\u3002\u5bf9\u4e8e\u9700\u8981\u5b9a\u671f\u6279\u91cf\u53d1\u51fd\u7684\u5c0f\u578b\u5546\u52a1\u548c\u8ffd\u6c42\u4eea\u5f0f\u611f\u7684\u4e2a\u4eba\u7528\u6237\uff0c\u5b83\u786e\u5b9e\u63d0\u4f9b\u4e86\u72ec\u7279\u7684\u4fbf\u5229\uff1b\u4f46\u5bf9\u8ffd\u6c42\u5168\u81ea\u52a8\u5316\u7684\u5de5\u7a0b\u5e08\u800c\u8a00\uff0c\u5b83\u76ee\u524d\u66f4\u50cf\u662f\u542b\u6709\u4eba\u5de5\u5ba1\u67e5\u7684\u534a\u6210\u54c1\u2014\u2014\u800c\u8fd9\uff0c\u6070\u6070\u662f\u5bf9\u7269\u7406\u4e16\u754c\u8be5\u6709\u7684\u656c\u754f\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\">PieterPost MCP<\/span>\n                <\/div>\n<div class=\"comment-content\">PieterPost MCP connects AI agents to postal mail. From ChatGPT, Claude, Codex, Claude Code, or any MCP client, agents can prepare letters and postcards, use Mailbook contacts, upload attachments or postcard images, create checkout links, and track orders. It brings PieterPost online mail, API, and payment-link workflows into agent tools.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt. We built PieterPost MCP because agents can write a message, but usually stop before the physical part: addresses, files, checkout, printing, and mailing.<\/p>\n<p>This launch adds a remote MCP server at pieterpost.com\/mcp. Agents can quote a letter or postcard, create a checkout link, use Mailbook contacts, upload assets, and track the order. For normal one-off sends, payment happens before anything is mailed. For trusted integrations, the API and direct-send path is still there.<\/p>\n<p>MCP is one feature of PieterPost, not a separate company. PieterPost already helps people send letters and postcards online. This makes that postal layer available from agent workflows.<\/p>\n<p>Curious what you would trust an agent to send by mail first.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@pieterpostcom\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pieterpostcom<\/a>&nbsp;Congrats on the launch! \ud83c\udf89<\/p>\n<p>Connecting AI agents to postal mail <\/p>\n<p>is such a unique idea &#8211; never seen <\/p>\n<p>anything like PieterPost MCP before!<\/p>\n<p>When people search &#8220;AI agent postal <\/p>\n<p>mail tool&#8221; on ChatGPT, is PieterPost <\/p>\n<p>showing up?<\/p>\n<p>I help SaaS tools get discovered on <\/p>\n<p>ChatGPT &amp; Google through Reddit <\/p>\n<p>marketing. Communities like r\/artificial <\/p>\n<p>and r\/ChatGPT would love this.<\/p>\n<p>Would love to connect!<\/p>\n<p>&#8211; Priyesh Kharwar<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@pieterpostcom Connecting AI to postal mail changes the margin for error quite a bit.<\/p>\n<p>What safeguards ended up being non-negotiable before you felt comfortable letting an agent trigger something that exists in the physical world?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The Mailbook integration seems really useful. Having contacts ready instead of entering addresses every time could save quite a bit of effort<\/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\/@nitesh_kumar98\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nitesh_kumar98<\/a>&nbsp;&nbsp;Totally agree. Mailbook is one of those small things that makes repeat mail much less annoying. Save the address once, send again later without digging it up, and use reminders for things like birthdays or regular cards. What kind of contacts would you keep in there first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. I never expected postal mail and AI agents to come together, but this actually makes a lot of sense for businesses that still rely on physical communication.<\/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\/@rahul_manjhi1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rahul_manjhi1<\/a>&nbsp;&nbsp;Thanks Rahul. That is the gap we kept running into: plenty of business workflows still end in physical mail, but the software side usually stops at a PDF or an email. What kind of business mail do you think this fits best?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love it! \ud83d\ude0d How are you thinking about pricing the MCP side? Is it just pay per letter\/postcard sent, or will there also be something like a monthly\/API plan if people start wiring this into their own tools? Mostly asking because this feels like something I\u2019d try once manually, then immediately want to automate if it works.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nick_kramer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nick_kramer<\/a>&nbsp;&nbsp;Yep, MCP is free. You only pay for the letters or postcards you actually send. We wanted it to feel like normal PieterPost: try one, review it, send it, and if it fits your workflow you can keep using it without a separate MCP subscription. What would you automate first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Pieter Post actually handle the physical delivery part, do you print and mail things on my behalf or is there some kind of kiosk pickup I need to visit nearby?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@meryemvfjh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@meryemvfjh<\/a>&nbsp;&nbsp;We print, stamp, and mail it for you. No kiosk and no post office trip needed. You write it online or through the API\/MCP flow, review it, pay, and PieterPost handles the physical part. What would you send first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Letting an agent create a checkout link before anything mails is a clever gate, but I&#8217;m curious what the agent actually sees back after it uploads a postcard image. Does it get any confirmation of how the final print looks, or is it flying blind on the physical artifact once payment clears?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sezerufukyavuz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sezerufukyavuz<\/a>&nbsp;&nbsp;Great question. The agent can prepare the upload, message, recipient, and checkout. The person still reviews before payment and mailing, so it should not be flying blind. For postcards, we want the preview to show the image, recipient, price, and final send step clearly. What would you want confirmed before trusting 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>Connecting AI agents to physical mail is a genuinely underexplored <\/p>\n<p>space. The irreversibility angle is the interesting design challenge <\/p>\n<p>here \u2014 curious if you&#8217;re adding a confirmation step before anything <\/p>\n<p>actually ships, since a hallucinated address isn&#8217;t a retry, it&#8217;s a <\/p>\n<p>stranger&#8217;s mailbox.<\/p>\n<p>Would love to see a &#8220;draft mode&#8221; where agents prepare everything but <\/p>\n<p>a human approves before it goes physical.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@l_build\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@l_build<\/a>&nbsp;&nbsp;Yes, draft mode is the default shape we want people to use first. Let the agent prepare the recipient, message, assets, and quote, then a human approves before anything gets paid or mailed. Where would you use that kind of flow first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>That tiny detail of skipping the stamp-licking step is honestly such a nice touch, love how clean the whole flow feels from envelope to sent.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@adilewib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adilewib<\/a>&nbsp;&nbsp;Thanks Adil. That no-stamp feeling is exactly what we wanted: write it like a normal message, then still get something physical sent properly. Would you use it more for personal notes or business mail?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Physical mail as an MCP tool is a fun edge because it&#8217;s one of the few agent actions that&#8217;s genuinely irreversible once it&#8217;s in the postbox. What&#8217;s the confirm boundary here: does a human have to click through the checkout link, or can an agent with a saved payment method quote-and-send in one shot? For a tool that spends money on a physical artifact I&#8217;d want the resolved address read back and a hard human gate, since a hallucinated recipient isn&#8217;t a retry, it&#8217;s a stranger opening my letter.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;&nbsp;Exactly. That boundary is the core design. The normal flow is quote, review the final text and resolved address, create a checkout link, then mail after payment. No silent send unless someone has set up a trusted direct-send path with explicit limits. What would you want on the approval screen before it goes physical?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Loved how quick it was to send a letter from my phone, and the tracking kept me from worrying if it actually arrived.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really nice concept, way more convenient than running to the post office. The way it just works behind the scenes and you forget it&#8217;s even mail feels 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That stamp-licking problem is such a classic annoyance, love how clean and focused the whole concept is. The branding feels really thoughtful too, the name and tone make it feel friendly instead of corporate.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Gotta say, the branding here is genuinely charming. That name &#8220;Pieter Post&#8221; with the classic envelope vibe really sells the whole concept before you even read what it does. Smart move leaning into the postal heritage while modernizing the actual 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dnd1112360\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dnd1112360<\/a>&nbsp;&nbsp;Thank you, this means a lot. We wanted it to feel like mail, not another cold tool. Pieter Post doing old-school postal work from the browser is basically the whole 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>MCP for postal mail is a pretty novel idea! I can imagine a use-case where you&#8217;d want your agent to send out postal advertisements or have it send your friends and family holiday cards or even handle the shipping for small online businesses. I&#8217;m curious, is letter\/package tracking also included w\/ the PieterPost MCP tool? Because that could also be an interesting feature to have.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@monolithdread\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monolithdread<\/a>&nbsp;&nbsp;Thanks Jordan. Holiday cards are exactly one of those use cases that make this feel useful fast. Tracking depends a bit on the mail type and destination, but when tracking is available we show it and the MCP can check order status too. What would you try first?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 seeing MCP tools that result in real physical objects. Good 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hsearcy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hsearcy<\/a>&nbsp;&nbsp;Thanks Houston. Same here, MCP gets a lot more fun when it leaves the screen a little.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Two things for me. First, the fully resolved postal address read back verbatim, plus which Mailbook entry it matched, since &#8216;John in London&#8217; quietly resolving to the wrong saved contact is the failure I&#8217;d never catch. Second, an idempotency key on the send, so if the agent&#8217;s tool call times out and retries I get one postcard and not two. Duplicate physical sends are the money version of a double-submit.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;&nbsp;Really appreciate this. Address readback and making sure retries do not create duplicate mail are exactly the kind of sharp edges we want to make boring. Thanks for trying it and writing this out, we will make this much better soon.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried Pieter Post for a birthday card to my grandma and it worked like a charm. The whole process took under a minute and the handwriting on the envelope actually looks legit.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@atakank18468\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@atakank18468<\/a>&nbsp;&nbsp;This is the best kind of test. Grandma birthday cards are secretly the perfect use case. Very happy the envelope passed the vibe check 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>Uploaded a letter from my phone yesterday and it showed up at my mom&#8217;s place two days later, tracking included. Genuinely didn&#8217;t expect the whole process to feel that painless.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mihriban1580118\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mihriban1580118<\/a>&nbsp;&nbsp;Love hearing this. That painless feeling is exactly what we are trying to get right: upload or write it, check it, and then it just shows up. What did you send her?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 is something lovely about a real letter landing in someone&#8217;s hands, and making that as effortless as tapping out a message is a delightful little bridge between the physical and the everyday. Nicely done, Pieter.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;&nbsp;Thank you Robin. That bridge is exactly what keeps us excited about it: the message starts like any normal note, then ends up as something someone can actually hold.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/OMXU6N5ZT2FVVI\" class=\"app-title\">Sidedoor<\/a><\/p>\n<div class=\"one-liner\">Paste any job, find who in your network can refer you<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">118<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Sidedoor\u662f\u4e00\u6b3e\u81ea\u52a8\u626b\u63cf\u7528\u6237\u90ae\u7bb1\u53ca\u793e\u4ea4\u7f51\u7edc\u8054\u7cfb\u4eba\u7684\u5de5\u5177\uff0c\u5e2e\u52a9\u6c42\u804c\u8005\u5feb\u901f\u627e\u5230\u80fd\u4e3a\u81ea\u5df1\u5185\u63a8\u7684\u719f\u4eba\uff0c\u7701\u53bb\u6d77\u6295\u7b80\u5386\u7684\u9ebb\u70e6\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\/7ea6c553-64bb-4a70-9beb-1b49adfaf26b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f10fd47c-9f22-4a8f-8c7b-12030f48d7fc.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\/55f85d33-aa36-43e7-9b04-e821318b1ffe.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/zix6ZM-Tzhk\"><source src=\"https:\/\/youtu.be\/zix6ZM-Tzhk\" 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\">Hiring<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Career<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6c42\u804c\u5185\u63a8<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u7f51\u7edc\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u4eba\u8109\u6316\u6398<\/span><br \/>\n            <span class=\"tag\">\u8054\u7cfb\u4eba\u7fa4\u7ec4<\/span><br \/>\n            <span class=\"tag\">\u90ae\u7bb1\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u804c\u573a\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">PRM(\u4e2a\u4eba\u5173\u7cfb\u7ba1\u7406)<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u80af\u5b9a\u5176\u89e3\u51b3\u627e\u5185\u63a8\u75db\u70b9\u7684\u521b\u610f\uff0c\u4f46\u5f3a\u70c8\u8d28\u7591\u6570\u636e\u9690\u79c1\u4e0e\u5b89\u5168\uff08\u626b\u63cf\u540e\u5982\u4f55\u5904\u7406\u3001\u662f\u5426\u5b58\u50a8\uff09\u3002\u6838\u5fc3\u95ee\u9898\u5305\u62ec\uff1a\u5982\u4f55\u89c4\u907f\u5e73\u53f0\u98ce\u63a7\uff1b\u672a\u6388\u6743\u7684\u201c\u63a8\u8350\u4eba\u201d\u662f\u5426\u88ab\u9a9a\u6270\uff1b\u5982\u4f55\u51c6\u786e\u5224\u65ad\u719f\u4eba\u5173\u7cfb\uff08\u5982\u5355\u65b9\u9762\u8ba4\u8bc6\uff09\u3002\u514d\u8d39\u6a21\u5f0f\u53cd\u88ab\u8d28\u7591\u53ef\u6301\u7eed\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                Sidedoor\u5207\u4e2d\u4e86\u4e00\u4e2a\u6781\u5176\u75db\u70b9\u7684\u573a\u666f\u2014\u2014\u201c\u719f\u4eba\u4e0d\u719f\u201d\u3002\u6c42\u804c\u8005\u5f80\u5f80\u9ad8\u4f30\u81ea\u5df1\u5bf9\u4eba\u8109\u7684\u8ba4\u77e5\uff0c\u800c\u8be5\u5de5\u5177\u901a\u8fc7\u66b4\u529b\u626b\u63cfGmail\u3001LinkedIn\u7b49\u793e\u4ea4\u56fe\u8c31\uff0c\u628a\u201c\u5f31\u8fde\u63a5\u201d\u5f3a\u884c\u63a8\u5230\u53f0\u524d\u3002\u4ece\u8bc4\u8bba\u53cd\u9988\u770b\uff0c\u7528\u6237\u786e\u5b9e\u53d1\u73b0\u4e86\u88ab\u9057\u5fd8\u7684\u524d\u540c\u4e8b\u6216\u8fdc\u4eb2\uff0c\u8fd9\u9a8c\u8bc1\u4e86\u4ea7\u54c1\u7684\u6838\u5fc3\u4ef7\u503c\uff1a\u964d\u4f4e\u8ba4\u77e5\u95e8\u69db\uff0c\u8ba9\u9690\u6027\u7684\u793e\u4f1a\u8d44\u672c\u663e\u6027\u5316\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u540c\u6837\u5c16\u9510\u3002\u5728\u7528\u6237\u6781\u5ea6\u654f\u611f\u7684\u9690\u79c1\u65f6\u4ee3\uff0c\u58f0\u79f0\u201c\u514d\u8d39\u201d\u4e14\u626b\u63cf\u5168\u91cf\u901a\u4fe1\u5f55\u548c\u793e\u4ea4\u7f51\u7edc\uff0c\u8fd9\u79cd\u6570\u636e\u8d44\u4ea7\u7684\u53bb\u5411\u542b\u7cca\u5176\u8f9e\uff0c\u662f\u6700\u5927\u7684\u4fe1\u4efb\u98ce\u9669\u3002\u66f4\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0c\u5b83\u7684\u903b\u8f91\u672c\u8d28\u662f\u201c\u672a\u7ecf\u6388\u6743\u7684\u4eba\u8089\u641c\u7d22\u201d\uff1a\u5c06\u6ca1\u6709\u4e3b\u52a8\u6ce8\u518c\u7684\u793e\u4ea4\u5173\u7cfb\u94fe\u4e2d\u7684\u7b2c\u4e09\u65b9\uff08\u5373\u4f60\u7684\u670b\u53cb\u3001\u524d\u540c\u4e8b\uff09\u6807\u8bb0\u4e3a\u201c\u6f5c\u5728\u5185\u63a8\u8005\u201d\uff0c\u8fd9\u8ba9\u4ed6\u4eec\u88ab\u52a8\u5730\u6210\u4e3a\u5de5\u5177\u8282\u70b9\u3002\u4e00\u65e6\u88ab\u9a9a\u6270\uff0c\u5e73\u53f0\u96be\u8f9e\u5176\u548e\u3002\u6b64\u5916\uff0c\u6280\u672f\u5b9e\u73b0\u4e0a\u5982\u4f55\u7ed5\u8fc7Gmail\u3001LinkedIn\u7684\u53cd\u722c\u673a\u5236\u800c\u957f\u671f\u7a33\u5b9a\u8fd0\u884c\uff0c\u4e5f\u4ee4\u4eba\u5b58\u7591\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u662f\u63d0\u4f9b\u5185\u63a8\uff0c\u800c\u662f\u91cd\u5851\u6c42\u804c\u8005\u7684\u201c\u4eba\u8109\u53ef\u89c6\u5316\u201d\u3002\u4f46\u82e5\u4e0d\u80fd\u89e3\u51b3\u6570\u636e\u4e3b\u6743\u4e0e\u201c\u88ab\u63a8\u8350\u4eba\u201d\u7684\u77e5\u60c5\u540c\u610f\u95ee\u9898\uff0c\u8fd9\u53ea\u662f\u4e00\u4e2a\u6536\u5272\u9690\u79c1\u6362\u77ac\u65f6\u6548\u7528\u7684\u7070\u8272\u5de5\u5177\u3002\u4e00\u53e5\u8bdd\uff1a\u521b\u610f\u6ee1\u5206\uff0c\u843d\u5730\u5371\u9669\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\">Sidedoor<\/span>\n                <\/div>\n<div class=\"comment-content\">Sidedoor searches your Gmail, LinkedIn, Instagram, Twitter, Outlook, and friends&#8217; connections to find who can refer you to any job. Most people are surprised by who shows up. 100% free.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That&#8217;s a pretty wide access scope for a free tool &#8211; Gmail, LinkedIn, Instagram, Twitter, Outlook, plus friends&#8217; connections. What happens to that data once it&#8217;s mapped my network? Is the graph stored on your end for future searches, or does it get processed and discarded after each job paste?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built Sidedoor because I kept seeing the same thing: people grinding through hundreds of cold job applications while sitting one or two connections away from someone who could have just gotten them in.<\/p>\n<p>The referral path was always there. They just couldn&#8217;t see it.<\/p>\n<p>Paste any job posting and Sidedoor maps your network to find who can refer you, across Gmail, LinkedIn, Instagram, Twitter, Outlook, and friends&#8217; connections. Not just people you know directly, but people your people know too. Sidedoor is powered by Happenstance (YC W24).<\/p>\n<p>I&#8217;d love your feedback, especially if you try it and find someone unexpected. Drop a comment and let me know what you think!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@jerry_feng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jerry_feng<\/a>&nbsp;Congrats on the launch! \ud83c\udf89<\/p>\n<p>Finding referrals through your network <\/p>\n<p>is such a smart approach &#8211; Sidedoor <\/p>\n<p>solves a real problem!<\/p>\n<p>Quick question &#8211; when job seekers <\/p>\n<p>search &#8220;find referrals for jobs&#8221; on <\/p>\n<p>ChatGPT, is Sidedoor showing up?<\/p>\n<p>I help SaaS tools get discovered on <\/p>\n<p>ChatGPT &amp; Google through Reddit <\/p>\n<p>marketing. Communities like r\/jobs <\/p>\n<p>and r\/cscareerquestions would be <\/p>\n<p>perfect for Sidedoor.<\/p>\n<p>Would love to connect!<\/p>\n<p>&#8211; Priyesh Kharwar<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 thesis is right. cold applications lose to warm intros. every hire that actually closes came from someone the recruiter already trusted.<\/p>\n<\/p>\n<p>but reading every social graph a user has ever touched to find the &#8220;right&#8221; referrer is basically linkedin premium without asking. the referrer half of the marketplace didn&#8217;t opt in, they just got tagged.<\/p>\n<\/p>\n<p>genuine question: how do you handle the case where the found &#8220;referrer&#8221; has never actually met the user? does the referrer know they&#8217;re being pinged, and can they opt out of showing up?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Sidedoor actually find my friends\u2019 connections across LinkedIn and socials without me manually granting access to all those accounts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 a great idea &#8211; LinkedIn is becoming worse and worse and something straightforward like this cuts more directly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 idea of scanning LinkedIn connections and Gmail threads together for warm intros is genuinely clever, and pulling it off for free feels almost suspicious in the best way<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried this and it surfaced a former coworker I completely forgot could vouch for me. Kinda wild how it just pulls the connections out of nowhere without making you dig.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 a cool idea! I&#8217;ve done this manually a few times with searching thru linkedin but I definitely will use this next time I know someone who is looking for a job!<\/p>\n<\/p>\n<p>And in case you want one, here&#8217;s a free QR code you can use that goes to your site:<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c2d62ce6-af02-4697-b6dc-43781e7444c8.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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does it actually find referrals without getting flagged by gmail or linkedin for scraping? seems like a thin line to walk but i want to trust it 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you handle data privacy and security for users&#8217; email and social media connections, especially when accessing their friends&#8217; connections?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Jerry, cool idea. The tool checks if someone from my personal network (social media, etc.) works a the company who published the job post so they can refer me? That could be quite useful for a lot of people. Thanks for 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>Found three solid referrals for a role I had almost given up on, including someone I hadn&#8217;t talked to in years. Kind of wild how it pulls from places I forgot to check.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 problem I&#8217;ve definitely run into. I usually end up searching LinkedIn manually, so having everything in one place sounds really 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>This is an interesting approach. I&#8217;m currently exploring career opportunities myself, so I&#8217;m curious how do you decide which connection is the best person to reach out to when there are several possible referral paths?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 part that got me is how often the person who could vouch for you is already somewhere in your circle and you just never realized it. That quiet nudge toward a warm intro feels 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>The idea sounds brilliant, but I know that Linked In is quite strict about using side tools and block accounts for using such tools. Did you solve this somehow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Wow, this is clever! It can also be used for freelancing. When I switched to freelancing full time in 2021, I could use something like this. I did everything manually. I went through my emails, Facebook friends, and LinkedIn. I then checked who can help me out. <\/p>\n<p>Worth checking out!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is clever, especially the second-degree connection piece. Most job search tools just show you your direct network, but the referral that actually matters is usually two hops away.<\/p>\n<\/p>\n<p>Quick question: when you surface those unexpected connections, how does it prioritize them? Like if Sidedoor finds 10 people who could refer you, does it weight by recency of contact, strength of connection, or something else? Wondering how useful the ranking is in practice when you&#8217;re trying to actually reach out.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jerry_feng\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jerry_feng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jerry_feng<\/a> This is very cool and will make job hunt easy. <br \/>To login, Gmail is good but it should be Linkedin or a job portal by default. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">It\u2019s wild that it can pull referrals from Gmail, LinkedIn, even Instagram, when you paste a job in, does it actually surprise you with connections you didn\u2019t expect to have?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BOSLVJYFBR5RDQ\" class=\"app-title\">scritty<\/a><\/p>\n<div class=\"one-liner\">Shared, searchable memory for every AI coding agent<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">115<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Scritty \u662f\u4e00\u6b3e\u7ec8\u7aef\u6a21\u62df\u5668\uff0c\u80fd\u591f\u81ea\u52a8\u6355\u83b7\u5e76\u7d22\u5f15\u6240\u6709 AI \u7f16\u7801\u52a9\u624b\uff08\u5982 Claude\u3001Copilot \u7b49\uff09\u7684\u5bf9\u8bdd\u8bb0\u5f55\uff0c\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u8de8\u5de5\u5177\u7684\u3001\u53ef\u641c\u7d22\u7684\u672c\u5730\u8bb0\u5fc6\u5e93\uff0c\u5f7b\u5e95\u544a\u522b\u91cd\u590d\u7c98\u8d34\u4e0a\u4e0b\u6587\u548c\u201c\u51b7\u542f\u52a8\u201d\u56f0\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                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/f0bf164d-b1c1-4bc8-ae9a-93c7b64ba418.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/AFMF4lOFvMY\"><source src=\"https:\/\/youtu.be\/AFMF4lOFvMY\" 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\/016e6b6c-e335-4878-aff3-c25725e5b466.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a9d2ac8a-937d-4b7b-8fdb-b26bf51de37e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/deb22ab0-f620-4389-b363-cf3d5b60456c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/44671bb3-795a-470a-b303-d99cdbfa7323.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6bffe604-f4e2-412c-93fe-a19ca5d1e47b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d2766e27-0034-4b0f-9621-89e76a0464e5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a795091d-4c0e-4461-8ce1-d0b4f8078ef2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7ec8\u7aef\u6a21\u62df\u5668<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7801\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u5fc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u8de8Agent<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u7d22\u5f15<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\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\u4e3b\u8981\u5173\u6ce8\u5b9a\u4ef7\u8fc7\u9ad8\u3001\u8bb0\u5fc6\u529b\u4e0d\u51c6\u786e\u5bfc\u81f4\u8bef\u5bfc\u3001\u654f\u611f\u4fe1\u606f\u6cc4\u6f0f\u3001\u68c0\u7d22\u9884\u7b97\u4e0e\u6a21\u578b\u517c\u5bb9\u6027\u7b49\u5b9e\u9645\u95ee\u9898\u3002\u591a\u6570\u5efa\u8bae\u96c6\u4e2d\u5728\u4e2a\u4eba\u7248\u5b9a\u4ef7\u6298\u6263\u3001\u4e0a\u4e0b\u6587\u8303\u56f4\u63a7\u5236\u3001\u5185\u5bb9\u6eaf\u6e90\u4e0e\u58f0\u660e\u5468\u671f\u7ba1\u7406\uff0c\u4ee5\u53ca\u5bf9\u6a21\u578b\u95f4\u4e0a\u4e0b\u6587\u5dee\u5f02\u7684\u5904\u7406\u4e0a\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                Scritty \u5207\u4e2d\u7684\u75db\u70b9\u662f\u771f\u5b9e\u4e14\u666e\u904d\u7684\uff0c\u5b83\u63cf\u8ff0\u7684\u201c\u5728\u4e0d\u540c AI \u52a9\u624b\u95f4\u53cd\u590d\u7c98\u8d34\u4e0a\u4e0b\u6587\u201d\u7684\u573a\u666f\u662f\u6bcf\u4e2a\u91cd\u5ea6 AI \u7f16\u7801\u7528\u6237\u7684\u5669\u68a6\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e**\u89e3\u51b3\u4e86\u201c\u8bb0\u5fc6\u5b64\u5c9b\u201d\u95ee\u9898**\uff0c\u5c06\u4e00\u4e2a\u8106\u5f31\u7684\u3001\u4f9d\u8d56\u5355\u4e00\u4f9b\u5e94\u5546\u7684\u201c\u4f1a\u8bdd\u201d\u5347\u7ea7\u4e3a\u53ef\u7531\u5f00\u53d1\u8005\u63a7\u5236\u7684\u3001\u8de8\u5de5\u5177\u7684\u6301\u4e45\u5316\u201c\u77e5\u8bc6\u5e93\u201d\uff0c\u5e76\u901a\u8fc7 MCP \u534f\u8bae\u5b9e\u73b0\u4e86\u5b8c\u6574\u7684\u201c\u6355\u83b7-\u7d22\u5f15-\u53cd\u9988\u201d\u95ed\u73af\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5728 AI \u5de5\u5177\u94fe\u4e4b\u4e0a\u5efa\u7acb\u4e00\u4e2a**\u4e2d\u7acb\u7684\u6570\u636e\u548c\u63a7\u5236\u5e73\u9762**\uff0c\u8ba9\u5f00\u53d1\u8005\u4ece\u5bf9\u5de5\u5177\u7684\u4f9d\u8d56\u4e2d\u89e3\u8131\u51fa\u6765\uff0c\u56de\u5f52\u5230\u5bf9\u81ea\u8eab\u77e5\u8bc6\u548c\u6570\u636e\u7684\u6240\u6709\u6743\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5728\u6280\u672f\u5b9e\u73b0\u548c\u5546\u4e1a\u903b\u8f91\u4e0a\u5b58\u5728\u51e0\u4e2a\u4e0d\u5bb9\u5ffd\u89c6\u7684\u98ce\u9669\u70b9\u3002\u7b2c\u4e00\uff0c\u4e5f\u662f\u6700\u5173\u952e\u7684\u662f **\u201c\u574f\u8bb0\u5fc6\u201d\u95ee\u9898**\u3002\u6b63\u5982\u7528\u6237\u5c16\u9510\u6307\u51fa\u7684\uff0c\u68c0\u7d22\u5230\u9519\u8bef\u7684\u3001\u8fc7\u65f6\u7684\u63a8\u7406\u4e0a\u4e0b\u6587\u6bd4\u6ca1\u6709\u8bb0\u5fc6\u66f4\u5371\u9669\u3002Scritty \u5f53\u524d\u7684\u89e3\u51b3\u65b9\u6848\uff08\u8870\u51cf\u3001\u6807\u8bb0\uff09\u8fc7\u4e8e\u201c\u8f6f\u6027\u201d\uff0c\u7f3a\u4e4f\u5bf9\u4e8b\u5b9e\u7684\u201c\u786e\u8ba4\/\u9a73\u56de\u201d\u673a\u5236\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u9519\u8bef\u4fe1\u606f\u5728\u591a\u4e2a Agent \u95f4\u81ea\u6211\u5f3a\u5316\uff0c\u6700\u7ec8\u4ea7\u51fa\u707e\u96be\u6027\u4ee3\u7801\u3002\u8fd9\u4e0d\u4ec5\u9700\u8981\u6280\u672f\u4e0a\u7684\u201c\u8d1f\u53cd\u9988\u201d\u56de\u8def\uff0c\u66f4\u9700\u8981\u4e00\u5957\u5143\u6570\u636e\u8ffd\u8e2a\u7cfb\u7edf\u6765\u4fdd\u8bc1\u4fe1\u4efb\u3002\u7b2c\u4e8c\uff0c**\u9690\u79c1\u4e0e\u5b89\u5168\u662f\u60ac\u800c\u672a\u51b3\u7684\u8fbe\u6469\u514b\u5229\u65af\u4e4b\u5251**\u3002\u867d\u7136\u201c\u672c\u5730\u4f18\u5148\u201d\u662f\u5356\u70b9\uff0c\u4f46\u201c\u6355\u83b7\u4e00\u5207\u201d\u610f\u5473\u7740\u5305\u62ec API Key\u3001\u5185\u7f51\u8def\u5f84\u5728\u5185\u7684\u654f\u611f\u4fe1\u606f\u4f1a\u6beb\u65e0\u4fdd\u7559\u5730\u8fdb\u5165\u7d22\u5f15\u3002\u521b\u59cb\u4eba\u201c\u4f9d\u8d56\u7528\u6237\u81ea\u5df1\u6ce8\u610f\u201d\u7684\u56de\u5e94\u5bf9\u4e8e\u4f01\u4e1a\u7ea7\u5e94\u7528\u662f\u7edd\u5bf9\u4e0d\u53ef\u63a5\u53d7\u7684\uff0c\u5fc5\u987b\u5728\u6355\u83b7\u5c42\u63d0\u4f9b\u53ef\u914d\u7f6e\u7684\u3001\u5b9e\u65f6\u7684\u8131\u654f\u673a\u5236\u3002\u7b2c\u4e09\uff0c**\u5b9a\u4ef7\u7b56\u7565\u53ef\u80fd\u96be\u4ee5\u89e6\u8fbe\u6838\u5fc3\u7528\u6237**\u3002$19.99\/\u6708\u7684\u4e2a\u4eba\u8ba2\u9605\u5bf9\u4e8e\u8fd9\u4e2a\u201c\u89e3\u51b3\u7ea0\u7ed3\u201d\u800c\u975e\u201c\u63d0\u5347\u6548\u7387\u201d\u7684\u5de5\u5177\u6765\u8bf4\u95e8\u69db\u504f\u9ad8\u3002\u8bc4\u8bba\u533a\u7684\u5b9a\u4ef7\u4e89\u8bae\u5e76\u975e\u5b64\u4f8b\uff0c\u5b83\u8bf4\u660e\u514d\u8d39\u589e\u503c\u6a21\u5f0f\u6216\u66f4\u4f4e\u7684\u5165\u95e8\u4ef7\u624d\u66f4\u7b26\u5408\u72ec\u7acb\u5f00\u53d1\u8005\u201c\u5c1d\u9c9c\u201d\u7684\u5fc3\u7406\u9884\u671f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Scritty \u7684\u521b\u610f\u548c\u6280\u672f\u6846\u67b6\u65e0\u7591\u662f\u60ca\u8273\u7684\uff0c\u5b83\u4ee3\u8868\u4e86 AI \u5de5\u5177\u4ece\u5355\u4f53\u8d70\u5411\u534f\u4f5c\u751f\u6001\u7684\u5fc5\u7136\u8d8b\u52bf\u3002\u4f46\u5b83\u80fd\u5426\u4ece\u4e00\u4e2a\u6f02\u4eae\u7684\u4e2a\u4eba\u9879\u76ee\u8fdb\u5316\u4e3a\u7a33\u5b9a\u53ef\u9760\u7684\u751f\u4ea7\u529b\u6838\u5fc3\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u5728**\u8bb0\u5fc6\u7684\u51c6\u786e\u6027**\u548c**\u6570\u636e\u7684\u7edd\u5bf9\u5b89\u5168**\u8fd9\u4e24\u4e2a\u6700\u96be\u5543\u7684\u9aa8\u5934\u4e0a\u7ed9\u51fa\u786c\u6838\u65b9\u6848\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u662f\u7ed9\u5f00\u53d1\u8005\u7684\u4e00\u5f20\u201c\u8bb0\u5fc6\u652f\u7968\u201d\uff0c\u4f46\u5151\u73b0\u4e4b\u524d\uff0c\u4ecd\u6709\u201c\u4fe1\u4efb\u201d\u8fd9\u5ea7\u5927\u5c71\u8981\u7ffb\u8d8a\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\">scritty<\/span>\n                <\/div>\n<div class=\"comment-content\">scritty is a terminal emulator that captures every CLI agent&#8217;s conversation (Claude, Codex, Copilot, Antigravity, Ollama), indexes it into one searchable corpus you control, and serves it back to your agents over MCP and to you over the CLI. One session across desktop, browser, and mobile. Your captures stay on your machine.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>my only concern is the  subscription for individual developers. A lower priced personal tier or a lightweight plan for solo builders might encourage more people to give it a try after the trial ends.<\/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\/@gwendolyn_kira\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gwendolyn_kira<\/a>&nbsp;fair concern. there is already a solo tier: personal is $19.99\/mo with 14 day pilot, wanted that to stay in the \u201cindividual dev tool\u201d range rather than forcing solo builders into team pricing. that said, pricing\/packaging feedback like this is useful because I want the personal plan to feel reasonable\/obtainable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 case I would test hard is stale or wrong memory, not just recall. If one agent records a bad debugging hypothesis and another agent asks about the same repo tomorrow, can I mark that capture as superseded or incorrect so it stops being retrieved?<\/p>\n<\/p>\n<p>For coding agents, I would want each memory hit to show source session, repo\/branch, timestamp, and whether it was later contradicted. Local storage is a good default, but stale local facts can still send the next agent down the wrong path.<\/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\/@tang_weigang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tang_weigang<\/a>&nbsp;agreed bad memory can be more dangerous than no memory. there are levers like provenance, relevance\/confidence decay, and mark_noise to demote bad hits, but I wouldn\u2019t claim there\u2019s an explicit \u201csuperseded\/contradicted\u201d the idea is the substrate improves upon itself dynamically via these tools rather than hard deletes.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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, this solves a problem I run into quite often. I keep repeating the same project context every time I change AI tools. Having one shared memory across them all feels like a much cleaner workflow<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mathew_chang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mathew_chang<\/a>&nbsp;exactly. repeating \u201clet me restate the whole project to the next tool\u201d loop was the thing I wanted (maybe even obsessively needed) to kill. shared memory across tools feels much closer to how people\/teams actually work than keeping each agent in its own silo.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I built scritty because I got tired of agents making me repeat myself.<\/p>\n<p>Deep into a problem on Claude, I&#8217;d hit the usage limit mid thought or debugging, so then I would go over to Copilot which is now a new empty session, so I&#8217;d bring it up to speed by pasting context back in. Hit that wall and then I do the same thing on Codex. Run that one dry and I&#8217;m off to Antigravity. Burn that out and don&#8217;t want to wait for limit refreshes so switch to running local Ollama and repeat. Same project the whole way, and every switch turns into the same tedious, token-wasting chore: copy+pasting old conversation, dropping in screenshots, jamming as much as I can into the prompt and hoping for the best.<\/p>\n<p>So I built a terminal they all run inside. It sits where every one of them already is, captures the conversation as it happens, and turns it into one searchable memory that carries across every switch.<\/p>\n<p>You run any AI CLI inside scritty. It detects what agent is running from the process itself, tags every exchange with the provider, and indexes it locally into an embedded vector store (swappable if you already run qdrant, pgvector, chroma, or weaviate). Search is hybrid and fully offline. Then it exposes that knowledge base over an MCP server and a CLI, so your agents can query their own and each other&#8217;s past turns, and you can query it as you work.<\/p>\n<p>Two things I use every day:<\/p>\n<p>&#8211; prompt.toml: Because I own the terminal, I can write my rules once and scritty injects them into every message before it reaches whichever agent is running, plus that vendor&#8217;s own rule file. Markdown files with rules are great, but their relevance is prone to decay, whereas this is in the agent&#8217;s face every turn (or toggle it off when you don&#8217;t need\/want it).<br \/>\n&#8211; Phone sync: same terminal session is live on my phone as a PWA. I start something at my desk, walk away, and pick it up on my phone, both ends in sync. My favorite part.<\/p>\n<p>It is local-first and paid. Personal is $19.99\/mo and runs entirely on your machine with no cloud account; there is a free 14-day pilot and no permanent free tier. Your agents already keep memory, but it is locked in each vendor&#8217;s box and metered when you reach back into it; scritty&#8217;s lives on your machine and is free to query, offline. One agent gives you a searchable memory of your own work; every agent you add shares the same corpus. It scales to teams as a shared enforcement layer and a federated, access-controlled, auditable knowledge base, with a per-org control plane for members, billing, seats, audit, license, SSO and SAML, which is a part I really care about coming from regulated environments (banking, healthcare, public sector). Sessions are private by default and you opt into what gets shared. And because capture is at the terminal and not inside any vendor, the agent vendor is swappable: Claude this quarter, Codex or Antigravity the next, nothing lost and no data migration, because the knowledge base is yours and agents rotate through it.<\/p>\n<p>There&#8217;s a 3:09 demo on the site. The whole point is I never start cold again: whoever I&#8217;m working with (agent or dev team) can pull up everything the last one already figured out. Happy to answer anything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@scritty_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@scritty_dev<\/a>&nbsp;Congrats on the launch! \ud83c\udf89<\/p>\n<p>Scritty sounds like a game-changer <\/p>\n<p>for AI coding agents &#8211; shared memory <\/p>\n<p>across Claude, Codex and Copilot is <\/p>\n<p>exactly what developers need.<\/p>\n<p>Quick question &#8211; when devs search <\/p>\n<p>&#8220;shared memory for AI coding agents&#8221; <\/p>\n<p>on ChatGPT, is Scritty showing up?<\/p>\n<p>I help dev tools get discovered on <\/p>\n<p>ChatGPT &amp; Google through Reddit. <\/p>\n<p>Communities like r\/ClaudeAI and <\/p>\n<p>r\/LocalLLaMA would love Scritty.<\/p>\n<p>Would love to connect!<\/p>\n<p>&#8211; Priyesh Kharwar<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@scritty_dev Shared memory sounds powerful until different agents start inheriting context they probably shouldn&#8217;t.<\/p>\n<p>Where did you draw the line between making knowledge reusable and preventing bad context from spreading across workflows?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>The immutable-transcript plus redact-at-share-boundary split makes sense, but the local index still holds plaintext secrets at rest \u2014 so any agent or MCP client with read access to the data dir (or a synced backup) can pull an old key straight out of search. Is there any at-rest encryption on the local store, or is the model explicitly &#8216;your disk is the trust boundary&#8217;? And can the session-to-project scope widening be gated per MCP client, so one agent can&#8217;t request the whole corpus?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 tracks. The wall I hit doing hybrid retrieval over raw terminal exchanges is that tool output, the file dumps and stack traces, dominates the keyword side and matches great while carrying zero reasoning, and the actual &#8216;why&#8217; lives in the model prose the vector side catches. Ended up down-weighting tool-output spans so the small budget didn&#8217;t get eaten by noise that scored relevant. Do you tag span type at capture, or leave it to the ranker?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;bingo. tool output matches great on keyword and carries zero &#8216;why&#8217; cause reasoning lives in prose the vector side catches. down weighting after the fact works but you&#8217;re making ranker rederive span type on every query (which is wasteful and query order dependent) so we tag at capture. content gets classified into normal\/thinking\/tool-call by structural parsers + noise pass that strips tui chrome and pure status\/tool call rows before they ever hit index. so span type is a stored property, not a per query guess. the ranker then does query specific part signed EMA down rank on explicit noise marks and axis-aware decay, on top of corpus that&#8217;s already typed.<\/p>\n<p>split we landed on was capture decides what a span is (stable, structural); ranker decides what it&#8217;s worth for this query (dynamic, feedback driven). trying to do first job in ranker is the budget eaten by noise problem you hit cause you can&#8217;t cheaply re-classify at query time, so you end up hand weighting. tag once, up front, and small budget goes to reasoning instead of stack traces.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 solo dev the prompt.toml part hits home lol \u2014 I keep a <a href=\"https:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a> of rules and just watch its relevance decay the deeper a session goes, so injecting them every turn is way better. Quick q on the phone-sync PWA: can the agent keep chugging on a long task while I&#8217;m away from my desk, or is it read-only until I&#8217;m back at the terminal?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@lennoxbeflying\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lennoxbeflying<\/a>&nbsp;exactly the itch. CLAUDE.md is static and its pull decays as window fills with newer tokens  so when youre ~40 turns deep it&#8217;s buried. asserting rules right before each prompt keeps them on top of  stack instead of fossilized at the bottom. that&#8217;s the whole point of the assembly pipeline.<\/p>\n<p>on the pwa: not read only. it&#8217;s the same pty, not a mirror so your output and keystrokes both flow  both ways. agent runs on your desktop and keeps chugging whether watching or not; phone is live window into that session, so you can read, approve step, or nudge it from the couch\/toilet\/car w.e. and it lands in  same terminal.<\/p>\n<p>caveats is since it is local first the work happens on your machine, so box has to stay awake. if it sleeps agent sleeps. &#8220;away&#8221; means on your network out of the box (binds &nbsp;0.0.0.0:3000, hit <a href=\"http:\/\/:3000\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">http:\/\/:3000<\/a>). truly off network you tunnel in (tailscale\/vpn) no cloud relay by design, nothing leaves your box.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 sells me is that it sits as the terminal the agents already run in and captures passively \u2014 the &#8216;bring the new session up to speed&#8217; dance is exactly the tax I want gone. Since captures stay local, does secret\/token redaction happen at capture time, or does raw terminal output (API keys, env dumps) land in the searchable index as-is? And when an agent pulls context back over MCP, is retrieval scoped per-project\/repo, or does it serve the whole corpus so unrelated work bleeds into the prompt?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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; 1.) no capture-time redaction raw output lands as-is, but it&#8217;s all local\/no-telemetry, and I&#8217;d rather redact at share boundary (encrypted sidecar) than rewrite actual transcript as I treat it as immutable. that said I will happily roadmap this as a native feature vs relying on user. my methodology is a DRY wrapper around the same code for CLI and MCP so both you and your agent(s) can do it. 2.) auto-injected context is session-scoped by default, so unrelated work doesn&#8217;t bleed in; widening to project\/global is opt-in, and the hard &#8220;never mix&#8221; boundary is separate tenants\/data dirs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 that it keeps everything local and still makes the corpus searchable across tools, the MCP piece is a really thoughtful bridge between agents and your own history.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tugaytakmaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tugaytakmaz<\/a> appreciate it! local capture is only a third of it, MCP is what lets agents actually read their own history back instead of it just being a glorified log. glad it clicked. (other third is the prompt.toml 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That&#8217;s pretty interesting! I wonder if this would help w\/ distillation of the model?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@monolithdread\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monolithdread<\/a>&nbsp; interesting angle. scritty isn&#8217;t a distillation tool itself but capture + memory&#8230;that said it <em>does<\/em> produces the thing distillation needs: a local corpus of raw turns, tagged by which model produced them, that you own and can export. so it is a clean source for building distillation\/fine-tune\/eval sets from your actual work so that kind of downstream use case is possible. just not the product&#8217;s intended job today (data model doesn&#8217;t fight you on it though)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 it actually hook into the different CLI agents, do you need to run them through a wrapper or does it just sit and watch the terminal output?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ouzhan1949682\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ouzhan1949682<\/a>&nbsp;no wrapper around vendor APIs. scritty works by <strong>being<\/strong> the terminal the agents run inside so it is able to capture sessions directly. scritty spawns shell inside PTY and just watches. detects active agent by scanning child processes, tags it, and indexes locally. <\/p>\n<p>I wanted the memory layer upstream of any vendor\/tool rather than bolted on bespoke APIs.                      <\/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 cross-tool angle hides a mismatch I keep hitting: memory written by one model&#8217;s sense of what mattered, read back by a different one. A summary of Claude&#8217;s own debugging reasoning isn&#8217;t always legible to Codex, which had a different plan for the same repo. You mentioned raw turns stay the source of truth, which is the right call, so the pressure moves to retrieval budget: what&#8217;s the cap on turns pulled per query? Pull back 15 old sessions and you&#8217;ve rebuilt the exact context wall you&#8217;re routing around.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;correct. so retrieval budget is intentionally small not \u201creplay 15 sessions.\u201d goal is a few high-signal exchanges\/chunks so you don\u2019t recreate same context wall you were trying to escape. agreed on model mismatch point too: codex should read claude\u2019s raw exchange text, not claude\u2019s self-summary of what mattered. raw turns stay source of truth; summaries are a derived helper.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 fact that everything stays local and still feeds back to your agents via MCP is a really thoughtful bit of craft. local-first capture that actually closes the loop with the tools feels rare.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nesrin318706\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nesrin318706<\/a>&nbsp;thanks! &#8220;closes the loop&#8221; is exactly the framing I was going for. local capture + MCP readback is the difference between logs and actual memory. means a lot that it landed. \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>finally a way to stop losing track of what claude told me in that one terminal two weeks ago, the local index feels snappy and the mcp handoff back to my agents actually worked on the first try<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aslhan345499\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aslhan345499<\/a>&nbsp;exactly the loop we were chasing! thanks for saying it worked first try. local index so it&#8217;s fast and yours, MCP handoff so your agents can actually read it back. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is the exact workflow i have, burning through Claude then hopping to Codex mid problem. one thing that worries me: terminal sessions end up full of API keys, .env dumps, stack traces with internal urls. if you&#8217;re capturing and indexing everything by default, is there any redaction before it hits the searchable corpus, or is that on me to be careful about what i paste<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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> fair concern. local-first + no telemetry means by default this all stays on your machine. if you want to share\/export, you can do that with normal controls:  <\/p>\n<p>selective export, regex passes for common key patterns, SQLCipher encrypted sqlite\/packages, whatever policy your team uses. i\u2019d rather keep the raw local transcript intact and secure the share boundary than mutate everything up front.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 way to stop losing track of what claude said in that one terminal session two days ago. the local index idea is solid<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@esiladindoruk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@esiladindoruk<\/a>&nbsp;haha yes exact \u201cfinally\u201d sentiment is what I was going for. answers stay local, searchable, and not trapped inside whichever tool happened to say it. &#8220;stop losing track of what claude said in that one terminal session two days ago&#8221; swap out claude for any N agent and this is pretty much the tagline \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 context loss between agents is real and nobody talks about it <\/p>\n<p>enough. I&#8217;ve been using Claude Code heavily and the moment you hit <\/p>\n<p>a usage limit mid-session the mental overhead of rebuilding context <\/p>\n<p>somewhere else is brutal \u2014 you spend the first 10 messages just <\/p>\n<p>catching the new agent up instead of actually solving the problem.<\/p>\n<p>The MCP angle is the part that makes this different from just <\/p>\n<p>&#8220;searchable logs.&#8221; Agents querying each other&#8217;s past turns rather <\/p>\n<p>than starting cold is a genuinely different model. Curious how the <\/p>\n<p>retrieval quality holds up on longer sessions \u2014 does it surface <\/p>\n<p>the right past context or do you find yourself still needing to <\/p>\n<p>manually point it at the right conversation?<\/p>\n<p>Also the prompt.toml injection is underrated. Maintaining consistent <\/p>\n<p>rules and persona across agent switches without copy-pasting is <\/p>\n<p>something I&#8217;d use daily.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@l_build\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@l_build<\/a>&nbsp;appreciate this! retrieval quality question is the real one cause searchable logs alone aren\u2019t enough. under the hood it\u2019s hybrid keyword + vector retrieval over captured exchanges, exposed back to agents over MCP, so the goal is to surface the few prior turns that actually matter instead of making you reconstruct the session by hand. it might seem counter-intuitive but I let the retrieved results shape the context in the prompt vs try to shove all (what I deem) relevant context in myself<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The part that got me: it serves the captured history back to the agents over MCP. Most &#8220;agent memory&#8221; tools stop at making things searchable for the human.<\/p>\n<\/p>\n<p>I run Claude Code plus a couple of other CLI agents side by side, and they constantly re-derive context the other one already figured out. One local corpus they can all query is exactly the right shape for this.<\/p>\n<\/p>\n<p>And keeping captures on-machine instead of phoning home \u2014 nice call \ud83d\udc4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@akbar_b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akbar_b<\/a> thank you! MCP part was one of the main pieces I cared about most. lot of \u201cmemory\u201d products stop at making history searchable for humans&#8230; wanted the agents themselves to be able to query the same local corpus.  keeping captured content on local machine was non-negotiable for me. ZDR is the only thing that makes sense the way devs use these tools for coding out their IP<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>If I&#8217;m working across multiple client projects that shouldn&#8217;t ever mix, is the corpus scoped per project\/repo by default, or is it one global memory that I&#8217;d have to manually wall off? Worried about an agent on project A accidentally surfacing something it learned while I was working on project B.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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> good question. i don\u2019t want one giant memory blob either. today the real hard boundary is tenants\/data dirs, not automatic per-project walls. sessions are private by default, and team visibility is opt-in. if client separation really matters, i\u2019d use separate tenants\/data dirs<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 piece i keep waiting for. every agent has its own memory silo which means every session gets rebuilt from scratch. cross-tool memory should be a standard everyone shares. also the fact that it stays local instead of getting phoned home makes this ok to leave running.<\/p>\n<\/p>\n<p>question for v2: does the index know when two conversations are about the same thing but happened in different tools, or is it just full text search? that dedupe is where this gets scary useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thenameisarian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thenameisarian<\/a>&nbsp; exactly and for v2 this is why scritty does hybrid retrieval instead of semantic only search.  fuses lexical + semantic results with RRF, and you can search across sessions\/providers instead of being stuck in one agent thread. in practice helps <strong>a lot <\/strong>when you remember exact term\/file\/function name sometimes, and only rough idea or hazy memory other times.                                                                                                                                         <\/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 context loss when you switch from Claude Code to another agent mid problem is exactly what kills me, so pulling it all into one searchable memory over MCP is a great idea. Does it keep the full transcript searchable or summarize once a session gets big? Congrats on shipping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@i_sanjay_gautam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@i_sanjay_gautam<\/a>&nbsp;that mid prompt\/problem agent switch pain was <em>exactly<\/em> the trigger for building it. raw exchanges stay searchable as a source of truth, and there are summary\/compaction tools (I&#8217;m pretty wary of summaries replacing underlying turns) I want summaries to help navigation not become a lossy substitute for the actual transcribed session(s)<\/p>\n<\/p>\n<p>&#8230;and thanks \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>how does it actually capture the conversation from agents like Codex and Copilot, do you have to wrap the calls or does it hook into the terminal session 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@beyzaokhan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@beyzaokhan<\/a>&nbsp;works by <em>being<\/em> the terminal the agents run inside, not depending on vendor API(s). scritty detects active agent from process itself, captures exchanges in that terminal session, tags by provider, and indexes them locally. important to me because I wanted memory layer upstream of vendor lock-in and avoid dependency on things like spinners that are subject to UI updates making detection at 1 level down brittle at best<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that pulls all my agent chats into one place without sending data anywhere, the MCP search back into claude worked surprisingly well on my session history<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@serhat273347\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serhat273347<\/a>&nbsp; exactly intended loop \ud83d\ude42 capture stays local, and same corpus is an mcp server so any agent (claude included) can search its own history back. glad the recall landed and please shout if you uncover useful feedback or desired features.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 indexing actually work under the hood when the agents stream output live, do you buffer the full transcript and re-embed after each turn or keep an incremental vector index in sync as the conversation grows?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sabanl51707\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabanl51707<\/a>&nbsp;neither, really. split you drew is right question but answer is third option. granularity is exchange, not  whole conversation. we don&#8217;t buffer full transcript, and we don&#8217;t re-embed  session on each turn. only thing that ever gets re-indexed is the reply currently streaming. it&#8217;s kept in sync in place as it grows, then it&#8217;s done. everything already captured stays put. so cost scales with the size of current turn, not length of conversation that way a 200+ turn session isn&#8217;t any more expensive to keep in sync than a 2-turn one. chunking is content shape aware (code, prose, and stack traces split differently), and unchanged turns are skipped on any rebuild.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I\u2019m not sure if a new terminal app is the right solution; I wish this was a layer I could wire into my existing agents. I don\u2019t need to be locked into a terminal emulator with a subscription, a coordination layer I could stomach.<\/div>\n<div class=\"comment-actions\">\n<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\/@mdgld\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mdgld<\/a>&nbsp; it <em>is<\/em> the coordination layer you&#8217;re describing exactly as you named it. it&#8217;s not a new agent and there&#8217;s nothing to wire in. claude\/codex\/copilot stay exactly as they are same cli, no wrapper, no plugin, no sdk. <\/p>\n<p>scritty is the terminal they already run in and coordination happens at the pty boundary. so &#8220;wire a layer into my agents&#8221; is already what&#8217;s happening. don&#8217;t want the window? same corpus is an mcp server (scritty serve) + cli and just point your agents at it. <\/p>\n<p>actual value is continuity. stateless agents rederive same repo map every run and decay occurs as a session advances. that&#8217;s the tax a big repo charges you. scritty holds the map so the next run doesn&#8217;t pay for it again, and cause capture sits at terminal instead of inside one agent, map built is there when agent wakes up.<\/p>\n<p>on price: for single devs $19.99\/mo, heartbeat enforced. basically youre buying the cross session and agent coordination those tools lack. now that everyone bills by the token it pays for itself: inject relevant slice, not wall of prose, and stop paying Nx times for same archaeological dig every task. free pilot is 5k turns \/ 14 days.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/KPVM3HDQYYLGP7\" class=\"app-title\">EasyAR Mega<\/a><\/p>\n<div class=\"one-liner\">Turn entire cities into your AR canvas.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">113<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>EasyAR Mega \u662f\u4e00\u6b3e\u57ce\u5e02\u7ea7\u89c6\u89c9\u5b9a\u4f4d\u7cfb\u7edf\uff08VPS\uff09\uff0c\u8ba9\u5f00\u53d1\u8005\u7528\u624b\u673a\u6216\u666e\u901a\u5168\u666f\u76f8\u673a\u5373\u53ef\u5c06\u5546\u573a\u3001\u666f\u533a\u4e43\u81f3\u6574\u5ea7\u57ce\u5e02\u53d8\u6210\u5398\u7c73\u7ea7\u7cbe\u51c6\u3001\u6301\u4e45\u53ef\u7528\u7684AR\u753b\u5e03\uff0c\u89e3\u51b3\u6237\u5916\u5927\u7a7a\u95f4AR\u5e94\u7528\u957f\u671f\u5b58\u5728\u7684\u5b9a\u4f4d\u6f02\u79fb\u548c\u9ad8\u6210\u672c\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\/6f3b76fd-0068-4530-a58e-53af76bbff6f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c95cc1d8-0de2-4a1a-bf16-007c84bdfe39.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\/ffb7ddc0-7181-4be4-8a21-610af6cbb093.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\/86860cc2-d330-46c2-89c9-16e1a4137fdb.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\/1c04106f-90d9-446c-b2b3-c3755fc86adc.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\/46c99d41-6df0-4659-8b1c-d17403b90732.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/UjfyqTwcBNo\"><source src=\"https:\/\/youtu.be\/UjfyqTwcBNo\" 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\">Augmented Reality<\/span><br \/>\n            <span class=\"tag\">Mixed Reality<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u89c6\u89c9\u5b9a\u4f4d\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">VPS<\/span><br \/>\n            <span class=\"tag\">\u7a7a\u95f4\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">\u5927\u7a7a\u95f4AR<\/span><br \/>\n            <span class=\"tag\">\u5398\u7c73\u7ea7\u5b9a\u4f4d<\/span><br \/>\n            <span class=\"tag\">AR\u5bfc\u822a<\/span><br \/>\n            <span class=\"tag\">AR\u6e38\u620f<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u5b6a\u751f<\/span><br \/>\n            <span class=\"tag\">\u591a\u7ec8\u7aef\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u4e91\u5730\u56fe<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u9690\u79c1\u5408\u89c4\uff08\u5982GDPR\uff09\u53ca\u4eba\u8138\/\u8f66\u724c\u6a21\u7cca\u5904\u7406\uff1b\u5173\u5fc3\u5b63\u8282\u53d8\u5316\u3001\u4eba\u7fa4\u62e5\u6324\u53ca\u706f\u5149\u53d8\u5316\u5bf9\u5b9a\u4f4d\u7cbe\u5ea6\u7684\u5f71\u54cd\uff1b\u8be2\u95ee\u514d\u8d39\u8bd5\u7528\u989d\u5ea6\u7533\u8bf7\u53ca\u975e\u65d7\u8230\u624b\u673a\u517c\u5bb9\u6027\uff1b\u671f\u5f85\u7528\u4e8eAR\u6e38\u620f\u3001\u5bfc\u822a\u7b49\u573a\u666f\uff0c\u5e76\u786e\u8ba4\u652f\u6301\u5357\u7f8e\u7b49\u5730\u533a\u90e8\u7f72\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                EasyAR Mega\u5e76\u975e\u53c8\u4e00\u4e2aAR SDK\u7684\u5fae\u521b\u65b0\uff0c\u800c\u662f\u76f4\u63a5\u6345\u7834\u4e86AR\u884c\u4e1a\u201c\u5927\u7a7a\u95f4\u96be\u7528\u3001\u5c0f\u7a7a\u95f4\u9e21\u808b\u201d\u7684\u7a97\u6237\u7eb8\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u4e24\u70b9\uff1a\u7b2c\u4e00\uff0c\u5c06\u6570\u636e\u91c7\u96c6\u95e8\u69db\u964d\u81f3\u201c\u624b\u673a+\u5168\u666f\u76f8\u673a\u201d\u7684\u6d88\u8d39\u54c1\u7ea7\uff0c\u663e\u8457\u964d\u4f4e\u4e86\u5f00\u53d1\u8005\u8fdb\u5165\u57ce\u5e02\u7ea7AR\u7684\u95e8\u69db\uff1b\u7b2c\u4e8c\uff0c\u5398\u7c73\u7ea7\u7cbe\u5ea6\u4e0eGPS\u76f2\u533a\uff08\u5982\u5ba4\u5185\u591a\u5c42\u5546\u573a\uff09\u7684\u7a33\u5b9a\u8868\u73b0\uff0c\u8ba9AR\u5bfc\u822a\u3001\u5546\u4e1a\u8425\u9500\u3001\u6e38\u620f\u7b49\u573a\u666f\u4eceDemo\u8d70\u5411\u4e86\u5b9e\u9645\u53ef\u8fd0\u8425\u3002\u4ece\u8bc4\u8bba\u56de\u590d\u4e2d\u53ef\u4ee5\u770b\u51fa\uff0c\u56e2\u961f\u5bf9\u9690\u79c1\u5408\u89c4\u3001\u5149\u7ebf\u53d8\u5316\u3001\u62e5\u6324\u573a\u666f\u7b49\u5de5\u7a0b\u5316\u96be\u9898\u7ed9\u51fa\u4e86\u5177\u4f53\u65b9\u6848\uff0c\u800c\u975e\u753b\u5927\u997c\uff0c\u8fd9\u8868\u660e\u4ea7\u54c1\u5df2\u7ecf\u8fc7\u771f\u5b9e\u6218\u573a\u68c0\u9a8c\uff0c\u5177\u5907\u8f83\u5f3a\u7684\u9c81\u68d2\u6027\u3002\u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a\u7528\u6237\u6700\u5173\u5fc3\u7684\u201c\u573a\u666f\u5b63\u8282\u6027\u53d8\u5316\u201d\u95ee\u9898\uff0c\u56de\u590d\u4ecd\u504f\u7406\u60f3\u5316\uff0c\u4e14\u591a\u5730\u56fe\u878d\u5408\u3001\u589e\u91cf\u66f4\u65b0\u8fd9\u6837\u7684\u9ad8\u7ea7\u529f\u80fd\u610f\u5473\u7740\u5b66\u4e60\u6210\u672c\u4e0d\u4f4e\u3002\u6b64\u5916\uff0c\u8fc7\u5ea6\u4f9d\u8d56\u5f00\u53d1\u8005\u81ea\u5efa\u5730\u56fe\uff0c\u65e2\u7f3a\u4e4f\u7c7b\u4f3cGoogle\u8857\u666f\u7684\u5e95\u56fe\u6570\u636e\u50a8\u5907\uff0c\u4e5f\u65e0\u6cd5\u89e3\u51b3\u5c0f\u56e2\u961f\u201c\u5730\u90fd\u6d4b\u4e0d\u8d77\u201d\u7684\u7a98\u5883\u3002\u56e0\u6b64\uff0cEasyAR Mega\u5f53\u524d\u7684\u6740\u624b\u950f\u4ecd\u7136\u5728B\u7aef\u3001\u5728\u56fa\u5b9a\u573a\u666f\u7684\u957f\u671f\u8fd0\u7ef4\uff08\u5982\u5546\u573a\u3001\u535a\u7269\u9986\uff09\uff0c\u800c\u975e\u5e7f\u5927\u72ec\u7acb\u5f00\u53d1\u8005\u5e7b\u60f3\u7684\u4e00\u591c\u5efa\u6210\u201c\u57ce\u5e02\u7ea7\u5b9d\u53ef\u68a6GO\u201d\u3002\u5b83\u80fd\u89e3\u653e\u751f\u4ea7\u529b\uff0c\u4f46\u79bb\u8ba9\u201c\u6bcf\u4e00\u4e2a\u521b\u4f5c\u8005\u62e5\u6709\u6574\u5ea7\u57ce\u5e02\u201d\u8fd8\u5dee\u4e00\u4e2a\u5927\u4f17\u5316\u7684\u5730\u56fe\u8d44\u4ea7\u6c60\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\">EasyAR Mega<\/span>\n                <\/div>\n<div class=\"comment-content\">EasyAR Mega is a large-scale Visual Positioning System (VPS) that empowers developers to build persistent, centimeter-accurate AR experiences for cities, malls, and scenic spots with flexible data acquisition (phones, panoramic cameras, or scanners) and multi-terminal deployment.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello Product Hunt! I\u2019m thrilled to introduce EasyAR Mega to the community today. \ud83d\ude80<br \/>For years, AR development has been trapped in a &#8220;small-scale bottleneck.&#8221; Building large-space AR navigation or city-scale AR marketing required massive budgets, specialized hardware, and months of tweaking.<br \/>We built EasyAR Mega to democratize spatial computing. We wanted to give every indie developer, creator, and studio the superpower to turn the physical world into a digital playground using just a smartphone or a consumer-grade 360 camera.<br \/>Whether you want to build:<br \/>\ud83c\udfdb\ufe0f An interactive AR tour guide for an ancient museum,<br \/>\ud83d\udecd\ufe0f An immersive cyber-punk shopping mall assistant,<br \/>\ud83c\udfae Or a massive city-wide multiplayer AR game&#8230;<br \/>EasyAR Mega has your back with out-of-the-box Unity plugins, WeChat mini-program integrations, and full XR headset compatibility.<br \/>\ud83c\udf81 Special Product Hunt Gift:<br \/>We would love to hear your feedback! Let us know what you&#8217;d like to build in the comments below. To celebrate our launch, everyone can enjoy our free trial credits starting today!<br \/>Let&#8217;s build the Spatial Internet together. What will you create first? \ud83d\udc47<\/p>\n<p><a href=\"https:\/\/discord.gg\/YNfVsYs56\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/YNfVsYs56<\/a><\/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\/@yuha_crows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuha_crows<\/a>&nbsp;<\/p>\n<p>Hi Product Hunt community, I\u2019m Xiaojun Zhang, founder of EasyAR.<\/p>\n<p>Thank you for checking out EasyAR Mega. We\u2019ve been building AR infrastructure for many years, and one thing became very clear to us: for AR to become truly useful in the real world, apps need to understand where they are with much higher precision than GPS can provide \u2014 especially indoors, in dense urban environments, and in complex public spaces.<\/p>\n<p>That\u2019s why we built EasyAR Mega, a large-scale Visual Positioning System \u2014 VPS \u2014 for creating persistent, location-based AR experiences across malls, museums, campuses, hospitals, scenic areas, commercial districts, and city-scale spaces.<\/p>\n<p>EasyAR Mega uses pre-built visual maps to help smartphones and supported XR glasses understand their precise location in the physical world \u2014 without QR codes, Bluetooth beacons, or extra on-site hardware for end users.<\/p>\n<p>Once a space is mapped, developers can build AR navigation, digital human guides, location-based games, cultural tourism experiences, retail activations, exhibitions, and other spatial computing applications.<\/p>\n<p>We\u2019re especially excited to see what indie developers, AR studios, museums, tourism operators, and location-based experience teams will build with it.<\/p>\n<p>Would love to hear your feedback from the Product Hunt community. What kind of real-world AR experience would you want to build first?<\/p>\n<p>Thanks,<\/p>\n<p>Xiaojun<\/p>\n<p>Founder, EasyAR<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>11<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yuha_crows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuha_crows<\/a>&nbsp;What AR games can be made?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@yuha_crows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuha_crows<\/a>&nbsp;Congrats to the team! Turning entire cities into an AR canvas is a bold vision, and EasyAR Mega looks like a strong foundation for practical city-scale AR navigation and persistent experiences.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Q: We care deeply about privacy and data compliance. Can we deploy this in the US, Europe, or Japan?<\/p>\n<p>A: Absolutely. We are fully aware of regional compliance requirements (like GDPR in Europe or specific data localization laws in the US and Japan). EasyAR Mega is built with a flexible architecture that supports regional server deployment and strict data compliance framework isolation, ensuring that map data and user positioning requests are processed legally and securely within your target market.<\/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\/@yuha_crows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuha_crows<\/a>&nbsp;Thanks! How do you handle privacy in captured imagery? Are faces and license plates automatically anonymized or removed during the mapping process?<\/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\/@yuha_crows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuha_crows<\/a>&nbsp;Great to hear that regional deployment is supported. Does EasyAR Mega support South America as well? Can developers create maps and use positioning services for cities or venues there?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Q: What exactly is EasyAR Mega, and how is it different from standard SLAM SDKs?<\/p>\n<p>A: Standard AR SDKs (like basic SLAM) are built for room-scale or tabletop experiences, which easily drift in large open areas. EasyAR Mega is a city-scale Visual Positioning System (VPS) platform. It uses cloud-based spatial computing to bind digital content to persistent, real-world physical coordinates (from shopping malls to entire city blocks) with centimeter-level accuracy<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Q: Is there a free tier or trial available for Indie developers or startups?<\/p>\n<p>A: Yes! We love indie creators. We offer a generous free trial quota that includes free credits for cloud mapping and positioning requests so you can test and build your proof-of-concept without touching your wallet. You can scale up to our usage-based pay-as-you-go tiers as your project grows.<\/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\/@yuha_crows\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuha_crows<\/a>&nbsp;Awesome, thanks! How do we apply for the free trial? And just to confirm, can we use it for the full process, including building the map and testing positioning requests?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Q: How long does the cloud mapping process take after uploading the data?<\/p>\n<p>A: For most standard locations (like a retail store, museum, or outdoor square), our automated cloud reconstruction engine will deliver a highly accurate, deployable 3D spatial map within 24 hours.<\/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>Curious how well EasyAR Mega holds up when an area gets a lot of seasonal changes, like trees leafing out or storefronts swapping signage \u2014 does it drift or need re-mapping often?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@orhansoykapwbr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@orhansoykapwbr<\/a>&nbsp;If storefronts swapping signage a lot, the ratio of successfuly localizations might be low.  We provide serveral solutions :Incremental update which partial update your VPS data and lossless full update. You can find out more at  <a href=\"https:\/\/www.easyar.com\/doc\/en\/mega\/scene-update\/intro.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.easyar.com\/doc\/en\/mega\/scene-update\/intro.html<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@orhansoykapwbr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@orhansoykapwbr<\/a>&nbsp;As for seasonal changes, in ubran scenes, it should not be a major issue since the system is pretty robust to seasonal changes. Some degradtion is expected indeed though.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 this handles GPS-denied indoor spaces like a multi-floor mall, and whether the centimeter accuracy holds up across different phone models or only flagships?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dndgynnnnx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dndgynnnnx<\/a>&nbsp;<\/p>\n<p>Hi D\u00f6nd\u00fc,<\/p>\n<p>Thank you for your question. Here is how EasyAR Mega handles these scenarios:<\/p>\n<ol>\n<li>\n<p>Multi-Floor Indoor Spaces: Our solution has been extensively verified and is currently running long-term in many GPS-denied, multi-floor environments like the shopping malls you mentioned and hospitals. For spaces where floors have visually overlapping areas\u2014such as stairwells\u2014you can use our multi-map fusion feature to synthesize everything into a single, unified map. You can find more details on this workflow in our <a href=\"https:\/\/www.easyar.com\/doc\/en\/mega\/mapping\/large-space.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Multi-Map Fusion documentation<\/a>.<\/p>\n<\/li>\n<li>\n<p>Device Accuracy and Hardware Variance: Our localizaiton quality has been tested across a massive range of devices with consistent results. You do not strictly need a flagship phone to achieve high accuracy, but the final experience will inevitably vary depending on the hardware. Generally, devices that natively support ARKit or ARCore provide more stable tracking and an overall better experience. For a detailed breakdown of how performance scales across different hardware tiers, please refer to our <a href=\"https:\/\/www.easyar.com\/doc\/en\/develop\/mega\/devices.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Device and platform support overview<\/a>.<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Q: Which platforms and XR headsets are supported out of the box?<\/p>\n<p>A: We believe in &#8220;Build Once, Deploy Anywhere.&#8221; EasyAR Mega provides robust Unity plugins and natively supports:<\/p>\n<p>Mobile: iOS, Android, and WeChat Mini-Program<\/p>\n<p>XR Headsets: Apple Vision Pro, XREAL, Rokid, Meta Quest\uff08in development\uff09, and Pico.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Q: What kind of hardware do I need to scan an environment and create a map? Do I need expensive LiDAR?<\/p>\n<p>A: No, you don&#8217;t need expensive specialized gear! EasyAR Mega offers ultimate flexibility in data acquisition. You can use:<\/p>\n<p>Smartphones: Standard iOS or Android devices.<\/p>\n<p>Consumer hardware: Consumer-grade panoramic cameras (e.g., GoPro Max).<\/p>\n<p>Professional gear: High-end laser scanners (like XGRIDS) for ultra-massive or highly complex industrial environments.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 does the centimeter accuracy hold up in changing lighting or crowded outdoor scenes, and is the VPS data something I capture myself or does it need to come from your prebuilt maps?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@medinecanboy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@medinecanboy<\/a>&nbsp;<\/p>\n<p>Hi Medine,<\/p>\n<p>Great questions. Here is how EasyAR Mega handles these situations:<\/p>\n<ul>\n<li>\n<p><strong>Lighting Changes &amp; Crowds:<\/strong> Our algorithm has built-in robustness to handle normal lighting variations and dynamic environments like crowded outdoor scenes. For extreme lighting differences (such as mapping the same scene during the day versus at night), you can utilize our<a href=\"https:\/\/www.easyar.com\/doc\/en\/mega\/advanced-scenarios\/multi-period.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> multi-period fusion solution.<\/a> This feature processes and fuse data acquired at different times, significantly improving the system&#8217;s ability to adapt to drastic lighting shifts.<\/p>\n<\/li>\n<li>\n<p><strong>Data Capture:<\/strong> You capture the data yourself to build your own spatial maps. This can be done using a 360 camera (such as a GoPro MAX) or standard smartphones (iPhones and ARCore-supported Android devices). You can find more details in our <a href=\"https:\/\/www.easyar.com\/doc\/en\/mega\/acquisition\/intro.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Data Acquisition documentation<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@medinecanboy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@medinecanboy<\/a>&nbsp; Great question.  Localization accuracy degradtion is exepected for crowded scenes or chanllenging lightning conditions, we have put siginificant efforts to make sure the users get consistent accuacy as much as possible across all conditions. As for the VPS data, you can capature yourself with high end phone, panoramic cameras and selected lidar scanning devices. The guide is here at <a href=\"https:\/\/www.easyar.com\/doc\/en\/mega\/acquisition\/intro.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.easyar.com\/doc\/en\/mega\/acquisition\/intro.html<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@medinecanboy Great question.<\/p>\n<p>Outdoor VPS is challenging because lighting, crowds, and scene changes can all affect localization. EasyAR Mega is built with advanced underlying algorithms to improve robustness in real-world conditions, including changing illumination and complex outdoor environments. You can find more technical details in our documentation: <a href=\"https:\/\/www.easyar.com\/doc\/en\/mega\/overview.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.easyar.com\/doc\/en\/me&#8230;<\/a><\/p>\n<p>Our case studies are also a good way to get a feel for the centimeter-level accuracy in practice: <a href=\"https:\/\/www.easyar.com\/cases\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.easyar.com\/cases\/<\/a><\/p>\n<p>For the data question: yes, you can use your own captured data. We provide a complete mapping service to build the VPS data required for localization. Today, we support data capture with devices such as GoPro, XGRIDS, and iPhone. The capture workflow is documented here: <a href=\"https:\/\/www.easyar.com\/doc\/en\/mega\/acquisition\/intro.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.easyar.com\/doc\/en\/me&#8230;<\/a><\/p>\n<p>Also, the generated data is not only used for localization maps. It can include spatial models and other assets that help teams create AR content. Privacy protection is applied throughout the data processing workflow.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/NNTKCUKMKNTN74\" class=\"app-title\">Macuse<\/a><\/p>\n<div class=\"one-liner\">Give Your AI Superpowers on macOS<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">111<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Macuse \u662f\u4e00\u6b3e\u539f\u751f macOS \u5e94\u7528\uff0c\u901a\u8fc7\u672c\u5730 MCP \u670d\u52a1\u5668\u5c06 Claude\u3001Cursor \u7b49 AI \u5ba2\u6237\u7aef\u4e0e\u65e5\u5386\u3001\u90ae\u4ef6\u3001\u5907\u5fd8\u5f55\u7b49 Mac \u539f\u751f\u5e94\u7528\u6253\u901a\uff0c\u8ba9 AI \u4ece\u201c\u53ea\u80fd\u56de\u7b54\u201d\u8fdb\u5316\u4e3a\u201c\u80fd\u591f\u6267\u884c\u64cd\u4f5c\u201d\uff0c\u89e3\u51b3 AI \u5728 macOS \u4e0a\u65e0\u6cd5\u53ef\u9760\u8c03\u7528\u672c\u5730\u5e94\u7528\u548c\u6570\u636e\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\/f1b821a9-103f-4804-9fa7-bfc380607e56.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7e7d71e6-d48b-47dd-8752-46c59dc1e937.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/521b1669-ecc4-4ffe-94b4-9d2145126efc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6b22b2b2-0ed6-490b-9364-caee27b0ac29.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/63ef1902-05b5-47fe-9e30-e16cd9ba72fa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u8ba1\u7b97\u673a\u63a7\u5236\uff08Computer Use\uff09<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u539f\u751f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\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\u666e\u904d\u8ba4\u53ef\u5176\u539f\u751f\u4f53\u9a8c\u548c MCP \u8fde\u63a5\u6548\u7387\uff0c\u4f46\u6838\u5fc3\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\u6743\u9650\u7c92\u5ea6\uff1a\u662f\u5426\u652f\u6301\u6309\u5e94\u7528\u6388\u6743\uff08\u5982\u53ea\u8bfb\u65e5\u5386\u3001\u4e0d\u6388\u6743\u90ae\u4ef6\uff09\u3001\u654f\u611f\u64cd\u4f5c\uff08\u53d1\u9001\u6d88\u606f\u3001\u90ae\u4ef6\uff09\u662f\u5426\u6709\u4e8c\u6b21\u786e\u8ba4\uff1b\u53e6\u5bf9 Computer Use \u7684\u8bbf\u95ee\u6743\u9650\u548c\u5ba1\u8ba1\u65e5\u5fd7\u5b58\u5728\u7591\u95ee\uff0c\u5e0c\u671b\u63d0\u5347\u64cd\u4f5c\u900f\u660e\u5ea6\u548c\u4e8b\u524d\u89c4\u5219\u8bbe\u5b9a\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Macuse \u7684\u5207\u5165\u70b9\u6781\u5176\u5201\u94bb\u4e14\u6b63\u786e\u3002\u5f53\u524d AI \u5de5\u5177\u94fe\u7684\u6700\u5927\u9e3f\u6c9f\u4e0d\u662f\u6a21\u578b\u667a\u5546\u4e0d\u591f\uff0c\u800c\u662f\u201c\u624b\u4e0d\u591f\u957f\u201d\u2014\u2014\u65e0\u6cd5\u5728\u7528\u6237\u7684\u771f\u5b9e\u5de5\u4f5c\u73af\u5883\u4e2d\u6267\u884c\u64cd\u4f5c\u3002Macuse \u901a\u8fc7 MCP \u534f\u8bae\u67b6\u8bbe\u4e86\u4e00\u5ea7\u672c\u5730\u6865\u6881\uff0c\u5c06\u65e5\u5386\u3001\u90ae\u4ef6\u3001\u5907\u5fd8\u5f55\u7b49\u9ad8\u9891\u751f\u4ea7\u529b\u5e94\u7528\u8f6c\u5316\u4e3a AI \u53ef\u8c03\u7528\u7684\u201c\u5de5\u5177\u201d\uff0c\u8fd9\u6bd4\u5355\u7eaf\u7684 RAG \u6216\u622a\u56fe\u7406\u89e3\u8981\u5b9e\u7528\u5f97\u591a\u3002\u5b83\u672c\u8d28\u4e0a\u662f\u5728\u505a macOS \u7aef\u7684\u201cAPI \u5316\u201d\u5de5\u4f5c\uff0c\u628a\u539f\u672c\u53ea\u80fd\u9760\u773c\u775b\u770b\u3001\u624b\u64cd\u4f5c\u7684 UI \u5c42\uff0c\u62bd\u8c61\u6210 AI \u53ef\u8bfb\u5199\u7684\u63a5\u53e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4ef7\u503c\u6709\u4e24\u5c42\uff1a\u5bf9\u666e\u901a\u7528\u6237\uff0c\u7701\u53bb\u4e86\u590d\u5236\u7c98\u8d34\u7684\u4f53\u529b\u52b3\u52a8\uff1b\u5bf9\u5f00\u53d1\u8005\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7edf\u4e00\u3001\u672c\u5730\u7684 MCP \u670d\u52a1\u5668\uff0c\u8ba9 Raycast\u3001Cursor\u3001Claude \u7b49\u5de5\u5177\u80fd\u5171\u4eab\u540c\u4e00\u5957\u672c\u5730\u80fd\u529b\u4e2d\u67a2\uff0c\u6781\u5927\u5730\u51cf\u5c11\u4e86\u201c\u4e3a\u6bcf\u4e2a AI \u5ba2\u6237\u7aef\u5355\u72ec\u5f00\u53d1\u63d2\u4ef6\u201d\u7684\u91cd\u590d\u9020\u8f6e\u5b50\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u540c\u6837\u660e\u663e\u3002\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u6743\u9650\u95ee\u9898\u6b63\u662f\u5176\u6700\u5927\u8f6f\u808b\uff1a\u7528\u6237\u65e2\u8981 AI \u5f3a\u5927\uff0c\u53c8\u6015\u5b83\u5931\u63a7\u3002\u76ee\u524d\u7684\u201c\u6309\u5ba2\u6237\u7aef\u6388\u6743\u201d\u548c\u201c\u6309\u5e94\u7528\u6388\u6743\u201d\u7c92\u5ea6\u8fd8\u4e0d\u591f\u7ec6\uff0c\u5c24\u5176\u662f Computer Use \u6253\u5f00\u4e86\u4e00\u4e2a\u6f58\u591a\u62c9\u9b54\u76d2\u2014\u2014\u4e00\u6b21\u70b9\u51fb\u53ef\u80fd\u89e6\u53d1\u4efb\u610f\u64cd\u4f5c\u3002\u5982\u679c Macuse \u4e0d\u80fd\u5728\u654f\u611f\u64cd\u4f5c\uff08\u53d1\u6d88\u606f\u3001\u5199\u90ae\u4ef6\u3001\u5220\u9664\u65e5\u5386\u4e8b\u4ef6\uff09\u4e0a\u63d0\u4f9b\u201c\u6bcf\u6b21\u786e\u8ba4\u201d\u6216\u201c\u53ef\u64a4\u9500\u7684\u89c4\u5219\u5f15\u64ce\u201d\uff0c\u90a3\u4e48\u5b83\u7684\u7528\u6237\u7fa4\u4f53\u5c06\u6c38\u8fdc\u505c\u7559\u5728\u5c11\u6570\u6280\u672f\u7231\u597d\u8005\u5c42\u9762\uff0c\u65e0\u6cd5\u8fdb\u5165\u4e3b\u6d41\u751f\u4ea7\u529b\u5e02\u573a\u3002\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u8def\u8d70\u5bf9\u4e86\uff0c\u4f46\u6743\u9650\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u624d\u662f\u51b3\u5b9a\u5b83\u80fd\u5426\u4ece\u5c0f\u4f17\u8d70\u5411\u666e\u53ca\u7684\u5173\u952e\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\">Macuse<\/span>\n                <\/div>\n<div class=\"comment-content\">Macuse is a native macOS app that connects Claude, Codex, Cursor, Raycast, and any MCP-compatible AI client to your Mac apps. It gives AI assistants local access to Calendar, Mail, Notes, Reminders, Messages, and real app control through Computer Use.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt,<\/p>\n<p>I built Macuse because AI assistants are getting incredibly good at reasoning, but on macOS they still often hit a wall: they can answer questions, but they cannot reliably act across the apps where your work actually lives.<\/p>\n<p>Macuse is a native macOS app that turns your Mac apps into local tools for AI assistants.<\/p>\n<p>It runs as a local MCP server, connecting Claude, Codex, Cursor, Raycast, and any MCP-compatible client to your Mac. Your AI can manage Calendar events, read and draft Mail, work with Notes and Reminders, search Contacts, send Messages, and use Computer Use to click, type, scroll, and navigate real app interfaces.<\/p>\n<p>A few things I cared about while building it:<\/p>\n<p>\u2022 Local-first: your Mac app data is processed locally<br \/>\u2022 Permissioned: every connection requires approval and can be revoked<br \/>\u2022 Multi-client: one Macuse setup works across your AI tools<br \/>\u2022 Native integrations: Calendar, Mail, Notes, Reminders, Messages, Contacts, Shortcuts, Maps, and more<br \/>\u2022 Computer Use: control apps that do not have APIs, without taking over your active cursor\/window<\/p>\n<p>The goal is simple: make your AI assistant useful inside the Mac apps you already use every day.<\/p>\n<p>I\u2019d love feedback from Mac users, MCP builders, and anyone experimenting with AI agents on desktop workflows.<\/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\">@yuexunjiang AI feels a lot more valuable when it can act instead of just respond.<\/p>\n<p>The difficult part is making those actions predictable enough that users stop hesitating before letting AI interact with their desktop.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how it stays truly native on macOS instead of wrapping everything in an Electron shell. Tying Calendar, Mail, and Notes together through one MCP layer is the kind of plumbing I have been waiting 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><a href=\"https:\/\/www.producthunt.com\/@hilalj1hg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hilalj1hg<\/a>&nbsp;Thanks Hilal! <\/p>\n<p>Native-first and a single MCP layer across your apps were exactly the goal. Give it a try and let me know what\u2019s missing!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 &#8216;every connection requires approval and can be revoked&#8217; line is what matters most to me here, but how granular is that approval? Is it per-app (grant Calendar but withhold Messages\/Mail), or one grant per client that then covers everything Macuse can touch? And for outbound actions like sending a Message or letting a Mail draft actually go out, is that gated separately each time, or does the initial connection approval cover silent sends?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that lets me ask claude to pull events from my calendar without weird workarounds, super clean mac feel too<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a clean way to let Claude actually touch my Mac apps without weird workarounds. Setup with Calendar and Mail took like two minutes and the permissions prompt felt transparent instead of sketchy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Macuse handle permissions when giving an AI client access to Mail and Messages, and is there any sandboxing or audit log so I can see exactly what got read or sent?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a clean way to let Claude actually read my Mail and Calendar without weird workarounds. The MCP setup was painless and everything stayed local.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that lets Claude actually touch my Mac apps without me copy-pasting between windows. Calendar and Mail worked right away once I granted the permissions, and the MCP setup was painless.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Does Computer Use actually click around in your real apps without sandbox issues, or do you need to grant a bunch of accessibility permissions 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>mcp calls and computer-use have very different blast radii \u2014 reading a calendar is a scopable tool call, but &#8216;real app control&#8217; via computer use is an unscoped click that does whatever the frontmost app can. the gate between those two is the hard part<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the fact that it sits natively in the menu bar and just hands AI tools straight access to calendar and mail without weird workarounds is genuinely thoughtful engineering<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 yuexunjiang, I like the design a lot, it looks elegant. I have a quick question. What about the privacy issue? This AI agent will have access to all my emails, messages, reminders, prompts from my macOS apps? Congrats on the launch, let&#8217;s connect!<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@konstant_gk Thank you! Privacy is a core part of Macuse.<\/p>\n<p>Macuse runs locally on your Mac and acts as a bridge between your AI client and your Mac apps. It does not store your emails, messages, or reminders on a server.<\/p>\n<p>If you use a cloud AI client, the data needed for your request may be sent to that provider, so the final privacy boundary also depends on the AI client\/model you choose.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle permissions when it needs to actually click around in apps via Computer Use, especially for things that need accessibility access every 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\">@aykut526431 Accessibility is granted once through macOS System Settings, not every launch.<\/p>\n<p>But for Computer Use, Macuse still asks for permission for each individual app before operating it, so enabling Accessibility does not mean an AI client can control every app automatically.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it actually handle permissions when an AI wants to send a message or move a calendar event, do you get a prompt each time or is there a way to set trusted rules upfront?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@nurcanolak93273 Good question. Macuse is not a one-time \u201ctrust everything\u201d setup.<\/p>\n<p>Native app access is gated by macOS permissions and approved AI client connections, and access can be revoked anytime. For sensitive actions like sending messages or changing calendar events, I\u2019m working on more explicit confirmation controls so users can decide what should require approval.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Yuexun, the reassuring part for me is that it stays helpful without ever feeling like it might run off and do something behind my back. That sense of staying in the driver&#8217;s seat matters a lot to me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@raphael_kamm Thank you, that\u2019s exactly the goal.<\/p>\n<p>Macuse should make AI more useful inside your Mac apps, but still keep you in control through local access, explicit client approval, and revocable permissions.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>connecting MCP clients to native mac apps is the missing layer for local workflows. right now claude can browse the web and run code but can&#8217;t touch the calendar sitting right there on the same machine. the messages and mail access is where it gets interesting and also where it gets risky. what does the permission model look like? per-app grants, per-action approval, or one big trust decision at install? that choice basically determines whether people feel safe using it for anything real.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@shubham4real Totally agree\uff0c the permission model is the key part.<\/p>\n<p>Macuse is not a one-time \u201ctrust everything\u201d install. It relies on macOS permissions, explicit AI client approval, and revocable access. You can choose what to enable, and I\u2019m continuing to make the controls more granular, especially for sensitive apps like Mail and Messages.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks great for the AI can reason but can&#8217;t reach my apps problem. One thing I&#8217;m curious about: when Computer Use is driving clicks and typing in an app without an API, how do you handle it if it clicks the wrong thing in Mail or Messages before you can stop it? Is there some kind of review or undo step, or does it just fire at full speed once permission is granted?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@galdayan Great question. For Computer Use, Macuse asks for permission for each individual app before operating it.<\/p>\n<p>So even after Accessibility is enabled at the macOS level, an AI client cannot just start controlling any app silently. The user stays in control of which apps Computer Use is allowed to access.<\/p>\n<p><a href=\"https:\/\/macuse.app\/docs\/features\/computer-use#approvals\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/macuse.app\/docs\/features&#8230;<\/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<\/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\/BRWMTFN3UIJ3UZ\" class=\"app-title\">Basedash Actions<\/a><\/p>\n<div class=\"one-liner\">A BI tool that can take action for you<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">108<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Basedash Actions \u662f\u4e00\u4e2a\u5c06\u4f20\u7edfBI\u7684\u201c\u53ea\u8bfb\u5206\u6790\u201d\u5347\u7ea7\u4e3a\u201c\u53ef\u6267\u884c\u64cd\u4f5c\u201d\u7684AI\u4ee3\u7406\u5de5\u5177\uff0c\u8ba9\u975e\u6280\u672f\u7528\u6237\u80fd\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u76f4\u63a5\u4fee\u6539\u6570\u636e\u5e93\u6216\u7b2c\u4e09\u65b9\u5de5\u5177\uff08\u5982\u5ef6\u957f\u8bd5\u7528\u3001\u4fee\u590d\u8bb0\u5f55\uff09\uff0c\u540c\u65f6\u901a\u8fc7\u4e25\u683c\u7684\u5ba1\u6279\u4e0e\u6743\u9650\u673a\u5236\u4fdd\u969c\u64cd\u4f5c\u5b89\u5168\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\/23f2e06f-c7dd-403c-aafe-f34a5f129720.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/195420e4-244b-4466-8bc8-95fe4b59e4f2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2a1e6e83-d9b0-4b92-ab75-cde6dc71305e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9e32961b-3fcb-48d8-a748-be64bd4241ea.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\/765c54ad-4a9b-4664-aabc-61e995518958.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/JC4P43SIshs\"><source src=\"https:\/\/youtu.be\/JC4P43SIshs\" 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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Data &#038; Analytics<\/span><br \/>\n            <span class=\"tag\">Business Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI BI<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u6570\u636e\u5e93\u64cd\u4f5c<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u64cd\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">MCP\u5de5\u5177\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">SQL\u81ea\u52a8\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u6570\u636e\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5206\u6790\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u81ea\u7136\u8bed\u8a00\u751f\u6210\u56fe\u8868\u7684\u80fd\u529b\uff0c\u79f0\u8d5e\u64cd\u4f5c\u6d41\u7545\u4e14\u51c6\u786e\u3002\u6838\u5fc3\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\u590d\u6742\u67e5\u8be2\uff08\u591a\u8868\u5173\u8054\uff09\u7684\u5904\u7406\u673a\u5236\uff0c\u4ee5\u53ca\u6570\u636e\u5e93\u5199\u5165\u5b89\u5168\u6027\u7684\u6280\u672f\u7ec6\u8282\uff08\u5982\u4e8b\u52a1\u56de\u6eda\u3001\u53d7\u5f71\u54cd\u884c\u6570\u9884\u89c8\u7684\u51c6\u786e\u6027\uff09\u3002\u90e8\u5206\u7528\u6237\u53cd\u9988\u4eea\u8868\u677f\u5206\u4eab\u6d41\u7a0b\u6709\u5f85\u4f18\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                Basedash Actions \u7684\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\u5b83\u6ca1\u6709\u8bd5\u56fe\u91cd\u65b0\u53d1\u660e\u8f6e\u5b50\uff0c\u800c\u662f\u7cbe\u51c6\u5730\u6233\u4e2d\u4e86\u73b0\u4ee3\u4f01\u4e1a\u7684\u4e24\u4e2a\u75db\u70b9\uff1a\u5206\u6790\u7ed3\u679c\u7684\u201c\u843d\u5730\u96be\u201d\u4e0e\u6570\u636e\u64cd\u4f5c\u7684\u201c\u6743\u9650\u7126\u8651\u201d\u3002\u5b83\u628aAI\u4ece\u201c\u53c2\u8c0b\u201d\u53d8\u6210\u4e86\u201c\u6267\u884c\u8005\u201d\u2014\u2014\u8fd9\u4e00\u8dc3\u8fc1\u7684\u4ef7\u503c\u8fdc\u5927\u4e8e\u5355\u7eaf\u7684\u56fe\u8868\u7f8e\u5316\u6216\u901f\u5ea6\u63d0\u5347\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e76\u975e\u81ea\u7136\u8bed\u8a00\u5bf9\u8bdd\uff0c\u800c\u662f\u5176\u201c\u5ba1\u6279+\u6743\u9650+\u4e8b\u52a1\u9884\u89c8\u201d\u7684\u5b89\u5168\u95ed\u73af\u8bbe\u8ba1\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u8ffd\u95ee\u7684\u4e8b\u52a1\u539f\u5b50\u6027\u3001\u53d7\u5f71\u54cd\u884c\u6570\u4f30\u7b97\u7cbe\u5ea6\u7b49\uff0c\u6b63\u662f\u4ece\u201c\u73a9\u5177\u201d\u8d70\u5411\u201c\u751f\u4ea7\u7ea7\u201d\u7684\u8bd5\u91d1\u77f3\u3002\u521b\u59cb\u56e2\u961f\u5c55\u793a\u7684\u81ea\u7528\u6848\u4f8b\uff08\u4e09\u6b65\u9aa4\u53d8\u4e00\u6b21\u5ba1\u6279\uff09\u867d\u597d\uff0c\u4f46\u8bf4\u670d\u529b\u6709\u9650\u2014\u2014\u5185\u90e8\u5c0f\u56e2\u961f\u7684\u81ea\u5f8b\u4e0e\u5916\u90e8\u590d\u6742\u4e1a\u52a1\u573a\u666f\u4e0b\u7684\u9c81\u68d2\u6027\u5b8c\u5168\u662f\u4e24\u7801\u4e8b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u73b0\u5b9e\u7684\u6311\u6218\u5728\u4e8e\uff1a\u4e00\u65e6\u7528\u6237\u4e60\u60ef\u4e86\u201c\u4e00\u53e5\u8bdd\u6539\u6570\u636e\u201d\uff0c\u5fc5\u7136\u4f1a\u8981\u6c42\u66f4\u590d\u6742\u7684\u8de8\u7cfb\u7edf\u5de5\u4f5c\u6d41\uff08\u5982MCP\u5de5\u5177\u94fe\uff09\uff0c\u6b64\u65f6\u201cSkills\u201d\u7f16\u6392\u80fd\u529b\u5c06\u51b3\u5b9a\u5b83\u662f\u4e0b\u4e00\u4e2a\u4f4e\u4ee3\u7801\u5e73\u53f0\uff0c\u8fd8\u662f\u6ca6\u4e3a\u9ad8\u7ea7SQL\u5de5\u5177\u3002\u76ee\u524d\u6765\u770b\uff0c\u4ea7\u54c1\u5728\u201c\u751f\u6210\u201d\u4e0a\u4e0b\u4e86\u529f\u592b\uff0c\u4f46\u5728\u201c\u9519\u8bef\u6062\u590d\u201d\u548c\u201c\u5ba1\u8ba1\u8ffd\u6eaf\u201d\u4e0a\u7f3a\u5c11\u7ec6\u8282\u62ab\u9732\uff08\u4f8b\u5982\uff1a\u5199\u64cd\u4f5c\u7684\u65e5\u5fd7\u662f\u5426\u4e0d\u53ef\u7be1\u6539\uff1f\u64a4\u56de\u673a\u5236\u662f\u5426\u652f\u6301\uff1f\uff09\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u662f\u4e00\u4e2a\u5305\u88c5\u5728BI\u5916\u58f3\u4e0b\u7684\u201c\u5b89\u5168\u6570\u636e\u4ee3\u7406\u201d\uff0c\u6bd4\u95e8\u69db\u66f4\u9ad8\u7684\u4f4e\u4ee3\u7801\u5e73\u53f0\u66f4\u4eb2\u6c11\uff0c\u4f46\u8ddd\u79bb\u6210\u4e3a\u4f01\u4e1a\u6838\u5fc3\u6570\u636e\u64cd\u4f5c\u5c42\u4ecd\u6709\u8ddd\u79bb\u2014\u2014\u5c24\u5176\u662f\u5728\u5904\u7406\u5e76\u53d1\u3001\u810f\u6570\u636e\u4e0e\u590d\u6742\u4e8b\u52a1\u65f6\u3002\u5982\u679c\u56e2\u961f\u80fd\u5728\u540e\u7eed\u66f4\u65b0\u4e2d\u50cf\u91cd\u89c6\u201c\u5ba1\u6279\u6309\u94ae\u201d\u90a3\u6837\u91cd\u89c6\u201c\u56de\u6eda\u80f6\u56ca\u201d\uff0c\u5b83\u6216\u8bb8\u80fd\u771f\u6b63\u7ec8\u7ed3\u201c\u770b\u677f\u5f88\u7f8e\uff0c\u843d\u5730\u60f3\u54ed\u201d\u7684\u7a98\u5883\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\">Basedash Actions<\/span>\n                <\/div>\n<div class=\"comment-content\">Basedash answers questions about your data. Now it acts on them. Ask the agent to extend a trial, fix a record, or seed a demo org \u2014 it writes the SQL and runs it against any database an admin has enabled for edits. Ask it to update a Stripe subscription or create a HubSpot lead and it acts through any MCP tool you&#8217;ve connected. Every consequential action pauses for your approval, and every tool has its own permission. Skills chain it all into workflows. From answers to actions.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone, Max here from Basedash.<\/p>\n<p>Today we&#8217;re launching Actions: the Basedash agent can now change things, not just report on them. Turn on Allow edits for a database connection and the agent writes and runs SQL against it: extend a trial, fix a bad record, update the state of a hundred items, spin up a demo org. Connect an MCP server and it takes action in your other tools too: update a subscription in Stripe, create a lead in HubSpot, send an email through Resend.<\/p>\n<p>The part that makes this safe to actually use: nothing consequential runs without you. The agent shows you the exact SQL or tool payload and waits for approval, and every MCP tool has its own permission (always allow, needs approval, or blocked) so you decide which actions run automatically and which ones pause for a human.<\/p>\n<p>We run Basedash on this internally. Extending a customer&#8217;s trial used to mean a database edit, a Stripe change, and a follow-up email across three tabs; it&#8217;s now one skill the agent runs, with one approval.<\/p>\n<p>PH community gets an extra week on their trial this week. Happy to answer anything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@maxmusing\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maxmusing<\/a>&nbsp;Congrats on the launch! \ud83c\udf89<\/p>\n<p>Basedash Actions looks incredible &#8211; <\/p>\n<p>BI tool that actually acts on data <\/p>\n<p>is a game changer.<\/p>\n<p>When analysts search &#8220;AI business <\/p>\n<p>intelligence tool&#8221; on ChatGPT, is <\/p>\n<p>Basedash showing up?<\/p>\n<p>I help SaaS tools get discovered on <\/p>\n<p>ChatGPT &amp; Google through Reddit <\/p>\n<p>marketing. Communities like <\/p>\n<p>r\/BusinessIntelligence and r\/datascience <\/p>\n<p>would be perfect for Basedash.<\/p>\n<p>Would love to connect!<\/p>\n<p>&#8211; Priyesh Kharwar<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@maxmusing\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maxmusing<\/a>&nbsp;S\/O for this new launch! keep up the great work, and keep launching<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@maxmusing Dashboards have always been good at explaining what happened.<\/p>\n<p>The bigger leap starts when insights become actions. That&#8217;s also the point where trust becomes far more important than the quality of the data itself.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Kris from <a href=\"https:\/\/www.producthunt.com\/products\/basedash\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"basedash\" target=\"_blank\" rel=\"noopener\">@Basedash: AI data analyst<\/a> here! Super excited about this launch. We built this because we realized that we often wanted to <em>act<\/em> on all the insights we were getting from our own product. But carrying out these write tasks is still pretty tedious for a non-technical user, whereas technical teams need guardrails in place before non-coders like me can update the database. So we built both \ud83d\ude42<\/p>\n<\/p>\n<p>Now the agent writes the fix, shows you exactly what it&#8217;s about to run, and waits for your approval. One click. All with tons of controls. Admins enable edits per connection. Every tool gets its own permission level. Routine operations run automatically, sensitive ones pause for a human, dangerous ones stay blocked. Your rules, enforced every time.<\/p>\n<\/p>\n<p>We&#8217;ve run this internally for weeks and it has already changed how our own team operates. The person closest to the customer fixes the issue.<\/p>\n<\/p>\n<p>Happy to answer anything!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that the natural language input sits front and center instead of burying it behind a SQL editor or settings panel. The &#8220;describe what you want&#8221; framing makes it feel like a creative tool rather than another BI dashboard.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mzeyyenrdjx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mzeyyenrdjx<\/a>&nbsp;yes exactly, that was super important to us. We market ourselves as AI-native because we really designed and built this product around AI from the start. In many ways, we&#8217;re much closer to Lovable or v0 than Tableau or Looker.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that lets me skip the SQL step entirely. Connected my Postgres in a couple minutes and asked for a churn chart by plan, which came out surprisingly clean without any fiddling.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how this handles more complex queries that need joins across multiple tables &#8211; does it figure out the relationships on its own or do you have to map those out somewhere 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>Connected a Postgres database and asked it to show weekly churn by plan. The chart generated in seconds and was actually accurate, which I was not expecting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 handle complex joins across multiple tables when generating charts from natural language?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Connecting my Postgres was painless and the natural language chart builder nailed the visualization on the first try. Wish the dashboard sharing flow was a bit smoother though.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 conversational UI for generating charts feels really considered, you can tell the team obsessed over the small stuff like how follow-up questions modify the existing visualization instead of starting from scratch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Connected my Postgres database and asked it to show weekly churn by plan in plain English, and it built the chart in seconds. Way easier than dragging fields around in my usual BI tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle really messy or unstructured data sources, like pulling from a NoSQL database or a third-party API that doesn&#8217;t return clean tables?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@duran_ml51620\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@duran_ml51620<\/a>&nbsp;we have an ETL pipeline built in that syncs third-party API data into structured tables. It can also work well with NoSQL databases like MongoDB.<\/p>\n<\/p>\n<p>Our AI harness is specifically built to handle these kinds of messy datasets well. It learns the shape of the data over time and improves its own context.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 to chart flow feels really polished, like the team actually thought through what happens when a query doesn&#8217;t quite match the data. That&#8217;s rare in AI BI tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@sakin8461\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sakin8461<\/a>, those kinds of details are very important to 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>Preview plus approve\/reject covers the intent check nicely. The one that&#8217;s bitten me: the affected-row count you show at preview is a separate query from the write, so under any concurrent traffic the number I approved and the number that actually changes can drift. Do you run the count and the update inside one transaction, or is that preview count more of an estimate?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 LLM writing and running mutating SQL against a real database is exactly the part I&#8217;d want the guardrails on. When it says &#8216;update the state of a hundred items&#8217;, does it show me the statement and the affected-row count before it runs, and does it wrap the write in a transaction I can roll back? The classic failure is a dropped WHERE turning a 100-row update into 100k, and the model sounds equally confident either way. Preview plus row-count plus rollback is what would get me to flip &#8216;allow edits&#8217; on in prod.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;yes exactly, you can preview the exact query and see what would be affected before deciding whether you want to approve or reject the action. Reliability and trust are super important for a feature like this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/23SQ4LMA2PI7US\" class=\"app-title\">Flowly<\/a><\/p>\n<div class=\"one-liner\">A personal AI agent that runs on your desktop and iPhone<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">106<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Flowly \u662f\u4e00\u6b3e\u8fd0\u884c\u5728\u684c\u9762\u548c iPhone \u4e0a\u7684\u4e2a\u4eba AI \u4ee3\u7406\uff0c\u6838\u5fc3\u5f15\u64ce\u5df2\u5f00\u6e90\uff0c\u4f7f\u7528\u7528\u6237\u81ea\u5df1\u7684 API \u5bc6\u94a5\uff0c\u901a\u8fc7\u6301\u7eed\u81ea\u6211\u4fee\u6b63\u7684\u79c1\u6709\u8bb0\u5fc6\u6a21\u578b\uff0c\u89e3\u51b3\u4f20\u7edf AI \u5de5\u5177\u201c\u7528\u5b8c\u5373\u5fd8\u3001\u6570\u636e\u4e0a\u4e91\u3001\u65e0\u6cd5\u4e2a\u6027\u5316\u201d\u7684\u75db\u70b9\uff0c\u8ba9 AI \u771f\u6b63\u6210\u4e3a\u61c2\u4f60\u4e14\u53ea\u5c5e\u4e8e\u4f60\u7684\u667a\u80fd\u52a9\u624b\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\/1bf5f818-8941-4e3c-9f29-d0c8e8098315.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/867b5a34-559a-46ac-b443-01a386f914ac.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/338608cb-13e9-460e-9a09-2a6d93dfef2f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ae6a5ad-215e-4366-aee0-198cc17b73e3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ea6c4a31-bfea-4fa3-b495-a34c50b9775b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5ba54535-d637-4199-9149-d234a9b8d6fa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/507d2ce1-4304-47ce-adfd-c2ae7a46e8db.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fb1816ae-2bec-45e5-a635-1e09cf8e34ff.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1468863c-d313-45b2-8b4f-ab2f0d014a55.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\/1c9ce20c-374f-464a-9634-a0606bb43c32.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/aOzoDsEnwFo\"><source src=\"https:\/\/youtu.be\/aOzoDsEnwFo\" 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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Messaging<\/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\">\u4e2a\u4ebaAI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90AI<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u79c1\u6709\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">iPhone\u5ba2\u6237\u7aef<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">AI\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u6301\u7eed\u5b66\u4e60<\/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\u5f00\u6e90\u6838\u5fc3\u4e0e\u672c\u5730\u5316\u9690\u79c1\u8bbe\u8ba1\uff0c\u91cd\u70b9\u5173\u6ce8\uff1a\u8bb0\u5fc6\u5982\u4f55\u533a\u5206\u91cd\u8981\u4fe1\u606f\u4e0e\u566a\u58f0\uff08\u53ef\u8c03\u4f18\uff09\u3001\u81ea\u6258\u7ba1\u5b89\u5168\u4e0e\u5ba1\u8ba1\u3001\u79bb\u7ebf\u540c\u6b65\u673a\u5236\u3001\u79fb\u52a8\u7aef\u533a\u57df\u9650\u5236\u3002\u5f00\u53d1\u8005\u660e\u786e\u56de\u5e94\u8bb0\u5fc6\u91c7\u7528\u7ba1\u9053\u5f0f\u63d0\u53d6+\u7f6e\u4fe1\u5ea6\u8bc4\u5206+\u4eba\u5de5\u5ba1\u67e5\uff0c\u540c\u6b65\u4f9d\u8d56\u76f4\u8fde\u6216\u4e2d\u7ee7\u4f46\u6570\u636e\u4e0d\u843d\u76d8\uff0c\u65e0\u611f\u77e5\u684c\u9762\u8c03\u7528\u4f53\u9a8c\u83b7\u597d\u8bc4\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                Flowly \u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u53c8\u4e00\u4e2a AI \u52a9\u624b\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u771f\u6b63\u8ffd\u95ee\u5e76\u56de\u7b54\u4e86\u201c\u4ec0\u4e48\u624d\u662f\u4e00\u4e2a\u5c5e\u4e8e\u4f60\u7684 AI\u201d\u3002\u7edd\u5927\u591a\u6570\u684c\u9762 Agent \u662f\u5957\u58f3 API + \u4e34\u65f6\u804a\u5929\u8bb0\u5f55\uff0c\u672c\u8d28\u4ecd\u662f SaaS \u79df\u8d41\u601d\u7ef4\u3002Flowly \u901a\u8fc7\u5168\u5f00\u6e90\u6838\u5fc3+\u672c\u5730\u8bb0\u5fc6 SQLite + \u81ea\u6258\u7ba1\u67b6\u6784\uff0c\u5c06\u63a7\u5236\u6743\u5f7b\u5e95\u4ea4\u8fd8\u7ed9\u7528\u6237\u2014\u2014\u8fd9\u4e0d\u4ec5\u6ee1\u8db3\u6280\u672f\u6781\u5ba2\u7684\u5b89\u5168\u504f\u597d\uff0c\u66f4\u5728\u5546\u4e1a\u903b\u8f91\u4e0a\u5b8c\u6210\u4e86\u4e00\u6b21\u5173\u952e\u5207\u5272\uff1a\u4e0d\u518d\u9760\u9501\u5b9a\u6570\u636e\u8d5a\u94b1\uff0c\u800c\u662f\u9760\u201c\u66f4\u597d\u5730\u505a\u4f60\u81ea\u5df1\u7684 Agent\u201d\u6765\u8d62\u5f97\u4fe1\u4efb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u73b0\u72b6\u8fdc\u975e\u5b8c\u7f8e\u3002\u8bb0\u5fc6\u7684\u81ea\u6211\u4fee\u6b63\u673a\u5236\u4ecd\u5904\u4e8e\u201c\u8d8a\u7528\u8d8a\u51c6\u201d\u7684\u65e9\u671f\u9636\u6bb5\uff0c\u5b9e\u9645\u7cbe\u786e\u5ea6\u4f9d\u8d56\u7528\u6237\u53cd\u9988\u6253\u78e8\uff1b\u8de8\u8bbe\u5907\u540c\u6b65\u4f9d\u8d56\u4e2d\u7ee7\u6a21\u5f0f\uff0c\u867d\u7136\u7ba1\u9053\u4e0d\u843d\u76d8\uff0c\u4f46\u4e2d\u7ee7\u7684\u53ef\u7528\u6027\u4e0e\u5ef6\u8fdf\u4ecd\u662f\u4f53\u9a8c\u74f6\u9888\uff1b\u624b\u673a\u7aef\u533a\u57df\u9650\u552e\u8bf4\u660e\u56e2\u961f\u73b0\u9636\u6bb5\u8d44\u6e90\u6709\u9650\uff0c\u5168\u7403\u8986\u76d6\u5c1a\u9700\u65f6\u65e5\u3002\u6b64\u5916\uff0c\u5ba3\u4f20\u4e2d\u5f3a\u8c03\u201c\u5b83\u4f1a\u4e3b\u52a8\u505a\u4e8b\u201d\u4f46\u5e76\u672a\u660e\u786e\u652f\u6301\u590d\u6742\u5de5\u4f5c\u6d41\u7f16\u6392\uff0c\u76ee\u524d\u66f4\u64c5\u957f\u5feb\u901f\u67e5\u8be2\u4e0e\u5355\u6b65\u64cd\u4f5c\uff0c\u8ddd\u79bb\u201c\u9996\u5e2d\u53c2\u8c0b\u201d\u8fd8\u6709\u8ddd\u79bb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u503c\u5f97\u5173\u6ce8\u7684\u662f\u5176\u5f00\u6e90\u6218\u7565\u7684\u9009\u62e9\u2014\u2014\u4e0d\u662f\u8425\u9500\u5671\u5934\uff0c\u800c\u662f\u964d\u4f4e\u4fe1\u4efb\u95e8\u69db\u7684\u76f4\u63a5\u624b\u6bb5\u3002\u5f53\u7ade\u54c1\u8fd8\u5728\u4e89\u8bba\u201c\u4f60\u7684\u6570\u636e\u5f52\u8c01\u201d\u65f6\uff0cFlowly \u76f4\u63a5\u7528 Apache 2.0 \u8ba9\u4eba\u770b\u4ee3\u7801\uff0c\u540c\u65f6\u7528\u672c\u5730\u6a21\u578b\u652f\u6301\u5207\u65ad\u6240\u6709\u5916\u4f20\u94fe\u8def\u3002\u8fd9\u79cd\u6fc0\u8fdb\u800c\u6e05\u6670\u7684\u7acb\u573a\uff0c\u6070\u597d\u5207\u4e2d\u4e86 AI \u666e\u53ca\u8fc7\u7a0b\u4e2d\u6700\u6df1\u5c42\u7684\u7126\u8651\uff1a\u6211\u4e0d\u4e00\u5b9a\u8981 AI \u806a\u660e\uff0c\u4f46\u6211\u4e00\u5b9a\u8981\u5b83\u542c\u6211\u7684\u3002\u5982\u679c\u5b83\u80fd\u6301\u7eed\u628a\u201c\u6211\u8bb0\u5f97\u4f60\u201d\u505a\u5230\u60ca\u8273\u800c\u975e\u9e21\u808b\uff0cFlowly \u6709\u673a\u4f1a\u6210\u4e3a\u4e2a\u4eba\u9690\u79c1\u8ba1\u7b97\u65f6\u4ee3\u7684\u4e00\u4e2a\u951a\u70b9\u4ea7\u54c1\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\">Flowly<\/span>\n                <\/div>\n<div class=\"comment-content\">Flowly&#8217;s whole agent core is now open source (Apache-2.0). A personal AI agent that runs on your desktop and iPhone, uses the AI keys you already have, and keeps a private memory of your world that learns and corrects itself. Knows your world. Answers to you.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Hakan, It\u2019s cool that the whole agent core is open source, how easy does it feel to self\u2011host and actually make it your own day to day?<\/div>\n<div class=\"comment-actions\">\n<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! The core is genuinely quick to self-host \u2014 &#8220;curl -fsSL <a href=\"https:\/\/useflowlyapp.com\/install.sh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/useflowlyapp.com\/install.sh<\/a> | bash&#8221;, flowly setup to pick a model (local or hosted) and your channels, then flowly. Two minutes on a laptop, a Mac mini, or a $5 VPS, no account needed. flowly service install keeps it running in the background, so it&#8217;s just\u2026 always there.<\/p>\n<\/p>\n<p>Making it yours happens two ways. One, you extend it: drop in your own Markdown skills, write Python plugins for tools\/commands\/channels, swap models or personas whenever. Two \u2014 and honestly this is the point \u2014 the memory learns your world as you use it, so over a couple of weeks it turns from &#8220;an agent&#8221; into your agent.<\/p>\n<\/p>\n<p>The power-user bits (some channels, sandbox tuning) take a little more, but the day-to-day is meant to feel boringly simple. Happy to help you get set up if you give it a shot.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \u2014 Hakan from Nocetic, the team behind Flowly.<\/p>\n<p>Some of you saw our last launch. Since then I kept circling back to one thing that bugged me: every agent I tried lived in someone else&#8217;s cloud, was stuck on one model, and forgot who I was the second I closed the tab. Powerful, but never really mine.<\/p>\n<p>So we rebuilt Flowly around three things:<\/p>\n<p>On your machine, your keys. It runs natively on your own computer and your phone, on the AI keys you already pay for \u2014 Anthropic, OpenAI, OpenRouter, or a local model, your call. Your data doesn&#8217;t leave.<\/p>\n<p>A memory of your world. This is the part I care about most. It&#8217;s not a chat log, it&#8217;s closer to a model of your world \u2014 your people, your projects, the way you work. It tracks what changed and when, and quietly fixes itself when it gets something wrong.<\/p>\n<p>Everywhere you are. Native apps for Mac, Windows, Linux, and iPhone. One agent, in sync.<\/p>\n<p>The big one for this launch: the whole agent core is now open source (Apache 2.0). Read every line, self-host it, point it at any model.<\/p>\n<p>Honest state of things: the memory and the cross-session learning are live and I use them every day, but they&#8217;re young \u2014 they get sharper the more you push them. If something feels off, that&#8217;s genuinely useful for us.<\/p>\n<p>Two questions I&#8217;d love answered in the comments:<br \/>\n1. What&#8217;s the first thing you&#8217;d want your agent to actually remember about trust an agent with your real data?<\/p>\n<p>The big one for this launch: the whole agent core is now open source (Apache 2.0). Read every line, self-host it, point it at any model.<\/p>\n<p>Honest state of things: the memory and the cross-session learning are live and I use them every day, but they&#8217;re young \u2014 they get sharper the more you push them. If something feels off, that&#8217;s genuinely useful for us.<\/p>\n<p>Two questions I&#8217;d love answered in the comments:<br \/>\n1. What&#8217;s the first thing you&#8217;d want your agent to actually remember about you?<br \/>\n2. If you self-host, what would make you trust an agent with your real data?<\/p>\n<p>Thanks for taking a look \u2014 we&#8217;ll be in the comments all day.<\/p>\n<p>\u2014 Hakan &amp; the Nocetic team<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@hakanorensy Personal AI becomes far more valuable when it feels continuous instead of device-specific.<\/p>\n<p>The moment users stop thinking about whether they&#8217;re on desktop or mobile and simply expect the same context to follow them everywhere, that&#8217;s when the product starts changing behavior rather than adding another tool.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>&#8216;Relay is a pipe, not a home&#8217; is the right framing, but the live traffic still transits your relay when I&#8217;m remote \u2014 is that leg end-to-end encrypted so your relay operator can&#8217;t read the agent exchange, or is it TLS-terminated at your box? And since the store is just SQLite + markdown under ~\/.flowly, if I point a second tool at the same dir while the agent&#8217;s running, does it lock, or can I read\/query it concurrently without corrupting state?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Flowly actually pull data across all my open tabs and apps at once, is that local on-device stuff or does everything get routed through your servers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@cal_turkan32795\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cal_turkan32795<\/a>&nbsp;All local. It doesn&#8217;t passively scan anything \u2014 tab\/screen\/clipboard access are tools the agent uses on your machine when you ask, each one visible in the activity log. Nothing routes through our servers; the only thing that leaves is the prompt to whatever model you picked, on your keys.<\/p>\n<\/p>\n<p>Run a local model and literally nothing leaves the machine.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Runs natively on your own machine with your own model keys, plus a persistent memory of your world rather than just a chat log &#8211; that&#8217;s a meaningfully different bet than most desktop agents. How does it decide what&#8217;s worth remembering vs noise, is that tunable per-user?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dannyheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dannyheng<\/a>&nbsp;  Great question \u2014 this is the part we&#8217;ve gone deepest on. Short version: memory here is a pipeline, not a transcript.<\/p>\n<\/p>\n<p>What gets in: during a conversation, durable facts get extracted (not the chat log itself), and each one lands as a governed record with its own confidence\/trust score \u2014 dated, sourced, and tracked through a lifecycle (candidate \u2192 active \u2192 stale\/superseded) instead of living forever as &#8220;true.&#8221;<\/p>\n<\/p>\n<p>What kills the noise: a background pass reviews recent conversations after the fact, reconciles new candidates against what&#8217;s already known \u2014 confident facts commit, uncertain ones go to a review queue for you. A separate consolidation pass merges duplicates and retires stale facts, so the memory self-corrects over time instead of silently rotting.<\/p>\n<\/p>\n<p>Tunable per-user \u2014 yes, three levers: (1) a commit mode \u2014 eager \/ selective \/ manual-review-everything, depending on how much you want to gate; (2) \ud83d\udc4d\/\ud83d\udc4e on any memory, which actually retunes its trust score rather than just hiding it; (3) full inspect\/edit\/delete \u2014 memory panel in the apps, flowly  memory list in the CLI. Nothing it knows is opaque to you.<\/p>\n<\/p>\n<p>It&#8217;s the same bet as the rest of the product: the memory is yours, so you get the dials. Would love to hear how it holds up against your actual noise if you try it \u2014 that reconcile step is where real-world feedback matters 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>Congrats on the launch! Flowly looks really interesting.<\/p>\n<p>I wanted to try the mobile app, but it seems unavailable in Latin America. Is the mobile app currently limited to selected countries, or do you have plans to open availability for LatAm soon?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@annki\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@annki<\/a>&nbsp;Thanks! And good catch \u2014 that&#8217;s deliberate for now, not a bug. Some app-store regions require extra regulatory filings per country, and as a small team we launched with the regions we could get through first. LatAm is absolutely on the list \u2014 no date I can promise honestly yet, but it&#8217;s a &#8220;when,&#8221; not an &#8220;if.&#8221;<\/p>\n<\/p>\n<p>Which country are you in? Genuinely helps us decide where to file next. In the meantime the desktop app and the open-source core work anywhere, no store involved \u2014 happy to help you get set up if you want to try it that way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is interesting a personal AI with memory could be really useful. Curious how people can manage or edit what it remembers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@diksha_makode Thanks! People can manage via iOS, Android and Desktop apps. It\u2019s so easy and useful. <\/p>\n<p>Take a look!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hakan, most helpers happily tell you how to do a task and then leave you to it, so one that quietly carries it out for you is refreshing. The quick shortcut to summon it is a nice touch too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@amine_aziz_alaoui\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amine_aziz_alaoui<\/a>&nbsp;That&#8217;s honestly the exact bar we build against \u2014 less &#8220;here&#8217;s how you&#8217;d do it,&#8221; more a chief of staff who just handles it, quietly, and shows you the log if you want to look. Glad the shortcut landed too; &#8220;one keystroke away&#8221; was one of those small details we argued about way too long \ud83d\ude04 <\/p>\n<\/p>\n<p>Curious what you end up handing it first \u2014 that&#8217;s usually where we learn the 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>To answer your self-host question: full offline capability with a local model, plus a visible action log I can actually audit after the fact &#8211; not just sandboxing. Right now the biggest trust gap with agents that touch my real data isn&#8217;t whether they&#8217;re capable, it&#8217;s that I usually have no idea something happened until after it already changed. Open sourcing the core is a good first step toward that.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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; You&#8217;ve basically described why we built it. Capability was never the gap \u2014 it&#8217;s that most agents act first and tell you later, if at all.<\/p>\n<\/p>\n<p>So Flowly does three things about exactly that: a live activity log you can watch it work in (not a recap after the fact), a full audit log to go back through, and per-action approvals so anything touching real data gets gated before it runs \u2014 not reviewed after it already changed.<\/p>\n<\/p>\n<p>Local models (Ollama \/ LM Studio \/ vLLM) cover the fully-offline part, and open-sourcing the core is the point \u2014 you shouldn&#8217;t have to take our word that any of that&#8217;s true, you can read it.<\/p>\n<\/p>\n<p>If you give it a shot, I&#8217;d genuinely want to know where it still falls short of &#8220;I knew before it happened.&#8221;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 notch overlay is such a thoughtful choice, feels way less intrusive than another floating widget. really nice execution on something most AI tools get 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aguvenoglu54912\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aguvenoglu54912<\/a>&nbsp; Thank you \u2014 that one took way more iterations than it probably looks like \ud83d\ude04 The whole idea was that your agent should live where your eyes already are, and stay invisible until you summon it. &#8220;Less intrusive&#8221; is exactly the bar we were aiming for, so this genuinely made our 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>The &#8220;memory of your world&#8221; being a model that tracks what changed and self-corrects is what would make me actually keep an agent around \u2014 a flat chat log always rots. Since data stays on-device but you&#8217;ve got Mac + iPhone in sync, how does that sync actually move: peer-to-peer \/ local network, or through a relay you host, and where does the memory live when one device is offline? And with the core open-sourced, is the memory store a documented local format I can inspect and back up, or an opaque embedded DB?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@noctis06\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@noctis06<\/a>&nbsp;  Honest answer: there&#8217;s no sync at all \u2014 that&#8217;s on purpose. One memory, living on whatever machine runs the agent (Mac, Mac mini, cheap VPS). The phone is just a client into it: same network \u2192 direct IP+port+token, nothing of ours in between; out and about \u2192 our relay carries the live traffic, but it&#8217;s a pipe, not a home \u2014 the memory never leaves your disk. Agent machine offline = phone can&#8217;t reach it until it&#8217;s back. No merge conflicts, no split brain. And no, not opaque: plain SQLite + markdown under ~\/.flowly. Backup is literally cp -r ~\/.flowly.<\/p>\n<\/p>\n<p>There&#8217;s an architecture doc in the repo if you want the internals.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/77SVE24MWE5MFS\" class=\"app-title\">html.contact<\/a><\/p>\n<div class=\"one-liner\">A full form backend you can test before paying<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">105<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>html.contact \u8ba9\u7eaf HTML \u8868\u5355\u65e0\u9700\u540e\u7aef\u5373\u53ef\u53d1\u9001\u5e26\u9644\u4ef6\u3001\u65e5\u5fd7\u3001\u5bfc\u51fa\u3001\u53cd\u5783\u573e\u7b49\u5b8c\u6574\u529f\u80fd\u7684\u90ae\u4ef6\uff0c\u5e76\u4e14\u514d\u8d39\u7248\u5c31\u80fd\u6d4b\u8bd5\u5168\u90e8\u751f\u4ea7\u73af\u5883\uff0c\u89e3\u51b3\u9759\u6001\u7ad9\u3001AI \u5efa\u7ad9\u7528\u6237\u5728\u8868\u5355\u540e\u7aef\u4e0a\u201c\u4ed8\u8d39\u624d\u80fd\u8bd5\u5173\u952e\u529f\u80fd\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\/4c322cc5-afa3-4155-9ffe-e82984022969.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cbfce349-02f6-4410-9fdd-23a188c96961.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f974a478-c6f2-4995-a2ab-9f143d108253.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/10fa58f4-6723-4c81-a8e4-c6be8c87f033.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0b20d92e-d914-4aa4-b23a-12d9a86995ed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bd42b715-3ac8-4cec-9c73-94b8d644e2e5.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\">Email<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8868\u5355\u540e\u7aef\u5373\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u9759\u6001\u7ad9\u70b9\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u8868\u5355<\/span><br \/>\n            <span class=\"tag\">\u9644\u4ef6\u4e0a\u4f20<\/span><br \/>\n            <span class=\"tag\">\u57df\u540d\u767d\u540d\u5355<\/span><br \/>\n            <span class=\"tag\">\u53cd\u5783\u573e<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">API \u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u8868\u5355<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u514d\u8d39\u7248\u53ef\u6d4b\u8bd5\u9644\u4ef6\u3001\u8def\u7531\u3001\u5bfc\u51fa\u7b49\u771f\u5b9e\u529f\u80fd\uff0c\u642d\u5efa\u901f\u5ea6\u6781\u5feb\uff08\u7ea6\u5341\u5206\u949f\uff09\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u9a8c\u8bc1\u8def\u7531\u662f\u5426\u9700\u8981\u81ea\u884c\u914d\u7f6e SPF\/DKIM\uff08\u5b9e\u6d4b\u65e0\u9700\uff0c\u7528\u9b54\u6cd5\u94fe\u63a5\u9a8c\u8bc1\u76ee\u6807\u90ae\u7bb1\uff09\uff1b\u514d\u8d39\u7248\u9644\u4ef6\u5927\u5c0f\u9650\u5236\u4e3a 4MB\uff1b\u53cd\u5783\u573e\u4f9d\u8d56\u5ba2\u6237\u7aef JS\uff08\u5373\u5c06\u652f\u6301 Turnstile\/Captcha\uff09\uff1b\u662f\u5426\u6709\u6708\u63d0\u4ea4\u91cf\u6216\u54c1\u724c\u6ce8\u5165\u9650\u5236\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                html.contact \u5728\u4ea7\u54c1\u601d\u8def\u4e0a\u505a\u4e86\u4e00\u4e2a\u5f88\u5c11\u4eba\u6562\u505a\u7684\u9009\u62e9\uff1a\u628a\u201c\u5b8c\u6574\u529f\u80fd\u201d\u653e\u5230\u514d\u8d39\u7248\u91cc\uff0c\u8ba9\u7528\u6237\u5148\u6d4b\u723d\u4e86\u518d\u8003\u8651\u5347\u7ea7\u3002\u8fd9\u5728\u201c\u514d\u8d39\u5373\u6b8b\u5e9f\u201d\u7684 SaaS \u884c\u4e1a\u91cc\uff0c\u7b97\u662f\u4e00\u79cd\u9006\u5411\u4fe1\u4efb\u7b56\u7565\uff0c\u6548\u679c\u4e5f\u786e\u5b9e\u62c9\u4e86 105 \u7968\u548c\u4e00\u4e32\u771f\u5b9e\u597d\u8bc4\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ed4\u7ec6\u62c6\u5f00\uff0c\u4ea7\u54c1\u7684\u6838\u5fc3\u58c1\u5792\u5176\u5b9e\u4e0d\u9ad8\u3002\u5b83\u89e3\u51b3\u7684\u662f\u201c\u628a HTML \u8868\u5355\u53d8\u6210\u53ef\u7528\u90ae\u4ef6\u8868\u5355\u201d\u8fd9\u4e2a\u8001\u95ee\u9898\uff0c\u7ade\u54c1\u5305\u62ec Formspree\u3001Netlify Forms\u3001Web3Forms\uff0c\u751a\u81f3 Zapier + Email \u7684\u7ec4\u5408\u4e5f\u80fd\u505a\u5230\u3002html.contact \u7684\u5dee\u5f02\u5316\u4e3b\u8981\u5728\u201c\u514d\u8d39\u6d4b\u9644\u4ef6\/\u8def\u7531\/\u5bfc\u51fa\/API\u201d\uff0c\u800c\u8fd9\u662f\u529f\u80fd\u5c42\u9762\u4e0a\u7684\u5dee\u5f02\uff0c\u800c\u975e\u6280\u672f\u6216\u7f51\u7edc\u6548\u5e94\u4e0a\u7684\u62a4\u57ce\u6cb3\u3002\u4e00\u65e6\u7ade\u54c1\u4e5f\u653e\u5f00\u514d\u8d39\u6d4b\u8bd5\uff0c\u6216\u8005\u7528\u6237\u9700\u6c42\u5347\u7ea7\u5230\u9700\u8981\u81ea\u5b9a\u4e49 SMTP\u3001\u9ad8\u5e76\u53d1\u3001Webhook \u6269\u5c55\uff0chtml.contact \u76ee\u524d\u7684\u80fd\u529b\u8fb9\u754c\u5c31\u4f1a\u66b4\u9732\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u8bc4\u8bba\u533a\u4e2d maker \u5bf9\u53cd\u5783\u573e\u7b56\u7565\u7684\u56de\u7b54\u6709\u70b9\u62d6\u540e\u817f\uff1a\u627f\u8ba4\u201c\u76ee\u524d\u9700\u8981\u5ba2\u6237\u7aef JS\uff0c\u4f46\u6b63\u5728\u52a0 Turnstile\u201d\u3002\u5bf9\u4e8e\u4e00\u4e2a\u6807\u699c\u201c\u7eaf HTML \u65e0 JS \u6846\u67b6\u201d\u7684\u4ea7\u54c1\uff0c\u53cd\u5783\u573e\u5374\u4f9d\u8d56 JS \u662f\u4e00\u4e2a\u660e\u663e\u7684\u529f\u80fd\u7f3a\u53e3\uff0c\u4e5f\u662f\u5bf9\u6838\u5fc3\u5356\u70b9\u7684\u524a\u5f31\u3002\u540c\u65f6\uff0c\u7528\u6237\u95ee\u7684\u201c\u662f\u5426\u9650\u63d0\u4ea4\u91cf\u201d\u201c\u662f\u5426\u54c1\u724c\u6ce8\u5165\u201d\u88ab maker \u56de\u907f\u6216\u56de\u7b54\u6a21\u7cca\uff0c\u8bf4\u660e\u5b9a\u4ef7\u6587\u6863\u548c FAQ \u8fd8\u591f\u6e05\u6670\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u503c\u5f97\u80af\u5b9a\u7684\uff0c\u662f\u4ea7\u54c1\u5bf9\u201c\u5f00\u53d1\u8005\u7b2c\u4e00\u5370\u8c61\u201d\u7684\u6253\u78e8\u300210 \u5206\u949f\u4e0a\u7ebf\u3001\u90ae\u4ef6\u76f4\u8fbe\u3001CSV \u5bfc\u51fa\u3001\u57df\u540d\u767d\u540d\u5355\u2014\u2014\u8fd9\u4e9b\u7ec6\u8282\u8ba9\u7528\u6237\u5728\u7b2c\u4e00\u6b21\u4f7f\u7528\u65f6\u4e0d\u522b\u626d\uff0c\u4e0d\u5361\u58f3\u3002\u8fd9\u79cd\u201c\u7528\u5b8c\u5373\u4fe1\u201d\u7684\u4f53\u9a8c\uff0c\u6bd4\u529f\u80fd\u6e05\u5355\u66f4\u91cd\u8981\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7ed3\u8bba\uff1a\u4e00\u6b3e\u5b9a\u4f4d\u6e05\u6670\u3001\u6267\u884c\u5408\u683c\u7684\u5fae\u5c0f\u4ea7\u54c1\uff0c\u9002\u5408\u4e2a\u4eba\u7ad9\u957f\u3001\u8f7b\u91cf\u5ba2\u6237\u7ad9\u70b9\u548c AI \u5efa\u7ad9\u8349\u7a3f\u671f\u3002\u4f46\u60f3\u8981\u4ece\u201c\u597d\u7528\u7684\u5de5\u5177\u201d\u53d8\u6210\u201c\u4e0d\u53ef\u66ff\u4ee3\u7684\u5e73\u53f0\u201d\uff0c\u9700\u8981\u5728\u53cd\u5783\u573e\u3001API \u6269\u5c55\u6027\u548c\u89c4\u6a21\u5316\u5b9a\u4ef7\u4e0a\u7ed9\u51fa\u66f4\u786c\u7684\u7b54\u6848\u3002\u5426\u5219\uff0c\u5b83\u5927\u6982\u7387\u4f1a\u505c\u7559\u5728 Product Hunt \u7684\u70ed\u699c\u4e09\u5929\uff0c\u7136\u540e\u6162\u6162\u53d8\u6210\u4e00\u4e2a\u201c\u6211\u77e5\u9053\u5b83\u4e0d\u9519\u4f46\u61d2\u5f97\u8fc1\u79fb\u201d\u7684\u5178\u578b\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">html.contact<\/span>\n                <\/div>\n<div class=\"comment-content\">html.contact turns plain HTML forms into working email forms with attachments, logs, exports, API access, verified routing, domain allowlists, and spam controls. The Free plan is built so you can test the real setup before upgrading, not just sample a few features.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt, I\u2019m Will, maker of html.contact.<\/p>\n<p>I built this because most form backends make you upgrade before you can test the stuff that actually matters: attachments, routing, logs, exports, spam controls, API access, and whether the form works cleanly on your actual site.<\/p>\n<p>html.contact is for plain HTML forms, static sites, and AI-built websites. Create a form key, paste the form action into your HTML, and submissions go straight to email.<\/p>\n<p>The main difference: the Free plan lets you test the real production setup before paying. Upgrade only when accepted submission volume grows.<\/p>\n<p>For Product Hunt, I\u2019m offering 50% off the first year for the first 10 paid customers with code PH50FIRST10.<\/p>\n<p>Would love feedback from anyone shipping static sites, client sites, docs sites, landing pages, or AI-built websites.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Code:<\/p>\n<pre><code>PH50FIRST10<\/code><\/pre>\n<p>50% OFF forever<\/p>\n<p>*Good for first 10 people who use it! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the verified routing actually work in practice, and does it require setting up SPF\/DKIM on my domain or is that handled on your end?<\/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\/@diyarzcuc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@diyarzcuc<\/a>&nbsp;Nope, verified to whoever you want to send to. Maybe that part should be rewritten. You can send notifications to whoever you want &#8211; to \/ cc \/ bcc and it verifies the email via a magic link.<\/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 attachment support without forcing an upgrade just to test the real flow is a nice touch, shows respect for the people actually trying to figure out if it works for their use 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\/@sude1363931\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sude1363931<\/a>&nbsp;That&#8217;s why I made it. thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that handles attachments without making me write a backend from scratch. Took about ten minutes to wire up and the verified routing actually felt safe, not just slapped together.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@n_yalc43979\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@n_yalc43979<\/a>&nbsp;Thank you! pretty sure that is the first comment award I&#8217;ve ever given? Means a lot. Reply to the welcome email and i&#8217;ll hook you up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the attachment size limit work on the free plan, and does the API allow sending through custom domains or only the html.contact subdomain for replies?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tekkanat_f95054\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tekkanat_f95054<\/a>&nbsp;Good point, again i may have to adjust the wording on that &#8211; probably a tad confusing.<\/p>\n<p>File attachments up to 4 megabytes. multipart form data for the form&#8230; stored securely (only accessible from your dashboard but i give you a quick link to get to it in the email). <\/p>\n<p>but to your point &#8211; emails go to whoever you want to\/cc\/bcc (counts as 1 and spam doesn&#8217;t count) but you have to verify the domain. <\/p>\n<p>The API is to create forms \/ download emails etc from your api endpoint. This isn&#8217;t a sending service like Sendgrid&#8230;  <\/p>\n<p>hope that clears it up some&#8230; you get everything on free so best to just give it a whirl.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 that the free plan lets you actually test the real form setup with attachments and verification instead of just a stripped-down demo, shows respect for the people trying 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\/@tahaoa4m\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tahaoa4m<\/a>&nbsp;Thank you! Did you try it out? hard to beat free!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hellowilly\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"hellowilly\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hellowilly<\/a>, the small stuff on a simple site is somehow always the most annoying, and a contact form that just quietly works and lands in your inbox removes a real headache. Feels like one less thing to worry about.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jean_noel_escande\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jean_noel_escande<\/a>&nbsp;YOLO<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Since this is meant for plain HTML forms with no JS framework required, how do the spam controls actually work without something like a CAPTCHA widget? Is it server-side honeypot fields and rate-limiting, or would I still need to bolt on some client-side JS to get real protection against bot spam?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Unfortunately, yes to client side JS.<\/p>\n<p>I have server side spam filtering. I&#8217;ll call it pretty decent for most. <\/p>\n<p>Still figuring out who the main users are going to be. At first I assumed non tech people building AI sites&#8230;<\/p>\n<p>next week i&#8217;ll have captcha, h and re. I have cloudflare turnstile implemented its just not pushed live. <\/p>\n<p>Wish there was a way that didn&#8217;t require more code or scripts for non technical users&#8230;. I&#8217;m open to suggestions!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Honestly impressed that the Free plan mirrors the real setup instead of locking core features away, that kind of honesty is rare and it makes the upgrade feel earned rather than forced.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nurettinaybcmd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nurettinaybcmd<\/a>&nbsp;Thank you!! If you end up using it for anything let me know!!!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Plugged in a simple contact form and had it sending real emails with attachments in under ten minutes, which is wild for something this no-frills. Love that the free tier actually works the same as the paid one instead of gimping the important 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>How does the Free plan actually work in practice, like is there a limit on submissions per month or any kind of branding injected on the emails sent out?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>set it up on a static site and the form was actually sending mail within like ten minutes, which never happens for me. the domain allowlist feels like a small thing but it&#8217;s nice not having to babysit the inbox for 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Honestly didn&#8217;t expect the free tier to actually let me send a real test email with an attachment before any paywall. Routing by domain and the simple export to CSV made it feel like a grown-up tool, not a stripped-down trial.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 the verified routing actually work in practice, do I need to set up SPF or DKIM on my own domain, or does html.contact handle that 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\/@sebahat45760404\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebahat45760404<\/a>&nbsp;<a href=\"https:\/\/www.producthunt.com\/products\/html-contact?comment=5502995\" target=\"_blank\" rel=\"noopener\">https:\/\/www.producthunt.com\/products\/html-contact?comment=5502995<\/a> so is everything AI?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3MO336LRSJOCAO\" class=\"app-title\">Gaming Chat SDK by CometChat<\/a><\/p>\n<div class=\"one-liner\">Chat drops into Unreal like it was always there<\/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>CometChat\u63a8\u51fa\u7684Unreal\u5f15\u64ce\u539f\u751f\u804a\u5929SDK\uff0c\u89e3\u51b3\u4e86\u6e38\u620f\u5f00\u53d1\u8005\u5728\u591a\u4eba\u6e38\u620f\u4e2d\u96c6\u6210\u5b9e\u65f6\u6587\u5b57\u804a\u5929\u529f\u80fd\u65f6\u8017\u65f6\u8017\u529b\u3001\u7f3a\u4e4f\u4e13\u4e1a\u652f\u6301\u7684\u95ee\u9898\uff0c\u8ba9\u73a9\u5bb6\u65e0\u9700\u5207\u5c4f\u5373\u53ef\u5728\u6e38\u620f\u5185\u8fdb\u884c1\u5bf91\u6216\u7fa4\u7ec4\u4ea4\u6d41\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\/e07292f2-b6ce-4aa6-98ec-ae1ecb6b88d3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/03179419-61ee-44f7-bee6-4f02f546d9a8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3930fda1-4e62-4a5a-8113-0a6ba869406f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/088ff6f6-2b3e-445c-8742-a80056f45b9b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c7a15557-ac87-4f0d-a12a-5ffc21b6831b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fa068228-02d4-4059-bf0f-b7bcc9df558e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/28330c55-8faf-4646-b46b-6531348812ec.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f8e5fe43-72f3-4f13-a549-f0b4b8869a9e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Tech<\/span><br \/>\n            <span class=\"tag\">Games<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6e38\u620f\u5185\u804a\u5929SDK<\/span><br \/>\n            <span class=\"tag\">Unreal Engine\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u6d88\u606f<\/span><br \/>\n            <span class=\"tag\">\u591a\u4eba\u6e38\u620f<\/span><br \/>\n            <span class=\"tag\">UE5\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">GameInstanceSubsystem<\/span><br \/>\n            <span class=\"tag\">C++\/\u84dd\u56fe\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u793e\u4ea4<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u5ba1\u6838<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5bf9\u5ba1\u6838\u529f\u80fd\u548c\u6e38\u620f\u5185\u96c6\u6210\u7684\u5b9e\u7528\u6027\u8868\u793a\u80af\u5b9a\uff1b\u591a\u4f4d\u5f00\u53d1\u8005\u5173\u6ce8\u5b9a\u4ef7\u6a21\u578b\uff08\u5c24\u5176\u662f\u8bed\u97f3\u3001\u89c6\u9891\u3001AI\u4ee3\u7406\u7684\u53e0\u52a0\u6210\u672c\uff09\uff0c\u4ee5\u53ca\u65e0\u7f1d\u573a\u666f\u5207\u6362\u65f6\u804a\u5929\u7684\u6301\u7eed\u6027\u3001\u670d\u52a1\u5668\u7aef\u9632\u4f5c\u5f0a\u5ba1\u6838\u673a\u5236\u3001AI\u4ee3\u7406\u7684\u5e95\u5c42\u6a21\u578b\u53ef\u5b9a\u5236\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                CometChat\u7684\u8fd9\u4e2aSDK\u89e3\u51b3\u4e86\u4e00\u4e2a\u5b9e\u9645\u4f46\u5e38\u88ab\u4f4e\u4f30\u7684\u75db\u70b9\u2014\u2014\u6e38\u620f\u5185\u804a\u5929\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u96c6\u6210\u3002\u5b83\u5e76\u975e\u7b80\u5355\u7684API\u5c01\u88c5\uff0c\u800c\u662f\u6df1\u5ea6\u9002\u914dUE5\u7684GameInstanceSubsystem\u548c\u5f02\u6b65\u84dd\u56fe\u8282\u70b9\uff0c\u8fd9\u76f4\u63a5\u964d\u4f4e\u4e86\u4e2d\u5c0f\u56e2\u961f\u7684\u6280\u672f\u95e8\u69db\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u4ecd\u5904\u4e8eBeta\u9636\u6bb5\uff0c\u8bc4\u8bba\u533a\u66b4\u9732\u4e86\u4e24\u4e2a\u6838\u5fc3\u9690\u60a3\uff1a\u4e00\u662f\u5b9a\u4ef7\u4e0d\u900f\u660e\uff0c\u5f53\u8bed\u97f3\u3001\u89c6\u9891\u3001AI\u4ee3\u7406\u53e0\u52a0\u65f6\uff0c\u6309\u91cf\u8ba1\u8d39\u53ef\u80fd\u5728DAU\u4e0a\u5347\u540e\u8fc5\u901f\u4fb5\u8680\u5229\u6da6\uff0c\u8fd9\u5bf9\u6e38\u620f\u521b\u4e1a\u56e2\u961f\u5c24\u4e3a\u654f\u611f\uff1b\u4e8c\u662f\u5b89\u5168\u67b6\u6784\u5b58\u7591\u2014\u2014\u5ba2\u670d\u7aef\u8fc7\u6ee4\u65e0\u6cd5\u5bf9\u6297\u4f5c\u5f0a\u8005\uff0c\u82e5\u672a\u91c7\u7528\u670d\u52a1\u5668\u7aef\u6d88\u606f\u5e7f\u64ad\u524d\u7684\u5ba1\u6838\uff0c\u5728\u767e\u4eba\u7ade\u6280\u573a\u4e2d\u53cd\u6210\u6bd2\u7624\u6e29\u5e8a\u3002\u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u628a\u201c\u4e8b\u540e\u8865\u4e01\u201d\u53d8\u6210\u201c\u539f\u751f\u7ec4\u4ef6\u201d\uff0c\u4f46\u80fd\u5426\u6210\u4e3a\u884c\u4e1a\u6807\u51c6\uff0c\u53d6\u51b3\u4e8eCometChat\u80fd\u5426\u5728\u89c4\u6a21\u5316\u5b9a\u4ef7\u548c\u670d\u52a1\u7aef\u9632\u4f5c\u5f0a\u4e0a\u7ed9\u51fa\u4ee4\u4eba\u4fe1\u670d\u7684\u65b9\u6848\uff0c\u800c\u975e\u4ec5\u9760\u201c\u964d\u672c\u201d\u5438\u5f15\u773c\u7403\u3002\u6bd5\u7adf\uff0c\u6e38\u620f\u5f00\u53d1\u4e2d\u201c\u4fbf\u5b9c\u4f46\u57cb\u96f7\u201d\u7684\u65b9\u6848\u5f80\u5f80\u6bd4\u8d35\u4f46\u53ef\u9760\u7684\u6210\u672c\u66f4\u9ad8\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\">Gaming Chat SDK by CometChat<\/span>\n                <\/div>\n<div class=\"comment-content\">Focus on building the game. We&#8217;ll handle the chat. CometChat&#8217;s Unreal SDK lets players talk to each other right inside the game, mid-match: 1:1 and group messaging, presence, moderation, and 40+ real-time delegates for messages, typing, and reactions. Full Blueprint and C++ support, so it fits your visual graph or your codebase. Ships with a chat panel and toggle button for your HUD, or build your own UI on CometChat&#8217;s subsystem. Currently in beta, for Windows, macOS, iOS, and Android.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! <\/p>\n<\/p>\n<p>Pourav here, PM at CometChat.<\/p>\n<p>Your players can now talk to each other mid-match, right inside the game \u2014 no alt-tabbing to other apps, no bolted-on voice app. We built the CometChat Unreal SDK because we kept hearing the same thing from Unreal Engine studios: chat gets added last, and it&#8217;s always the part nobody budgeted time for.<\/p>\n<p>So we built a native plugin instead of a wrapper. The CometChat Unreal SDK is a real UE5 plugin: a GameInstanceSubsystem that owns the chat lifecycle, latent async nodes with Success\/Failure pins for Blueprint, and multicast delegates for incoming events, all firing on the Game Thread so it&#8217;s safe to update UI directly.<br \/>Messaging: 1:1 and group, with history and pagination.<\/p>\n<p>Real-time events: 40+ delegates covering messages, typing, receipts, reactions, presence, calls, and connection state.<\/p>\n<p>Groups and moderation: create, join, leave, member management, and message flagging built in.<br \/>UI, if you want it: a drop-in chat panel and toggle button, or build your own on top of the subsystem.<br \/>It runs on Windows, macOS, iOS, and Android, works in C++ or pure Blueprint.<\/p>\n<p>Try it, and let us know what you think! We&#8217;re in the comments all day.<\/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>finally tried this with a side project and the moderation controls are way more useful than i expected, caught a spam pattern i&#8217;d have missed on my 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I haven&#8217;t used this product yet but I use comet chat for other products and I have always had a great experience with them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does pricing actually work once you start layering in voice, video, and the AI Agents \u2014 is that bundled or do usage-based costs stack up quickly at scale?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 pricing scale as concurrent users and AI agent usage ramp up on the platform?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 GameInstanceSubsystem owning the chat lifecycle is a smart call for UE5, but I&#8217;m wondering how it behaves during seamless travel when the world tears down mid match. Does the connection and message history survive a level transition, or do players effectively rejoin the chat each time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>For competitive lobbies where toxicity is a real problem (think 100-player battle royale), is moderation happening server-side before a message reaches other clients, or is it client-side filtering that a modified client could just bypass? That&#8217;s usually the actual pain point studios hit with in-game chat, more than wiring up the API 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice launch. In-game chat is one of those things that sounds simple until you actually have to build it, so having a ready-made SDK here makes a lot of sense.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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 the AI Agents piece actually work under the hood. Is it your own models or can I bring my own and fine tune it for our specific use case.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@srag4pb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@srag4pb<\/a>&nbsp;Upvoted! The phrase &#8220;stop duct-taping random tools and praying they play nice&#8221; resonates so deeply. \ud83d\ude05 Trying to sync separate video, voice, and text chat APIs\u2014and then trying to layer AI agents on top\u2014is usually an absolute engineering nightmare.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/IXSYWU2YQILNKM\" class=\"app-title\">Retrace<\/a><\/p>\n<div class=\"one-liner\">Debug AI agents by replaying and forking runs<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">92<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Retrace \u901a\u8fc7\u5f55\u5236\u3001\u56de\u653e\u548c\u5206\u53c9\uff08Fork\uff09AI\u667a\u80fd\u4f53\u7684\u6267\u884c\u8fc7\u7a0b\uff0c\u8ba9\u5f00\u53d1\u8005\u50cf\u526a\u8f91\u89c6\u9891\u4e00\u6837\u7cbe\u51c6\u5b9a\u4f4d\u5e76\u8c03\u8bd5LLM\u8c03\u7528\u4e2d\u7684\u9519\u8bef\uff0c\u89e3\u51b3\u201c\u63a8\u7406\u8fc7\u7a0b\u4e0d\u53ef\u89c1\u3001\u5076\u53d1\u95ee\u9898\u96be\u590d\u73b0\u201d\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ad526a55-0c26-4920-9bfd-5c244b4a5892.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6632dbea-7a15-4254-952d-6d28cc40dbbb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cc0c6379-296e-4489-a254-71ddfeebd55a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI Agent\u8c03\u8bd5<\/span><br \/>\n            <span class=\"tag\">LLM\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">Trace\u56de\u653e<\/span><br \/>\n            <span class=\"tag\">\u5206\u53c9\u8c03\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u6267\u884c\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">Prompt\u5de5\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u526f\u4f5c\u7528\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u5f52\u56e0\u5206\u6790<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u201c\u56de\u653e\u5206\u53c9\u201d\u529f\u80fd\uff0c\u89c6\u5176\u4e3a\u7c7b\u4f3cgit\u5206\u652f\u7684\u8c03\u8bd5\u8303\u5f0f\u3002\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u5728\uff1a\u5206\u53c9\u540e\u5bf9\u5e26\u526f\u4f5c\u7528\uff08\u652f\u4ed8\u3001\u5199\u5e93\uff09\u7684\u5de5\u5177\u8c03\u7528\u5982\u4f55\u5b89\u5168\u5904\u7406\uff0c\u4ee5\u53ca\u5728\u751f\u4ea7\u73af\u5883\u90e8\u7f72\u65f6\u5982\u4f55\u63a5\u5165\u3001\u5904\u7406PII\u6570\u636e\u3002\u90e8\u5206\u7528\u6237\u5173\u6ce8\u590d\u6742\u591a\u667a\u80fd\u4f53\u573a\u666f\u4e0b\u7684\u53ef\u89c6\u5316\u80fd\u529b\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                Retrace\u5207\u4e2d\u7684\u662fAI\u5e94\u7528\u4ece\u201cDemo\u201d\u5230\u201c\u751f\u4ea7\u201d\u4e4b\u95f4\u6700\u65ad\u88c2\u7684\u4e00\u73af\u2014\u2014\u4e0d\u786e\u5b9a\u6027\u3002\u5b83\u6ca1\u6709\u505c\u7559\u5728\u7b80\u5355\u7684\u65e5\u5fd7\u8bb0\u5f55\u5c42\u9762\uff0c\u800c\u662f\u6784\u5efa\u4e86\u4e00\u5957\u201c\u5f55\u5236-\u91cd\u64ad-\u5206\u53c9-\u5bf9\u6bd4\u201d\u7684\u95ed\u73af\u8c03\u8bd5\u8303\u5f0f\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u201c\u5206\u53c9\u201d\uff08Fork\uff09\uff0c\u8fd9\u6bd4\u5355\u7eaf\u7684\u201c\u56de\u653e\u201d\u66f4\u5177\u7834\u574f\u6027\uff1a\u5b83\u5141\u8bb8\u5f00\u53d1\u8005\u5728\u4e0d\u91cd\u8dd1\u6574\u4e2aWorkflow\u7684\u524d\u63d0\u4e0b\uff0c\u4fee\u6539\u67d0\u4e2a\u4e2d\u95f4\u6b65\u9aa4\u7684Prompt\u6216\u6a21\u578b\u53c2\u6570\u5e76\u5411\u4e0b\u6267\u884c\uff0c\u8fd9\u5927\u5e45\u63d0\u5347\u4e86\u8fed\u4ee3\u6548\u7387\uff0c\u672c\u8d28\u4e0a\u662f\u5c06\u7a0b\u5e8f\u8c03\u8bd5\u4e2d\u7684\u201c\u65ad\u70b9\u201d\u548c\u201c\u5206\u652f\u9884\u6d4b\u201d\u5e26\u5165\u4e86LLM\u5e94\u7528\u5f00\u53d1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8bc4\u8bba\u4e2d\u66b4\u9732\u51fa\u7684\u201c\u526f\u4f5c\u7528\u201d\u95ee\u9898\u662f\u5176\u963f\u5580\u7409\u65af\u4e4b\u8e35\u3002\u5f53\u5206\u53c9\u540e\u7684\u5206\u652f\u6267\u884c\u4e86\u4e0e\u5f55\u5236\u65f6\u4e0d\u540c\u7684\u5de5\u5177\u8c03\u7528\uff0c\u5de5\u5177\u8c03\u7528\u7ed3\u679c\u7684\u201c\u4f4d\u7f6e\u5339\u914d\u201d\u800c\u975e\u201c\u53c2\u6570\u5339\u914d\u201d\u673a\u5236\uff0c\u4f1a\u5bfc\u81f4\u7ed3\u679c\u9519\u4f4d\u751a\u81f3\u65ad\u88c2\u3002\u8fd9\u662f\u5f53\u524d\u7248\u672c\u5fc5\u987b\u627f\u8ba4\u7684\u201c\u53d7\u9650\u667a\u80fd\u4f53\u201d\u72b6\u6001\u3002\u5bf9\u4e8e\u64cd\u4f5c\u771f\u5b9e\u6570\u636e\u5e93\u6216API\u7684\u751f\u4ea7\u7ea7\u667a\u80fd\u4f53\uff0c\u5176\u8c03\u8bd5\u4ef7\u503c\u76ee\u524d\u4e3b\u8981\u5c40\u9650\u4e8e\u7eafLLM\u63a8\u7406\u8def\u5f84\u3002\u4ea7\u54c1\u7684\u8fdc\u671f\u58c1\u5792\u5728\u4e8e\uff1a\u80fd\u5426\u4f18\u96c5\u5730\u5904\u7406\u526f\u4f5c\u7528\u6a21\u62df\uff08\u5982\u6c99\u7bb1\u63a5\u53e3\uff09\u4e0e\u786e\u5b9a\u6027\u91cd\u653e\u4e4b\u95f4\u7684\u77db\u76fe\u3002\u82e5\u4ec5\u9650\u4e8e\u201c\u53ea\u8bfb\u201d\u6216\u201c\u6c99\u7bb1\u201d\u8c03\u8bd5\u573a\u666f\uff0c\u5176\u5929\u82b1\u677f\u5c06\u4f4e\u4e8e\u7528\u6237\u5bf9\u201cgit\u5206\u652f\u5f0f\u201d\u8c03\u8bd5\u7684\u671f\u5f85\u5ea6\u3002\u4e0d\u8fc7\uff0c\u5728\u73b0\u4ecaAI Agent\u5f00\u53d1\u666e\u904d\u201c\u6478\u9ed1\u8d70\u201d\u7684\u6df7\u6c8c\u671f\uff0c\u80fd\u63d0\u4f9b\u4e00\u4e2a\u770b\u5f97\u89c1\u7684\u201c\u6162\u52a8\u4f5c\u56de\u653e+\u5b9a\u5411\u4fee\u6539\u201d\u5de5\u5177\uff0c\u5df2\u5c5e\u964d\u7ef4\u6253\u51fb\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\">Retrace<\/span>\n                <\/div>\n<div class=\"comment-content\">Record, replay, fork &#038; share AI agent executions. See every LLM call, tool invocation, and error your agent makes, then debug and iterate in seconds. Free for 1,000 traces\/mo.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Retrace records every LLM call, tool call, and error in a run as a span inside a trace. You can replay a past run step by step, like scrubbing through a video. When you find the step that broke, you fork it, change the input or model at that point and the agent re-executes from there, so you can compare the original and the new path side by side.<\/p>\n<p>The part I care most about is the forking: it&#8217;s closer to git branching than to re-running a prompt. Pre-fork steps replay from the recording; everything downstream runs live.<\/p>\n<p>It&#8217;s early, and I&#8217;d really like your feedback \u2014 especially on the replay and fork flow, and what would make it fit your stack. Which frameworks or providers are you using? Happy to answer anything here.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yash1511_bogam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yash1511_bogam<\/a>&nbsp;Congrats on the launch! \ud83c\udf89<\/p>\n<p>Debugging AI agents by replaying and <\/p>\n<p>forking runs is genius &#8211; every AI <\/p>\n<p>engineer needs this!<\/p>\n<p>Quick question &#8211; when developers <\/p>\n<p>search &#8220;AI agent debugging tool&#8221; on <\/p>\n<p>ChatGPT, is Retrace showing up?<\/p>\n<p>I help dev tools get discovered on <\/p>\n<p>ChatGPT &amp; Google through Reddit <\/p>\n<p>marketing. Communities like r\/artificial <\/p>\n<p>and r\/MachineLearning would love <\/p>\n<p>Retrace.<\/p>\n<p>Would love to connect!<\/p>\n<p>&#8211; Priyesh Kharwar<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@yash1511_bogam<br \/>\nThe difficult part with AI agents isn&#8217;t getting them to work once.<\/p>\n<p>It&#8217;s understanding why they behaved differently the next time. Anything that makes those decisions reproducible changes how confidently teams can ship agent-based products.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yash1511_bogam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yash1511_bogam<\/a>&nbsp;Forking from the exact point where something broke instead of rerunning the entire workflow is the feature that caught my attention. That&#8217;s a thoughtful approach to debugging.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 way to actually see what my agents are doing under the hood. The replay feature saved me a ton of time figuring out why one tool call was looping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@suna288943\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suna288943<\/a>&nbsp;Love hearing this, catching a looping tool call is exactly what replay is built 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>Forking a run like a git branch is exactly how agent debugging should work. Replay alone rarely helps when the failure came from one weird tool response ten steps in.<\/p>\n<\/p>\n<p>Also went through your forum thread on separating real regressions from provider noise \u2014 nice to see nondeterminism treated as a first-class problem (first-divergence diff + verdict) instead of being waved away.<\/p>\n<\/p>\n<p>One thing I couldn&#8217;t find though: when everything downstream of the fork runs live, do the agent&#8217;s tool calls actually execute?<\/p>\n<\/p>\n<p>I work on agents with real side effects (checkout, payments, emails), and mocking those from the recording would be the difference between &#8220;safe to fork production runs&#8221; and not.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@akbar_b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akbar_b<\/a>&nbsp;Tool calls aren&#8217;t re-executed on a fork; they replay from the recorded tape, so checkout, payments, and emails never fire again, and only the LLM calls are re-issued live (which is exactly where the divergence you care about shows up). You can also override a specific tool&#8217;s output before replaying if you want to force a different branch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that lets me actually see why my agent broke instead of digging through logs. the replay view caught a tool call loop in seconds, super useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@muhammetbelgin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@muhammetbelgin<\/a>&nbsp;Appreciate the kind words! If you want to try it on your own agent, you can sign up free and have your first trace replaying in a couple of minutes: <a href=\"http:\/\/retraceai.tech\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">retraceai.tech<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The first-divergence approach surfaces an input-side problem I&#8217;ve hit in my own agent harness: volatile tokens the harness itself embeds in prompts \u2014 timestamps, run ids, sampled examples \u2014 make every replay look like it diverges at step 1, before any real regression. My fix was blunt: ban wall-clock and randomness inside the orchestration layer entirely (time gets injected as an argument), so replays are byte-stable by construction. Curious where Retrace draws this line: do you normalize\/mask known-volatile spans when computing first divergence, so a timestamp delta doesn&#8217;t count as a fork point \u2014 or is the recommendation to make the harness deterministic upstream, like I did? And if it&#8217;s masking, is the mask list configurable per project? Feels like the difference between a diff you trust and a diff you learn to ignore.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 failures that actually bite me only show up on a real user&#8217;s weird input in prod, never when I&#8217;m testing locally, so recording a run and replaying it after the fact is the dream. Two Qs: can I ingest traces from a deployed backend (not just a local dev harness), and since those recordings carry real user messages, is there any redaction\/PII control before a trace gets stored or shared?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Spent a few minutes replaying a flaky agent run and being able to fork the exact trace to try a different prompt without rerunning the whole thing was honestly a nice surprise. The tool call breakdown finally makes it obvious where my agent was looping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 the free tier handle traces that get close to the limit mid-session \u2014 does it cut off or let you finish and just throttle new ones?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the replay view is, being able to scrub through each LLM call and tool invocation without losing context makes debugging agents feel way less like guesswork.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 replay feature is genuinely useful, I reran a flaky agent run and could pinpoint exactly where it stalled without digging through logs. Free tier is enough to actually evaluate it before committing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally something that makes debugging AI agents less painful. The forking feature let me branch off a stuck trace and rerun it with a different prompt in like a minute. Super practical for anyone shipping agents right now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this solves a problem every team building agents eventually runs into.<\/p>\n<p>how well does it scale when an agent has dozens of tool calls, nested workflows, and multiple sub-agents? would love to know how you&#8217;ve approached visualizing complex traces.<\/p>\n<p>congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sonali_nayak2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sonali_nayak2<\/a>&nbsp;Thanks, really appreciate it! For big traces the spans render as a nested, scrubbable timeline (parent\/child, so dozens of tool calls and nested workflows stay grouped instead of a flat wall), and for multi-agent runs every span carries an agent id\/role with an agent-topology graph that shows how the sub-agents hand off, plus inter-agent detectors that flag things reasoning\/action mismatches. Very large traces are the area I&#8217;m still actively hardening, so honest feedback there is genuinely welcome.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 replay-from-tape answer makes sense for stopping side effects re-firing, but there&#8217;s a subtle failure once you fork and swap the model. The new branch might call the same tool with different arguments than the recorded run did, so the taped response is now the answer to a question the new path never asked. Do you match a replay on the tool name only, or on the actual call arguments, and what happens when a forked run makes a tool call that has no matching entry on the tape?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Honestly, you&#8217;ve spotted a real limit. Replay matches the recorded step positionally, not by tool name or arguments, so a forked model that calls the same tool with different args gets the taped (now-stale) answer, and a brand-new tool call has no tape entry at all. Since your tools run in your app we don&#8217;t re-execute them server-side, so those runs are flagged best-effort and not authoritative for tool-calling agents, with a per-step override so you can drop in the correct output.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 git branching analogy for forking a run is the right mental model, most &#8220;replay&#8221; tools stop at showing you what happened instead of letting you actually change the input at the broken step and re-run from there. i&#8217;ve lost hours re-running an entire agent chain from scratch just to test one fix at step 8. does forking work if the tool call at that step had side effects, like a real API write, or only for pure LLM steps<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;re-running the whole chain just to test step 8 is exactly the pain that made me build this. It work for side-effecting steps too: the tool call at that step isn&#8217;t re-fired against the real API, its recorded output is replayed (or you can override it), so no duplicate writes. Only the downstream LLM steps re-run live, which is where the fix actually shows 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>The fork-as-git-branch model is the right call for agent debugging \u2014 re-running a whole prompt throws away the exact upstream state that caused the break. The thing I&#8217;d need pinned before wiring this into a real stack is side effects: when a forked run re-executes downstream live, does a tool call that writes to a DB or hits a payment\/email API actually fire again, or can you stub specific tools so a fork doesn&#8217;t repeat real-world writes? Being able to mark tools as replay-only vs live seems like the difference between using this on prod agents or only read-only ones.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Replay + fork is exactly how agent debugging should work. Today my &#8216;debugging&#8217; is reading transcripts of production calls and guessing which turn derailed it &#8211; being able to fork from the exact step and test a fix against the same context would save hours. Does it work with voice agents \/ live conversation logs, or is it aimed at tool-calling agents? 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>For Retrace, when you say users can replay and fork runs, does the fork preserve the full context of the original AI agent run, or is it more about starting from a selected point in the trace? I can imagine both being useful for debugging, especially when a bad tool call or prompt change happens midway through a run.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mia_qiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mia_qiao<\/a>&nbsp;Both, and that&#8217;s really the point. Everything before the fork point is preserved exactly from the original recording, so the run keeps its full context up to the step you pick, and from that step forward it re-executes with your change and cascades the new context to the downstream steps. So for a bad tool call or a prompt tweak midway, you fork right at that step and only the affected part re-runs, on the corrected context instead of from scratch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/VJSE7HCUEFD5XS\" class=\"app-title\">Quick Sub 2: Video Subtitling<\/a><\/p>\n<div class=\"one-liner\">Quick, creative video subtitling with direct canvas control.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">89<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Quick Sub 2 \u662f\u4e00\u6b3e\u4e13\u4e3a macOS \u8bbe\u8ba1\u7684\u5b57\u5e55\u5236\u4f5c\u5de5\u5177\uff0c\u901a\u8fc7\u76f4\u63a5\u62d6\u62fd\u5b57\u5e55\u5bf9\u8c61\u5230\u89c6\u9891\u753b\u5e03\u7cbe\u51c6\u5b9a\u4f4d\uff0c\u5e76\u652f\u6301\u72ec\u7acb\u63a7\u5236\u6587\u5b57\u6837\u5f0f\u3001\u5bb9\u5668\u51e0\u4f55\u4e0e\u65cb\u8f6c\u89d2\u5ea6\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u89c6\u9891\u7f16\u8f91\u5668\u4e2d\u5b57\u5e55\u6392\u7248\u7e41\u7410\u3001\u7f3a\u4e4f\u521b\u610f\u81ea\u7531\u5ea6\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\/a670894d-1c63-4d29-a59c-b7e0300cd707.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\/49095db2-597f-418c-aa29-df72a6de5023.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\/ab5f0b25-ad71-42bd-b7ac-875fbded0215.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\/6df33b00-7c75-4b3b-809d-f68483156bbd.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\/0b84e1bb-a50f-4231-bcaf-f1cd2b690be7.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\/9256f73b-ee66-4702-a7ef-ddf260c2b19a.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\/86de1e33-4a5b-4b9a-bdaf-86c09f9f2b3e.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\/72f21589-6c9e-4206-9ed5-fb855813fe6d.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\/9501d88c-bb4d-45df-ba92-7f205afb422b.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS \u5b57\u5e55\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">SwiftUI<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u753b\u5e03\u62d6\u62fd<\/span><br \/>\n            <span class=\"tag\">\u5b57\u5e55\u81ea\u7531\u6392\u7248<\/span><br \/>\n            <span class=\"tag\">\u6279\u91cf\u6837\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u65f6\u95f4\u8f74<\/span><br \/>\n            <span class=\"tag\">0.1x \u7f29\u653e<\/span><br \/>\n            <span class=\"tag\">.qsub2 \u683c\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u5b57\u5e55\u8bbe\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\u80af\u5b9a\u753b\u5e03\u62d6\u62fd\u548c\u6279\u91cf\u6837\u5f0f\uff0c\u4f46\u4e3b\u8981\u95ee\u9898\u96c6\u4e2d\u5728\uff1a1\uff09\u662f\u5426\u652f\u6301\u5e27\u5bf9\u9f50\/\u5438\u6c14\u5f0f\u6355\u6349\uff08\u5f53\u524d\u65e0\u5e27\u5438\u9644\uff09\uff1b2\uff09\u8f93\u51fa\u662f\u5426\u652f\u6301\u72ec\u7acb\u5b57\u5e55\u6587\u4ef6\uff08.srt\/.ass\uff09\uff1b3\uff09\u62d6\u62fd\u64cd\u4f5c\u5bf9\u957f\u89c6\u9891\u5927\u91cf\u5b57\u5e55\u65f6\u54cd\u5e94\u8f83\u6162\uff1b4\uff09\u80fd\u5426\u5904\u7406 AI \u8f6c\u5f55\u540e\u7cbe\u8c03\uff1b5\uff09\u5e0c\u671b\u6dfb\u52a0\u65b9\u5411\u952e\u5fae\u8c03\u50cf\u7d20\u7ea7\u5b9a\u4f4d\u3002\u5f00\u53d1\u8005\u660e\u786e\u8868\u793a\u6682\u4e0d\u652f\u6301\u81ea\u52a8\u8f6c\u5f55\uff0c\u5e27\u5438\u9644\u548c\u65b0\u9879\u76ee\u51b2\u7a81\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                Quick Sub 2 \u8d70\u4e86\u4e00\u6761\u4ecb\u4e8e\u201c\u8f7b\u91cf\u5de5\u5177\u201d\u4e0e\u201c\u521b\u610f\u63d2\u4ef6\u201d\u4e4b\u95f4\u7684\u7a84\u8def\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u5feb\u201d\uff0c\u800c\u5728\u4e8e\u201c\u8ba9\u5b57\u5e55\u878d\u5165\u753b\u9762\u201d\u2014\u2014\u901a\u8fc7\u753b\u5e03\u76f4\u63a5\u62d6\u62fd\u548c\u72ec\u7acb\u89d2\u5ea6\u63a7\u5236\uff0c\u628a\u5b57\u5e55\u4ece\u65f6\u95f4\u8f74\u4e0a\u7684\u7ebf\u6027\u6587\u672c\u89e3\u653e\u4e3a\u4e8c\u7ef4\u7a7a\u95f4\u5185\u7684\u8bbe\u8ba1\u5143\u7d20\u3002\u8fd9\u5728\u77ed\u89c6\u9891\u3001\u52a8\u6001\u6392\u7248\u548c\u89c6\u89c9\u53d9\u4e8b\u9886\u57df\uff0c\u6bd4 Premiere \u7684\u9010\u5e27\u5173\u952e\u5e27\u6216\u526a\u6620\u7684\u9884\u8bbe\u6a21\u677f\u8981\u7075\u6d3b\u5f97\u591a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5b83\u7684\u786c\u4f24\u4e5f\u6070\u6070\u51fa\u5728\u201c\u534a\u4e13\u4e1a\u5b9a\u4f4d\u201d\u4e0a\uff1a\u4e0d\u652f\u6301\u5e27\u5438\u9644\uff0c\u8ba9\u201c\u7cbe\u5bc6\u914d\u65f6\u201d\u6210\u4e3a\u7a7a\u8c08\uff1b\u4e0d\u652f\u6301\u8f93\u51fa. srt\/.ass \u4fa7\u8f66\u6587\u4ef6\uff0c\u7b49\u4e8e\u81ea\u65ad\u4e0e\u4e3b\u6d41\u526a\u8f91\u6d41\u6c34\u7ebf\u7684\u6865\u6881\uff1b\u62d6\u62fd\u6027\u80fd\u5728\u957f\u89c6\u9891\u4e2d\u8fdf\u949d\uff0c\u66f4\u66b4\u9732\u4e86\u5176\u4f5c\u4e3a\u521d\u7248 SwiftUI \u5e94\u7528\u5728\u590d\u6742\u4ea4\u4e92\u4e0b\u7684\u529b\u4e0d\u4ece\u5fc3\u3002\u5f00\u53d1\u8005\u5bf9\u201c\u81ea\u52a8\u8f6c\u5f55\u201d\u7684\u660e\u786e\u62d2\u7edd\uff0c\u610f\u5473\u7740\u5b83\u6c38\u8fdc\u53ea\u80fd\u4f5c\u4e3a\u201c\u7cbe\u4fee\u73af\u8282\u201d\u7684\u8f85\u52a9\u5de5\u5177\uff0c\u800c\u975e\u72ec\u7acb\u7684\u5de5\u4f5c\u6d41\u7ec8\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8fd9\u5f88\u806a\u660e\uff1a\u907f\u5f00\u5927\u5382\u5bf9\u8bed\u97f3\u8bc6\u522b\u548c\u5168\u6808\u5b57\u5e55\u5de5\u5177\u7684\u6295\u5165\uff0c\u4e13\u653b\u201c\u628a\u5b57\u5e55\u505a\u6f02\u4eae\u201d\u8fd9\u4e00\u6781\u5c0f\u4f17\u5ba1\u7f8e\u9700\u6c42\u3002\u4f46\u4e5f\u5f88\u5371\u9669\uff1a\u5982\u679c\u7528\u6237\u9700\u8981\u5728 Final Cut \u91cc\u590d\u7528\u5b83\u521b\u9020\u7684\u503e\u659c\u5e03\u5c40\uff0c\u53d1\u73b0\u65e0\u6cd5\u5bfc\u51fa\u517c\u5bb9\u683c\u5f0f\uff0c\u90a3\u4e00\u5207\u7f8e\u611f\u90fd\u53d8\u6210\u4e86\u201c\u5b64\u5c9b\u8bbe\u8ba1\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u662f\u4e00\u4e2a\u9762\u5411\u8bbe\u8ba1\u5e08\u800c\u975e\u526a\u8f91\u5e08\u7684\u4e13\u4e1a\u5b57\u5e55\u8349\u56fe\u672c\uff0c\u4f46\u5c11\u4e86\u4e00\u6247\u53ef\u8fde\u901a\u526a\u8f91\u6d41\u6c34\u7ebf\u7684\u5927\u95e8\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\">Quick Sub 2: Video Subtitling<\/span>\n                <\/div>\n<div class=\"comment-content\">Quick Sub 2 is a streamlined macOS application built from the ground up in SwiftUI for creative video subtitling. Get independent control over text styling, container geometry, and rotation angles. Drag subtitle objects directly on the video canvas for perfect positioning, apply batch styles across multiple objects with a single command, and use a dynamic timeline that scales from 0.1x to 10x for precision timing. The application has full native Undo\/Redo stacks andqsub2 file persistence.<\/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<\/p>\n<p>I\u2019m representing the developer behind Quick Sub 2. <\/p>\n<p>Traditional video editors make overlaying and styling individual subtitle callouts incredibly tedious.  We&#8217;ve built Quick Sub 2 from the ground up using SwiftUI to fix that workflow.  It gives you deep, independent creative control over text styling, container geometry, background colors, and rotation angles\u2014without the bloat of a massive video editing suite.<\/p>\n<p>Here is what makes Quick Sub 2 completely different:<\/p>\n<p>\u30fb Direct Canvas Manipulation: Just drag your subtitle objects directly over the movie screen to position them.<br \/>\n\u30fb Advanced Styling: Rotate selected subtitle objects to get the perfect structural angle for your layout.<br \/>\n\u30fb Workflow Efficiency: Apply size and style parameters across multiple subtitle objects with a single menu command.<br \/>\n\u30fb Dynamic Timeline: Effortlessly drag objects to change timing, and zoom your timeline from 0.1x to 10x for precision editing.<br \/>\n\u30fb Full Undo\/Redo &amp; Native Saving: Built with a robust native undo stack and custom .qsub2 project persistence.<\/p>\n<p>We\u2019d love to hear your thoughts, feedback, and feature requests.  Thank you for the support!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@tomato4266 Most subtitle tools solve speed.<\/p>\n<p>The harder problem is making text feel like it belongs to the video instead of looking like it was added after the fact. That&#8217;s where the real differentiation starts.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The drag-to-position subtitles directly on the video canvas is such a thoughtful touch. So many tools force you into separate preview windows, so this feels like it actually respects how creative work gets 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>The drag-to-position directly on the video canvas is such a smart workflow choice, makes fine-tuning placement feel natural instead of fighting with sliders.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 the qsub2 file format handle compatibility with other subtitle tools or editors like Premiere or Final Cut, or is it pretty locked into its own ecosystem?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 cool<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>SwiftUI native on Mac is rare for video tools, nice to see. Dragging subtitles straight on the canvas feels way faster than keyframing in Premiere. Timeline zooming down to 0.1x is genuinely useful for tight caption timing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 on-canvas drag-and-rotate is the good part \u2014 the quiet killer is preview-to-export parity. canvas previews at display res, the burn-in composites at source res, so rotated text anti-aliases differently and slips off the placement you set by hand<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried this and the drag-on-canvas positioning feels really natural, especially with the timeline zoom for fine-tuning cues. Batch styling multiple subs at once is a nice time-saver too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the focus on subtitle editing instead of a full video editor. Can Quick Sub 2 work with subtitles generated by AI tools, so users can fine-tune the styling and timing afterward?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>SwiftUI-native and the timeline precision at 0.1x is genuinely useful for tight caption sync. Batch styling across multiple objects worked exactly as advertised, though I wish the canvas allowed nudging with arrow keys for pixel-level tweaks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 direct-canvas dragging plus batch styles across objects is the part that would actually save me time \u2014 positioning subtitles in a timeline-only editor is the tedious bit. Two workflow questions before I&#8217;d switch a video over: on export, does it burn the subtitles into the video, or can it also output a separate .srt\/.ass sidecar so I can re-edit captions elsewhere? And does the .qsub2 file save styling as reusable presets I can reapply across a whole series, or does each new video start from scratch?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that you can drag subtitle objects right on the canvas instead of fighting a properties panel. With that 0.1x to 10x timeline zoom, does the dragging snap to anything at the fine end, or is it pure freehand timing when you&#8217;re lining up a fast cut?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 direct canvas control is what most subtitle tools get wrong. dragging text exactly where you want it instead of picking from preset positions sounds small but it&#8217;s the difference between subtitles that work with your footage and ones that fight it. does it handle auto-transcription too or is it purely for styling and placement after you have the text?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@shubham4real\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham4real<\/a>&nbsp;<\/p>\n<blockquote>\n<p>dragging text exactly where you want it instead of picking from preset positions<\/p>\n<\/blockquote>\n<p>You can click on the Save as Default button at the bottom of middle pane.  Then you can either manually click on the Set saved settings at the top or turn on the Use saved settings checkbox under the canvas.<\/p>\n<blockquote>\n<p>does it handle auto-transcription too or is it purely for styling and placement after you have the text?<\/p>\n<\/blockquote>\n<p>Nope.  I have no intention of having such a feature for the time being.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the dynamic timeline let you snap to frames or audio cues, or is it strictly time-based scrubbing? Trying to gauge how it handles tight lip-sync adjustments.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@halilekinmn7y\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@halilekinmn7y<\/a>&nbsp;It does not snap to a frame at this moment.  I may take a look in the near feature.  But I can&#8217;t do it at this time since I&#8217;ve already started working on a new project.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">The drag\u2011and\u2011drop subtitle positioning looks slick, how natural does it feel when you\u2019re working on a longer video with dozens of captions?<\/div>\n<div class=\"comment-actions\">\n<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\/@thys_beesman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thys_beesman<\/a>&nbsp;I see.  Subtitle layers are indeed a bit too slow to move.  I&#8217;ll take a look to see what I can do about it in a week or two.  I can&#8217;t do it now since I&#8217;ve started working on a new project.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/3F34KSUXL7UPW3\" class=\"app-title\">adside\u014d<\/a><\/p>\n<div class=\"one-liner\">Ambient AI layer that works before you ask<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">59<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Adside\u014d \u662f\u4e00\u6b3e\u5728Mac\u540e\u53f0\u8fd0\u884c\u7684\u201c\u73af\u5883\u611f\u77e5\u201dAI\u5c42\uff0c\u80fd\u5728\u7528\u6237\u5f00\u4f1a\u3001\u5199\u4f5c\u3001\u7f16\u7a0b\u7b49\u573a\u666f\u4e2d\uff0c\u65e0\u9700\u4e3b\u52a8\u63d0\u95ee\uff0c\u81ea\u52a8\u5c06\u5c4f\u5e55\u5185\u5bb9\u8f6c\u5316\u4e3a\u4efb\u52a1\u3001\u8349\u7a3f\u3001\u4ee3\u7801\u4fee\u590d\u7b49\u5177\u4f53\u884c\u52a8\uff0c\u89e3\u51b3\u7528\u6237\u56e0\u9700\u8981\u624b\u52a8\u6253\u5f00\u804a\u5929\u5de5\u5177\u3001\u7f16\u5199\u63d0\u793a\u8bcd\u800c\u5bfc\u81f4\u7684AI\u4f7f\u7528\u95e8\u69db\u9ad8\u3001\u6548\u7387\u4f4e\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\/8a1a2c92-bd3c-49a1-84b1-1887ea46ae5b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d9280219-dd08-4da8-ae8e-2faab52393fd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1cef8fa9-784a-4dff-81b4-2054e421333d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7f9bd00d-3624-459a-9e0f-566f74267cf7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/16a41a12-0a44-4dc8-81e3-07728c869e7d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e02d7e7d-f85d-42e7-97ef-97c900edc6f5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d86dec6a-3af6-417e-9b98-71ee201ec9e6.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\/e532bacc-9a48-42c2-9f43-e565b3d39f6c.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/YJYOsK5zX0E\"><source src=\"https:\/\/youtu.be\/YJYOsK5zX0E\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u73af\u5883AI<\/span><br \/>\n            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">Mac\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u611f\u77e5<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e0\u63d0\u793a\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u80cc\u666fAI<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u539f\u751fAI\u5c42<\/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\u70b9\u96c6\u4e2d\u5728\uff1a\u4e00\u662f\u8ba2\u9605\u8d39\u7528\u4e0e\u4ef7\u503c\u5339\u914d\u7684\u62c5\u5fe7\uff08\u70b9\u8d5e2\uff09\uff0c\u4e8c\u662f\u4f55\u65f6\u4ecb\u5165\u4e0e\u4fdd\u6301\u9759\u9ed8\u7684\u51b3\u7b56\u673a\u5236\uff08\u70b9\u8d5e2\uff09\uff0c\u4e09\u662f\u5982\u4f55\u4fdd\u62a4\u654f\u611f\u4fe1\u606f\u53ca\u900f\u660e\u5ea6\uff08\u70b9\u8d5e1\uff09\u3002\u4e5f\u6709\u7528\u6237\u8d5e\u8d4f\u201c\u5148\u4e8e\u63d0\u95ee\u201d\u7684\u7406\u5ff5\uff0c\u8ba4\u4e3a\u80fd\u964d\u4f4eAI\u4f7f\u7528\u95e8\u69db\uff08\u70b9\u8d5e2\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                Adside\u014d\u7684\u91ce\u5fc3\u5f88\u660e\u786e\uff1a\u8ba9AI\u4ece\u201c\u88ab\u8c03\u7528\u201d\u8fdb\u5316\u5230\u201c\u81ea\u52a8\u5728\u573a\u201d\u3002\u8fd9\u6070\u597d\u547d\u4e2d\u4e86\u5f53\u524dAI\u751f\u4ea7\u529b\u5de5\u5177\u7684\u6700\u5927\u75db\u70b9\u2014\u2014\u7528\u6237\u5f80\u5f80\u4e0d\u662f\u4e0d\u60f3\u7528AI\uff0c\u800c\u662f\u201c\u5fd8\u8bb0\u7528\u201d\u6216\u201c\u61d2\u5f97\u5199\u63d0\u793a\u8bcd\u201d\u3002\u901a\u8fc7\u6301\u7eed\u5206\u6790\u5c4f\u5e55\u3001\u4f1a\u8bae\u3001\u4ee3\u7801\u7b49\u5b9e\u65f6\u4e0a\u4e0b\u6587\uff0cAdside\u014d\u8bd5\u56fe\u5c06AI\u4ece\u4e3b\u52a8\u4ea4\u4e92\u7684\u5de5\u5177\uff0c\u53d8\u6210\u4e00\u79cd\u9690\u5f62\u7684\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u80fd\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u903b\u8f91\u770b\uff0c\u5b83\u7684\u5dee\u5f02\u5316\u5728\u4e8e\u201c\u63a5\u53e3\u9769\u547d\u201d\uff1a\u4e0d\u518d\u4f9d\u8d56\u7528\u6237\u6253\u5f00ChatGPT\u6216Claude\u7684\u804a\u5929\u6846\uff0c\u800c\u662f\u7528\u9759\u9ed8\u7684\u6d1e\u5bdf\u964d\u4f4e\u4f7f\u7528\u6469\u64e6\u3002\u8fd9\u79cd\u201c\u73af\u5883AI\u201d\u7684\u8bbe\u60f3\u5728\u7406\u5ff5\u4e0a\u662f\u5148\u8fdb\u7684\uff0c\u5c24\u5176\u5bf9\u975e\u91cd\u5ea6AI\u7528\u6237\u3001\u5feb\u901f\u5207\u6362\u4efb\u52a1\u7684\u5185\u5bb9\u5de5\u4f5c\u8005\u6216\u5f00\u53d1\u8005\u6709\u6f5c\u5728\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u6211\u4eec\u9700\u8981\u4fdd\u6301\u51b7\u9759\u3002\u76ee\u524d\u4ec5\u652f\u6301Mac\u3001\u4f9d\u8d56\u5c4f\u5e55\u548c\u97f3\u9891\u7684\u6301\u7eed\u76d1\u63a7\uff0c\u610f\u5473\u7740\u9690\u79c1\u662f\u60ac\u5728\u5934\u9876\u7684\u8fbe\u6469\u514b\u5229\u65af\u4e4b\u5251\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u5173\u4e8e\u654f\u611f\u6570\u636e\u9632\u62a4\u548c\u900f\u660e\u5ea6\u7684\u8ffd\u95ee\uff0c\u6070\u6070\u662f\u51b3\u5b9a\u4ea7\u54c1\u80fd\u8d70\u591a\u5bbd\u7684\u5173\u952e\u3002\u6b64\u5916\uff0c\u4f55\u65f6\u4ecb\u5165\u3001\u4f55\u65f6\u9759\u9ed8\u7684\u201c\u65f6\u673a\u5224\u65ad\u201d\u662f\u6280\u672f\u96be\u9898\uff0c\u4e00\u4e2a\u9519\u8bef\u7684\u5efa\u8bae\u5728\u6700\u7d27\u5f20\u7684\u7f16\u7801\u65f6\u523b\u5f39\u51fa\uff0c\u53cd\u800c\u4f1a\u6210\u4e3a\u5e72\u6270\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Adside\u014d\u7684\u6839\u672c\u4ef7\u503c\u4e0d\u5728\u4e8e\u5b83\u201c\u80fd\u505a\u4ec0\u4e48\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u80fd\u5426\u6210\u4e3a\u8ba9\u7528\u6237\u201c\u611f\u89c9\u4e0d\u5230\u5b58\u5728\u201d\u5374\u53c8\u201c\u79bb\u4e0d\u5f00\u201d\u7684\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\u3002\u5728AI\u5de5\u5177\u6781\u5ea6\u5185\u5377\u7684\u4eca\u5929\uff0c\u5b83\u7684\u65b9\u5411\u503c\u5f97\u5173\u6ce8\uff0c\u4f46\u82e5\u8981\u89c4\u6a21\u5316\uff0c\u5fc5\u987b\u5728\u9690\u79c1\u4fe1\u4efb\u3001\u6210\u672c\u63a7\u5236\u548c\u4f53\u9a8c\u7684\u201c\u9690\u5f62\u611f\u201d\u4e0a\u62ff\u51fa\u582a\u6bd4\u82f9\u679c\u7684\u786c\u529f\u592b\u3002\u5426\u5219\uff0c\u5b83\u5f88\u53ef\u80fd\u53ea\u662f\u4e00\u4e2a\u66f4\u667a\u80fd\u7684\u201c\u901a\u77e5\u7cfb\u7edf\u201d\u7684\u7ffb\u7248\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\">adside\u014d<\/span>\n                <\/div>\n<div class=\"comment-content\">Adsideo understands your live context across your screen, meetings, writing, memory, and code. Instead of waiting for prompts, it quietly turns that context into useful actions like creating tasks, answering questions, drafting content, and fixing problems. Unlike chatbots, Adsideo works in the background of everyday computing, making AI feel natural, seamless, and accessible even for people who don\u2019t actively use AI tools.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>What if AI didn\u2019t wait for you to open a chatbot, write a prompt, and explain your context?<\/p>\n<p>That\u2019s the idea behind Adsideo.<\/p>\n<p>Adsideo is a proactive ambient AI layer that understands what you\u2019re doing across your Mac: your screen, meetings, writing, code, tasks, and memory, then helps at the right moment.<\/p>\n<p>Instead of asking you to bring context to AI, Adsideo brings AI to your context.<\/p>\n<p>It can help you:<br \/>\u2022 turn meeting asks into tasks<br \/>\u2022 improve prompts before you send them<br \/>\u2022 draft email replies using thread context<br \/>\u2022 explain and deep-dive code errors<br \/>\u2022 answer questions like \u201cwhat did I work on today?\u201d<br \/>\u2022 protect private apps\/files from being captured<\/p>\n<p>The bigger bet is that most people won\u2019t use AI by opening 10 different tools every day. AI needs to become a natural layer on top of everyday computing.<\/p>\n<p>Adsideo starts with Mac, but the vision is broader: ambient intelligence that works before you ask.<\/p>\n<p>We\u2019re launching early and would love honest feedback from the Product Hunt community.<\/p>\n<p>What would you want an ambient AI layer to understand or help with?<\/p>\n<\/p>\n<p><a href=\"https:\/\/adsideo.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>https:\/\/adsideo.ai<\/strong><\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting idea, and although I would not use today, mainly due to I&#8217;m getting frustrated by more and more subscriptions I need to sign up to for tools that may or may not help.  I&#8217;m bootstrapping my own solo indie developer venture so I have to be very strict on which tools I give my money to.  That said I do see the potential this tool provides and I may look again in the future.  I do think that for other people happy to agree to yet another subscription this tool could be a game changer, and for that reason you still get my vote.<\/p>\n<p>Best of luck with the Launch. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@codeandsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@codeandsea<\/a>&nbsp;Thank you, I really appreciate the honest feedback and the vote.<\/p>\n<p>I completely understand the subscription fatigue, especially as a solo founder. Every tool has to justify its place, and \u201cmaybe useful\u201d is not enough when you\u2019re watching costs closely.<\/p>\n<p>That\u2019s also part of what we\u2019re trying to solve with Adsideo. If AI becomes another app, another workflow, and another subscription to think about, it adds friction. Our goal is for it to earn its place by quietly saving time in the background: catching tasks, remembering context, improving drafts, and helping when you\u2019re stuck.<\/p>\n<p>But it still has to prove that value clearly.<\/p>\n<p>Really appreciate you taking the time to share this perspective, and best of luck with your indie venture 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\">I really like the focus on helping before the user asks. Prompting is a difficult task for a lot of people, especially when they don\u2019t know exactly what to ask. Suggestions relevant to context could make AI feels much more natural. How are you thinking about deciding when Adside\u014d should step in and when to stay quiet?<\/div>\n<div class=\"comment-actions\">\n<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\/@mrc_15j\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mrc_15j<\/a>&nbsp;Thank you. This is one of the hardest and most important parts of the product.<\/p>\n<p>We don\u2019t want Adsideo to behave like another notification system. The goal is not to respond to every signal, but to understand when there is enough context and enough potential value to be helpful.<\/p>\n<p>So we think about it in layers:<\/p>\n<p>First, Adsideo quietly builds context from what you\u2019re already doing. Then it looks for high-signal moments, like a clear task, repeated error, draft in progress, meeting commitment, or a question about past work. Even then, it checks timing: are you typing, presenting, in the middle of a meeting, scrolling, or clearly focused?<\/p>\n<p>If the moment is useful but not urgent, it can stay quiet or capture it silently. If the confidence is high and the timing is right, it surfaces a small suggestion.<\/p>\n<p>For us, \u201cambient\u201d only works if it respects attention. A good suggestion at the wrong time is still a bad product experience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 \u201cAI before you ask\u201d is really interesting. I\u2019ve seen my colleagues and even I avoid AI tools because we need to think what could be the right prompt which is an extra effort. If Adsideo can make AI useful without requiring people to learn prompting, that could be a big shift.<\/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\/@preeti_yadav10\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@preeti_yadav10<\/a>&nbsp;Thank you, this is exactly the behavior we\u2019re trying to change.<\/p>\n<p>Today, most AI tools still depend on the user doing a lot of work first: realizing AI could help, opening the right tool, explaining the situation, writing a good prompt, and then moving the output back into their workflow.<\/p>\n<p>That works for people who already use AI heavily, but it creates friction for everyone else.<\/p>\n<p>With Adsideo, the goal is to remove that extra step. If the context is already visible in your work, the AI should be able to understand it and help at the right moment, without forcing you to become good at prompting.<\/p>\n<p>We don\u2019t think the next wave of AI adoption comes from making everyone better prompt engineers. We think it comes from making AI feel more natural, contextual, and ambient.<\/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\/@preeti_yadav10\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@preeti_yadav10<\/a>&nbsp;Thank you so much for taking the time to check it out and share your thoughts! I really appreciate your support and feedback. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m intrigued by the idea of an ambient AI layer. One potential improvement could be to add a transparency feature, so users can see what context Adsideo is picking up and how it&#8217;s being used to generate actions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What safeguards do you use to ensure sensitive info never gets exposed or acted on without explicit permission? And are there easy ways for non-technical users to customize what context Adsideo can access?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">How is your product different to what\u2019s out there?<\/div>\n<div class=\"comment-actions\">\n<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\/@danagoston\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danagoston<\/a>&nbsp;Most AI products are still places you go to ask for help.<\/p>\n<p>Adsideo is different because it is designed as an ambient intelligence layer that works around your existing workflow.<\/p>\n<p>Instead of asking the user to open a chatbot, explain context, and write the right prompt, Adsideo understands live context from what you\u2019re already doing: meetings, writing, code errors, tasks, and memory.<\/p>\n<p>The goal is not to replace ChatGPT, Claude, or other AI tools. The goal is to make AI available in the moments where people normally forget to use it.<\/p>\n<p>A few examples:<\/p>\n<ul>\n<li>\n<p>It can catch a follow-up task during a meeting.<\/p>\n<\/li>\n<li>\n<p>It can improve an email using the thread context.<\/p>\n<\/li>\n<li>\n<p>It can explain a code error when you\u2019re stuck.<\/p>\n<\/li>\n<li>\n<p>It can answer questions like \u201cwhat did I work on today?\u201d<\/p>\n<\/li>\n<li>\n<p>It can suggest next steps without forcing you to switch apps.<\/p>\n<\/li>\n<\/ul>\n<p>So the difference is the interface.<\/p>\n<p>We\u2019re moving from prompt-first AI to context-first AI: AI that understands what you\u2019re doing and helps before you ask, while staying quiet when it should.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3TXZLONFG2CL76\" class=\"app-title\">ZCode<\/a><\/p>\n<div class=\"one-liner\">The official harness for GLM-5.2<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">51<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ZCode \u662f GLM-5.2 \u7684\u5b98\u65b9\u7f16\u7a0b\u73af\u5883\uff0c\u4e13\u4e3a\u9700\u8981\u957f\u671f\u7a33\u5b9a\u8fd0\u884c\u3001\u591a\u72b6\u6001\u540c\u6b65\u7684\u590d\u6742\u7f16\u7801\u4efb\u52a1\u800c\u8bbe\u8ba1\uff0c\u89e3\u51b3\u4e86\u5f00\u53d1\u8005\u5728\u957f\u6d41\u7a0b\u4f5c\u4e1a\u4e2d\u4e0a\u4e0b\u6587\u65ad\u88c2\u3001\u96be\u4ee5\u8fdc\u7a0b\u76d1\u63a7\u4e0e\u64cd\u4f5c\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\/ae459bb3-264d-444a-bbda-8017d41a5e78.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/67a92d88-0914-495f-98a3-6ddf56e7f1a6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/837942a4-6aa0-4725-af65-d836b6f64947.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bea1a1c6-c572-46a7-8dda-bee2ce7c5295.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9f562fc6-51dc-499d-aea5-337dfc47bae7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Development<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7a0b\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">GLM-5.2<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u957f\u4e0a\u4e0b\u6587<\/span><br \/>\n            <span class=\"tag\">\u8fdc\u7a0b\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">MIT\u8bb8\u53ef<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6a21\u578b<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5bf9\u901f\u5ea6\u548c\u7b80\u6d01\u6027\u7ed9\u4e88\u9ad8\u5ea6\u80af\u5b9a\uff0c\u5c24\u5176\u8d5e\u8d4f\u63a8\u7406\u6a21\u578b\u80fd\u6e05\u6670\u89e3\u91ca\u903b\u8f91\u3001\u5904\u7406\u68d8\u624b\u8fb9\u754c\u6848\u4f8b\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\u514d\u8d39\u7528\u6237\u7684\u901f\u7387\u9650\u5236\u548c\u79ef\u5206\u4e0a\u9650\uff0c\u4ee5\u53ca\u5bf9\u957f\u671f\u4efb\u52a1\u4e2dAgent\u9677\u5165\u5361\u987f\u6216\u505a\u51fa\u98ce\u9669\u7f16\u8f91\u65f6\u7684\u5b89\u5168\u673a\u5236\uff08\u5982\u68c0\u67e5\u70b9\u3001\u98ce\u9669\u6458\u8981\uff09\u611f\u5174\u8da3\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                ZCode \u672c\u8d28\u4e0a\u662f\u5728\u7ed9 GLM-5.2 \u642d\u4e86\u4e00\u4e2a\u201c\u4e13\u5c5e\u7ade\u6280\u573a\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u901a\u7528\u7684\u5f00\u53d1\u5de5\u5177\u3002\u5176\u6838\u5fc3\u5356\u70b9\u5e76\u975e\u4ee3\u7801\u8865\u5168\u7684\u7cbe\u51c6\u5ea6\uff0c\u800c\u662f\u201cAgent \u7ea7\u7684\u957f\u4e45\u751f\u547d\u529b\u201d\u2014\u2014\u80fd\u5728\u5197\u957f\u6784\u5efa\u4e2d\u6301\u7eed\u7f1d\u5408\u6587\u4ef6\u3001\u7ec8\u7aef\u3001\u6d4f\u89c8\u5668\u548cGit\u72b6\u6001\uff0c\u8fd9\u8ba9\u5b83\u5929\u7136\u9002\u5408\u9762\u5411\u590d\u6742\u9879\u76ee\u7684\u201c\u65e0\u4eba\u503c\u5b88\u201d\u5f00\u53d1\u3002\u540c\u65f6\uff0c\u624b\u673a\u9065\u63a7\u548cBot\u63a7\u5236\u662f\u503c\u5f97\u6ce8\u610f\u7684\u5dee\u5f02\u5316\u8bbe\u8ba1\uff0c\u8fce\u5408\u4e86\u201c\u5f02\u6b65\u5f00\u53d1\u201d\u7684\u9690\u6027\u9700\u6c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7684\u4ef7\u503c\u9ad8\u5ea6\u4f9d\u8d56\u5e95\u5c42\u6a21\u578b GLM-5.2 \u672c\u8eab\u7684\u5b9e\u529b\u3002\u76ee\u524d\u8bc4\u8bba\u591a\u4e3a\u201c\u63a8\u7406\u6a21\u578b\u6f14\u793a\u201d\u548c\u201c\u754c\u9762\u5e72\u51c0\u201d\u7684\u8868\u5c42\u8d5e\u8bb8\uff0c\u7f3a\u4e4f\u5bf9\u957f\u671f\u4efb\u52a1\u5bb9\u9519\u673a\u5236\u7684\u5b9e\u8d28\u53cd\u9988\u3002\u5c24\u5176\u662f\u8bc4\u8bba\u533a\u201c\u5982\u4f55\u5e94\u5bf9\u5361\u987f\u6216\u98ce\u9669\u7f16\u8f91\u201d\u8fd9\u4e00\u8ffd\u95ee\uff0c\u76f4\u63a5\u6233\u4e2d\u4e86\u201c\u957f\u8fd0\u884cAgent\u201d\u7684\u8f6f\u808b\u2014\u2014\u5982\u679c\u7f3a\u4e4f\u53ef\u9760\u7684\u68c0\u67e5\u70b9\u548c\u56de\u6eda\u673a\u5236\uff0c\u4e00\u65e6\u8dd1\u504f\uff0c\u635f\u5931\u7684\u65f6\u95f4\u6210\u672c\u4f1a\u8fdc\u8d85\u624b\u5de5\u7f16\u7801\u3002\u6b64\u5916\uff0cMIT \u8bb8\u53ef\u8bc1\u867d\u662f\u52a0\u5206\u9879\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u751f\u6001\u62a4\u57ce\u6cb3\u5168\u9760\u5728GLM-5.2 \u4e0a\u7684\u201c\u5b98\u65b9\u7279\u6743\u201d\uff0c\u4e00\u65e6\u6a21\u578b\u672c\u8eab\u5f00\u653e\u6216\u51fa\u73b0\u66f4\u4f18\u66ff\u4ee3\u54c1\uff0cZCode \u6781\u6613\u88ab\u964d\u7ea7\u4e3a\u201c\u4e00\u4e2a\u9ad8\u914d\u7684API\u6f14\u793a\u5ba2\u6237\u7aef\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aGLM-5.2 \u7684\u6700\u4f73\u4ee3\u8a00\u4eba\uff0c\u4f46\u5148\u522b\u6025\u7740\u5439\u5b83\u662f\u4e2a\u201c\u9769\u547d\u6027IDE\u201d\u3002\u5728\u8bc1\u660e\u5b83\u53ef\u4ee5\u8dd1\u5b8c\u4e00\u4e2a\u5b8c\u6574\u7684\u4e2d\u578b\u9879\u76ee\u800c\u4e0d\u7528\u4eba\u4ecb\u5165\u64e6\u5c41\u80a1\u4e4b\u524d\uff0c\u5b83\u66f4\u50cf\u662f\u4e00\u4e2a\u5e26\u9065\u63a7\u5668\u7684\u70ab\u9177\u6f14\u793a\u5668\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\">ZCode<\/span>\n                <\/div>\n<div class=\"comment-content\">ZCode is the official agentic development environment for GLM-5.2, built for long-running coding tasks with stable context, file edits, terminal and browser state, Git review, mobile Remote, bot control, BYOK, and macOS, Windows, and Linux apps.<\/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>Have been using ZCode since its first version late last year. With the recent 3.0 upgrade, it&#8217;s taken a massive leap forward. Here are a few reasons it\u2019s worth a try:<\/p>\n<p>It\u2019s the <strong>official harness<\/strong> for GLM-5.2. Yes, try the tuning that understands the true upper bound of GLM-5.2 better than anything else!<\/p>\n<p>It\u2019s built for long-horizon execution. The in-house ZCode Agent keeps your files, terminal output, browser context, and Git state stitched together in the same task loop, so it doesn&#8217;t lose the thread halfway through a complex build.<\/p>\n<p>It lets you step away from the desk. You can steer the agent, check progress, and kick off tasks from your phone, or directly through messaging bots while the desktop keeps running.<\/p>\n<p>And it\u2019s <a href=\"https:\/\/zcode.z.ai\/en\/changelog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">moving fast<\/a>!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a>&nbsp;10\/10 for simplicity and speed. Highly recommend trying the new GLM models 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>Congrats on the launch, MIT licensing is a nice touch. Quick question though, are there any rate limits or token caps per day for free users right now, or is the unlimited angle going to hold once traffic picks up?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The reasoning model handled a tricky coding question without any hand-holding, which caught me off guard. Clean interface, no fuss, just straight to the response.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried the reasoning model on a tricky coding question and it walked through the logic clearly instead of just spitting out an answer. The bare-bones UI is kind of refreshing honestly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Reasoning mode actually explains its thinking out loud, which helped me catch where it went off track. Nice to see solid open weights like this finally have a clean free playground to test in.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The minimal UI really lets the models speak for themselves, no clutter or upsells getting in the way of actually trying them out.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried the reasoning model on a coding problem and it nailed a tricky edge case I&#8217;d been stuck on for an hour. Really appreciate that the base models are MIT-licensed, makes it easy to experiment locally without worrying about restrictions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\ude80<\/p>\n<p>Long-running coding agents are where things usually get difficult, especially when the agent has to keep file state, terminal output, browser context, and Git changes aligned across one task.<\/p>\n<p>Curious how ZCode handles situations where the agent gets stuck or starts making risky edits. Does it surface checkpoints or risk summaries before continuing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how the rumination model handles long context sessions compared to the base version?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 minimalist UI actually lets the models breathe instead of competing with them. nice to see a platform that trusts the work to speak for 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<\/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-02 PH\u70ed\u699c | 2026-07-02 #1 Conte [&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-270","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/270","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=270"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/270\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}