{"id":304,"date":"2026-08-06T11:42:04","date_gmt":"2026-08-06T03:42:04","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/06\/2026-08-05\/"},"modified":"2026-08-06T11:42:04","modified_gmt":"2026-08-06T03:42:04","slug":"2026-08-05","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/06\/2026-08-05\/","title":{"rendered":"PH\u70ed\u699c | 2026-08-05"},"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-08-05<\/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-08-05<\/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\/TP2MPL5CRVXSM2\" class=\"app-title\">Wispr Flow Notetaker<\/a><\/p>\n<div class=\"one-liner\">Meeting notes that get the details right.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">499<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Wispr Flow Notetaker \u662f\u4e00\u6b3e\u9762\u5411 Mac \u7528\u6237\u7684 AI \u4f1a\u8bae\u8bb0\u5f55\u5de5\u5177\uff0c\u901a\u8fc7\u4f1a\u524d\u6821\u51c6\u53d1\u8a00\u4eba\u59d3\u540d\u4e0e\u672f\u8bed\u3001\u53cc\u97f3\u8f68\u5206\u79bb\u91c7\u96c6\uff0c\u89e3\u51b3\u4f1a\u8bae\u7eaa\u8981\u4e2d\u201c\u5f20\u51a0\u674e\u6234\u201d\u548c\u7ec6\u8282\u9519\u6f0f\u7684\u75db\u70b9\uff0c\u786e\u4fdd\u8f6c\u5199\u7ed3\u679c\u53ef\u76f4\u63a5\u7528\u4e8e\u540e\u7eed\u8ddf\u8fdb\u4e0e AI \u5de5\u4f5c\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\/20c6ce43-a4be-4cb6-acb0-0c8a1b43f11a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e85fdf47-3cff-4ed9-bfde-f8954ca2499f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d337f3dd-57e7-4cad-843c-22a843c5f4aa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ad55dc1f-d332-4a37-8182-50a31e82a07d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6d568d39-8529-4b6e-99c7-fccbbc6bda01.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7065987f-f4c7-42cd-a319-415ed5fc7833.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0acf930c-5a8a-4dae-bc85-19508c2b6cef.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\/f992927e-2c7d-4f83-b016-e4ad25b6e435.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/hb5ocP1ladk\"><source src=\"https:\/\/youtu.be\/hb5ocP1ladk\" 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\">Notes<\/span><br \/>\n            <span class=\"tag\">Meetings<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4f1a\u8bae\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u8bf4\u8bdd\u4eba\u5206\u79bb<\/span><br \/>\n            <span class=\"tag\">\u8f6c\u5199\u7ea0\u9519<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u6458\u8981<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u7b14\u8bb0<\/span><br \/>\n            <span class=\"tag\">MCP\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u672f\u8bed\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u51c6\u5907<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u8bf4\u8bdd\u4eba\u5206\u79bb\u201d\uff08diarization\uff09\u51c6\u786e\u6027\uff0c\u8ba4\u4e3a\u8fd9\u662f\u533a\u522b\u4e8e\u5176\u4ed6\u4ea7\u54c1\u7684\u6838\u5fc3\u4f18\u52bf\u3002\u591a\u6570\u6b63\u9762\u53cd\u9988\u805a\u7126\u4e8e\u4f1a\u524dBrief\uff08\u9884\u8bfb\uff09\u548cMCP\u96c6\u6210\u5e26\u6765\u7684\u6548\u7387\u63d0\u5347\u3002\u6709\u7528\u6237\u8d28\u7591\u5176\u5728\u591a\u4eba\u9762\u5bf9\u9762\u3001\u58f0\u97f3\u91cd\u53e0\u573a\u666f\u4e0b\u7684\u8868\u73b0\uff0c\u4ee5\u53ca\u8be2\u95ee\u5982\u4f55\u4fdd\u8bc1\u6bcf\u65e5\u4f7f\u7528\u7684\u4fe1\u4efb\u5ea6\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u5728AI\u4f1a\u8bae\u7eaa\u8981\u8d5b\u9053\u5df2\u7ea2\u6d77\u5316\u7684\u4eca\u5929\uff0cWispr Flow Notetaker\u7684\u5207\u5165\u89d2\u5ea6\u8db3\u591f\u5201\u94bb\u3002\u5b83\u6ca1\u6709\u518d\u8bb2\u201c\u81ea\u52a8\u603b\u7ed3\u201d\u7684\u8001\u6545\u4e8b\uff0c\u800c\u662f\u7cbe\u51c6\u6253\u51fb\u4e86\u884c\u4e1a\u91cc\u6700\u4e11\u964b\u7684\u4f24\u75a4\uff1a\u8f6c\u5199\u5185\u5bb9\u7684\u201c\u4e0d\u53ef\u4fe1\u201d\u3002\u5f53 Granola \u548c Fireflies \u8fd8\u5728\u6bd4\u62fc\u6458\u8981\u683c\u5f0f\u7684\u534e\u4e3d\u7a0b\u5ea6\u65f6\uff0cWispr \u9009\u62e9\u56de\u5230\u5e95\u5c42\uff0c\u7528\u201c\u4f1a\u524d\u6821\u51c6\u201d\uff08\u62c9\u53d6\u65e5\u5386\u3001\u6ce8\u5165\u672f\u8bed\uff09\u548c\u201c\u53cc\u97f3\u8f68\u5206\u79bb\u201d\uff08\u81ea\u5df1\u7684\u9ea6\u548c\u7cfb\u7edf\u58f0\u97f3\u5206\u5f00\u5f55\uff09\u6765\u6362\u53d6\u6570\u636e\u7684\u201c\u786e\u6743\u201d\u3002\u8fd9\u672c\u8d28\u4e0a\u4e0d\u662f\u5728\u5356\u7b14\u8bb0\u5de5\u5177\uff0c\u800c\u662f\u5728\u5356\u201c\u6570\u636e\u53ef\u4fe1\u5ea6\u201d\u2014\u2014\u5b83\u8d4c\u7684\u662f\u7528\u6237\u5bf9\u4e0b\u6e38\u5de5\u4f5c\u6d41\uff08\u5982\u901a\u8fc7MCP\u6295\u5582\u7ed9Claude\/ChatGPT\uff09\u7684\u4f9d\u8d56\u4f1a\u5012\u903c\u4e0a\u6e38\u6570\u636e\u7684\u7eaf\u51c0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8bc4\u8bba\u533a\u7684\u8206\u8bba\u5bfc\u5411\u4e5f\u5370\u8bc1\u4e86\u8fd9\u4e00\u70b9\uff0c\u591a\u4e3a\u5185\u90e8\u56e2\u961f\u53ca\u79cd\u5b50\u7528\u6237\u7684\u201c\u4e00\u81f4\u6027\u53eb\u597d\u201d\uff0c\u91cd\u70b9\u5f3a\u8c03\u201cTrust\u201d\uff08\u4fe1\u4efb\uff09\u548c\u201cDiariazation\u201d\uff08\u8bf4\u8bdd\u4eba\u5206\u79bb\uff09\u7684\u51c6\u786e\u5ea6\u3002\u8fd9\u79cd\u53eb\u597d\u58f0\u4e2d\u6709\u4ea7\u54c1\u65b9\u5411\u7684\u81ea\u4fe1\uff0c\u4f46\u4e5f\u8981\u8b66\u60d5\u201c\u5e78\u5b58\u8005\u504f\u5dee\u201d\u2014\u2014\u8bc4\u8bba\u533a\u7f3a\u5c11\u4e86\u6df1\u5ea6\u8d28\u7591\u201c\u603b\u7ed3\u8d28\u91cf\u5e73\u5eb8\u201d\u6216\u201c\u6536\u8d39\u6a21\u5f0f\u201d\u7684\u523a\u8033\u58f0\u3002\u867d\u7136\u76ee\u524d\u514d\u8d39\u8bd5\u7528\uff0c\u4e14Mac\/\u82f1\u6587\u4ec5\u9650\uff0c\u4f46\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff1a\u5f53\u65b0\u9c9c\u611f\u892a\u53bb\uff0c\u7528\u6237\u662f\u5426\u613f\u610f\u4e3a\u4e00\u4e2a\u201c\u4fee\u6b63\u8fc7\u7684\u9010\u5b57\u7a3f\u201d\u653e\u5f03\u514d\u8d39\u7684\u817e\u8baf\u4f1a\u8bae\u8f6c\u5199\u6216\u4fbf\u5b9c\u7684Otter\uff1f\u5982\u679c\u4e0d\u80fd\u5c06\u201c\u51c6\u786e\u7684\u8f6c\u5199\u201d\u8f6c\u5316\u4e3a\u201c\u72ec\u5bb6\u7684\u51b3\u7b56\u5efa\u8bae\u201d\uff0c\u90a3\u4e48\u5b83\u4f9d\u7136\u53ea\u662f\u4e00\u4e2a\u4f18\u79c0\u7684\u201c\u5f55\u97f3\u7b14\u201d\uff0c\u800c\u975e\u4e0d\u53ef\u6216\u7f3a\u7684\u201c\u4f1a\u8bae\u526f\u9a7e\u201d\u3002\u4e0d\u8fc7\uff0c\u5229\u7528MCP\u6253\u901aClaude\/ChatGPT\u751f\u6001\uff0c\u786e\u5b9e\u5207\u4e2d\u4e86\u91cd\u5ea6AI\u7528\u6237\u7684\u5de5\u4f5c\u6d41\u521a\u9700\uff0c\u8fd9\u662f\u6bd4\u5806\u780c\u529f\u80fd\u66f4\u9ad8\u7ea7\u7684\u4ea7\u54c1\u7b56\u7565\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\">Wispr Flow Notetaker<\/span>\n                <\/div>\n<div class=\"comment-content\">Your follow-ups are only as good as your meeting notes. Wispr Notetaker gets your words and your speakers right, so your recaps, follow-ups, and answers are too. Before the meeting starts, it checks the invite so names are spelled correctly, and it brings the terminology you&#8217;ve already taught Wispr Flow into every conversation. Your transcripts use real names instead of &#8220;Speaker 1&#8221; and &#8220;Speaker 2,&#8221; and every meeting is ready to pull into Claude or ChatGPT via MCP. Available on Mac. Free to try.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone, Tanay here!<\/p>\n<\/p>\n<p>Before anything else: thank you \u2764\ufe0f<\/p>\n<\/p>\n<p>Every launch we&#8217;ve done, the OG Flow, our iOS and Android apps &#8211; all of it &#8211; y\u2019all showed up and gave us a lot of the early feedback that made the products what they are today.<\/p>\n<\/p>\n<p>Today we&#8217;re launching Wispr Notetaker, and we want to do it the same way.<\/p>\n<\/p>\n<p>So far, Flow handles what you say to your computer. Notetaker is for what you say to everyone else.<\/p>\n<\/p>\n<p>The bet we made was: almost nobody reads a raw transcript, but everything gets built on top of it. Even if a single name or acronym is wrong, it travels everywhere. If a speaker is mislabeled, everything downstream is untrustable. So we started with improving capture.<\/p>\n<\/p>\n<p>What that looks like:<\/p>\n<ul>\n<li>\n<p>Notetaker pulls in context before the meeting, so names land spelled right<\/p>\n<\/li>\n<li>\n<p>The terms you&#8217;ve taught Flow carry into your meetings, so your jargon is already in there<\/p>\n<\/li>\n<li>\n<p>Your mic and everything you hear are captured as two separate streams, so your words never get mixed up with someone else&#8217;s<\/p>\n<\/li>\n<li>\n<p>Real names on the final transcript, not Speaker 1 and Speaker 2. If it misses, you can easily fix it and it applies across the whole transcript<\/p>\n<\/li>\n<\/ul>\n<p>There&#8217;s more in there:&nbsp;<\/p>\n<ul>\n<li>\n<p>a Brief before every meeting so you walk in prepped<\/p>\n<\/li>\n<li>\n<p>one-click catch-up if you miss something mid-meeting<\/p>\n<\/li>\n<li>\n<p>summaries with the decisions and next steps actually called out<\/p>\n<\/li>\n<li>\n<p>one-tap capture for calls that were never on your calendar<\/p>\n<\/li>\n<li>\n<p>MCP support so you can pull any meeting into Claude or ChatGPT without copy-pasting.<\/p>\n<\/li>\n<\/ul>\n<p>What I\u2019d love from you: We&#8217;re launching on Mac, English only. We want to get the core right with you before we roll it out to every other language and platform. Try it for a day for all your meetings and voice memos and tell us: what do you like and what would you like? That&#8217;s the feedback that helps us the most.<\/p>\n<\/p>\n<p>Free to try. Can&#8217;t wait to hear what you think.<\/p>\n<\/p>\n<p>Let&#8217;s build magic \ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>34<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tanaykothari\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tanaykothari<\/a>&nbsp;really have nothing to say other than kudos to you for building such an amazing track record of creating delightful, genuinely useful experiences for people!<\/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\/@tanaykothari\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tanaykothari<\/a>&nbsp;What\u2019s the one thing that would make a notetaker truly trustworthy for you in real meetings; and what would make you use it every 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tanaykothari\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tanaykothari<\/a>&nbsp;So proud of what the Wispr team has built! What excites me most is that this isn\u2019t just another AI note-taking app\u2014it starts by solving the hardest problem: getting the capture right. The attention to detail, from context-aware names to speaker separation, shows how much thought has gone into creating something people will actually trust and use every day.<\/p>\n<p>Congratulations, Tanay and the entire Wispr team. Wishing you a fantastic launch\u2014can\u2019t wait to see Wispr Notetaker in the hands of users around the world! \ud83d\ude80\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>I love how I can use the Wispr Notetaker while sitting around a table with people My computer can transcribe and summarize the meeting we have, so I can have a natural human conversation and later get the transcription and the summary to process what was being talked about. <br \/>I also love how I can be on WhatsApp calls and get a summary when the call is done. Of course, it also works in Zoom, Microsoft Teams, and all the other meeting software. The great thing is it&#8217;s not linked to a specific software, but just to the audio that is sent and received on the computer. <\/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\/@fabian_dittrich\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fabian_dittrich<\/a>&nbsp;In person is the case that actually tests it. Remote calls hand you clean speaker separation for free because everyone has their own stream. Round a table it is one microphone and overlapping voices, which is the genuinely hard version, and it is also the meeting where nobody is taking notes because everyone is present. Has it held up for you when two people talk over each other, or does the summary quietly merge them into one person?<\/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>Pretty surreal to see this finally out in the world after months of building it. My favorite part is being able to go back and ask questions about a meeting if I missed something or didn\u2019t quite catch what was said. It\u2019s saved me more times than I can count. Hope you all enjoy using it as much as we\u2019ve enjoyed building it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>13<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Head of Growth here, which is mostly a fancy way of saying I talk for a living. \ud83d\udde3\ufe0f<\/p>\n<p>Slack messages: talking. Emails: talking. My calendar: several hours a day of talking&#8230;<\/p>\n<p>Wispr Flow already covered about half of that. I have not typed a full sentence into Slack in months and my keyboard has quietly become a wrist rest. Meetings were the holdout. I would talk for an hour and then go repair the transcript before I could use any of it.<\/p>\n<p>Wispr Flow Notetaker is the part I have wanted for a long time, and the thing that actually got me is not the summary. Since I rely heavily on meeting notes to derive action items and keep everything I&#8217;m talking about outside of messages in sync, when there was drift on who said what and what tasks were assigned, my to-do list was no longer up to date. Other people were getting my things to do, and I was getting theirs. <\/p>\n<p>Now, with Notetaker, I can be confident that the transcript and assigned names are accurate. That means thanks to the MCP everything syncs with all my other systems with accurate transcripts. <\/p>\n<p>We can&#8217;t wait for you to try it in your meetings. Let us know what you think! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>12<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ever since I joined Wispr, people asked why we didn&#8217;t do meetings as well. Having used every notetaker under the sun, I have always (1) loved the freedom of being more present, and (2) increasingly obsessed over the opportunity to take the experience from good to great&#8230; kudos to the team for embracing a pedantic quest to make meetings better, and what comes after!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s been a joy watching this product come to life behind the scenes. What&#8217;s surprised me most is the improvements made along the way in the context Notetaker gives you when walking into a new meeting. It&#8217;s something I didn&#8217;t think I would rely on so heavily, but I found that it alone makes for a super pleasant companion to the many meetings I have in my role as a marketer on the team. This is coming from a former Granola and <a href=\"http:\/\/Fireflies.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Fireflies.ai<\/a> power user, too. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Very excited for this launch. There are so many interactions, tiny details, easter eggs that we have here which I hope users love \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I am so excited by this launch. It makes so much sense for Wispr to be expanding into this space, and it means I don&#8217;t need a separate subscription, which is always a bonus. Connecting meeting notes with my overall voice history with Wispr is awesome. I love the integrations with all the third parties and the ease of bringing it into my AI tools. Kudos to you. What an exciting day! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I work on the GTM team at Wispr, which basically means I live in back-to-back meetings.<\/p>\n<p>I&#8217;ve been using AI note-takers for the last couple of years, so I&#8217;m a pretty picky customer. Watching Wispr Notetaker come together has been especially fun because I kept thinking, &#8220;Okay&#8230; but does it actually know who said what?&#8221;<\/p>\n<p>Turns out, yes. It&#8217;s the first note-taker I&#8217;ve used that consistently nails diarization. Action items end up with the right people instead of becoming my problem by default. For the first time, I actually trust the meeting summary enough to stop taking my own backup notes.<\/p>\n<p>The cherry on top is MCP. I can feed everything I learn throughout the day into Claude, and it completely changes how I work. My action items stay organized, my priorities stay sharp, and I walk into every meeting already up to speed instead of scrambling to remember what happened last time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>So glad to see this come to life. It has been such a pleasure watching it take the shape it has today.<\/p>\n<p>I lead India at Wispr, but I also take a lot of pride in being a pro user of Flow. I am just so excited to see the accuracy I have come to rely on in Flow translate into my meeting notes. Almost everything we do after a meeting builds on the transcript underneath it, so starting by getting that layer right feels like exactly the right bet.<\/p>\n<p>This is amazing. So proud of the team. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Genius move<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thanks! Time to save some money and cancel our Granola subscription \ud83d\ude04<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Big fan of how this has worked out. I think while a lot of tools promise to make life easier, they tend to add more steps and structure but note taker doesn&#8217;t seem like that. It&#8217;s not because it&#8217;s a product that we have built but it just tries to flow into our existing ways of doing things.<\/p>\n<p>The fact that a lot of people in startup land are always swamped with calls, no matter how much we talk about doing focused productive work, the core feature: giving the best pre-read and not messing up names just makes life a lot easier. Also the fact that one can switch to their own language whenever needed is just it. It takes off the burden of my mind that I have to do this in a certain way for the call to have a certain output or for the tool to get a certain output, which then eventually has to flow into my structure. I think when honest and good work is done, taking into consideration people&#8217;s problems, things works out well.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Big fan of what you&#8217;ve built so far <a href=\"https:\/\/www.producthunt.com\/@ericzawo\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ericzawo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ericzawo<\/a> and team! Congrats on the launch &#8211; already been using it past couple of weeks \ud83d\ude42<\/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\/@amdfad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amdfad<\/a>&nbsp;We have some legends on this team! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I didn\u2019t expect pre-reads to become my favorite feature, but they\u2019ve quietly become part of my routine. Walking into a meeting with the context already in my head makes a bigger difference than I would\u2019ve guessed. Really proud to be part of the team that built Notetaker.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I work in wispr flow&#8217;s machine learning team. I have been doing speech recognition research and engineering since 2018. I don&#8217;t use many of this kind of note taking products until I started to use wiper flow&#8217;s notetaker. Now I&#8217;m addicted to it. Here is why.<\/p>\n<\/p>\n<p>After a few meetings, I have developed trust in this product. I feel that someone is backing up me in a meeting, like taking the meeting notes seamlessly without me needing to do it by myself. More importantly it gets the things and details that I care about correct. That is really nice. <\/p>\n<\/p>\n<p>What are these notes for? They&#8217;re not just for me to read. The biggest potential happens after the meeting, when I connect Wispr with other AI agents, such as Claude and ChatGPT, to let them analyze the transcript and turn the discussion bullet points into some results and to help me keep on track for my work. By the way if you are able to analyze those meetings on the same topic (for example, your daily or weekly meetings), that result is really surprising &#8212; you not only know a better big picture, but with AI it is able to figure out those hidden structures in a meeting, like the org chart, which people are more senior, and how the topic evolves over time. These are just like magic.<\/p>\n<\/p>\n<p>I don&#8217;t have a memory that can recall 100% of everything. More importantly I&#8217;m not a native speaker of English, so I may actually miss some points during the meeting. So notetaker helps me a lot. I always tell others during the meeting, saying, &#8220;Hey I have turned on the note taker and I&#8217;ve noted this down. I&#8217;ll follow up on this after the meeting.&#8221; without needing to stop and type something myself. This feeling is really good.<\/p>\n<\/p>\n<p>I highly recommend this notetaker to you, whether you&#8217;re a native speaker or not, you speak good English or not, you&#8217;re new to the country or job or not. It is not only helpful but you will also like it, just like I do.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is incredible! Congratulations on the launch. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zeng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeng<\/a>&nbsp;Thank you, Zeng! We appreciate the support. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What I find particularly remarkable is that you didn\u2019t just create another AI note-taking tool\u2014you reimagined the entire process, from jotting down an idea to creating something truly useful. This is much harder than adding AI to an existing workflow. People keep coming back to products that remove obstacles rather than add new features. I have immense respect for everyone on the team for focusing on the actual user experience rather than just the technology. Best wishes to all the creators for a successful launch and I look forward to seeing how Wispr Flow evolves from here! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@1mirul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@1mirul<\/a>&nbsp;What&#8217;s your favorite or most delightful part of our Notetaker experience compared to anything else that you&#8217;ve tried? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m so excited for this to finally be out in the wild.<\/p>\n<p>As part of our GTM team, I sit in meetings all day, which means it&#8217;s not only important for me to capture <strong><em>what was said<\/em><\/strong>, but also to show up with the <strong><em>right context<\/em><\/strong> going in and the right <strong><em>action items <\/em><\/strong>coming out.<\/p>\n<p>I&#8217;ve used a lot of call recorders, notetakers, and other tools to stay on top of my conversations with customers, partners, and internal stakeholders. So when I heard we were building Notetaker, I had a really high bar for what I personally wanted in the product.<\/p>\n<p>Beyond the accuracy that&#8217;s often missing from other tools, the thing that&#8217;s impressed me most is the ability to tell speakers apart in an in-person meeting. That&#8217;s been incredibly useful for customer onsites, internal team meetings, and any situation where capturing who said what is not just a nice-to-have, it&#8217;s crucial.<\/p>\n<p>Very proud of the team, and keep an eye out for more Notetaker updates coming soon.<\/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>Malhar here from the product team at Wispr Flow.<\/p>\n<\/p>\n<p>While developing Notetaker, one of the most important things for me was seeing if I stopped taking my own notes during a meeting. I\u2019ve tried a lot of note takers and I could never be sure if the transcript would hold up, so I\u2019d spend my meetings half listening and half typing, hoping I didn\u2019t miss anything important.<\/p>\n<\/p>\n<p>Wispr\u2019s Notetaker is the first meeting note taker that was so accurate I didn\u2019t need my own notes.<\/p>\n<\/p>\n<p>It identifies speakers correctly, the transcript is super accurate, and the summary is actually useful.<\/p>\n<\/p>\n<p>We&#8217;re on Mac and English only to start. We&#8217;d rather get the core right with you first.<\/p>\n<\/p>\n<p>So tell us where it breaks: Big meetings, people talking over each other, accents, whatever your worst call of the week looks like. That&#8217;s the stuff we want to hear!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wispr Notetaker is the only meeting recorded to have won my trust. I had never used one before, but this one just folded into my existing workflows so easily. I love that it\u2019s non-intrusive, catches everything accurately, and seamlessly passes context to my agents through MCP. I also like using it to dump my own long thoughts into a dedicated spot, all while I surf around my laptop.<\/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>One of the most delightful experiences day in day out. The big unlock I had with Flow was that I could dictate even at a loud coffee shop. The auto-summary and cleanup was a godsend. Watching the team come together and say \u201chey, you already use your voice, why don\u2019t we make your voice work for you\u201d has been nothing short of amazing. Notetaker really does build on the strong foundation of Flow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. The MCP support is a nice addition since many people already use Claude and ChatGPT in their workflow. I would love to see Windows support added in the future<\/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\/@alex_j_jemmy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_j_jemmy<\/a>&nbsp;One of my favourite elements is the MCP as well. And Windows is coming!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 fell in love with Flow way before I joined the team. So watching it quietly nail notetaking every single day this past month feels extra special. I&#8217;ve stopped taking notes. I walk out of a meeting, say to Uncle Claude &#8220;I just had a call, what&#8217;s next&#8221; and Notetaker grabs the whole thing and wires it into the work I already have open. It&#8217;s incredibly simple. Hope you all enjoy it just as much<\/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>Notetaker is already a core part of my workflow. Not just a DAU, closer to an HAU. This team ships!<\/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\/@gaurav_vohra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaurav_vohra<\/a>&nbsp;Thanks for the kind words, Gaurav! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Granola is cooked!<\/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>We&#8217;ve been using this internally for months, can&#8217;t wait for it to be out in the wild. Tell us what you love, tell us what you hate. Appreciate everyone for giving us a look! <\/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>&#8220;Gets the details right&#8221; is the whole game with meeting notes. What does it do when two people talk over each other, which is when every tool I&#8217;ve tried falls apart?<\/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>I can&#8217;t live without meeting transcripts. If I forget, I&#8217;ll seriously freak out. (That&#8217;s hours of catch-up work later to recall and give Claude the context myself.)<\/p>\n<\/p>\n<p>I was skeptical about Flow entering this space &#8211; honestly, other tools do a solid job. <\/p>\n<\/p>\n<p>But then I tried it. Pre-reads help me sail through customer calls. &#8220;What did I miss&#8221; saves me when I zone out. As part of the Flow team, maybe I&#8217;m biased&#8230; but now I can&#8217;t live without Notetaker. <\/p>\n<\/p>\n<p><em>So<\/em> proud of the team that made this happen &#8211; and changed a Taurus&#8217; mind along the 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I lead our creator program at Wispr, so my week is basically nonstop calls with YouTubers, agencies, and partners. One thing I love about Notetaker: it gets names right. When you&#8217;re juggling dozens of creator conversations, a transcript that says &#8220;Speaker 1&#8221; or misspells a channel name is useless for follow-ups.<\/p>\n<\/p>\n<p>Now every call gets transcribed with real names and the right terminology, and through MCP I pull it all into Claude to draft recaps, track deliverables, and prep for the next conversation. My follow-ups go out faster and nothing slips. Excited for you all to try it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/QNPUB2TD4A4RX4\" class=\"app-title\">AdAnt AI<\/a><\/p>\n<div class=\"one-liner\">Claude for viral, high-converting social ads<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">484<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AdAnt AI \u662f\u4e00\u652f\u7531AI\u521b\u610f\u4ee3\u7406\u7ec4\u6210\u7684\u201c\u793e\u4ea4\u5e7f\u544a\u56e2\u961f\u201d\uff0c\u57fa\u4e8e\u521b\u59cb\u56e2\u961f\u521b\u90205000\u4e07+\u81ea\u7136\u89c2\u770b\u3001\u5e73\u5747\u964d\u4f4e60%\u83b7\u5ba2\u6210\u672c\u7684\u5b9e\u6218\u65b9\u6cd5\u8bba\uff0c\u5e2e\u52a9\u54c1\u724c\u5728TikTok\u3001Instagram\u3001YouTube\u4e0a\u5b8c\u6210\u4ece\u8d8b\u52bf\u7814\u7a76\u3001\u5185\u5bb9\u7b56\u7565\u5230\u5e7f\u544a\u521b\u610f\u751f\u6210\u4e0e\u8fed\u4ee3\u7684\u5168\u6d41\u7a0b\uff0c\u89e3\u51b3\u201c\u5982\u4f55\u6301\u7eed\u4ea7\u51fa\u8ba9\u4eba\u505c\u4e0b\u6ed1\u52a8\u4e14\u80fd\u8f6c\u5316\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\/c5e40c1e-f537-42ad-a8eb-b98fe183b20b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/75dfc9a1-4b91-49da-8a5e-b23146440f6d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/579019e1-5c49-492b-afb4-c8cd74f6cd9c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cdc7ea49-b849-40ef-9704-7a4ba531ac7f.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\/faf0a42e-c93f-49cd-83ff-0fbcfb449f86.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/OoIjHzYs2ZE\"><source src=\"https:\/\/youtu.be\/OoIjHzYs2ZE\" 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\">Advertising<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Social media marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5e7f\u544a\u521b\u610f<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5e7f\u544a\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u75c5\u6bd2\u5f0f\u5185\u5bb9\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u793e\u5a92\u589e\u957f\u7b56\u7565<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u83b7\u5ba2\u6210\u672c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">TikTok\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u7b56\u7565\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u8bb0\u5fc6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u7814\u7a76\u5148\u884c\u201d\u7684\u601d\u8def\uff0c\u4f46\u96c6\u4e2d\u8ffd\u95ee\u4e09\u70b9\uff1a1\uff09\u8d8b\u52bf\u6570\u636e\u65f6\u6548\u6027\u4e0e\u9971\u548c\u5ea6\u5224\u65ad\uff08\u7528\u6237\u5173\u6ce8\u7b2c\u4e8c\u5bfc\u6570\u800c\u975e\u5355\u7eaf\u65b0\u9c9c\u5ea6\uff09\uff1b2\uff09\u662f\u5426\u4f18\u5316\u4e0b\u8f7d\u8f6c\u5316\u800c\u975e\u4ec5\u505c\u7559\u4e8e\u4e92\u52a8\u4fe1\u53f7\uff08\u6709\u7528\u623720k\u66dd\u5149\u96f6\u8f6c\u5316\u6559\u8bad\uff09\uff1b3\uff09\u54c1\u724c\u8bb0\u5fc6\u4e0e\u591a\u76ee\u6807\u7b56\u7565\uff08\u83b7\u5ba2\u3001\u6559\u80b2\u3001\u7559\u5b58\uff09\u7684\u9002\u914d\u6027\u3002\u53e6\u6709\u8bd5\u542cbug\u53cd\u9988\u53ca\u5bf9\u8ba2\u9605\u5236\u7684\u5f02\u8bae\uff0c\u5b98\u65b9\u627f\u8bfa\u514d\u8d39\u8bd5\u505a\u4e00\u4e2a\u89c6\u9891\u4e14\u63a8\u51fa\u6309\u9700\u4ed8\u8d39\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                AdAnt AI \u7684\u806a\u660e\u4e4b\u5904\uff0c\u5728\u4e8e\u5b83\u6ca1\u6709\u91cd\u8e48\u201cAI\u6279\u91cf\u751f\u6210\u5ec9\u4ef7\u89c6\u9891\u201d\u7684\u8986\u8f99\uff0c\u800c\u662f\u628a\u7b79\u7801\u62bc\u5728\u4e86\u201c\u7b56\u7565\u7814\u7a76\u201d\u8fd9\u4e00\u66f4\u7a00\u7f3a\u3001\u66f4\u96be\u88ab\u590d\u5236\u7684\u73af\u8282\u4e0a\u2014\u2014\u8fd9\u6b63\u597d\u51fb\u4e2d\u4e86\u5f53\u4e0b\u56e2\u961f\u6700\u6df1\u7684\u75b2\u52b3\uff1a\u4e0d\u662f\u505a\u4e0d\u51fa\u4e00\u6761\u89c6\u9891\uff0c\u800c\u662f\u6bcf\u5468\u90fd\u8981\u62ff\u51fa\u65b0\u6982\u5ff5\u3002\u521b\u59cb\u56e2\u961f\u7528\u771f\u5b9e\u6218\u7ee9\uff085000\u4e07\u89c2\u770b\u3001CAC\u964d60%\uff09\u80cc\u4e66\uff0c\u914d\u5408\u201cClaude\/Codex\u63d2\u4ef6\u201d\u7684\u751f\u6001\u5361\u4f4d\uff0c\u8bd5\u56fe\u4ece\u201c\u53c8\u4e00\u4e2a\u751f\u6210\u5de5\u5177\u201d\u8dc3\u8fc1\u4e3a\u201c\u521b\u610f\u64cd\u4f5c\u7cfb\u7edf\u201d\uff0c\u65b9\u5411\u662f\u5bf9\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u5fc5\u987b\u6cfc\u51b7\u6c34\u3002\u7b2c\u4e00\uff0c\u8bc4\u8bba\u4e2d\u201c\u5982\u4f55\u533a\u5206\u65b0\u5174\u8d8b\u52bf\u4e0e\u9971\u548c\u8d8b\u52bf\u201d\u7684\u8ffd\u95ee\uff0c\u5b98\u65b9\u56de\u7b54\u867d\u7136\u63d0\u5230\u4e86\u201c\u7b2c\u4e8c\u5bfc\u6570\u201d\uff08\u5355\u4f4d\u4f7f\u7528\u56de\u62a5\u662f\u5426\u9012\u589e\uff09\uff0c\u4f46\u8fd9\u672c\u8d28\u662f\u4e8b\u540e\u7edf\u8ba1\uff0c\u800c\u975e\u5b9e\u65f6\u9884\u6d4b\u3002\u5728\u5b9e\u9645\u64cd\u4f5c\u4e2d\uff0c\u4fe1\u53f7\u5ef6\u8fdf\u548c\u5e73\u53f0\u7b97\u6cd5\u9ed1\u7bb1\u4f1a\u8ba9\u8fd9\u4e2a\u201c\u53ef\u6d4b\u91cf\u7684\u9971\u548c\u5ea6\u201d\u5927\u6253\u6298\u6263\u3002\u7b2c\u4e8c\uff0c\u4e5f\u662f\u6700\u5173\u952e\u7684\u77db\u76fe\uff1a\u201cscroll-stopping\u201d\u548c\u201chigh-converting\u201d\u786e\u5b9e\u662f\u4e24\u5957\u903b\u8f91\uff0c\u5b98\u65b9\u5766\u8bda\u201c\u5148\u9a8c\u8bc1\u6ce8\u610f\u529b\uff0c\u518d\u6d4b\u8bd5\u8f6c\u5316\u201d\uff0c\u4f46\u8fd9\u610f\u5473\u7740\u4ea7\u54c1\u76ee\u524d\u66f4\u64c5\u957f\u89e3\u51b3\u201c\u524d\u4e00\u534a\u201d\u95ee\u9898\u2014\u2014\u5373\u5e2e\u7528\u6237\u627e\u5230\u53ef\u80fd\u7206\u7684\u94a9\u5b50\uff0c\u800c\u8f6c\u5316\u4f18\u5316\u4ecd\u4f9d\u8d56\u4f20\u7edfA\/B\u6d4b\u8bd5\uff0c\u5e76\u672a\u5f62\u6210\u95ed\u73af\u7684\u81ea\u52a8\u5316\u3002\u7b2c\u4e09\uff0c\u8ba2\u9605\u5236\uff0839\u7f8e\u5143\/\u6708\uff09\u5728AI\u5de5\u5177\u6cdb\u6ee5\u7684\u5f53\u4e0b\u663e\u5f97\u56fa\u6267\uff0c\u5373\u4fbf\u6709\u201c\u6309\u9700\u52a0\u8d2d\u201d\u548c\u201c\u514d\u8d39\u4e00\u4e2a\u89c6\u9891\u201d\u7684\u59a5\u534f\uff0c\u4e5f\u96be\u4ee5\u5bf9\u51b2\u7528\u6237\u5bf9\u201cAI\u4ea7\u51fa\u540c\u8d28\u5316\u201d\u7684\u5929\u7136\u7591\u8651\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u662f\u7b97\u6cd5\uff0c\u800c\u662f\u90a3\u5957\u201c50M+\u89c2\u770b\u80cc\u540e\u7684\u521b\u610f\u53cd\u6a21\u5f0f\u6570\u636e\u5e93\u201d\u3002\u5982\u679cAdAnt\u80fd\u6301\u7eed\u628a\u201c\u54ea\u4e9b\u5957\u8def\u5df2\u6b7b\u201d\u548c\u201c\u54ea\u4e9b\u5957\u8def\u5c06\u5174\u201d\u505a\u6210\u5b9e\u65f6\u66f4\u65b0\u4e14\u53ef\u88ab\u63d2\u4ef6\u8c03\u7528\u7684\u77e5\u8bc6\u5e93\uff0c\u5b83\u5c31\u6709\u673a\u4f1a\u4ece\u5de5\u5177\u53d8\u6210\u6807\u51c6\u3002\u5426\u5219\uff0c\u5b83\u53ea\u662f\u628a\u4eba\u7c7b\u7b56\u7565\u5e08\u7684\u5de5\u4f5c\u538b\u7f29\u6210\u4e86\u66f4\u5feb\u7684\u7b80\u62a5\uff0c\u800c\u521b\u610f\u884c\u4e1a\u7684\u672c\u8d28\u2014\u2014\u90a3\u53e5\u201c\u8ba9\u7528\u6237\u505c\u4e0b\u6765\u7684\u539f\u56e0\u201d\u2014\u2014\u4f9d\u7136\u85cf\u5728\u6570\u636e\u4e4b\u5916\u3002\u76ee\u524d\uff0c\u7ed9\u4e00\u4e2a\u201c\u8c28\u614e\u4e50\u89c2\u201d\u7684\u8bc4\u4ef7\uff0c\u503c\u56de\u7968\u4ef7\uff0c\u4f46\u79bb\u201c\u9769\u547d\u201d\u8fd8\u6709\u51e0\u4e2a\u5927\u7248\u672c\u7684\u8fed\u4ee3\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">AdAnt AI<\/span>\n                <\/div>\n<div class=\"comment-content\">AdAnt AI is a team of Creative Agents that handles Social Ad Strategy, Creation, and Iteration. Built on the strategies our founding team used to generate 50M+ Organic Views and reduce Paid Acquisition Costs by 60% on average, AdAnt AI creates Scroll-Stopping, High-Converting Ads for TikTok, Instagram, and YouTube.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt! \ud83d\udc4b<\/p>\n<\/p>\n<p>We are nerds and developers who struggled to grow our own products, so we became obsessed with one question: <strong>How do you make people stop scrolling?<\/strong><\/p>\n<\/p>\n<p>That obsession led us to build a repeatable system that generated <strong>50M+ organic views<\/strong> across TikTok, Instagram, and YouTube and <strong>reduced customer acquisition costs by 60% <\/strong>on average. We turned the research, creative playbooks, and workflows behind those results into <strong>AdAnt AI<\/strong>.<\/p>\n<\/p>\n<p>AdAnt acts as your <strong>AI social media creative team<\/strong>. It researches what is working across TikTok, Instagram, and YouTube, identifies repeatable patterns, and turns them into <strong>content strategies <\/strong>and<strong> viral, high-converting social videos.<\/strong><\/p>\n<\/p>\n<p>We are also launching <strong>free AdAnt plugins<\/strong> <strong>for Codex and Claude<\/strong> soon, with <strong>deeper research and stronger content-strategy capabilities<\/strong> built directly into the tools you already use.<\/p>\n<\/p>\n<p>Reply <strong>\u201cSOCIAL\u201d<\/strong> for early access to the plugins. We would love your honest feedback, especially on what does not work yet.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>13<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iris_tu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iris_tu<\/a>&nbsp;This one immediately caught my attention. \ud83d\ude80<\/p>\n<\/p>\n<p>Everyone talks about creating more content, but very few talk about understanding why certain content earns attention while everything else gets scrolled past. That&#8217;s the harder problem\u2014and arguably the more valuable one.<\/p>\n<\/p>\n<p>I also like that you&#8217;re focusing on research before generation. AI can produce thousands of videos, but if it doesn&#8217;t understand audience behavior, it&#8217;s just creating faster noise. Turning winning patterns into repeatable creative systems feels like the right direction.<\/p>\n<\/p>\n<p>The upcoming Claude and Codex plugins are an interesting move too. Meeting creators where they already work is much smarter than asking them to learn another platform.<\/p>\n<\/p>\n<p>One question I&#8217;m genuinely curious about: after analyzing 50M+ organic views, what was the biggest surprise? Was there a viral pattern that consistently outperformed conventional marketing advice? I&#8217;d love to hear one insight that completely changed how your team thinks about content. \ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iris_tu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iris_tu<\/a>&nbsp;Congrats on the launch! \ud83d\ude80 I really like the idea of turning research into repeatable creative workflows. Curious to see how the Codex and Claude integrations will fit into the workflow. Wishing you a great 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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iris_tu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iris_tu<\/a>&nbsp;Congrats on the launch team. How do you turn &#8220;stop the scroll&#8221; into repeatable processes that are aligned to an icp?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>For subscription apps, can AdAnt build different content strategies for acquisition, education, social proof, and retention?<\/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\/@justin2025\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@justin2025<\/a>&nbsp;Thank you for the great question! Yes, the AdAnt Content Strategy Agent, coming soon as a plugin, will adapt to your instructions. You can ask it to build separate strategies for acquisition, education, social proof, retention, or any other goal.<\/p>\n<p>It researches relevant viral content and competitor ads across TikTok, YouTube, and Instagram, and you can refine the strategy with feedback or reference videos. For now, just share your goals and any specific instructions, and we\u2019ll send you a tailored research report.<\/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 current is the trend data? Social formats move quickly, so I\u2019m curious how AdAnt distinguishes an emerging pattern from one that is already saturated.<\/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\/@cheng_ju1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cheng_ju1<\/a>&nbsp;Thank you for the question! For an initial strategy, AdAnt content strategy agent (available per requested on landing page and as plugin) usually analyzes the past 3\u20136 months to identify broader patterns and a diverse range of proven formats. For ongoing weekly strategy, it focuses more heavily on the latest 1\u20132 months of real-time social data to catch newer trends before they become saturated.<\/p>\n<p>These time windows are flexible, and you can adjust them simply by instructing the agent.<\/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\/@cheng_ju1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cheng_ju1<\/a>&nbsp;Saturation is the harder half of that question and it is measurable in a way freshness is not. An emerging pattern has rising usage and flat or rising engagement. A saturated one has rising usage and falling engagement, and the crossover happens well before it feels stale to a human watching. So the useful signal is not how new a format is, it is the second derivative: is the return per use still going up. Anything that only tracks recency will keep recommending a format for roughly two weeks after it stopped working.<\/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>Can a brand give AdAnt its positioning, audience, and visual guidelines so the generated ideas stay on-brand across multiple videos? Congrats on the launch btw! <\/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\/@bethany_gong\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bethany_gong<\/a>&nbsp;Thank you so much for the support! Yes, you can save each brand\u2019s positioning, audience, visual guidelines, and assets under its Product profile, then reference them with @ when working with an agent. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Replying SOCIAL for the plugin access \ud83d\ude4c  <br \/>Quick one though, does the trend research happen in real time or is it working off periodic data pulls?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp; Thank you for the support!<\/p>\n<p>We\u2019ll share plugin access to you in DM very soon! \ud83d\ude4c<\/p>\n<p>For now, you can request a free trend and content analysis at <a href=\"http:\/\/adant.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">adant.ai<\/a>. The research uses real-time social media data, but reports are currently delivered periodically. With the plugin, you\u2019ll be able to run the research instantly on your own machine using your existing ChatGPT or Claude subscription.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>For a small brand, the hard part is not making one video. It is consistently finding new concepts every week. This seems built for that problem!<\/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\/@zfy0701\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zfy0701<\/a>&nbsp;Absolutely. Creative fatigue is real, especially on TikTok and Meta, where brands need to refresh batches of creatives weekly or monthly. AdAnt is built to continuously find new concepts, hooks, and formats, using viral new concepts that have helped reduce CAC and keep performance from declining.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I think this is an interesting product and I look forward to trying it. I would have loved some sort of free trial or at least one free video creation to test how it works before having to purchase. Most tools allow that so they know what they are getting. Trusting you on your word without proof is risky. Nonetheless it I shall see. <\/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\/@johnny_bell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johnny_bell<\/a>&nbsp;Absolutely, and thanks for pointing this out! Every user can create at least one video for free before purchasing. For our Product Hunt launch, we are also offering one month of the Pro plan free with code PH2608.<\/p>\n<p>Now, you can also request free social content strategy reports directly from our landing page. Our upcoming ChatGPT and Claude plugins will let you run the strategy and research workflow using your existing subscription at no extra cost.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/@iris_tu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"iris_tu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iris_tu<\/a> Hey I love the idea, however I&#8217;m totally against subscription models,  are you considering a pay-as-you-go model in the future where users can purchases blocks of non-expiring credits.  Use them as they need them and then top up when necessary?<\/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\/@codeandsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@codeandsea<\/a>&nbsp;Hi Brent, thank you for the thoughtful suggestion! We currently offer one simple $39 monthly plan with no tiers, mainly to attract users who are serious about using the product, with additional credits available on a pay-as-you-go basis. We never want users to waste unused subscription credits, so we\u2019ll definitely consider the pricing model you suggested. Our goal is for users to pay only for what they actually need.<\/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\u2019d love a brand memory feature that keeps our tone, claims, visual rules, and rejected directions consistent across future campaigns.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;That\u2019s such a great suggestion! We currently have an Asset Library and Product feature where you can save branded content for each Product and reference it with @Product whenever working with an agent in chat. We\u2019ll keep expanding this into long-term brand memory so AdAnt can consistently remember your tone, approved claims, visual rules, and rejected directions across future 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<blockquote>\n<p>Congrats on the launch! Hard-earned lesson from my own indie journey: ~20k organic TikTok views converted into almost zero signups \u2014 reach without intent turned out to be just noise. So I&#8217;m curious: when AdAnt generates and scores ad variants, does it optimize toward engagement signals or actual down-funnel conversion? That distinction ended up deciding my whole marketing strategy. Cheers, Gero<\/p>\n<\/blockquote>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nevertoolateoriginal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nevertoolateoriginal<\/a>&nbsp;Thank you for sharing it! We\u2019ve been there too. Our first breakout video reached 8M+ views but converted poorly.<\/p>\n<p>After revising the playbook several times, we found two things matter:<\/p>\n<ol>\n<li>\n<p>The video needs to go viral within the right niche, not just reach a broad audience.<\/p>\n<\/li>\n<li>\n<p>It often performs best when turned into a paid ad, such as a TikTok Spark Ad or Meta ad, where the link and conversion tracking close the loop.<\/p>\n<\/li>\n<\/ol>\n<p>So we do not optimize for engagement alone. We use niche-level attention as a strong candidate signal, then validate it against actual down-funnel performance.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>\u201cScroll-stopping\u201d and \u201chigh-converting\u201d feel like two different briefs. The hook that makes someone pause isn\u2019t always the one that makes them click.<\/p>\n<p>Do you optimize for those separately, or treat them as one system?<\/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>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\/@jared_salois\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jared_salois<\/a>&nbsp;Thank you! We treat them as connected, but not identical.<\/p>\n<p>What we\u2019ve learned is that organic videos that go viral within a specific niche are often the strongest candidates for low-CAC ads. Strong watch-through can also help them earn more efficient CPMs.<\/p>\n<p>But scroll-stopping does not automatically mean high-converting. We still test the offer, message, and CTA to see whether that attention translates into clicks and conversions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! <a href=\"https:\/\/www.producthunt.com\/@anyt\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"anyt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anyt<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@lakshya_singh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshya_singh<\/a>&nbsp;Thank you so much! Really appreciate the support \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 cool concept! Would it be expanded to more traditional ads form\/platforms such as X and search ads?<\/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\/@chongzhe_li\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chongzhe_li<\/a>&nbsp;Thank you for the nice words! We\u2019re currently focused on social ads across platforms like TikTok, Instagram, YouTube, and Meta. We may expand into formats like X and search ads in the future, but right now we want to go deep on social creative 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>Great work on the launch! \ud83d\udc4f I found a small bug while testing the voice library.<\/p>\n<p>Voice previews start playing on hover, which works fine at first. However, after scrolling through the list, moving the cursor across the page triggers multiple voice previews simultaneously. They all keep playing in short overlapping snippets, and the audio doesn&#8217;t stop unless I leave the page completely.<\/p>\n<p>Thought I&#8217;d report it in case it helps. \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@melika_kamalifard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@melika_kamalifard<\/a>&nbsp;Thanks so much for catching and reporting this! We\u2019ll investigate and get it fixed. Really appreciate the detailed steps \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>Looks promising &#8211; how broad is the application ? Meaning is this for consumer products, physical \/ virtual ?<\/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\/@nikolaos_chr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikolaos_chr<\/a>&nbsp;Thank you! It applies broadly to both physical and digital consumer products. We\u2019ve already worked with many consumer apps, AI products, and hardware brands, with the strategy tailored to each product, and audience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iris_tu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"iris_tu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iris_tu<\/a> How do ai generated ads compare to boosted ugc content\/ads in terms of conversion? Are people skeptical of ai ads and just scroll them away in favor of &#8216;real people&#8217; or do they actually engage? Do you have some data that compare this or reference to useful studies on subject? <\/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\/@alexander_stoilov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexander_stoilov<\/a>&nbsp;Awesome question! In our experience, strategy matters more than whether the creator is AI or human.<\/p>\n<p>For some clients, we used AI UGC to test hooks and formats quickly, then apply the winners to human UGC. Both can perform well, though human creators often build more trust over time. AI UGC could be great for some product category (consumer apps, fashion, jewelry), but it might not be right for every category (e.g. skincare, medical), but it is a strong testing engine. Here is one AI influencer program example (we partnered with) went viral and reduced CAC by 70%:<br \/><a href=\"https:\/\/sigpulse.substack.com\/p\/ai-influencer-playbook\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/sigpulse.substack.com\/p\/ai-influencer-playbook<\/a><\/p>\n<p>AdAnt creation agent also support animation, educational ads (we have many animation social videos went viral repeatably), and we also help clients ran human UGC program as well. <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! I took AdAnt for a spin, and the \u201cproduct URL to winning ads\u201d promise is genuinely compelling. The research \u2192 creative direction \u2192 generated ad flow<\/p>\n<ul>\n<li>\n<p>feels like a much stronger starting point than another blank AI editor.<\/p>\n<\/li>\n<li>\n<p>One PLG opportunity stood out: preserve the user\u2019s homepage prompt through signup, then welcome them with the 50 starter credits and a clear first action. That would make the<\/p>\n<\/li>\n<li>\n<p>transition from curiosity to first value feel almost continuous. Clearer generation progress and credit-usage context would strengthen the experience further.<\/p>\n<\/li>\n<\/ul>\n<p>Curious, what moment does the team currently consider activation: the first concept, first generated video, or first export? Would love to compare notes once the launch dust settles. <\/p>\n<\/p>\n<p>Congrats again \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\/@riya_jawandhiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@riya_jawandhiya<\/a>&nbsp;Thanks so much for the thoughtful feedback! We currently give every new user 50 free credits, even without a promo code, but clearly need to communicate that better in our pricing section.<\/p>\n<p>The homepage prompt should carry users into a chat to complete their first video after signup. If you experienced something different, we\u2019ll investigate and improve the flow.<\/p>\n<p>Today, we consider the first generated video our main activation moment. Once we launch the Social Content Strategy Chatgpt\/Claude plugins, though, we believe the first completed strategy may become an even stronger driver of activation.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 about learning from what&#8217;s already working across social platforms is what I&#8217;m curious about. How do you stop the outputs from feeling too similar when everyone starts using the same patterns?<\/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\/@sagar_deore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sagar_deore<\/a>&nbsp;Such a thoughtful question! We focus on the most recent 1\u20132 months of data, since viewers often enjoy seeing fresh variations of an emerging viral trend. We identify the core pattern, then adapt the hook, story, visuals, and product angle for each brand and ICP. The goal is to keep what makes the trend familiar and engaging while making the execution feel fresh and relevant. Some level of creativity + proven pattern usually works the best!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the focus on strategy before generation. Better creative decisions matter much more than simply producing more videos.<\/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\/@yuki1028\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuki1028<\/a>&nbsp;Thanks so much! Exactly, generating more videos is easy, but consistently choosing the right strategy and create social videos at scale to drive performance is hard. That\u2019s the problem we want to help solve.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Kinda refreshing to see something that doesn\u2019t just throw AI-generated ads at you. Starting with pattern research across the platforms makes more sense than pure generation, at least on paper. \ud83d\ude42 Congrats on the launch!<\/div>\n<div class=\"comment-actions\">\n<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\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;Thank you! That is exactly our philosophy. We do not see AI generation as the end goal, just one tool in the creative process. We also help brands run human UGC programs. The real goal is to find what resonates with the audience and create content that converts.<\/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, Iris!<\/p>\n<\/p>\n<p>The strongest part of the product for me is the closed-loop potential: research what is working, generate structured experiments, observe performance, and use those results to decide what to create next. <\/p>\n<\/p>\n<p>That is much more defensible than generation alone.<\/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\/@lavana_cricko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lavana_cricko<\/a>&nbsp;Thank you a lot for the thoughtful comment! That\u2019s exactly the direction we\u2019re building toward. Generation alone is becoming commoditized, but the loop from research to experimentation to real performance learning is where we believe the long-term value is.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 AdAnt connect content strategy with actual performance? Can the system learn from which generated creatives drive lower CAC?<\/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\/@olliez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@olliez1<\/a>&nbsp;Great question! That is the loop we plan to close. We run an ad agency alongside AdAnt and use the product internally first. Our video creatives have reduced clients\u2019 CAC by 60% on average. Next, AdAnt will connect directly to ad performance data, learn what drives lower CAC, and use those insights to generate the next round of creatives.<\/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 looks genuinely useful for small brands that need a steady stream of fresh social creatives. Congrats!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@steve_z_wang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@steve_z_wang<\/a>&nbsp;Thank you! That\u2019s exactly who we built it for. Small teams need fresh creatives constantly, but usually don\u2019t have the time or resources to research, strategize, and produce them 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats! No prompt engineering and no prompt lottery is exactly what non-creative founders need.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@carlyyyy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carlyyyy<\/a>&nbsp;Thanks so much! Exactly, founders already have enough jobs without adding \u201cprofessional prompt engineer for videos\u201d to the list \ud83d\ude04 We want AdAnt AI to make ad creation structured, repeatable, and driven by proven creative strategies instead of prompt lottery.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats team! Social creative is one of the hardest growth bottlenecks for consumer products, so this is exciting to see.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@qi_chen10\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qi_chen10<\/a>&nbsp;Thanks so much! We completely agree. Consumer products\/brands constantly need fresh creative concepts to keep growth efficient, but finding what will actually perform is incredibly hard. That\u2019s exactly the bottleneck we want AdAnt AI to help solve.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Iris! You&#8217;re doing a great job on this impressive launch. Spending in ads became crucial but founders need to make profitable this investment and it&#8217;s key they can perform better than usual. Feel like you&#8217;re helping a lot on this and wish you all the best!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank you so much for the kind words! As founders, we constantly have to balance CAC against customer lifetime value. Running ads is an ongoing battle, and that\u2019s exactly where we want AdAnt to help: continuously finding and creating better-performing concepts so brands can scale more profitably.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Having an assistant that continuously researches what&#8217;s working across platforms feels like a practical way to stay current. 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\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Thank you! Social trends move so quickly that ongoing research is essential. We want AdAnt AI to continuously find what\u2019s working and turn those signals into actionable strategies and create high-converting social videos at scale for each product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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! We\u2019d love to hear what part feels most interesting to you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019d love a brand memory feature that keeps our tone, claims, visual rules, and rejected directions consistent across future campaigns.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@power_valsha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@power_valsha<\/a>&nbsp;Thank you! Great suggestion~ We have a Product feature where you can save branded content for each product and reference it with @ when working with an agent. We are building towards long-term memory on the brand\/products!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 product. Congrats on this launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@peng_wood\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peng_wood<\/a>&nbsp;Thank you so much! Really appreciate the support. We\u2019re excited to keep improving AdAnt AI and see what people create with it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/W6SVY7XXFTOVTY\" class=\"app-title\">NextDoor.Company<\/a><\/p>\n<div class=\"one-liner\">Discover startups hiring near you, on a map<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">379<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>NextDoor.Company \u662f\u4e00\u6b3e\u5c06\u521d\u521b\u516c\u53f8\u62db\u8058\u4fe1\u606f\u4e0e\u5730\u56fe\u7ed3\u5408\u7684\u53ef\u89c6\u5316\u804c\u4f4d\u53d1\u73b0\u5de5\u5177\uff0c\u89e3\u51b3\u4e86\u6c42\u804c\u8005\u96be\u4ee5\u5728\u4f20\u7edf\u62db\u8058\u5e73\u53f0\u627e\u5230\u9ad8\u8d28\u91cf\u521d\u521b\u516c\u53f8\u53ca\u5176\u878d\u8d44\u3001\u4f30\u503c\u7b49\u5173\u952e\u80cc\u666f\u4fe1\u606f\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d6bdf10e-5b0e-4f72-b6c4-bcd8a1642a57.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f5388edb-ba99-4bc2-97c3-86b057a2d5e2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6a57d113-3d0a-4f3a-b40a-29cc825182aa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4a111bd3-312e-426d-939f-2472d6ea1a29.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eeec033b-b693-44c9-8a05-cd2475017696.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\/a4e7ee6a-74fc-4db5-b601-3a01d9605541.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/yzBY9dxXU_0\"><source src=\"https:\/\/youtu.be\/yzBY9dxXU_0\" 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\">Maps<\/span><br \/>\n            <span class=\"tag\">Career<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u521d\u521b\u516c\u53f8\u62db\u8058<\/span><br \/>\n            <span class=\"tag\">\u5730\u56fe\u627e\u5de5\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u804c\u4f4d\u53d1\u73b0<\/span><br \/>\n            <span class=\"tag\">\u8fdc\u7a0b\u529e\u516c<\/span><br \/>\n            <span class=\"tag\">\u6df7\u5408\u529e\u516c<\/span><br \/>\n            <span class=\"tag\">\u878d\u8d44\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u521b\u59cb\u4eba\u4fe1\u606f<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u730e\u9177<\/span><br \/>\n            <span class=\"tag\">\u6c42\u804c\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\u5730\u56fe\u4e0e\u516c\u53f8\u80cc\u666f\u4fe1\u606f\u7ed3\u5408\u7684\u521b\u610f\uff0c\u8ba4\u4e3a\u4f53\u9a8c\u5e72\u51c0\u3001\u4fe1\u606f\u6709\u4ef7\u503c\u3002\u4e3b\u8981\u95ee\u9898\u96c6\u4e2d\u5728\u514d\u8d39\u5c42\u9650\u5236\u8fc7\u4e25\uff0c\u65e0\u6cd5\u5145\u5206\u4f53\u9a8c\u6838\u5fc3\u4ef7\u503c\uff1b\u7f3a\u5c11\u524d\u7aef\u81ea\u52a9\u5220\u9664\u8d26\u53f7\u529f\u80fd\uff1b\u5730\u56fe\u521d\u59cb\u5b9a\u4f4d\u4e0d\u51c6\uff08IP\u8bc6\u522b\u6709\u8bef\uff09\uff1b\u53e6\u5efa\u8bae\u6309\u7528\u6237\u6240\u5728\u57ce\u5e02\u89e3\u9501\u514d\u8d39\u516c\u53f8\u4ee5\u63d0\u5347\u4fe1\u4efb\u611f\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                NextDoor.Company \u7684\u5207\u5165\u70b9\u7cbe\u51c6\u523a\u4e2d\u4e86\u201c\u521d\u521b\u516c\u53f8\u62db\u8058\u4fe1\u606f\u788e\u7247\u5316\u201d\u8fd9\u4e00\u771f\u5b9e\u75db\u70b9\uff0c\u5176\u5dee\u5f02\u5316\u4e0d\u5728\u4e8e\u804c\u4f4d\u6570\u91cf\uff0c\u800c\u5728\u4e8e\u201c\u770b\u804c\u4f4d\u65f6\u987a\u5e26\u7ed9\u4f60\u878d\u8d44\u3001\u4f30\u503c\u3001\u521b\u59cb\u4eba\u80cc\u666f\u201d\u8fd9\u7c7b\u6295\u8d44\u7ea7\u4e0a\u4e0b\u6587\u4fe1\u606f\uff0c\u8fd9\u786e\u5b9e\u6bd4\u4f20\u7edf\u804c\u4f4d\u677f\u66f4\u7b26\u5408\u9ad8\u98ce\u9669\u504f\u597d\u6c42\u804c\u8005\u7684\u51b3\u7b56\u903b\u8f91\u3002\u4f46\u4ece\u8bc4\u8bba\u53cd\u9988\u770b\uff0c\u4ea7\u54c1\u5f53\u524d\u6700\u7a81\u51fa\u7684\u77ed\u677f\u5e76\u975e\u529f\u80fd\uff0c\u800c\u662f\u5546\u4e1a\u7b56\u7565\u4e0e\u4fe1\u4efb\u94fe\u7684\u5931\u8861\uff1a\u514d\u8d39\u5c42\u88ab\u5410\u69fd\u201c\u51e0\u4e4e\u65e0\u6cd5\u83b7\u5f97\u4ef7\u503c\u201d\uff0c\u4e14\u65e0\u6cd5\u81ea\u52a9\u5220\u53f7\uff0c\u8fd9\u4e24\u70b9\u76f4\u63a5\u6253\u51fb\u4e86\u201c\u5730\u56fe\u53d1\u73b0\u201d\u8fd9\u4e00\u6838\u5fc3\u4f53\u9a8c\u7684\u4f20\u64ad\u529b\u3002\u56e2\u961f\u5bf9\u6570\u636e\u6765\u6e90\u7684\u56de\u5e94\u662f\u201c\u5168\u7f51\u6293\u53d6+\u4eba\u5de5+\u5b9a\u671f\u66f4\u65b0\u201d\uff0c\u8fd9\u672c\u8eab\u6ca1\u95ee\u9898\uff0c\u4f46\u5728\u201c\u878d\u8d44\u6570\u636e\u53d8\u5316\u4e0d\u5feb\u201d\u7684\u524d\u63d0\u4e0b\uff0c\u7528\u6237\u66f4\u62c5\u5fc3\u7684\u662f\u201c\u804c\u4f4d\u662f\u5426\u771f\u5b9e\u5f00\u653e\u201d\u8fd9\u4e00\u5feb\u901f\u8870\u51cf\u5b57\u6bb5\uff0c\u800c\u540e\u8005\u6070\u662f\u4ea7\u54c1\u5e76\u672a\u7ed9\u51fa\u660e\u786e\u4fe1\u5fc3\u8bc1\u660e\u7684\u5730\u65b9\u3002\u53e6\u4e00\u4e2a\u7ed3\u6784\u6027\u98ce\u9669\u662f\u201c\u5730\u56fe\u201d\u4f5c\u4e3a\u4ea4\u4e92\u5f62\u5f0f\u6709\u65b0\u9c9c\u611f\uff0c\u4f46\u6c42\u804c\u8005\u7684\u6838\u5fc3\u8bc9\u6c42\u662f\u7b5b\u9009\u6548\u7387\uff0c\u800c\u975e\u5730\u7406\u6c89\u6d78\u611f\u2014\u2014\u5c24\u5176\u5bf9\u8fdc\u7a0b\u4f18\u5148\u7684\u7fa4\u4f53\u800c\u8a00\uff0c\u5730\u56fe\u66f4\u50cf\u662f\u8425\u9500\u94a9\u5b50\u800c\u975e\u957f\u671f\u9ad8\u9891\u4f7f\u7528\u573a\u666f\u3002\u603b\u4e4b\uff0c\u4ea7\u54c1\u6982\u5ff5\u548c\u65b9\u5411\u503c\u5f97\u80af\u5b9a\uff0c\u4f46\u8981\u60f3\u4ece\u201c\u5c0f\u800c\u7f8e\u201d\u8d70\u5411\u53ef\u6301\u7eed\uff0c\u9700\u8981\u5728\u514d\u8d39\u6743\u76ca\u3001\u6570\u636e\u65b0\u9c9c\u5ea6\u6807\u6ce8\u53ca\u8d26\u6237\u81ea\u52a9\u7ba1\u7406\u4e0a\u8865\u9f50\u7f3a\u53e3\u3002\u5426\u5219\uff0c\u4ee5\u5f53\u524d\u62a4\u57ce\u6cb3\u6df1\u5ea6\uff0c\u5f88\u5bb9\u6613\u88abLinkedIn\u6216Wellfound\u7b49\u5e73\u53f0\u5728\u7ec6\u5206\u529f\u80fd\u4e0a\u5feb\u901f\u590d\u5236\u5e76\u65bd\u538b\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\">NextDoor.Company<\/span>\n                <\/div>\n<div class=\"comment-content\">Find startups hiring near you, on a map. 400+ hand curated startups globally, 16,000+ live job openings updated weekly. Filter by work mode: remote, hybrid, or on site. See funding, valuation, and revenue details, verified founder profiles, key investors, and their investment details, all in one place.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello Product Hunt \ud83d\udc4b\ud83c\udffc<\/p>\n<p>As someone who spends a lot of time around founders, one thing I&#8217;ve noticed is how broken startup hiring discovery still is.<\/p>\n<p>Great startups are hiring every day, yet finding them often means jumping between LinkedIn, company websites, X and funding databases.<\/p>\n<p>Instead of being another job board, NextDoor.Company helps you discover high-quality startups on a map and gives you the context that actually matters.<\/p>\n<p>Have seen how obsessed Sankalp is in solving for this space and I&#8217;ll let him tell the story behind why he built it.<\/p>\n<p>Over to you, Sankalp \ud83d\udc47<\/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\/@akhilbvs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akhilbvs<\/a>&nbsp;Hi! I&#8217;m working on an online AI training job that pays $32\u2013$58\/hour, and the company is currently hiring. If you&#8217;re interested, I can refer you. If you&#8217;re accepted, I earn a $20 referral bonus\u2014I&#8217;m only referring people, not hiring. You can also earn the same $20 for each successful referral if you join. Let me know if you&#8217;d like more 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@akhilbvs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akhilbvs<\/a>&nbsp;thank you Akhil!<\/p>\n<\/p>\n<p>\ud83d\udc4b Hey makers! My name is Sankalp. I recently turned 33 and I live in this beautiful city in India called Bangalore.<\/p>\n<p>I&#8217;ve been a Product Designer for 14+ years and I&#8217;ve been designing digital products for founders and startups over the years.<\/p>\n<p>It&#8217;s also been a long time I showcased something to the PH community. The last time I created a product &amp; showed here was in 2018. Ouch!!<\/p>\n<p>But times have changed. AI has now given designers super powers. So last year, I quit my full-time $15,000 monthly salary to build my own ideas.<\/p>\n<p>Been solopreneuring for about 12 months and today I&#8217;m launching <a href=\"http:\/\/NextDoor.Company\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">NextDoor.Company<\/a> on PH!<\/p>\n<p><a href=\"http:\/\/NextDoor.Company\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">NextDoor.Company<\/a> started as a weekend hackathon project because I kept seeing growth news about startups and their hiring spree, but at the same time my friends kept complaining: &#8220;If startups are hiring actively, where are they?&#8221; or &#8220;I can&#8217;t find good startups on LinkedIn or Indeed anymore.&#8221;<\/p>\n<p>So I built a map-first job discovery platform that shows you top-tier startups actively hiring near you. Since August last year, I&#8217;ve been hand curating top-tier startups globally, and now it hosts 16,000+ live job openings, updated every week.<\/p>\n<p>Unlike other job discovery platforms, I&#8217;ve also pulled together the most important stuff about a job and the startup behind it, the things job seekers normally have to dig through 20+ tabs to find: who the founders are, how much they&#8217;ve raised, whether they have enough runway left, if good VC funds are backing them, what benefits they offer as an employer, and whether they&#8217;re hiring remotely, in-office, or hybrid.<\/p>\n<p>So far, about 50,000+ have already signed up and a bunch of them have left raving reviews.<\/p>\n<p>Since <a href=\"http:\/\/NextDoor.Company\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">NextDoor.Company<\/a> is reaching a much wider audience from this PH launch today, I&#8217;d love to understand: What other pain points in job discovery have you run into lately that I could solve here, or improve upon?<\/p>\n<p>Oh, and yes, there&#8217;s a lifetime plan at 42% off for the whole week for my friends from PH. Just use the code PH42 at checkout.<\/p>\n<p>&#8211; Sankalp<br \/>Your friendly neighbourhood solopreneur<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>7<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The idea is amazing, but the paywall is too aggressive. I can&#8217;t really see the value before paying, and there&#8217;s no easy way to delete my account and personal data (or at least I couldn&#8217;t find one).<\/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\/@lambertlcdb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lambertlcdb<\/a>&nbsp;Just expanded the # of companies that get unlocked in freemium. If you want, I&#8217;ll reset your data so you can see more of the companies &amp; then decide. <\/p>\n<\/p>\n<p>(and goes without saying, if you still want to delete your account, let me know. Unfortunately, don&#8217;t have the ability to delete directly on frontend but will remove data from backend if you still want 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\">@sankalpdomore imo the free companies should be maybe a radius around your location and then it&#8217;s paid<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Your value prop leans heavily on \u201ccontext\u201d (funding\/valuation\/revenue, investor details, founder profiles). How do you source and verify those fields, and how do you communicate confidence\/recency so users can trust the data when making a career decision?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@curiouskitty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@curiouskitty<\/a>&nbsp;The freshness question is the one that decides this category, and it splits by field. Funding and valuation age slowly and are cheap to keep right. Who is actually hiring right now decays in weeks and is the field people are here for. A single &#8220;last updated&#8221; stamp on the whole record hides that, because the funding row being three days old says nothing about whether the role is still open. Per field timestamps are ugly in a UI and they are the only honest version, and they also let you charge confidently for the parts that are genuinely current.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@curiouskitty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@curiouskitty<\/a>&nbsp;yes, so the prodcut gathers all the information across the web, stitches them together, and does another pass on the accuracy of the data. And then it adds the data in every company. <\/p>\n<\/p>\n<p>The app right now just checks for funding\/valuation changes every few months because funding valuation data doesn&#8217;t really change every week.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><em>Love the whole app experience. Information about companies are spot on, exactly what I&#8217;d want to see and first glance. Definitely found some companies that I&#8217;ve not heard of before or found their job postings on LinkedIn. The app experience feels super clean. \ud83e\udd0c\ud83c\udffb<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@prajwal_varma\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prajwal_varma<\/a>&nbsp;honey to my ears \ud83e\udd79<\/p>\n<\/p>\n<p>Curious to know what would improve further. Let me know here or on DMs. No rush. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Excellent work <a href=\"https:\/\/www.producthunt.com\/@sankalpdomore\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sankalpdomore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sankalpdomore<\/a> <br \/>I have one suggestion &#8211; it would be great to open the map with all the jobs in the area from where the request is made (ip-based). I tried it multiple times, including incognito, and it opened twice in SF and thrice in Bangalore (where I&#8217;m based out of). Otherwise, truly exceptional work!<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@seomaxtech\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@seomaxtech<\/a>&nbsp;yes, the IP thing is a bit buggy. Will fix it this week. Don&#8217;t want to screw up launch day.<\/p>\n<\/p>\n<p>Thank you for checking out the product Soumya \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I really respect the work that went into this, it shows. But the free tier makes it almost impossible to get value from it, and I couldn&#8217;t find a way to delete my account when I tried. Instead of hiding job proposals entirely, I&#8217;d suggest hiding metadata about them, things like Funding stage, Total funding, Valuation, and Benefits<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@riccardo6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@riccardo6<\/a>&nbsp;Just expanded the # of companies that get unlocked in freemium. Problem I faced experimenting with this is that unlocking all companies and hiding some data never works out. People come see more info and move out. <\/p>\n<\/p>\n<p>The middle ground I&#8217;ve found working well is to tease a few startups with all data unlocked and put the rest behind the paywall.<\/p>\n<p>(and goes without saying, if you still want to delete your account, let me know. Unfortunately, don&#8217;t have the ability to delete directly on frontend but will remove data from backend if you still want 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\/@riccardo6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@riccardo6<\/a>&nbsp;Two people in this thread hit the same wall independently, which usually means it is structural rather than taste. The thing a free tier has to buy is not value, it is belief that the data is accurate for your specific case. Partial records across many companies do the opposite, they give you a reason to doubt every row. One company fully unlocked, picked by the user, settles it in about ten seconds and costs almost nothing, because the person who checks their own city, finds it right, and then wants the other two hundred is exactly the person who pays. At the moment the free tier is proving breadth to someone whose real question is accuracy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love this, How long are you planning to work on it  in year wise?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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_singh_bhadoriya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rahul_singh_bhadoriya<\/a>&nbsp;decades brotha<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">Cool concept! Building something myself right now, so I\u2019m not looking \u2013 but I can definitely see the value. Job discovery is still pretty broken, and this feels like a cleaner way to do it, especially with the map and the actual context in one place. Congrats on the launch!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;yes &#8211; that was the whole idea. Make job discovery effective but fun again.<\/p>\n<\/p>\n<p>Thanks for checking out the product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I absolutely love how context-rich job searching is on NextDoor. When looking for a job, these things come in handy and help me make an informed decision. 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\/@wisenavi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wisenavi<\/a>&nbsp;yes, that was the whole point of the product. In my initial user research I figured that job seekers who are serious about their job hunt, go to 20+ tabs to figure out all the relevant data about a startup. And it obvious to bet on this UX and bring every relevant info that helps job seekers in their job discovery phase.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Met <a href=\"https:\/\/www.producthunt.com\/@sankalpdomore\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sankalpdomore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sankalpdomore<\/a> last year; been on Nextdoor since then. The tool has changed a LOT since then, like actually a lot, not the fake &#8220;we shipped an update&#8221; kind of a lot.<\/p>\n<\/p>\n<p>Congrats on the ProductHunt launch, Sankalp.<\/p>\n<\/p>\n<p>Would I recommend it to someone hunting for the right role? Hell yeah!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@prerakmathur29\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prerakmathur29<\/a>&nbsp;Thank you Prerak for being an early adopter. Still remember the feedback you gave on filters in those early days. \u2665\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, loved the concept and whole vibe of the product. I am in search for a job so definitely going to try it out \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kaivan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kaivan<\/a>&nbsp;Hi! I&#8217;m working on an online AI training job that pays $32\u2013$58\/hour, and the company is currently hiring. If you&#8217;re interested, I can refer you. If you&#8217;re accepted, I earn a $20 referral bonus\u2014I&#8217;m only referring people, not hiring. You can also earn the same $20 for each successful referral if you join. Let me know if you&#8217;d like more 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kaivan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kaivan<\/a>&nbsp;Thank you Kaivan. Don&#8217;t forget to use the discount code.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Fantastic setup here!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is insanely clever. Well done Sankalp!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@5harath\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@5harath<\/a>&nbsp;Thank you Sharath \ud83e\udee1<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Looks fabulous, Lets gooo.<\/div>\n<div class=\"comment-actions\">\n<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\/@pgd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pgd<\/a>&nbsp;thanks for being a early supporter Parikshit. \ud83e\udd79<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Really like the idea at first glance Finding startups on a map feels surprisingly intuitive Curious to see how people end up discovering opportunities they would have otherwise missed Best of luck today <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;thank you for checking the product Suryansh \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>Your launch video caught my attention, but your product got me exploring longer than I should&#8217;ve. I kept discovering startups I hadn&#8217;t come across before. I love the map first approach, and the extra company intelligence is a really nice touch. Good luck with the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@kaavya_prasad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kaavya_prasad<\/a>&nbsp;this is the best comment today. Love it when users tell me that they got lost in the product because of the open world discoverability on map. Reminds me all the sleepless nights I&#8217;ve spent perfecting the design of this. <\/p>\n<\/p>\n<p>Thank you for checkout out my product Kaavya. Means a lot!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been seeing the evolution of this product closely, good job Sankalp \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@harshactually\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harshactually<\/a>&nbsp;thank you for being an early adopter Harsh \u2665\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Such a fun product! One of my cousins is looking for a role in startups and this is such a banger fit that I can just share with him.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@saxenasaheb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@saxenasaheb<\/a>&nbsp;oh super! Let me know if he needs any help. DMing a few leads in inbox too \ud83e\udee1<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey People,<\/p>\n<\/p>\n<p>Downloaded it thinking, \u201cLet\u2019s see what my friend have cooked up this time.\u201d Ended up genuinely impressed! The app makes discovering startup opportunities nearby ridiculously simple. It\u2019s amazing to see <a href=\"https:\/\/www.producthunt.com\/@sankalpdomore\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sankalpdomore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sankalpdomore<\/a> whom I knew from years building something that\u2019s actually useful instead of just surviving on instant noodles and assignment submissions \ud83d\ude02<\/p>\n<\/p>\n<p>Super clean, intuitive, and clearly built with a lot of thought. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tirupati_balajee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tirupati_balajee<\/a>&nbsp;haha! Good to see you here man. And thanks for being an early adopter and giving all the feedback on over the course of the product<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>too bad i work remotely! this sounds really valuable. and agree with the feedback about the site. it looks great and a total pro! 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\/@heyitsirenechan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heyitsirenechan<\/a>&nbsp;the product also indexes a lot of remote jobs. Probably my miss. Should have had made it clear on the launch details.<\/p>\n<\/p>\n<p>Thank you for checking out the product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love the demo video, and man ur website designs is looking so great, i m going to steal some of the design ideas from it specially showing the emoji above the testimonial section (are u guys tracking those emoji clicks on testimonials as well) or is it just a frontend interaction for the user.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@itsjieyanghere\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itsjieyanghere<\/a>&nbsp;Thank you Jie. Just a frontend interaction. Tracking testimonial reactions would be vanity metrics. Would love to see what you&#8217;re building, do share once it&#8217;s ready &lt;3 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Map based discovery of jobs as a paradigm is very interesting. I can see this extending to internships and blue collar jobs as well. Good luck! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sia_steel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sia_steel<\/a>&nbsp;yes and yes. Will continue to focus on startups for now and then if the demand is there, will extend to internships &amp; blue collar. <\/p>\n<\/p>\n<p>I go where my users takes me \ud83d\ude00<\/p>\n<\/p>\n<p>Thank you for checking out the product!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Have enjoyed seeing you build this in public <a href=\"https:\/\/www.producthunt.com\/@sankalpdomore\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sankalpdomore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sankalpdomore<\/a> . Congratulations \ud83c\udf89 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@weirdowizard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@weirdowizard<\/a>&nbsp;thank you Darshan \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>damn cool product. hand-curated-jobs sounds like half of my job of finding a job is already done. seems like worth a try. 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@surbhi_singla2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@surbhi_singla2<\/a>&nbsp;that was the whole idea Surbhi. Post-covid, how people work has changed a lot. The product usage banks a lot on the idea of accurate info on what&#8217;s happening around us that&#8217;s mostly hidden in LinkedIn or X.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a good idea. \ud83d\ude42 Genuinely&#8230; because the market is now&#8230; how to say&#8230; very difficult (AI is replacing workers, more workers are having a hard time finding something, and even more graduates are very sad about their &#8220;jobless future&#8221;). <\/p>\n<p>BTW, this could be a good addition to <a href=\"https:\/\/www.producthunt.com\/@fmerian\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a> discussions about job search: <a href=\"https:\/\/www.producthunt.com\/p\/producthunt\/hiring-looking-for-work-startup-roles-august-2026\" target=\"_blank\" rel=\"noopener\">https:\/\/www.producthunt.com\/p\/producthunt\/hiring-looking-for-work-startup-roles-august-2026<\/a> \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Hi! I&#8217;m working on an online AI training job that pays $32\u2013$58\/hour, and the company is currently hiring. If you&#8217;re interested, I can refer you. If you&#8217;re accepted, I earn a $20 referral bonus\u2014I&#8217;m only referring people, not hiring. You can also earn the same $20 for each successful referral if you join. Let me know if you&#8217;d like more 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;yes, absolutely. I&#8217;ve been talking to a lot of top recruiters and founders and the fact that most products \/ startups ignore that &#8220;job search is very personalized&#8221; and injecting AI into everything does not really work. <\/p>\n<\/p>\n<p>That&#8217;s been my thesis and it&#8217;s also what my users keep telling me as well. So going to focus on delivering the best job discovery platform which uses AI here and there, but remains &amp; feels humane. + job discover needs to be fun again. It&#8217;s been boring for so long!<\/p>\n<\/p>\n<p>And adding the product on the startup roles thread. Thank you <a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a> \u2665\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HRVA5S3NHPLDDJ\" class=\"app-title\">ngrok AI Gateway<\/a><\/p>\n<div class=\"one-liner\">One private gateway for every AI model<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">325<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ngrok AI Gateway \u662f\u4e00\u4e2a\u7edf\u4e00\u6258\u7ba1\u5f0fAI\u7f51\u5173\uff0c\u8ba9\u5f00\u53d1\u8005\u7528\u5355\u4e00API\u5bc6\u94a5\u548cURL\uff0c\u5b89\u5168\u5730\u8def\u7531\u3001\u7ba1\u7406\u548c\u76d1\u63a7\u6240\u6709AI\u6a21\u578b\uff08\u5305\u62ec\u516c\u6709\u4e91\u3001\u81ea\u5efa\u53ca\u79c1\u6709\u6a21\u578b\uff09\uff0c\u89e3\u51b3\u591a\u4f9b\u5e94\u5546\u5207\u6362\u3001\u5bc6\u94a5\u7ba1\u7406\u6df7\u4e71\u548c\u79c1\u6709\u6a21\u578b\u66b4\u9732\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\/d80cd21e-ec08-4bde-be44-0b309d738d0d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/860e68ff-dcbd-4bd5-861e-39d065566aed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/10f97236-855b-4efa-88f2-ec623c43a172.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9785d593-4cc3-4a16-a932-324627bd5ffc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b134c3b9-abc2-4ac6-bb19-8ad01efc304e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bceed791-e0ca-41ed-932d-6f4890984688.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/70d7dabf-b9a1-4806-ba29-c9d18409b2f3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4697c419-705c-491c-988d-6cc2c601f007.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a45fc68c-05ed-4905-b7f0-8b2f5ec18626.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\/ec35ef42-3d4c-4d3a-97ae-a234f9cf7828.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=VC7vrSsSCpg\"><source src=\"https:\/\/www.youtube.com\/watch?v=VC7vrSsSCpg\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f51\u5173<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u8def\u7531<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5168\u8fde\u63a5<\/span><br \/>\n            <span class=\"tag\">\u79c1\u6709\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">API\u7edf\u4e00<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">\u6545\u969c\u8f6c\u79fb<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u57fa\u7840\u8bbe\u65bd<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u89e3\u51b3\u591a\u6a21\u578b\u7ba1\u7406\u6df7\u4e71\u53ca\u79c1\u6709\u6a21\u578b\u5b89\u5168\u66b4\u9732\u7684\u75db\u70b9\u3002\u4e3b\u8981\u95ee\u9898\u805a\u7126\u4e8e\uff1a\u56e2\u961f\u5982\u4f55\u6743\u8861\u6258\u7ba1\u4e0e\u81ea\u6258\u7ba1\u6a21\u578b\u7684\u8def\u7531\u51b3\u7b56\uff08\u57fa\u4e8e\u6210\u672c\u3001\u9690\u79c1\u3001\u5ef6\u8fdf\uff09\uff1b\u76f8\u8f83\u4e8e\u81ea\u5efa\u7f51\u5173\u7684\u6838\u5fc3\u4f18\u52bf\uff1b\u4ee5\u53ca\u5bf9\u7279\u5b9a\u5f00\u53d1\u5de5\u5177\uff08\u5982Cursor\uff09\u96c6\u6210\u6307\u5357\u7684\u9700\u6c42\u3002\u591a\u6570\u53cd\u9988\u4e3a\u6b63\u9762\u80af\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                ngrok AI Gateway\u672c\u8d28\u4e0a\u662f\u4e00\u6b21\u7cbe\u51c6\u7684\u201c\u573a\u666f\u590d\u7528\u201d\u2014\u2014\u5c06ngrok\u5728\u516c\u7f51\u96a7\u9053\u9886\u57df\u79ef\u7d2f\u7684\u9006\u5411\u8fde\u63a5\u548c\u5b89\u5168\u80fd\u529b\uff0c\u5e73\u79fb\u81f3\u5927\u6a21\u578b\u57fa\u7840\u8bbe\u65bd\u5c42\u3002\u5176\u4ef7\u503c\u5e76\u975e\u9996\u521b\u201cAI\u7f51\u5173\u201d\u6982\u5ff5\uff0c\u800c\u5728\u4e8e\u4f9d\u6258\u5176\u6210\u719f\u7684\u7f51\u7edc\u5206\u53d1\u548c\u4fe1\u4efb\u80cc\u4e66\uff0c\u4f18\u96c5\u5730\u89e3\u51b3\u4e86\u884c\u4e1a\u4e00\u4e2a\u5173\u952e\u5374\u88ab\u5ffd\u89c6\u7684\u75db\u70b9\uff1a\u79c1\u6709\u6a21\u578b\u7684\u201c\u7070\u8272\u5730\u5e26\u201d\u63a5\u5165\u3002\u5728\u4f17\u591a\u7f51\u5173\u4ea7\u54c1\u9ed8\u8ba4\u5047\u8bbe\u6240\u6709\u6a21\u578b\u90fd\u5728\u516c\u6709API\u540e\u9762\u65f6\uff0cngrok\u53cd\u5176\u9053\u800c\u884c\uff0c\u8ba9\u7528\u6237\u5728\u672c\u5730\u6216\u79c1\u6709\u4e91\u8fd0\u884c\u7684\u6a21\u578b\uff0c\u80fd\u901a\u8fc7\u5176\u7f51\u7edc\u4e0e\u6258\u7ba1\u6a21\u578b\u5e76\u5217\uff0c\u65e2\u65e0\u9700\u66b4\u9732\u516c\u7f51\u7aef\u53e3\uff0c\u53c8\u4fdd\u7559\u4e86\u4e0e\u4e91\u670d\u52a1\u540c\u7ea7\u7684\u53ef\u89c2\u6d4b\u6027\u548c\u6743\u9650\u7ba1\u7406\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5fc5\u987b\u51b7\u9759\u770b\u5f85\u5176\u62a4\u57ce\u6cb3\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u7684\u5174\u594b\u70b9\u96c6\u4e2d\u5728\u201c\u5b89\u5168\u8fde\u63a5\u79c1\u6709\u6a21\u578b\u201d\u8fd9\u4e00\u5dee\u5f02\u5316\u80fd\u529b\u4e0a\uff0c\u800c\u975e\u7f51\u5173\u672c\u8eab\u7684\u8def\u7531\u6216\u6210\u672c\u4f18\u5316\u529f\u80fd\u3002\u8fd9\u610f\u5473\u7740\u8be5\u4ea7\u54c1\u9762\u4e34\u53cc\u91cd\u5939\u51fb\uff1a\u5411\u4e0a\uff0c\u4e0eBaseten\u3001LiteLLM\u7b49\u4e13\u4e1aAI\u57fa\u7840\u8bbe\u65bd\u5382\u5546\u5728\u6027\u80fd\u3001\u6210\u672c\u4f18\u5316\u4e0a\u6b63\u9762\u7ade\u4e89\uff1b\u5411\u4e0b\uff0c\u5bf9\u4e8e\u4ec5\u9700\u7b80\u5355\u4ee3\u7406\u7684\u9700\u6c42\uff0c\u81ea\u7814\u6216\u5f00\u6e90\u65b9\u6848\uff08\u5982Envoy AI Gateway\uff09\u7684\u6027\u4ef7\u6bd4\u5bf9\u6210\u719f\u56e2\u961f\u4f9d\u7136\u6781\u5177\u5438\u5f15\u529b\u3002\u5b83\u771f\u6b63\u7684\u6f5c\u5728\u4ef7\u503c\u5728\u4e8e\u80fd\u5426\u5c06\u201c\u79c1\u6709\u6a21\u578b\u63a5\u5165\u201d\u8fd9\u4e00\u5355\u70b9\u4f18\u52bf\uff0c\u6269\u5c55\u4e3a\u6db5\u76d6\u6a21\u578b\u53d1\u73b0\u3001\u6570\u636e\u5fae\u8c03\u3001\u7b56\u7565\u6267\u884c\u7684\u201c\u79c1\u6709AI\u5e94\u7528\u5e73\u53f0\u201d\u3002\u82e5\u6b62\u6b65\u4e8e\u7edf\u4e00\u5165\u53e3\u548c\u6545\u969c\u8f6c\u79fb\uff0c\u90a3\u5b83\u4e0d\u8fc7\u662f\u53c8\u4e00\u4e2a\u201c\u7528\u811a\u6295\u7968\u201d\u65f6\u66f4\u4fbf\u6377\u7684\u9009\u62e9\uff0c\u800c\u975e\u201c\u975e\u5b83\u4e0d\u53ef\u201d\u7684\u6838\u5fc3\u4f9d\u8d56\u3002\u6700\u7ec8\uff0c\u4ea7\u54c1\u6210\u8d25\u5c06\u53d6\u51b3\u4e8e\u80fd\u5426\u8ddf\u968f\u4f01\u4e1a\u4ece\u201c\u5c1d\u8bd5AI\u201d\u5230\u201c\u751f\u4ea7\u7ea7AI\u201d\u7684\u8f6c\u53d8\uff0c\u63d0\u4f9b\u66f4\u6df1\u7684\u6cbb\u7406\u548c\u4f18\u5316\u80fd\u529b\uff0c\u800c\u4e0d\u53ea\u662f\u505a\u4e00\u4e2a\u4f18\u96c5\u7684\u8fde\u63a5\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\">ngrok AI Gateway<\/span>\n                <\/div>\n<div class=\"comment-content\">ngrok AI Gateway provides one hosted gateway for every model: public providers, custom endpoints, and the models you run yourself. Use one key and one URL to route across OpenAI, Anthropic, and self-hosted models with observability, access control, and fallbacks built in. Your private models connect through ngrok\u2019s network, so they sit beside hosted providers without being exposed to the public internet.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Hey Product Hunt \ud83d\udc4b<\/strong><\/p>\n<\/p>\n<p>I&#8217;m Niji, a product manager at ngrok. Today we&#8217;re launching <a href=\"http:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>ngrok.ai<\/strong><\/a>,<strong> ngrok&#8217;s AI Gateway<\/strong>.<\/p>\n<\/p>\n<p>For years, ngrok has helped developers connect their applications and services in minutes instead of days.<\/p>\n<\/p>\n<p>As I started building with AI, I ran into similar infrastructure problems at the application layer.<\/p>\n<\/p>\n<p>An application might start with OpenAI, then Claude for another use case. As newer, faster, or more affordable models became available, I would create more accounts and update my code just to try them. Eventually, more specialized needs would lead me to run fine-tuned or task-specific models on my laptop, private GPUs, or internal cloud infrastructure.<\/p>\n<\/p>\n<p>Before long, I was managing multiple gateways and SDKs, sharing provider keys across configuration files and vaults, checking usage in several dashboards, maintaining complicated fallback logic, and accidentally exposing models that were supposed to remain private.<\/p>\n<\/p>\n<p>If any of this sounds familiar, it is why we built <a href=\"http:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a>. It gives you one hosted gateway for managing models across providers, private infrastructure, and your own hardware.<\/p>\n<\/p>\n<p><strong>One URL for every model<\/strong><\/p>\n<p>Getting started is simple. Point your SDK at <a href=\"https:\/\/gateway.ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/gateway.ngrok.ai<\/a> with your <a href=\"https:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a> access key, and begin routing requests to public providers, custom endpoints, and models you run yourself.<\/p>\n<\/p>\n<p>It works with all popular SDKs like OpenAI, Anthropic, and Vercel AI, so you can easily swap models and providers without rebuilding your entire application.<\/p>\n<\/p>\n<p><strong>Aside from being a hosted AI Gateway, we enable you to:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Connect self-hosted models privately<\/strong><br \/>Route to a model running on your laptop, local GPU, or private network without complex networking, opening inbound ports or dealing with IPs.<\/p>\n<\/li>\n<li>\n<p><strong>Build fallbacks into the gateway<\/strong><br \/>Define a list of models and when a model or key fails, we will make another attempt or route the request to a healthy alternative.<\/p>\n<\/li>\n<li>\n<p><strong>Use credits to make requests<\/strong><br \/>Leverage <a href=\"https:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a> to make requests against OpenAI, Anthropic, <a href=\"https:\/\/z.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">z.ai<\/a> and more without having to create your own accounts with each provider.<\/p>\n<\/li>\n<li>\n<p><strong>Use your existing provider keys<\/strong><br \/>Don&#8217;t want to use our accounts? No worries, you can bring your own OpenAI, Anthropic, or custom provider keys that you already.<\/p>\n<\/li>\n<li>\n<p><strong>Control access by application or developer<\/strong><br \/>Create separate access keys and decide which providers and models each one is allowed to call, and which keys each model should use, whether ours or yours.<\/p>\n<\/li>\n<li>\n<p><strong>See usage across your entire model stack<\/strong><br \/>Track tokens, latency, errors, models, providers, and estimated cost in one place instead of piecing together several provider dashboards.<\/p>\n<\/li>\n<li>\n<p><strong>Manage everything through the dashboard or API<\/strong><br \/>Set up gateways, keys, providers, access rules, and routing from your own tooling using our API or directly in the <a href=\"http:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a> dashboard.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Who we&#8217;re building this for<\/strong><\/p>\n<p><a href=\"http:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a> is for developers and platform teams that want the freedom to use the right model for each job without worrying about how to scale and maintain an ai gateway themselves and or taking on another infrastructure project every time their model strategy changes.<\/p>\n<p><strong>We&#8217;re especially interested in hearing:<\/strong><\/p>\n<ul>\n<li>\n<p>How are you routing between models today?<\/p>\n<\/li>\n<li>\n<p>Are you running any models on your own infrastructure?<\/p>\n<\/li>\n<li>\n<p>Which gateway features would make your AI stack easier to manage?<\/p>\n<\/li>\n<\/ul>\n<p>We&#8217;ll be here throughout the launch to answer questions and hear what you think. 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>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\/@nijikokun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nijikokun<\/a>&nbsp;How do you see teams deciding when to route a request to a hosted model versus a self-hosted one, especially as cost, privacy, and latency tradeoffs change?<\/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>What strikes me most is the self-hosted piece. I&#8217;ve run models on my own infrastructure before and connecting them through it&#8217;s network instead of exposing a public endpoint solves a real security headache I&#8217;ve dealt with firsthand. That alone makes this worth testing on my end.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@itohan_blessing_eigbadon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itohan_blessing_eigbadon<\/a>&nbsp;Thanks for the comment! We have people interested in exactly what you&#8217;re saying, production apps needing private connectivity to self-hosted inference, but we&#8217;re also seeing a newer trend of people wanting that same simple infra for connecting their <em>coding agents to self-hosted models<\/em>, which is pretty dope. It&#8217;s kinda the panacea if you care about software that&#8217;s open, flexible, and &#8220;ownable.&#8221;<\/p>\n<\/p>\n<p>We created a guide for Cursor, OpenCode, Pi, and Zed: <a href=\"https:\/\/ngrok.com\/docs\/ai-gateway\/guides\/use-with-coding-agents\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/ngrok.com\/docs\/ai-gateway\/guides\/use-with-coding-agents<\/a><\/p>\n<p>Would love thoughts on what else we should cover!<\/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\/@itohan_blessing_eigbadon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@itohan_blessing_eigbadon<\/a>&nbsp;<\/p>\n<p>a big factor that drove us (ngrok) to decide to build an AI Gateway is that we thought that by provided a hosted offering paired with our already widely adopted and battle tested tunnels\/endpoints, we could give folks an easy way to securely connect any compute resources they have hosting local models, whether that&#8217;s a bunch of small machines running on your desk like the mac mini, or other cloud based hosted compute environments. we&#8217;re still hard at work making the existing features better \/ easier to use, and and adding new ones each week \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/products\/ngrok\" target=\"_blank\" rel=\"noopener\">@ngrok<\/a> is so back.<\/p>\n<\/p>\n<p>If you&#8217;ve ever needed to share a local app or demo something live, there&#8217;s one thing that strikes about this product. Developers <em>love it<\/em>. I mean <em>millions of<\/em> developers &#8211; look at this <a href=\"https:\/\/ngrok.com\/love?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">wall of love<\/a> &#8211; including people at <a href=\"https:\/\/www.producthunt.com\/products\/github\" target=\"_blank\" rel=\"noopener\">@GitHub<\/a>, <a href=\"https:\/\/www.producthunt.com\/products\/openai\" target=\"_blank\" rel=\"noopener\">@OpenAI<\/a>, <a href=\"https:\/\/www.producthunt.com\/products\/vercel\" target=\"_blank\" rel=\"noopener\">@Vercel<\/a>, and much, much more.<\/p>\n<\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@cassidoo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cassidoo<\/a> put it simply: &#8220;ngrok saves me so much time during development. What a tool.&#8221;<\/p>\n<\/p>\n<p>pumped to see them back [on Product&nbsp;Hunt]. S\/O ?makers, already looking for your future launches.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cassidoo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cassidoo<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp;ngrok has been core in my dev setup for a very long time to test real world app scenarios during development. one gateway for every hosted model sounds interesting. <\/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>Managing multiple AI providers is a real challenge, and this looks like a clean way to solve it. Wishing you a successful launch! \ud83d\ude80<\/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\/@1mirul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@1mirul<\/a>&nbsp;Thanks much for your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What I appreciate is that this isn&#8217;t just about hosted providers. I&#8217;ve worked on internal tools where the model had to stay inside our network for compliance reasons and every gateway I tried assumed everything sat behind a public API.<\/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\/@morgan_nabors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@morgan_nabors<\/a>&nbsp;We fully expect some kind of AI compliance reckoning, especially in Europe, as people start to hear more about the open models and neoclouds like RunPod or Lambda AI get more appealing. We hope to be right there with folks as they search for simple ways to try those out without changing how their apps behave!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 like the idea of simplifying multi-model AI infrastructure. The unified gateway and failover features look incredibly practical. Congrats on the launch! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@monir_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monir_<\/a>&nbsp;Thanks very much! A lot of love here for the failover features, which is really useful feedback for us as we think about what to build next.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been looking for a better way to experiment across OpenAI and Anthropic without constantly rewriting integrations. This feels like it could make testing significantly faster.<\/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\/@sitara_ismail\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sitara_ismail<\/a>&nbsp;Totally, even a &#8220;simple&#8221; switch like Open AI&lt;&gt;Anthropic also means using different SDKs and dealing with different API shapes, and none of that&#8217;s trivial to just <em>make happen<\/em>. It&#8217;s all cognitive load and more code. There&#8217;s also a <a href=\"https:\/\/app.ngrok.ai\/playground\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">playground in the dashboard<\/a> that would let you do some freeform testing without having to edit your app at all until you&#8217;re ready.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sitara_ismail\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sitara_ismail<\/a>&nbsp;Thanks for the support! Would love to hear what your testing for and how we could layer in some new features to make that dead simple.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Hello Niji, congratulations on the launch. I like that you are making it easier to switch between different AI providers without rewriting everything. That sounds like it could save me a lot of effort as projcts grow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>thanks for the support, let&#8217;s spread the word on LinkedIn &#8211; <a href=\"https:\/\/www.linkedin.com\/feed\/?shareActive=true&amp;url=https%3A%2F%2Fwww.producthunt.com%2Fproducts%2Fngrok-ai-gateway%3Futm_source%3Dlinkedin%26utm_medium%3Dsocial&amp;shareUrl=https%3A%2F%2Fwww.producthunt.com%2Fproducts%2Fngrok-ai-gateway%3Futm_source%3Dlinkedin%26utm_medium%3Dsocial\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repost this<\/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>How does ngrok AI Gateway help developers handle these issues compared to building their own layer? congrats team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">appreciate your continuous support, you&#8217;re the \ud83d\udc10<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;<\/p>\n<\/p>\n<p>as with most software products, if you know how to write software and have the budget to host\/distribute it, you can totally roll your own solution if your needs are simple.<\/p>\n<\/p>\n<p>similar to a traditional API gateway, if all you need to do is proxy requests, that&#8217;s really easy to build your own solution. once you start getting into solving for things like rate limiting, observability &amp; reporting, request manipulation, authentication, authorization, and role-based permissions, caching, building all these things in-house compared to picking an off the shelf solution is a decision that most teams have to decide if they&#8217;d rather pay the cost of a product or the cost of maintaining their own solution. we do the same thing internally with other tools. sometimes we write our own, other times we pay for a solution. <\/p>\n<\/p>\n<p>our goal with <a href=\"https:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a> is to provide one unified interface for any kind of LLM inference need and make it super easy to use while offering the depth to solve as many of the pain\/friction points as possible. we hope that the benefits that people get from using it and the problems they don&#8217;t have to think about solving themselves make it worth the cost to them. we&#8217;re always on the lookout though for ways to keep improving it each week \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Managing different AI providers can get messy pretty quickly. A single endpoint with build in routing makes a lot of sense. <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>what should they build\/improve\/fix from your perspective? cc ?makers<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 private models can stay off the public internet while still working alongside hosted ones. That&#8217;s a thoughtful approach. <\/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\/@kate_sleeman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kate_sleeman<\/a> Yup yup. Just knowing that no one random can access a self-hosted model on a URL like <strong><a href=\"https:\/\/my-precious-model.internal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/my-precious-model.internal<\/a><\/strong> is a huge W, and then you <em>still<\/em> get to configure access a bunch of different ways.<\/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\/@kate_sleeman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kate_sleeman<\/a>&nbsp;as a bonus, you can monitor usage and requests of a self-hosted model using the same ui as the hosted alternative, providing a one-stop shop for all your models and inference!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">great te see infrastructure tools that make AI deployment more reliable instead of more complicated.<\/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\/@tanjum\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tanjum<\/a>&nbsp;Thanks for the support! If there&#8217;s something you&#8217;d like us to build into this, let us know!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 learned that infrastructure decisions matter more as products scale. This looks designed with long-term maintainability in mind.<\/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>I like that security seems to be part of the design instead of an afterthought. Keeping private models protected while using public ones is a smart balance. <\/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\/@maali_baali\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maali_baali<\/a>&nbsp;Exactly, we see a ton of people still very much wanting to stick with the public providers because it&#8217;s simple, (mostly) dependable, and relatively affordable, but don&#8217;t want to commit themselves to architectures that they&#8217;d have to rip and replace completely if they eventually wanted to self-host everything on prem or in a neocloud. Future-proofing!<\/p>\n<p>Thanks for your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 build in fallback feature sounds reassuring. It&#8217;s alwaus nice to have something that keeps things running if one provider has issues. \ud83d\udc4c<\/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\/@aarav_pittman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aarav_pittman<\/a>&nbsp;And given how yellow-and-red the status pages look like for these providers (and hasn&#8217;t gotten better over time), this is a problem that isn&#8217;t going away.<\/p>\n<\/p>\n<p>Appreciate your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 support for both cloud and self hosted models really caught my attention. That flexibilty feels valuable as projets grow. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>lfg! if you get a chance to give <a href=\"http:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a> a spin, make sure to add your review here: <a href=\"http:\/\/producthunt.com\/products\/ngrok-ai-gateway\/reviews\/new\" target=\"_blank\" rel=\"noopener\">producthunt.com\/products\/ngrok-ai-gateway\/reviews\/new<\/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 can definitely see this being for teams experimenting with different models. Have one plaace to manage everything sounds much easier. \ud83d\udc4d<\/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\/@zeeshan_aslam2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeeshan_aslam2<\/a>&nbsp;Yeah, you can definitely experiment by changing the `model` key in your app where you&#8217;re calling the inference providers, checking the output, and seeing what <em>feels right<\/em>.<\/p>\n<\/p>\n<p>We also have a playground where you can send the same prompt to multiple models and see the differences right away (plus status on TTFT and overall speed!): <a href=\"https:\/\/app.ngrok.ai\/playground\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/app.ngrok.ai\/playground<\/a><\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/89371640-5eb4-49f5-ab90-220a858df41c.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>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 that you can start with your own provider keys and still get a single place to track usage, latency, and costs. Jumping between multiple dashboards gets old fast, so having that consolidated is a practical improvement.<\/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\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Yep yep, you have complete control over whether you bring your existing providers keys (BYOK) or use ngrok-managed ones. Either way, it all ends up on the same request\/usage logs.<\/p>\n<\/p>\n<p>We actually <em>just<\/em> added more detailed breakdowns of usage data we were already collecting, so now it&#8217;s really easy to see things like the average cost per request or per-provider failure rate. This is me just playing around with a few requests this morning (and having forgotten to bring my local Ollama model online before sending the request):<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b2180da9-72bb-4e1e-a1a9-45efb09a6bfd.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How easy is it to switch traffic between providers if one model has highest latency or goes offline? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>good q. <a href=\"https:\/\/www.producthunt.com\/products\/ngrok-ai-gateway\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"ngrok-ai-gateway\" target=\"_blank\" rel=\"noopener\">@ngrok AI Gateway<\/a> is designed for automatic failover. if one provider\/model fails, times out, returns an HTTP error, or has a connection issue, the gateway automatically tries the next candidate instead of requiring your app to switch providers itself. <\/p>\n<\/p>\n<p>read the docs for more details on how it works: <a href=\"https:\/\/ngrok.com\/docs\/ai-gateway\/how-it-works?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.com\/docs\/ai-gateway\/how-it-works<\/a><\/p>\n<\/p>\n<p>hope it clarifies!<\/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\/@anthony_adams_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anthony_adams_<\/a>&nbsp;Worth separating the two failures in your question, because failover handles one and not the other. A provider returning an error or timing out is easy, you retry elsewhere. A provider that is up but degraded, slower and quietly worse, never trips a failover and is the one that actually costs you. That needs a quality signal, not a health check, and almost nobody has one because it means scoring output continuously rather than pinging an endpoint. If you are picking a gateway, that is the question I would ask: what does it do when the model is technically fine and materially worse?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@anthony_adams_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anthony_adams_<\/a>&nbsp;Thanks for the question! Well, I think it&#8217;s pretty darn easy. <a href=\"https:\/\/www.producthunt.com\/@fmerian\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a> got the gist of it, but here&#8217;s a bit more specificity. In your app (I&#8217;ll use a JS example), you already specify a model, but now you can add a models key to list the order in which you&#8217;d like to fall back to other providers and models.<\/p>\n<\/p>\n<pre><code>const completion = await client.chat.completions.create({\n\t\/\/ Route to your first choice provider+model first\n\tmodel: \"claude-fable-5\",\n\t\/\/ Fallback to other providers and models\n\tmodels: [\"gpt-5.6-luna\", \"claude-opus-5\"],\n\t...\n});<\/code><\/pre>\n<\/p>\n<p>In this case, the AI Gateway will try Fable 5 first, then retry the same request with Luna if Fable isn&#8217;t working (kinda like right now, with Anthropic&#8217;s API on the struggle bus). Here&#8217;s the doc: <a href=\"https:\/\/ngrok.com\/docs\/ai-gateway\/guides\/configure-fallback-models\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/ngrok.com\/docs\/ai-gateway\/guides\/configure-fallback-models<\/a><\/p>\n<\/p>\n<p>You can also fail over between providers or models if your <em>key<\/em> stop working, like if you run out of precious, precious credit with one: <a href=\"https:\/\/ngrok.com\/docs\/ai-gateway\/guides\/key-selection-failover\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/ngrok.com\/docs\/ai-gateway\/guides\/key-selection-failover<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve had so many requests to build this exact solution in house and rejections keep coming back. Most teams can&#8217;t afford to build\/manage these things. Great job solving this problem!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yazan_barakat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yazan_barakat<\/a><\/p>\n<\/p>\n<p>haha yep, it&#8217;s a surprising amount of work for something that seems simple on the surface. we&#8217;re hoping that users feel that using it is saving them a meaningful amount of time and\/or avoided friction compared to going without it or building their own in-house solution \ud83d\ude42&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yazan_barakat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yazan_barakat<\/a>&nbsp;Oh, we&#8217;d <em>love<\/em> to chat with you about what those requests look like and why they haven&#8217;t stuck. We&#8217;re here if you&#8217;re interested!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 fallback is the feature i would think hardest about, because for anything that produces text a fallback is a silent quality change.<\/p>\n<\/p>\n<p>if a code call falls back you find out, something breaks or the tests go red. if a customer facing reply falls back to a weaker model, nothing breaks. the reply still reads fine, it is just slightly worse, and you find out from a complaint two days later while looking at the wrong model in your logs. the gateway is the only component that knows which model actually answered, so i would want that on the response itself rather than only in a dashboard.<\/p>\n<\/p>\n<p>the other one is retries. a fallback triggered by a timeout is not the same as one triggered by an error, because on a timeout the first call may well have completed on the provider side. harmless for a plain completion, not harmless once a tool call is attached to it, which is most agent traffic now. does the gateway treat timeouts as retryable by default, and is there a way to mark a request as do not retry?<\/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\/@jernej_jan_kocica\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jernej_jan_kocica<\/a>&nbsp;This is <em>really great<\/em> feedback.<\/p>\n<\/p>\n<p>For your first point\u2014I&#8217;ve always found that responses from the APIs of public providers like OpenAI and Anthropic contain some kind of `model` key that you could build logic around in your apps. It&#8217;ll get flagged in the dashboard, just like you asked for, but you could build some error handling\/logs around what happens when that fallback model is the one that responds. We&#8217;ll dig into this one some more and see if we can add some headers at the gateway your app could also consume.<\/p>\n<\/p>\n<p>On your second question, timeouts only trigger retries if you&#8217;ve specified fallback models though the `model` key. If there isn&#8217;t one, you just get an error, which is kind of akin to marking it as do not retry. This does feel like something we should look into implementing as a very clear attribute of any provider 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Many companies struggle with switching models during outages. The built-in fallbacks seem useful, especially if users can define custom failover rules.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@khaildnaseem\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@khaildnaseem<\/a>&nbsp;A big +1 on custom failover rules! Seems like that&#8217;s the big undercurrent of what people are looking for here. We had a version of this before, but it was too complex and we wanted to look at it again from first principles. I&#8217;ll pass this to the team&#8230; any other thoughts on how we could design these custom rules to be most useful to you?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@khaildnaseem\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@khaildnaseem<\/a>&nbsp;thanks for the support! if you get a chance to give <a href=\"http:\/\/ngrok.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ngrok.ai<\/a> a spin, make sure to add your review here: <a href=\"http:\/\/producthunt.com\/products\/ngrok-ai-gateway\/reviews\/new\" target=\"_blank\" rel=\"noopener\">producthunt.com\/products\/ngrok-ai-gateway\/reviews\/new<\/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&#8217;m curious how smooth the setup is for someone already using multiple AI providers. Is migration pretty straightforward? <\/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\/@maklyen_may\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maklyen_may<\/a>&nbsp;we worked hard to make the setup as seamless as possible. we support the inference apis from anthropic and openai, so it should be a drop in replacement for most sdks.<\/p>\n<\/p>\n<p>here&#8217;s our docs page on how to set that up: <a href=\"https:\/\/ngrok.com\/docs\/ai-gateway\/overview#quick-example\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/ngrok.com\/docs\/ai-gateway\/overview#quick-example<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The option to connect self-hosted models without exposing them to the public internet caught my attention. Have you seen more teams using their own models recently, or are most customers still relying mainly on hosted providers?<\/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\/@sagar_deore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sagar_deore<\/a>&nbsp;good question, honestly a mix of both. However, I have definitely seen a rise in hosted models more as of late with all of the local advancements that are happening. At the least there is always interest in experimentation as new models come 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sagar_deore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sagar_deore<\/a>&nbsp;<\/p>\n<\/p>\n<p>we&#8217;ve definitely seen an interest in local models for a variety of reasons. some folks are looking for cost savings when they don&#8217;t need the bleeding edge performance of frontier models, others have different concerns such as control over the lifecycle of sensitive data. our goal is to make a single unified place to let users easily access whatever kind of inference they need to, and take as much friction and pain out of the experience of working with LLMs as possible.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Having one gate way for both hosted and self hosted models sounds really useful. It feels like it could simplify a lot of infrastructure work.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>spot on. &#8220;simplicity&#8221; is a recurring adjective when it comes to describing <a href=\"https:\/\/www.producthunt.com\/products\/ngrok\" target=\"_blank\" rel=\"noopener\">@ngrok<\/a>. &#8220;easy&#8221;, &#8220;amazing&#8221;, &#8220;awesome&#8221; also work. see their <a href=\"https:\/\/ngrok.com\/love?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">wall of love<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Yeah, this feels genuinely useful. One gateway for every model saves a lot of unnecessary pain.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/43G6HRJWDP5SWK\" class=\"app-title\">Cloudflare Wallets<\/a><\/p>\n<div class=\"one-liner\">the programmable wallet for the agentic Internet<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">262<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Cloudflare Wallets \u4e3aAI\u667a\u80fd\u4f53\u6253\u9020\u53ef\u7f16\u7a0b\u7684\u652f\u4ed8\u4e0e\u94b1\u5305\u5c42\uff0c\u8ba9\u5b83\u4eec\u80fd\u5728\u65e0\u4eba\u503c\u5b88\u573a\u666f\u4e0b\u81ea\u4e3b\u53d1\u73b0\u3001\u8c03\u7528\u5e76\u652f\u4ed8API\u3001\u5185\u5bb9\u53ca\u6570\u5b57\u670d\u52a1\uff0c\u540c\u65f6\u8d4b\u4e88\u5f00\u53d1\u8005\u7cbe\u7ec6\u7684\u6d88\u8d39\u63a7\u5236\u548c\u865a\u62df\u8d26\u6237\u7ba1\u7406\u80fd\u529b\uff0c\u89e3\u51b3\u201c\u673a\u5668\u5982\u4f55\u5b89\u5168\u81ea\u4e3b\u4ed8\u94b1\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\/d7ddc586-b54c-42ba-a692-f99d9f5167d4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7bb717ef-1e59-4187-a791-d4476695a735.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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u652f\u4ed8\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u94b1\u5305<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7f16\u7a0b\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">\u865a\u62df\u94b1\u5305<\/span><br \/>\n            <span class=\"tag\">\u652f\u51fa\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u673a\u5668\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">API\u4ea4\u6613<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u4e92\u8054\u7f51<\/span><br \/>\n            <span class=\"tag\">Web3\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">Cloudflare\u751f\u6001<\/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\u6574\u4f53\u6301\u6b63\u9762\u6001\u5ea6\uff0c\u6709\u4eba\u6025\u4e8e\u62a2\u6ce8\u7528\u6237\u540d\uff0c\u4e5f\u6709\u8001\u7528\u6237\u70b9\u8d5eCDN\u901f\u5ea6\u4e0e\u4f53\u9a8c\u3002\u4f46\u8bc4\u8bba\u6df1\u5ea6\u4e0d\u8db3\uff0c\u4e3b\u8981\u95ee\u9898\u6765\u81ea\u4e00\u4e2a\u9ad8\u8d5e\u63d0\u95ee\uff1a\u4e3a\u4f55Cloudflare\u9009\u62e9\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u6784\u5efa\uff0c\u6697\u793a\u5bf9\u4ea7\u54c1\u5b9a\u4f4d\u4e0e\u573a\u666f\u9002\u914d\u5b58\u5728\u7591\u95ee\u3002\u4e00\u6761\u5173\u4e8e\u201c\u65e0\u9700\u5ba1\u6279\u652f\u4ed8\u201d\u7684\u8bc4\u8bba\u83b7\u56de\u5e16\u8c03\u4f83\u201cYoloWallet\u201d\uff0c\u53cd\u6620\u51fa\u90e8\u5206\u7528\u6237\u5bf9\u5b89\u5168\u6027\u7684\u9690\u5fe7\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                \u8868\u9762\u4e0a\uff0cCloudflare Wallets\u662f\u7ed9AI Agent\u53d1\u201c\u96f6\u82b1\u94b1\u201d\u7684\u5de5\u5177\uff0c\u4f46\u672c\u8d28\u4e0a\u8fd9\u662fCloudflare\u5bf9\u201c\u4ee3\u7406\u4e92\u8054\u7f51\u201d\u57fa\u7840\u8bbe\u65bd\u7684\u62bc\u6ce8\u2014\u2014\u5f53AI\u4e0d\u518d\u626e\u6f14\u52a9\u624b\u800c\u662f\u72ec\u7acb\u51b3\u7b56\u8005\u65f6\uff0c\u652f\u4ed8\u6743\u9650\u5c06\u6210\u4e3a\u6bd4API\u5bc6\u94a5\u66f4\u786c\u7684\u8d44\u6e90\u95e8\u69db\u3002\u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u4e0d\u505a\u5782\u76f4\u5e94\u7528\uff0c\u800c\u662f\u590d\u7528\u81ea\u8eab\u8fb9\u7f18\u7f51\u7edc\u3001\u5b89\u5168\u4e0e\u8eab\u4efd\u4f53\u7cfb\uff0c\u628a\u94b1\u5305\u53d8\u6210\u4e00\u5957\u53ef\u5d4c\u5165\u4efb\u610fAgent\u6846\u67b6\u7684\u201c\u6743\u9650+\u7ed3\u7b97\u201d\u5c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u4e2a\u4ea7\u54c1\u9762\u4e34\u4e09\u4e2a\u73b0\u5b9e\u6311\u6218\u3002\u5176\u4e00\uff0cAI Agent\u7684\u652f\u4ed8\u573a\u666f\u4ecd\u662f\u4f2a\u9700\u6c42\uff1a\u5f53\u524d\u5927\u591a\u6570\u667a\u80fd\u4f53\u53ea\u662f\u8c03\u7528\u516c\u5f00API\u6216\u6267\u884c\u6709\u9650\u5de5\u5177\uff0c\u771f\u6b63\u7684\u201c\u81ea\u4e3b\u8bae\u4ef7\u8d2d\u4e70\u201d\u5c1a\u672a\u5f62\u6210\u89c4\u6a21\uff0c\u94b1\u5305\u5728\u89e3\u51b3\u672a\u6765\u95ee\u9898\u800c\u975e\u5f53\u4e0b\u75db\u70b9\u3002\u5176\u4e8c\uff0c\u5b89\u5168\u6a21\u578b\u7684\u77db\u76fe\u88ab\u8bc4\u8bba\u533a\u90a3\u53e5\u201cYoloWallet\u201d\u4e00\u9488\u89c1\u8840\u5730\u6233\u7a7f\u2014\u2014\u65e2\u8981\u8ba9Agent\u514d\u5ba1\u6279\u81ea\u4e3b\u652f\u4ed8\uff0c\u53c8\u8981\u9632\u6b62\u6076\u610f\u8c03\u7528\u6216\u9884\u7b97\u5931\u63a7\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5bf9\u4fe1\u4efb\u8fb9\u754c\u7684\u91cd\u65b0\u5212\u5b9a\u3002Cloudflare\u7ed9\u7684\u7b54\u6848\u662f\u865a\u62df\u94b1\u5305\u548c\u652f\u51fa\u4e0a\u9650\uff0c\u4f46\u8fd9\u53ea\u80fd\u7f13\u89e3\u201c\u8d85\u652f\u201d\uff0c\u65e0\u6cd5\u89e3\u51b3\u201c\u88ab\u8bf1\u5bfc\u652f\u4ed8\u201d\u6216\u201c\u6076\u610f\u5408\u7ea6\u201d\u7b49\u66f4\u9ad8\u7ea7\u5a01\u80c1\u3002\u5176\u4e09\uff0c\u4ed8\u8d39\u65b9\u4e0e\u53d7\u76ca\u65b9\u7684\u9519\u4f4d\uff1a\u5f00\u53d1\u8005\u662f\u4e70\u5355\u4eba\uff0c\u4f46\u4ef7\u503c\u611f\u77e5\u4e0d\u76f4\u63a5\u2014\u2014\u5982\u679cAgent\u8dd1\u5728\u522b\u5bb6\u7684\u7f16\u6392\u6846\u67b6\u91cc\uff0c\u4e3a\u4ec0\u4e48\u975e\u8981\u7528Cloudflare\u7684\u94b1\u5305\uff1f\u9664\u975e\u5b83\u6df1\u5ea6\u7ed1\u5b9aWorkers\u3001AI Gateway\u7b49\u81ea\u5bb6\u4ea7\u54c1\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u6ca6\u4e3a\u201c\u6709\u603b\u6bd4\u6ca1\u6709\u597d\u201d\u7684\u5468\u8fb9\u5c0f\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u6740\u624b\u950f\u5728\u4e8e\u6570\u636e\u5408\u89c4\u4e0e\u5ba1\u8ba1\uff1a\u5f53AI Agent\u5f00\u59cb\u66ff\u4f01\u4e1a\u82b1\u94b1\uff0cCFW\u63d0\u4f9b\u7684\u53ef\u7f16\u7a0b\u89c4\u5219\u548c\u4e0d\u53ef\u7be1\u6539\u7684\u4ea4\u6613\u65e5\u5fd7\uff0c\u6070\u597d\u5207\u4e2d\u4e86\u91d1\u878d\u4e0e\u5408\u89c4\u90e8\u95e8\u5bf9\u201c\u673a\u5668\u884c\u4e3a\u53ef\u8ffd\u8d23\u201d\u7684\u521a\u9700\u3002\u5982\u679cCloudflare\u80fd\u628a\u94b1\u5305\u548c\u5176\u96f6\u4fe1\u4efb\u7f51\u7edc\uff08Zero Trust\uff09\u6253\u901a\uff0c\u8ba9\u6bcf\u7b14Agent\u4ea4\u6613\u9644\u5e26\u5b8c\u6574\u7684\u8eab\u4efd\u4e0e\u98ce\u9669\u4e0a\u4e0b\u6587\uff0c\u90a3\u4e48\u5b83\u5c31\u4e0d\u53ea\u662f\u4e00\u5f20PayPal for AI\uff0c\u800c\u662fAI\u65f6\u4ee3\u7684\u7ed3\u7b97\u4e0e\u6cbb\u7406\u4e2d\u67a2\u3002\u4f46\u76ee\u524d\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u4e2a\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u6c99\u76d2\uff0c\u7b49\u5f85\u4e00\u573a\u771f\u6b63\u7684\u5927\u706b\u6765\u8bc1\u660e\u81ea\u5df1\u7684\u706b\u9669\u4ef7\u503c\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Cloudflare Wallets<\/span>\n                <\/div>\n<div class=\"comment-content\">Cloudflare Wallets introduces a programmable wallet layer for the agentic Internet. Built for the future where AI agents can discover, use, and pay for services autonomously, it gives agents a secure way to transact with APIs, content, and digital services. With virtual wallets, spending controls, and machine-friendly payments, Cloudflare is building the financial infrastructure for the next generation of AI applications.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What problem did you see most often in websites or apps that made you think Cloudflare had to be built this 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I am excited about this! Already claimed my username<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been using Cloudflare for years and their CDN is incredibly fast, really impressed by how seamless the setup process is 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, no need to approve payments.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jiteshghanchi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jiteshghanchi<\/a>&nbsp;YoloWallet(TM) \ud83d\ude2c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/RVB5JTSFPUOY7R\" class=\"app-title\">Kiro Crew<\/a><\/p>\n<div class=\"one-liner\">Open source agentic development workspace<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">184<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kiro Crew\u662f\u4e00\u4e2a\u5f00\u6e90\u3001\u53ef\u672c\u5730\u6216\u8fdc\u7a0b\u90e8\u7f72\u7684\u6301\u4e45\u5316\u667a\u80fd\u4f53\u5f00\u53d1\u5de5\u4f5c\u53f0\uff0c\u65e8\u5728\u89e3\u51b3\u5f00\u53d1\u8005\u6bcf\u6b21\u5f00\u542f\u65b0\u4f1a\u8bdd\u90fd\u8981\u201c\u51b7\u542f\u52a8\u201d\u3001\u4e22\u5931\u4e0a\u4e0b\u6587\u4e0e\u7ecf\u9a8c\u7684\u95ee\u9898\uff0c\u8ba9AI\u4ee3\u7406\u56e2\u961f\u8de8\u4f1a\u8bdd\u8bb0\u5fc6\u5e76\u534f\u540c\u5b8c\u6210\u91cd\u590d\u6027\u5f00\u53d1\u4efb\u52a1\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\/2d7e448e-5659-4b2a-90e0-785746c2d558.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=iOIS1OZLkI0&#038;feature=youtu.be\"><source src=\"https:\/\/www.youtube.com\/watch?v=iOIS1OZLkI0&#038;feature=youtu.be\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8f97bbc7-e78e-4bed-bf0b-adf6d1203975.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/88885158-3a0b-4936-b19e-93885fed26a8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f4d7aec6-0bf2-48c7-ad2c-b27d69539a1f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/123f26a4-e018-461f-8600-1e265bb3cb11.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/177dfe18-97a0-4128-99a9-cabae658255a.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\">GitHub<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u5de5\u4f5c\u53f0<\/span><br \/>\n            <span class=\"tag\">\u6301\u4e45\u5316\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u56e2\u961f<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5de5\u5177\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u4e0a\u4e0b\u6587\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u8fdc\u7a0b\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>\u6838\u5fc3\u53cd\u9988\u96c6\u4e2d\u5728\u201c\u89c4\u683c\u9a71\u52a8\u201d\u7684\u6267\u884c\u903b\u8f91\u4e0a\u3002\u7528\u6237\u5c16\u9510\u63d0\u95ee\uff1a\u5f53\u5b9e\u9645\u5b9e\u73b0\u4e0e\u521d\u59cb\u89c4\u683c\u51b2\u7a81\u65f6\uff0cKiro Crew\u662f\u4e3b\u52a8\u6682\u505c\u5e76\u66b4\u9732\u77db\u76fe\uff0c\u8fd8\u662f\u9ed8\u9ed8\u504f\u5411\u4e00\u65b9\uff1f\u8ba4\u4e3a\u8be5\u884c\u4e3a\u51b3\u5b9a\u4e86\u4ea7\u54c1\u6210\u8d25\uff0c\u4e14\u591a\u6570\u540c\u7c7b\u5de5\u5177\u5728\u6b64\u5904\u201c\u9760\u610f\u5916\u51b3\u5b9a\u201d\u3002\u53e6\u6709\u7528\u6237\u8868\u8fbe\u957f\u671f\u4f7f\u7528\u671f\u5f85\uff0c\u4f46\u7f3a\u4e4f\u5177\u4f53\u529f\u80fd\u8bc4\u4ef7\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                Kiro Crew\u7684\u5356\u70b9\u201c\u6301\u4e45\u5316\u8bb0\u5fc6\u201d\u672c\u8d28\u4e0a\u662f\u7ed9AI\u5f00\u53d1\u4ee3\u7406\u88c5\u4e86\u957f\u671f\u7f13\u5b58\uff0c\u8fd9\u786e\u5b9e\u7f13\u89e3\u4e86\u201c\u6bcf\u6b21\u4ece\u96f6\u89e3\u91ca\u9879\u76ee\u80cc\u666f\u201d\u7684\u75db\u70b9\uff0c\u4f46\u5e76\u672a\u89e6\u53ca\u66f4\u6df1\u7684\u8981\u5bb3\u2014\u2014\u4ee3\u7406\u5728\u957f\u94fe\u8def\u4efb\u52a1\u4e2d\u7684\u201c\u81ea\u6211\u7ea0\u9519\u201d\u80fd\u529b\u3002\u90a3\u6761\u9ad8\u8d5e\u8bc4\u8bba\u4e00\u9488\u89c1\u8840\uff1a\u5f53\u4ee3\u7801\u73b0\u5b9e\u4e0e\u9884\u8bbe\u89c4\u683c\u8131\u8282\u65f6\uff0c\u7cfb\u7edf\u662f\u9009\u62e9\u201c\u6c89\u9ed8\u5730\u5c06\u9519\u5c31\u9519\u201d\u8fd8\u662f\u201c\u4e3b\u52a8\u53eb\u505c\u5e76\u62a5\u544a\u201d\uff1f\u8fd9\u662f\u8bc4\u5224\u4e00\u4e2a\u4ee3\u7406\u5de5\u4f5c\u53f0\u662f\u5426\u771f\u6b63\u201c\u667a\u80fd\u201d\u7684\u5206\u6c34\u5cad\u3002\u5982\u679cKiro Crew\u53ea\u662f\u628a\u4e0a\u4e0b\u6587\u5b58\u5f97\u66f4\u4e45\uff0c\u5374\u5728\u6bcf\u4e2a\u51b3\u7b56\u8282\u70b9\u4e0a\u4f9d\u7136\u76f2\u4ece\u7528\u6237\u6700\u521d\u7684\u6a21\u7cca\u6307\u4ee4\uff0c\u90a3\u4e48\u5b83\u5145\u5176\u91cf\u662f\u4e00\u4e2a\u201c\u8bb0\u5fc6\u66f4\u597d\u7684\u811a\u672c\u6267\u884c\u5668\u201d\uff0c\u800c\u975e\u201c\u534f\u4f5c\u4f19\u4f34\u201d\u3002\u4eceAmazon\u5185\u90e8\u9879\u76ee\u523039000\u540d\u5f00\u53d1\u8005\u7684\u793e\u533a\u589e\u957f\uff0c\u8bf4\u660e\u5de5\u7a0b\u6267\u884c\u529b\u548c\u793e\u533a\u8fd0\u8425\u5f88\u5f3a\uff0c\u4f46\u793e\u533a\u89c4\u6a21\u4e0d\u7b49\u4e8e\u4ea7\u54c1\u6df1\u5ea6\u2014\u2014\u5f00\u53d1\u8005\u613f\u610f\u5c1d\u9c9c\uff0c\u672a\u5fc5\u613f\u610f\u957f\u671f\u4f9d\u8d56\u3002\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff1a\u5f53\u4ee3\u7406\u53d1\u73b0\u7528\u6237\u7684\u201c\u89c4\u683c\u201d\u672c\u8eab\u5c31\u662f\u9519\u7684\u65f6\uff0cKiro Crew\u80fd\u5426\u6709\u52c7\u6c14\u8bf4\u201c\u4e0d\u201d\uff0c\u5e76\u63d0\u4f9b\u4fee\u6b63\u8def\u5f84\u3002\u8fd9\u4e00\u884c\u4e3a\u5982\u679c\u8bbe\u8ba1\u5f97\u5f53\uff0c\u5b83\u5c31\u4e0d\u518d\u662f\u5de5\u5177\uff0c\u800c\u662f\u6539\u53d8\u5f00\u53d1\u8303\u5f0f\u7684\u57fa\u7840\u8bbe\u65bd\uff1b\u5982\u679c\u8bbe\u8ba1\u7f3a\u5931\uff0c\u5b83\u53ea\u662f\u53c8\u4e00\u4e2a\u201cAI\u5957\u58f3IDE\u201d\uff0c\u6df9\u6ca1\u5728\u540c\u8d28\u5316\u7ade\u4e89\u4e2d\u3002\u76ee\u524d\u770b\u6765\uff0c\u56e2\u961f\u4f3c\u4e4e\u610f\u8bc6\u5230\u4e86\u201cspec-driven\u201d\u7684\u9677\u9631\uff0c\u4f46\u8fd8\u6ca1\u6709\u7ed9\u51fa\u4ee4\u4eba\u4fe1\u670d\u7684\u7b54\u6848\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Kiro Crew<\/span>\n                <\/div>\n<div class=\"comment-content\">Kiro Crew is a persistent workspace that remembers your context, lessons, and skills across sessions, so you come back to progress instead of a cold start. Build a crew of agents that work across the tools you already use, wrapped in purpose-built Apps for the jobs you repeat.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Everyone! Excited to share what we&#8217;ve been working on for a few months. Kiro Crew started as an internal project called MeshClaw at Amazon and quickly grew to over 39,000 developers and hundreds of contributors in less then 6 month. An amazing community was built around it, and we wanted to make it public for everyone. Kiro Crew is an open source development workspace that you can run locally or remotely. Connect via Discord, Telegram or other channels and work with your crew from anywhere.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kylesaman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kylesaman<\/a>&nbsp;Spec driven is the right framing and the failure mode is worth naming. A spec written before the work is a guess, and the moment the agent discovers the guess was wrong, most setups keep building against the spec instead of flagging that it broke. Then you get something that passes review because it matches the document, and is wrong because the document was. So the question I would ask Kiro Crew: when implementation contradicts the spec, does it stop and surface the contradiction, or resolve it silently in favour of one side? That behaviour is the whole product, and it is usually decided by accident.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">been using kiro from a long time,  would love to use this workspace and see what wonders kiro have this time.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/N3EE226U46GRU3\" class=\"app-title\">Keystroke<\/a><\/p>\n<div class=\"one-liner\">Build powerful AI agents &#038; workflows<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">145<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Keystroke \u662f\u4e00\u4e2a\u5c06 AI \u667a\u80fd\u4f53\u6784\u5efa\u3001\u5de5\u5177\u96c6\u6210\u3001\u5de5\u4f5c\u6d41\u7f16\u6392\u4e0e\u56e2\u961f\u534f\u4f5c\u878d\u4e3a\u4e00\u4f53\u7684\u5e73\u53f0\uff0c\u8ba9\u7528\u6237\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u9700\u6c42\u5373\u53ef\u751f\u6210\u5e76\u90e8\u7f72\u5e26\u8bb0\u5fc6\u548c\u6743\u9650\u7684 AI \u4ee3\u7406\uff0c\u89e3\u51b3\u4f01\u4e1a\u5185\u90e8 AI \u5e94\u7528\u843d\u5730\u65f6\u201c\u5f00\u53d1\u4e0e\u4f7f\u7528\u8131\u8282\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\/a00e0dd2-a448-48b6-87f1-6d989ed28bbf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d663cafc-5b34-4408-b62d-3dd88e239971.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c3d0ad5a-7c82-489f-8538-a9e8ef8a54c6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI Agent\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7AI<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u96c6\u6210\u751f\u6001<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">YC\u5b75\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\u6574\u4f53\u53cd\u9988\u79ef\u6781\uff0c\u79f0\u5176\u6bd4 n8n\/Zapier \u66f4\u6613\u7528\u4e14\u6709\u4e50\u8da3\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\u6280\u672f\u5b9e\u73b0\uff08\u662f\u5426\u652f\u6301\u81ea\u6709\u5411\u91cf\u5e93\uff09\u3001\u5f00\u6e90\u534f\u8bae\uff08ELv2\uff09\u53ca\u5546\u4e1a\u6a21\u5f0f\uff08\u4e91\u6258\u7ba1\u6536\u8d39\uff09\u3002\u6709\u7528\u6237\u5bf9\u201call-in-one\u201d\u8868\u8ff0\u6301\u4fdd\u7559\u6001\u5ea6\uff0c\u521b\u59cb\u4eba\u5747\u56de\u5e94\u5e76\u5f81\u96c6\u6539\u8fdb\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Keystroke \u8e29\u51c6\u4e86\u5f53\u524d AI \u5de5\u7a0b\u5316\u7684\u6700\u5927\u75db\u70b9\u2014\u2014\u4e0d\u662f\u201c\u9020\u4e0d\u51fa Agent\u201d\uff0c\u800c\u662f\u201c\u517b\u4e0d\u6d3b Agent\u201d\u3002\u5b83\u5c06\u5f00\u53d1\u73af\u5883\u3001\u8fd0\u884c\u65f6\u3001\u8bb0\u5fc6\u5b58\u50a8\u3001\u5ba1\u6279\u6d41\u548c\u56e2\u961f\u5206\u4eab\u6574\u5408\u5728\u4e00\u4e2a workspace\uff0c\u672c\u8d28\u4e0a\u662f\u628a Agent \u4ece\u201c\u4ee3\u7801\u73a9\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u4f01\u4e1a\u7ea7\u5e94\u7528\u670d\u52a1\u5668\u201d\u3002\u8fd9\u79cd\u201c\u63cf\u8ff0\u5373\u90e8\u7f72\u201d\u7684\u62bd\u8c61\uff0c\u5927\u5e45\u964d\u4f4e\u4e86\u975e\u6280\u672f\u4eba\u5458\u7684\u4f7f\u7528\u95e8\u69db\uff0c\u4f46\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u4e8e\u6613\u7528\u6027\uff0c\u800c\u5728\u4e8e\u5176 ELv2 \u5f00\u6e90\u534f\u8bae\u4e0b\u7684\u201c\u4e91\u6258\u7ba1\u6536\u94b1\u201d\u6a21\u5f0f\uff1a\u65e2\u8e6d\u4e86\u5f00\u6e90\u793e\u533a\u7684\u4fe1\u4efb\u7ea2\u5229\uff0c\u53c8\u4fdd\u4f4f\u4e86 SaaS \u7684\u5546\u4e1a\u95ed\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u8d34\u8138\u5bf9\u6807 n8n\/Zapier \u65e2\u662f\u806a\u660e\u4e5f\u662f\u5192\u9669\u3002\u8fd9\u7c7b\u4ea7\u54c1\u65e9\u5df2\u5728\u786e\u5b9a\u6027\u5de5\u4f5c\u6d41\u9886\u57df\u6559\u80b2\u4e86\u5e02\u573a\uff0cKeystroke \u82e5\u60f3\u53d6\u4ee3\u5b83\u4eec\uff0c\u5fc5\u987b\u8bc1\u660e AI \u539f\u751f\u7684\u4e0d\u786e\u5b9a\u6027\u7f16\u6392\u5728\u53ef\u9760\u6027\u4e0a\u80fd\u8d85\u8d8a\u4f20\u7edf\u89c4\u5219\u5f15\u64ce\u3002\u76ee\u524d 145 \u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u4e0d\u7b97\u4eae\u773c\uff0c\u4e14\u8bc4\u8bba\u4e2d\u7f3a\u4e4f\u5bf9\u201c\u590d\u6742\u771f\u5b9e\u573a\u666f\u201d\u7684\u5b9e\u6d4b\u8bc1\u636e\u3002\u521b\u59cb\u4eba\u5fc3\u77e5\u809a\u660e\uff0c\u6240\u4ee5\u624d\u53cd\u590d\u5f3a\u8c03\u201cTypeScript \u53ef\u6269\u5c55\u201d\u201c\u53ef\u89c2\u6d4b\u6027\u201d\u2014\u2014\u8fd9\u5176\u5b9e\u662f\u5728\u5411\u4f01\u4e1a CTO \u9012\u6295\u540d\u72b6\uff1a\u6211\u4eec\u5f88 AI\uff0c\u4f46\u4e5f\u5f88\u5de5\u7a0b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff1a\u5f53\u8bb0\u5fc6\u3001\u6743\u9650\u3001\u5de5\u5177\u8c03\u7528\u585e\u8fdb\u540c\u4e00\u4e2a\u534f\u4f5c\u7a7a\u95f4\u540e\uff0c\u5982\u4f55\u907f\u514d\u6ca6\u4e3a\u201c\u5168\u5bb6\u6876\u578b\u6280\u672f\u503a\u96c6\u6563\u5730\u201d\uff1f\u82e5\u80fd\u625b\u4f4f\u4f01\u4e1a\u7ea7\u5b89\u5168\u5ba1\u8ba1\u548c\u5ba1\u8ba1\u65e5\u5fd7\u7684\u62f7\u95ee\uff0cKeystroke \u6709\u671b\u6210\u4e3a AI \u65f6\u4ee3\u7684\u201c\u4f4e\u4ee3\u7801\u4e2d\u53f0\u201d\uff1b\u82e5\u53ea\u662f\u628a\u5927\u6a21\u578b\u5305\u88c5\u6210\u66f4\u6f6e\u7684 API \u80f6\u6c34\uff0c\u90a3\u5b83\u5f88\u5feb\u5c31\u4f1a\u5728\u6a2a\u5411\u7ade\u54c1\uff08\u5982 LangGraph\u3001CrewAI\uff09\u4e0e\u7eb5\u5411\u5bf9\u624b\uff08\u5982 Zapier\uff09\u7684\u5939\u51fb\u4e0b\u663e\u5f97\u5c34\u5c2c\u3002\u503c\u5f97\u6301\u7eed\u89c2\u671b\uff0c\u4f46\u522b\u88ab\u201cYC \u5149\u73af\u201d\u548c\u201c\u5f00\u6e90\u201d\u53e3\u53f7\u51b2\u660f\u5934\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\">Keystroke<\/span>\n                <\/div>\n<div class=\"comment-content\">Keystroke is an all-in-one platform for building powerful AI agents. Describe the agent you need, and Keystroke builds it, connects your tools, tests it, and deploys it to a shared workspace. Give agents memory, workflows, triggers, approvals, and access to 1,000+ integrations. Open source, YC-backed, and free to try with $20 in credits.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I\u2019m Blake, cofounder of Keystroke.<\/p>\n<p>We built Keystroke because creating an agent is only one small part of putting it to work inside a company.<\/p>\n<p>You also need integrations, credentials, memory, workflows, triggers, approvals, observability, and a place where your team can actually use and improve what you build. Today, those pieces are usually scattered across agent frameworks, scripts, infrastructure, and automation tools.<\/p>\n<p>Keystroke brings all these things together in one collaborative platform.<\/p>\n<p>Describe the agent or AI system you need directly inside Keystroke, and the built-in agent builds it, connects your tools, runs tests, and deploys it to your workspace. You can also build with Cursor, Claude Code, Codex, or any coding agent.<\/p>\n<p>Agents come with memory, web search, code execution, persistent workspaces, and access to more than 1,000 integrations, any API, or any MCP server. They can work on schedules or app events, create their own triggers, and spin up lightweight apps and dashboards. For more complex systems, you can combine agents with deterministic workflows, multi-agent orchestration, and human approvals. Every run is durable, observable, and available for your team to inspect.<\/p>\n<p>Teams can chat with agents in Keystroke, use them in Slack or Teams, run workflows, manage credentials, share context and skills, and collaborate from one shared workspace. Under the hood, everything teams build is ordinary TypeScript. You can keep it in git, grep it, test it, review it, and run it anywhere.<\/p>\n<p>The thing we\u2019re most excited about is giving technical and non-technical teammates the same place to create and work with agents. What one person builds becomes something the entire company can use, understand, and improve.<\/p>\n<p>Keystroke is open source, backed by Y Combinator, currently in open alpha, and free to try with $20 in credits.<\/p>\n<p>We\u2019d genuinely love feedback from the PH community, especially anyone building internal agents, AI systems, company brains, or automations.<\/p>\n<p>Happy to answer questions all day!<\/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\/@cblakerouse\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cblakerouse<\/a>&nbsp;Nice launch congrats \ud83d\ude4cqq does the persistent workspace memory run on a local vector index per workspace, or can we plug in our own enterprise vector database?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>been using it for a couple weeks now and it&#8217;s freakin sweet<\/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\/@jacob_crockett\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jacob_crockett<\/a>&nbsp;awesome! thanks for being an early user!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Feels like an easier Zapier or n8n. Gonna 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Could be big tbh. Haven&#8217;t been a fan of n8n and I think this could be much better<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Have used the product and can confirm it is extremely delightful and fun to use!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Congrats on the launch! \ud83c\udf89 Took a quick look through the page and I really like the direction. Bringing agents, workflows, memory, and integrations into one place feels like a thoughtful approach. Curious to see how it handles more complex, real-world workflows. Wishing you an amazing launch day!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;thanks, Suryansh!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Open source is the part that makes me look twice at anything agentic. What&#8217;s the licence, and is a hosted version the plan for making money later?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@julian_belting\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julian_belting<\/a>&nbsp;Hey, Julian! Keystroke is ELv2 licensed and you can check out the repo <a href=\"https:\/\/github.com\/keystrokehq\/keystroke\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/a>.<\/p>\n<p>We currently make money from our cloud offering, which has a free plan with usage-based pricing. You can check it out <a href=\"https:\/\/www.keystroke.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/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 the concept. However, when I see \u201call-in-one\u201d in a description, I end up with a heavy sigh \ud83d\ude48<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@natalia_est\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_est<\/a>&nbsp;Love the feedback! We&#8217;re constantly iterating on messaging. What feels like a better fit?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/C6WAGOOHUENQ5Y\" class=\"app-title\">BackEngine MCP<\/a><\/p>\n<div class=\"one-liner\">Make private company knowledge usable for AI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">138<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>BackEngine MCP\u901a\u8fc7\u5c06\u6563\u843d\u5728Slack\u3001\u90ae\u4ef6\u3001\u901a\u8bdd\u3001\u5de5\u5355\u548cCRM\u4e2d\u7684\u4f01\u4e1a\u79c1\u6709\u6570\u636e\u9884\u5148\u6574\u5408\u4e3a\u6309\u5ba2\u6237\u8d26\u53f7\u5f52\u96c6\u7684\u6743\u9650\u5316\u77e5\u8bc6\u8bb0\u5f55\uff0c\u8ba9Claude\/ChatGPT\u7b49LLM\u5728\u56de\u7b54\u65f6\u57fa\u4e8e\u201c\u5b8c\u6574\u4e0a\u4e0b\u6587\u201d\u800c\u975e\u201c\u5355\u70b9\u5207\u7247\u201d\uff0c\u89e3\u51b3AI\u5e7b\u89c9\u548c\u8de8\u7cfb\u7edf\u6570\u636e\u5272\u88c2\u5bfc\u81f4\u7684\u4f4e\u6548\u4e0e\u8bef\u5224\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\/4430318d-d8d9-4718-840f-7fc5b6a12589.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a793af6d-01dc-4870-8747-6d3b6288959f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9a63a644-ecf0-4605-a687-9449200bc914.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cd5e9586-23d8-4d0d-bb97-d1b787cbf58f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bdc4ec39-c32b-47bd-a46a-7eba1d29df99.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\/5f81f5cf-81eb-422a-b981-08bd4985a66e.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/714da9581b45424fb0a982afa69d185f\"><source src=\"https:\/\/www.loom.com\/share\/714da9581b45424fb0a982afa69d185f\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Business Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">MCP\u8fde\u63a5\u5668<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u6570\u636e\u9884\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u6237\u5173\u7cfb\u667a\u80fd<\/span><br \/>\n            <span class=\"tag\">\u79c1\u6709\u6570\u636e\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">LLM\u4e0a\u4e0b\u6587\u5de5\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u8d4b\u80fd<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u6237\u6210\u529f<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u56fe\u8c31<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6743\u9650\u63a7\u5236<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u201c\u7edf\u4e00\u6570\u636e\u6e90\u201d\u4ef7\u503c\uff0c\u6838\u5fc3\u8d28\u7591\u96c6\u4e2d\u5728\u6743\u9650\u6a21\u578b\u2014\u2014\u63d0\u95ee\u8005\u6743\u9650\u662f\u5426\u968f\u6570\u636e\u6e90\u8d2f\u7a7f\u81f3\u6700\u7ec8\u7b54\u6848\uff0c\u4ee5\u53ca\u5185\u90e8\u5907\u6ce8\u4e0e\u5bf9\u5916\u56de\u590d\u7684\u9694\u79bb\u98ce\u9669\u3002\u53e6\u6709\u7528\u6237\u5173\u5207\u6570\u636e\u201c\u65b0\u9c9c\u5ea6\u201d\u65f6\u5ef6\uff0c\u5b98\u65b9\u56de\u5e94\u5df2\u660e\u786e\uff1a\u591a\u6570\u6e90\u5206\u949f\u7ea7\u66f4\u65b0\uff0c\u5c11\u6570\u53d7\u9650\u4e8eAPI\u8c03\u5ea6\uff1b\u6bcf\u6761\u7ed3\u8bba\u53ef\u6eaf\u6e90\u81f3\u539f\u59cb\u8bb0\u5f55\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                BackEngine MCP\u8e29\u4e2d\u4e862026\u5e74AI\u5e94\u7528\u5c42\u6700\u771f\u5b9e\u7684\u75db\u70b9\u2014\u2014\u8fde\u63a5\u5668\u6cdb\u6ee5\u5bfc\u81f4\u4e0a\u4e0b\u6587\u788e\u7247\u5316\uff0c\u6a21\u578b\u5728\u201c\u534a\u76f2\u201d\u72b6\u6001\u4e0b\u751f\u6210\u9ad8\u7f6e\u4fe1\u5ea6\u9519\u8bef\u3002\u5176\u201c\u5148\u6574\u5408\u3001\u540e\u95ee\u7b54\u201d\u7684\u9884\u5904\u7406\u8def\u5f84\uff0c\u5728\u67b6\u6784\u4e0a\u786e\u5b9e\u4f18\u4e8e\u591a\u8def\u76f4\u8fde\uff0c65%\u7684token\u8282\u7701\u548c\u9519\u8bef\u7387\u9aa4\u964d\u5e76\u975e\u8425\u9500\u8bdd\u672f\uff0c\u800c\u662f\u201c\u62fc\u63a5\u5f0f\u6570\u636e\u68c0\u7d22\u201d\u8ba9\u4f4d\u4e8e\u201c\u5173\u7cfb\u578b\u77e5\u8bc6\u5f52\u5e76\u201d\u540e\u7684\u5fc5\u7136\u7ed3\u679c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u751f\u6b7b\u7ebf\u4e0d\u5728\u6280\u672f\uff0c\u800c\u5728\u201c\u6743\u9650\u8bed\u4e49\u7684\u539f\u5b50\u5316\u201d\u3002\u5f53\u524d\u8bbe\u8ba1\u4ecd\u662f\u4e00\u8d26\u6237\u4e00\u77e5\u8bc6\u5e93\uff0c\u53e0\u52a0\u5b57\u6bb5\u7ea7\u3001\u56e2\u961f\u7ea7\u53ef\u89c1\u6027\u63a7\u5236\uff0c\u672c\u8d28\u662f\u201c\u68c0\u7d22\u524d\u8fc7\u6ee4\u201d\u800c\u975e\u201c\u751f\u6210\u65f6\u7ea6\u675f\u201d\u3002\u5f53\u4e00\u6761\u5185\u90e8\u5907\u6ce8\u4e0e\u5ba2\u6237\u539f\u8bdd\u88ab\u5171\u540c\u62fc\u5165\u56de\u7b54\u8349\u7a3f\u65f6\uff0c\u6a21\u578b\u65e0\u6cd5\u5728\u8bed\u4e49\u4e0a\u533a\u5206\u201c\u53ef\u5f15\u7528\u201d\u4e0e\u201c\u4e0d\u53ef\u6cc4\u9732\u201d\uff0c\u8fd9\u6b63\u662f\u7528\u6237\u6700\u5c16\u9510\u7684\u8d28\u7591\u2014\u2014\u4eba\u5de5\u5ba2\u670d\u5c1a\u9700\u4e24\u4e2a\u754c\u9762\u9694\u79bb\uff0cAI\u5374\u8981\u6c42\u5b83\u57fa\u4e8e\u5355\u4e00\u8bed\u6599\u505a\u81ea\u6211\u5ba1\u67e5\uff0c\u8fd9\u5728\u6839\u672c\u4e0a\u8fdd\u80cc\u4e86LLM\u7684\u751f\u6210\u673a\u5236\u3002\u82e5\u6743\u9650\u4ec5\u6b62\u4e8e\u201c\u8c01\u770b\u5230\u4ec0\u4e48\u201d\uff0c\u800c\u975e\u201cAI\u80fd\u8bf4\u4ec0\u4e48\u201d\uff0c\u90a3\u4e48\u6700\u4e25\u91cd\u7684\u5408\u89c4\u4e8b\u6545\u2014\u2014\u6a21\u578b\u5411\u5ba2\u6237\u590d\u8ff0\u5185\u90e8\u98ce\u9669\u5224\u65ad\u2014\u2014\u8fdf\u65e9\u4f1a\u51fa\u73b0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u201c\u5168\u91cf\u8bb0\u5f55\u201d\u610f\u5473\u7740\u5355\u70b9\u4e8b\u5b9e\u6027\u9519\u8bef\u4f1a\u88ab\u653e\u5927\u4e3a\u7cfb\u7edf\u6027\u8bef\u5224\u3002\u5c3d\u7ba1\u5b98\u65b9\u627f\u8bfa\u6bcf\u6761\u7ed3\u8bba\u53ef\u6eaf\u6e90\uff0c\u4f46\u4f01\u4e1a\u7ea7\u91c7\u8d2d\u8005\u66f4\u5173\u5fc3\u7684\u662f\uff1a\u5f53\u8bb0\u5f55\u51b2\u7a81\u65f6\u5982\u4f55\u88c1\u51b3\uff0c\u4ee5\u53ca\u6743\u9650\u5ba1\u8ba1\u65e5\u5fd7\u80fd\u5426\u6ee1\u8db3SOC2\u7ea7\u522b\u7684\u8ffd\u6eaf\u8981\u6c42\u3002\u6574\u4f53\u800c\u8a00\uff0c\u4ea7\u54c1\u65b9\u5411\u6b63\u786e\u3001\u65f6\u673a\u7cbe\u51c6\uff0c\u4f46\u5728\u6743\u9650\u903b\u8f91\u4e0a\u5347\u7ea7\u4e3a\u201c\u6309\u8f93\u51fa\u5185\u5bb9\u52a8\u6001\u5224\u5b9a\u53ef\u5f15\u7528\u6027\u201d\uff0c\u624d\u662f\u4ece\u201c\u597d\u7528\u201d\u8d70\u5411\u201c\u53ef\u4fe1\u201d\u7684\u5206\u6c34\u5cad\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">BackEngine MCP<\/span>\n                <\/div>\n<div class=\"comment-content\">Most companies wire Claude or ChatGPT into Slack, email, calls, tickets, and their CRM over one singular MCP. That&#8217;s raw pipes into scattered systems. The model reads a slice and guesses at the rest. BackEngine MCP connects to the same tools, but reads everything first, joins all of it into one permissioned record per account, kept current, so Claude and ChatGPT always work from the whole picture. Head-to-head: 67% fewer errors, 2.4x more key facts, 65% fewer tokens vs. direct connectors.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Hunters! We\u2019re launching BackEngine MCP here today, and this is one of those products that pleasantly surprises me every day I use it (and I use it everyday).<\/p>\n<\/p>\n<p>Here\u2019s why I think it matters.<\/p>\n<\/p>\n<p>Google made the world\u2019s public information accessible to humans. That problem is largely solved. Anyone can find almost anything that was meant to be found.<\/p>\n<\/p>\n<p>BackEngine works on the opposite problem: making your company\u2019s private knowledge safe and usable for AI.<\/p>\n<\/p>\n<p>That knowledge comes in two forms.<\/p>\n<\/p>\n<p>First, what your company knows: how you work, what you\u2019ve built, the decisions you\u2019ve made, and the context buried across your products and processes.<\/p>\n<\/p>\n<p>Second, the dynamic and constantly updating relational information such as what your customers have actually said (in their own words), across every call, ticket, email, and thread. This information exists nowhere else. It cannot be bought. <\/p>\n<\/p>\n<p>It belongs exclusively to your company.<\/p>\n<\/p>\n<p>Yet most businesses can barely access it themselves. It remains trapped inside the tools that collected it, invisible to the AI that could use it, and painfully manual for the people trying to make better decisions.<\/p>\n<\/p>\n<p>BackEngine exists to unlock that knowledge safely.<\/p>\n<\/p>\n<p>Our mission is simple: every piece of truth about a customer relationship should be instantly accessible to the person who needs it, at the moment they need it.<\/p>\n<\/p>\n<p>Today, we\u2019re taking a major step toward that future with our MCP-first solution.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunters! \ud83d\udc4b<\/p>\n<p>I\u2019m Eli, founder of BackEngine.<\/p>\n<p>Claude is becoming the next work OS.<br \/>Not a great LLM. Not a chatbot. The place where work happens.<\/p>\n<p>Microsoft Office owned the workday for 30 years (with Google Workspace making progress). But work is moving to Claude, fast.<\/p>\n<p>Email is already there (Gmail, Superhuman MCPs). Research is there (Deep Research). Dashboards are there (Live Artifacts). Scheduled automations are there (Co-Work Scheduled). Your data is there. Most of mine already is.<\/p>\n<p>This was my morning.<\/p>\n<p>I got to the office. Opened up Claude. Inside was a TLDR on all the emails and slacks I had missed with drafted responses to any that required it. I sent 8 of them.<\/p>\n<p>A few minutes later I got a list of all the people that had visited BackEngine that matched our ICP, with their email address pulled up and a draft ready to go. I sent them.<\/p>\n<p>I then opened up a Live Artifact in Claude that showed me what we had shipped in the past week, what tickets were being worked on, and what was not being worked on.<\/p>\n<p>I then got a summary of everything we had spent money on the past 7 days. One item looked like a billing mistake. I slacked the team to find out if it was real or not.<\/p>\n<p>I then had a case study interview with a customer. As soon as it was done, I asked Claude to find our other case studies and to write a similar one based on the transcript.<\/p>\n<p>And then I asked Claude to summarize the morning and write this post.<\/p>\n<p>A couple of takeaways.<br \/>1) Building a horizontal productivity tool in 2026 is a fool&#8217;s errand. No one is going to leave Claude to use your standalone dashboard, your standalone inbox, your standalone CRM UI.<\/p>\n<p>2) What&#8217;s worth building: things Claude won&#8217;t, that live inside Claude.<br \/>And now you can access that intelligence directly inside Claude (or any LLM) via BackEngine MCP.<\/p>\n<p>BackEngine pre-process a company\u2019s unstructured customer data &#8211; calls, emails, slack, tickets, support history &#8211; before anyone asks a question. We do three things no connector or customer pipeline does on its own:<\/p>\n<p>Three things we do that no set of connectors can:<br \/>1\ufe0f\u20e3 Improve token efficiency<br \/>In July 2026 benchmark study, BackEngine used 65-89% fewer tokens to run the same 10 cross-functional business questions when compared to using direct connectors into all of the same data systems independently<\/p>\n<p>Example: Which product features have customers asked for that are gating the most revenue? Prioritize our roadmap based on impact to deals and renewals and build a PRD for the top 3 features.<\/p>\n<p>291.7K tokens using direct connectors vs. 33.1K tokens using BackEngine<\/p>\n<p>2\ufe0f\u20e3 Produce consistently correct answers<br \/>In the same benchmark study, direct connectors resulted in factual errors 23.2% of the time. That means nearly 1 in 4 questions you ask an LLM, even when connected to your data sources, will still hallucinate an answer.<\/p>\n<p>When using BackEngine, only 1-7.6% of the time did the LLM produce an answer that was not fully factually accurate.<\/p>\n<p>Example: What 5 prospects who have gone dormant are the highest priority to re-engage with a personalized product update?<\/p>\n<p>66.2% accuracy using direct connectors vs. 99% using BackEngine<\/p>\n<p>3\ufe0f\u20e3 Portability across systems<br \/>If your customer data, calls, and support history live inside one model&#8217;s memory, you&#8217;re locked in. Two years ago every company built its AI stack around ChatGPT. Now Claude leads for a lot of teams, Gemini has fans, and new models show up every month.<br \/>BackEngine keeps that context in a knowledge layer you own, so you can point any model at it. Switch models, keep your knowledge<\/p>\n<p>\u2753Why this matters<br \/>Deterministic, code-built context pipelines work for some use cases, but they get expensive fast, and they don&#8217;t scale to multi-agent architectures.<\/p>\n<p>BackEngine&#8217;s raw material is conversation \u2014 unstructured, messy, and everywhere \u2014 and it needs no mapping to start.<\/p>\n<p>BackEngine isn&#8217;t a tool to bolt onto one project. It&#8217;s the piece of the stack that lets any client engagement scale past a single well-scoped use case into a repeatable, multi-agent system without every new agent requiring its own custom data store.<\/p>\n<p>BackEngine is helping teams:<br \/>\u2022 Prepare for calls faster<br \/>\u2022 Catch risk signals earlier<br \/>\u2022 Track product feedback<br \/>\u2022 Run better renewals<br \/>\u2022 And give leadership real visibility into account health<br \/>All without adding more reporting or manual updates.<\/p>\n<p>If you\u2019re curious what it looks like in practice:<br \/>\ud83d\udc49 You can read the benchmark study cited above here:<br \/><a href=\"https:\/\/backengine.com\/benchmark\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/backengine.com\/benchmark<\/a><\/p>\n<p>We\u2019ll be here all day to answer questions and would love your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the piece i would want spelled out is what permissioned covers. one record per account answers which customer&#8217;s data this is. it does not answer which person inside your company may see which parts of it, and those stop being the same problem once the record includes tickets and slack.<\/p>\n<\/p>\n<p>support history is full of things that are true and not sharable. an internal note saying do not give this account another refund, a pricing exception someone approved once, a comment about a customer written by a person having a bad day. if an answer is assembled from everything the company knows, someone junior asking a reasonable question can get back a sentence they could never have opened themselves.<\/p>\n<\/p>\n<p>the outbound direction is worse, and it is the one i have been bitten by. a drafted reply grounded on the full record will happily repeat the internal note to the customer. inside a helpdesk the internal note and the public reply are one toggle apart, and once a model is grounding on the joined picture, nothing in the text marks which half is quotable.<\/p>\n<\/p>\n<p>so does the visibility travel with the source all the way into the answer, so a response respects the permissions of whoever asked, or is it one corpus behind one set of credentials?<\/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\/@jernej_jan_kocica\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jernej_jan_kocica<\/a>&nbsp;Happy to walk through security and how we handle data and permissions, since this is a core part of BackEngine and because the data we handle is highly sensitive.<\/p>\n<p>Four things you control.<\/p>\n<p><strong>Whose conversations come in.<\/strong> You tell us which employees to include. You can block one person or an entire team, either across your company or on a single account.<\/p>\n<p><strong>What gets stripped on the way in.<\/strong> You choose what kind of data gets redacted before we process anything. Examples are PII or refund conversations or feedback on people.<\/p>\n<p><strong>Who sees which account.<\/strong> An account is either open to your whole company or locked to a named list of people and groups. That check runs against whoever is asking, every time they ask. <\/p>\n<p><strong>How deep they see.<\/strong> We can give someone the takeaway from a conversation without the raw text underneath. So a junior teammate can learn this account has billing friction without reading the note a colleague wrote about it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love this MCP service for my productivity! <\/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\/@abbie_wolf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abbie_wolf<\/a>&nbsp;thank you so much Abbie!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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. How do i engage with your sales team to get a demo?<\/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\/@sergekass\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sergekass<\/a>&nbsp;just shoot us an email at <a href=\"mailto:info@backengine.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">info@backengine.ai<\/a>! we&#8217;ll take it from 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sergekass\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sergekass<\/a>&nbsp;thanks Serge for your interest! you can email me directly and I&#8217;ll help direct you. <a href=\"mailto:rafaella@backengine.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">rafaella@backengine.ai<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Very excited to try this. One of my biggest criticisms of many LLMs is that I don\u2019t need a trained model for generative purposes, I need a system which will explore an existing corpus and provide me useful information.<\/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\/@ezra_butler\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ezra_butler<\/a>&nbsp;thank you Ezra! means a lot. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s great to be able to unify all of this data in one place (Claude) and then be able to interrogate it directly, or have an agent act on it! Great job!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jason_baron\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jason_baron<\/a>&nbsp;thank you Jason, we really appreciate it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Very excited to try this. Getting Slack, Gmail, Jira, and Meeting notes into a singular repo is something I struggle with daily. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@softwaregravy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@softwaregravy<\/a>&nbsp;Thanks John, definitely reach out and we&#8217;d be happy to demo it for you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks very interesting, can I use this for CS and sales?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@gabe_gottlieb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gabe_gottlieb<\/a>&nbsp;yes anyone in a company can use and benefit from BackEngine&#8217;s knowledge graph<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One joined record per account makes that record the thing you have to trust completely.<\/p>\n<p>Curious what it looks like from the user side when it\u2019s wrong or outdated &#8211; how do they know something\u2019s off?<\/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\/@jared_salois\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jared_salois<\/a>&nbsp;Thank you! and we appreciate the question.<\/p>\n<p>You never have to take the record on faith. Every claim is linked back to the source (the email, call, or ticket it came from), along with the date and the person who said it.  We also built a lot of machinery to continiously validate and confirm the record.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rafaella_fontes_be\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"rafaella_fontes_be\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rafaella_fontes_be<\/a> The benchmark framing I follow, but &#8220;kept current&#8221; is the number I&#8217;d want next. Pre-processing into one joined record means there&#8217;s a window between a ticket or a Slack thread landing and the record reflecting it, and for the call-prep use case a transcript from twenty minutes ago is often the thing that matters most. What&#8217;s the typical lag, and does a query tell me how fresh the record it answered from actually was?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rafaella_fontes_be\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rafaella_fontes_be<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@clement_avq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@clement_avq<\/a>&nbsp;Great question.<\/p>\n<p>Most sources, like transcripts and Slack messages come in on webhooks, so they&#8217;re usually there within minutes. A few sources we pull on a schedule instead, because the system on the other end limits how often we can ask, and those can be a few hours behind.<\/p>\n<p>We update the graph as the data comes in. But in all cases, we make it clear to the AI about any potential gaps, so it knows to grab any fresh sources missing at the time of 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<\/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\/YVXYQHUZQFWTKE\" class=\"app-title\">Capacity Desktop<\/a><\/p>\n<div class=\"one-liner\">A free Lovable that lives on your Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">127<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Capacity Desktop \u662f\u4e00\u6b3e\u514d\u8d39\u3001\u65e0\u9700\u6ce8\u518c\u7684 Mac \u539f\u751f\u5e94\u7528\uff0c\u8ba9\u7528\u6237\u7528\u81ea\u7136\u8bed\u8a00\u5728\u672c\u5730\u76f4\u63a5\u751f\u6210\u5e76\u6784\u5efa\u771f\u5b9e\u53ef\u8fd0\u884c\u7684 Web\u3001\u79fb\u52a8\u3001\u684c\u9762\u53ca\u6e38\u620f\u5e94\u7528\uff0c\u89e3\u51b3\u201cAI \u751f\u6210\u5e94\u7528\u88ab\u9501\u5b9a\u5728\u4e91\u7aef\u3001\u4ee3\u7801\u96be\u5bfc\u51fa\u3001Token \u88ab\u52a0\u4ef7\u201d\u7684\u6838\u5fc3\u75db\u70b9\uff0c\u5f3a\u8c03\u6570\u636e\u4e3b\u6743\u4e0e\u6210\u672c\u900f\u660e\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\/65294980-ddba-4df5-9925-50b1d973ff12.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/56905da2-b541-452f-a7ba-ad1239145f40.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/52ebf32d-b833-47fd-869d-5b61454edd4c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5a9d75fc-f04a-4cc6-bba2-296da156c880.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/52e682f8-3bd9-43a5-b7d7-71475912f61b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ead9934b-3647-40b6-8cee-5a36d16aaac4.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\/d7c02547-e4a5-471f-ac02-f19bc193fd03.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/4sDPai1bzjM\"><source src=\"https:\/\/youtu.be\/4sDPai1bzjM\" 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\">Website Builder<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5e94\u7528\u751f\u6210\u5668<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u81ea\u5e26API\u5bc6\u94a5<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8ba2\u9605\u5236<\/span><br \/>\n            <span class=\"tag\">Mac\u539f\u751f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u7248\u672c\u56de\u6eaf<\/span><br \/>\n            <span class=\"tag\">\u4e00\u952e\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u53cd\u9501\u5b9a<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u672c\u5730\u4f18\u5148\u4e0e\u81ea\u5e26AI Key\u7684\u5546\u4e1a\u6a21\u5f0f\uff0c\u8ba4\u4e3a\u8fd9\u5f7b\u5e95\u6539\u53d8\u4e86\u6210\u672c\u6fc0\u52b1\u7ed3\u6784\uff08\u5f00\u53d1\u8005\u4f1a\u4e3b\u52a8\u4f18\u5316Token\u6d88\u8017\uff09\uff1b\u540c\u65f6\u8ffd\u95ee\u684c\u9762\u7aef\u800c\u975e\u6d4f\u89c8\u5668\u7684\u6280\u672f\u53d6\u820d\u3001\u5e94\u7528\u662f\u5426\u539f\u751f\uff08\u56de\u5e94\u79f0\u975eElectron\uff09\u3001\u4ee5\u53ca\u5982\u4f55\u5e2e\u52a9\u975e\u6280\u672f\u7528\u6237\u9a8c\u8bc1\u751f\u6210\u4ee3\u7801\u7684\u53ef\u8fd0\u884c\u6027\u4e0e\u8d28\u91cf\uff0c\u521b\u59cb\u4eba\u56de\u5e94\u5df2\u5185\u7f6eAI\u5de5\u4f5c\u6d41\u4e0e\u8def\u7ebf\u56fe\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                Capacity \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u7cbe\u51c6\u5207\u5165\u4e86AI\u7f16\u7a0b\u5de5\u5177\u201c\u6700\u540e\u4e00\u767e\u7c73\u201d\u7684\u4fe1\u4efb\u5371\u673a\u3002\u5f53 Lovable \u548c Bolt \u5728\u4e91\u7aef\u8dd1\u9a6c\u5708\u5730\u65f6\uff0c\u5b83\u53cd\u5176\u9053\u800c\u884c\u4e4b\uff0c\u5c06\u201c\u79bb\u7ebf\u8d44\u4ea7\u6240\u6709\u6743\u201d\u548c\u201c\u6309\u6210\u672c\u6d88\u8017Token\u201d\u4f5c\u4e3a\u6838\u6b66\u5668\u3002\u8fd9\u4e0d\u4ec5\u662f\u529f\u80fd\u5dee\u5f02\uff0c\u66f4\u662f\u5546\u4e1a\u6a21\u5f0f\u7684\u964d\u7ef4\u6253\u51fb\u2014\u2014\u5b83\u628a\u7528\u6237\u4ece\u201c\u88ab\u8ba2\u9605\u5236\u548c\u79ef\u5206\u6ea2\u4ef7\u7ed1\u67b6\u201d\u7684\u7126\u8651\u4e2d\u5f7b\u5e95\u89e3\u653e\uff0c\u8ba9\u5de5\u5177\u7684\u6bcf\u4e00\u5206\u94b1\u90fd\u82b1\u5728\u6a21\u578b\u63a8\u7406\u4e0a\uff0c\u800c\u975e\u5e73\u53f0\u62bd\u6210\u3002\u8fd9\u79cd\u201c\u5de5\u5177\u6d01\u7656\u201d\u76f4\u63a5\u51fb\u4e2d\u4e86\u5f00\u53d1\u8005\u4e0e\u72ec\u7acb\u9ed1\u5ba2\u7fa4\u4f53\u7684\u5fc3\u667a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u5ba1\u89c6\uff0c\u5176\u62a4\u57ce\u6cb3\u5e76\u975e\u6280\u672f\u58c1\u5792\uff0c\u800c\u662f\u54f2\u5b66\u7acb\u573a\u3002\u672c\u5730\u751f\u6210\u5e26\u6765\u7684\u8d44\u6e90\u5360\u7528\u3001Apple Silicon\u9650\u5b9a\u3001\u4ee5\u53ca\u81ea\u5e26Key\u5bf9\u5c0f\u767d\u7528\u6237\u7684\u9ad8\u95e8\u69db\uff0c\u90fd\u610f\u5473\u7740\u5b83\u76ee\u524d\u662f\u201c\u9ad8\u7ea7\u73a9\u5bb6\u7684\u73a9\u5177\u201d\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u975e\u6280\u672f\u7528\u6237\u5982\u4f55\u4fe1\u4efb\u4ee3\u7801\u201d\u7684\u8d28\u8be2\uff0c\u89e6\u53ca\u4e86\u672c\u8d28\uff1a\u751f\u6210\u4ee3\u7801\u4e0d\u96be\uff0c\u9a8c\u8bc1\u4ee3\u7801\u624d\u662f\u5730\u72f1\u3002Capacity \u82e5\u4e0d\u80fd\u5728\u672a\u6765\u5c06\u201c\u4ee3\u7801\u9a8c\u8bc1\u201d\u4e0e\u201c\u73af\u5883\u8c03\u8bd5\u201d\u4e5f\u667a\u80fd\u5316\uff0c\u5b83\u7ec8\u7a76\u53ea\u662f\u628a\u4e91\u7aefIDE\u642c\u5230\u4e86\u672c\u5730\uff0c\u5e76\u672a\u771f\u6b63\u964d\u4f4e\u6784\u5efa\u7684\u95e8\u69db\u3002\u5176\u4ef7\u503c\u5728\u4e8e\u91cd\u65b0\u5b9a\u4e49\u4e86AI\u5f00\u53d1\u5de5\u5177\u7684\u4fe1\u4efb\u57fa\u7ebf\u2014\u2014\u4f46\u8981\u60f3\u4ece\u201c\u6f02\u4eae\u7684\u539f\u578b\u673a\u201d\u53d8\u6210\u201c\u5927\u4f17\u7684\u751f\u4ea7\u529b\u5de5\u5177\u201d\uff0c\u5b83\u9700\u8981\u8bc1\u660e\u81ea\u5df1\u4e0d\u4ec5\u662f\u201c\u53cd\u53db\u8005\u201d\uff0c\u66f4\u662f\u201c\u5b8c\u6210\u8005\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\">Capacity Desktop<\/span>\n                <\/div>\n<div class=\"comment-content\">A Mac app that turns plain English into real apps \u2014 built and stored on your machine, not someone else&#8217;s servers. Your code, your GitHub, your own AI at cost. No marked-up credits, no lock-in. Free, no sign-up. macOS (Apple Silicon), Windows on the roadmap.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>We&#8217;re Baptiste &amp; Samuel \u2014 two product people who spent the last year obsessing over one question: why does &#8220;AI builds your app&#8221; have to mean &#8220;your app lives in someone else&#8217;s browser tab&#8221;?<\/p>\n<p>We love what Lovable and Bolt made possible. We just wanted the magic without the rent: no marked-up AI credits, no code held hostage in a cloud workspace, no export button as an afterthought.<\/p>\n<p>So we built Capacity \u2014 a free Mac app that turns plain English into real web, mobile, desktop and game apps, built and stored on your machine.<\/p>\n<p>\u2022 \ud83c\udfa8 Start from 80+ hand-picked design templates \u2014 or import a repo you already have<br \/>\n\u2022 \ud83e\udde0 Bring your own AI: Claude, GPT, Gemini, Grok, Kimi, DeepSeek\u2026 your key, billed at cost, with a built-in spend dashboard<br \/>\n\u2022 \u23ea Every change becomes a restorable version \u2014 if the AI takes a wrong turn, roll back in one click, and nothing is ever lost<br \/>\n\u2022 \ud83d\ude80 Publish tab: connect GitHub + Vercel, preflight your env vars, deploy in one click and watch it go live<br \/>\n\u2022 \ud83d\udee0\ufe0f Zero terminal: Capacity detects the dev tools each project needs (Git, Node\u2026) and installs them for you<br \/>\n\u2022 \ud83d\udcc1 Your project is a normal folder and git repo \u2014 open it in any editor, hand it to any developer, walk away anytime<\/p>\n<p>There are just two of us, and we&#8217;ve sweated the details most builders skip \u2014 the restore timeline, the empty states, the way a deploy feels. We wanted a Mac app that feels like a Mac app.<\/p>\n<p>The honest bits:<br \/>\n\u2022 macOS (Apple Silicon) only for now. Windows and Linux are on the roadmap \u2014 tell us in the comments which one you need.<br \/>\n\u2022 You bring your own AI key. That&#8217;s the philosophy: we sell a tool, we don&#8217;t resell tokens.<br \/>\n\u2022 Free while in beta. When we charge later, the plan is a one-time license \u2014 never a subscription, never credit markups.<\/p>\n<p>\u2b07\ufe0f Try it now: capacity.so\/desktop \u2014 free, no sign-up, building in under a minute.<\/p>\n<p>We&#8217;re both here all day. Tell us what breaks, what&#8217;s missing, and what you&#8217;d build first \ud83d\ude4f<\/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\/@baboo77777\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@baboo77777<\/a>&nbsp;The local-first part is what caught my eye. What made you go desktop instead of another browser tab? I&#8217;ve built Mac-only myself and the tradeoff I keep running into is that you lose everyone who isn&#8217;t on a Mac, but you gain things the browser simply can&#8217;t do.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@baboo77777\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@baboo77777<\/a>&nbsp;Your own AI at cost is the part that changes the shape of the business, more than local-first does. Once the model spend is the user&#8217;s, every incentive you have flips. Hosted tools with marked up credits quietly benefit when a run is inefficient, so nobody there is racing to cut token use. You now have the opposite pressure, because a wasteful run costs your user directly and they can see it. That is a genuinely different alignment and I would say it louder than the privacy angle, which everyone claims. Do you show per run cost in the app, or is it just their provider bill at the end of the month?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@baboo77777\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@baboo77777<\/a>&nbsp;Congratulations on the launch! I appreciate the philosophy of keeping projects local and letting users choose their own AI provider. Out of curiosity, what has been the most requested feature from your beta users so far?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This seems like a competitor to <a href=\"https:\/\/www.producthunt.com\/products\/glaze-4\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"glaze-4\" target=\"_blank\" rel=\"noopener\">@Glaze by Raycast<\/a>  but it seems to focus on web-distributed apps, at least from the website. <\/p>\n<\/p>\n<p>Are the desktop apps native, or Electron?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Solo founder here, no dev background \u2014 I shipped a native iOS + Android app built almost entirely with AI, so I love watching this category mature. My biggest lesson: generating code was never the hard part, verifying it was (two app store rejections taught me to check the build artifact, not the source folder). How does Capacity help users trust what got built beyond &#8220;it looks right in the preview&#8221;? Cheers, Gero<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nevertoolateoriginal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nevertoolateoriginal<\/a>&nbsp;That is a great question the answer is at the heart of the philosophy of this desktop application. As you mentioned, developing websites, a mobile app, or a game is not just about code, but also quality. You have to ensure that your application is scalable to bring in more users, secure to prevent any breach, and in your case, meet the quality standards of app stores.<\/p>\n<\/p>\n<p>This is a lot to think about, especially when you&#8217;re not a tech. Our goal is to make software development simple for non-tech people to handle this tedious yet necessary process. So we develop and integrate AI workflows inside the application that prove their efficiency. Today with Capacity desktop, you can vibe code, spec code, break down your work in development sprints, etc. No technical knowledge required to implement features. In the near future, we plan to help users develop mobile apps, desktop apps, games, and more. So we&#8217;ll keep on integrating these battle-tested AI workflows. And handling app store requests would be part of it. <\/p>\n<\/p>\n<p>By the way, we rolled out a roadmap within the application so any users can submit feature requests, bug reports, and share with others. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/VQHGFGCW4YDSCL\" class=\"app-title\">Dover MCP<\/a><\/p>\n<div class=\"one-liner\">Run your hiring process from Claude or ChatGPT<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">121<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Dover MCP \u5c06\u514d\u8d39 ATS \u63a5\u5165 ChatGPT\u3001Claude \u7b49 AI \u5de5\u5177\uff0c\u8ba9\u62db\u8058\u4eba\u5458\u76f4\u63a5\u7528\u81ea\u7136\u8bed\u8a00\u5b8c\u6210\u4ece\u7b5b\u9009\u7b80\u5386\u3001\u5b89\u6392\u9762\u8bd5\u5230\u66f4\u65b0\u5019\u9009\u4eba\u9636\u6bb5\u53ca\u53d1\u9001\u8ddf\u8fdb\u90ae\u4ef6\u7684\u5168\u6d41\u7a0b\uff0c\u89e3\u51b3\u62db\u8058\u6d41\u7a0b\u788e\u7247\u5316\u4e0e\u4eba\u5de5\u64cd\u4f5c\u7e41\u7410\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f675e1f1-7174-412f-a88e-a3043662bd6a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ecc0df34-1a62-4ee7-8b43-caf8a7a633ab.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\/20764bcd-c307-43e0-962f-45775b233ad5.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\/753ca2e3-8c10-4a56-a9e5-6fd8dbddac4e.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=JXZb_Fy9iqo\"><source src=\"https:\/\/www.youtube.com\/watch?v=JXZb_Fy9iqo\" 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\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u62db\u8058\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">ATS\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5019\u9009\u4eba\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u9762\u8bd5\u6392\u7a0b<\/span><br \/>\n            <span class=\"tag\">Claude\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">ChatGPT\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">HR\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u521d\u521b\u4f01\u4e1a\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>\u591a\u6570\u7528\u6237\u8d5e\u8d4f\u5176\u5c06AI\u80fd\u529b\u4ece\u201c\u5efa\u8bae\u201d\u63a8\u8fdb\u5230\u201c\u6267\u884c\u201d\u5c42\u9762\uff0c\u5982\u76f4\u63a5\u64cd\u4f5c\u5019\u9009\u4eba\u72b6\u6001\u548c\u6392\u7a0b\u3002\u6838\u5fc3\u8d28\u7591\u96c6\u4e2d\u5728\u6743\u9650\u5b89\u5168\uff1a\u6709\u8bc4\u8bba\u8ffd\u95ee\u6743\u9650\u6821\u9a8c\u662f\u6309\u8bf7\u6c42\u5b9e\u65f6\u9488\u5bf9\u63d0\u95ee\u8005\u6267\u884c\uff0c\u8fd8\u662f\u4ec5\u5728\u8fde\u63a5\u65f6\u4e00\u6b21\u6027\u6388\u6743\uff0c\u62c5\u5fc3\u52a9\u624b\u80fd\u8d8a\u6743\u8bfb\u53d6\u85aa\u8d44\u7b49\u654f\u611f\u6570\u636e\uff0c\u53ef\u80fd\u88ab\u6cd5\u52a1\u5426\u51b3\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                Dover MCP \u7684\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u8bd5\u56fe\u518d\u9020\u4e00\u4e2a\u201cAI\u9762\u8bd5\u5b98\u201d\u6765\u70ab\u6280\uff0c\u800c\u662f\u9009\u62e9\u505a\u57fa\u7840\u8bbe\u65bd\u2014\u2014\u628a AI \u4f5c\u4e3a ATS \u7684\u201c\u81ea\u7136\u8bed\u8a00\u64cd\u4f5c\u5c42\u201d\u3002\u8fd9\u5728 Product Hunt \u4e0a\u83b7\u5f97\u7684 121 \u7968\uff0c\u672c\u8d28\u4e0a\u662f\u5bf9\u201c\u6d41\u7a0b\u6548\u7387\u201d\u800c\u975e\u201c\u667a\u80fd\u9b54\u6cd5\u201d\u7684\u4e70\u5355\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5c06\u201c\u62db\u8058\u52a8\u4f5c\u201d\u539f\u5b50\u5316\u5e76\u66b4\u9732\u7ed9\u5927\u6a21\u578b\uff0c\u8ba9\u90a3\u4e9b\u6b64\u524d\u9700\u8981\u70b9\u51fb 5 \u6b21\u4ee5\u4e0a\u624d\u80fd\u5b8c\u6210\u7684\u540e\u53f0\u64cd\u4f5c\uff0c\u53d8\u6210\u4e00\u53e5\u53e3\u8bed\u6307\u4ee4\u3002\u8fd9\u786e\u5b9e\u662f\u201c\u4ece0\u52301\u201d\u7684\u4f53\u9a8c\u8dc3\u8fc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u8e29\u4e2d\u4e86\u5f53\u524d MCP \u751f\u6001\u6700\u6df1\u7684\u5751\uff1a\u6743\u9650\u8fb9\u754c\u3002\u6b63\u5982\u8bc4\u8bba\u4e2d\u4e00\u9488\u89c1\u8840\u7684\u8ffd\u95ee\u2014\u2014\u201c\u6743\u9650\u68c0\u67e5\u662f\u8fde\u63a5\u65f6\u4e00\u6b21\uff0c\u8fd8\u662f\u8bf7\u6c42\u65f6\u6bcf\u6b21\uff1f\u201d Dover \u58f0\u79f0\u201c\u5c0a\u91cd\u56e2\u961f\u73b0\u6709\u6743\u9650\u201d\uff0c\u4f46\u5728 AI Agent \u81ea\u4e3b\u8c03\u7528\u5de5\u5177\u7684\u80cc\u666f\u4e0b\uff0c\u82e5\u6743\u9650\u7ed1\u5b9a\u7684\u662f\u8fde\u63a5\u8005\u800c\u975e\u6267\u884c\u8005\uff0c\u90a3\u4e48\u201c\u62db\u8058\u52a9\u7406\u7684 AI \u80fd\u8bfb\u85aa\u916c\u5907\u6ce8\u201d\u5c31\u4e0d\u4ec5\u662f\u9690\u60a3\uff0c\u800c\u662f\u5fc5\u7136\u3002\u66f4\u751a\u8005\uff0cAI \u5728\u65e0\u75d5\u64cd\u4f5c\u4e2d\u4ea7\u751f\u7684\u6570\u636e\u6c61\u67d3\u548c\u8bef\u64cd\u4f5c\uff0c\u8fdc\u6bd4\u4eba\u8bef\u70b9\u9f20\u6807\u66f4\u96be\u4ee5\u5ba1\u8ba1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Dover \u7684\u514d\u8d39 ATS \u6218\u7565\u610f\u56fe\u660e\u663e\uff1a\u7528 AI \u63a5\u53e3\u4f5c\u4e3a\u94a9\u5b50\uff0c\u5c06\u9ad8\u589e\u957f\u521d\u521b\u516c\u53f8\u7684\u62db\u8058\u6570\u636e\u6c89\u6dc0\u8fdb\u81ea\u5bb6\u5e73\u53f0\uff0c\u518d\u901a\u8fc7\u4e13\u5bb6\u5e02\u573a\u53d8\u73b0\u3002\u4f46\u5728\u8fd9\u4e2a\u6570\u636e\u6bd4\u529f\u80fd\u503c\u94b1\u7684\u65f6\u4ee3\uff0c\u5982\u679c\u5b83\u4e0d\u80fd\u628a\u201c\u5b89\u5168\u201d\u4ece\u8425\u9500\u8bdd\u672f\u53d8\u6210\u67b6\u6784\u7ea7\u7684 per-request \u6821\u9a8c\uff0c\u5e76\u652f\u6301\u7cbe\u7ec6\u7684\u5b57\u6bb5\u7ea7\u8131\u654f\uff0c\u90a3\u4e48\u5b83\u5438\u5f15\u7684\u53ea\u4f1a\u662f\u730e\u5947\u8005\uff0c\u800c\u975e\u771f\u6b63\u62e5\u6709\u654f\u611f\u62db\u8058\u6570\u636e\u7684\u201c\u8d1f\u8d23\u4eba\u201d\u3002\u4e00\u53e5\u8bdd\uff1a\u8dd1\u5f97\u5feb\uff0c\u4f46\u5f97\u5148\u786e\u8ba4\u5239\u8f66\u7247\u4e0d\u662f\u7eb8\u7cca\u7684\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\">Dover MCP<\/span>\n                <\/div>\n<div class=\"comment-content\">Dover\u2019s MCP connects Dover\u2019s free ATS to ChatGPT, Claude, Cursor, and other AI tools. You can now use powerful AI tools to review applicants, schedule interviews, move candidates through your pipeline, add notes, and coordinate hiring. Access is secure and respects your team&#8217;s existing permissions. Available today as part of Dover&#8217;s free ATS for startups.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\ud83d\udc4b I\u2019m George, founder of Dover.<\/p>\n<p>Today, we\u2019re launching the Dover MCP, which lets you securely access and manage your hiring pipeline directly from ChatGPT, Claude, Cursor, and other AI tools.<\/p>\n<p>The MCP is available as part of Dover\u2019s free ATS, which gives startups everything they need to manage hiring (scheduling, sourcing, job board integrations, etc.) without paying for expensive recruiting software.<\/p>\n<p>You can use the Dover MCP to:<\/p>\n<p>&#8211; Review the strongest applicants across your open roles<br \/>\n&#8211; Schedule and prepare questions for an interview<br \/>\n&#8211; Add notes and update candidate stages<br \/>\n&#8211; Identify which roles have healthy pipelines and which need more sourcing<br \/>\n&#8211; Combine Dover with your email and calendars to coordinate interviews and candidate communication<\/p>\n<p>For example, you can ask Claude to find a candidate, schedule an interview, prepare a hiring manager, add the debrief notes afterward, move the candidate to the next stage, and draft the follow-up email.<\/p>\n<p>How it works:<\/p>\n<p>Connect Dover to ChatGPT, Claude, Cursor, or other AI tools so your AI assistant can securely access the jobs and candidates available to your account.<\/p>\n<p>&#8211; <a href=\"https:\/\/claude.ai\/directory\/connectors\/96176a42-e647-43a1-b90a-40b3ab887592\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/claude.ai\/directory\/conn&#8230;<\/a><br \/>\n&#8211; <a href=\"https:\/\/chatgpt.com\/plugins\/plugin_asdk_app_6a4d629a6d208191ae050b699e821285\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/chatgpt.com\/plugins\/plug&#8230;<\/a><\/p>\n<p>Access is determined by your organization&#8217;s permissions, so users only see the hiring information they are authorized to view.<\/p>\n<p>About Dover<\/p>\n<p>Dover is building the marketplace for startup experts. We connect high-growth startups with experienced operators across recruiting, HR, legal, marketing, customer success, and more.<\/p>\n<p>Our free ATS helps startups post jobs, source candidates, manage applicants, coordinate interviews, and track every hiring pipeline in one place.<\/p>\n<p>We\u2019re excited to celebrate this launch with the growing community of startups already using Dover\u2019s free ATS, and we\u2019d love to hear what workflows you want us to support next.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@george_carollo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@george_carollo1<\/a>&nbsp;Respecting existing team permissions is the line I would put first, above the workflow list. Most MCP integrations inherit the permissions of whoever connected them rather than whoever is asking, which is fine until a recruiter&#8217;s assistant can read compensation notes on a candidate they were never on. Hiring data is the worst category for that failure because it is legally sensitive and the leak is invisible. Is the permission check happening per request against the asking user, or once at connection time? That is the difference between a tool a head of people can approve and one their counsel quietly kills.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">yo this is huge! dovers marketplace has been instrumental in our hiring efforts here @ assembly. <\/p>\n<p>can\u2019t wait to give the mcp a go \ud83d\udc83\u2728<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@b_nick\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@b_nick<\/a>&nbsp;&#8211; super fun having Claude schedule for me tbh. can&#8217;t wait for you to check it 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Most AI hiring features just summarize resumes or generate interview questions.. Being able to actually move candidates and schedule interviews from Claude or ChatGPT definitely feels different. I like the idea \ud83d\ude42 Congrats on the launch!<\/div>\n<div class=\"comment-actions\">\n<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\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/67PYNE525WAHWG\" class=\"app-title\">X Money<\/a><\/p>\n<div class=\"one-liner\">Your money, on the world&#8217;s most powerful network.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">121<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>X Money \u5c06\u9ad8\u6536\u76ca\u50a8\u84c4\u3001\u8d2d\u7269\u8fd4\u73b0\u4fe1\u7528\u5361\u4e0e X \u5e73\u53f0\u5185\u5373\u65f6\u8f6c\u8d26\u6574\u5408\u4e3a\u4e00\u4e2a\u8d85\u7ea7\u91d1\u878d\u5165\u53e3\uff0c\u89e3\u51b3\u7528\u6237\u9891\u7e41\u5207\u6362\u94f6\u884c\u3001\u652f\u4ed8\u4e0e\u793e\u4ea4\u5e94\u7528\u7ba1\u7406\u8d44\u91d1\u7684\u788e\u7247\u5316\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3e14e3aa-7ba5-40f3-950e-30a1b0799cc0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4979884c-9ddc-4396-920b-8cbc5709f8d5.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\">Fintech<\/span><br \/>\n            <span class=\"tag\">Twitter<\/span><br \/>\n            <span class=\"tag\">Money<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8d85\u7ea7\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u91d1\u878d\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u5373\u65f6\u8f6c\u8d26<\/span><br \/>\n            <span class=\"tag\">\u9ad8\u6536\u76ca\u50a8\u84c4<\/span><br \/>\n            <span class=\"tag\">\u8fd4\u73b0\u5361<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">\u5d4c\u5165\u5f0f\u91d1\u878d<\/span><br \/>\n            <span class=\"tag\">X\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u7f8e\u56fd\u5e02\u573a<\/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>\u591a\u6570\u7528\u6237\u8ba4\u53ef\u201c\u5355\u4e00\u5e94\u7528\u6574\u5408APY\u3001\u5361\u7247\u4e0e\u5373\u65f6\u8f6c\u8d26\u201d\u7684\u8bbe\u8ba1\u903b\u8f91\uff0c\u8ba4\u4e3a\u4f53\u9a8c\u6d41\u7545\u4e14\u51cf\u5c11\u5de5\u5177\u5207\u6362\u3002\u4f46\u660e\u786e\u63d0\u51fa\u6700\u5927\u9650\u5236\uff1a\u4ec5\u9650\u7f8e\u56fd\u7528\u6237\uff0c\u56fd\u9645\u5f00\u653e\u65e0\u65f6\u95f4\u8868\uff1b\u53e6\u6709\u8bc4\u8bba\u671f\u5f85\u4e0ePayPal\u7684\u5168\u529f\u80fd\u5bf9\u6807\uff0c\u5e76\u5173\u6ce8\u8fd4\u73b0\u6bd4\u4f8b\u53caAPY\u7ade\u4e89\u529b\u5c1a\u672a\u62ab\u9732\u7ec6\u5219\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                X Money \u7684\u91ce\u5fc3\u4e0d\u662f\u505a\u4e00\u4e2a\u94b1\u5305\uff0c\u800c\u662f\u628a\u91d1\u878d\u80fd\u529b\u76f4\u63a5\u7ec7\u8fdb\u793e\u4ea4\u5173\u7cfb\u7684\u5e95\u5c42\u534f\u8bae\u2014\u2014\u53d1\u94b1\u50cf\u53d1DM\u4e00\u6837\u81ea\u7136\u3002\u8fd9\u4e2a\u5b9a\u4f4d\u5728\u903b\u8f91\u4e0a\u6210\u7acb\uff1a\u9a6c\u65af\u514b\u624b\u63e1X\u7684\u4ebf\u7ea7\u6d41\u91cf\u3001\u652f\u4ed8\u724c\u7167\u548c\u201cEverything App\u201d\u53d9\u4e8b\uff0c\u4e14\u652f\u4ed8\u5929\u7136\u5177\u5907\u9ad8\u9891\u3001\u5f3a\u5173\u7cfb\u94fe\u5c5e\u6027\uff0c\u5d4c\u5165\u793e\u4ea4\u573a\u666f\u7684\u8f6c\u5316\u6548\u7387\u8fdc\u9ad8\u4e8e\u72ec\u7acb\u91d1\u878dApp\u3002\u4ea7\u54c1\u521d\u671f\u8bbe\u8ba1\u7684\u201cAPY+\u8fd4\u73b0\u5361+\u5373\u65f6\u8f6c\u8d26\u201d\u4e09\u4ef6\u5957\uff0c\u8868\u9762\u662f\u529f\u80fd\u5806\u53e0\uff0c\u5b9e\u5219\u662f\u7528\u50a8\u84c4\u6536\u76ca\u9501\u8d44\u91d1\u3001\u7528\u5237\u5361\u8fd4\u73b0\u517b\u4e60\u60ef\u3001\u7528\u8f6c\u8d26\u62c9\u9891\u6b21\uff0c\u5f62\u6210\u5185\u90e8\u8d44\u91d1\u95ed\u73af\uff0c\u8fd9\u6bd4\u5355\u7eaf\u505a\u652f\u4ed8\u5de5\u5177\u66f4\u5177\u9ecf\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u5fc5\u987b\u6307\u51fa\u4e24\u4e2a\u98ce\u9669\u3002\u7b2c\u4e00\uff0c\u76d1\u7ba1\u4e0e\u5730\u57df\u662f\u786c\u5929\u82b1\u677f\u2014\u2014\u76ee\u524d\u4ec5\u9650\u7f8e\u56fd\uff0c\u4e14X\u6b64\u524d\u5728\u52a0\u5bc6\u652f\u4ed8\u4e0a\u7684\u5408\u89c4\u53cd\u590d\u5df2\u6d88\u8017\u4fe1\u4efb\uff0c\u91d1\u878d\u4e1a\u52a1\u82e5\u91cd\u8e48\u8986\u8f99\u5c06\u76f4\u63a5\u51fb\u7a7f\u7528\u6237\u5b89\u5168\u9884\u671f\u3002\u7b2c\u4e8c\uff0c\u7ade\u54c1\u4e0d\u662fPayPal\uff0c\u800c\u662fChime\u3001Robinhood\u3001\u751a\u81f3Apple Cash\u8fd9\u7c7b\u5df2\u628a\u201c\u94f6\u884c\u670d\u52a1\u6781\u7b80\u5316\u201d\u505a\u5230\u6781\u81f4\u7684\u9009\u624b\uff0cX Money \u76ee\u524d\u9664\u793e\u4ea4\u573a\u666f\u5916\u6ca1\u6709\u5c55\u793a\u51fa\u4e0d\u53ef\u66ff\u4ee3\u7684\u5229\u7387\u6216\u8d39\u7387\u4f18\u52bf\u3002\u66f4\u5c16\u9510\u7684\u95ee\u9898\u662f\uff1a\u7528\u6237\u771f\u7684\u613f\u610f\u628a\u5168\u90e8\u8d22\u52a1\u8def\u5f84\u6258\u7ba1\u7ed9\u4e00\u4e2a\u4ee5\u8a00\u8bba\u4e89\u8bae\u8457\u79f0\u7684\u793e\u4ea4\u5e73\u53f0\u5417\uff1f\u4fe1\u4efb\u6210\u672c\u88ab\u4e25\u91cd\u4f4e\u4f30\u3002\u5982\u679cX\u53ea\u662f\u628a\u91d1\u878d\u5f53\u4f5c\u62c9\u9ad8MAU\u7684\u5de5\u5177\uff0c\u800c\u975e\u72ec\u7acb\u4e25\u8083\u7684\u91d1\u878d\u4e1a\u52a1\uff0c\u90a3\u4e48\u8fd9\u6b3e\u4ea7\u54c1\u7684\u7ec8\u5c40\u5927\u6982\u7387\u662f\u201c\u70ed\u95f9\u7684\u589e\u91cf\u670d\u52a1\u201d\uff0c\u800c\u975e\u201c\u98a0\u8986\u6027\u7684\u91d1\u878d\u57fa\u7840\u8bbe\u65bd\u201d\u3002\u771f\u6b63\u7684\u80dc\u8d1f\u624b\uff0c\u5728\u4e8e\u5b83\u80fd\u5426\u5c3d\u5feb\u516c\u5e03\u8be6\u7ec6\u8d39\u7387\u3001\u5f00\u653e\u66f4\u591a\u56fd\u5bb6\uff0c\u5e76\u901a\u8fc7\u5408\u89c4\u5ba1\u8ba1\u8bc1\u660e\u81ea\u5df1\u4e0d\u53ea\u662f\u4e00\u4e2a\u5e26\u94b1\u5305\u529f\u80fd\u7684\u793e\u4ea4App\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\">X Money<\/span>\n                <\/div>\n<div class=\"comment-content\">One app, everything money can do: earn industry-leading APY, get cashback with the X Card, and send money instantly on X.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Elon sure is on his way to <a href=\"https:\/\/x.com\/elonmusk\/status\/1577428272056389633?lang=en\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">build the everything app<\/a>, as he said he would. <\/p>\n<\/p>\n<p>X Money is his second shot at building <a href=\"https:\/\/www.producthunt.com\/products\/paypal\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"paypal\" target=\"_blank\" rel=\"noopener\">@PayPal<\/a>.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a>&nbsp;Seems to Saw the launch posts on X earlier and came here to take a closer look. Sending money without leaving X sounds super convenient, especially if it works as smoothly as sending a DM. I\u2019m curious to see how the cashback and APY compare with other finance apps once everything rolls out.have a good launch 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>honestly the way they tied APY, the card, and instant transfers into a single app feels really well thought out, like they actually obsessed over not making me bounce between tools<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Unfortunately, it is not open to countries other than the United States.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DC6C4IQ6HUYBTR\" class=\"app-title\">StepGrab<\/a><\/p>\n<div class=\"one-liner\">Turn any Mac task into a step-by-step guide<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">112<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>StepGrab\u662f\u4e00\u6b3e\u539f\u751fMac\u83dc\u5355\u680f\u5e94\u7528\uff0c\u901a\u8fc7\u5f55\u5c4f\u81ea\u52a8\u751f\u6210\u5e26\u6807\u6ce8\u622a\u56fe\u548c\u6b65\u9aa4\u8bf4\u660e\u7684\u64cd\u4f5c\u6307\u5357\uff0c\u89e3\u51b3\u624b\u52a8\u622a\u56fe\u3001\u88c1\u526a\u3001\u753b\u7bad\u5934\u3001\u5199\u6b65\u9aa4\u7684\u4f4e\u6548\u75db\u70b9\uff0c\u652f\u6301\u79bb\u7ebf\u672c\u5730\u5904\u7406\u5e76\u5bfc\u51fa\u4e3aGIF\u3001PDF\u3001MP4\u7b49\u591a\u79cd\u683c\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\/0719ed8d-fa7c-4af1-aba1-993835b16f86.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a38f2287-50b2-4dc1-8e51-fbe4ab9df0ce.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/676acacd-61a7-49f6-9ec9-3fb0be1e1523.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/277f09d3-5265-44d9-ac1a-0246e69e24a0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bf31113e-afed-4580-9233-d5c209420700.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\/27a16c40-aa3f-4cf6-9375-e2b1df541480.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/SNDYK0jU-RQ\"><source src=\"https:\/\/youtu.be\/SNDYK0jU-RQ\" 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\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f55\u5c4f\u6559\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u6b65\u9aa4\u6307\u5357<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6587\u6863<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u539f\u751f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5c4f\u5e55\u6807\u6ce8<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">ProductHunt<\/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\u79bb\u7ebf\u9690\u79c1\u4fdd\u62a4\uff0c\u8ba4\u53ef\u65e0\u4e0a\u4f20\u7279\u6027\uff1b\u8d28\u7591UI\u53d8\u66f4\u540e\u6307\u5357\u5931\u6548\u95ee\u9898\uff0c\u4f5c\u8005\u627f\u8ba4\u65e0\u6cd5\u81ea\u52a8\u68c0\u6d4b\u6f02\u79fb\u4f46\u964d\u4f4e\u4e86\u91cd\u505a\u6210\u672c\uff1b\u6709\u7528\u6237\u5efa\u8bae\u901a\u8fc7\u5bf9\u6bd4\u622a\u56fe\u524d\u540e\u5dee\u5f02\u63cf\u8ff0\u65e0\u6807\u7b7e\u56fe\u6807\u6548\u679c\uff0c\u4ee5\u53ca\u5229\u7528\u5386\u53f2OCR\u6307\u7eb9\u68c0\u6d4b\u65e7\u6307\u5357\u5931\u6548\uff0c\u4f5c\u8005\u8ba4\u53ef\u5e76\u8ba1\u5212\u5b9e\u73b0\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                StepGrab\u5207\u5165\u7684\u662f\u201c\u6559\u7a0b\u5236\u4f5c\u201d\u8fd9\u4e2a\u5c34\u5c2c\u5730\u5e26\u2014\u2014\u5b83\u4e0d\u89e3\u51b3\u201c\u6559\u4ec0\u4e48\u201d\uff0c\u53ea\u89e3\u51b3\u201c\u600e\u4e48\u8bb0\u5f55\u201d\uff0c\u4e14\u628a\u8bb0\u5f55\u6210\u672c\u538b\u5230\u4e86\u6781\u4f4e\u3002\u8fd9\u4ea7\u54c1\u771f\u6b63\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u8ba4\u6e05\u4e86\u573a\u666f\uff1a\u5927\u91cf\u6307\u5357\u662f\u7ed9\u540c\u4e00\u4e2a\u56e2\u961f\u3001\u540c\u4e00\u4e2a\u6d4f\u89c8\u5668\u754c\u9762\u91cc\u7684\u4eba\u770b\u7684\uff0cMac\u5f55\u5236\u3001\u5168\u5e73\u53f0\u53ef\u8bfb\u7684\u5b9a\u4f4d\u51c6\u786e\u3002\u79bb\u7ebf+\u65e0\u8d26\u53f7+\u4e00\u6b21\u6027\u4e70\u65ad\u662f\u5b83\u5bf9\u6297Scribe\u3001Tango\u7b49\u7ade\u54c1\u7684\u6838\u5fc3\u58c1\u5792\uff0c\u5bf9\u6ce8\u91cd\u9690\u79c1\u7684\u56e2\u961f\u786e\u5b9e\u6709\u5438\u5f15\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u5f88\u660e\u663e\u3002\u7b2c\u4e00\uff0c\u6280\u672f\u4e0a\u9650\u51b3\u5b9a\u4e86\u4f53\u9a8c\u4e0a\u9650\u2014\u2014\u4f9d\u8d56OCR\u548c\u5149\u6807\u4f4d\u7f6e\u91cd\u5efa\u6b65\u9aa4\u63cf\u8ff0\uff0c\u9047\u5230\u65e0\u6807\u7b7e\u5de5\u5177\u680f\u56fe\u6807\u5c31\u6293\u778e\uff0c\u4f5c\u8005\u81ea\u5df1\u627f\u8ba4\u201c\u8be5\u5c42\u4ecd\u5728\u5f00\u53d1\u4e2d\u201d\uff0c\u800cmacOS 27\u7684\u6a21\u578b\u652f\u6301\u8fd8\u662f\u753b\u997c\u3002\u7b2c\u4e8c\uff0c\u6307\u5357\u6f02\u79fb\u95ee\u9898\u6ca1\u6709\u6839\u672c\u89e3\u6cd5\uff0c\u4f5c\u8005\u627f\u8ba4\u201c\u6307\u5357\u4f1a\u50cf\u624b\u5de5\u505a\u7684\u4e00\u6837\u8fc7\u671f\u201d\uff0c\u8fd9\u8ba9\u4ea7\u54c1\u4ef7\u503c\u6253\u4e86\u6298\u6263\u2014\u2014\u7528\u6237\u4e70\u7684\u4e0d\u662f\u201c\u6c38\u4e45\u53ef\u7528\u7684\u6587\u6863\u201d\uff0c\u800c\u662f\u201c\u5236\u4f5c\u6587\u6863\u65f6\u7684\u7701\u4e8b\u201d\u3002\u7b2c\u4e09\uff0c\u514d\u8d39\u7248\u4e0e\u4ed8\u8d39\u7248\u5dee\u5f02\u4e0d\u660e\u786e\uff0c\u4e14App Store\u6c99\u76d2\u9650\u5236\u53ef\u80fd\u963b\u788d\u529f\u80fd\u6f14\u8fdb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8bc4\u8bba\u533a\u7684\u6df1\u5ea6\u53cd\u9988\u662f\u4eae\u70b9\uff0c\u7279\u522b\u662f\u201c\u7528\u622a\u56fe\u524d\u540e\u5dee\u5f02\u63cf\u8ff0\u6548\u679c\u201d\u548c\u201c\u7528\u672c\u5730\u5386\u53f2\u6307\u7eb9\u68c0\u6d4b\u6f02\u79fb\u201d\u7684\u5efa\u8bae\uff0c\u76f4\u6307\u4ea7\u54c1\u547d\u95e8\u3002\u4f5c\u8005\u6001\u5ea6\u8bda\u6073\uff0c\u4f46\u80fd\u5426\u628a\u5efa\u8bae\u843d\u5730\u624d\u662f\u5173\u952e\u3002\u672c\u8d28\u4e0a\uff0cStepGrab\u662f\u4e2a\u4f18\u79c0\u7684\u201c\u4e2a\u4eba\u75db\u70b9\u89e3\u51b3\u65b9\u6848\u201d\uff0c\u79bb\u201c\u56e2\u961f\u77e5\u8bc6\u7ba1\u7406\u57fa\u7840\u8bbe\u65bd\u201d\u8fd8\u6709\u8ddd\u79bb\u2014\u2014\u524d\u8005\u503c$34.99\u7684\u4e00\u6b21\u6027\u4e70\u65ad\uff0c\u540e\u8005\u9700\u8981\u66f4\u624e\u5b9e\u7684\u6280\u672f\u5e95\u5b50\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u9002\u5408\u9700\u8981\u9891\u7e41\u66f4\u65b0\u64cd\u4f5c\u6587\u6863\u7684\u4e2a\u4eba\u6216\u5c0f\u56e2\u961f\uff0c\u4f46\u5bf9\u6d41\u7a0b\u7a33\u5b9a\u7684\u4f01\u4e1a\u7528\u6237\uff0c\u4ef7\u503c\u6709\u9650\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\">StepGrab<\/span>\n                <\/div>\n<div class=\"comment-content\">Documenting a workflow means screenshots, cropping, arrows, and typing out every step. StepGrab does it for you: hit record, do the task once, and every click comes back as an annotated screenshot with the step already written. Native Mac menu bar app, on-device, no account, nothing uploaded. Export as GIF, PDF, MP4, clickable HTML, Markdown, or vertical video \u2014 one recording, your brand color. Free tier is real. Pro $2.99\/mo, $12.99\/yr, or $44.99 once.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m the person people come to when they can&#8217;t figure out how to do something. Where&#8217;s that setting, how do I export the report, why did the button move.<\/p>\n<p>For years my answer was the same ritual: take screenshots, crop them, draw arrows in Preview, paste it all into a document, send it off. Then three weeks later someone asks the same question, the app has updated, and half my screenshots are wrong.<\/p>\n<p>StepGrab came out of six months of fixing that for myself. It lives in the Mac menu bar. You hit record, do the task once, and stop. Every click comes back as an annotated screenshot with an arrow on what you clicked and a step description written by a model running on your Mac. Export it as a GIF, a PDF or an MP4.<\/p>\n<p>Worth being clear about: the app is Mac-only, the guides aren&#8217;t. Most of what any of us documents sits in a browser or a web app, so a guide I record on my Mac reads exactly the same for the colleague on Windows who asked me. I need the Mac. My reader doesn&#8217;t.<\/p>\n<p>The offline part matters to me more than anything else here. No account, no upload, nothing leaves your machine. Scribe and Tango are genuinely good tools, but they&#8217;re web-first and subscription-only, and I didn&#8217;t want my screen recordings living on someone else&#8217;s server. That&#8217;s also why there&#8217;s a one-time option ($44.99) next to the yearly one.<\/p>\n<p>Sorry, the offer field up there is too short for a link, so here it is properly. The code is PHUNT, and this opens the redeem screen straight away instead of making you dig for it in the App Store:<\/p>\n<p><a href=\"https:\/\/apps.apple.com\/redeem?ctx=offercodes&amp;id=6760129490&amp;code=PHUNT\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/apps.apple.com\/redeem?ctx=offercodes&amp;id=6760129490&amp;code=PHUNT<\/a><\/p>\n<p>That brings Lifetime to $34.99 instead of $44.99. It only works on Apple accounts that haven&#8217;t bought anything in the app yet, so if you already own Pro it will refuse. That&#8217;s Apple&#8217;s rule, not mine.<\/p>\n<p>What I&#8217;d actually love from you: push the step descriptions and tell me where they get vague.<\/p>\n<p>There&#8217;s a real constraint behind that one. To describe a click you need to know what was clicked, and on macOS that lives in the Accessibility API. I have shipped a build that used it, but approval for that entitlement is inconsistent enough that I can&#8217;t put a core feature on top of it. So I reconstruct from OCR and cursor position instead. When a control carries visible text that works well. When it&#8217;s an unlabelled toolbar icon it doesn&#8217;t, and that layer is still very much in development. The image foundation model coming in macOS 27 should close most of the gap, and until then I&#8217;m grateful for any ideas.<\/p>\n<p>On that: I&#8217;m staying fully native either way. No web wrapper, no cross-platform layer, because the whole point is that the app reads the Mac properly. I have thought about selling it directly alongside the App Store, which would lift some of those sandbox limits, and I might still do it one day. For now the App Store is the rounder package for a one-person operation, with updates, payments, refunds and a bit of borrowed trust all handled in one place<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The offline part makes a lot of sense to me since screen recordings can get pretty sensitive. How are you handling apps that change their UI often? Do the generated guides still hold up after updates?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sagar_deore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sagar_deore<\/a>&nbsp;Honest answer: they don&#8217;t. A guide made with StepGrab goes stale exactly like a hand-made one, and the app has no way to detect that a button moved.<\/p>\n<p>What changed for me is the cost of fixing it. Redoing a ten step guide used to be half an hour of screenshotting and annotating, so stale guides just stayed stale. Now it takes as long as doing the task itself plus about twenty seconds, and that&#8217;s cheap enough that I actually redo them instead of putting it off.<\/p>\n<p>For the smaller case, where the steps are still right and only a label changed, the Markdown and HTML exports let you edit the text without re-recording anything.<\/p>\n<p>Detecting drift properly is the genuinely interesting problem and I don&#8217;t have a good answer yet. If you have a workflow where this bites hardest, I&#8217;d like to hear it. That&#8217;s where most of my roadmap has come from so far.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Update from the maker, eleven hours in.<\/p>\n<p>I badly underestimated who I&#8217;d be sharing today with. ngrok, Framer, Cloudflare, X Money, ElevenLabs. Companies with teams, audiences and actual launch plans behind them.<\/p>\n<p>I have a Mac app I built next to a working student job, an email list of about 25 people, and no company. I went into today assuming I&#8217;d be invisible by lunchtime.<\/p>\n<p>So sitting where I am right now genuinely surprises me, and it&#8217;s down to people who had no reason to look and looked anyway.<\/p>\n<p>If StepGrab is useful to you, today is the day it counts most. And if you&#8217;d rather open it and tell me what&#8217;s wrong with it instead, that&#8217;s been the more valuable half of this thread anyway.<\/p>\n<p>Still here, still answering.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Two things, both aimed at the asks in your comment rather than the launch.<\/p>\n<\/p>\n<p>On vague descriptions for unlabelled toolbar icons: you&#8217;re trying to name the control, and OCR can&#8217;t. You might not need the name. You already capture the frame after the click, and an unlabelled icon almost always announces itself by what it opens. A panel appears with a title, a sidebar toggles. Describing the step by its effect (&#8220;open the Inspector panel&#8221;) is more useful to a reader than the label would have been anyway, and it needs nothing from the Accessibility API. The cases where the effect is invisible are rarer than the cases where the label is missing.<\/p>\n<\/p>\n<p>On drift, you may already have the thing that detects it, without adding a monitoring feature. Every guide you&#8217;ve made is a stored sequence of screens with OCR text attached. Every new recording anyone makes in the same app is a fresh sample of those screens. Fingerprint screens at record time and you can flag old guides containing a screen whose text no longer matches anything you&#8217;ve seen recently. It falls out of ordinary use instead of being a background job you&#8217;d have to justify. It&#8217;ll be noisy, and it won&#8217;t catch a button that moved without changing text, but &#8220;three of your guides touch a screen that has changed&#8221; beats nothing.<\/p>\n<\/p>\n<p>The reason I&#8217;d push on that one: a stale guide isn&#8217;t neutral. A missing guide sends someone to ask you. A confidently wrong one sends them down a path that doesn&#8217;t exist, and they burn twenty minutes before they start doubting the document. I keep a set of written procedures for my own build and release work, and the only one that ever really cost me was the one that stayed authoritative after the thing it described had moved. Nothing warned me. The reader trusts the artifact more than the author does.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@narek_keshishyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@narek_keshishyan<\/a>&nbsp;Thanks for reading the asks instead of the launch.<\/p>\n<p>The diff idea I should have seen myself. I already keep the frame from just before each click, so the next step&#8217;s screenshot is the after state. Every click has its pair sitting right there. And describing the effect is better writing anyway: &#8220;open the Inspector panel&#8221; tells the reader what they&#8217;re aiming at, &#8220;click the third toolbar icon&#8221; tells them where my mouse happened to be. Toggles and focus changes stay a hole, but falling back to position text only when the diff comes up empty beats doing it by default, which is what happens now.<\/p>\n<p>Drift is harder for a reason you couldn&#8217;t get from the post: there&#8217;s no server. Nothing leaves the machine, so &#8220;screens seen recently&#8221; only ever means screens this one user recorded. Narrower than what you describe. Possibly still enough, since whoever maintains ten procedures about the same three apps is also recording in those apps every other week. Noise is what I&#8217;d expect to fight. Different window width, different document open, and the OCR shifts without anything having changed, so probably fingerprint the stable chrome rather than everything on screen.<\/p>\n<p>Your last paragraph is the part I&#8217;ll be thinking about tonight. I had stale guides filed under annoying. Confidently wrong is something else, and the reader can&#8217;t tell which one they&#8217;re holding.<\/p>\n<p>None of it is built. The diff one I&#8217;ll probably just try this weekend.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/AYDC74BTZ43TYI\" class=\"app-title\">npm i -g hotcell<\/a><\/p>\n<div class=\"one-liner\">Local sandboxes for AI agents on your Mac, Linux, bare metal<\/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>hotcell \u662f\u4e00\u4e2a\u81ea\u6258\u7ba1\u7684\u672c\u5730\u6c99\u7bb1 SDK\uff0c\u8ba9\u5f00\u53d1\u8005\u6216 AI \u4ee3\u7406\u80fd\u5728 Mac\u3001Linux \u6216\u88f8\u91d1\u5c5e\u4e0a\u4e00\u6761\u547d\u4ee4\u62c9\u8d77\u591a\u4e2a\u9694\u79bb\u73af\u5883\uff0c\u89e3\u51b3\u672c\u5730\u5f00\u53d1\u65f6\u73af\u5883\u9694\u79bb\u96be\u3001API \u5bc6\u94a5\u6613\u6cc4\u9732\u53ca\u8d44\u6e90\u63a7\u5236\u4e0d\u4fbf\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\/f841be5f-5383-498e-ac11-5ff9adcbe247.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5c70fcb0-0291-4f79-b009-59c677c1c872.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/de606409-cc6f-4627-a426-29a27c4c335f.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\/d0da1a3e-ae88-4815-afee-30322b94cd25.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=N8AY9VsNl48\"><source src=\"https:\/\/www.youtube.com\/watch?v=N8AY9VsNl48\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">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\">\u6c99\u7bb1SDK<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u6c99\u7bb1<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u8d44\u6e90\u9694\u79bb<\/span><br \/>\n            <span class=\"tag\">\u5bb9\u5668\u4e0e\u5faeVM<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5bc6\u94a5\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\u80af\u5b9a\u5176\u5f00\u6e90\u4e0e\u5bc6\u94a5\u9694\u79bb\u8bbe\u8ba1\uff0c\u6838\u5fc3\u8ffd\u95ee\u96c6\u4e2d\u5728\u9694\u79bb\u6a21\u578b\uff08\u5bb9\u5668\/\u5faeVM\uff09\u53ca\u672c\u5730\u8d44\u6e90\u5360\u7528\uff1b\u5f00\u53d1\u8005\u56de\u590d\u660e\u786e\u652f\u6301 Docker\u3001Firecracker\u3001Apple VZ \u4e09\u79cd\u9a71\u52a8\uff0c\u5e76\u7ed9\u51fa\u7a7a\u95f2\u5185\u5b58\u4ec5 54MB\/\u5b9e\u4f8b\u3001\u865a\u62df\u5316\u5f00\u9500\u7ea6 16% \u7684\u5b9e\u6d4b\u6570\u636e\uff0c\u56de\u5e94\u4e86\u8f7b\u91cf\u5316\u7591\u8651\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                hotcell \u786e\u5b9e\u5207\u4e2d\u4e86\u5f53\u4e0b AI \u7f16\u7a0b\u4ee3\u7406\u6cdb\u6ee5\u540e\u7684\u4e00\u4e2a\u786c\u9700\u6c42\uff1a\u672c\u5730\u6c99\u7bb1\u7684\u201c\u4e3b\u6743\u201d\u95ee\u9898\u3002Cloudflare Sandbox SDK \u867d\u5f3a\uff0c\u4f46\u7ed1\u5b9a\u5176\u4e91\u73af\u5883\uff0c\u65e0\u6cd5\u8986\u76d6\u672c\u5730\u5f00\u53d1\u6216\u79c1\u6709\u5316\u90e8\u7f72\u7684\u96f6\u4fe1\u4efb\u573a\u666f\u3002hotcell \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u6ca1\u6709\u91cd\u9020\u9694\u79bb\u8f6e\u5b50\uff0c\u800c\u662f\u63d0\u4f9b\u7edf\u4e00\u62bd\u8c61\u5c42\uff0c\u5c06 Docker\u3001Firecracker\u3001Apple VZ \u4e09\u79cd\u5dee\u5f02\u5316\u9a71\u52a8\u5c01\u88c5\u6210\u4e00\u81f4\u7684\u547d\u4ee4\u4f53\u9a8c\uff0c\u8fd9\u964d\u4f4e\u4e86\u5de5\u7a0b\u5e08\u4e0e Agent \u7684\u63a5\u5165\u95e8\u69db\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u7684\u4ef7\u503c\u70b9\u4e0d\u5728\u201c\u9694\u79bb\u201d\u672c\u8eab\u2014\u2014\u5bb9\u5668\u548c\u5faeVM\u6280\u672f\u65e9\u5df2\u6210\u719f\u2014\u2014\u800c\u5728\u4e8e\u201c\u4e3a\u4ee3\u7406\u8bbe\u8ba1\u7684\u5b89\u5168\u8fb9\u754c\u201d\u3002per-sandbox token \u673a\u5236\u76f4\u51fb\u5f53\u524d AI \u5de5\u5177\u6ee5\u7528\u5168\u5c40 API Key \u7684\u4e03\u5bf8\uff0c\u907f\u514d\u4e86\u5bc6\u94a5\u5728\u591a\u4e2a\u5de5\u4f5c\u533a\u590d\u5236\u7c98\u8d34\u5e26\u6765\u7684\u6a2a\u5411\u79fb\u52a8\u98ce\u9669\u3002\u9ed8\u8ba4\u62d2\u7edd\u51fa\u7f51\u4f46\u653e\u884c LLM \u63d0\u4f9b\u65b9\uff0c\u8fd9\u4e00\u7b56\u7565\u65e2\u4fdd\u8bc1\u4e86\u5b89\u5168\uff0c\u53c8\u4e0d\u59a8\u788d\u6838\u5fc3\u7684 AI \u8c03\u7528\u573a\u666f\uff0c\u8bbe\u8ba1\u4e0a\u9ad8\u5ea6\u52a1\u5b9e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\u9700\u51b7\u9759\u770b\u5f85\uff1a\u5f53\u524d 111 \u7968\u7684\u6210\u7ee9\u4e0d\u7b97\u4eae\u773c\uff0c\u4e14\u9996\u6761\u8bc4\u8bba\u4e2d\u5f00\u53d1\u8005\u81ea\u8ff0\u201c\u82b1\u4e86\u4e24\u4e2a\u6708\u6d4b\u8bd5\u57fa\u51c6\u201d\u5374\u672a\u516c\u5e03\u4e0e Docker \u88f8\u8dd1\u7684\u7edd\u5bf9\u6027\u80fd\u6570\u636e\uff0c\u4ec5\u7ed9\u51fa 16% \u7684\u865a\u62df\u5316\u5f00\u9500\uff0c\u8fd9\u7559\u7ed9\u8ffd\u6c42\u6781\u81f4\u6027\u80fd\u7684\u7528\u6237\u7591\u8651\u3002\u6b64\u5916\uff0c\u81ea\u6258\u7ba1\u591a\u8282\u70b9\u7ba1\u7406\u7684\u590d\u6742\u6027\u3001\u4ee5\u53ca\u9762\u5bf9\u5df2\u7ecf\u7528\u5f00\u6e90\u7684 devcontainer \u6216\u95ed\u6e90\u7684 E2B \u7684\u5b58\u91cf\u7528\u6237\uff0c\u8fc1\u79fb\u6210\u672c\u662f\u5426\u8db3\u591f\u4f4e\uff0c\u4ecd\u662f\u672a\u77e5\u6570\u3002\u5b83\u66f4\u50cf\u662f\u4e00\u4e2a\u8d81\u624b\u7684\u5f00\u6e90\u5de5\u5177\uff0c\u800c\u4e0d\u662f\u4e00\u4e2a\u98a0\u8986\u6027\u7684\u5e73\u53f0\u3002\u82e5\u540e\u7eed\u80fd\u8865\u5f3a\u8c03\u5ea6\u7b56\u7565\u548c\u6c99\u7bb1\u751f\u547d\u5468\u671f\u81ea\u52a8\u5316\uff0c\u5e76\u79ef\u7d2f\u66f4\u591a\u793e\u533a\u6a21\u677f\uff0c\u624d\u6709\u671b\u4ece\u201c\u5c0f\u4f17\u5229\u5668\u201d\u8d70\u5411\u201c\u4f01\u4e1a\u6807\u914d\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\">npm i -g hotcell<\/span>\n                <\/div>\n<div class=\"comment-content\">Self-hostable sandbox SDK inspired by Cloudflare Sandbox SDK. works on any device (Mac, Linux, bare metal). super easy to use (both by human engineers and agents). you get full control over capacity\/token spent per sandbox, you can default-deny egress but still allow access to LLM providers, and API keys never directly enter each sandbox (it creates per-sandbox tokens instead that die when the sandbox stops). npm i -g hotcell<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">hello humans of PH \ud83d\ude42 i wanna share this open source project (apache 2.0) that i&#8217;ve been working on for the past 2 ish months or so. it&#8217;s called hotcell and it lets you create\/pause\/manage sandboxes on any device (your laptop, linux vm, bare metal).<\/p>\n<p>i&#8217;ve tested it against various benchmarks that i found on computesdk (<a href=\"https:\/\/www.computesdk.com\/benchmarks\/sandboxes\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.computesdk.com\/bench&#8230;<\/a>) as well as the one shared by dax (cofounder of open code) on twitter recently (link to his original thread and my reply <a href=\"https:\/\/x.com\/sinasanm\/status\/2078158598996443346\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/x.com\/sinasanm\/status\/20&#8230;<\/a>)<\/p>\n<p>and generally the full benchmark results are here: <a href=\"https:\/\/github.com\/sinameraji\/hotcell\/blob\/main\/docs\/benchma\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/sinameraji\/ho&#8230;<\/a>&#8230;<\/p>\n<p>i spent a lot of time on making sure both the devrloper experience and agent experience are smooth on it and im actively working to make it perform better against benchmarks.<\/p>\n<p>also api keys are never directly injected into the sandbox. instead it creates a per-sandbox token that becomes useless when the sandbox dies.<\/p>\n<p>as for isolation method, it can work with docker, apple VZ (vm grade isolation on mac) or firecracker for linux .<\/p>\n<p>primary use cases i imagine:<\/p>\n<p>* if you build agentic desktop apps that have filesystem access locally, hotcell makes it super easy to start a sandbox and bring whatever file needed to it, do the work in a new branch, create a PR and close the sandbox<\/p>\n<p>* if u just use claude code etc. and wanna spin up 5-6 diff environments without using worktree or cloning your project dirs, u can write a 1 line command like this to instantly have 5 sandboxes! hotcell create -n 5 &#8211;name feat &#8211;branch auto &#8211;opencode &#8211;repo <a href=\"https:\/\/github.com\/you\/app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/you\/app<\/a><\/p>\n<p>my inspiration was cloudflare sandbox sdk (but i noticed my friends and i couldn&#8217;t use cloudflare in on-prem environment so i thought i&#8217;d build a local \/ open source one that works w any hardwarw).<\/p>\n<p>thank you and hope you like it.<\/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\/@sinamerajii\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sinamerajii<\/a>&nbsp;Love seeing more infrastructure being open-sourced. <\/p>\n<\/p>\n<p>What stood out to me wasn&#8217;t just the sandboxing\u2014it&#8217;s that you&#8217;re optimizing for how developers and AI agents actually work. Spinning up isolated environments in a single command, avoiding duplicated repos, and creating per-sandbox credentials instead of exposing API keys are the kind of details that solve real workflow pain.<\/p>\n<p>Supporting Docker, Apple VZ, and Firecracker also gives builders flexibility instead of locking them into one environment. That&#8217;s a strong design choice for teams with different deployment needs.<\/p>\n<p>One question I&#8217;m curious about: after benchmarking Hotcell against other sandbox solutions, what was the biggest trade-off you refused to make? Was it raw performance, stronger isolation, or developer experience? Finding the right balance between those three is where products like this really stand out.<\/p>\n<\/p>\n<p>Congrats on shipping\u2014and even more for making it Apache 2.0. Open infrastructure moves the whole ecosystem forward. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What&#8217;s the isolation model &#8211; containers, lightweight VMs, or something custom? Curious how heavy it feels on a laptop running a coding agent alongside the sandbox.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kritishpuri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kritishpuri<\/a>&nbsp;not custom. 3 drivers: containers (docker) by default, or microvms, firecracker on linux\/kvm and apple VZ on macos. you can set a default once at setup and can override it per sandbox (&#8211;driver), so a single daemon can run both tiers at once.<\/p>\n<\/p>\n<p>re: weight, here are some numbers (all in docs\/benchmarks.md): <\/p>\n<p>idle footprint measured ~54 mb of host ram per firecracker vm (40 on a 4-vcpu box).<\/p>\n<p>on a real workload (clone + install + typecheck) virtualisation cost was ~16%. <\/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 per-sandbox scoped tokens that die with the sandbox is honestly such a clean move, keeps api keys out of the blast radius without making the workflow 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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Sandboxing agents locally makes a lot of sense to me. How much does the isolation cost you in practice on a Mac? Curious whether it&#8217;s noticeable or whether it disappears into the noise.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/CUBCPZASTNWWPD\" class=\"app-title\">Keytones<\/a><\/p>\n<div class=\"one-liner\">Distinct key sounds for uppercase, lowercase &#038; more<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">101<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Keytones \u662f\u4e00\u6b3e macOS \u83dc\u5355\u680f\u5e94\u7528\uff0c\u901a\u8fc7\u4e3a\u5927\u5c0f\u5199\u5b57\u6bcd\u3001\u7a7a\u683c\u53ca\u4fee\u9970\u952e\u5206\u914d\u4e0d\u540c\u6309\u952e\u97f3\uff0c\u8ba9\u7528\u6237\u7528\u8033\u6735\u5373\u65f6\u5bdf\u89c9\u8bef\u89e6 Caps Lock \u6216 Shift \u9057\u6f0f\uff0c\u89e3\u51b3\u201c\u76f2\u6253\u65f6\u89c6\u89c9\u76f2\u533a\u201d\u5bfc\u81f4\u7684\u8f93\u5165\u9519\u8bef\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\/233d8b7b-cb20-42b3-84bf-26af280d3feb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/570d27c4-960f-42c2-bf17-31be3f8d83b6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8adc6b0d-8951-4869-ab15-8f93b3008b7e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ccfaaa75-5f78-4f03-8624-285624f8df91.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\/d4537b9d-d277-4ffa-bdc7-7f0303734ae4.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/MB-mN4Q2VAg\"><source src=\"https:\/\/youtu.be\/MB-mN4Q2VAg\" 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\">User Experience<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u952e\u76d8\u97f3\u6548<\/span><br \/>\n            <span class=\"tag\">\u8f93\u5165\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u542c\u89c9\u63d0\u793a<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8f85\u52a9\u529f\u80fd<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u58f0\u97f3\u5b9a\u5236<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8ba2\u9605<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u5176\u201c\u5927\u5c0f\u5199\u533a\u5206\u97f3\u201d\u89e3\u51b3\u4e86\u771f\u5b9e\u75db\u70b9\uff0c\u4f46\u8d28\u7591\u8033\u673a\u964d\u566a\u73af\u5883\u4e0b\u97f3\u6548\u8fa8\u8bc6\u5ea6\uff0c\u503e\u5411\u4e8e\u4f9d\u8d56\u89c6\u89c9\u53cd\u9988\u3002\u53e6\u6709\u7528\u6237\u8be2\u95ee\u89c6\u89c9\u5149\u6655\u662f\u5426\u5168\u5c40\u8986\u76d6\u3001\u5e94\u7528\u767d\u540d\u5355\u914d\u7f6e\u65b9\u5f0f\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5149\u6655\u53ef\u72ec\u7acb\u5f00\u5173\u4e14\u5168\u5c40\u7f6e\u9876\uff0c\u767d\u540d\u5355\u901a\u8fc7\u83dc\u5355\u8bbe\u7f6e\u3001\u6570\u636e\u5b58\u4e8e\u672c\u5730\u975eUserDefaults\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                Keytones \u7684\u5207\u5165\u70b9\u6781\u5176\u5201\u94bb\u2014\u2014\u5b83\u4e0d\u89e3\u51b3\u201c\u6253\u5b57\u5feb\u201d\u6216\u201c\u66f4\u51c6\u201d\u7684\u6548\u7387\u95ee\u9898\uff0c\u800c\u662f\u76f4\u51fb\u4e00\u4e2a\u5fae\u5c0f\u4f46\u9ad8\u9891\u7684\u8ba4\u77e5\u5931\u8c03\u77ac\u95f4\uff1aCaps Lock \u5df2\u5f00\u542f\u4f46\u773c\u775b\u5c1a\u672a\u5bdf\u89c9\u3002\u8fd9\u79cd\u201c\u542c\u89c9\u7ea0\u9519\u201d\u672c\u8d28\u4e0a\u662f\u5c06\u89c6\u89c9\u6ce8\u610f\u529b\u4ece\u6587\u672c\u4e2d\u89e3\u653e\u51fa\u6765\uff0c\u628a\u9519\u8bef\u68c0\u6d4b\u8f6c\u5ac1\u7ed9\u66f4\u4f4e\u7ea7\u7684\u542c\u89c9\u56de\u8def\uff0c\u5728\u5fc3\u7406\u5b66\u4e0a\u5c5e\u4e8e\u5178\u578b\u7684\u201c\u4ea4\u53c9\u6a21\u6001\u53cd\u9988\u201d\u8bbe\u8ba1\uff0c\u6bd4\u673a\u68b0\u952e\u76d8\u6a21\u62df\u5668\u9ad8\u51fa\u4e0d\u6b62\u4e00\u4e2a\u7ef4\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5b83\u7684\u91ce\u5fc3\u663e\u7136\u4e0d\u6b62\u4e8e\u201c\u4e00\u4e2a\u8f85\u52a9\u5de5\u5177\u201d\u3002\u4ece\u89c6\u89c9\u5149\u6655\u3001\u6bcf\u5e94\u7528\u63a7\u5236\u3001\u72ec\u7acb\u97f3\u91cf\u8bb0\u5fc6\u5230 Shortcuts \u96c6\u6210\uff0c\u4ea7\u54c1\u5728\u52aa\u529b\u4ece\u201c\u8da3\u5473\u73a9\u5177\u201d\u5411\u201c\u4e13\u4e1a\u7ea7\u8f93\u5165\u73af\u5883\u7ba1\u7406\u7cfb\u7edf\u201d\u8dc3\u8fc1\u3002\u8fd9\u79cd\u5168\u9762\u6027\u65e2\u662f\u4f18\u52bf\u4e5f\u662f\u8d1f\u62c5\uff1a\u6838\u5fc3\u5356\u70b9\uff08\u56db\u7ec4\u6309\u952e\u97f3\u533a\u5206\uff09\u5728\u5b89\u9759\u73af\u5883\u4e0b\u662f\u964d\u7ef4\u6253\u51fb\uff0c\u4f46\u5728\u964d\u566a\u8033\u673a\u6216\u5608\u6742\u529e\u516c\u73af\u5883\u4e2d\uff0c\u542c\u89c9\u901a\u9053\u88ab\u5360\u6ee1\u65f6\uff0c\u89c6\u89c9\u53cd\u9988\u5c31\u6210\u4e86\u552f\u4e00\u53ef\u9760\u8def\u5f84\u2014\u2014\u800c\u8fd9\u610f\u5473\u7740\u7528\u6237\u5fc5\u987b\u53cc\u8f68\u9002\u5e94\uff0c\u5b66\u4e60\u6210\u672c\u9661\u589e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u73a9\u5473\u7684\u662f\u5f00\u53d1\u8005\u7b56\u7565\uff1a\u4e00\u6b21\u4e70\u65ad\u3001\u65e0\u8ba2\u9605\u3001\u672c\u5730\u6570\u636e\u5b58\u50a8\uff0c\u5728 SaaS \u6cdb\u6ee5\u7684\u5f53\u4e0b\u663e\u5f97\u514b\u5236\u800c\u81ea\u4fe1\u3002\u4f46\u8fd9\u4e5f\u6697\u85cf\u98ce\u9669\u2014\u2014\u9760101\u4e2a\u6295\u7968\u7684\u51b7\u542f\u52a8\uff0c\u80fd\u5426\u652f\u6491\u6301\u7eed\u7684\u5b9a\u5236\u5316\u7ef4\u62a4\uff1f\u7528\u6237\u8bc4\u8bba\u4e2d\u201c\u81ea\u5df1\u662f\u5426\u5c31\u7528\u5f97\u4e0a\u201d\u7684\u8c03\u4f83\uff0c\u6070\u597d\u70b9\u51fa\u5b83\u7684\u6700\u5927\u5c40\u9650\uff1a\u8fd9\u662f\u4e00\u4e2a\u4e3a\u201c\u6bcf\u6b21\u8f93\u5165\u90fd\u4f1a\u5fc3\u4e00\u7b11\u201d\u7684\u6781\u5ba2\u51c6\u5907\u7684\u73a9\u5177\uff0c\u800c\u975e\u89e3\u51b3\u201c\u6548\u7387\u74f6\u9888\u201d\u7684\u751f\u4ea7\u529b\u5de5\u5177\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u53ef\u80fd\u4e0d\u5728\u5e2e\u7528\u6237\u4e0d\u72af\u9519\u8bef\uff0c\u800c\u5728\u8ba9\u201c\u72af\u9519\u8bef\u201d\u672c\u8eab\u53d8\u5f97\u4e0d\u90a3\u4e48\u4ee4\u4eba\u6cae\u4e27\u2014\u2014\u4ece\u8fd9\u4e2a\u89d2\u5ea6\u770b\uff0c\u5b83\u5356\u7684\u4e0d\u662f\u529f\u80fd\uff0c\u662f\u8f93\u5165\u65f6\u7684\u90a3\u70b9\u5fae\u5c0f\u7684\u786e\u5b9a\u6027\u6109\u60a6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53ef\u60dc\uff0c\u8fd9\u79cd\u6109\u60a6\u7684\u53d7\u4f17\u57fa\u672c\u9762\uff0c\u51b3\u5b9a\u4e86\u5b83\u53ea\u80fd\u505c\u7559\u5728\u5c0f\u4f17\u7cbe\u54c1\uff0c\u800c\u975e\u5927\u4f17\u7206\u6b3e\u3002\u9664\u975e\u672a\u6765\u63a5\u5165\u6587\u672c\u7ea0\u9519\u5f15\u64ce\u6216\u4e0e\u8f93\u5165\u6cd5\u8054\u52a8\uff0c\u5426\u5219\u5b83\u6c38\u8fdc\u53ea\u662f\u5c11\u6570\u4eba\u7684\u542c\u89c9\u4eea\u5f0f\u611f\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\">Keytones<\/span>\n                <\/div>\n<div class=\"comment-content\">Ever typed a whole sentence in caps before noticing? Keytones plays a distinct sound for each key group (uppercase, lowercase, space bar, and modifiers) so your ears catch a stray Caps Lock before your eyes do. Tune Pitch, Length, Damping + Volume per group, import your own sounds, or, if audible feedback isn&#8217;t an option, turn on Visual Feedback: a glowing screen edge that pulses with every keystroke. Per-app control, Siri + Shortcuts, instant triple-tap mute. One-time purchase, no subscription.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! I&#8217;m Stefan, the maker of Keytones, a Mac menubar app.<\/p>\n<p>I developed Keytones because I kept having trouble typing capital letters without realizing it. Keytones addresses this problem: It plays a different sound for uppercase letters, lowercase letters, the space bar, and the modifier keys (all customizable), so your ears will notice an accidentally activated Caps Lock key or an unpressed Shift key sooner than your eyes will.<\/p>\n<p>What makes it different from &#8220;typewriter sound&#8221; apps:<\/p>\n<p>Keytones isn&#8217;t about imitating a mechanical keyboard. Each of the four key groups gets its own tone. You hear the difference between A and a immediately.<\/p>\n<p>Key features:<\/p>\n<ul>\n<li>\n<p>Shape the sound for each key group with four knobs: Pitch, Length, Damping, Volume<\/p>\n<\/li>\n<li>\n<p>Visual Feedback: A glowing border around the screen pulses with each keystroke, with the color and size varying depending on the key group. Can be turned on or off independently of keypress sounds. Ideal for environments where keypress sounds are disruptive or the audio output device has too much latency.<\/p>\n<\/li>\n<li>\n<p>Per-app control: exclude apps or allow only the ones you pick<\/p>\n<\/li>\n<li>\n<p>Import your own audio files via drag &amp; drop<\/p>\n<\/li>\n<li>\n<p>Instant mute: triple-tap a configurable modifier key (Right Command by default)<\/p>\n<\/li>\n<li>\n<p>Siri &amp; Shortcuts support<\/p>\n<\/li>\n<li>\n<p>Remembers separate volume levels per audio device (MacBook speakers, headphones, Bluetooth)<\/p>\n<p>One-time purchase, no subscriptions, no ads!<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@stefan_keller\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@stefan_keller<\/a>&nbsp;Small idea, and I mean that as a compliment. Did you build this for yourself first? The uppercase distinction sounds like something you&#8217;d only think of after being annoyed by it personally.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is such a specific and real problem to solve &#8211; i definitely lose a few seconds every week to realizing mid sentence that caps lock snuck on. curious how well the pitch differences actually hold up once noise cancelling headphones are on, or if most people end up leaning on the visual glow instead once they&#8217;ve tried 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The visual feedback mode is what I actually want for meetings. Does the screen glow overlay show up on top of all apps, or only when Keytones is active? Per-app control: UI setting or plist edit?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@leo404\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@leo404<\/a>&nbsp;The visual feedback appears on top of all apps and can be turned on and off independently of the audio feedback (via the menu bar, or using the App\/Siri shortcut). Keytones doesn\u2019t have to be the foreground app for this to work; it\u2019s a menu bar app that runs in the background. You usually only open the window shown in the screenshots\u2014with the handy knobs\u2014when you want to tweak the sound. The window doesn\u2019t need to be open for the audio and visual feedback to work.<\/p>\n<\/p>\n<p>The quickest way to set which apps are allowed or excluded is through the app\u2019s menu. the settings aren\u2019t saved in the app\u2019s UserDefaults but in its own local data store.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/N6FJPSJWI2QKQE\" class=\"app-title\">Hansel<\/a><\/p>\n<div class=\"one-liner\">Remember everything you&#8217;ve worked on<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">100<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Hansel \u662f\u4e00\u6b3e\u8fd0\u884c\u5728 Mac \u4e0a\u7684\u672c\u5730\u52a0\u5bc6\u5de5\u4f5c\u8bb0\u5f55\u52a9\u624b\uff0c\u901a\u8fc7\u81ea\u52a8\u6355\u6349\u4f60\u7684\u64cd\u4f5c\u8f68\u8ff9\uff0c\u5e2e\u4f60\u56de\u7b54\u201c\u4eca\u5929\u5230\u5e95\u505a\u4e86\u4ec0\u4e48\u201d\uff0c\u89e3\u51b3\u8de8\u5de5\u5177\u3001\u8de8\u4efb\u52a1\u573a\u666f\u4e0b\u5de5\u4f5c\u8bb0\u5fc6\u788e\u7247\u5316\u3001\u590d\u76d8\u56f0\u96be\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\/2439d8c0-f2be-42ca-b5de-73e5dd97d2f7.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=wAncCQSv3Qk\"><source src=\"https:\/\/www.youtube.com\/watch?v=wAncCQSv3Qk\" 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\/693c9bd7-961f-420f-a4b4-ea762ec0f7b5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c78a5fb6-713d-43e7-8a70-bc16339b2b56.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8d732e92-c68c-4360-bf39-ed633763c3a6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/444ff2a9-75e2-4c70-82e0-b35604820fe3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">AI\u95ee\u7b54<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u6355\u6349<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u52a0\u5bc6\u5b58\u50a8<\/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\u8bb0\u4f4f\u5de5\u4f5c\u5185\u5bb9\u201d\u7684\u75db\u70b9\uff0c\u8d5e\u8d4f\u9690\u79c1\u4f18\u5148\u7684\u67b6\u6784\u3002\u6838\u5fc3\u8d28\u7591\u96c6\u4e2d\u5728\uff1a\u662f\u5426\u4ec5\u8bb0\u5f55\u201c\u505a\u4e86\u4ec0\u4e48\u201d\u800c\u9057\u6f0f\u201c\u51b3\u7b56\u4e0e\u7f18\u7531\u201d\uff1b\u6570\u636e\u8fc7\u6ee4\u53d1\u751f\u5728\u5199\u5165\u3001\u67e5\u8be2\u8fd8\u662f\u6c38\u4e0d\u53d1\u751f\uff0c\u662f\u5426\u8db3\u591f\u667a\u80fd\uff1b\u62c5\u5fe7\u4f01\u4e1a\u53ef\u80fd\u5229\u7528\u6b64\u7c7b\u5de5\u5177\u76d1\u63a7\u5458\u5de5\uff0c\u6709\u8bc4\u8bba\u6307\u51fa\u672c\u5730\u52a0\u5bc6\u662f\u552f\u4e00\u53ef\u9760\u9632\u7ebf\uff0c\u5e76\u8ffd\u95ee\u662f\u5426\u5b58\u5728\u4efb\u4f55\u7ba1\u7406\u5458\u5bfc\u51fa\u8def\u5f84\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                Hansel \u8e29\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u65e5\u76ca\u52a0\u5267\u7684\u75db\u70b9\uff1a\u77e5\u8bc6\u5de5\u4f5c\u8005\u7684\u6ce8\u610f\u529b\u788e\u7247\u5316\u5bfc\u81f4\u201c\u5931\u5fc6\u75c7\u201d\u3002\u5176\u201c\u672c\u5730\u52a0\u5bc6+\u96f6\u6570\u636e\u4fdd\u7559\u201d\u7684\u9690\u79c1\u67b6\u6784\uff0c\u5728\u5f53\u4e0b AI \u5e94\u7528\u6ee5\u7528\u6570\u636e\u7684\u80cc\u666f\u4e0b\u662f\u6781\u5177\u6740\u4f24\u529b\u7684\u5dee\u5f02\u5316\u5356\u70b9\uff0c\u4e5f\u662f\u5bf9\u201c\u76d1\u63a7\u8f6f\u4ef6\u201d\u8d28\u7591\u7684\u6700\u6709\u529b\u56de\u51fb\u2014\u2014\u628a\u6570\u636e\u4e3b\u6743\u5f7b\u5e95\u8fd8\u7ed9\u7528\u6237\uff0c\u4ece\u7269\u7406\u4e0a\u675c\u7edd\u4e86\u4ea7\u54c1\u65b9\u4f5c\u6076\u7684\u53ef\u80fd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u8fd9\u6070\u6070\u66b4\u9732\u4e86\u4ea7\u54c1\u6700\u6df1\u5c42\u7684\u77db\u76fe\u3002\u5982\u4e00\u4f4d\u7280\u5229\u8bc4\u8bba\u8005\u6240\u8a00\uff0c\u201c\u8bb0\u4f4f\u4e00\u5207\u201d\u662f\u5f55\u97f3\u673a\u7684\u529f\u80fd\uff0c\u800c\u975e\u5927\u8111\u7684\u3002Hansel \u628a\u8fc7\u6ee4\u7684\u96be\u9898\u63a8\u7ed9\u4e86\u67e5\u8be2\u65f6\u7684 AI\uff0c\u4f46\u8fd9\u8981\u6c42\u5176\u5e95\u5c42\u6a21\u578b\u5177\u5907\u6781\u5f3a\u7684\u201c\u4fe1\u606f\u71b5\u201d\u7b5b\u9664\u80fd\u529b\u2014\u2014\u4ece\u7e41\u6742\u4e71\u7801\u4e2d\u7cbe\u51c6\u63d0\u53d6\u201c\u51b3\u5b9a\u201d\u548c\u201c\u8f6c\u6298\u70b9\u201d\u3002\u5982\u679c\u505a\u4e0d\u5230\uff0c\u5b83\u4ea4\u4ed8\u7684\u53ea\u662f\u4e00\u4e2a\u9ad8\u7ea7\u7248\u201c\u5386\u53f2\u65f6\u95f4\u8f74\u201d\uff0c\u7528\u6237\u4f9d\u65e7\u8981\u9762\u5bf9\u4fe1\u606f\u6d2a\u6d41\uff0c\u53ea\u662f\u4ece\u201c\u7ffb\u6587\u4ef6\u5939\u201d\u53d8\u6210\u4e86\u201c\u95ee AI\u201d\u3002\u8fd9\u79cd\u4ef7\u503c\u66ff\u4ee3\u6027\u6781\u5f31\uff0c\u7528\u6237\u5f88\u5bb9\u6613\u5728\u65b0\u9c9c\u611f\u6d88\u9000\u540e\u5f03\u7528\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\uff0cHansel \u9700\u8981\u4ece\u201c\u88ab\u52a8\u8bb0\u5f55\u4eea\u201d\u8fdb\u5316\u4e3a\u201c\u4e3b\u52a8\u601d\u8003\u8005\u201d\u3002\u5b83\u4e0d\u4ec5\u8981\u56de\u7b54\u201c\u6211\u505a\u4e86\u4ec0\u4e48\u201d\uff0c\u66f4\u8981\u80fd\u56de\u7b54\u201c\u6211\u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\u201d\uff0c\u5e76\u4e3b\u52a8\u63d0\u70bc\u51fa\u51b3\u7b56\u8109\u7edc\u4e0e\u672a\u88ab\u91c7\u7eb3\u7684\u5907\u9009\u65b9\u6848\u3002\u8fd9\u9700\u8981\u5b83\u5728\u8bb0\u5f55\u65f6\u8fdb\u884c\u66f4\u667a\u80fd\u7684\u8bed\u4e49\u7ed3\u6784\u5316\uff0c\u800c\u975e\u4e8b\u540e\u68c0\u7d22\u3002\u82e5 Hansel \u80fd\u8de8\u8d8a\u201c\u8f6c\u5f55\u201d\u4e0e\u201c\u8ba4\u77e5\u201d\u4e4b\u95f4\u7684\u9e3f\u6c9f\uff0c\u5b83\u624d\u6709\u8d44\u683c\u6210\u4e3a\u77e5\u8bc6\u5de5\u4f5c\u8005\u7684\u5916\u7f6e\u5927\u8111\uff0c\u5426\u5219\uff0c\u5b83\u53ea\u662f\u4e00\u4e2a\u5305\u88c5\u7cbe\u7f8e\u7684\u201c\u6570\u5b57\u8d26\u672c\u201d\u3002\u521b\u59cb\u4eba\u7684\u9080\u7ea6\u201c\u7528\u4e00\u5929\u540e\u6765\u95ee\u6211\u201d\uff0c\u6b63\u662f\u8fd9\u573a\u8003\u9a8c\u7684\u5f00\u59cb\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\">Hansel<\/span>\n                <\/div>\n<div class=\"comment-content\">Hansel helps you remember what you worked on, find past context, and answer questions about your workday. Your data stays encrypted on your Mac.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt!<\/p>\n<p>I\u2019m Ben, the founder and builder of Hansel.<\/p>\n<p>I built Hansel because my work is increasingly scattered across issues, browser tabs, email, chats, and meetings. Each place contains part of the story, but by the end of the day I can still struggle to answer a basic question: what did I actually do?<\/p>\n<p>Hansel creates a private history of that workday that I can ask questions about including \u201cWhat did I do today?\u201d<\/p>\n<p>Privacy was a product constraint from the beginning. By default, your activity history, chats, screenshots, and recordings are stored only on your Mac and are always encrypted. The encryption keys stay in your Mac\u2019s Keychain. AI requests only go to providers with zero-data-retention policies.<\/p>\n<p>Hansel is for people doing complex work across a lot of tools, especially people managing AI agents, projects, meetings, and communication at the same time.<\/p>\n<p>My request is simple: install Hansel, use it for one real workday, and ask what you did at the end of the day. If the answer doesn\u2019t match your day, tell me what it missed. <\/p>\n<p>I\u2019ll be here answering questions and learning from everyone who tries it!<\/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\/@biw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@biw<\/a>&nbsp;Congratulations on the launch! Love your branding, kudos to 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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@biw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@biw<\/a>&nbsp;The category name is the trap. Remembering everything is what a transcript does, and a transcript is the thing nobody opens. The actual work is separating what was a decision from what was noise, and that call cannot be made at capture time, because you do not yet know which of today&#8217;s dead ends gets corrected an hour later. So the question I would ask about Hansel is when the filtering happens: at write, at query, or never. Never is the honest default and it moves the entire burden onto search being genuinely good. Which did you pick, and did you try the other one 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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@biw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@biw<\/a>&nbsp;bekar product<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that actually gets my messy work context without making me dig through a million folders lol<\/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>100% <a href=\"https:\/\/www.producthunt.com\/@fahri1585951\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fahri1585951<\/a>&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is actually something I&#8217;ve felt myself. By the end of the day, I&#8217;ve switched between so many tabs, chats, docs, and meetings that it&#8217;s hard to remember what I actually got done.<\/p>\n<\/p>\n<p>I also like that you made privacy a priority from day one instead of treating it as an afterthought.<\/p>\n<\/p>\n<p>Simple idea, but I can see it being really useful. Congrats on the launch, Ben!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<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\/@sagar_deore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sagar_deore<\/a>! Would love to get your feedback after you try Hansel!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 to see how well it keeps track when you&#8217;re bouncing between tabs, email, CRM, and AI tools all day \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Would love your feedback <a href=\"https:\/\/www.producthunt.com\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/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>Hey! I run an append-only log and a wiki as my company&#8217;s external memory, daily. Does this go beyond what you did and also capture what you decided and why? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the product, worried that companies might use this to track employees! :\/<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@seomaxtech\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@seomaxtech<\/a>&nbsp;This is the right worry and the answer has to be architectural, not a promise. Local and encrypted on the machine is the only version that survives a policy change or an acquisition, because a promise not to build the admin view is worth exactly as much as whoever owns the company next. The test I would apply to any tool in this shape: is there an export or admin path at all, for anyone, under any plan? If one exists it will eventually be turned on, because someone will ask and there will be a reason. If it genuinely cannot exist without the user&#8217;s key, the concern mostly goes away.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Juggling different tasks and trying to understand what useful stuff I got done today sounds familiar&#8230; I&#8217;d definitely try it if I had Mac. Looks promising! Good luck on your launch, Ben!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you<a href=\"https:\/\/www.producthunt.com\/@margarita_s88\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@margarita_s88<\/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<\/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\/N77U7T7KWCKQJ3\" class=\"app-title\">Aegisora<\/a><\/p>\n<div class=\"one-liner\">The narrow control plane for AI agent tool and API calls.<\/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>Aegisora \u662f\u4e00\u6b3e\u9762\u5411\u4f01\u4e1a AppSec \u56e2\u961f\u7684\u5f00\u6e90\u96f6\u5ef6\u8fdf\u4ee3\u7406\u5c42\uff0c\u7528\u4e8e\u5728 AI \u667a\u80fd\u4f53\u8c03\u7528\u5de5\u5177\u548c API \u65f6\u62e6\u622a\u6076\u610f\u884c\u4e3a\u3001\u6267\u884c\u6700\u5c0f\u6743\u9650\u8bbf\u95ee\u3001\u5b9e\u65f6\u8131\u654f PII\uff0c\u5e76\u751f\u6210\u53ef\u8bfb\u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u89e3\u51b3\u751f\u4ea7\u73af\u5883\u4e0b AI \u4ee3\u7406\u8fd0\u884c\u65f6\u201c\u770b\u4e0d\u89c1\u3001\u7ba1\u4e0d\u4f4f\u201d\u7684\u5b89\u5168\u76f2\u533a\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\/5cebb858-fa6b-4243-b5d6-308708550533.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ed83faeb-b9f5-4155-99f5-48de524408dd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ff9e4025-82eb-40c3-a71e-9027bda66e46.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8562d624-a230-487e-9be5-5e43320f9dc6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7444016e-c71e-48ad-a772-f0ff02e00c52.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5cae9b52-6d0a-49a3-bdda-be8fe9a789b5.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\/6d3cb64e-7e75-4e90-ab77-6b0e7de17482.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=t39fy9W_u4Y\"><source src=\"https:\/\/www.youtube.com\/watch?v=t39fy9W_u4Y\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u96f6\u4fe1\u4efb\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">API\u7f51\u5173<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u884c\u65f6\u9632\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5b89\u5168\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u63d0\u793a\u6ce8\u5165\u9632\u62a4<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u8131\u654f<\/span><br \/>\n            <span class=\"tag\">\u5ba1\u8ba1\u65e5\u5fd7<\/span><br \/>\n            <span class=\"tag\">\u6700\u5c0f\u6743\u9650\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">AppSec<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005\u81ea\u8ff0\u5b9a\u4f4d\u7cbe\u51c6\uff0c\u201c\u4f01\u4e1a\u4e70\u7684\u662f\u8fd0\u8425\u63a7\u5236\u6743\u800c\u975e\u62bd\u8c61AI\u5b89\u5168\u201d\u3002\u6838\u5fc3\u8d28\u7591\uff1a\u5355\u6b21\u8c03\u7528\u7684\u6700\u5c0f\u6743\u9650\u7b56\u7565\u65e0\u6cd5\u9632\u8303\u4ee3\u7406\u5728\u5355\u6b21\u5408\u89c4\u4e0b\u7d2f\u8ba1\u6267\u884c\u6570\u767e\u6b21\u5408\u6cd5\u8c03\u7528\u9020\u6210\u7684\u201c\u7d2f\u79ef\u7206\u70b8\u534a\u5f84\u201d\u98ce\u9669\uff0c\u8ffd\u95ee Aegisora \u662f\u5426\u652f\u6301\u8de8\u8fd0\u884c\u65f6\u7684\u6574\u4f53\u6001\u52bf\u611f\u77e5\uff0c\u800c\u975e\u4ec5\u8bf7\u6c42\u7ea7\u5f3a\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                Aegisora \u8e29\u51c6\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u6025\u8feb\u7684\u75db\u70b9\uff1a\u5f53 AI \u4ee3\u7406\u4ece Demo \u8d70\u5411\u751f\u4ea7\uff0c\u5b89\u5168\u4e0d\u518d\u662f\u201c\u6a21\u578b\u5bf9\u9f50\u201d\u8fd9\u7c7b\u7384\u5b66\u53d9\u4e8b\uff0c\u800c\u662f API \u8c03\u7528\u94fe\u4e0a\u6bcf\u4e00\u6b21\u8bfb\u5199\u7684\u53ef\u89c2\u6d4b\u4e0e\u53ef\u963b\u65ad\u3002\u5b83\u7684\u5b9a\u4f4d\u5207\u4e2d\u8981\u5bb3\u2014\u2014\u4e0d\u505a AI \u5b89\u5168\u5e73\u53f0\uff0c\u53ea\u505a\u63a7\u5236\u5e73\u9762\uff0c\u8fd9\u65e2\u907f\u5f00\u4e86\u4e0e\u4e91\u5382\u5546\u5b89\u5168\u5957\u4ef6\u7684\u6b63\u9762\u7ade\u4e89\uff0c\u53c8\u7cbe\u51c6\u670d\u52a1\u4e86\u6709\u5408\u89c4\u521a\u9700\u7684 AppSec \u5de5\u7a0b\u5e08\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u8bc4\u8bba\u8005\u7684\u53cd\u95ee\u76f4\u6307\u4ea7\u54c1\u8bbe\u8ba1\u7684\u6838\u5fc3\u77ed\u677f\uff1a\u5982\u679c Aegisora \u7684\u62e6\u622a\u903b\u8f91\u662f\u9010\u8bf7\u6c42\u6267\u884c\u7684\u9759\u6001\u7b56\u7565\uff0c\u90a3\u4e48\u5b83\u672c\u8d28\u4e0a\u53ea\u662f\u4e2a\u52a0\u4e86 PII \u8bc6\u522b\u548c\u8bed\u4e49\u8fc7\u6ee4\u7684 API \u7f51\u5173\uff0c\u5e76\u672a\u89e3\u51b3\u4ee3\u7406\u65f6\u4ee3\u6700\u5371\u9669\u7684\u201c\u6162\u6027\u4e2d\u6bd2\u201d\u95ee\u9898\u2014\u2014\u4e00\u6b21\u6743\u9650\u5408\u6cd5\u7684\u8c03\u7528\u4e0d\u5371\u9669\uff0c\u4e00\u767e\u6b21\u4e92\u76f8\u914d\u5408\u7684\u5408\u6cd5\u8c03\u7528\u8db3\u4ee5\u9020\u6210\u707e\u96be\u6027\u6570\u636e\u5916\u6cc4\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u80fd\u5426\u5efa\u7acb\u8de8\u8bf7\u6c42\u7684\u4e0a\u4e0b\u6587\u72b6\u6001\u673a\uff0c\u5b9e\u65f6\u8ba1\u7b97\u4ee3\u7406\u5728\u5355\u6b21\u8fd0\u884c\u4efb\u52a1\u4e2d\u7684\u7d2f\u8ba1\u6570\u636e\u8bbf\u95ee\u91cf\u3001\u654f\u611f\u64cd\u4f5c\u5e8f\u5217\u548c\u504f\u79bb\u7528\u6237\u610f\u56fe\u7684\u884c\u4e3a\u8f68\u8ff9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u9690\u60a3\u662f\u201c\u96f6\u5ef6\u8fdf\u201d\u5ba3\u4f20\u7684\u53cc\u91cd\u6027\uff1a\u5728\u4ee3\u7406\u8def\u5f84\u4e0a\u63d2\u5165\u6df1\u5ea6\u5185\u5bb9\u8fc7\u6ee4\u5fc5\u7136\u5f15\u5165\u5f00\u9500\uff0c\u53f7\u79f0\u96f6\u5ef6\u8fdf\u8981\u4e48\u662f\u62bd\u6837\u68c0\u6d4b\u975e\u5168\u91cf\u5ba1\u8ba1\uff0c\u8981\u4e48\u5728\u541e\u5410\u91cf\u4e0a\u505a\u4e86\u53d6\u820d\u3002\u5efa\u8bae\u56e2\u961f\u5c3d\u5feb\u516c\u5f00\u57fa\u51c6\u6d4b\u8bd5\u6570\u636e\uff0c\u5e76\u660e\u786e\u56de\u7b54\uff1a\u62e6\u622a\u8bed\u4e49\u6ce8\u5165\u65f6\uff0c\u662f\u6a21\u578b\u4fa7\u63d0\u793a\u8bcd\u5339\u914d\u8fd8\u662f\u884c\u4e3a\u4fa7\u53c2\u6570\u6821\u9a8c\uff1f\u5982\u679c\u662f\u540e\u8005\uff0c\u5982\u4f55\u5e94\u5bf9\u591a\u8f6e\u5bf9\u8bdd\u4e2d\u9690\u5f0f\u6307\u4ee4\u6ce8\u5165\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u5f00\u6e90\u548c MIT \u8bb8\u53ef\u662f\u5f88\u597d\u7684\u51b7\u542f\u52a8\u7b56\u7565\uff0c\u80fd\u5feb\u901f\u79ef\u7d2f\u5f00\u53d1\u8005\u4fe1\u4efb\uff0c\u4f46\u4f01\u4e1a\u91c7\u8d2d\u4e0d\u4f1a\u56e0\u4e3a\u4ee3\u7801\u5f00\u653e\u5c31\u8df3\u8fc7\u5b89\u5168\u8ba4\u8bc1\u548c\u5408\u89c4\u80cc\u4e66\u3002\u63a5\u4e0b\u6765\u9700\u8981\u5c55\u793a\u51e0\u4e2a\u9ad8\u4ef7\u503c\u5ba2\u6237\u7684\u771f\u5b9e\u90e8\u7f72\u6848\u4f8b\uff0c\u4ee5\u53ca\u9488\u5bf9 SOC2\/ISO 27001 \u7684\u6620\u5c04\u6587\u6863\uff0c\u5426\u5219\u5bb9\u6613\u505c\u7559\u5728\u201c\u597d\u7528\u7684\u5de5\u5177\u201d\u800c\u975e\u201c\u53ef\u91c7\u8d2d\u7684\u5b89\u5168\u4ea7\u54c1\u201d\u3002\u6574\u4f53\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u8ddd\u79bb\u201c\u7ec8\u7ed3 AI \u4ee3\u7406\u5b89\u5168\u4e8b\u6545\u201d\u7684\u53d9\u4e8b\uff0c\u8fd8\u5dee\u4e00\u4e2a\u80fd\u89e3\u91ca\u201c\u4ee3\u7406\u5728\u505a\u4ec0\u4e48\u201d\u7684\u56e0\u679c\u8ffd\u6eaf\u5f15\u64ce\u3002\u8fd9\u4e2a\u5f15\u64ce\uff0c\u624d\u662f\u8bc4\u8bba\u533a\u90a3\u4f4d\u7b49\u5f85\u7684\u771f\u6b63\u7b54\u6848\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Aegisora<\/span>\n                <\/div>\n<div class=\"comment-content\">Stop selling abstract &#8220;AI safety&#8221;. Enterprises buy operational control. Aegisora is an open-source, zero-latency proxy layer built for AppSec teams. Intercept malicious LLM actions, enforce least-privilege API access, mask PII on the fly, and generate readable audit logs for autonomous agents\u2014without the bloated middleware.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt community! \ud83d\udc4b<\/p>\n<\/p>\n<p>As we transition from simple chat interfaces to fully autonomous AI agents handling core enterprise workflows, a massive blind spot has emerged: runtime security.<\/p>\n<\/p>\n<p>While building Aegisora, our goal was simple\u2014give engineering and security teams absolute visibility and zero-trust control over what their AI agents execute in production. From blocking semantic prompt injections to stopping unauthorized API calls and PII leaks, Aegisora acts as the secure proxy layer for the agentic era.<\/p>\n<\/p>\n<p>I&#8217;d love to hear how your teams are currently handling runtime guardrails and API safety. Let&#8217;s discuss in the comments below! \ud83d\udc47<\/p>\n<\/p>\n<p>\ud83d\udd17 It&#8217;s fully open source (MIT licensed) \u2014 check out the code or grab a &#8220;good first issue&#8221; if you&#8217;d like to contribute: <a href=\"https:\/\/github.com\/ozereray\/aegisora.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/ozereray\/aegisora.ai<\/a><\/p>\n<\/p>\n<p>\ud83d\udcac Come chat with the community on Discord: <a href=\"https:\/\/discord.gg\/8CM3PpQRT5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/8CM3PpQRT5<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ozereray\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ozereray<\/a>&nbsp;&#8220;Enterprises buy operational control, not abstract AI safety&#8221; is the sharpest line on this page and it is buried in your second sentence. The thing I would test the product against: least privilege on a single call is the easy case, and it is not where the damage comes from. An agent with correctly scoped permissions making four hundred individually legitimate calls does something no per call policy will ever flag. Does Aegisora have any notion of cumulative blast radius across a run, or is enforcement strictly per request? That is the gap I keep running into, and whoever closes it first has the actual product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/KUTY3257OEUK6U\" class=\"app-title\">GenMotion<\/a><\/p>\n<div class=\"one-liner\">Create beautiful product launch videos using AI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">35<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>GenMotion \u662f\u4e00\u6b3e\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u5373\u53ef\u81ea\u52a8\u751f\u6210\u4ea7\u54c1\u53d1\u5e03\u89c6\u9891\u7684AI\u5de5\u5177\uff0c\u8ba9\u4e0d\u4f1a\u526a\u8f91\u7684\u7528\u6237\u5728\u51e0\u5206\u949f\u5185\u83b7\u5f97\u53ef\u7cbe\u786e\u7f16\u8f91\u3001\u50cf\u7d20\u7ea7\u8fd8\u539f\u7684MP4\uff0c\u89e3\u51b3\u4e86\u201c\u505a\u89c6\u9891\u6bd4\u505a\u529f\u80fd\u8fd8\u6162\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/745cb288-7617-4569-897b-976f55de710d.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/KLekNvl5iC4\"><source src=\"https:\/\/youtu.be\/KLekNvl5iC4\" 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\/50912437-04fa-427d-86ba-cef4cbaba9b9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ea6c10b4-ed80-43f5-ba70-50c9b4a95107.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ac548225-fd36-4511-bc29-71d9080d10cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cbd13af5-2fa7-4220-a0f3-7ee8e197e5e7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f09e71c3-c4a5-4eea-8494-9578b4b813b8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u89c6\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u53d1\u5e03\u89c6\u9891<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">React\u52a8\u753b<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u89c6\u9891\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u5e27\u7ea7\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u521b\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6e32\u67d3<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4eba\u5bf9\u6838\u5fc3\u673a\u5236\u91cd\u70b9\u9610\u8ff0\uff1a\u573a\u666f\u57fa\u4e8eReact\u5b9e\u65f6\u6e32\u67d3\uff0c\u652f\u6301\u9010\u5e27\u7cbe\u51c6\u4fee\u6539\u800c\u975e\u91cd\u6447\uff1b\u65f6\u95f4\u65e0\u5173\u7684\u7eaf\u51fd\u6570\u9a71\u52a8\u786e\u4fdd\u9884\u89c8\u4e0e\u5bfc\u51fa\u50cf\u7d20\u4e00\u81f4\u3002\u7528\u6237\u6682\u672a\u63d0\u51fa\u5410\u69fd\u6216\u5177\u4f53\u95ee\u9898\uff0c\u591a\u4e3a\u5bf9\u6280\u672f\u8def\u7ebf\u7684\u8ba4\u540c\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                GenMotion\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u8bd5\u56fe\u7528AI\u53bb\u66ff\u4ee3\u526a\u8f91\u5e08\uff0c\u800c\u662f\u7528AI\u53bb\u91cd\u65b0\u5b9a\u4e49\u4e86\u201c\u526a\u8f91\u201d\u8fd9\u4e00\u52a8\u4f5c\u7684\u5e95\u5c42\u903b\u8f91\u3002\u5e02\u9762\u4e0a\u7edd\u5927\u591a\u6570AI\u89c6\u9891\u5de5\u5177\uff08\u5982Runway\u3001Pika\uff09\u8d29\u5356\u7684\u662f\u201c\u62bd\u5361\u201d\u5f0f\u7684\u968f\u673a\u60ca\u559c\uff0c\u7528\u6237\u5f97\u5230\u7684\u662f\u4e0d\u53ef\u63a7\u7684\u50cf\u7d20\u5e8f\u5217\uff0c\u4fee\u6539\u610f\u5473\u7740\u91cd\u65b0\u8d4c\u4e00\u6b21\u3002\u800cGenMotion\u628aAI\u5b9a\u4f4d\u4e3a\u201c\u4ee3\u7801\u751f\u6210\u5668\u201d\uff0c\u5c06\u89c6\u9891\u7ed3\u6784\u5316\u62c6\u89e3\u4e3aReact\u7ec4\u4ef6\u548c\u57fa\u4e8e\u5e27\u53f7\u7684\u7eaf\u51fd\u6570\u8fd0\u52a8\u6001\u2014\u2014\u8fd9\u672c\u8d28\u4e0a\u662f\u628a\u89c6\u9891\u6587\u4ef6\u53d8\u6210\u4e86\u4e00\u4e2a\u201c\u53ef\u8fd0\u884c\u7684\u7a0b\u5e8f\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8fd9\u79cd\u67b6\u6784\u5e26\u6765\u4e86\u4e24\u4e2a\u4e0d\u5bb9\u5ffd\u89c6\u7684\u884c\u4e1a\u98a0\u8986\u70b9\u3002\u7b2c\u4e00\uff0c\u5b83\u628a\u201c\u751f\u6210\u201d\u548c\u201c\u7f16\u8f91\u201d\u5408\u5e76\u6210\u4e86\u4e00\u4e2a\u52a8\u4f5c\uff1a\u7528\u6237\u7528\u5bf9\u8bdd\u4fee\u6539\u4ee3\u7801\uff0c\u800c\u4e0d\u662f\u7528\u65f6\u95f4\u8f74\u4fee\u6539\u5173\u952e\u5e27\uff0c\u8fd9\u76f8\u5f53\u4e8e\u7ed9\u89c6\u9891\u88c5\u4e0a\u4e86CTRL+Z\u548c\u7cbe\u786e\u7684\u5b9a\u4f4d\u9489\uff0c\u5f7b\u5e95\u6d88\u706d\u4e86\u201c\u6e32\u67d3\u540e\u624d\u77e5\u9053\u662f\u4ec0\u4e48\u201d\u7684\u8d4c\u535a\u6210\u672c\u3002\u7b2c\u4e8c\uff0c\u5176\u201c\u6d4f\u89c8\u5668\u9884\u89c8\u4e0e\u65e0\u5934\u6e32\u67d3\u5668\u540c\u4e00\u8fd0\u884c\u65f6\u201d\u7684\u8bbe\u8ba1\uff0c\u786e\u4fdd\u4e86\u4ece\u5c4f\u5e55\u4e0a\u770b\u5230\u7684\u5230\u5bfc\u51fa\u6587\u4ef6\u4e4b\u95f4\u7684\u7edd\u5bf9\u4e00\u81f4\u6027\uff0c\u8fd9\u770b\u4f3c\u662f\u5de5\u7a0b\u6d01\u7656\uff0c\u5b9e\u5219\u662f\u5efa\u7acb\u4fe1\u4efb\u7684\u6838\u5fc3\u3002\u56e0\u4e3a\u4efb\u4f55\u4e00\u4e2a\u521b\u4f5c\u8005\u90fd\u65e0\u6cd5\u63a5\u53d7\u9884\u89c8\u4e0e\u6210\u54c1\u4e0d\u7b26\u7684\u201c\u6bc1\u7ea6\u201d\u884c\u4e3a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u7136\uff0c\u8d28\u7591\u540c\u6837\u5b58\u5728\uff1a35\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u8868\u660e\u5e02\u573a\u5c1a\u672a\u70ed\u70c8\u4e70\u5355\u3002\u5b83\u7684\u5929\u82b1\u677f\u5728\u4e8eReact\u573a\u666f\u5e93\u7684\u8868\u8fbe\u8fb9\u754c\u2014\u2014\u5b83\u64c5\u957f\u7684\u662f\u73b0\u4ee3\u79d1\u6280\u611f\u7684\u4fe1\u606f\u53ef\u89c6\u5316\u3001\u56fe\u8868\u548c\u6587\u5b57\u52a8\u6548\uff0c\u4f46\u5bf9\u4e8e\u590d\u6742\u7684\u53d9\u4e8b\u955c\u5934\u3001\u6709\u673a\u7684\u4eba\u7269\u8868\u6f14\u6216\u5b9e\u62cd\u7d20\u6750\u878d\u5408\uff0c\u5b83\u4f9d\u7136\u65e0\u80fd\u4e3a\u529b\u3002\u6240\u4ee5\uff0cGenMotion\u7cbe\u51c6\u5b9a\u4f4d\u4e8e\u201c\u4ea7\u54c1\u8425\u9500\u89c6\u9891\u201d\u8fd9\u4e00\u7ec6\u5206\u8d5b\u9053\u662f\u660e\u667a\u4e4b\u4e3e\uff0c\u5b83\u4e0d\u53bb\u4ee5\u5375\u51fb\u77f3\u5730\u6311\u6218\u5f71\u89c6\u7ea7\u6e32\u67d3\uff0c\u800c\u662f\u4e13\u6ce8\u6210\u4e3a\u4ea7\u54c1\u7ecf\u7406\u548c\u72ec\u7acb\u5f00\u53d1\u8005\u624b\u4e2d\u6700\u9ad8\u6548\u7684\u201c\u53d1\u5e03\u5f39\u836f\u5e93\u201d\u3002\u5982\u679c\u5b83\u80fd\u6301\u7eed\u8fed\u4ee3\u6a21\u677f\u548c\u4ea4\u4e92\u903b\u8f91\uff0c\u5b83\u6709\u673a\u4f1a\u6210\u4e3a\u201c\u89c6\u9891\u754c\u7684Vercel\u201d\u2014\u2014\u4f46\u524d\u63d0\u662f\uff0c\u5b83\u4e0d\u80fd\u6b62\u6b65\u4e8e\u4e00\u4e2a\u6f02\u4eae\u7684Demo\uff0c\u800c\u5fc5\u987b\u53d8\u6210\u4e00\u4e2a\u8ba9\u4eba\u4ea7\u751f\u4f9d\u8d56\u7684\u5de5\u4f5c\u6d41\u3002\u76ee\u524d\uff0c\u5b83\u8bc1\u660e\u4e86\u201cAI+\u786e\u5b9a\u6027\u6e32\u67d3\u201d\u8fd9\u6761\u8def\u8d70\u5f97\u901a\uff0c\u5269\u4e0b\u7684\u5c31\u770b\u5b83\u80fd\u5426\u8dd1\u5f97\u66f4\u8fdc\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\">GenMotion<\/span>\n                <\/div>\n<div class=\"comment-content\">Generate a product launch video with AI. Describe your product in plain language and GenMotion&#8217;s agent creates beautiful animations, real scenes, previews it frame-accurately, and exports a pixel-perfect MP4.<\/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 Musthaq, and I built GenMotion because the video was always the<\/p>\n<p>bottleneck.<\/p>\n<\/p>\n<p>Every time I shipped something worth announcing, the same thing happened:<\/p>\n<p>the feature took a week, and the 30-second video to explain it took longer.<\/p>\n<p>So I&#8217;d post a screenshot and a paragraph instead \u2014 and watch it land like a<\/p>\n<p>screenshot and a paragraph.<\/p>\n<\/p>\n<p>The existing options both had a catch. AI video tools hand you pixels you<\/p>\n<p>can&#8217;t change: if the third scene is wrong, your only lever is to reroll the<\/p>\n<p>prompt and hope. After Effects gives you total control and charges you a<\/p>\n<p>week of keyframing for it.<\/p>\n<\/p>\n<p><strong>GenMotion is the middle path.<\/strong> You describe the video in plain language,<\/p>\n<p>an agent animates it, and you export an MP4 \u2014 usually in minutes.<\/p>\n<p>Two decisions make it different from everything else in this category:<\/p>\n<\/p>\n<p><strong>1. The agent writes scenes, not pixels.<\/strong> Every scene is real React on a<\/p>\n<p>motion runtime, so nothing is baked. &#8220;Slow the intro down.&#8221; &#8220;Make the<\/p>\n<p>headline rise instead of fade.&#8221; &#8220;Cut scene three and hold on the logo.&#8221;<\/p>\n<p>Each one re-renders instantly. Regeneration is a choice, not the only move.<\/p>\n<\/p>\n<p><strong>2. Motion is a pure function of the frame number.<\/strong> No wall-clock timers,<\/p>\n<p>no unseeded randomness, no drift. Drag to frame 217 and you see frame 217 \u2014<\/p>\n<p>every time. The browser preview and the headless renderer run the same<\/p>\n<p>runtime, so the MP4 is pixel-for-pixel identical to what you approved. You<\/p>\n<p>never render just to find out what you made.<\/p>\n<\/p>\n<p>That second one sounds like a footnote. It&#8217;s the whole thing. If you have<\/p>\n<p>to export to see your work, you&#8217;re not editing \u2014 you&#8217;re gambling.<\/p>\n<p>People are using it for launch videos, feature announcements, animated data<\/p>\n<p>stories (the &#8220;we hit 10k stars&#8221; post), event promos, and social ads \u2014 16:9,<\/p>\n<p>9:16, 1:1.<\/p>\n<\/p>\n<p>It&#8217;s free to start, no credit card. Describe something and watch it animate.<\/p>\n<\/p>\n<p>I&#8217;m here all day. Tell me what you make \u2014 and tell me what breaks. Both are<\/p>\n<p>useful. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/L55L5UY2FNI725\" class=\"app-title\">AppScout<\/a><\/p>\n<div class=\"one-liner\">App Store downloads, revenue &#038; widgets<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">30<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AppScout\u662f\u4e00\u6b3e\u5c06App Store\u4e0b\u8f7d\u91cf\u3001\u6536\u5165\u3001MRR\u7b49\u6838\u5fc3\u6570\u636e\u76f4\u63a5\u5448\u73b0\u5728iPhone\u684c\u9762\u4e0e\u9501\u5c4f\u5c0f\u7ec4\u4ef6\u4e0a\u7684\u79c1\u5bc6\u6570\u636e\u770b\u677f\uff0c\u514d\u53bb\u5f00\u53d1\u8005\u6bcf\u65e5\u6253\u5f00App Store Connect\u7684\u7e41\u7410\u64cd\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\/860efe35-14bd-45f7-95c5-b2ea15b9e8fa.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\/a5fe3193-cd51-4dc6-a1cb-df2cfe629eba.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\/d79ec288-83d6-4387-bd5e-eca55ab04e88.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\">Analytics<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">App Store\u6570\u636e\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u6536\u5165\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u7ec4\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u9501\u5c4f\u7ec4\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u65e0\u540e\u7aef<\/span><br \/>\n            <span class=\"tag\">MRR<\/span><br \/>\n            <span class=\"tag\">\u4e0b\u8f7d\u91cf\u7edf\u8ba1<\/span><br \/>\n            <span class=\"tag\">iOS\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8d5e\u8d4f\u9690\u79c1\u4f18\u5148\uff08\u5bc6\u94a5\u5b58\u94a5\u5319\u4e32\uff09\u53ca\u65e0\u540e\u7aef\u8bbe\u8ba1\uff0c\u4f46\u6307\u51fa\u4e24\u5927\u75db\u70b9\uff1a1\uff09API\u5bc6\u94a5\u6743\u9650\u9700Admin\uff0c\u5426\u5219403\u62a5\u9519\u63d0\u793a\u542b\u7cca\uff0c\u6613\u81f4\u7528\u6237\u6d41\u5931\uff1b2\uff09\u6570\u636e\u975e\u5b9e\u65f6\uff08\u7ea6\u5ef6\u8fdf\u4e24\u5929\uff09\uff0c\u9501\u5c4f\u5c0f\u7ec4\u4ef6\u7f3a\u4e4f\u65f6\u95f4\u6233\uff0c\u7528\u6237\u65e0\u6cd5\u533a\u5206\u201cApple\u672a\u66f4\u65b0\u201d\u4e0e\u201c\u624b\u673a\u672a\u5237\u65b0\u201d\u3002\u5f00\u53d1\u8005\u56de\u5e94\u5df2\u6539\u7528Sales Reports\u964d\u4f4e\u6743\u9650\u8981\u6c42\uff0c\u5e76\u627f\u8ba4\u6570\u636e\u65b0\u9c9c\u5ea6\u63d0\u793a\u4ecd\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                AppScout\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u7cbe\u51c6\u780d\u6389\u4e86\u6240\u6709\u201c\u975e\u5fc5\u8981\u52a8\u4f5c\u201d\u2014\u2014\u5f00\u53d1\u8005\u770b\u6570\u636e\u672c\u5e94\u50cf\u7784\u4e00\u773c\u5929\u6c14\uff0c\u800c\u975e\u8fdb\u884c\u4e00\u6b21\u5b89\u5168\u5ba1\u8ba1\u3002\u65e0\u540e\u7aef\u3001\u5bc6\u94a5\u7559\u672c\u5730\u7684\u8bbe\u8ba1\u4e0d\u5355\u662f\u8425\u9500\u8bdd\u672f\uff0c\u66f4\u662f\u5bf9\u76ee\u6807\u4eba\u7fa4\uff08\u72ec\u7acb\u5f00\u53d1\u8005\uff09\u4fe1\u4efb\u6210\u672c\u6781\u9ad8\u7684\u5fc3\u7406\u6d1e\u5bdf\uff0c\u8fd9\u6bd4\u4efb\u4f55\u529f\u80fd\u5217\u8868\u90fd\u66f4\u80fd\u5efa\u7acb\u58c1\u5792\u3002\u4f46\u5b83\u7684\u8f6f\u808b\u540c\u6837\u6e05\u6670\uff1a\u6240\u6709\u6570\u636e\u6e90\u90fd\u4f9d\u8d56Apple\u5e76\u4e0d\u627f\u8bfa\u5b9e\u65f6\u7684Reports API\uff0c\u8fd9\u5c31\u8ba9\u201c\u9501\u5c4f\u5c0f\u7ec4\u4ef6\u201d\u8fd9\u4e2a\u9ad8\u9891\u573a\u666f\u53d8\u5f97\u5c34\u5c2c\u2014\u2014\u4f60\u770b\u5230\u7684\u53ef\u80fd\u5c31\u662f\u4e00\u5757\u597d\u770b\u4f46\u8fc7\u671f\u4e24\u5929\u7684\u201c\u6570\u5b57\u5316\u5893\u7891\u201d\u3002\u8bc4\u8bba\u533a\u90a3\u4f4d\u7528\u6237\u7684\u8d28\u7591\u76f4\u51fb\u8981\u5bb3\uff1a\u7528\u6237\u4e0d\u8981\u6c42\u5b9e\u65f6\uff0c\u4f46\u5fc5\u987b\u5728\u89c6\u89c9\u4e0a\u660e\u786e\u533a\u5206\u201cApple\u6ca1\u7ed9\u201d\u548c\u201c\u624b\u673a\u6ca1\u5237\u201d\uff0c\u5426\u5219\u4fe1\u4efb\u5d29\u584c\u53ea\u5728\u4e00\u6b21\u8bef\u5224\u4e4b\u95f4\u3002\u53e6\u4e00\u4e2a\u9690\u85cf\u98ce\u9669\u662f\u6743\u9650\u964d\u7ea7\u65b9\u6848\uff08Sales Reports\uff09\u867d\u89e3\u51b3\u4e86\u81ea\u52a9\u5f00\u901a\u95ee\u9898\uff0c\u5374\u9650\u5236\u4e86\u6570\u636e\u6df1\u5ea6\uff08\u5982\u65e0\u6cd5\u83b7\u53d6\u7528\u6237\u7559\u5b58\u3001\u4f1a\u8bdd\u6570\uff09\uff0c\u672a\u6765\u82e5\u60f3\u62d3\u5c55\u6307\u6807\u77e9\u9635\uff0c\u8981\u4e48\u91cd\u65b0\u9762\u5bf9\u6743\u9650\u6697\u5751\uff0c\u8981\u4e48\u88ab\u8feb\u5f15\u5165\u540e\u7aef\u2014\u2014\u90a3\u5c06\u76f4\u63a5\u6467\u6bc1\u5176\u5b89\u8eab\u7acb\u547d\u7684\u9690\u79c1\u53d9\u4e8b\u3002\u76ee\u524d\u5b83\u662f\u4e00\u4e2a\u6781\u805a\u7126\u7684\u5de5\u5177\uff0c\u4f46\u5929\u82b1\u677f\u4e5f\u6e05\u6670\uff1a\u8981\u4e48\u5728\u201c\u79c1\u5bc6\u6027\u201d\u4e0a\u505a\u5230\u6781\u81f4\uff08\u5982\u652f\u6301iCloud\u7aef\u5230\u7aef\u540c\u6b65\u591a\u8bbe\u5907\u3001\u5bfc\u51fa\u52a0\u5bc6\u526f\u672c\uff09\uff0c\u8981\u4e48\u5728\u201c\u6570\u636e\u6d1e\u5bdf\u201d\u4e0a\u505a\u529b\u6240\u80fd\u53ca\u7684\u589e\u503c\uff08\u5982\u8d8b\u52bf\u5f02\u5e38\u63d0\u9192\uff09\u3002\u82e5\u4e24\u8005\u90fd\u4e0d\u505a\uff0c\u5b83\u53ea\u4f1a\u662f\u4e00\u4e2a\u5c0f\u800c\u7f8e\u7684\u201c\u6570\u636e\u955c\u5b50\u201d\uff0c\u800c\u975e\u201c\u51b3\u7b56\u52a9\u624b\u201d\u3002\u4ea7\u54c1\u65b9\u5411\u5bf9\uff0c\u4f46\u62a4\u57ce\u6cb3\u5c1a\u6d45\uff0cApple\u4e00\u65e6\u5728Connect\u4e2d\u5185\u7f6e\u5c0f\u7ec4\u4ef6\uff0cAppScout\u7684\u751f\u5b58\u7a97\u53e3\u5c31\u4f1a\u5267\u70c8\u6536\u7a84\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\">AppScout<\/span>\n                <\/div>\n<div class=\"comment-content\">See your App Store numbers without opening App Store Connect. AppScout shows downloads, revenue, MRR, and more in Home and Lock screen widgets. Dive deeper with detailed charts, breakdowns, multi-app views, and filters in the app. There\u2019s no sign-in. Just add your App Store Connect key, and AppScout fetches the reports directly from Apple. The key never leaves your iPhone. AppScout has no backend, tracking, or data collection. Your credentials and reports stay private on your device.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunters! I\u2019m Andrew, a designer and iOS developer.<\/p>\n<p>I built AppScout because checking my app numbers every day was a pain. I know many developers feel the same. You sign in to App Store Connect just to check downloads or MRR. I wanted the daily check-in to be frictionless. AppScout became the fastest way. You just look at your home screen or lock screen widget. And when you want more detail, you can open the app for charts, breakdowns, filters, and combined views across all your apps.<\/p>\n<p>During beta, I realized people didn\u2019t want to send their credentials to a third-party backend. Totally fair. So, I pivoted to a private iOS app by dropping the backend. Now it talks directly to Apple, safely keeps the key in your iPhone keychain, and refreshes in the background, so you don&#8217;t need to open your app every day to refresh the data. Turns out, it never really needed a backend.<\/p>\n<p>I\u2019d love your feedback on the widgets, setup experience, and maybe which metrics you\u2019d like to see next.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Dropping the backend was the right call, and the keychain detail is the part that will actually earn trust with this crowd. Two things from the other side of that decision, since you asked about setup.<\/p>\n<\/p>\n<p>First, the key&#8217;s role. App Store Connect will happily let someone generate an API key with App Manager or Developer access, and the Analytics Reports endpoints answer that key with a 403 while everything else about the key looks fine. It cost me an embarrassing amount of time to work out that the fix was Admin, because Apple&#8217;s error doesn&#8217;t say so. If AppScout can catch that specific 403 and say &#8220;this key needs Admin access&#8221; instead of surfacing a generic failure, that&#8217;s the difference between a five minute setup and someone quietly deleting the app.<\/p>\n<\/p>\n<p>Second, freshness. Apple&#8217;s analytics reports aren&#8217;t live. You request a report and instances land on their own schedule, which in my experience is closer to two days than to this morning. A chart absorbs that fine, because a chart has an x-axis. A lock screen widget doesn&#8217;t. A single number on a lock screen reads as &#8220;now&#8221; by default, and with no backend and only opportunistic background refresh, that number could also just be a stale render the OS never got around to updating. Does the widget stamp what it&#8217;s showing? Can a user tell &#8220;Apple hasn&#8217;t reported yet&#8221; apart from &#8220;your phone hasn&#8217;t refreshed&#8221;? Those are two different disappointments and only one of them is your fault.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@narek_keshishyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@narek_keshishyan<\/a>&nbsp;Thank you Narek for such deep feedback. I appreciate it a lot!<\/p>\n<p>1. Team access keys. During the beta, the app was using Analytics Reports that required Admin access. The errors didn&#8217;t describe it well if you use a different access level. After some user feedback and occasional missing days on charts, I switched to Sales Reports, which allowed me to drop the key access level from Admin to Sales and Reports. Users appreciated it much more so I kept this solution. And it gave a more reliable data source without missing days on charts.<\/p>\n<p>2. Data freshness. This is true, and it&#8217;s not currently clear what&#8217;s the most recent day on the chart until you open the app and scrubble to the very end. I&#8217;m still figuring out how to make it obvious for users without many design compromises.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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, Andrew! AppScout looks really polished, and bringing the key numbers directly to the Home and Lock Screen is such a smart idea. Love the privacy-first approach too. Will become a staple for me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@niclas42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@niclas42<\/a>&nbsp;Thank you Niclas! I&#8217;m happy that the initial idea worked out and the app can live on your home &amp; lock screens.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019ve been using AppScout since day one. As a designer, I\u2019m pretty picky about the apps I use, and AppScout is one of those products that\u2019s simply enjoyable to use.<\/p>\n<\/p>\n<p>The new widgets are also fantastic. I added several of them to a single Smart Stack, so I can quickly check the metrics I care about just by swiping through the widgets, without even opening the app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dmitriychuta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmitriychuta<\/a>&nbsp;I&#8217;m happy that this project can be appreciated and used by such an experienced designer &amp; developer as 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<\/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\/EITQX7QVOWLCQD\" class=\"app-title\">JustInterview.ai<\/a><\/p>\n<div class=\"one-liner\">Hire 20\u00d7 Faster. Fill Roles in Days, Not Weeks<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">25<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong><\/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\/f54c2445-2b66-4059-bae7-b49dc2d1a8b8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c68c806f-4108-470d-9ccd-7a4da4a7e1e2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2c4cfeb4-660e-458c-a1ba-7d26c769d3d4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2aa98c61-1d04-463a-97c8-e6123780d59f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/66be6da3-ef72-4f00-ab47-5f67465d69a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cd584818-2b2d-4865-adaf-3ced7bf05323.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b47d0b87-09e5-4462-b00a-13650aea2212.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/606bac8f-5ef8-4f35-aea1-4c848939be97.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/93aa26a7-2c88-43c3-b2a6-fd9d1ecdb490.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\/d028afd2-48e9-4a72-a0c8-418731baf968.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/omXNiPqDWdc\"><source src=\"https:\/\/youtu.be\/omXNiPqDWdc\" 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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Human Resources<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u62db\u8058<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u9762\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u7b80\u5386\u7b5b\u9009<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7801\u6d4b\u8bc4<\/span><br \/>\n            <span class=\"tag\">Vibe Coding<\/span><br \/>\n            <span class=\"tag\">\u6821\u56ed\u62db\u8058<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">HR Tech<\/span><br \/>\n            <span class=\"tag\">\u4eba\u624d\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">SaaS\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\u6d41\u7a0b\u7a33\u5b9a\u6027\u548c\u9762\u8bd5\u6458\u8981\u8d28\u91cf\uff0c\u79f0\u201c\u7ec8\u4e8e\u627e\u5230\u4e0d\u534a\u9014\u5d29\u6e83\u7684\u9762\u8bd5\u4ee3\u7406\u201d\u3002\u6709\u8bc4\u8bba\u5f3a\u8c03AI\u9762\u8bd5\u3001\u7f16\u7801\u6d4b\u8bc4\u53ca\u7ed3\u6784\u5316\u53cd\u9988\u5bf9\u5e94\u5c4a\u751f\u51c6\u5907\u548c\u6821\u62db\u6d41\u7a0b\u5f88\u6709\u4ef7\u503c\u3002\u76ee\u524d\u5c16\u9510\u95ee\u9898\u8f83\u5c11\uff0c\u591a\u4e3a\u4e3b\u521b\u56e2\u961f\u4e92\u52a8\u53ca\u9f13\u52b1\u6027\u53cd\u9988\uff0c\u9700\u5173\u6ce8\u6df1\u5ea6\u6d4b\u8bc4\u7f3a\u5931\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                JustInterview.ai\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u62db\u8058\u6d41\u7a0b\u5916\u5305\u7684AI\u5316\u538b\u7f29\u5305\u201d\u3002\u5728HR Tech\u8d5b\u9053\uff0c\u5b83\u5e76\u4e0d\u7b97\u98a0\u8986\uff0c\u4f46\u8d35\u5728\u201c\u5168\u201d\u2014\u2014\u628aJD\u751f\u6210\u3001\u7b80\u5386\u7b5b\u9009\u3001AI\u9762\u8bd5\u3001\u7f16\u7801\u9898\u3001Vibe Coding\u3001\u6821\u62db\u7ba1\u7406\u3001Offer\u751f\u6210\u5168\u90e8\u585e\u8fdb\u4e00\u4e2a\u9762\u677f\u3002\u8fd9\u6070\u597d\u51fb\u4e2d\u4e86\u4e2d\u578b\u4f01\u4e1a\u548c\u6821\u62db\u56e2\u961f\u7684\u75db\u70b9\uff1a\u6d41\u7a0b\u788e\u7247\u5316\u5bfc\u81f4\u7684\u6570\u636e\u65ad\u88c2\u4e0e\u65f6\u95f4\u6d6a\u8d39\u300225\u4e2a\u6295\u7968\u6570\u8bf4\u660e\u5b83\u8fd8\u5904\u4e8e\u65e9\u671f\u51b7\u542f\u52a8\uff0c\u4f46\u8bc4\u8bba\u533a\u51fa\u73b0\u7684\u201c\u7ec8\u4e8e\u627e\u5230\u4e0d\u534a\u9014\u5d29\u6e83\u7684\u9762\u8bd5\u4ee3\u7406\u201d\u6697\u793a\u5176\u5de5\u7a0b\u7a33\u5b9a\u6027\u662f\u5176\u6838\u5fc3\u5356\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4eae\u70b9\u5728\u4e8e\u201cVibe Coding\u8bc4\u4f30\u201d\uff0c\u8fd9\u6293\u4f4f\u4e86AI\u539f\u751f\u5f00\u53d1\u65f6\u4ee3\u7684\u6280\u80fd\u8bc4\u4f30\u7a7a\u767d\u2014\u2014\u4f20\u7edfLeetCode\u65e0\u6cd5\u8861\u91cf\u5019\u9009\u4eba\u4e0eAI\u534f\u4f5c\u7684\u80fd\u529b\uff0c\u8fd9\u662f\u5dee\u5f02\u5316\u5207\u5165\u70b9\u3002\u7136\u800c\uff0c\u5176\u201c20\u00d7\u66f4\u5feb\u201d\u7684\u627f\u8bfa\u9700\u8981\u8b66\u60d5\uff1a\u62db\u8058\u7684\u672c\u8d28\u662f\u98ce\u9669\u51b3\u7b56\uff0c\u8fc7\u5ea6\u81ea\u52a8\u5316\u53ef\u80fd\u5bfc\u81f4\u8bef\u5224\u201c\u4f1a\u8003\u8bd5\u4f46\u4e0d\u4f1a\u5de5\u4f5c\u201d\u7684\u5019\u9009\u4eba\u3002AI\u9762\u8bd5\u7684\u6548\u5ea6\u4f9d\u8d56\u5927\u91cf\u6709\u6548\u6837\u672c\u8bad\u7ec3\uff0c\u76ee\u524d\u7f3a\u4e4f\u6848\u4f8b\u5b9e\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u5927\u7684\u9690\u5fe7\u662f\uff0c\u8be5\u4ea7\u54c1\u8bd5\u56fe\u8986\u76d6ATS\uff08\u5e94\u8058\u8ffd\u8e2a\u7cfb\u7edf\uff09\u3001Interview\u3001Assessment\u3001Offer\u5168\u94fe\u8def\uff0c\u8fd9\u76f4\u63a5\u4e0eLinkedIn Recruiter\u3001HackerRank\u3001Rippling\u7b49\u5355\u70b9\u5de8\u5934\u6b63\u9762\u7ade\u4e89\u3002\u5728\u8d44\u91d1\u6709\u9650\u65f6\uff0c\u5168\u6808\u4ea7\u54c1\u5bb9\u6613\u53d8\u6210\u201c\u4ec0\u4e48\u90fd\u505a\u3001\u4ec0\u4e48\u90fd\u4e0d\u7cbe\u201d\u3002\u5efa\u8bae\u56e2\u961f\u805a\u7126\u201cAI\u9762\u8bd5+Vibe Coding\u8bc4\u4f30\u201d\u8fd9\u4e00\u7279\u8272\u7ec4\u5408\uff0c\u505a\u6df1\u505a\u900f\uff0c\u800c\u975e\u6025\u4e8e\u541e\u4e0b\u6574\u4e2a\u62db\u8058\u6d41\u7a0b\u3002\u5426\u5219\uff0c\u5b83\u5f88\u53ef\u80fd\u6210\u4e3a\u53c8\u4e00\u4e2a\u529f\u80fd\u9f50\u5168\u4f46\u7f3a\u4e4f\u975e\u66ff\u6362\u4e0d\u53ef\u7406\u7531\u7684\u5de5\u5177\u7bb1\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\">JustInterview.ai<\/span>\n                <\/div>\n<div class=\"comment-content\">On JustInterview.ai you can evaluate candidates through AI Interviews, Coding Assessments, MCQ Tests, Vibe Coding Challenges, and role-specific skill evaluations, while automating every stage of recruitment. Create job descriptions, screen resumes instantly, manage campus drives, collaborate with hiring teams, generate offer letters, and make faster, data-driven hiring decisions from one unified platform. Our vision is simple: if there&#8217;s an interview, it should happen on JustInterview.ai.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc4b Hi Product Hunt!<\/p>\n<p>&nbsp;<\/p>\n<p>I&#8217;m Mridul, Associate Product Manager at <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JustInterview.ai<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>We&#8217;re incredibly excited to finally share <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JustInterview.ai<\/a> with the Product Hunt community after months of building, testing, and talking to recruiters about what actually slows hiring down.<\/p>\n<p>&nbsp;<\/p>\n<p>We kept hearing the same problems:<br \/>\u2022 Recruiters spend hours screening resumes.<br \/>\u2022 First-round interviews are repetitive and difficult to scale.<br \/>\u2022 Great candidates are often missed because teams simply don&#8217;t have enough time.<\/p>\n<p>&nbsp;<\/p>\n<p>That&#8217;s why we built <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JustInterview.ai<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>With <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JustInterview.ai<\/a>, hiring teams can create AI-powered job descriptions, screen resumes, conduct conversational AI interviews, run Vibe coding, MCQ assessments and even campus recruitment, evaluate candidates in one dashboard, and shortlist the best talent, all from a single platform. Also, we are adding much more every week!<\/p>\n<p>&nbsp;<\/p>\n<p>But this launch is only the beginning.<\/p>\n<p>&nbsp;<\/p>\n<p>Our vision is simple:<\/p>\n<p><strong>One platform. Every role. Every interview. <\/strong><a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>JustInterview.ai<\/strong><\/a><strong>.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>We&#8217;re here to learn as much as we are to launch, so we&#8217;d genuinely love your feedback, ideas, and questions. Every conversation helps us build a better product.<\/p>\n<p>&nbsp;<\/p>\n<p>Thank you for checking us out and supporting our journey! \ud83d\ude80<\/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\/@mridulgoyal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mridulgoyal<\/a>&nbsp;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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mridulgoyal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mridulgoyal<\/a>&nbsp;<\/p>\n<p>Great innovation in the career-tech space. <\/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\/@mridulgoyal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mridulgoyal<\/a>&nbsp;Looks like something I&#8217;d actually use.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc4b Hi Product Hunt!<\/p>\n<p>I&#8217;m excited to introduce <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>JustInterview.ai<\/strong><\/a>. (Vibe Interview)<\/p>\n<\/p>\n<p>Like many hiring teams, we saw the same problems repeated every day\u2014recruiters spending hours screening resumes, scheduling interviews, evaluating candidates manually, and repeating the same conversations for every role.<\/p>\n<p>As hiring scales, these repetitive tasks slow teams down, increase costs, and often cause great candidates to be missed.<\/p>\n<\/p>\n<p>We built <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>JustInterview.ai<\/strong><\/a> to automate the entire first stage of recruitment\u2014from creating job descriptions to generating offer letters.<\/p>\n<\/p>\n<p>Today, teams use JIA to:<\/p>\n<p>\u2705 Generate AI-powered job descriptions<\/p>\n<p>\u2705 Screen thousands of resumes in minutes<\/p>\n<p>\u2705 Conduct AI interviews<\/p>\n<p>\u2705 Run coding, MCQ, and <strong>Vibe Coding<\/strong> assessments to evaluate real-world problem-solving, creativity, and AI-assisted development skills<\/p>\n<p>\u2705 Manage campus recruitment at scale<\/p>\n<p>\u2705 Review every candidate from a unified evaluation dashboard<\/p>\n<p>\u2705 Generate offer letters and move candidates through the hiring pipeline faster<\/p>\n<p>Whether you&#8217;re an independent recruiter, a growing startup, or an enterprise hiring hundreds of candidates, JIA helps you reduce manual work and spend more time with the candidates who truly matter.<\/p>\n<p>As AI-native development becomes the new standard, <strong>Vibe Coding assessments<\/strong> help hiring teams evaluate how candidates collaborate with AI, think through problems, and build production-ready solutions\u2014not just solve traditional coding questions.<\/p>\n<\/p>\n<p>We&#8217;d genuinely love your feedback.<\/p>\n<\/p>\n<p><strong>Which part of hiring takes the most time for your team today?<\/strong> We&#8217;d love to hear your thoughts and answer any questions throughout the launch.<\/p>\n<\/p>\n<p>Thank you for checking out <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>JustInterview.ai<\/strong><\/a> \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>20<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@joshi_rahul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joshi_rahul<\/a>&nbsp;<br \/>Proud to be part of the team behind <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JustInterview.ai<\/a>! Watching this evolve from an idea into a platform that&#8217;s helping companies hire smarter has been an incredible journey. Huge credit to Rahul and the entire team for building something that genuinely solves hiring challenges. Looking forward to everyone&#8217;s feedback and suggestions!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>18<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JustInterview.ai<\/a> helps teams automate hiring from start to finish.<\/p>\n<p>Key features include:<\/p>\n<ul>\n<li>\n<p>AI Resume Screening<\/p>\n<\/li>\n<li>\n<p>AI Voice &amp; Video Interviews<\/p>\n<\/li>\n<li>\n<p>Coding Interviews &amp; Vibe Coding Assessments<\/p>\n<\/li>\n<li>\n<p>MCQ &amp; Custom Skill Assessments<\/p>\n<\/li>\n<li>\n<p>AI Candidate Evaluation &amp; Scoring<\/p>\n<\/li>\n<li>\n<p>Automated Interview Scheduling<\/p>\n<\/li>\n<li>\n<p>Campus &amp; Bulk Hiring Workflows<\/p>\n<\/li>\n<li>\n<p>Recruiter Dashboard with detailed insights<\/p>\n<\/li>\n<li>\n<p>End-to-end hiring automation from screening to selection<\/p>\n<\/li>\n<\/ul>\n<p>Whether you&#8217;re hiring 10 candidates or 10,000, <a href=\"http:\/\/JustInterview.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">JustInterview.ai<\/a> helps you identify the best talent faster while delivering a consistent and structured interview experience.<\/p>\n<p>We&#8217;d love to hear your feedback and answer any questions you have.<\/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\/@anmol_kushwah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anmol_kushwah<\/a>&nbsp;The hiring space is evolving quickly, and this looks like a strong step toward simplifying recruitment!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@anmol_kushwah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anmol_kushwah<\/a>&nbsp;This looks like a valuable platform for students and freshers preparing for placements. <\/p>\n<p>AI-powered interviews, coding assessments, and structured feedback can help candidates practice with more confidence and understand where they need to improve.<\/p>\n<p>The campus and bulk-hiring workflows also sound useful for making the recruitment process more organized and consistent. Wishing the <a href=\"https:\/\/www.producthunt.com\/@justinterviewai\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"justinterviewai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@justinterviewai<\/a> team the very best on Product Hunt!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>After getting tired of so many half baked interview agents that broke midway, I finally found the one that works flawlessly and is like a breeze of fresh air. I really liked the agent flow, relevance and summary of interviews taken by JIA. Great work by the team to get the small details right.<\/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>Great experience while interacting with this 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<\/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\/JBSBSMU2F27NCZ\" class=\"app-title\">Yondry<\/a><\/p>\n<div class=\"one-liner\">Turn your Instagram saves into actual day plans<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">17<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Yondry\u662f\u4e00\u6b3e\u5c06Instagram\u6536\u85cf\u7684\u5e97\u94fa\u548c\u5730\u70b9\u81ea\u52a8\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u5468\u672b\u65e5\u7a0b\u7684AI\u65e5\u7a0b\u89c4\u5212\u5de5\u5177\uff0c\u4e13\u6cbb\u201c\u6536\u85cf\u4ece\u672a\u505c\u6b62\uff0c\u51fa\u884c\u4ece\u672a\u5f00\u59cb\u201d\u7684\u57ce\u5e02\u6f2b\u6e38\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\/5ba099fb-6bda-49a5-ad80-85e8265808c4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/33544635-3838-419c-b4f0-d6d28cacee07.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\/3f2f69db-327d-446b-a05f-2a7daa8626c3.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/JOEUDIPJRE8?si=eYlHTpa7ca_eC47D\"><source src=\"https:\/\/youtu.be\/JOEUDIPJRE8?si=eYlHTpa7ca_eC47D\" 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\">Travel<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u65e5\u7a0b\u89c4\u5212<\/span><br \/>\n            <span class=\"tag\">Instagram\u6536\u85cf\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u57ce\u5e02\u6f2b\u6e38<\/span><br \/>\n            <span class=\"tag\">\u5468\u672b\u51fa\u884c<\/span><br \/>\n            <span class=\"tag\">\u5730\u70b9\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u5929\u6c14\u611f\u77e5<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u63a8\u8350<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u521b\u59cb\u4eba\u81ea\u8ff0\u8bc4\u8bba\uff0c\u65e0\u7b2c\u4e09\u65b9\u7528\u6237\u53cd\u9988\u3002\u6709\u6548\u4fe1\u606f\u96c6\u4e2d\u5728\u4ea7\u54c1\u673a\u5236\u8bf4\u660e\uff08\u5206\u4eab\u2192\u63d0\u53d6\u2192\u89c4\u5212\uff09\u548c\u521b\u59cb\u4eba\u80cc\u666f\uff0818\u4e2a\u6708\u72ec\u7acb\u5f00\u53d1\uff09\uff0c\u6682\u65e0\u7528\u6237\u75db\u70b9\u6216\u6539\u8fdb\u5efa\u8bae\u53ef\u4f9b\u63d0\u70bc\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                Yondry\u5207\u4e2d\u7684\u75db\u70b9\u771f\u5b9e\u4e14\u666e\u904d\u2014\u2014\u201c\u6536\u85cf\u5373\u9057\u5fd8\u201d\u662f\u793e\u4ea4\u65f6\u4ee3\u7684\u5185\u5bb9\u6d88\u8d39\u9677\u9631\u3002\u5176\u6280\u672f\u8def\u5f84\uff08oEmbed+OCR\u7ea7\u8054\u63d0\u53d6\u5730\u70b9\uff09\u89e3\u51b3\u4e86\u4ece\u975e\u7ed3\u6784\u5316\u5185\u5bb9\u5230\u7ed3\u6784\u5316POI\u7684\u8f6c\u6362\u96be\u9898\uff0c\u8fd9\u662f\u4ea7\u54c1\u6700\u624e\u5b9e\u7684\u58c1\u5792\u3002\u4f4617\u4e2a\u6295\u7968\u6570\u8bf4\u660e\u5b83\u5c1a\u672a\u5728Product Hunt\u6fc0\u8d77\u6c34\u82b1\uff0c\u6838\u5fc3\u539f\u56e0\u53ef\u80fd\u5728\u4e8e\uff1a**\u9700\u6c42\u9891\u6b21\u4e0e\u4ea7\u54c1\u91cd\u91cf\u4e0d\u5339\u914d**\u3002\u7528\u6237\u4e3a\u4e00\u6b21\u5468\u672b\u51fa\u884c\u652f\u4ed85\u82f1\u9551\/\u6708\uff0c\u4f46Instagram\u672c\u8eab\u5df2\u63d0\u4f9b\u201c\u6536\u85cf\u5939\u5730\u56fe\u201d\u529f\u80fd\uff0c\u4e14Google Maps\u7684\u201c\u5f85\u53bb\u5217\u8868\u201d\u540c\u6837\u514d\u8d39\u3002Yondry\u7684\u5dee\u5f02\u5316\u5fc5\u987b\u4f53\u73b0\u5728\u201cAI\u89c4\u5212\u201d\u7684\u667a\u80fd\u7a0b\u5ea6\u4e0a\u2014\u2014\u80fd\u5426\u771f\u6b63\u7406\u89e3\u201c\u9002\u5408\u4e0b\u96e8\u5929\u7684\u905b\u5a03\u8def\u7ebf\u201d\u8fd9\u79cd\u6a21\u7cca\u8bed\u4e49\uff0c\u5e76\u7ed9\u51fa\u8fdc\u8d85\u7528\u6237\u81ea\u884c\u6392\u5217\u7684\u60ca\u559c\u611f\u3002\u5f53\u524d3\u5929\u514d\u8d39\u8ba1\u5212\u66f4\u50cf\u8bd5\u7528\u88c5\uff0c\u65e0\u6cd5\u5f62\u6210\u4e60\u60ef\u7c98\u6027\u3002\u53e6\u4e00\u4e2a\u9690\u60a3\u662f\uff1a\u5b83\u4f9d\u8d56Instagram\u751f\u6001\uff0c\u4e00\u65e6Meta\u6536\u7d27API\u6216\u63a8\u51fa\u540c\u7c7b\u529f\u80fd\uff0c\u751f\u5b58\u7a7a\u95f4\u5c06\u88ab\u77ac\u95f4\u6324\u538b\u3002\u4f5c\u4e3a\u72ec\u7acb\u5f00\u53d1\u8005\u4ea7\u54c1\uff0c\u5176\u4ef7\u503c\u9a8c\u8bc1\u9700\u8981\u66f4\u805a\u7126\u7684\u793e\u7fa4\uff08\u5982\u57ce\u5e02\u751f\u6d3b\u535a\u4e3b\uff09\u800c\u975e\u6cdb\u5927\u4f17\u3002\u771f\u6b63\u7684\u673a\u4f1a\u5728\u4e8e\u6210\u4e3a\u201c\u57ce\u5e02\u7075\u611f\u2192\u884c\u52a8\u201d\u7684\u9ed8\u8ba4\u4e2d\u95f4\u5c42\uff0c\u4f46\u76ee\u524d\u5b83\u66f4\u50cf\u4e00\u4e2a\u7cbe\u81f4\u7684\u73a9\u5177\uff0c\u79bb\u201c\u5fc5\u9700\u54c1\u201d\u8fd8\u6709\u8ddd\u79bb\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Yondry<\/span>\n                <\/div>\n<div class=\"comment-content\">You&#8217;ve saved 400 places and visited 6. Yondry fixes that: share any post or link, it extracts the real place, and an AI planner builds your day around YOUR saves \u2014 weather-aware, time-boxed, swap anything. For days out, not trips. Go yonder.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi PH \ud83d\udc4b I&#8217;m Anna Maria, solo founder of Yondry.<\/p>\n<p>Like everyone, I had a graveyard of saved Instagram posts and screenshots of places I &#8220;definitely had to try.&#8221; Then every Saturday morning I&#8217;d spend an hour planning Saturday and usually end up at the same caf\u00e9.<\/p>\n<p>Yondry is my fix:<br \/>\ud83d\udd16 **Share any Instagram post, link, or screenshot** \u2192 it extracts the actual place (share-sheet caption \u2192 oEmbed \u2192 OCR cascade) and files it in your library<br \/>\ud83d\uddd3\ufe0f **Tell it what you feel like** (&#8220;chill rainy Saturday, walking only, done by 6&#8221;) and it builds 2\u20133 complete day plans from *your* saves first, filling gaps only when needed<br \/>\ud83d\udd04 **Swap any stop**, saved three coffee spots? It picks one, the others are one tap away<br \/>\u2614 Weather-aware, time-box-aware, pram-friendly mode, transit-only mode<\/p>\n<p>Different from trip planners: Yondry is for **your own city and days out**, not your holiday to Lisbon.<\/p>\n<p>Built solo over 18 months with AI coding tools: FastAPI + Postgres backend, React Native, Claude for intent + plan generation, every release tested against 8 eval scenario suites.<\/p>\n<p>3 day plans free every month; Plus is \u00a34.99\/mo if Saturdays are your thing. I&#8217;d genuinely love your roast: what&#8217;s the first thing you&#8217;d save?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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-08-05 PH\u70ed\u699c | 2026-08-05 #1 Wispr [&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-304","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/304","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=304"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/304\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}