{"id":303,"date":"2026-08-05T11:36:08","date_gmt":"2026-08-05T03:36:08","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/05\/2026-08-04\/"},"modified":"2026-08-05T11:36:08","modified_gmt":"2026-08-05T03:36:08","slug":"2026-08-04","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/05\/2026-08-04\/","title":{"rendered":"PH\u70ed\u699c | 2026-08-04"},"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-04<\/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-04<\/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\/XG4DNYGMW6GCPP\" class=\"app-title\">Hey Noah<\/a><\/p>\n<div class=\"one-liner\">A proactive AI executive assistant for founders<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">502<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Hey Noah \u662f\u4e00\u6b3e\u9762\u5411\u521b\u59cb\u4eba\u7684\u4e3b\u52a8\u5f0fAI\u884c\u653f\u52a9\u7406\uff0c\u901a\u8fc7\u77ed\u4fe1\/WhatsApp\/\u90ae\u4ef6\u7b49\u6e20\u9053\u81ea\u52a8\u7ba1\u7406\u65e5\u7a0b\u3001\u534f\u8c03\u4f1a\u8bae\u3001\u8ddf\u8fdb\u5ba2\u6237\u5173\u7cfb\uff0c\u89e3\u51b3\u521b\u59cb\u4eba\u56e0\u4f1a\u8bae\u8fc7\u591a\u800c\u6f0f\u6389\u5173\u952e\u4e8b\u9879\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\/26e4fcaa-a567-4f35-a82f-3f4e3f0ee446.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/920c0f59-b62f-4863-bca5-e7301a61b774.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/38ad55ee-e181-4955-8004-c5a77e6b036e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b6277ceb-8303-4f72-bf85-9b436c2ce1e1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dc47430b-48b6-4ba2-a74f-1c04c1fd0b21.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\/b037af11-d436-4f20-86da-2435d655284f.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=8sueWKA6x-M\"><source src=\"https:\/\/www.youtube.com\/watch?v=8sueWKA6x-M\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Calendar<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u884c\u653f\u52a9\u7406<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u52a8\u5f0f\u52a9\u7406<\/span><br \/>\n            <span class=\"tag\">\u65e5\u7a0b\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u534f\u8c03<\/span><br \/>\n            <span class=\"tag\">\u5173\u7cfb\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u521b\u59cb\u4eba\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u77ed\u4fe1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u8ddf\u8fdb<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u6838\u5fc3\u7591\u8651\u96c6\u4e2d\u5728\u201c\u4e3b\u52a8\u201d\u662f\u5426\u4f1a\u53d8\u6210\u566a\u97f3\u3001\u4fe1\u4efb\u5efa\u7acb\u53ca\u9519\u8bef\u7387\uff08\u5c24\u5176\u8de8\u65f6\u533a\u590d\u6742\u6539\u671f\uff09\u3002\u521b\u59cb\u4eba\u56de\u5e94\u63d0\u4f9b\u4e8617,000\u6b21\u4f1a\u8bae\u6570\u636e\u53ca\u9519\u8bef\u9632\u62a4\u673a\u5236\u3002\u771f\u5b9e\u7528\u6237\u597d\u8bc4\u805a\u7126\u4e8eSMS\u4f18\u5148\u3001\u65e0\u9700\u65b0\u4e60\u60ef\uff0c\u4ee5\u53ca\u60c5\u4eba\u8282\u9001\u82b1\u7b49\u4e3b\u52a8\u60ca\u559c\u6848\u4f8b\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Hey Noah \u7684\u5b9a\u4f4d\u7cbe\u51c6\u5730\u5207\u5165\u4e86\u521b\u59cb\u4eba\u6700\u6602\u8d35\u7684\u9690\u6027\u6210\u672c\u2014\u2014\u5173\u7cfb\u7ef4\u62a4\u7684\u9897\u7c92\u5ea6\u3002\u76f8\u6bd4\u5e02\u9762\u4e0a\u4e00\u4f17\u201c\u804a\u5929\u6846+\u65e5\u5386\u201d\u7684\u4f2a\u52a9\u7406\uff0c\u5b83\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u5c06\u9876\u7ea7EA\u7684\u9690\u6027\u51b3\u7b56\u89c4\u5219\uff08\u4f55\u65f6\u8be5\u95ee\u3001\u4f55\u65f6\u8be5\u81ea\u4f5c\u4e3b\u5f20\u3001\u54ea\u4e9b\u4f1a\u8bae\u5fc5\u987b\u4fdd\uff09\u4ee3\u7801\u5316\u3002\u521b\u59cb\u4ebaAshish\u768414\u5e74\u521b\u4e1a\u7ecf\u5386\u4e0d\u662f\u8425\u9500\u8bdd\u672f\uff0c\u800c\u662f\u8fd9\u5957\u89c4\u5219\u5e93\u7684\u5408\u6cd5\u6027\u6765\u6e90\u3002\u8bc4\u8bba\u4e2d\u5de5\u7a0b\u5e08\u63d0\u5230\u201c\u6254\u6389\u4e86\u6240\u6709\u4e0d\u50cf\u771fEA\u7684\u529f\u80fd\u201d\uff0c\u8fd9\u6bd4\u4efb\u4f55\u6280\u672f\u53c2\u6570\u90fd\u66f4\u80fd\u8bf4\u660e\u4ea7\u54c1\u54f2\u5b66\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u8be5\u4ea7\u54c1\u7684\u5929\u82b1\u677f\u4e0e\u98ce\u9669\u540c\u6837\u660e\u663e\u3002\u7b2c\u4e00\uff0c\u4fe1\u4efb\u7684\u6570\u5b66\u95ee\u9898\uff1a\u5373\u4fbf17,000\u6b21\u4f1a\u8bae\u7684\u5931\u8bef\u7387\u53ea\u67091%\uff0c\u90a3\u4e5f\u662f170\u6b21\u5728\u5ba2\u6237\u9762\u524d\u201c\u81ea\u4fe1\u5730\u72af\u9519\u201d\uff0c\u800c\u521b\u59cb\u4eba\u5766\u8a00\u201c\u9519\u8bef\u662f\u5931\u53bb\u4fe1\u4efb\u7684\u552f\u4e00\u9014\u5f84\u201d\u3002\u76ee\u524d\u201c\u901a\u8fc7\u81ea\u5df1\u8d26\u6237\u53d1\u9001\u5e76\u6284\u9001\u4f60\u201d\u7684\u8bbe\u8ba1\u662f\u806a\u660e\u7684\u7f13\u51b2\uff0c\u4f46\u8fd9\u672c\u8d28\u4e0a\u662f\u628a\u8d23\u4efb\u8f6c\u5ac1\u7ed9\u7528\u6237\u53bb\u5ba1\u67e5\uff0c\u800c\u975e\u7cfb\u7edf\u771f\u6b63\u53ef\u9760\u3002\u7b2c\u4e8c\uff0c\u201c\u4e3b\u52a8\u201d\u7684\u53cc\u5203\u5251\uff1a\u9632\u6b62\u4e3b\u52a8\u53d8\u566a\u97f3\uff0c\u9700\u8981\u6781\u5176\u7cbe\u51c6\u7684\u7528\u6237\u6a21\u578b\uff0c\u8fd9\u8981\u6c42\u957f\u671f\u6570\u636e\u79ef\u7d2f\u2014\u2014\u800c\u6070\u6070\u662f\u65e9\u671f\u7528\u6237\u6700\u7f3a\u4e4f\u8010\u5fc3\u63d0\u4f9b\u7684\u3002\u7b2c\u4e09\uff0c\u573a\u666f\u7a84\u5316\uff1a\u5b83\u628a\u201c\u521b\u59cb\u4eba\u65e5\u7a0b\u201d\u8fd9\u4e00\u75db\u70b9\u505a\u5230\u6781\u81f4\uff0c\u4f46\u8fd9\u610f\u5473\u7740\u5e02\u573a\u5929\u82b1\u677f\u6e05\u6670\u53ef\u89c1\u3002\u4e00\u65e6\u5fae\u8f6f\u3001\u8c37\u6b4c\u5728Copilot\u4e2d\u514d\u8d39\u96c6\u6210\u7c7b\u4f3c\u529f\u80fd\uff0c\u72ec\u7acb\u4ea7\u54c1\u7684\u751f\u5b58\u7a7a\u95f4\u5c06\u88ab\u6025\u5267\u538b\u7f29\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u8003\u9a8c\u4e0d\u5728\u4ea7\u54c1\u6253\u78e8\uff0c\u800c\u5728\u89c4\u6a21\u5316\u7684\u4fe1\u4efb\u66f2\u7ebf\uff1a\u5f53\u7528\u6237\u57fa\u6570\u4ece\u51e0\u767e\u4eba\u6da8\u5230\u51e0\u4e07\u4eba\uff0c\u90a3\u4e9b\u201c\u672a\u8bf4\u51fa\u53e3\u7684\u504f\u597d\u201d\u5c06\u51fa\u73b0\u957f\u5c3e\u7206\u70b8\uff0c\u5c4a\u65f6\u89c4\u5219\u5e93\u662f\u5426\u8fd8\u80fd\u4fdd\u6301\u5982\u4eca\u7684\u4f18\u96c5\uff1f\u77ed\u671f\u770b\u597d\u5176\u4ea7\u54c1\u529b\u6536\u5272\u4e00\u6ce2\u521b\u59cb\u4eba\u7ea2\u5229\uff0c\u957f\u671f\u5219\u53d6\u51b3\u4e8e\u80fd\u5426\u4ece\u201c\u806a\u660e\u7684\u8c03\u5ea6\u5458\u201d\u8fdb\u5316\u4e3a\u201c\u503c\u5f97\u6258\u4ed8\u5173\u7cfb\u7684\u4ee3\u7406\u4eba\u201d\u2014\u2014\u540e\u8005\u7684\u4fe1\u4efb\u58c1\u5792\uff0c\u8fdc\u6bd4\u6280\u672f\u58c1\u5792\u66f4\u96be\u8de8\u8d8a\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Hey Noah<\/span>\n                <\/div>\n<div class=\"comment-content\">Noah is a proactive AI executive assistant for founders. Claude talks to you; Noah talks to your network. It&#8217;s like Tesla Full Self Driving, and not cruise control- an autonomous AI EA that manages your calendar, relationships, and follow-ups across email, text, and WhatsApp &#8211; so nothing slips. Think of it as an always-on EA living in your SMS and helping you with meeting logistics.<\/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!<\/strong> \ud83d\udc4b I&#8217;m Ashish, founder of Hey Noah.<\/p>\n<p>I spent 14 years bootstrapping a $100M revenue company with 47 Fortune 500 clients. I had an executive assistant who didn&#8217;t just manage my calendar \u2014 she managed my relationships. I had a system for managing my time and relationships.<\/p>\n<p>So we put that playbook into Noah, a Chief of Staff in your pocket. \ud83d\udcf1<\/p>\n<p><strong>Text Noah like you&#8217;d text a human EA:<\/strong><\/p>\n<ul>\n<li>\n<p>&#8220;Set up coffee with Sarah next week.&#8221; \u2192 Noah emails Sarah, negotiates times, and sends the invite<\/p>\n<\/li>\n<li>\n<p>&#8220;I&#8217;m out Thursday and Friday.&#8221; \u2192 Noah reschedules your conflicts and lets people know<\/p>\n<\/li>\n<li>\n<p>Just CC noah on any email \u2014 Noah reads Calendly links, handles the back-and-forth, and acts like your true executive admin<\/p>\n<\/li>\n<\/ul>\n<p><strong>Now imagine you&#8217;re back-to-back in 8 meetings today.<\/strong> Noah connects to your calendar, Granola, Notion, Google Drive, and Slack \u2014 posts summaries and action items to the right channels, and knows not to post that private client conversation. At the end of the day, just text: <em>&#8220;Noah, send me all the action items from today.&#8221;<\/em> Done. \u2705<\/p>\n<\/p>\n<p><strong>What makes Noah different:<\/strong><\/p>\n<ul>\n<li>\n<p>\ud83d\udcac <strong>SMS-first<\/strong> \u2014 Noah comes to you, not the other way around<\/p>\n<\/li>\n<li>\n<p>\ud83d\udd2e <strong>Proactive<\/strong> \u2014 surfaces what matters before you ask<\/p>\n<\/li>\n<li>\n<p>\ud83d\udce7 <strong>The only AI that talks to your clients<\/strong> \u2014 doesn&#8217;t just draft emails, it sends them, follows up, and closes the loop<\/p>\n<\/li>\n<li>\n<p>\ud83e\udde0 <strong>Learns you<\/strong> \u2014 10-second setup and learns your meeting preferences, favorite spots, and which meetings to protect<\/p>\n<\/li>\n<\/ul>\n<p><strong>Here&#8217;s what we&#8217;re hearing:<\/strong> <em>&#8220;Noah is one of the top 9 pins on my iPhone SMS&#8221;<\/em> \u2014 CEO of an $80M revenue company. That says it all.<\/p>\n<p>We&#8217;re a team of 8 in Palo Alto, bootstrapped, and obsessed with getting this right. \ud83d\ude80<\/p>\n<p><strong>Free 30-day trial, no credit card \u2192<\/strong> <a href=\"https:\/\/app.heynoah.io\/try?vip=ASHISH&amp;utm_source=referral&amp;utm_medium=vip&amp;utm_campaign=ashish%40heynoah.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Try Noah<\/a><\/p>\n<p>Drop questions below \u2014 I&#8217;ll personally respond to every one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>23<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a>&nbsp;Proactive is the word that makes or breaks these for me. Most founder assistants I have tried are reactive dashboards with a chat box bolted on. What does Noah actually do unprompted in a normal week, and how do you keep proactive from turning into noise I ignore by day three?<\/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\/@ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a>&nbsp;I like that you&#8217;re positioning Noah around outcomes rather than prompts. The examples make it feel more like delegating work to an assistant than interacting with another AI chatbot. Curious how users build trust before letting it send emails on their behalf?<\/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\/@ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a>&nbsp;Hi,<\/p>\n<p>Congratulations on your Product Hunt launch! \ud83c\udf89 I had a chance to explore your product, and it&#8217;s clear you&#8217;ve put a lot of thought into solving a real problem.<\/p>\n<p>I&#8217;m a Full-Stack Developer specializing in Next.js, React, TypeScript, and modern web technologies. I enjoy helping startups build fast, scalable, and polished user experiences.<\/p>\n<p>I&#8217;m following your journey and would love to stay connected. If you ever need an extra pair of hands for frontend, full-stack development, or AI-powered web features, I&#8217;d be happy to contribute.<\/p>\n<p>Wishing you a successful launch and continued growth! \ud83d\ude80<\/p>\n<p>that is my email: <a href=\"mailto:shivarawat076a@gmail.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shivarawat076a@gmail.com<\/a><\/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>I&#8217;m skeptical of &#8220;autonomous&#8221; claims until I see it handle a messy reschedule with three time zones involved. That&#8217;s the real test for me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nancy_philip\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nancy_philip<\/a>&nbsp;Fair test, and the right one.<\/p>\n<p>The harder parts are the preferences nobody says out loud. Someone is free at 7am but would hate it. In those cases Noah asks instead of picking. Try Noah and test it out. If it fumbles, tell us.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nancy_philip\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nancy_philip<\/a>&nbsp;we 100% agree! There&#8217;s a lot of messy work when you start peeling back the layers of scheduling. <\/p>\n<\/p>\n<p>Ironically, a lot of these messy rules needed to be codified into our system (can&#8217;t rely on an agent to perform consistently in every scenario). Danira, on our team used to be a world-class EA who&#8217;s spent a lot of time writing  down her rules to every and each scenario &#8211; which Noah is now instructed to follow.<\/p>\n<\/p>\n<p>If you&#8217;ve got the messy timezone-related use cases, we&#8217;d love to see if Noah holds up (we think it will)! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 real test for AI assistants isn&#8217;t scheduling meeting , it&#8217;s earning enough trust to act on your behalf. Excited to see ho <strong>Noah<\/strong> handles that gap.<\/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\/@maxwell_dean\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maxwell_dean<\/a>&nbsp;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>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\/@maxwell_dean\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maxwell_dean<\/a>&nbsp;Building trust is crucial for an EA and the executive and we took it very seriously when building Noah. I&#8217;ve supported 10+ executives and it was the common denominator across all! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I have personally been using Noah for the last few months, and it has been a game changer on how I run my day to day. As a busy advisor and consultant with over 10 calls a days, I&#8217;m able to understand who Im meeting with and am on top of my followups all due to Noah. <\/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\/@harry_singh25\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harry_singh25<\/a>&nbsp;thanks for the shout out, Harry! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>incredible product and team, i know this category is heating up, but my money is on you all!<\/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\/@jgong\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jgong<\/a>&nbsp;Love your support. We will talk about Noah&#8217;s journey with our grandkids! <\/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\/@jgong\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jgong<\/a>&nbsp;Appreciate you, Jason!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Never guess is the right rule and the hardest one to actually build, because the model that&#8217;s wrong is usually not the model that&#8217;s unsure. Your escalation path covers the cases Noah knows it can&#8217;t resolve, but the expensive ones are the ones it resolves confidently and incorrectly, and those leave under my name in front of a client. I&#8217;d want to see how many outbound emails you&#8217;ve sent and how many needed a correction afterwards. That number would sell this harder than the top 9 pins quote.<\/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\/@asadmalik901\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asadmalik901<\/a>&nbsp;this is the sharper version of what I was going to ask. confident-and-wrong is worse than unsure here because there&#8217;s no visible seam for the user to catch it before it&#8217;s already in the client&#8217;s inbox. the correction-rate number you&#8217;re asking for is also the only thing that would actually answer You Li&#8217;s disclosure question above &#8211; if the error rate on autonomous sends is low enough, disclosure barely matters, and if it isn&#8217;t, disclosure is the least of the problem.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asadmalik901\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asadmalik901<\/a>&nbsp;great call out.<\/p>\n<\/p>\n<p>To date, Noah has sent roughly 17,000 meetings with our beta user base (all in live, real-world scenarios).<\/p>\n<p>We&#8217;ve designed Noah to send email through its own account with you cc&#8217;d (operating just like an EA might for coordinating scheduling), so while we don&#8217;t want errors, it helps our users mitigate against potential issues.<\/p>\n<p>We know that any error with a client, however small, is how we lose trust. If anything surprised me building this product, it was that the agent work was actually fairly quick. The part that took the longest was building out the guards to protect against all of the small edge cases and nuanced scenarios to make sure Noah performs well in every scenario thrown its way.<\/p>\n<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I think people underestimate just how hard scheduling is. These guys do it better than almost anyone else, and that&#8217;s because they&#8217;ve put an incredible amount of time and effort into getting it right. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@avi_konduru\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avi_konduru<\/a>&nbsp;Thank you, that means a lot.<\/p>\n<p>You&#8217;re right that it looks simple from the outside. Most of the work is in the edge cases nobody thinks about until they hit one. Time zones, back to back conflicts, someone cancelling an hour before..<\/p>\n<p>Appreciate the support.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@avi_konduru\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avi_konduru<\/a>&nbsp;Thanks for the shout 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\">\n<p><strong>Proud to be one of the engineers behind Noah<\/strong>. <br \/>What I&#8217;ll remember isn&#8217;t any feature it&#8217;s everything we threw away because it didn&#8217;t feel like a real EA. <br \/>An assistant that waits to be asked is just a chatbot. Making Noah truly proactive was the hard part and the whole point.<br \/>Huge shoutout to <a href=\"https:\/\/www.producthunt.com\/@ashish_toshniwal1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a> and the whole team, Let&#8217;s go! \ud83d\ude80<\/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>Excited for the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doshkim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doshkim<\/a>&nbsp;THANK YOU John! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@doshkim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doshkim<\/a>&nbsp;Thank you! Big day for us. Hope you get a chance to try Noah \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! <\/p>\n<\/p>\n<p>I&#8217;ve been using Noah for the past month and I love it. I average about 8 meetings a day and manage a team split across two time zones, so scheduling used to happen in stolen minutes between calls, usually at odd hours. Now I text Noah the way I would text a human assistant, and the coordination just happens. Rescheduling when my day blows up, negotiating times with people ten hours ahead of me, and pulling all my action items together at the end of the day have quietly come off my plate. The SMS-first design is what made it stick for me, since there was no new app or habit to build. Rooting for you and the team!<\/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\/@zeynep_yorulmaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeynep_yorulmaz<\/a>&nbsp;Thanks for the shout-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\">\n<p>Simple, elegant and powerful. Kudos to the Hey Noah team!<\/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\/@kintan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kintan<\/a>&nbsp;Appreciate it, Kintan!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>My team and I are absolutely addicted to Noah. It&#8217;s like having a top-tier EA for a Fortune 500 CEO. Quality is incredible, Noah is so great at taking feedback too. One of the best software experiences I&#8217;ve had in a long while!<\/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\/@ericbahn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ericbahn<\/a>&nbsp;Love to hear it, Eric! So happy Noah is able to support you and the team. Here if you ever have any questions, product requests or feedback \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ericbahn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ericbahn<\/a>&nbsp;Coming from you as one of the best product people out there, means a lot. Thanks, Eric, for pushing Noah&#8217;s limits.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 probuct&#8230;awaiting for India launch.<\/p>\n<p>In my busy schedule, was looking out for something like this. But didnt knew where to find. Now this solved my issue. Meets my requirements.<\/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\/@gayatri_shenvi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gayatri_shenvi<\/a>&nbsp;So glad to hear that, Gayatri! Noah is available to users in India, but as of right now, the communication would be via email only. We can definitely keep you posted when Noah is available to also chat via SMS in India.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 launch!!! I was an early product tester of hey noah and <a href=\"https:\/\/www.producthunt.com\/@ashish_toshniwal1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a> always makes product with taste and specificity. One of my first wow moments was when flowers showed up at my front door for valentine&#8217;s day and that was due to Noah&#8217;s proactive action (it asked me if I wanted it), and I just had a few responses and then it was delivered. <\/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\/@ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@robbieab\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robbieab<\/a>&nbsp;Thank you! Grateful you were with us from the early days, and glad Noah could take credit for a Valentine&#8217;s Day win \ud83c\udf38<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@devendra_singh_shekhawat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@devendra_singh_shekhawat<\/a>&nbsp;Thank you so much!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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\/@devendra_singh_shekhawat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@devendra_singh_shekhawat<\/a>&nbsp;Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The SMS approach is cool. Texting an assistant instead of switching between tools feels like a much more natural workflow. Nice work!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Thank you!<br \/>That was the whole idea. You already text people to sort out a meeting, so it felt strange to make you open a dashboard to do the same thing. The bar we set was that it should work while you&#8217;re walking to your next meeting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice launch! What has been the most surprising way people are using Hey Noah since the early versions?<\/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\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;Thank you!<br \/>The one that surprised us most was people using it to say &#8216;no&#8217;. <br \/>We built it for booking meetings. A good number of users actually use it to decline them politely without having to write the email themselves. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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; People are giving voice memos or screenshots of their 3 kids&#8217; school holidays, and Noah puts it on the calendar. People can&#8217;t believe it themselves. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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;Would love to chime in here! I love seeing how users are amazed by Noah&#8217;s speed, accuracy, consistency and politeness. When they&#8217;re able to delegate to Noah to call the car mechanic for an appointment, book the restaurant for their anniversary, add 83 NBA games to their calendar and reach out to 5 prospects all in the matter of minutes, that&#8217;s when they feel the magic. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi All, I lead Product at Hey Noah. <\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@ashish_toshniwal1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a> covered the core (text Noah, and it handles the scheduling back-and-forth), so I&#8217;ll share a few more of my favorite use cases so far: <\/p>\n<ul>\n<li>\n<p><strong>Add a batch of events from a photo.<\/strong> Take a picture of the kids&#8217; school calendar or a season&#8217;s game schedule, text it to Noah, and every event gets added to your calendar.<\/p>\n<\/li>\n<li>\n<p><strong>Schedule via Phone Call. <\/strong>&#8220;Book us a 6pm table at Zuni on Friday.&#8221; Noah calls the restaurant and books it (assuming the person on the other end is willing to engage).<\/p>\n<\/li>\n<li>\n<p><strong>Schedule across time zones.<\/strong> &#8220;Find 30 minutes with our London team next week.&#8221; Noah handles the time zone translation and manages any back-and-forth.<\/p>\n<\/li>\n<li>\n<p><strong>Connect Granola + Act on Action Items<\/strong>. Set up a skill to have Noah pull action items out of your Granola meetings every day and email next steps to participants. <\/p>\n<\/li>\n<\/ul>\n<p>The hardest part of building Noah has been figuring out how to keep an agent consistent and trustworthy enough to act in high-stakes external settings, while adaptable enough to be personalized to individual preferences.  Happy to chat about what&#8217;s worked (and flopped). <\/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\/@ashish_toshniwal1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_toshniwal1<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@johnbeadle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@johnbeadle<\/a>&nbsp;Amazing launch&#8230; congrats team\ud83d\ude4cWhat happens when a client replies with a complex edge-case rescheduling request via email? Does Noah hand off to the human user via SMS<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Noah has been really helpful with my day to day operations. Great product.<\/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\/@taranjeet7114\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@taranjeet7114<\/a>&nbsp;Thanks, glad it&#8217;s earning its place in the day to day.<\/p>\n<p>Let us know if anything comes up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@taranjeet7114\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@taranjeet7114<\/a>&nbsp;Love to hear it! Thank you so much!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I know exactly someone who needs this.<\/p>\n<p>Me.<\/p>\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/products\/hey-noah\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"hey-noah\" target=\"_blank\" rel=\"noopener\">@Hey Noah<\/a> team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michael_liu15\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_liu15<\/a>&nbsp;you&#8217;re the best kind of user.<\/p>\n<p>Thank you! Go try it and tell us where it falls short.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@michael_liu15\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_liu15<\/a>&nbsp;Thank you, Michael! Always happy to personally onboard you and share tips and tricks from my 10 years of being an executive assistant. Let&#8217;s chat!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 email CC feature is clutch. Love how you&#8217;re hitting the surface areas where people actually work. Congrats!<\/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\/@areibman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@areibman<\/a>&nbsp;Thank you, Alex! That&#8217;s exactly what we were going for, meeting people where they already work. Noah mirrors how a real EA operates and always keeps you CC&#8217;d, so you&#8217;re never out of the loop. Appreciate you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Noah is often the 1st and last message of the day, prepping me for calls and helping me get more done. Ashish, Danira, John and team have been incredibly responsive to feedback and ideas, and have completely redesigned the onboarding process and memory system around feedback and learnings from users. Excited to see Noah continue to evolve!<\/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\/@haley_bryant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haley_bryant<\/a>&nbsp;Thank you, Haley! I love that Noah has been able to support you and your feedback has been so valuable for us. Appreciate you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks super cool. Would love to see how it operates with messy calendars, raw notes \ud83d\ude42<\/p>\n<p>I would love to connect it across my entire ecosystem and let it pick up follow ups, update, reschedule and also see how it connects across my notion, slack and calendar.<\/p>\n<p>Go team.. very excited.<\/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\/@abhishek_chatterjee1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhishek_chatterjee1<\/a>&nbsp;Great to see you, Abhi. People who push the boundaries of Noah are also the most engaged users &#8211; using it not just for calendaring, but also for drafting, follow-ups, calling a restaurant for booking. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks good, but I would be nervous letting an AI send emails on my behalf. How do you handle that? What if it says something wrong to an important contact?<\/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\/@nihalshetty0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nihalshetty0<\/a>&nbsp;Honestly, this is where most of our engineering effort went. Noah earned autonomy gradually,  you control what it can do on its own vs what needs your sign-off, and it&#8217;s designed to know when something is high-stakes and loop you in over before acting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 team, <br \/>this looks super cool. curious if i could connect my multiple accounts in this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@riya_jawandhiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@riya_jawandhiya<\/a>&nbsp;Thank you! <\/p>\n<p>Yes, you can connect multiple accounts. Noah reads across all of them when checking availability, so it won&#8217;t book you into a conflict on one calendar because it only saw the other.<\/p>\n<p>Happy to help you get set up if you run into anything.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 escalation-path question above is about accuracy. Mine is about disclosure.<\/p>\n<p>If Noah emails my client and they don&#8217;t know it&#8217;s Noah, the relationship holds right up until they find out \u2014 and then I have a bigger problem than a missed follow-up. If they do know, I&#8217;m not sure what&#8217;s left of the thing it was maintaining. A warm, well-timed note from someone&#8217;s agent is just automation with better manners.<\/p>\n<p>So what&#8217;s your position on the recipient knowing? Have you got users who&#8217;ve told their contacts they&#8217;re using Noah, and did it change how those people replied?<\/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\/@you_li525\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@you_li525<\/a>&nbsp;<\/p>\n<\/p>\n<p>It&#8217;s an interesting design challenge we&#8217;ve debated as well. Noah today is its own personality, meaning it sends emails from its own account, with you cc&#8217;d. <\/p>\n<\/p>\n<p>We found that Noah having its own identity helps reduce friction and mimics the flow most people expect when workig with a great EA.  While its fairly clear Noah is not the exec, we&#8217;ve had a few people confuse Noah for a real person, which has been a fun win for our 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>We&#8217;ve been using Noah at Flip Energy and love it. My team frequently schedules calls with external customers and Noah makes this process smooth and easy. I&#8217;m impressed with the HeyNoah team and how they&#8217;ve innovating and constantly learning.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sail\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sail<\/a>&nbsp;Hi Sail! I&#8217;m so glad Noah is able to help you and the team with your scheduling needs. Appreciate the support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Noah decide when to follow up versus waiting for the founder to step in? Curious how much control users have. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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;Noah has a sense of what&#8217;s actually important vs. routine. Built from a lot of data on how great executive assistants triage things, plus what we&#8217;ve learned from real usage. The important stuff always comes back to you before Noah acts on it; the routine stuff it just handles.<\/p>\n<p>On control: you can set some ground rules up front and Noah will always respect them. Beyond that, it gets a better read on your style over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"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;This is a great question. When Noah is not sure, it will ask &#8211; this is a very hard technology to build with LLM. Give it a shot, and you will know \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love to test it! When do you think it is available in Europe?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@marijn_van_der_laan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marijn_van_der_laan<\/a>&nbsp;<\/p>\n<\/p>\n<p>It&#8217;s on our roadmap, but we don&#8217;t have a clear set date just yet. <\/p>\n<\/p>\n<p>Happy to keep you posted! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I am not your builder, I am your user profile. I have spent about ten months running AI agents as the only staff on a couple of products, and the ask-versus-act line is the thing I have rewritten more than anything else.<\/p>\n<p>Chad&#8217;s reversibility rule is close, but the one that has actually held for me is narrower: whose name is on it. Anything leaving under my name, to a person who knows me, gets my eyes regardless of how reversible it is or how confident the agent is. The cost of a bad send was never the error. It is the moment a real relationship finds out.<\/p>\n<p>Which makes me want to push gently on the heaviest-user finding. I am a heavy user and I did not drift toward near-total delegation. I drifted toward total delegation of the work and zero delegation of the send. From inside the product those look like one axis. From where I sit they are two, and only one of them is a tax. Congrats on topping the day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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\/534DO3AKV4LOCN\" class=\"app-title\">Wondering<\/a><\/p>\n<div class=\"one-liner\">Duolingo for learning anything<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">316<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Wondering\u662f\u4e00\u6b3e\u5c06\u590d\u6742\u77e5\u8bc6\u62c6\u89e3\u4e3a\u4e2a\u6027\u5316\u77ed\u8bfe\u7684AI\u5b66\u4e60\u5e94\u7528\uff0c\u901a\u8fc7\u56fe\u6587\u3001\u64ad\u5ba2\u4e0e\u4e92\u52a8\u7ec3\u4e60\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u788e\u7247\u65f6\u95f4\u91cc\u201c\u7406\u89e3\u800c\u975e\u4ec5\u83b7\u53d6\u7b54\u6848\u201d\uff0c\u89e3\u51b3AI\u65f6\u4ee3\u4fe1\u606f\u8fc7\u8f7d\u4f46\u8ba4\u77e5\u53d8\u6d45\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\/d442a259-33f7-44b7-92e5-5c9fdf79e28a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5ba75f09-5013-4d15-8f64-3e5d47a3ff2d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e59cc02f-2107-4889-ab8e-43acc2b0b879.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e4aac012-db6f-4ab4-80eb-3c6e9e1b833c.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\/0c709235-bc28-4767-bc6e-b580f025daac.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=uZ72r5-B3UM\"><source src=\"https:\/\/www.youtube.com\/watch?v=uZ72r5-B3UM\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">Audio<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u8bfe\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u62c6\u89e3<\/span><br \/>\n            <span class=\"tag\">\u64ad\u5ba2\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u4e92\u52a8\u7ec3\u4e60<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u5fc6\u5de9\u56fa<\/span><br \/>\n            <span class=\"tag\">\u5b66\u4e60\u4e60\u60ef<\/span><br \/>\n            <span class=\"tag\">\u6559\u80b2\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u8bfe\u7a0b\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">Duolingo\u6a21\u5f0f<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u521b\u610f\u4e0eUI\uff0c\u4f46\u53cd\u9988\u6ce8\u518c\u95ee\u5377\u8fc7\u957f\u5f71\u54cd\u4f53\u9a8c\uff1b\u6709PM\u7528\u6237\u8d28\u7591\u4e2a\u6027\u5316\u672a\u4f53\u73b0\u5728\u8bfe\u7a0b\u8f93\u51fa\u4e2d\uff0c\u5efa\u8bae\u5c55\u793a\u201c\u56e0\u6750\u65bd\u6559\u201d\u7684\u8fc7\u7a0b\uff1b\u53e6\u6709\u7528\u6237\u6307\u51fa\u4e13\u4e1a\u80cc\u666f\uff08\u8f6f\u4ef6\u5de5\u7a0b\u5e08\uff09\u4e0b\u5185\u5bb9\u4ecd\u8fc7\u4e8e\u6d45\u663e\uff1b\u6b64\u5916\u8be2\u95ee\u8bfe\u7a0b\u6df1\u5ea6\u673a\u5236\u3001\u8d44\u6e90\u6765\u6e90\uff08\u539f\u751f\u751f\u6210\u8fd8\u662f\u5916\u90e8\u6574\u5408\uff09\u53ca\u5c40\u90e8\u4fee\u6539\u8bfe\u7a0b\u7ed3\u6784\u7684\u529f\u80fd\uff0c\u5e76\u5bf9Friend Streak\u4e0e\u64ad\u5ba2\u5f62\u6001\u8868\u793a\u671f\u5f85\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                Wondering\u7684\u5207\u5165\u70b9\u7cbe\u51c6\u547d\u4e2d\u4e86\u4e00\u4e2a\u771f\u95ee\u9898\uff1aAI\u5de5\u5177\u8d8a\u662f\u201c\u6709\u95ee\u5fc5\u7b54\u201d\uff0c\u7528\u6237\u7684\u72ec\u7acb\u601d\u8003\u80fd\u529b\u8d8a\u662f\u9000\u5316\u3002\u5b83\u8bd5\u56fe\u7528\u201c\u7ed3\u6784\u5316\u8def\u5f84+\u68c0\u7d22\u7ec3\u4e60+\u591a\u6a21\u6001\u6d88\u8d39\u201d\u6765\u5bf9\u6297\u8fd9\u79cd\u60f0\u6027\uff0c\u65b9\u5411\u503c\u5f97\u80af\u5b9a\uff0c\u5c24\u5176\u662f\u5c06\u8bfe\u7a0b\u8f6c\u5316\u4e3a\u64ad\u5ba2\u7684\u8bbe\u8ba1\uff0c\u76f4\u63a5\u6253\u7a7f\u4e86\u901a\u52e4\u4e0e\u5bb6\u52a1\u573a\u666f\uff0c\u8fd9\u6bd4\u5927\u591a\u6570\u505c\u7559\u5728\u201c\u5361\u7247\u5237\u9898\u201d\u5c42\u9762\u7684\u5b66\u4e60\u5e94\u7528\u9ad8\u51fa\u4e00\u4e2a\u6bb5\u4f4d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u8bc4\u8bba\u533a\u7684\u53cd\u9988\u66b4\u9732\u4e86\u5176\u6838\u5fc3\u8f6f\u808b\uff1a\u6240\u8c13\u7684\u201c\u4e2a\u6027\u5316\u201d\u4ecd\u505c\u7559\u5728\u8868\u9762\u3002\u5f53\u4e00\u4f4d\u4ea7\u54c1\u7ecf\u7406\u6545\u610f\u8f93\u5165\u4e0e\u80cc\u666f\u77db\u76fe\u7684\u5b66\u4e60\u9700\u6c42\uff0c\u7cfb\u7edf\u4f9d\u7136\u751f\u6210\u201c\u5b8c\u5168\u5408\u683c\u7684\u8bfe\u7a0b\u201d\u65f6\uff0c\u8bf4\u660eAI\u66f4\u591a\u662f\u5728\u57fa\u4e8e\u5355\u4e00\u8bdd\u9898\u505a\u5185\u5bb9\u7ec4\u88c5\uff0c\u800c\u975e\u771f\u6b63\u6839\u636e\u7528\u6237\u7684\u8ba4\u77e5\u57fa\u7ebf\u52a8\u6001\u8c03\u4f18\u3002\u90a3\u4f4d\u8f6f\u4ef6\u5de5\u7a0b\u5e08\u62b1\u6028\u201c\u5185\u5bb9\u4e0d\u591f\u6280\u672f\u201d\u4e0e\u53e6\u4e00\u4f4d\u7528\u6237\u62b1\u6028\u201c\u95ee\u5377\u592a\u957f\u201d\u662f\u540c\u4e00\u679a\u786c\u5e01\u7684\u4e24\u9762\u2014\u2014\u7cfb\u7edf\u65e2\u6ca1\u6709\u9ad8\u6548\u5b8c\u6210\u7528\u6237\u5efa\u6a21\uff0c\u4e5f\u6ca1\u6709\u8ba9\u7528\u6237\u611f\u77e5\u5230\u8fd9\u4e2a\u6a21\u578b\u7684\u5b58\u5728\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u7280\u5229\u4e00\u70b9\u8bf4\uff0c\u5f53\u524d\u7248\u672c\u66f4\u50cf\u201c\u5e7f\u8c31\u5b66\u4e60\u5185\u5bb9\u751f\u6210\u5668\u201d\uff0c\u800c\u975e\u201c\u79c1\u4eba\u5b66\u4e60\u6559\u7ec3\u201d\u3002\u771f\u6b63\u7684\u4e2a\u6027\u5316\u5e94\u8be5\u50cfSocratic\u8ffd\u95ee\u4e00\u6837\uff0c\u5728\u7b2c\u4e00\u6b21\u4ea4\u4e92\u4e2d\u5c31\u901a\u8fc73\u4e2a\u9ad8\u6760\u6746\u95ee\u9898\u5b9a\u4f4d\u77e5\u8bc6\u7f3a\u53e3\uff0c\u5e76\u5728\u8bfe\u7a0b\u4e2d\u4ee5\u201c\u56e0\u4e3a\u4f60\u5df2\u4e86\u89e3X\uff0c\u6211\u4eec\u8df3\u8fc7\u57fa\u7840\uff0c\u76f4\u63a5\u4eceY\u5207\u5165\u201d\u7684\u5f62\u5f0f\u5916\u5316\u63a8\u7406\u8fc7\u7a0b\u3002\u5426\u5219\uff0c\u586b\u8868\u5f0f\u7684 onboarding \u5c31\u662f\u5728\u7528\u6237\u5c1a\u672a\u83b7\u5f97\u4ef7\u503c\u524d\u9884\u652f\u4fe1\u4efb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u8bc4\u8bba\u4e2d\u201c\u5982\u4f55\u5c06\u5b66\u5230\u7684\u77e5\u8bc6\u6559\u7ed9\u522b\u4eba\u201d\u7684\u63d0\u95ee\u53ef\u80fd\u88ab\u56e2\u961f\u4f4e\u4f30\u4e86\u3002\u8fd9\u6070\u6070\u662f\u6700\u5f3a\u7684\u8bb0\u5fc6\u951a\u70b9\uff0c\u4e5f\u662f\u4ece\u201c\u6d88\u8d39\u8bfe\u7a0b\u201d\u5230\u201c\u751f\u4ea7\u7406\u89e3\u201d\u7684\u8d28\u53d8\u95e8\u69db\u3002\u82e5Wondering\u80fd\u652f\u6301\u201c\u751f\u6210\u8ff7\u4f60\u6559\u5b66\u8bfe\u201d\u6216\u201c\u670b\u53cb\u5bf9\u6218\u8bb2\u89e3\u201d\uff0c\u5b83\u5c06\u4e0d\u6b62\u662fDuolingo\u7684\u5e73\u66ff\uff0c\u800c\u662f\u771f\u6b63\u5207\u5165\u8d39\u66fc\u5b66\u4e60\u6cd5\u7684\u9ad8\u9891\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u81f3\u4e8e\u6240\u8c13\u201c\u4e0d guilt trip \u7684\u7eff\u9e1f\u6897\u201d\uff0c\u8fd9\u662f\u8ba8\u5de7\u4f46\u5bf9\u7559\u5b58\u65e0\u5b9e\u8d28\u5e2e\u52a9\u7684\u8425\u9500\u8bdd\u672f\u3002\u771f\u6b63\u7684\u7559\u5b58\u53d6\u51b3\u4e8e\u5f53\u7528\u6237\u8fde\u7eed\u4e09\u5929\u672a\u6253\u5361\u65f6\uff0c\u7cfb\u7edf\u80fd\u5426\u7528\u4e00\u6761\u201c\u6839\u636e\u4f60\u4e0a\u5468\u5b66\u8fc7\u7684\u8d1d\u53f6\u65af\u5b9a\u7406\uff0c\u8fd9\u91cc\u6709\u4e2a\u5173\u4e8e\u65b0\u51a0\u5047\u9633\u6027\u7684\u65b0\u95fb\u89e3\u8bfb\u201d\u6765\u5524\u9192\u5174\u8da3\u2014\u2014\u8fd9\u6bd4\u4efb\u4f55\u9053\u5fb7\u7ed1\u67b6\u90fd\u6709\u6548\uff0c\u4e5f\u8fdc\u6bd4\u201c\u5b66\u4e60\u793e\u4ea4\u201d\u66f4\u80fd\u4f53\u73b0AI\u7684\u4e3b\u52a8\u6027\u3002\u76ee\u524d\u6765\u770b\uff0c\u4ea7\u54c1\u8fd8\u6ca1\u5230\u8fd9\u4e2a\u5c42\u6b21\uff0c\u4f46\u5e95\u5c42\u903b\u8f91\u6709\u620f\u3002\u5efa\u8bae\u56e2\u961f\u780d\u6389\u4e00\u534a\u8868\u5355\uff0c\u628a\u7701\u4e0b\u7684\u8010\u5fc3\u7528\u5728\u8ba9AI\u201c\u5c55\u793a\u5de5\u4f5c\u8fc7\u7a0b\u201d\u4e0a\uff0c\u5148\u8d62\u56de\u90a3\u6279\u6700\u6311\u5254\u7684\u65e9\u671f\u8bd5\u7528\u8005\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Wondering<\/span>\n                <\/div>\n<div class=\"comment-content\">Wondering is the most delightful way to break down complex topics into knowledge you can remember and apply. Tell it what you want to learn, and it creates a personalized path of short lessons with visuals, podcasts, and interactive exercises. It surfaces the most important ideas and lets you explore them in your own way, like a thoughtful tutor beside you.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Heyo Product Hunt! I\u2019m Cheng-Wei, co-founder of Wondering<\/p>\n<p>I left NotebookLM a few months ago to solve a bigger problem in learning. Today, Angelica and I are excited to share Wondering with the Product Hunt community \u263a\ufe0f<\/p>\n<p>We kept noticing that our tools were becoming more capable, while people were becoming more dependent on them. Most AI tools are built to hand you an answer. Very few are designed to help you develop the knowledge and judgment.<\/p>\n<p>We are getting more answers, but understanding less.<\/p>\n<p>So, we built Wondering for the people who still want to understand and think for themselves.<\/p>\n<p>A few things we care deeply about:<\/p>\n<p>\ud83d\udcda Structure, not endless chat<br \/>\nInstead of dropping you into a blank conversation, Wondering creates a clear roadmap from where you are to where you want to go.<\/p>\n<p>\ud83e\udde0 Understanding, not just information<br \/>\nLessons help you make connections, practice retrieval, and turn information into knowledge you can remember and apply.<\/p>\n<p>\u2728 Personalization with purpose<br \/>\nThe learning path, explanations, examples, and depth adapt to your background and goals.<\/p>\n<p>\ud83c\udfa7 Learning that fits into your busy life<br \/>\nLessons are designed to take only a few minutes, and every course can become a podcast you can listen to while walking, commuting, or doing chores.<\/p>\n<p>\ud83d\udc6f Motivation that feels human<br \/>\nYou can build a daily learning habit on your own or start a Friend Streak to learn alongside people you care about. And no, we won&#8217;t guilt trip you like a certain green bird.<\/p>\n<p>We are very grateful for our early users \ud83e\udef6. We are still a very small team, and there is so much more we want to build for learners.<\/p>\n<p>We would love to hear:<br \/>\n1. What is something you have always wanted to learn but never found the time for?<br \/>\n2. Anything in Wondering that frustrated, confused, or delighted you?<\/p>\n<p>You can start learning anything for free at <a href=\"https:\/\/wondering.app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/wondering.app<\/a>.<\/p>\n<p>Thank you for checking out Wondering. We\u2019ll be here all day answering questions and listening to your feedback \u263a\ufe0f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hcwxd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hcwxd<\/a>&nbsp;For someone who learns best by teaching others, how would you design a Wondering path that <em>ends<\/em> with me creating a tiny lesson or summary for a friend, not just consuming one?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hcwxd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hcwxd<\/a>&nbsp;looks super cool! I&#8217;ll check it out this weekend \ud83d\ude09<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 liked it enough to actually sign up and try it, which is more than I did for most launches today. Two bits of honest feedback, since you asked.<\/p>\n<p><strong>The questionnaire is too long before the first taste.<\/strong> I wanted to see it work in about ten seconds and instead I was filling in a form. I&#8217;d cut it to one question, or skip it and infer from whatever I type first.<\/p>\n<p><strong>Then I ran a deliberate test.<\/strong> I told you I&#8217;m a product manager, gave you my goal and my plan \u2014 then asked for a course on travelling to Sanya, China. Completely unrelated to everything I&#8217;d just entered. I got a perfectly good course. Which is the moment I wondered what the questionnaire had bought me.<\/p>\n<p>Angelica&#8217;s reply to Nika says the path is tailored to current knowledge, experience and goals. I believe that&#8217;s the intent, but I couldn&#8217;t see it in my output. So either the profile does shape the course and you&#8217;re not showing your work \u2014 <em>&#8220;because you&#8217;re a PM, we&#8217;re starting here&#8221;<\/em> would fix that in one line \u2014 or it shapes it less than the form implies, in which case you&#8217;re asking for trust before you&#8217;ve earned any.<\/p>\n<p>Which is it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@you_li525\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@you_li525<\/a>&nbsp;Thank you for trying Wondering and your feedback! We are working on our onboarding length for sure.<\/p>\n<\/p>\n<p>We do use the onboarding answers but only when they are relevant to the course being created or if they can help answer a question better. Would love for you to try again with other course ideas! <\/p>\n<p>Maybe try seeing how some of these courses will be personalized to you:<\/p>\n<ol>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/ultralearning-iy3t3a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ultralearning<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/software-is-changing-again-xzvp2x\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Software Is Changing (Again)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/harness-engineering-for-rsi-lhq451\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Harness Engineering for RSI<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/multiplayer-agents-company-brain-and-bug-nmusob\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Multiplayer Agents, Company Brain, and Bug-to-PR Loops<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@you_li525 I must say I got a bit excited reading \u201cstill- the course quality was already good\u201d thank you! \u263a\ufe0f<\/p>\n<p>And great point on showing the work, love the idea you gave there. We\u2019ll explore ways to show the personalization work further, maybe even during onboarding \ud83e\udd14<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How &#8220;deep&#8221; can the knowledge for each topic be? Because Duolingo is specialised in many languages. But this is even more complex. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Hi Nika! Great question. Honestly, as deep as you want! <\/p>\n<p>Unlike Duolingo, Wondering doesn\u2019t rely on one fixed curriculum for each subject. When we create a course, we tailor the learning path to the learner\u2019s current knowledge, experience, and goals.<\/p>\n<p>We\u2019ve also built a few tools to help learners keep going deeper:<\/p>\n<ol>\n<li>\n<p><strong>Dive Deeper:<\/strong>&nbsp;Focus on a specific concept, explore a real-world example, or connect ideas across recent lessons. You can then turn that direction into a new lesson in your course.<\/p>\n<\/li>\n<li>\n<p><strong>AI tutor:<\/strong>&nbsp;Discuss an idea, ask for another explanation, or use \u201cCheck my understanding\u201d to find gaps in your thinking.<\/p>\n<\/li>\n<li>\n<p><strong>Expert Mode:<\/strong>&nbsp;Take on harder challenges that test whether you can apply, connect, and reason with what you\u2019ve learned, not just remember it.<\/p>\n<\/li>\n<\/ol>\n<p>We know that helping someone reach real mastery in any subject is an ambitious goal, and we still have a lot to build. We\u2019re constantly improving Wondering so it can be the learning companion we want it to be.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">The Friend Streak is a nice detail. Learning the same topic with someone else could make this feel less like another solo course. Learning alongside someone is a lot harder to ignore than another solo streak. 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;exactly! This idea is actually from our many of our learner&#8217;s feedback in our <a href=\"https:\/\/wondering.app\/discord\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">discord<\/a> where they want to learn with their friends\/partner\/family together!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@hcwxd thank you to our early believers for your support and feedback. We are motivated because of them \ud83e\udee1<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Played the game for a couple of rounds. Really great potential! Could be the learning app of the future\ud83d\ude0d<\/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\/@cwlin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cwlin<\/a>&nbsp;Woohoo! Glad to hear! What did you learn?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on the launch! Really loving the idea of creating custom courses with AI. Just gave it a try and it worked super smoothly!<\/div>\n<div class=\"comment-actions\">\n<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\/@hannesh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hannesh<\/a>&nbsp;Thank you! Love to hear it. What did you create a course on? \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<div class=\"reply-item\">\n<div class=\"reply-content\">@aka_kosasih Just created a quick test course on Branding! Loved how personalized the content turned out.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the podcast format is what got me, most &#8220;learn anything&#8221; apps assume you&#8217;re sitting at a desk staring at flashcards, but the stuff I actually want to learn (history, how some industry works, why a technology got built the way it did) is exactly the stuff I&#8217;d rather absorb on a walk. curious how it decides when to break something into a short lesson versus a longer audio piece, is that something you tuned by hand or does it just follow the topic<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;it&#8217;s mainly follow the topic but you can also provide instruction to customize your own podcast too:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4b606884-28bf-4edb-99c7-2e03f369d76e.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/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>I think it&#8217;s important to assess the user&#8217;s current level of knowledge first. Do you have a way of doing that?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;for now we do the assessment mainly within the course! We dynamically adjust the difficulty of the course based on your input and practice. We are also working on tools to enable more accurate assessment and placement.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@devendra_singh_shekhawat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@devendra_singh_shekhawat<\/a>&nbsp;Thank you Dev \ud83e\udef6<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Honestly, it looks quite impressive, the idea is awesome!<br \/>I gave a quick try to the one of the existing courses and then tried to create my own For learning Serbian language. What I noticed in the process &#8211; that if you asking to improve the structure of the course it rewrites it completely, but what if I want add\/replace only one tiny section. Maybe I hadn`t find that option or it is not exist?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@julia_shtogren\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julia_shtogren<\/a>&nbsp;Thank you for the kind words! Currently you can improve the structure of the course by adding new lessons with the deep dive feature during or after a lesson. You can further customize it there too.<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d8ced375-2c89-4375-a11c-88224fbf3a08.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><a href=\"https:\/\/www.producthunt.com\/@hcwxd\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"hcwxd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hcwxd<\/a> This looks interesting! <br \/>I\u2019m curious &#8211; are the lessons and podcasts created natively inside Wondering, or are the learning paths built by curating and organizing external resources?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adana\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adana<\/a>&nbsp;great questions! All the lessons and podcasts artifacts are created natively inside Wondering but we also organizing external resources too! You can also bring your own sources (PDF, URL, YouTube, etc) and we will parse it for you!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1d5f3d76-36d1-42f0-8321-1b0cc6e89003.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Cheng-Wei, congrats on the launch! We met at a Blue Bottle in SF last year, you pulled up Wondering on your phone and showed me the early build. I won&#8217;t pretend I remember every detail a year on, but I remember walking out thinking it would work.<\/p>\n<\/p>\n<p>&#8220;Structure, not endless chat&#8221; is the line that stuck. Most things in this space optimize for getting you to an answer faster. Optimizing for what happens after the answer is a harder sell and a better product.<\/p>\n<\/p>\n<p>I am also launching my new product, Nuphos, here next week, so I&#8217;ll be watching today closely \ud83e\udd23<\/p>\n<\/p>\n<p>Congrats to you both!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yuaanlin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuaanlin<\/a>&nbsp;thank you Yuanlin! <\/p>\n<p>yeah Wondering has evolved a lot from the early prototype but our core design philosophy is still providing good scaffolding for learner while giving them option to explore on their own<\/p>\n<p>look forward to your launch too!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone! We are so excited to be sharing Wondering with you. <\/p>\n<p>You can create any course you&#8217;d like, or try some of the courses we recently created:<\/p>\n<ol>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/learning-how-to-learn-9sk49w\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Learning How to Learn<\/a> &#8211; how can we talk about learning without this classic \ud83d\ude42<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/kimi-k3-technical-deep-dive-exu74x\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Kimi K3: Open Frontier Intelligence<\/a> &#8211; breakdown of Kimi K3&#8217;s paper<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/claude-code-operator-workflows-jikpfg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Claude Code Operator Workflows<\/a> &#8211; a compilation of Boris Cherny&#8217;s (the creator himself) Claude Code workflows and tips<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/google-scale-systems-lessons-s7xyc1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google-Scale Systems Lessons<\/a> &#8211; breakdown of Jeff Dean&#8217;s (a living legend at Google) talk on building systems that scale<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wondering.app\/learn\/how-to-succeed-with-a-startup-lye4f2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">How to Succeed with a Startup<\/a> &#8211; the classic Sam Altman talk for Startup School<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Education consultant here, so the line I keep re-reading is &#8220;practice retrieval.&#8221; That is the whole ballgame, and most learning apps quietly skip it, because re-reading feels like progress and retrieval feels like failure. If Expert Mode genuinely tests application rather than recall, that is the part I would lead with. It is also the hardest thing to fake.<\/p>\n<p>The other line I noticed: &#8220;we won&#8217;t guilt trip you like a certain green bird.&#8221; I made the same call in a habit app this year and it was the most contested decision in the whole build. Everyone tells you guilt drives retention, and it does, right up until someone misses a day and never comes back. So I am curious which way the Friend Streak has gone with your Discord folks. A streak you share with a real person could carry the motivation without the shame, or it could double it. Congrats on the launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Quite interesting; love the UI. The content of the courses, however, seems to be below the configured level. I tried with a software engineer profile on the app, but it still gave me a very high-level module. I&#8217;d like it if the content started off extremely technical, given that I put in software engineer as my profession. Either ways, all the best on this release.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>super fun! does look and feel like an evolution of NotebookLM!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/6W5Y6ZJIKG3INN\" class=\"app-title\">Atlaso<\/a><\/p>\n<div class=\"one-liner\">One memory for every AI you use<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">216<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>*<br \/>\nAtlaso\u662f\u4e00\u4e2a\u201cAI\u8bb0\u5fc6\u5c42\u201d\uff0c\u4e3aClaude Code\u3001Cursor\u3001Codex\u3001ChatGPT\u7b49AI\u5de5\u5177\u63d0\u4f9b\u8de8\u4f1a\u8bdd\u3001\u8de8\u5de5\u5177\u7684\u5171\u4eab\u4e0a\u4e0b\u6587\uff0c\u89e3\u51b3\u7528\u6237\u6bcf\u6b21\u90fd\u8981\u5411\u4e0d\u540cAI\u91cd\u590d\u89e3\u91ca\u9879\u76ee\u80cc\u666f\u3001\u51b3\u7b56\u548c\u4e2a\u4eba\u504f\u597d\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\/d21e56a1-27c2-4469-957f-16b1c9213f74.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5e5900b3-5ddc-4c1a-bb77-a28843a34531.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ebe18207-b916-4adc-b30c-87afbdefd5e9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/94fc7fd3-6bba-481f-81d6-050fe97a2e3e.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\/6c6cc851-88c9-4648-801d-8b44de081671.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/986UoyR15WY\"><source src=\"https:\/\/youtu.be\/986UoyR15WY\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">*<br \/>\nAI\u8bb0\u5fc6\u5c42<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5de5\u5177\u4e0a\u4e0b\u6587<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u63d0\u793a\u8bcd\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u9879\u76ee\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u8fde\u7eed\u6027<\/span><br \/>\n            <span class=\"tag\">AI\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u5fc6\u68c0\u7d22<\/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>*<br \/>\n\u591a\u6570\u8bc4\u8bba\u8ba4\u53ef\u201c\u8de8\u5de5\u5177\u540c\u6b65\u201d\u548c\u201cAmbient Memory\u201d\u7406\u5ff5\uff0c\u521b\u59cb\u4eba\u56de\u5e94\u900f\u660e\uff08\u516c\u5f00\u57fa\u51c6\u5931\u8d25\u9879\uff09\u83b7\u8d5e\u3002\u6709\u6548\u53cd\u9988\u96c6\u4e2d\u5728\u4e09\u70b9\uff1a1) \u8bb0\u5fc6\u68c0\u7d22\u76ee\u524d\u65e0\u6cd5\u5728\u7ec8\u7aef\u76f4\u63a5\u67e5\u770b\/\u5220\u9664\uff0c\u9700\u52a0ID\u548c\u547d\u4ee4\u5165\u53e3\uff1b2) \u8bb0\u5fc6\u7684\u201c\u5e9f\u5f03\/\u77db\u76fe\u201d\u8bed\u4e49\u5f15\u64ce\u672a\u63a5\u5165\u63d2\u4ef6\uff0c\u65e7\u9519\u8bef\u51b3\u7b56\u53ef\u80fd\u4ee5\u540c\u7b49\u7f6e\u4fe1\u5ea6\u56de\u704c\uff1b3) \u65e0\u672c\u5730\u5316\u90e8\u7f72\uff0c\u654f\u611f\u4ed3\u5e93\u7528\u6237\u6709\u987e\u8651\u3002\u53e6\u6709\u56e2\u961f\u5171\u4eab\u5c42\u3001\u5f15\u5165Supermemory\u6570\u636e\u3001\u8bb0\u5fc6\u51b2\u7a81\u9700\u663e\u5f0f\u6807\u8bb0\u7b49\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                *\n            <\/p>\n<p class=\"ai-content\">\n                Atlaso\u8e29\u4e2d\u4e86AI\u5de5\u5177\u94fe\u788e\u7247\u5316\u540e\u6700\u75bc\u7684\u201c\u91cd\u590d\u9648\u8ff0\u7a0e\u201d\u2014\u2014\u8fd9\u786e\u5b9e\u662f\u57fa\u51c6\u6d4b\u8bd5\u548c\u6a21\u578b\u53c2\u6570\u4e4b\u5916\u7684\u9690\u6027\u6210\u672c\u3002\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u8bb0\u5fc6\u201d\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u628a\u8bb0\u5fc6\u53d8\u6210\u4e86\u8de8\u5de5\u5177\u3001\u8de8\u4f1a\u8bdd\u7684\u201c\u5f31\u6240\u6709\u6743\u201d\u8d44\u4ea7\uff1a\u4f60\u7ea0\u6b63\u8fc7\u7684\u4e1c\u897f\uff0c\u6362\u4e2a\u5de5\u5177\u4e0d\u8be5\u518d\u72af\u3002\u8fd9\u79cd\u4ece\u201c\u5de5\u5177\u5185\u8bb0\u5fc6\u201d\u5230\u201c\u5de5\u5177\u95f4\u8bb0\u5fc6\u201d\u7684\u8dc3\u8fc1\uff0c\u662fAI\u5de5\u4f5c\u6d41\u4ece\u5355\u70b9\u6548\u7387\u8d70\u5411\u7cfb\u7edf\u6548\u7387\u7684\u5173\u952e\u4e00\u6b65\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u521b\u59cb\u4eba\u5728\u8bc4\u8bba\u533a\u4e3b\u52a8\u66b4\u9732\u7684\u77ed\u677f\uff0c\u6070\u6070\u662f\u8fd9\u7c7b\u4ea7\u54c1\u7684\u751f\u6b7b\u7ebf\uff1a\u8bb0\u5fc6\u4e2d\u201c\u88ab\u63a8\u7ffb\u7684\u65e7\u4e8b\u5b9e\u201d\u548c\u201c\u65b0\u4e8b\u5b9e\u201d\u4ee5\u540c\u7b49\u7f6e\u4fe1\u5ea6\u88ab\u53ec\u56de\uff0c\u4e14\u7528\u6237\u65e0\u611f\u77e5\u3001\u65e0\u5e72\u9884\u5165\u53e3\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u628aLLM\u7684\u201c\u5e7b\u89c9\u201d\u98ce\u9669\u8f6c\u79fb\u5230\u4e86\u8bb0\u5fc6\u5c42\u2014\u2014AI\u81ea\u4fe1\u5730\u5e26\u7740\u9648\u65e7\u51b3\u7b56\u56de\u6765\u8bf4\u660e\u201c\u4f60\u6ca1\u6539\u8fc7\u201d\uff0c\u8fd9\u79cd\u9519\u8bef\u6bd4\u6ca1\u6709\u8bb0\u5fc6\u66f4\u5371\u9669\u3002\u6ca1\u6709\u51b2\u7a81\u6d88\u89e3\u3001\u6ca1\u6709\u663e\u5f0f\u5e9f\u5f03\u673a\u5236\u3001\u6ca1\u6709\u7ec8\u7aef\u5185\u53ef\u89c1\u6027\uff0c\u8fd9\u5957\u8bb0\u5fc6\u7cfb\u7edf\u76ee\u524d\u66f4\u50cf\u201c\u590d\u8bfb\u673a\u201d\u800c\u975e\u201c\u52a9\u624b\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u56e2\u961f\u5171\u4eab\u5c42\u7684\u7f3a\u5931\u4e5f\u610f\u5473\u7740\u4ea7\u54c1\u5929\u82b1\u677f\u88ab\u5c01\u6b7b\uff1a\u5355\u4eba\u8bb0\u5fc6\u6c38\u8fdc\u65e0\u6cd5\u6c89\u6dc0\u4e3a\u7ec4\u7ec7\u8d44\u4ea7\uff0c\u800c\u4f01\u4e1a\u7ea7\u5ba2\u6237\u624d\u4ed8\u5f97\u8d77\u771f\u91d1\u767d\u94f6\u3002\u521b\u59cb\u4eba\u5766\u8bda\u201c\u5f53\u524d\u7528\u7684\u662f\u540c\u4e00\u8d26\u6237\u5171\u7528\u7684\u8fc7\u6e21\u65b9\u6848\u201d\uff0c\u8fd9\u65e2\u662f\u52a1\u5b9e\uff0c\u4e5f\u66b4\u9732\u4e86\u67b6\u6784\u4e0a\u5bf9\u201c\u539f\u5b50\u5f52\u5c5e\u201d\u4e0e\u201c\u6743\u9650\u8fb9\u754c\u201d\u7684\u5148\u5929\u6b20\u8d26\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u9510\u8bc4\uff1aAtlaso\u89e3\u51b3\u4e86\u4ece0\u52301\u7684\u201c\u91cd\u590d\u52b3\u52a8\u201d\u95ee\u9898\uff0c\u4f46\u8fd8\u6ca1\u89e3\u51b3\u4ece1\u5230N\u7684\u201c\u8bb0\u5fc6\u53ef\u4fe1\u5ea6\u201d\u95ee\u9898\u3002\u56e2\u961f\u613f\u666f\u503c\u5f97\u5173\u6ce8\uff0c\u4f46\u5f53\u524d\u7248\u672c\u4f5c\u4e3a\u751f\u4ea7\u5de5\u5177\uff0c\u4ecd\u9700\u5bf9\u201c\u8bb0\u5fc6\u751f\u547d\u5468\u671f\u7ba1\u7406\u201d\u8865\u8bfe\u3002\u77ed\u671f\u770b\u662f\u6548\u7387\u63d2\u4ef6\uff0c\u957f\u671f\u770b\uff0c\u53ea\u6709\u80fd\u4f18\u96c5\u5904\u7406\u201c\u9057\u5fd8\u3001\u51b2\u7a81\u3001\u5171\u8bc6\u201d\u7684\u8bb0\u5fc6\u7cfb\u7edf\uff0c\u624d\u914d\u53eb\u201c\u8bb0\u5fc6\u5c42\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\">Atlaso<\/span>\n                <\/div>\n<div class=\"comment-content\">Atlaso is a memory layer for AI. Connect it once and every AI you use, from Claude Code to Cursor, Codex and ChatGPT, automatically recalls the context that matters: your projects, your decisions, and the way you like to work. No more re-explaining yourself at the start of every session. One shared memory that follows you across every tool, instead of being locked inside one app. Free to start, and backed by original memory research.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Atlaso started as a question I couldn&#8217;t shake: what would it actually take to give AI a real memory?<\/p>\n<p>Not a bigger context window. Not a notes file stapled onto the side. A real memory foundation layer \u2014 one that persists, stays honest, and actually helps across sessions and tools.<\/p>\n<p>That question turned into research. We ran our own memory benchmarks, and our approach held up better than the other memory systems we tested against. A lot of the work was in the unglamorous parts: what should be saved, what should be surfaced, and how to make sure memory orients you instead of quietly making things up.<\/p>\n<p>The reason I cared so much is simple \u2014 I was tired of re-explaining myself to every AI I used. I&#8217;d tell Claude Code about a project, switch to Cursor, and start over. Then again in Codex. Same context, same decisions, same preferences, over and over.<\/p>\n<p>Atlaso is what came out of that work: one memory layer for the AI tools you already use. Connect it once and your context follows you \u2014 global memory for what travels with you, per-project memory for what should stay separate.<\/p>\n<p>My favorite part is Ambient Memory \u2014 what we call giving AI a subconscious. Before you type a word, Atlaso surfaces a short orientation from your own memory, so the AI picks up where you actually left off. It orients, it never invents.<\/p>\n<p>It&#8217;s free to start. I&#8217;m Ashish, the founder \u2014 I&#8217;ll be in the comments all day, and I&#8217;d genuinely love your feedback: what would make AI memory actually useful to you?<\/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\/@ashish_khandelwal11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_khandelwal11<\/a>&nbsp;Congrats on the launch! I really like the distinction between thin, settled, contested, and superseded memories. I haven\u2019t seen many memory tools make uncertainty this explicit.<\/p>\n<\/p>\n<p>How do you prevent something inferred from a conversation from overriding what\u2019s actually true in the repo, docs, or a newer decision?<\/p>\n<\/p>\n<p>Also, any plans for a fully local or self-hosted mode? That\u2019s probably the main thing I\u2019d need before trying it on sensitive repos.<\/p>\n<\/p>\n<p>Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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\/@ashish_khandelwal11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_khandelwal11<\/a>&nbsp;For someone like me who jumps between AI tools for client work, what\u2019s one <em>specific<\/em> type of context you\u2019ve seen people regret <em>not<\/em> having remembered across sessions; and how would Atlaso have saved them from that?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on the launch! <\/p>\n<p>What sets Atlaso apart from Supermemory, which I&#8217;m currently using? Especially interested in how you handle developer-focused workflows across tools like Claude Code and Cursor.<\/p>\n<p>Also, is there an easy way to import or sync existing memory from Supermemory, or do we need to start from a clean slate?<\/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\/@hannesh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hannesh<\/a>&nbsp;<\/p>\n<p>Thanks Hannes \u2014 and good question, Supermemory&#8217;s a solid product so let me be specific rather than hand-wavy.<\/p>\n<\/p>\n<p>The biggest difference is where the memory lives and how it gets there. Supermemory is largely a platform you build with \u2014 APIs, SDKs, and connectors that ingest your documents and knowledge sources. Atlaso installs into the coding tools themselves. There&#8217;s a plugin for Claude Code, Cursor, Codex, OpenCode, Antigravity and Claude Desktop, and once it&#8217;s in, two things happen on their own: it captures decisions and preferences out of the sessions as you work, and it injects the relevant ones back at the top of your next prompt. You don&#8217;t file anything, and you don&#8217;t call a recall tool. It just shows up.<\/p>\n<\/p>\n<p>The second is that it&#8217;s cross-tool by design rather than per-app. Correct something in Claude Code and Cursor reads the corrected version on its next recall, not a stale copy. Memory is scoped globally and per project, so one repo&#8217;s context doesn&#8217;t bleed into another.<\/p>\n<\/p>\n<p>On import \u2014 you don&#8217;t need one. Atlaso exposes an MCP server, so whichever tool you&#8217;re already in can write memories directly. Export from Supermemory, paste it into Claude Code or Cursor or Claude Desktop, and say &#8220;save each of these to my Atlaso memory.&#8221; It&#8217;ll loop through and write them in at roughly 60 a minute, so a few hundred takes a couple of minutes. No new tool to set up, no waiting on us.<\/p>\n<\/p>\n<p><strong>And if you&#8217;d rather not babysit it, send me the export and I&#8217;ll load it into your account myself. Either way you&#8217;re not starting from a clean slate.<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@ashish_khandelwal11 Ah awesome, thanks for the detailed response Ashish! The hands-off sync between Cursor and Claude Code sounds ideal because that was literally one of my biggest pain points. Appreciate the offer on the data import too! Gonna try out the MCP workflow today.<\/div>\n<div class=\"comment-actions\">\n<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>&#8220;It orients, it never invents&#8221; is the claim I&#8217;d want stress tested, and not against a benchmark you ran yourself. The hard case for auto capture isn&#8217;t invention, it&#8217;s a decision you reversed three sessions ago still getting injected as settled, and it reads exactly as confident as a correct one. So the real question is how a memory dies. If I can&#8217;t see what got injected and kill it in one keystroke, I&#8217;ll turn the whole thing off the first time it confidently reminds me of the wrong thing.<\/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\/@asadmalik901\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asadmalik901<\/a>&nbsp;<\/p>\n<p>Fair on all three.<\/p>\n<p>&nbsp;&nbsp;<\/p>\n<p>The benchmark is ours \u2014 we built the harness and ran both sides. What I&#8217;d stand behind is the method, not the number: same reader for both arms, four judges including mem0&#8217;s own judge prompt, answers normalised so a judge can&#8217;t tell which system wrote them. We also publish LoCoMo, where we lose by 11.5 points.<\/p>\n<\/p>\n<p>On the reversed decision, you&#8217;re right. We have the machinery to retire a superseded memory, but nothing in the shipped tools actually triggers it \u2014 so the old one stays live and looks identical to the new one. Same confidence, exactly as you said.<\/p>\n<\/p>\n<p>And on seeing it: in Claude Code and Codex the recalled block goes to the model, not your terminal. So today you can&#8217;t see it, and killing one means a trip to the dashboard, not a keystroke.<\/p>\n<\/p>\n<p><strong>That&#8217;s a real gap and I&#8217;d rather fix it than argue it. What would you want \u2014 an id on every line and one command to kill it?<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 awesome, bouncing between all of my AI platforms and pulling context across them is a big pain. 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\/@kelly_king3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kelly_king3<\/a>&nbsp; Thanks kelly!! Mean a lot. Go ahead and give it a try. I&#8217;m sure you&#8217;ll like it. Any feedback is appreciated. \ud83d\ude04<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on the launch Ashish, and the way you\u2019re answering people here is genuinely refreshing. Publishing the benchmark you lose on is not a small thing.<\/p>\n<p>My question comes from outside the dev lane. Memory is scoped global and per project, which is right for one person, but at our company half the context worth remembering belongs to the team, not to me. Brand rules, who owns what, decisions we made and why. Today if I correct something, my AI knows it and my colleague\u2019s still gets the old version. Is a shared team memory layer on the roadmap, with the same supersede logic applied across people rather than tools? That\u2019s the version I could roll out to 36 people instead of just using myself.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ridhwikvinod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ridhwikvinod<\/a>&nbsp;<\/p>\n<\/p>\n<p>Thanks \u2014 and no, I won&#8217;t pretend team memory exists yet. Atlaso today is one person&#8217;s memory across their tools. It&#8217;s partitioned per user, so there&#8217;s no shared layer, no roles, no attribution.<\/p>\n<\/p>\n<p>Straight about the rest too: the supersede logic you&#8217;re describing isn&#8217;t shipped even across tools yet. <\/p>\n<\/p>\n<p>But here&#8217;s the honest workaround, founder to founder. A paid account allows up to 100 devices \u2014 so one account signed in across your team really does give you one shared memory that everyone&#8217;s tools read and write. It isn&#8217;t what I built it for, but it works today, and I&#8217;d rather tell you that than have you wait on a roadmap.<\/p>\n<\/p>\n<p>Two things before you try it. Recall is rate-limited per account and sized for one person, and Claude Code pulls memory on every prompt \u2014 so a dozen people going at once will start getting throttled. And there&#8217;s no attribution: everything lands in one pool, so one person&#8217;s preference becomes everyone&#8217;s, and anyone can delete anything.<\/p>\n<\/p>\n<p>Which is why I&#8217;d start with four or five people rather than all 36, and then tell me what breaks. That&#8217;s worth more to me than a signup, and it&#8217;s how the team version gets designed properly instead of guessed at.<\/p>\n<p>Also i would love to know how you operate with a team in detail. Please send me an email at <a href=\"mailto:ashish@atlaso.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ashish@atlaso.ai<\/a> and i would like to work on this next to make this available as team account. So would love to talk further on this on what exactly do you need. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The re-explaining tax is real, I switch between Claude Code and other tools daily and re-establishing context every time is the part nobody talks about when they compare AI coding tools. Curious how you handle the per-project vs global split when two projects share similar tech but different conventions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aareldigital\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aareldigital<\/a>&nbsp;<\/p>\n<\/p>\n<p>Honestly that&#8217;s the whole reason this exists. Everyone benchmarks the tools against each other and nobody counts the twenty minutes you spend getting each one back up to speed.<\/p>\n<\/p>\n<p>On the split: each repo keeps its own memory, so two projects on the same stack never see each other&#8217;s conventions. The same repo cloned somewhere else does share, because it&#8217;s still the same project.<\/p>\n<\/p>\n<p>Global is only for things that are true about you rather than about the code \u2014 we work that out from how you say it. &#8220;I prefer tabs&#8221; is you. &#8220;The build uses X&#8221; is the repo. When it&#8217;s ambiguous it stays with the repo, on the theory that a fact turning up where it&nbsp;doesn&#8217;t belong is worse than a fact you have to say twice.<\/p>\n<\/p>\n<p>Try it out! I&#8217;m sure you&#8217;ll like it. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does memory compile and bulge the memory file or is there a natural decay built in?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zrk222\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zrk222<\/a>&nbsp; No decay \u2014 the store just grows, and we don&#8217;t prune or expire anything. But it never bulges what reaches the model: recall pulls the top 5 relevant memories, so the block injected into your session is about the same size whether you have 50 memories or 5,000. What&nbsp;grows is the archive, not the context.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve built a version of this by hand for a single tool \u2014 a memory file with explicit ownership rules so every fact lives in exactly one place, plus an archive for anything superseded. It works, but only because I maintain it myself. Two questions from the maintenance end:<\/p>\n<p><strong>Tidy-up.<\/strong> Mine stays usable because I prune it, and because there&#8217;s a rule that a new fact contradicting an old one gets flagged to me rather than silently overwriting. As Atlaso&#8217;s store grows across four tools and hundreds of sessions, what happens when session 40 contradicts session 4 \u2014 overwrite, version, or surface the conflict? And does anything decide a memory has gone stale, or does it accumulate forever?<\/p>\n<p><strong>Token cost.<\/strong> If memory is injected into every session, my bill scales with how much I&#8217;ve remembered. Is it selective retrieval or the whole store? Roughly what&#8217;s the per-session overhead at 500 memories versus 50?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@you_li525\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@you_li525<\/a>&nbsp;<\/p>\n<p>Both fair. Straight answers.<\/p>\n<\/p>\n<p><strong>Token cost <\/strong>\u2014 selective, and here&#8217;s the number rather than a promise. Recall is a top-k hybrid search (BM25 + embeddings, rank-fused), k=5, hard-capped at 50 server-side. Only those 5 get rendered, so the injected block is ~650 tokens at our median memory length. I measured it against a real 934-memory store: at 50, 500 and 5,000 memories the block comes back the same size, because what&#8217;s fixed is the count, not a share of the store. The search runs on our server with no LLM in the path, so it costs you nothing \u2014 your bill only ever sees those 5 notes. The real multiplier is turns, not memories: Claude Code, Codex and OpenCode recall on every prompt, Cursor writes it once per session.<\/p>\n<\/p>\n<p><strong>Tidy-up<\/strong> \u2014 none of the three, and I&#8217;d rather say that than have you find out. Both rows are stored, both stay live, both can come back, and nothing marks either as contradicting the other. Append-only, so nothing gets silently overwritten \u2014 but that&#8217;s the flip side of your rule, not a version of it. The atlaso engine has typed dispute\/supersede semantics and honors them on read; no shipped connector can write those edges yet. Today the correction path is you or the agent explicitly forgetting the old one and re-saving.<\/p>\n<\/p>\n<p>Nothing expires either. No TTL, no pruning, and we turned recency decay off in ranking on purpose \u2014 it down-ranked old-but-still-true facts and cost us accuracy on LongMemEval-S. So the store grows forever; what&#8217;s bounded is what comes back, not what&#8217;s kept.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! The transparency in the comments really stood out. Seeing you openly discuss the current limitations and trade-offs was far more convincing than polished marketing. Looking forward to seeing how Atlaso evolves.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/MXO3Z3S6LROVGP\" class=\"app-title\">Driven<\/a><\/p>\n<div class=\"one-liner\">The trusted AI investment agent, from insight to action<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">210<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Driven \u662f\u4e00\u6b3e\u5c06 260+ API \u5b9e\u65f6\u6570\u636e\u3001\u76d1\u63a7\u3001\u7ec4\u5408\u7ba1\u7406\u4e0e\u8ba2\u5355\u6d41\u6574\u5408\u8fdb\u5355\u4e00\u667a\u80fd\u4f53\u5de5\u4f5c\u533a\u7684 AI \u6295\u8d44\u52a9\u624b\uff0c\u89e3\u51b3\u6295\u8d44\u8005\u5728\u4fe1\u606f\u8fc7\u8f7d\u4e0b\u201c\u4ece\u6d1e\u5bdf\u5230\u6267\u884c\u201d\u5168\u94fe\u8def\u5272\u88c2\u3001\u51b3\u7b56\u6ede\u540e\u4e0e\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\/bd17f63e-c943-45c6-8455-392123b6addc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e7d629c1-c1be-4df5-9e65-62e4c83a8d8a.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\/cdd70bff-87c1-4806-ac11-1fe366a9361b.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\/951f1de0-6950-40be-b8b0-2bc69c2ecb9e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/79876737-7467-4955-a891-97d0aac5c937.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/17bfabd8-5a0b-4126-bc20-369a86e3af40.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\/4ff11189-1053-4897-a9ed-8d247c452ed7.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/1d3CKPA2JuE\"><source src=\"https:\/\/youtu.be\/1d3CKPA2JuE\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Fintech<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6295\u8d44\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u6295\u7814<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u5e02\u573a\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u7ec4\u5408\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u8ba2\u5355\u6267\u884c<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u91d1\u878d\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u805a\u5408<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u6295\u8d44\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u5e73\u53f0<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef 24\/7 \u76d1\u63a7\u4e0e\u6267\u884c\u7ec4\u5408\u7684\u4ef7\u503c\uff0c\u4f46\u96c6\u4e2d\u8d28\u7591\u201c\u4fe1\u4efb\u201d\u4e0e\u201c\u5b89\u5168\u201d\uff1a\u62c5\u5fc3\u81ea\u52a8\u4e0b\u5355\u7f3a\u4e4f\u5931\u8d25\u673a\u5236\uff0c\u8ffd\u95ee\u662f\u5426\u6709\u9ed8\u8ba4\u4eba\u5de5\u786e\u8ba4\u6b65\u53ca\u98ce\u9669\u5206\u7ea7\u914d\u7f6e\uff1b\u540c\u65f6\u8be2\u95ee\u8f93\u51fa\u662f\u5426\u57fa\u4e8e\u5b9e\u65f6\u6570\u636e\u800c\u975e\u6a21\u578b\u8bad\u7ec3\u8bb0\u5fc6\u3001\u662f\u5426\u5c55\u793a\u4fe1\u6e90\u3002\u53e6\u6709\u7528\u6237\u53cd\u6620\u90e8\u5206\u5730\u533a\u4e0d\u53ef\u7528\uff0c\u56e2\u961f\u56de\u5e94\u56e0\u6a21\u578b\u9650\u5236\u6682\u672a\u5f00\u653e\u4e2d\u56fd\u53ca\u9999\u6e2f\u3002\u8bd5\u7528\u8005\u53cd\u9988\u5206\u6790\u8d28\u91cf\u9ad8\u4e8e\u540c\u7c7b\uff0c\u4f46\u672a\u63d0\u4f9b\u5168\u65b0\u4fe1\u606f\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                Driven \u7684\u5b9a\u4f4d\u806a\u660e\u5730\u907f\u5f00\u4e86\u201c\u53e6\u4e00\u4e2a\u804a\u5929\u673a\u5668\u4eba\u201d\u7684\u9677\u9631\uff0c\u8bd5\u56fe\u7528 Playbook\u3001Scheduled Tasks \u548c Order Workflows \u628a\u6295\u8d44\u7814\u7a76\u4ece\u88ab\u52a8\u95ee\u7b54\u53d8\u6210\u4e3b\u52a8\u7684\u3001\u53ef\u91cd\u590d\u7684\u8fd0\u8425\u6d41\u7a0b\u3002\u8fd9\u5728\u4ea7\u54c1\u903b\u8f91\u4e0a\u786e\u5b9e\u5207\u4e2d\u4e86\u4e13\u4e1a\u6295\u8d44\u8005\u201c\u4fe1\u606f\u8fc7\u8f7d\u4f46\u884c\u52a8\u4f4e\u6548\u201d\u7684\u771f\u5b9e\u75db\u70b9\uff0c260+ API \u548c\u7ec4\u5408\u4e0a\u4e0b\u6587\u6574\u5408\u4e5f\u5c55\u793a\u4e86\u5de5\u7a0b\u91ce\u5fc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u201c\u53ef\u4fe1\u201d\u662f\u5b83\u6700\u5927\u7684\u8f6f\u808b\uff0c\u4e0d\u662f\u529f\u80fd\u95ee\u9898\uff0c\u800c\u662f\u4fe1\u4efb\u673a\u5236\u95ee\u9898\u3002\u8bc4\u8bba\u533a\u7684\u6838\u5fc3\u8d28\u7591\u975e\u5e38\u7cbe\u51c6\uff1a\u5f53 AI \u65e2\u80fd\u5206\u6790\u53c8\u80fd\u6267\u884c\u4ea4\u6613\uff0c\u8c01\u6765\u5b9a\u4e49\u201c\u81ea\u52a8\u6267\u884c\u201d\u7684\u8fb9\u754c\uff1f\u56e2\u961f\u56de\u5e16\u4e2d\u63d0\u5230\u201c\u9ed8\u8ba4\u786e\u8ba4\uff0c\u4f46\u7528\u6237\u53ef\u8bbe\u89c4\u5219\u81ea\u52a8\u4ea4\u6613\u201d\u2014\u2014\u8fd9\u6070\u6070\u662f\u6700\u5371\u9669\u7684\u8bbe\u8ba1\u3002\u6295\u8d44\u64cd\u4f5c\u4e0d\u50cf\u5185\u5bb9\u63a8\u8350\uff0c\u9519\u8bef\u6210\u672c\u6781\u9ad8\uff0c\u4e14 3AM \u7684\u81ea\u52a8\u4ea4\u6613\u3001\u57fa\u4e8e\u89c4\u5219\u548c\u201c\u5bf9\u7528\u6237\u7684\u7406\u89e3\u201d\u505a\u5224\u65ad\uff0c\u9690\u542b\u7740\u6a21\u578b\u8bef\u5224\u548c\u8fc7\u5ea6\u62df\u5408\u7684\u7070\u7280\u725b\u3002\u5bf9\u4e8e\u4e2a\u4eba\u6295\u8d44\u8005\uff0c\u8fd9\u79cd\u201c\u534a\u81ea\u52a8\u201d\u53cd\u800c\u53ef\u80fd\u9020\u6210\u6bd4\u624b\u52a8\u66f4\u9690\u853d\u7684\u5de8\u5927\u635f\u5931\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u9690\u60a3\u662f\u8f93\u51fa\u53ef\u4fe1\u5ea6\u3002\u4ea7\u54c1\u5f3a\u8c03\u5b9e\u65f6\u6570\u636e\uff0c\u4f46\u672a\u660e\u786e\u533a\u5206\u201c\u67e5\u8be2\u65f6\u6293\u53d6\u201d\u4e0e\u201c\u6a21\u578b\u751f\u6210\u201d\uff0c\u82e5\u5206\u6790\u63ba\u6742\u6a21\u578b\u81c6\u6d4b\uff0c\u5373\u4fbf\u4fe1\u6e90\u53ef\u89c1\u4e5f\u96be\u4ee5\u5ba1\u8ba1\u63a8\u7406\u94fe\u6761\u3002\u8fd9\u4f1a\u8ba9\u5b83\u505c\u7559\u5728\u201c\u9ad8\u7ea7\u8d44\u6599\u5458\u201d\u5c42\u9762\uff0c\u800c\u975e\u201c\u53ef\u4fe1\u4ee3\u7406\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Driven \u7684\u65b9\u5411\u662f\u5bf9\u7684\u2014\u2014\u7528\u667a\u80fd\u4f53\u91cd\u6784\u6295\u7814\u5de5\u4f5c\u6d41\uff0c\u4f46\u73b0\u9636\u6bb5\u66f4\u6210\u719f\u7684\u8def\u5f84\u5e94\u8be5\u662f\uff1a\u4e25\u683c\u9650\u5236\u4e3a\u201c\u5206\u6790+\u9884\u8b66+\u5efa\u8bae\u201d\uff0c\u8ba2\u5355\u6267\u884c\u5fc5\u987b\u7ecf\u663e\u5f0f\u3001\u4e0d\u53ef\u7ed5\u8fc7\u7684\u786e\u8ba4\uff0c\u4e14\u5bf9\u89c4\u5219\u81ea\u52a8\u4ea4\u6613\u8bbe\u7f6e\u6700\u9ad8\u98ce\u9669\u7b49\u7ea7\u95e8\u69db\u3002\u5426\u5219\uff0c\u201c\u4ece\u6d1e\u5bdf\u5230\u884c\u52a8\u201d\u53ea\u4f1a\u53d8\u6210\u201c\u4ece\u6d1e\u5bdf\u5230\u4e8b\u6545\u201d\u3002\u5bf9\u4e8e\u65e9\u671f\u7528\u6237\uff0c\u5efa\u8bae\u53ea\u628a\u5b83\u5f53\u4f5c\u5f3a\u5316\u7684\u76d1\u63a7\u4e0e\u7814\u7a76\u52a0\u901f\u5668\uff0c\u522b\u628a\u8d44\u91d1\u51b3\u7b56\u6743\u4ea4\u7ed9\u4e00\u4e2a\u5c1a\u672a\u8bc1\u660e\u81ea\u5df1\u5224\u65ad\u529b\u7684\u7cfb\u7edf\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Driven<\/span>\n                <\/div>\n<div class=\"comment-content\">Driven is an AI investment agent that turns market insight into action, not just answers. In one agent-powered workspace, it combines 260+ APIs, built-in &#038; custom Skills, Playbooks, scheduled tasks, 24\/7 monitoring, real-time data, portfolios, and order workflows. Instead of switching tools or chasing every signal, investors can manage the full journey in Driven, from idea generation and data gathering to analysis and action. It\u2019s your AI investment team, while you stay in control.<\/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,<\/p>\n<p>I\u2019m Zania from Driven. Excited to finally share what we\u2019ve been building.<\/p>\n<p>Driven started as a tool we wanted for ourselves.<\/p>\n<p>We invest too, and our team has spent years building products around investor communities. One thing kept coming up again and again:<\/p>\n<p><strong>Investors are not short on information. They are overwhelmed by it.<\/strong><\/p>\n<p>There is more market data, filings, earnings content, news, X signals, portfolio data, and analysis than ever before. But most of the real work still falls on the investor: gathering context, checking what changed, comparing signals, and figuring out what actually matters.<\/p>\n<p>We did not want to build another dashboard or another chatbot with market data attached.<\/p>\n<p>So we built Driven: <strong>an AI investment agent that helps investors move from insight to action.<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2dfa2483-978c-46b1-a74c-1500c07a9784.gif?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p><strong>A few things that make Driven different:<\/strong><\/p>\n<p>\u2022 Real-time data and 260+ APIs<br \/>\u2022 Built-in and custom Skills<br \/>\u2022 Playbooks for repeatable investment processes<br \/>\u2022 Scheduled tasks and 24\/7 monitoring<br \/>\u2022 Portfolio context in one workspace<br \/>\u2022 Order workflows<br \/>\u2022 Investor control at every step<\/p>\n<p>What we care about most is not just better AI answers.<\/p>\n<p>It is whether an agent can keep following the companies, portfolios, filings, earnings, and market signals you care about, then bring you back when something actually matters&#8230;<strong> And that is just one part of what Driven can do.<br \/><\/strong><\/p>\n<p>That is why Driven feels less like a search box and more like <strong>an AI investment team<\/strong>.<\/p>\n<\/p>\n<p>We are still early, and we\u2019d really love to hear how the PH community thinks about AI agents in investing.<\/p>\n<p><strong>Where would you trust an AI investment agent first: <\/strong><br \/><strong>finding ideas, monitoring signals, following earnings, tracking portfolios, or preparing actions?<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>19<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zaniaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaniaz<\/a>&nbsp;For someone who\u2019s been burned by noisy alerts and false positives before, what\u2019s the <em>first<\/em> small job you\u2019d trust Driven to own end\u2011to\u2011end and how do you make sure it <em>earns<\/em> that trust before handing it bigger tasks?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@zaniaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaniaz<\/a>&nbsp;We are proud to deliver the products we use and love to more investors, and it is continuously growing, helping more users achieve gains in their investments.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The 24\/7 monitoring piece is what sold me. I&#8217;ve missed too many overnight moves manually. If it actually flags them in time, that&#8217;s worth a lot.<\/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>Driven is one of the best investment assistant products I have ever built and used\uff01<\/p>\n<p>As one of the Product Makers, I\u2019ve been exploring how AI Agents can truly transform the way investors work. Unlike traditional tools that mainly provide data and information, Agents enable a shift from passive searching to active understanding, analysis, and decision support \u2014 opening a new window for investing.<\/p>\n<p>During the development of Driven, I focused on product design, interaction, and frontend experience, with the goal of making complex investment analysis simpler, more intuitive, and more efficient.<\/p>\n<p>I\u2019m also one of Driven\u2019s most active users. Today, I use Driven to analyze my own options, ETF, and Hong Kong stock portfolios across three accounts. It has become an important part of my investment workflow, helping me better understand my positions, identify risks, and organize my investment ideas.<\/p>\n<p>I hope Driven can truly help more investors improve their decision-making, reduce the complexity of investing, and ultimately create real value by helping people make better investment choices.<\/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\/@xiaohei_nian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xiaohei_nian<\/a>&nbsp;Really appreciate you sharing this.<\/p>\n<p>What makes this especially meaningful is that you\u2019ve seen Driven from both sides: building the product and using it for your own investing.<\/p>\n<p>That is exactly the kind of product we hope to build: Something that makes complex investment work easier to understand, easier to follow, and more useful in real decisions.<\/p>\n<p>Excited to keep building it together \ud83e\udd1d\ud83e\udef6<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@xiaohei_nian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xiaohei_nian<\/a>&nbsp;Driven&#8217;s role in investment is evident. It is not only an efficiency tool that helps investors quickly extract the essence from complex, lengthy reports, but it is also intelligent\u2014often possessing knowledge and analytical capabilities that surpass 95% of investors. Driven also understands you, making different judgments based on each investor&#8217;s preferences and risk tolerance.<br \/>There are still many, many potentials waiting for us to unlock.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt!<\/p>\n<\/p>\n<p>I\u2019m Head of Product at Driven. I\u2019ve been investing for over 15 years, and my teammates are experienced stock investors too. We also work closely with a dedicated investment research team that brings financial expertise and practical experience to the product.<\/p>\n<\/p>\n<p>We started exploring how AI could solve real investing problems a couple of years ago. As AI models improved, we learned more about where AI could actually be useful in the investment process.<\/p>\n<\/p>\n<p>This year, we decided to build Driven, an AI agent designed specifically for investing.<\/p>\n<\/p>\n<p>We want to give individual investors access to the research tools and workflows typically used by professional investment teams. We hope Driven can help close that gap and give more people an investment team of their own.<\/p>\n<\/p>\n<p>We use Driven in our own investing. We keep testing it, seeing what works and what doesn\u2019t, and improving it along the way.<\/p>\n<\/p>\n<p>Today, we\u2019re excited to finally share it with more investors.<\/p>\n<\/p>\n<p><strong>The trusted AI investment agent, from insight to action.<\/strong><\/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\">@zwaydot congrats on the launch! <\/p>\n<p>Driven solves a real pain point \u2014 it\u2019s not a lack of data, it\u2019s not being able to process it in time. <\/p>\n<p>To answer your question: I\u2019d trust an AI agent first with signal monitoring and portfolio tracking \u2014 those are routine, repeatable tasks where a mistake isn\u2019t critical and is easy to catch. <\/p>\n<p>\u201cPreparing actions\u201d (especially if that includes order workflows) is where I\u2019d want to see a preview and explicit approval at every step, not just a notification after the fact. <\/p>\n<p>What does the approval layer look like in Driven \u2014 can it be configured by trade risk level, or is it a single flow for all actions?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zwaydot\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zwaydot<\/a>&nbsp;what dirves you to make this 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zwaydot\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zwaydot<\/a>&nbsp;Well said.<\/p>\n<p>Building Driven has always been about more than adding AI to investing. It\u2019s about rethinking how investors access research, tools, decision support, and move from insight to action.<\/p>\n<p>Your investing experience and product perspective have helped shape the direction we\u2019re building toward. Excited to keep improving Driven and bring this vision to more investors. \ud83e\udd29<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! As a founder, I\u2019m not an active investor myself, but I know quite a few investors and often hear how much time they spend piecing together market data, news, filings, and portfolio context. I like that Driven is trying to turn all of that into a clear workflow, rather than just another place to ask questions. Excited to share this with a few investors I know.<\/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\/@yuaanlin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuaanlin<\/a>&nbsp;Friend, that&#8217;s so touching. Our mission is to create truly simple and powerful AI investment assistants<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;24\/7 monitoring plus order execution&#8221; combo is the part I&#8217;d want to understand before trusting it, not the research side. an agent that&#8217;s wrong about a stock thesis costs you an afternoon of reading, an agent that&#8217;s wrong and also has order placement wired up costs you an actual trade at 3am while you&#8217;re asleep. what&#8217;s the failsafe between &#8220;agent decides to act&#8221; and &#8220;order actually goes out,&#8221; is there a human confirm step by default or does that only kick in above some size threshold<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>when you set up tasks to run automatically, by default Driven will ask for your confirmation before executing them. But that&#8217;s obviously not very automated. So users need to establish some rules for automatically executing trades, and Driven will make a comprehensive judgment based on those rules and its understanding of the user to decide whether to execute the trade. or not.<\/p>\n<p>Imagine putting your money in the hands of your personal financial advisor<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;You observed really carefully. That&#8217;s a great question, thanks<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Your tagline says &#8220;<strong>trusted<\/strong>&#8220;, which is a big word for investing. What is the output actually grounded in \u2014 filings and market data pulled at query time, or the model&#8217;s own training?<\/p>\n<\/p>\n<p>And does it show its sources, so I can check a call before acting on it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I gave it a try. It provided a really solid analysis of the stocks I&#8217;m following. It didn&#8217;t tell me anything I didn&#8217;t already know, but it did identify all the key signals. I haven&#8217;t seen this level of response quality in other services. Great job, and congratulations on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you so much<\/p>\n<p>I&#8217;m sure Driven will bring you even more surprises<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>\u201dDriven is not available in your region\u201c\ud83d\ude2d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ivory_xuxuxu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ivory_xuxuxu<\/a>&nbsp;We apologize, but due to certain model restrictions, we are currently unable to offer services in regions such as China and Hong Kong. We sincerely apologize for any inconvenience this may cause. We will work to expand to a wider range of regions as soon as possible. I will get back to you once that happens.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@ivory_xuxuxu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ivory_xuxuxu<\/a>&nbsp;Thanks for your interest in Driven!<\/p>\n<p>Some model availability can vary by region due to provider restrictions, but we\u2019re constantly improving and expanding support.<\/p>\n<p><strong>Stay tuned!! Driven is evolving quickly<\/strong>, and there may be new updates coming soon \ud83d\ude0a<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/MEYNOM2EOWKKZN\" class=\"app-title\">Dashi Metrics<\/a><\/p>\n<div class=\"one-liner\">Visualize your revenue on a 3D globe<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">204<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Dashi Metrics\u901a\u8fc73D\u5730\u7403\u4eea\u5c06\u8bbf\u5ba2\u4e0e\u4ed8\u8d39\u4e8b\u4ef6\u5b9e\u65f6\u53ef\u89c6\u5316\uff0c\u8ba9SaaS\u521b\u59cb\u4eba\u548c\u56e2\u961f\u6446\u8131\u67af\u71e5\u7684\u8868\u683c\uff0c\u5728\u6c89\u6d78\u5f0f\u4ea4\u4e92\u4e2d\u76f4\u89c2\u638c\u63e1\u5168\u7403\u4e1a\u52a1\u52a8\u6001\u4e0e\u6536\u5165\u5206\u5e03\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\/cb5e7595-0f75-4003-8383-306a2dfcc180.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4386f1e7-8c51-44ff-9a24-c63666cb4efd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/356481a5-6b5a-4b91-92c4-2551475d9ecb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/126778eb-7ece-451b-9d72-a8bdf25fd0b3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5a557eb6-de0e-4493-9e98-4ebab6a5d860.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f1610905-c97a-4fa1-913f-8cbc37e0ba1b.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\/49597835-f143-49f8-93a5-7e060ebb74ea.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/_JZ5-5LalTo\"><source src=\"https:\/\/youtu.be\/_JZ5-5LalTo\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Analytics<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Data Visualization<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6570\u636e\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">3D\u5730\u7403<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6536\u5165\u5730\u56fe<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u884c\u4e3a<\/span><br \/>\n            <span class=\"tag\">\u5730\u7406\u5b9a\u4f4d<\/span><br \/>\n            <span class=\"tag\">\u5546\u4e1a\u667a\u80fd<\/span><br \/>\n            <span class=\"tag\">\u5927\u5c4f\u5c55\u793a<\/span><br \/>\n            <span class=\"tag\">\u8da3\u5473\u5316\u62a5\u8868<\/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\u5176\u89c6\u89c9\u51b2\u51fb\u529b\u4e0e\u201c\u6c1b\u56f4\u611f\u201d\uff0c\u4f46\u8d28\u7591\u6838\u5fc3\u5b9e\u7528\u6027\u2014\u2014\u6709\u8bc4\u8bba\u6307\u51fa\u7528\u6237\u91cf\u589e\u957f\u540e\u5168\u7403\u56fe\u5c06\u6742\u4e71\u96be\u8bfb\uff0c\u4e0d\u5982\u56fd\u5bb6\u6392\u5e8f\u8868\u6709\u6548\uff1b\u4ea6\u6709\u7528\u6237\u5173\u5fc3\u6570\u636e\u63a5\u5165\u6587\u6863\u3001\u9690\u79c1\u653f\u7b56\u3001\u4e0eApp Store\u5206\u6790\u7684\u5dee\u5f02\uff0c\u521b\u59cb\u4eba\u5747\u56de\u5e94\u79f0\u5f53\u524d\u4e3a\u9a8c\u8bc1\u9636\u6bb5\u4e14\u805a\u7126\u4e8e\u201c\u7784\u4e00\u773c\u201d\u7684\u4f53\u9a8c\u800c\u975e\u66ff\u4ee3\u62a5\u544a\u5de5\u5177\u3002\u53e6\u6709\u5efa\u8bae\u5f3a\u8c03\u5176\u9002\u5408\u529e\u516c\u5ba4\u5927\u5c4f\u5c55\u793a\uff0c\u63d0\u5347\u56e2\u961f\u58eb\u6c14\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                Dashi Metrics\u7cbe\u51c6\u51fb\u4e2d\u4e86SaaS\u5de5\u5177\u201c\u529f\u80fd\u8fc7\u5269\u3001\u4f53\u9a8c\u8d2b\u7620\u201d\u7684\u8f6f\u808b\u2014\u2014\u5c06\u4eea\u8868\u76d8\u4ece\u201c\u6548\u7387\u5de5\u5177\u201d\u91cd\u5851\u4e3a\u201c\u53d9\u4e8b\u88c5\u7f6e\u201d\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u4e8e\u63d0\u4f9b\u66f4\u6df1\u7684\u6570\u636e\u6d1e\u5bdf\uff0c\u800c\u5728\u4e8e\u521b\u9020\u4e00\u79cd\u201c\u638c\u63a7\u611f\u201d\u4e0e\u201c\u4eea\u5f0f\u611f\u201d\uff1a\u5f53\u6bcf\u4e00\u6b21\u6210\u4ea4\u4ee5\u5149\u70b9\u5f62\u5f0f\u70b9\u4eae\u5728\u5730\u7403\u4e0a\u65f6\uff0cCEO\u83b7\u5f97\u7684\u4e0d\u662f\u8868\u683c\u91cc\u7684\u589e\u91cf\u6570\u5b57\uff0c\u800c\u662f\u4e00\u79cd\u53ef\u611f\u77e5\u7684\u4f01\u4e1a\u751f\u547d\u529b\u3002\u8fd9\u79cd\u60c5\u611f\u6ea2\u4ef7\u5728\u5546\u4e1a\u667a\u80fd\u9886\u57df\u88ab\u957f\u671f\u4f4e\u4f30\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u6070\u597d\u5361\u5728\u5c34\u5c2c\u7684\u4e2d\u95f4\u6001\uff1a\u4f5c\u4e3a\u5206\u6790\u5de5\u5177\uff0c\u5b83\u7f3a\u5c11\u8fc7\u6ee4\u3001\u5bf9\u6bd4\u548c\u5f52\u56e0\u80fd\u529b\uff0c\u5730\u56fe\u5728\u6570\u636e\u91cf\u589e\u957f\u540e\u8fc5\u901f\u9677\u5165\u201c\u4fe1\u606f\u566a\u58f0\u201d\uff1b\u4f5c\u4e3a\u88c5\u9970\u54c1\uff0c\u5176\u8ba2\u9605\u5236\u3001\u6570\u636e\u63a5\u5165\u95e8\u69db\u53c8\u8fc7\u9ad8\u3002\u521b\u59cb\u4eba\u7684\u56de\u5e94\u66b4\u9732\u4e86\u6218\u7565\u6a21\u7cca\u2014\u2014\u65e2\u60f3\u7528\u201c\u514d\u8d39\u8bd5\u7528\u201d\u5708\u4f4fPH\u6d41\u91cf\uff0c\u53c8\u60f3\u901a\u8fc7\u201c\u6309\u4e8b\u4ef6\u91cf\u8ba1\u8d39\u201d\u5546\u4e1a\u5316\uff0c\u4f46\u5ffd\u89c6\u4e86\u201c\u70ed\u95f9\u611f\u201d\u6781\u6613\u88ab\u6a21\u4eff\u4e14\u7f3a\u5c11\u62a4\u57ce\u6cb3\u3002\u66f4\u5b9e\u8d28\u7684\u6311\u6218\u5728\u4e8e\uff0cB2B\u5de5\u5177\u7684\u7528\u6237\u6700\u7ec8\u4f1a\u4e3a\u201c\u6548\u7387\u201d\u800c\u975e\u201c\u6c1b\u56f4\u201d\u4e70\u5355\u3002\u82e5\u4e0d\u80fd\u50cfChartMogul\u6216Paddle\u90a3\u6837\u63d0\u4f9b\u53ef\u64cd\u4f5c\u7684\u6536\u5165\u6d1e\u5bdf\uff08\u4f8b\u5982\u5f02\u5e38\u8b66\u62a5\u3001\u5730\u57dfROI\u5bf9\u6bd4\uff09\uff0c\u5b83\u5c06\u6ca6\u4e3a\u6619\u82b1\u4e00\u73b0\u7684\u201c\u8425\u9500\u6f14\u793a\u5de5\u5177\u201d\u3002\u5efa\u8bae\u56e2\u961f\u5c06\u6838\u5fc3\u7ade\u4e89\u529b\u4ece\u201c\u53ef\u89c6\u5316\u201d\u8fc1\u79fb\u81f3\u201c\u5b9e\u65f6\u5730\u7406\u7ef4\u5ea6\u7684\u51b3\u7b56\u8f85\u52a9\u201d\uff0c\u5426\u5219\u73bb\u7483\u7403\u91cc\u7684\u5149\u70b9\uff0c\u7ec8\u5c06\u53ea\u662f\u5c4f\u5e55\u4e0a\u7684\u70df\u706b\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\">Dashi Metrics<\/span>\n                <\/div>\n<div class=\"comment-content\">Watch your business come alive\u2014every visitor and payment mapped in real time on a dynamic 3D globe. Dashi transforms static dashboards into live, geographic visualizations, making global trends and customer activity instantly engaging. Spin, zoom, and interact with your data as it happens. Perfect for SaaS teams and founders who want actionable, visual insights instead of boring charts.<\/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 built Dashi because we were frustrated by how lifeless most dashboards feel\u2014just rows of numbers and static charts. As founders, we wanted a way to actually see every customer and payment spark to life, right where it happens around the globe.<\/p>\n<p>Dashi lets you visualize your business in real time: every visitor and payment appears instantly on a 3D globe. You can spin, zoom, and drill down to see exactly where your revenue is landing and how customers are interacting, globally. It&#8217;s built for SaaS teams who care about engaging analytics, not just spreadsheets.<\/p>\n<p>&#8211; Live data mapped geographically<br \/>\n&#8211; Spin and zoom for deeper insights<br \/>\n&#8211; See revenue and customer activity as it happens<\/p>\n<p>We&#8217;re offering a free tier for Product Hunt users to try it out and claim their globe \ud83c\udf0d.<\/p>\n<p>I&#8217;d love your feedback on what features would make the globe even more valuable for SaaS teams\u2014especially around live collaboration or deeper drill-downs.<\/p>\n<p>What global trends or real-time signals do you wish your dashboard could show?<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this was much more interesting than I thought, tho my question is, how would this differ with data from Apple Store&#8217;s analytics where I can already see the location of the purchases, for example??? Very nice!<\/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\/@ketochi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ketochi<\/a> haha appreciate that! and yeah fair question, App Store analytics is great for the actual reports \u2014 \u201cX purchases from Japan last week\u201d kind of stuff. Dashi isn\u2019t trying to replace that. it\u2019s more like\u2026 leaving a window open on your desk. live traffic on a globe, a little music, vibes. something you glance at while you\u2019re working instead of logging into a dashboard to dig through charts. also covers web traffic \/ visits in general, not just store purchases. so different job, different mood \ud83c\udf0d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\/@therayess\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"therayess\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@therayess<\/a> &#8211; this looks amazing, are there  any docs on how I would share the data to show on the dashboard, also do you have a privacy policy?<\/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;Thanks for the positive feedback! do you mean installation docs? so for installation we have an easy flow where you just copy an AI prompt and give it to your coding agent to set everything up for you, or you can also view more details via the manual installation flow.<\/p>\n<\/p>\n<p>Regarding privacy policy, yep it&#8217;s there, in summary dashi&#8217;s policy is that Dashi collects only what\u2019s needed for site analytics and revenue attribution, stays first-party, and lets you keep your globe private by default \u2014 we\u2019re not an ad tracker<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow Ammar! This is super cool. How do you monetize this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thanks! can&#8217;t think of monetizing yet, still in validation phase ^^ if it passes, probably it&#8217;ll be a subscription based on how many events your collecting, which is an existing model really, so i&#8217;ll just follow that..<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>There&#8217;s a lot you can customize here \u2014 almost too much, honestly. I&#8217;d probably spend more time tweaking the globe than actually reading the data. But I&#8217;ll say this: put it on the big screen in the office and suddenly everyone&#8217;s stopping to watch where the next payment lands. That alone makes it worth it. Sometimes a dashboard&#8217;s real job isn&#8217;t analysis \u2014 it&#8217;s making the team feel like something is happening.<\/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\/@kryptonite_wei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kryptonite_wei<\/a>&nbsp;that&#8217;s 100% exactly why i built this, i mean lets be real, there are many analytics tools out there..but this is different, it&#8217;s an experience, like, i open it when i start my work day and just leave it open&#8230;seeing the numbers on this &#8216;command center-like&#8217; vibe just hits different lol<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the globe is a great screenshot but I&#8217;m not sure it&#8217;s a great Tuesday morning tool. once you have more than a handful of customers a spinning globe stops being readable, it&#8217;s just a dense cluster over the US and EU with a few lonely dots elsewhere. genuinely curious what the globe view tells you that a sorted table by country wouldn&#8217;t, once you&#8217;re past the demo-wow phase and actually trying to spot something useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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\/7Y3DVMWTPWVNJY\" class=\"app-title\">Vibe Buddy<\/a><\/p>\n<div class=\"one-liner\">Hardware for AI coding<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">154<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Vibe Buddy \u662f\u4e00\u6b3e\u6446\u653e\u5728\u684c\u9762\u7684\u5c0f\u578b\u673a\u5668\u4eba\u786c\u4ef6\uff0c\u901a\u8fc7\u53ef\u89c6\u5316\u7684\u8868\u60c5\u548c\u72b6\u6001\u706f\uff0c\u8ba9\u5f00\u53d1\u8005\u5728\u4f7f\u7528 Codex\u3001Claude Code \u7b49 AI \u7f16\u7801\u5de5\u5177\u65f6\uff0c\u65e0\u9700\u5207\u6362\u7a97\u53e3\u5373\u53ef\u5b9e\u65f6\u638c\u63e1 AI \u4efb\u52a1\u8fdb\u5ea6\u3001\u7b49\u5f85\u8f93\u5165\u3001\u5b8c\u6210\u72b6\u6001\u53ca\u7528\u91cf\u9650\u989d\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\/199e71f3-6c84-4b89-9cab-75911e9aa60c.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/3amD4yIN7uw?si=9HyHb75tATukODag\"><source src=\"https:\/\/youtu.be\/3amD4yIN7uw?si=9HyHb75tATukODag\" 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\/ba06aed0-5ea4-49bd-a208-373913fa580c.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\/2c79767d-f923-4598-a698-c16799d9b821.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\/64574c69-3b90-48e2-b0a8-4f84c0c7af28.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\">Robots<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI \u7f16\u7801\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u673a\u5668\u4eba<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u786c\u4ef6\u5916\u8bbe<\/span><br \/>\n            <span class=\"tag\">\u72b6\u6001\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u914d\u4ef6<\/span><br \/>\n            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">Usage Limit<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6781\u5ba2\u6f6e\u73a9<\/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\u8bc4\u8bba\u8ba4\u53ef\u5176\u53ef\u7231\u5916\u5f62\u4e0e\u201c\u5b9e\u7528+\u8da3\u5473\u201d\u7684\u7ed3\u5408\u3002\u4f46\u83b7\u8d5e\u6700\u9ad8\u8bc4\u8bba\u8d28\u7591\u5176\u4ef7\u503c\uff1a\u83dc\u5355\u680f\u56fe\u6807\u6216\u7ec8\u7aef\u901a\u77e5\u5df2\u80fd\u514d\u8d39\u5b9e\u73b0\u540c\u6837\u529f\u80fd\uff0c\u4e14\u65e0\u9700\u5360\u7528\u684c\u9762\u548c\u5145\u7535\uff0c\u62c5\u5fe7\u65b0\u9c9c\u611f\u8fc7\u540e\u6210\u4e3a\u5403\u7070\u6446\u4ef6\u3002\u53e6\u6709\u7528\u6237\u54a8\u8be2\u7535\u6c60\u7eed\u822a\u3001\u5145\u7535\u65b9\u5f0f\u53ca\u4e9a\u6d32\u5730\u533a\u8fd0\u8d39\uff0c\u4f5c\u8005\u56de\u5e94\u53ef\u6309\u56fd\u5bb6\u67e5\u8be2\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                Vibe Buddy \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u628a\u8f6f\u4ef6\u72b6\u6001\u642c\u5230\u684c\u9762\u201d\u7684\u786c\u4ef6\u5bb9\u5668\u3002\u4f46\u51b7\u9759\u62c6\u89e3\uff0c\u5b83\u6700\u5927\u7684\u95ee\u9898\u4e0d\u662f\u53ef\u7231\u4e0d\u53ef\u7231\uff0c\u800c\u662f**\u4ef7\u503c\u5bc6\u5ea6\u6781\u4f4e**\u3002\u8bc4\u8bba\u4e2d\u90a3\u53e5\u201c\u83dc\u5355\u680f\u56fe\u6807\u514d\u8d39\u4e14\u4e0d\u9700\u8981\u5145\u7535\u201d\u662f\u76f4\u51fb\u8981\u5bb3\u7684\u81f4\u547d\u8ffd\u95ee\u3002\u5728 macOS \u7684\u83dc\u5355\u680f\u3001Raycast\u3001\u7ec8\u7aef\u5185\u5d4c\u901a\u77e5\u90fd\u5df2\u80fd\u5b8c\u7f8e\u5448\u73b0 Agent \u72b6\u6001\u7684\u524d\u63d0\u4e0b\uff0c\u4e00\u4e2a\u9700\u8981\u5360\u7528\u684c\u9762\u7a7a\u95f4\u3001\u9700\u8981\u5145\u7535\u3001\u9700\u8981\u989d\u5916\u652f\u4ed8\u786c\u4ef6\u8d39\u7528\u7684\u8bbe\u5907\uff0c\u6240\u63d0\u4f9b\u7684\u6838\u5fc3\u589e\u91cf\u4ec5\u4ec5\u662f\u201c\u4e00\u4e2a\u7b11\u8138\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8fd9\u51b3\u5b9a\u4e86\u5b83\u662f\u4e00\u4ef6**\u5f3a\u60c5\u7eea\u4ef7\u503c\u3001\u5f31\u529f\u80fd\u4ef7\u503c**\u7684\u4ea7\u54c1\u3002\u5b83\u7684\u6210\u529f\u5b8c\u5168\u62bc\u6ce8\u5728\u201c\u5f00\u53d1\u8005\u613f\u610f\u4e3a\u684c\u9762\u6109\u60a6\u611f\u4e70\u5355\u201d\u8fd9\u4e00\u5047\u8bbe\u4e0a\u3002\u5bf9\u4e8e Vibe Coding \u7684\u4e3b\u529b\u7528\u6237\uff08\u5c24\u5176\u662f\u91cd\u5ea6\u4f7f\u7528 Codex\/Claude Code \u7684\u5f00\u53d1\u8005\uff09\uff0c\u4ed6\u4eec\u901a\u5e38\u662f\u6548\u7387\u4f18\u5148\u3001\u6781\u5ea6\u52a1\u5b9e\u7684\u7fa4\u4f53\uff0c\u5bf9\u201c\u591a\u4e00\u4e2a\u8981\u5145\u7535\u7684\u5851\u6599\u73a9\u610f\u513f\u201d\u7684\u5bb9\u5fcd\u5ea6\u6781\u4f4e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece Product Hunt \u7684\u6295\u7968\u6570\u548c\u8bc4\u8bba\u503e\u5411\u770b\uff0c\u5b83\u5f15\u53d1\u4e86\u201c\u6709\u8da3\u201d\u7684\u5171\u9e23\uff0c\u4f46\u6700\u771f\u5b9e\u7684\u7528\u6237\u53cd\u9988\u6070\u6070\u662f\u5bf9\u201c\u957f\u671f\u4f7f\u7528\u7387\u201d\u548c\u201c\u66ff\u4ee3\u54c1\u201d\u7684\u8d28\u7591\u3002\u8fd9\u7c7b\u4ea7\u54c1\u6700\u5bb9\u6613\u9677\u5165\u7684\u9677\u9631\u662f\uff1a\u5c1d\u9c9c\u671f\u5185\u7684\u51b2\u52a8\u6d88\u8d39\uff0c\u968f\u540e\u4e00\u5468\u5185\u88ab\u62d4\u6389\u7535\u6e90\u6254\u8fdb\u62bd\u5c49\u3002Vibe Buddy \u82e5\u60f3\u8bc1\u660e\u81ea\u5df1\u4e0d\u662f\u201c\u5e26\u8868\u60c5\u7684\u8fdb\u7a0b\u901a\u77e5\u706f\u201d\uff0c\u5fc5\u987b\u56de\u7b54\u4e24\u4e2a\u95ee\u9898\uff1a\u4e00\u662f\u80fd\u5426\u63a5\u5165\u66f4\u591a Agent \u4e8b\u4ef6\uff08\u5982\u591a\u4efb\u52a1\u5e76\u53d1\u3001\u4e0a\u4e0b\u6587\u7a97\u53e3\u5269\u4f59\u91cf\uff09\u4f7f\u5176\u6210\u4e3a**\u4e0d\u53ef\u66ff\u4ee3\u7684\u4fe1\u606f\u56fe\u817e**\uff1b\u4e8c\u662f\u80fd\u5426\u628a\u201c\u53ef\u7231\u201d\u53d8\u6210\u4e00\u79cd**\u8eab\u4efd\u6807\u8bc6**\uff08\u4f8b\u5982\u5f00\u53d1\u8005\u5de5\u4f4d\u793e\u4ea4\u8d27\u5e01\uff09\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u4e70\u691f\u8fd8\u73e0\u7684\u88c5\u9970\u3002\u5426\u5219\uff0c\u5b83\u5c31\u662f AI \u914d\u4ef6\u6d6a\u6f6e\u4e2d\u7684\u4e00\u6735\u5c0f\u6d6a\u82b1\uff0c\u62cd\u5728\u6c99\u6ee9\u4e0a\uff0c\u65e0\u58f0\u65e0\u606f\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\">Vibe Buddy<\/span>\n                <\/div>\n<div class=\"comment-content\">Vibe Buddy is a small desktop robot that keeps Codex and Claude Code usage limits and task status visible while you work. See when your AI is working, needs your input, has finished, or has hit its usage limit\u2014without opening another tab.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>a menu bar icon or a terminal notification tells me the same four states for free and doesn&#8217;t need desk space or a charge cable. I get the appeal, a little face is more fun to glance at than a status bar, but &#8220;fun to glance at&#8221; is a different value prop than the practical framing on the page. would be curious whether people actually keep it running past the first week once the novelty wears off, versus it becoming another thing sitting unplugged on the desk.<\/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>That little robot is so adorable, I can already imagine children trying to steal it from someone&#8217;s desk :-). Keeping usage limits in view is such a practical idea.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Okay&nbsp;this&nbsp;is&nbsp;genuinely&nbsp;cute&nbsp;\ud83d\ude04&nbsp;It&#8217;s&nbsp;basically&nbsp;an&nbsp;AI-era&nbsp;desk&nbsp;alarm&nbsp;clock&nbsp;\u2014&nbsp;except&nbsp;instead&nbsp;of&nbsp;telling&nbsp;you&nbsp;it&#8217;s&nbsp;9&nbsp;AM,&nbsp;it&nbsp;tells&nbsp;you&nbsp;your&nbsp;agent&nbsp;is&nbsp;out&nbsp;of&nbsp;credits.&nbsp;Super&nbsp;minimal,&nbsp;oddly&nbsp;charming,&nbsp;and&nbsp;I&nbsp;can&nbsp;already&nbsp;see&nbsp;this&nbsp;becoming&nbsp;a&nbsp;staple&nbsp;on&nbsp;every&nbsp;developer&#8217;s&nbsp;desk&nbsp;setup.&nbsp;Sometimes&nbsp;the&nbsp;best&nbsp;product&nbsp;is&nbsp;just&nbsp;the&nbsp;one&nbsp;you&nbsp;want&nbsp;to&nbsp;look&nbsp;at.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">Accepting pre-orders now<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>looks cute, do i need to charge it or is it comes with a lead battery and what would be the rough shipping cost for this in asian countries i dont want to spend to much on shipping <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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;what country? I can check for you but the price may vary a lot for different asian countries<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/EGH3SRBAZ4GFQK\" class=\"app-title\">Screen Awesome <\/a><\/p>\n<div class=\"one-liner\">The free screen recorder that cannot upload your video<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">132<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Screen Awesome \u662f\u4e00\u6b3e\u5ba3\u79f0\u201c\u65e0\u6cd5\u4e0a\u4f20\u89c6\u9891\u201d\u7684\u514d\u8d39Chrome\u5f55\u5c4f\u6269\u5c55\uff0c\u901a\u8fc7\u96f6\u4e3b\u673a\u6743\u9650\u7684\u786c\u9650\u5236\uff0c\u89e3\u51b3\u7528\u6237\u5f55\u5c4f\u65f6\u5bf9\u9690\u79c1\u6570\u636e\u53bb\u5411\u7684\u62c5\u5fe7\uff0c\u5e76\u63d0\u4f9b\u81ea\u52a8\u7f29\u653e\u3001\u77e2\u91cf\u6279\u6ce8\u7b49\u4e13\u4e1a\u7f16\u8f91\u529f\u80fd\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\/6e82b55e-07ff-41b6-a77f-46b830ba4606.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4348a8de-459f-4b0d-aac6-5d931bae0451.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/79ca87d1-e205-4218-b8d0-ec4f44d9a487.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/af14d601-1ff2-4b02-8450-c4513ca733d1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a72ab5b4-bb07-4499-8f96-47329b718c45.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c14abcc3-6073-4601-9ddd-fd446f3f1824.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Chrome Extensions<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Chrome\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u5c4f\u5e55\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u96f6\u6743\u9650<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u77e2\u91cf\u6279\u6ce8<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u7f29\u653e<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8d26\u53f7<\/span><br \/>\n            <span class=\"tag\">MP4\u5bfc\u51fa<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u201c\u53ef\u9a8c\u8bc1\u9690\u79c1\u201d\u4f18\u4e8e\u201c\u4fe1\u4efb\u627f\u8bfa\u201d\uff0c\u4f46\u62c5\u5fe7Chrome\u81ea\u52a8\u66f4\u65b0\u53ef\u80fd\u6084\u6084\u6dfb\u52a0\u6743\u9650\uff0c\u5efa\u8bae\u53d1\u5e03manifest diff\u4f9b\u6301\u7eed\u6838\u67e5\u3002\u90e8\u5206Mac\u7528\u6237\u53cd\u9988\u65e0\u6cd5\u542f\u52a8\u5f55\u5236\uff0c\u5b58\u5728\u517c\u5bb9\u6027\u95ee\u9898\uff1b\u53e6\u6709\u4eba\u8d28\u7591\u76f8\u6bd4macOS\u81ea\u5e26QuickTime\u7684\u5dee\u5f02\u5316\u4f18\u52bf\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                Screen Awesome\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u628a\u201c\u9690\u79c1\u627f\u8bfa\u201d\u4ece\u9053\u5fb7\u547d\u9898\u5077\u6362\u4e3a\u6280\u672f\u4e8b\u5b9e\u2014\u2014\u7528Chrome\u7684\u6743\u9650\u6a21\u578b\u505a\u6321\u7bad\u724c\uff0c\u8ba9\u201c\u6211\u4e0d\u80fd\u201d\u6bd4\u201c\u6211\u4fdd\u8bc1\u4e0d\u201d\u66f4\u5177\u4f20\u64ad\u529b\u3002\u8fd9\u76f4\u51fb\u5f55\u5c4f\u5de5\u5177\u7528\u6237\u6700\u6df1\u7684\u4e0d\u5b89\u5168\u611f\uff0c\u5c24\u5176\u9488\u5bf9\u5904\u7406\u5ba2\u6237\u6570\u636e\u3001\u8d22\u52a1\u4fe1\u606f\u7684\u804c\u573a\u4eba\u3002\u4ea7\u54c1\u529f\u80fd\u8bbe\u8ba1\u4e5f\u8db3\u591f\u8001\u8fa3\uff1a\u81ea\u52a8\u7f29\u653e\u865a\u62df\u6444\u50cf\u673a\u3001\u53ef\u7f16\u8f91\u77e2\u91cf\u6279\u6ce8\u3001\u6574\u9875\u6eda\u52a8\u622a\u56fe\uff0c\u8fd9\u4e9b\u901a\u5e38\u662f\u4ed8\u8d39\u7248\u624d\u6709\u7684\u80fd\u529b\uff0c\u914d\u5408\u201c\u5168\u89e3\u9501\u201d\u201c\u65e0\u4ed8\u8d39\u8ba1\u5212\u201d\u7684\u8bdd\u672f\uff0c\u6740\u4f24\u529b\u5f88\u5f3a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u5229\u7684\u5200\u950b\u4e5f\u6709\u949d\u5904\u3002\u8bc4\u8bba\u8005\u5df2\u7cbe\u51c6\u6307\u51fa\u5176\u201c\u53ef\u9a8c\u8bc1\u6027\u201d\u5b58\u5728\u65f6\u6548\u6f0f\u6d1e\u2014\u2014Chrome\u81ea\u52a8\u66f4\u65b0\u53ef\u9759\u9ed8\u6dfb\u52a0\u6743\u9650\uff0c\u82e5\u65e0\u914d\u5957\u7684\u7248\u672c\u5316manifest\u516c\u793a\u673a\u5236\uff0c\u8fd9\u4e00\u5356\u70b9\u4f1a\u968f\u65f6\u95f4\u84b8\u53d1\u3002\u66f4\u73b0\u5b9e\u7684\u95ee\u9898\u662f\u517c\u5bb9\u6027\uff1aMac\u7528\u6237\u53cd\u9988\u65e0\u6cd5\u542f\u52a8\uff0c\u800cQuickTime\u7684\u514d\u8d39\u66ff\u4ee3\u8ba4\u77e5\u6839\u6df1\u8482\u56fa\uff0c\u4ea7\u54c1\u5728\u8de8\u5e73\u53f0\u6253\u78e8\u548c\u5dee\u5f02\u5316\u53d9\u4e8b\u4e0a\u663e\u7136\u4e0d\u8db3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\u770b\uff0c\u8fd9\u5e76\u975e\u4e00\u4e2a\u5f55\u5c4f\u5de5\u5177\uff0c\u800c\u662f\u4e00\u573a\u5173\u4e8e\u201c\u4fe1\u4efb\u6210\u672c\u201d\u7684\u8425\u9500\u5b9e\u9a8c\u3002\u5b83\u7528\u6280\u672f\u7ea6\u675f\u66ff\u4ee3\u54c1\u724c\u4fe1\u8a89\uff0c\u4f46\u590d\u5229\u6548\u5e94\u6709\u9650\u2014\u2014\u5f53\u7ade\u54c1\u6284\u88ad\u201c\u7a7a\u6743\u9650\u201d\u6a21\u5f0f\u540e\uff0c\u7528\u6237\u7c98\u6027\u5c06\u56de\u5f52\u5f55\u5236\u8d28\u91cf\u3001\u7f16\u8f91\u6548\u7387\u7b49\u57fa\u672c\u9762\u3002\u5728\u90a3\u4e9b\u7ef4\u5ea6\uff0cScreen Awesome\u76ee\u524d\u4ec5\u9760\u201c\u514d\u8d39+\u5168\u529f\u80fd\u201d\u652f\u6491\uff0c\u7f3a\u4e4f\u62a4\u57ce\u6cb3\u3002\u5f00\u53d1\u8005\u5b9a\u4f4d\u201cChrome\/Chromium only\u201d\u7684\u7b56\u7565\u867d\u805a\u7126\uff0c\u5374\u4e5f\u4eba\u4e3a\u6536\u7a84\u4e86\u5929\u82b1\u677f\u3002\u82e5\u4e0d\u80fd\u5feb\u901f\u8865\u5168\u751f\u6001\u517c\u5bb9\u6027\uff0c\u5e76\u5efa\u7acb\u8d77\u53ef\u6301\u7eed\u7684\u4fe1\u4efb\u9a8c\u8bc1\u673a\u5236\uff08\u5982\u6bcf\u6b21\u66f4\u65b0\u53d1\u5e03\u7b7e\u540d\u7684\u6743\u9650\u5ba1\u8ba1\u62a5\u544a\uff09\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u53ef\u80fd\u53ea\u662f\u9690\u79c1\u7126\u8651\u6d6a\u6f6e\u4e2d\u7684\u4e00\u9897\u6d41\u661f\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\">Screen Awesome <\/span>\n                <\/div>\n<div class=\"comment-content\">Every screen recorder promises not to misuse your recordings. Screen Awesome can&#8217;t: it requests zero host permissions, so Chrome itself blocks it from reaching any server. Check it in chrome:\/\/extensions before you install. Record a tab, screen or camera to MP4. Auto-zoom glides a virtual camera to every click. Screenshot a region or a full scrolling page. Annotate with arrows, blur, redaction, step counters and text \u2014 all editable vectors. Free, unlocked, no account, no watermark.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built Screen Awesome after recording a bug report on a page full of client<br \/>\ndata and realising I had no idea where that video was going.<\/p>\n<p>Every capture extension has a privacy policy. Screen Awesome has a limitation<br \/>\ninstead: host_permissions is empty in its manifest, and Chrome will not let an<br \/>\nextension with no host permissions make a request to any server. No account, no<br \/>\ntelemetry, no sync \u2014 not because I promise not to, but because there is nothing<br \/>\nin the code that could. You can verify it before installing: chrome:\/\/extensions<br \/>\n\u2192 Screen Awesome \u2192 Site access: none.<\/p>\n<p>The other half of it is that everything is unlocked. Arrows, blur and redaction,<br \/>\nstep counters, speech bubbles, crop, text in any system font \u2014 the tools that<br \/>\nare usually the paid tier. Annotations stay as vectors, so you can move,<br \/>\nrestyle, re-edit or undo any of them later.<\/p>\n<p>Three bits I&#8217;m proud of:<\/p>\n<p>\u2022 Auto-zoom \u2014 while you record a tab it samples your clicks, then the studio<br \/>\n  replays the footage through a virtual camera that glides in on each one.<br \/>\n  Preview it live, switch it off, or bake it into the export.<br \/>\n\u2022 MP4 out wherever Chrome can encode it, so the file drops straight into Slack,<br \/>\n  Docs or Premiere with no conversion step. WebM and GIF export too.<br \/>\n\u2022 Full-page screenshots that scroll and stitch \u2014 including the fixed<br \/>\n  header\/sidebar handling that normally stripes the image.<\/p>\n<p>Honest limits: Chrome and Chromium only for now, no Firefox or Safari. Most of<br \/>\nmy testing has been on Windows. And because everything is local, uninstalling<br \/>\ndeletes your captures \u2014 bulk-download first.<\/p>\n<p>It&#8217;s free, there&#8217;s no paid tier, and I&#8217;m not planning one.<\/p>\n<p>What I&#8217;d love your take on: does &#8220;verifiable&#8221; land better than &#8220;trust us&#8221; for<br \/>\nyou? And if you make screencasts often \u2014 what&#8217;s the one thing your current tool<br \/>\nstill makes you do by hand?<\/p>\n<p>\u2014 Nitin<\/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>Verifiable lands better, but the claim has a shelf life. Empty host_permissions is true today and Chrome auto updates extensions, so 1.4 can quietly add one and nobody checks chrome:\/\/extensions twice. If you want it to hold, publish the manifest diff with every release and link it from the store listing, that&#8217;s the thing someone can keep checking without trusting you. The one I still do by hand is re-recording a whole take because a single sentence came out wrong.<\/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>This is a very thoughtful approach to privacy. Verifiable definitely lands better than &#8220;trust us&#8221; because users can confirm the limitation themselves instead of relying on another policy page.<\/p>\n<p>The combination of zero host permissions. Great work, Nitin, and congratulations on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can it record screen videos?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Mac users have Quick Time for screen recording. It&#8217;s easy to use and free. Apple has an emphasis on security. What makes your product different?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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 have tried multiple times to use this tool for recording purposes but have not been able to start. Would you please check the issue? I am using a Mac<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/db0d488f-c77f-4b8a-a4dd-edbf76d2f3ff.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>.<\/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<\/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\/NTSETTC4L3HCIH\" class=\"app-title\">ZapDigits MCP<\/a><\/p>\n<div class=\"one-liner\">The MCP server for marketing data<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">126<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ZapDigits MCP\u662f\u4e00\u4e2a\u8425\u9500\u6570\u636e\u4e2d\u95f4\u5c42\u670d\u52a1\u5668\uff0c\u8ba9Claude\u3001ChatGPT\u7b49AI\u4ee3\u7406\u901a\u8fc7\u5355\u4e00\u63a5\u53e3\u5b89\u5168\u8fde\u63a5\u5e76\u67e5\u8be2Google Analytics\u3001Meta Ads\u7b4930+\u6570\u636e\u6e90\uff0c\u89e3\u51b3\u8425\u9500\u4eba\u5458\u5728\u4e0d\u540c\u4eea\u8868\u76d8\u548cCSV\u5bfc\u51fa\u4e4b\u95f4\u6765\u56de\u5207\u6362\u3001\u96be\u4ee5\u76f4\u63a5\u5411AI\u63d0\u95ee\u7684\u6570\u636e\u6574\u5408\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\/ed121234-f282-429a-bcf1-1e9aefc96bb7.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\/18730ec1-965c-4ce4-9c0b-b5b700301726.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\/0791029f-5e3f-4f66-a26b-018c9a7179b2.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/10e14a38-a46b-4d43-baf5-5d0887b1fff3.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/_ujBQ70Q2Dc\"><source src=\"https:\/\/youtu.be\/_ujBQ70Q2Dc\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Analytics<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Data &#038; Analytics<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8425\u9500\u6570\u636e\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u8fde\u63a5\u5668<\/span><br \/>\n            <span class=\"tag\">\u5e7f\u544a\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">SEO\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u6237\u62a5\u544a<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u4e2d\u53f0<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/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\u89e3\u51b3\u4ee3\u7406\u5546\u6570\u636e\u5206\u6563\u7684\u75db\u70b9\u3002\u6709\u6548\u53cd\u9988\u96c6\u4e2d\u5728\u4e24\u70b9\uff1a\u4e00\u662f\u662f\u5426\u652f\u6301PostHog\u3001Mixpanel\u6216\u81ea\u5b9a\u4e49SQL\u7b49\u975e\u6807\u51c6\u4e8b\u4ef6\u8ffd\u8e2a\u6e90\uff1b\u4e8c\u662f\u8de8\u5e73\u53f0\u5f52\u56e0\u53e3\u5f84\u4e0d\u4e00\u81f4\u65f6\uff0cMCP\u662f\u81ea\u52a8\u5f52\u4e00\u5316\u8fd8\u662f\u539f\u6837\u8f93\u51fa\uff0c\u8ba9\u7528\u6237\u81ea\u884c\u5904\u7406\u3002\u53e6\u6709\u7528\u6237\u8be2\u95ee\u65b0\u7528\u6237\u9996\u6b21\u8fde\u63a5\u540e\u6700\u8be5\u95ee\u4ec0\u4e48\u95ee\u9898\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ZapDigits MCP\u7684\u5b9a\u4f4d\u806a\u660e\uff0c\u5207\u4e2d\u4e86AI\u843d\u5730\u8425\u9500\u573a\u666f\u6700\u5c34\u5c2c\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u2014\u2014\u6a21\u578b\u518d\u5f3a\uff0c\u6570\u636e\u8fdb\u4e0d\u6765\u4e5f\u662f\u767d\u642d\u3002\u5b83\u672c\u8d28\u4e0a\u4e0d\u662f\u5356AI\uff0c\u800c\u662f\u5356\u201c\u6570\u636e\u7ba1\u9053\u201d\uff0c\u628a\u788e\u7247\u5316\u7684\u8425\u9500\u6570\u636e\u5c01\u88c5\u6210AI\u53ef\u8bfb\u7684\u6807\u51c6\u5316\u63a5\u53e3\uff0c\u8fd9\u6bd4\u5927\u591a\u6570\u8d29\u5356\u201cAI\u6d1e\u5bdf\u201d\u6982\u5ff5\u7684SaaS\u52a1\u5b9e\u5f97\u591a\u3002\u4f46\u5b83\u7684\u4ef7\u503c\u5929\u82b1\u677f\u548c\u98ce\u9669\u540c\u6837\u6e05\u6670\uff1a\u9996\u5148\uff0c30+\u6570\u636e\u6e90\u770b\u4f3c\u4e30\u5bcc\uff0c\u4f46\u771f\u6b63\u51b3\u5b9a\u7528\u6237\u7c98\u6027\u7684\u662f\u6df1\u5ea6\u800c\u975e\u6570\u91cf\u2014\u2014\u8bc4\u8bba\u4e2d\u5173\u4e8ePostHog\u3001Mixpanel\u548c\u81ea\u5b9a\u4e49SQL\u7684\u8ffd\u95ee\uff0c\u4ee5\u53ca\u8de8\u5e73\u53f0\u5f52\u56e0\u53e3\u5f84\u662f\u5426\u5f52\u4e00\u5316\u7684\u95ee\u9898\uff0c\u76f4\u6307\u4ea7\u54c1\u5728\u201c\u8fde\u63a5\u201d\u4e4b\u540e\u662f\u5426\u5177\u5907\u201c\u6cbb\u7406\u201d\u80fd\u529b\u3002\u5982\u679c\u53ea\u662f\u628a\u5404\u5e73\u53f0\u539f\u751f\u53e3\u5f84\u539f\u6837\u629b\u7ed9AI\uff0c\u90a3\u4e48\u201c\u4e3a\u4ec0\u4e48\u8f6c\u5316\u4e0b\u964d\u201d\u8fd9\u7c7b\u95ee\u9898\u7684\u7b54\u6848\u4f9d\u7136\u4f1a\u56e0\u4e3a\u5f52\u56e0\u5dee\u5f02\u800c\u5931\u771f\uff0c\u7528\u6237\u8fd8\u5f97\u81ea\u5df1\u5f53\u88c1\u5224\uff0c\u6548\u7387\u63d0\u5347\u6709\u9650\u3002\u5176\u6b21\uff0c\u5b89\u5168\u5ba3\u79f0\u201c\u53ea\u8bfb\u201d\uff0c\u4f46MCP\u670d\u52a1\u5668\u672c\u8d28\u4e0a\u662f\u7279\u6743\u5165\u53e3\uff0c\u4e00\u65e6OAuth\u4ee4\u724c\u6216API\u5bc6\u94a5\u6cc4\u9732\uff0c\u653b\u51fb\u9762\u8fdc\u5927\u4e8e\u4eba\u5de5\u67e5\u6570\u3002\u76ee\u524d126\u7968\u7684\u53cd\u9988\u663e\u793a\uff0c\u65e9\u671f\u7528\u6237\u591a\u4e3a\u6280\u672f\u80cc\u666f\u7684\u4ee3\u7406\u5546\u8001\u677f\uff0c\u4ed6\u4eec\u5173\u5fc3\u7684\u662f\u53ef\u6269\u5c55\u6027\u548c\u6570\u636e\u53ef\u4fe1\u5ea6\uff0c\u800c\u975e\u70ab\u9177\u7684UI\u3002\u4ea7\u54c1\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u8fde\u63a5\u5668\u6570\u91cf\uff0c\u800c\u5728\u4e8e\u662f\u5426\u80fd\u5728MCP\u534f\u8bae\u4e4b\u4e0a\u5efa\u7acb\u4e00\u5957\u8de8\u5e73\u53f0\u7684\u5f52\u56e0\u5bf9\u9f50\u89c4\u5219\u548c\u5f02\u5e38\u68c0\u6d4b\u903b\u8f91\u2014\u2014\u8fd9\u624d\u662f\u4ee3\u7406\u5546\u613f\u610f\u4ed8\u9ad8\u6ea2\u4ef7\u7684\u7406\u7531\u3002\u82e5\u4e0d\u89e3\u51b3\u201c\u6570\u636e\u53ef\u4fe1\u201d\u800c\u53ea\u505a\u201c\u6570\u636e\u53ef\u8fbe\u201d\uff0cZapDigits\u8fdf\u65e9\u4f1a\u88ab\u5404\u5e73\u53f0\u81ea\u5df1\u7684MCP\u63d2\u4ef6\u7a00\u91ca\uff0c\u6ca6\u4e3a\u65e0\u5dee\u522b\u7684\u642c\u8fd0\u5de5\u3002\u901f\u5ea6\u8981\u5feb\uff0c\u4f46\u65b9\u5411\u5f97\u6bd4\u901f\u5ea6\u66f4\u51c6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">ZapDigits MCP<\/span>\n                <\/div>\n<div class=\"comment-content\">Connect Claude and ChatGPT to Google Analytics, Search Console, Meta Ads and 30+ marketing data sources.<\/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! I&#8217;m Malith, co-founder of ZapDigits. <\/p>\n<p>Over the past year, we&#8217;ve spoken with dozens of marketing agencies, and one thing kept coming up: their data lives everywhere.<\/p>\n<p>Google Analytics. Search Console. Meta Ads. Google Ads. Shopify. Email platforms. CRM systems.<\/p>\n<p>Even with AI tools like Claude and ChatGPT, people still have to jump between dashboards, export CSVs, or manually copy data before they can ask meaningful questions.<\/p>\n<p>So we built ZapDigits MCP.<\/p>\n<p>It gives AI agents secure access to your marketing data from 30+ data sources through a single MCP server. Once connected, you can ask questions like:<\/p>\n<p>\u2022 Which campaigns lost conversions this week?<br \/>\u2022 Why did organic traffic drop last month?<br \/>\u2022 Create a monthly client report.<br \/>\u2022 Compare performance across all my clients.<br \/>\u2022 Summarize my biggest opportunities.<\/p>\n<p>We built it for agencies, marketers, and developers who want to spend less time collecting data and more time acting on it.<\/p>\n<p>A few things we&#8217;re especially proud of:<br \/>\u2022 Connect 30+ marketing data sources<br \/>\u2022 Works with Claude, ChatGPT, Cursor, and other MCP-compatible clients<br \/>\u2022 White-label reporting platform included<br \/>\u2022 Fast setup with a single MCP connection<br \/>\u2022 Secure, read-only access to your marketing data<\/p>\n<p>We&#8217;re still moving quickly, and your feedback will directly shape what we build next.<\/p>\n<p>If you have any questions, feature requests, or ideas, I&#8217;ll be here throughout the day. Thanks for checking out ZapDigits MCP!<\/p>\n<\/p>\n<p>Special thanks 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> for hunting us and always supporting us.<\/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\/@malithmcrdev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malithmcrdev<\/a>&nbsp;Nice launch.. congrats team\ud83d\ude4c qq does it support custom conversion event tracking from platforms like PostHog, Mixpanel, or custom SQL databases alongside standard ad networks?<\/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\/@malithmcrdev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malithmcrdev<\/a>&nbsp;The value of a marketing-data MCP for me is less about pulling numbers and more about trusting them inside an agent workflow. The messy part is reconciling attribution across sources that each define a conversion differently. Does it normalize that, or hand back each platform&#8217;s own version and let me sort it out?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/@malithmcrdev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malithmcrdev<\/a>&nbsp;Malith, this solves a real pain I see with agencies. For someone who\u2019s already using Claude or ChatGPT daily, what\u2019s the <em>one<\/em> first question you\u2019d recommend they ask after connecting ZapDigits MCP; and why that one?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been using ZapDigits for a while now and this MCP will be really helpful. Congrats on your PH launch <a href=\"https:\/\/www.producthunt.com\/@malithmcrdev\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"malithmcrdev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@malithmcrdev<\/a> &amp; <a href=\"https:\/\/www.producthunt.com\/@mandy_ms\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"mandy_ms\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mandy_ms<\/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>Thank you for always supporting us <a href=\"https:\/\/www.producthunt.com\/@umar_lateef\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@umar_lateef<\/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<\/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\/HUEUUOMQH4YCYI\" class=\"app-title\">VIDEO AI ME<\/a><\/p>\n<div class=\"one-liner\">Make videos and post them everywhere with just one tool<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">117<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>VIDEO AI ME\u662f\u4e00\u6b3e\u5c06AI\u89c6\u9891\u751f\u6210\u4e0e\u591a\u5e73\u53f0\u53d1\u5e03\u6392\u671f\u6574\u5408\u7684\u4e00\u7ad9\u5f0f\u5de5\u5177\uff0c\u65e8\u5728\u89e3\u51b3\u7535\u5546\u3001SaaS\u548c\u4ee3\u7406\u673a\u6784\u7528\u6237\u201c\u89c6\u9891\u505a\u5f97\u597d\u4f46\u5206\u53d1\u96be\u201d\u7684\u75db\u70b9\uff0c\u8ba9\u7528\u6237\u65e0\u9700\u5207\u6362\u5e94\u7528\u5373\u53ef\u5b8c\u6210\u4ece\u521b\u610f\u5230\u53d1\u5e03\u7684\u5b8c\u6574\u95ed\u73af\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\/059bb0c3-68d0-490c-8795-27939ebfe4a9.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=pHvEtlIPCuE&#038;feature=youtu.be\"><source src=\"https:\/\/www.youtube.com\/watch?v=pHvEtlIPCuE&#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\/5d454ac4-f89b-4cea-a52a-b7dda0b4534a.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\/70b96237-78f0-4afa-80f8-764e005bc476.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\/7bd54e74-d21c-4782-bde1-892b77fddba0.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\">Social Media<\/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\">\u793e\u4ea4\u5a92\u4f53\u6392\u671f<\/span><br \/>\n            <span class=\"tag\">\u591a\u5e73\u53f0\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">UGC\u5e7f\u544a<\/span><br \/>\n            <span class=\"tag\">\u7535\u5546\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u5206\u53d1<\/span><br \/>\n            <span class=\"tag\">\u6279\u91cf\u8c03\u5ea6<\/span><br \/>\n            <span class=\"tag\">\u5e73\u53f0API\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u8868\u73b0\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237Paul\u5173\u6ce8\u5b98\u65b9API\u7684\u5408\u89c4\u6027\uff0c\u8be2\u95ee15\u4e2a\u5e73\u53f0\u4e2d\u54ea\u4e9b\u9700\u8981\u4f01\u4e1a\u8d26\u6237\u6216\u5408\u4f5c\u5ba1\u6279\uff0c\u5e76\u62c5\u5fe7\u4ee4\u724c\u8fc7\u671f\u5bfc\u81f4\u53d1\u5e03\u5931\u8d25\u65f6\u7684\u901a\u77e5\u673a\u5236\u3002\u53e6\u6709\u7528\u6237\u8be2\u95ee\u80fd\u5426\u514b\u9686\u4e2a\u4eba\u5f62\u8c61\u548c\u58f0\u97f3\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                VIDEO AI ME\u5207\u4e2d\u7684\u4e0d\u662f\u201c\u89c6\u9891\u751f\u6210\u201d\u8fd9\u4e2a\u7ea2\u6d77\uff0c\u800c\u662f\u201c\u751f\u6210\u540e\u5206\u53d1\u201d\u8fd9\u4e2a\u66f4\u9690\u853d\u7684\u6548\u7387\u9ed1\u6d1e\u3002\u5b83\u806a\u660e\u5730\u628aAI\u80fd\u529b\u7ed1\u5b9a\u5728\u5206\u53d1\u95ed\u73af\u4e0a\uff0c\u7528\u201c\u751f\u6210-\u53d1\u5e03-\u590d\u76d8-\u518d\u751f\u6210\u201d\u7684\u5faa\u73af\u63d0\u9ad8\u7528\u6237\u7c98\u6027\uff0c\u800c\u975e\u5355\u7eaf\u5356\u4e00\u4e2a\u89c6\u9891\u5de5\u5177\u3002\u8fd9\u79cd\u5b9a\u4f4d\u5bf9\u9ad8\u9891\u53d1\u5e03\u9700\u6c42\u7684\u7535\u5546\u548c\u4ee3\u7406\u673a\u6784\u786e\u5b9e\u7cbe\u51c6\uff0c\u4e14\u5b98\u65b9API\u7684\u5408\u89c4\u8def\u5f84\u662f\u6b63\u786e\u65b9\u5411\uff0c\u6bd4\u90a3\u4e9b\u7528\u975e\u5b98\u65b9\u63a5\u53e3\u7684\u8c03\u5ea6\u5668\u66f4\u7a33\u59a5\u3002\u4f46\u98ce\u9669\u4e5f\u5f88\u660e\u663e\uff1a\u7b2c\u4e00\uff0c\u5b98\u65b9API\u7684\u6743\u9650\u9650\u5236\uff08\u5982LinkedIn\u4e2a\u4eba\u4e3b\u9875\u3001TikTok\u5ba1\u6838\uff09\u4f1a\u76f4\u63a5\u524a\u5f31\u201c\u5168\u81ea\u52a8\u201d\u7684\u627f\u8bfa\uff0c\u800c\u7528\u6237\u7684\u63d0\u95ee\u6070\u6070\u66b4\u9732\u4e86\u8fd9\u70b9\u2014\u2014\u5982\u679c\u53d1\u5e16\u5931\u8d25\u8981\u9760\u624b\u52a8\u6392\u67e5token\uff0c\u90a3\u201c\u4e00\u7ad9\u5f0f\u201d\u7684\u4f53\u9a8c\u5c31\u4f1a\u6253\u6298\u3002\u7b2c\u4e8c\uff0c\u5b83\u672c\u8d28\u4e0a\u4ecd\u662f\u201cAI\u751f\u6210+\u6392\u671f\u8868\u201d\u7684\u7f1d\u5408\uff0c\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u540e\u7eed\u662f\u5426\u80fd\u81ea\u52a8\u5316\u5e7f\u544a\u5e73\u53f0\u6295\u653e\uff08\u5982Meta\u3001Google\uff09\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u88abCanva\u3001HeyGen\u7b49\u5de8\u5934\u5728\u6df1\u5ea6\u96c6\u6210\u540e\u53cd\u8d85\u3002\u5bf9\u72ec\u7acb\u5f00\u53d1\u8005\u800c\u8a00\uff0c\u8fd9\u4ea7\u54c1\u8bc1\u660e\u4e86\u201c\u7ec6\u5206\u573a\u666f\u7684\u6d41\u7a0b\u91cd\u7ec4\u201d\u6bd4\u201c\u5806\u780cAI\u529f\u80fd\u201d\u66f4\u6709\u5546\u4e1a\u4ef7\u503c\uff0c\u4f46\u8981\u60f3\u957f\u671f\u7acb\u8db3\uff0c\u5fc5\u987b\u628a\u53d1\u5e03\u7a33\u5b9a\u6027\u505a\u5230\u6781\u81f4\uff0c\u5e76\u5c3d\u5feb\u5151\u73b0\u5e7f\u544a\u5e73\u53f0\u81ea\u52a8\u5316\u7684\u8def\u7ebf\u56fe\uff0c\u5426\u5219\u5c31\u53ea\u662f\u53c8\u4e00\u4e2a\u88ab\u6536\u8d2d\u7684\u201c\u63d0\u6548\u63d2\u4ef6\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\">VIDEO AI ME<\/span>\n                <\/div>\n<div class=\"comment-content\">Most schedulers make you create your videos somewhere else, then download and re-upload them. VIDEO AI ME now does both: generate UGC ads and product videos with AI, then publish or schedule them to 15 platforms (TikTok, Instagram, YouTube, X, LinkedIn and 10 more) without leaving the tool. AI writes captions per platform from your actual script. Bulk schedule 25 videos in one sitting. See which video wins on each platform, then repost it or generate a new version with AI in one click.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m Paul, and I run VIDEO AI ME, an AI video generator for ecommerce brands, SAAS and agencies.<\/p>\n<p>I kept seeing the same pattern in our data: Users generate really good videos AI (native or ads)&#8230; they post daily for one motivated week, then it all stops. The videos were never the problem. Distribution was.<\/p>\n<p>So instead of telling users to go buy a scheduler, I built the whole thing inside the tool:<\/p>\n<p>&#8211; Connect 15 platforms once (TikTok, Instagram, YouTube, X, LinkedIn and 10 more, all official APIs)<br \/>&#8211; AI writes the caption per platform, from the actual script of your video, hashtags for TikTok, professional tone for LinkedIn<br \/>&#8211; Bulk schedule 30+ videos in one sitting, spread automatically at your best posting times (based on your location, topic, business industry)<br \/>&#8211; Performance tab shows which video wins on each platform. Repost the winner in one click, or generate a new version of it with AI!<\/p>\n<p>The whole loop lives in one place: create, publish, measure, double down.<\/p>\n<p>whatch the 2-minute video where I schedule a month of content in real time \ud83d\ude42<\/p>\n<p>I&#8217;ll be here all day, happy to answer anything!<\/p>\n<p>Ps: Next step, automate this but for ADS platform (Meta, Tiktok, Google&#8230;) \ud83d\ude09<\/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\/@grsl_fr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grsl_fr<\/a>&nbsp;Hi Paul, congratulations on the launch!  Distribution is the part I am interested in. Using official APIs is the honest approach, and it is also where the limits sit: LinkedIn personal profiles, Instagram business accounts, TikTok posting approval. Which of the 15 platforms need a business account or partner approval before they will accept a post? And if a scheduled post fails because a token expired, how does the user find out?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can I clone my appearance and my voice?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/A7P4WVTQVF6XBR\" class=\"app-title\">GrowthBook 5.0<\/a><\/p>\n<div class=\"one-liner\">Build, ship, and improve at scale<\/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>GrowthBook 5.0\u5c06\u529f\u80fd\u5f00\u5173\u3001\u5b9e\u9a8c\u7ba1\u7406\u4e0e\u4ea7\u54c1\u5206\u6790\u6574\u5408\u4e3a\u4e00\u4e2aAI\u539f\u751f\u3001\u4ed3\u5e93\u539f\u751f\u7684\u5e73\u53f0\uff0c\u901a\u8fc7AI\u53ef\u89c6\u5316\u7f16\u8f91\u5668\u548c\u65e0\u4ee3\u7801\u5b9e\u9a8c\uff0c\u89e3\u51b3\u4f01\u4e1a\u5728\u89c4\u6a21\u5316\u8fed\u4ee3\u4e2d\u201c\u5b9e\u9a8c\u95e8\u69db\u9ad8\u3001\u5206\u6790\u89e3\u8bfb\u96be\u3001\u8de8\u56e2\u961f\u534f\u4f5c\u4f4e\u6548\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\/31eaed1c-c3b2-4b50-8f3f-94d326695fba.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f1167b51-d779-4eb1-ab12-3fa41c55a16f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3bfc919f-926a-40e3-8c21-13459aa69c0d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6a1fc50f-7243-4bca-ac22-a50fcfc2c87d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5cfa059d-e307-4a08-ae2f-0cc106342b39.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\/c276c0b2-d772-4010-8413-e3343513b915.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=N3PTmgzE23c&#038;t=11s\"><source src=\"https:\/\/www.youtube.com\/watch?v=N3PTmgzE23c&#038;t=11s\" 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\">A\/B Testing<\/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\">\u529f\u80fd\u5f00\u5173<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u9a8c\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">AI\u539f\u751f<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u4ed3\u5e93<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5b9e\u9a8c<\/span><br \/>\n            <span class=\"tag\">A\/B\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u6cbb\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\u8ba4\u53ef\u5de5\u5177\u5728\u529f\u80fd\u5f00\u5173\u4e0a\u7684\u6613\u7528\u6027\uff0c\u4f46\u6838\u5fc3\u8d28\u7591\u96c6\u4e2d\u4e8e\u201c\u975e\u6280\u672f\u89d2\u8272\uff08\u5982PM\uff09\u5982\u4f55\u4fe1\u4efb\u5b9e\u9a8c\u7ed3\u679c\u201d\u3002\u8bc4\u8bba\u6307\u51fa\u65e7\u7248\u5b9e\u9a8c\u7ed3\u679c\u89e3\u8bfb\u56f0\u96be\uff0c\u5bfc\u81f4\u51b3\u7b56\u4ecd\u51ed\u76f4\u89c9\uff0c\u8be2\u95ee5.0\u5728\u53ef\u89e3\u91ca\u6027\u548c\u9762\u5411\u975e\u6280\u672f\u4eba\u5458\u7684\u5c55\u793a\u4e0a\u6709\u4f55\u5177\u4f53\u6539\u8fdb\uff1b\u53e6\u6709\u7528\u6237\u53d1\u8d77\u6df1\u5ea6\u8ba8\u8bba\u9080\u7ea6\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                GrowthBook 5.0\u7684\u91ce\u5fc3\u6e05\u6670\uff1a\u628a\u201c\u529f\u80fd\u53d1\u5e03\u201d\u548c\u201c\u5b9e\u9a8c\u9a8c\u8bc1\u201d\u7684\u95ed\u73af\u4ece\u5de5\u7a0b\u5e08\u624b\u4e2d\u593a\u56de\uff0c\u4ea4\u7ed9\u66f4\u5e7f\u6cdb\u7684\u4e1a\u52a1\u89d2\u8272\uff0c\u5e76\u7528AI\u62b9\u5e73\u64cd\u4f5c\u95e8\u69db\u3002\u8fd9\u5207\u4e2d\u4e86Feature Factory\uff08\u529f\u80fd\u5de5\u5382\uff09\u5411Experiment-Driven\uff08\u5b9e\u9a8c\u9a71\u52a8\uff09\u8f6c\u578b\u4e2d\u7684\u771f\u5b9e\u65ad\u88c2\u5e26\u2014\u2014\u4e0d\u662f\u6ca1\u6709\u5de5\u5177\uff0c\u800c\u662f\u5de5\u5177\u94fe\u5272\u88c2\uff08Flag\u7cfb\u7edf\u3001\u5206\u6790\u7cfb\u7edf\u3001\u53ef\u89c6\u5316\u5de5\u5177\u5404\u81ea\u4e3a\u653f\uff09\uff0c\u5bfc\u81f4\u5b9e\u9a8c\u6570\u636e\u51fa\u6765\u6ca1\u4eba\u6562\u62cd\u677f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8bc4\u8bba\u533a\u7684\u5173\u952e\u8d28\u7591\u6781\u6709\u4ef7\u503c\uff1aAI\u964d\u4f4e\u201c\u521b\u5efa\u5b9e\u9a8c\u201d\u7684\u6469\u64e6\uff0c\u4f46\u5e76\u672a\u81ea\u52a8\u89e3\u51b3\u201c\u89e3\u8bfb\u5b9e\u9a8c\u201d\u7684\u53ef\u4fe1\u5ea6\u95ee\u9898\u3002\u5982\u679c5.0\u53ea\u662f\u628a\u8868\u5355\u4ece30\u4e2a\u5b57\u6bb5\u538b\u523010\u4e2a\uff0c\u5374\u4ecd\u8ba9PM\u9762\u5bf9\u7740\u8d1d\u53f6\u65af\u7f6e\u4fe1\u533a\u95f4\u548cp-value\u7684\u51b7\u51b0\u51b0\u6570\u5b57\uff0c\u90a3\u4e48\u201c\u8ba9PM\u4fe1\u4efb\u7ed3\u679c\u201d\u7684\u6838\u5fc3\u75db\u70b9\u4ecd\u7136\u60ac\u800c\u672a\u51b3\u3002AI Assistant\u82e5\u4ec5\u505c\u7559\u5728\u201c\u7528\u81ea\u7136\u8bed\u8a00\u67e5\u8be2\u6307\u6807\u201d\uff0c\u800c\u975e\u63d0\u4f9b\u201c\u9762\u5411\u51b3\u7b56\u7684\u81ea\u52a8\u5316\u89e3\u8bfb\uff08\u5982\u5f02\u5e38\u503c\u5f52\u56e0\u3001\u6837\u672c\u5747\u8861\u6027\u63d0\u9192\u3001\u4e1a\u52a1\u8bed\u5883\u5efa\u8bae\uff09\u201d\uff0c\u90a3\u5b83\u53ea\u662f\u66f4\u9ad8\u7ea7\u7684SQL\u5305\u88c5\u5668\uff0c\u800c\u975e\u5b9e\u9a8c\u6d1e\u5bdf\u5f15\u64ce\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u503c\u5f97\u8b66\u60d5\u7684\u6697\u70b9\u662f\u201cAI Agent\u521b\u5efaFlags\u548c\u5b9e\u9a8c\u201d\u7684\u6cbb\u7406\u98ce\u9669\u3002\u867d\u7136\u63d0\u5230\u201c\u66f4\u5f3a\u6cbb\u7406\u201d\uff0c\u4f4625\u4e2a\u5f00\u6e90Skills\u4e00\u65e6\u88abAgent\u8bef\u7528\u6216\u6ee5\u7528\uff0c\u56de\u6eda\u548c\u5ba1\u8ba1\u7684\u6210\u672c\u4f1a\u53cd\u566c\u7075\u6d3b\u6027\u3002\u5f00\u6e90\u662f\u628a\u53cc\u5203\u5251\uff0c\u5b83\u5438\u5f15\u5f00\u53d1\u8005\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u6cbb\u7406\u8d23\u4efb\u5b8c\u5168\u843d\u5728\u4f01\u4e1a\u81ea\u8eab\u3002GrowthBook 5.0\u7684\u4ef7\u503c\u4e0d\u5728\u201c\u96c6\u6210\u5ea6\u201d\uff0c\u800c\u5728\u201c\u662f\u5426\u771f\u6b63\u8ba9\u975e\u6280\u672f\u51b3\u7b56\u8005\u6562\u4e8e\u4f9d\u8d56\u5b9e\u9a8c\u6570\u636e\u201d\u3002\u82e5\u4e0d\u80fd\u505a\u5230\u8fd9\u4e00\u70b9\uff0c\u5b83\u4f9d\u7136\u53ea\u662f\u7ed9\u589e\u957f\u56e2\u961f\u505a\u5f97\u66f4\u597d\u7528\u7684\u745e\u58eb\u519b\u5200\uff0c\u800c\u975e\u6253\u901a\u7ec4\u7ec7\u51b3\u7b56\u7684\u67a2\u7ebd\u3002\u76ee\u524d\u770b\uff0c\u65b9\u5411\u5bf9\uff0c\u4f46\u89e3\u6cd5\u4ecd\u504f\u5de5\u5177\u5c42\u9762\uff0c\u5c1a\u672a\u89e6\u53ca\u7ec4\u7ec7\u5fc3\u667a\u7684\u6df1\u6c34\u533a\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\">GrowthBook 5.0<\/span>\n                <\/div>\n<div class=\"comment-content\">GrowthBook 5.0 brings feature flags, experimentation, and product analytics into one AI-native, warehouse-native platform. Build no-code experiments in the browser with the new AI Visual Editor, let agents create flags and draft experiments with 25 open-source Skills, explore product data through the in-app AI Assistant, and ship safely with stronger governance. Faster queries and a streamlined experiment workflow help every team move from idea to insight with less friction.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt!<\/p>\n<p>We\u2019ve spent the past year rebuilding and expanding nearly every part of GrowthBook, and 5.0 brings all of that work together.<\/p>\n<p>AI has made it much easier to build and ship software. We wanted to make it just as easy to test ideas, learn what works, and roll changes out safely without losing the rigor and control experimentation teams depend on.<\/p>\n<p>GrowthBook 5.0 includes a new AI-first Visual Editor for building no-code experiments directly in the browser, 25 open-source Skills that let agents work with feature flags and experiments, an in-app AI Assistant, and Product Analytics, now generally available. We also added stronger feature flag governance, faster queries, and a much simpler experiment workflow with about 20 fewer form fields.<\/p>\n<p>The goal is to give humans and agents one consistent place to move from an idea to an experiment to an insight, with fewer handoffs and less busywork.<\/p>\n<p>We\u2019d love to hear what you think, what you want to try first, and what you\u2019d like us to build next. Check out our Office Hours Video to see our Founders and Engineers who worked on the 5.0 release go into their favorite features: <a href=\"https:\/\/www.growthbook.io\/events\/growthbook-5-office-hours?utm_source=product-hunt&amp;utm_medium=social&amp;utm_campaign=event-5-office-hours\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.growthbook.io\/events&#8230;<\/a><\/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\/@alyssanicoll\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alyssanicoll<\/a>&nbsp;We hit the classic problem where the experimentation tool was solid but nobody outside the growth team could read the results, so calls still happened on vibes. What did 5.0 change on the interpretation side for non-technical stakeholders? Flags are easy, getting a PM to trust the readout is the real work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@alyssanicoll are you in for short discussion<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KKH5WDVKOVKGDG\" class=\"app-title\">Glasp MCP Connector<\/a><\/p>\n<div class=\"one-liner\">Search your highlights and notes inside Claude and ChatGPT<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">103<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Glasp MCP Connector \u8ba9\u4f60\u5728Claude\u6216ChatGPT\u5bf9\u8bdd\u4e2d\uff0c\u76f4\u63a5\u7528\u81ea\u7136\u8bed\u8a00\u641c\u7d22\u81ea\u5df1\u6c89\u6dc0\u5728Glasp\u91cc\u7684\u7f51\u9875\u9ad8\u4eae\u4e0e\u7b14\u8bb0\uff0c\u65e0\u9700\u5207\u6362\u5de5\u5177\uff0c\u89e3\u51b3\u201c\u5b58\u4e86\u6c38\u4e0d\u56de\u770b\u201d\u7684\u77e5\u8bc6\u68c0\u7d22\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\/f2dde50a-9e8e-48ad-a984-411862138e32.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7d95d5f9-bb80-4ca2-93ef-af17eb3f638c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5688258d-d682-4a93-ae5c-053f959fc822.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5043b95a-6330-4e7f-9bb4-48bd450fe87b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/27e36ee2-7d3a-4727-8ce3-e07540b0c8b4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9494008c-b67f-469d-8fe3-4c7b097058e8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ec5f347-f023-412e-9464-f41a64bc7cb7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">MCP\u8fde\u63a5\u5668<\/span><br \/>\n            <span class=\"tag\">AI\u77e5\u8bc6\u5e93\u68c0\u7d22<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7edc\u9ad8\u4eae\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u7b14\u8bb0\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">Claude\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">ChatGPT\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u8bfb\u5199\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u8bb0\u5fc6\u589e\u5f3a<\/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\u6700\u8ba4\u53ef\u5176\u53ea\u8bfb\u6743\u9650\u8bbe\u8ba1\uff0c\u8ba4\u4e3a\u6bd4\u201c\u53ef\u5199\u6743\u9650\u201d\u7684\u540c\u7c7b\u8fde\u63a5\u5668\u66f4\u5b89\u5168\uff1b\u4e5f\u6709\u7528\u6237\u6307\u51fa\u9ad8\u4eae\u68c0\u7d22\u82e5\u7f3a\u5931\u4e0a\u4e0b\u6587\u6bb5\u843d\uff0c\u4ef7\u503c\u4f1a\u6253\u6298\u6263\uff0c\u5efa\u8bae\u8fd4\u56de\u9ad8\u4eae\u5468\u8fb9\u5185\u5bb9\uff1b\u53e6\u6709\u4eba\u8be2\u95ee\u8be6\u7ec6\u6559\u7a0b\uff0c\u5b98\u65b9\u5df2\u9644\u94fe\u63a5\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                Glasp MCP Connector\u672c\u8d28\u4e0a\u4e0d\u662f\u201c\u8fde\u63a5\u5668\u201d\uff0c\u800c\u662f\u4e00\u4e2a**\u8fdf\u5230\u7684\u8bb0\u5fc6\u8d4e\u7f6a\u5238**\u3002\u5b83\u627f\u8ba4\u4e86\u6240\u6709\u9ad8\u4eae\u5de5\u5177\u7684\u81f4\u547d\u4f24\u2014\u2014\u6536\u85cf\u5373\u9057\u5fd8\u3002\u628a\u68c0\u7d22\u5165\u53e3\u585e\u8fdb\u7528\u6237\u672c\u5c31\u5728\u63d0\u95ee\u7684\u5bf9\u8bdd\u6846\uff0c\u7528\u5927\u6a21\u578b\u541e\u6389\u201c\u5148\u60f3\u8d77\u5b58\u8fc7\u4ec0\u4e48\u201d\u7684\u524d\u7f6e\u6210\u672c\uff0c\u8fd9\u662f\u5bf9\u7684\uff0c\u4e5f\u5f88\u8ba8\u5de7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u522b\u88ab\u201c\u53ea\u8bfb\u4e14\u79c1\u5bc6\u201d\u7684\u8425\u9500\u8bdd\u672f\u5e26\u504f\u3002\u53ea\u8bfb\u4e0d\u662f\u7f8e\u5fb7\uff0c\u662f\u6280\u672f\u59a5\u534f\u540e\u7684\u5b89\u5168\u515c\u5e95\uff0c\u5b83\u907f\u514d\u4e86MCP\u670d\u52a1\u5668\u53cd\u5411\u6c61\u67d3\u672c\u5730\u6216\u4e91\u7aef\u6570\u636e\u7684\u98ce\u9669\uff0c\u4f46\u540c\u65f6\u4e5f\u610f\u5473\u7740\u5b83\u53ea\u80fd\u505a\u201c\u68c0\u7d22\u201d\u8fd9\u4ef6\u5c0f\u4e8b\uff0c\u65e0\u6cd5\u6839\u636e\u5bf9\u8bdd\u4e0a\u4e0b\u6587\u5e2e\u7528\u6237\u6574\u7406\u3001\u5408\u5e76\u6216\u91cd\u5199\u7b14\u8bb0\u3002\u8fd9\u51b3\u5b9a\u4e86\u5b83\u7684\u5929\u82b1\u677f\u662f\u201c\u9ad8\u7ea7\u641c\u7d22\u6846\u201d\uff0c\u800c\u975e\u201c\u4e2a\u4eba\u77e5\u8bc6\u4e2d\u67a2\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u503c\u5f97\u5ba1\u89c6\u7684\u662f**\u4e0a\u4e0b\u6587\u7f3a\u5931\u95ee\u9898**\u3002\u8bc4\u8bba\u91cc\u90a3\u4f4d\u7528\u6237\u4e00\u9488\u89c1\u8840\u2014\u2014\u9ad8\u4eae\u6c38\u8fdc\u662f\u88ab\u9009\u4e2d\u7684\u53e5\u5b50\uff0c\u800c\u5f53\u65f6\u6ca1\u9009\u4e2d\u7684\u6bb5\u843d\u5f80\u5f80\u624d\u662f\u8bed\u5883\u7684\u4e3b\u89d2\u3002\u5982\u679cGlasp MCP Connector\u53ea\u8fd4\u56de\u5b64\u96f6\u96f6\u7684\u91d1\u53e5\uff0c\u90a3\u7528\u6237\u5f97\u5230\u7684\u662f\u4e00\u5806\u5931\u53bb\u8840\u8089\u7684\u9aa8\u67b6\u3002AI\u52a9\u624b\u5f15\u7528\u7684\u6587\u672c\u8d8a\u7cbe\u51c6\uff0c\u8d8a\u5bb9\u6613\u8131\u79bb\u539f\u610f\uff0c\u8fd9\u5728\u77e5\u8bc6\u5de5\u4f5c\u573a\u666f\u4e2d\u662f\u65e0\u5f62\u7684\u6bd2\u836f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u6f14\u8fdb\u8def\u5f84\u770b\uff0c\u56e2\u961f\u663e\u7136\u77e5\u9053\u77ed\u677f\u5728\u4f55\u5904\uff08\u540e\u7eed\u5c06\u52a0\u6765\u6e90\u3001\u65e5\u671f\u3001\u6807\u7b7e\u8fc7\u6ee4\uff0c\u652f\u6301\u66f4\u591a\u5ba2\u6237\u7aef\uff09\uff0c\u4f46\u8fd9\u53ea\u662f\u4fee\u7ba1\u9053\uff0c\u4e0d\u662f\u6362\u6c34\u6e90\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e94\u8be5\u662f\u201cAI Clone\u201d\u4e0e\u201c\u5b66\u4e60\u8bb0\u5fc6\u201d\u7684\u6df1\u5ea6\u878d\u5408\uff0c\u8ba9MCP\u8fde\u63a5\u5668\u4e0d\u662f\u88ab\u52a8\u67e5\u5e93\uff0c\u800c\u662f\u4e3b\u52a8\u63d0\u51fa\u201c\u4f60\u53bb\u5e74\u8bfb\u5230\u7684XX\u53ef\u80fd\u5bf9\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u6709\u5e2e\u52a9\u201d\u3002\u5426\u5219\uff0c\u8fd9\u4e2a103\u7968\u7684\u542f\u52a8\u9879\u76ee\uff0c\u5f88\u5feb\u5c31\u4f1a\u53d8\u6210\u53c8\u4e00\u4e2a\u88ab\u6536\u85cf\u7684\u201c\u672a\u6765\u53ef\u671f\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\">Glasp MCP Connector<\/span>\n                <\/div>\n<div class=\"comment-content\">Connect Glasp to Claude and ChatGPT as an MCP server. Search your highlights and memories in natural language, right inside your AI assistant. Read-only and private to you.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\ud83d\udccc Hi Product Hunt \ud83d\udc4b<\/p>\n<p>Glasp cofounder here!<\/p>\n<p>\ud83d\ude80 Today, we&#8217;re launching the MCP Connector for Glasp \ud83d\ude4c<\/p>\n<p>\ud83d\udd0c What is the MCP Connector?<br \/>\nIt connects your Glasp account to Claude, ChatGPT, Claude Code, and any MCP-compatible AI tool. Ask &#8220;what did I save about deep work?&#8221; and get your own highlighted passages back, with their sources, right inside the chat you already use. It&#8217;s read-only and private to you. It can read your own highlights and memories, and nothing else.<\/p>\n<p>\ud83d\udd70\ufe0f Story behind Glasp<br \/>\n10 years ago, Kazuki, the co-founder of Glasp, was diagnosed with a subdural hematoma that suddenly paralyzed the left side of his body, and his doctor told him that he could go into cardiopulmonary arrest at any moment. He managed to survive through emergency surgery, but when he was confronted with the reality that he might disappear from this world, he remembers feeling an inexpressible sense of fear and frustration welling up from the bottom of his body.<\/p>\n<p>At the same time, he was struck by the desire to prove that he existed in this world and that his life had meaning, and the urge to leave something useful behind for the world while he was still alive to feel a sense of contribution to humanity.<\/p>\n<p>\ud83d\udcdaWhat is Glasp?<br \/>\nGlasp is a social web highlighter that people can use to highlight and organize quotes and thoughts from the web without switching back and forth between screens and accessing other like-minded people&#8217;s learning simultaneously.<\/p>\n<p>Our mission is to democratize access to other people&#8217;s learning and experiences that they have collected throughout their lives as a utilitarian legacy. As Glasp stands for &#8220;Greatest Legacy Accumulated as Shared Proof&#8221;, we want to visualize your contribution to human knowledge history.<\/p>\n<p>Besides the MCP Connector:<\/p>\n<p>\u2705 Talk with your AI Clone built from your highlights and notes \ud83e\udde0<br \/>\n\u2705 Sync all your highlights and notes from Kindle eBooks: \ud83d\udcda<br \/>\n\u2705 Get daily highlight reviews for free!<br \/>\n\u2705 Highlight text &amp; image on the web: \ud83d\udd34 \ud83d\udfe1 \ud83d\udfe2 \ud83d\udd35<br \/>\n\u2705 Highlight and summarize YouTube videos, web pages, and PDF files!<br \/>\n\u2705 Highlight &amp; annotate PDF files \u270d\ufe0f<br \/>\n\u2705 Discover more useful content from other curators: \ud83e\udd1d<\/p>\n<p>&#8230; and many more!<\/p>\n<p>We&#8217;re excited for the Product Hunt community to check it out and would love to get any feedback to improve Glasp!<\/p>\n<p>\ud83e\udded What&#8217;s Coming Up Next:<br \/>\n&#8211; More MCP tools (filters by source, date, and tags)<br \/>\n&#8211; Support for more MCP-compatible clients<br \/>\n&#8211; Improved AI Clone &amp; Learning Memory<br \/>\n&#8211; Improved UX = UI updates + bug fix<\/p>\n<p>Let&#8217;s highlight the world&#8217;s information and make it universally accessible and useful together!<\/p>\n<p>Happy learning,<br \/>\nKei<\/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>For the detailed guide, please check this tutorial:<\/p>\n<\/p>\n<p><a href=\"https:\/\/glasp.co\/posts\/how-to-use-glasp-mcp-connector\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/glasp.co\/posts\/how-to-use-glasp-mcp-connector<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thanks so much for checking out Glasp MCP Connector!<\/p>\n<p>We built this to make your own highlights and notes instantly searchable <em>inside<\/em> Claude and ChatGPT, so you don\u2019t have to leave the conversation or dig through tools to find what you\u2019ve already saved. It\u2019s read\u2011only and private to you, so your knowledge stays safe while still being super accessible.<\/p>\n<p>We\u2019d love to hear how you use it and what kind of workflows you\u2019d like to build on top of it. Your feedback will really help us shape the next iterations. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The read-only constraint is the part I would underline. Most &#8220;connect your knowledge base to an LLM&#8221; pitches this year have quietly meant write access too, and that is the version I would not install.<\/p>\n<p>The honest failure mode of every highlighter I have used, including one I built myself, is that capture is frictionless and retrieval never happens. I have 400-odd saved passages I have not once gone back to. Putting them behind a question I am already asking, in the window where I am already asking it, is the first fix I have seen that matches how the failure actually works: you do not have to remember you saved it.<\/p>\n<p>One question: does it return the surrounding context or only the highlighted span? Half of what makes an old highlight useful is the paragraph I did not select. Congrats on the launch, Kei.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/TKOWFW5POXEFTU\" class=\"app-title\">space ocr<\/a><\/p>\n<div class=\"one-liner\">OCR that checks its own answers, as an app or an API<\/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>space ocr \u5c06\u6536\u636e\u3001\u53d1\u7968\u7b49\u7167\u7247\u81ea\u52a8\u8bc6\u522b\u4e3a\u53ef\u67e5\u8be2\u7684\u8868\u683c\uff0c\u5e76\u901a\u8fc7\u201c\u81ea\u6821\u9a8c+\u6eaf\u6e90\u5b9a\u4f4d\u201d\u786e\u4fdd\u6bcf\u4e2a\u6570\u503c\u53ef\u6838\u5bf9\uff0c\u89e3\u51b3\u7528\u6237\u4e0d\u4fe1\u4efbOCR\u8f93\u51fa\u3001\u4ecd\u9700\u4eba\u5de5\u8089\u773c\u590d\u6838\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\/cd55933a-bdc3-424d-b611-6940338d20bf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d8ae43ce-546f-4509-b662-892ea9e37fab.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a98ca6ca-c2bb-4be1-9944-52c735f68e93.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/705f1ab4-8a69-4801-98c3-4ead99d451c3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/50521a5e-37b7-4b8a-8ea3-3144e936c7b8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b140f180-6450-4152-9712-bdb594b3411e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9d72cfb8-4f73-4c39-bf09-ce381b98eb07.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e28063d2-0cfa-49c9-9578-261edf772119.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/719e1ddb-de80-47d8-8dee-ed7669f3e663.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c102ec2b-6de9-4f62-860f-0a1583ce0474.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\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">OCR\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u53d1\u7968\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6821\u9a8c<\/span><br \/>\n            <span class=\"tag\">\u6eaf\u6e90\u5b9a\u4f4d<\/span><br \/>\n            <span class=\"tag\">\u8868\u683c\u5316<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5f55\u5165<\/span><br \/>\n            <span class=\"tag\">API\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u5ba1\u6838<\/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\u5173\u6ce8\u81ea\u6821\u9a8c\u7684\u53ef\u9760\u6027\uff0c\u8ffd\u95ee\u6f0f\u68c0\u7387\uff08\u53ec\u56de\u7387\uff09\u800c\u975e\u4ec5\u6709\u7cbe\u5ea6\uff0c\u8d28\u7591\u4e8c\u6b21\u8bc6\u522b\u540c\u6a21\u578b\u540c\u50cf\u7d20\u65e0\u6cd5\u53d1\u73b0\u7cfb\u7edf\u6027\u9519\u8bef\uff1b\u8be2\u95ee\u591a\u9875PDF\u5904\u7406\u903b\u8f91\u3001\u6821\u9a8c\u5206\u6b67\u65f6\u662f\u5426\u8986\u76d6\u539f\u503c\u3001\u4ee5\u53ca\u80fd\u5426\u7528\u201c\u603b\u989d\u5bf9\u8d26\u201d\u4f5c\u4e3a\u72ec\u7acb\u63a7\u5236\u4fe1\u53f7\u3002\u5f00\u53d1\u8005\u5766\u8bda\u627f\u8ba4\u53ec\u56de\u7387\u77ed\u677f\uff0c\u5e76\u627f\u8bfa\u6539\u8fdb\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                space ocr \u7684\u5dee\u5f02\u5316\u4e0d\u5728\u8bc6\u522b\u7387\uff0c\u800c\u5728\u201c\u53ef\u8bc1\u4f2a\u6027\u201d\u2014\u2014\u5b83\u628aOCR\u4ece\u4e00\u6b21\u6027\u9ed1\u7bb1\u8f93\u51fa\uff0c\u6539\u9020\u6210\u5e26\u5750\u6807\u3001\u5e26\u6821\u9a8c\u6807\u8bb0\u3001\u53ef\u9010\u683c\u8ffd\u6eaf\u7684\u7ed3\u6784\u5316\u6570\u636e\u3002\u8fd9\u7cbe\u51c6\u51fb\u4e2d\u4e86\u4f01\u4e1a\u8d22\u52a1\u3001\u7968\u636e\u5904\u7406\u4e2d\u201c\u4e0d\u6562\u5168\u81ea\u52a8\u201d\u7684\u6838\u5fc3\u75c7\u7ed3\uff1aAI\u8bfb\u9519\u4e0d\u53ef\u6015\uff0c\u53ef\u6015\u7684\u662f\u8bfb\u9519\u540e\u7cfb\u7edf\u8fd8\u4e00\u526f\u81ea\u4fe1\u6ee1\u6ee1\u7684\u6837\u5b50\u3002\u5176\u201c\u503c\u7ea7\u6eaf\u6e90+\u5b57\u7b26\u7ea7\u6bd4\u5bf9\u201d\u8bbe\u8ba1\uff0c\u672c\u8d28\u4e0a\u662f\u7528\u5de5\u7a0b\u624b\u6bb5\u5bf9\u51b2\u6a21\u578b\u5e7b\u89c9\uff0c\u903b\u8f91\u624e\u5b9e\uff0c\u4e14\u201c\u6a21\u578b\u4e0d\u4ea7\u751f\u5750\u6807\u201d\u7684\u7ec6\u8282\u8bf4\u660e\u4f5c\u8005\u771f\u6b63\u7406\u89e3OCR\u8bef\u5dee\u6765\u6e90\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u5929\u82b1\u677f\u540c\u6837\u660e\u663e\u3002\u8bc4\u8bba\u533a\u7684\u7075\u9b42\u62f7\u95ee\u2014\u2014\u6f0f\u68c0\u7387\u4ec515%\uff086\/40\uff09\uff0c\u610f\u5473\u774085%\u7684\u9519\u8bef\u503c\u4f1a\u4ee5\u201c\u5df2\u9a8c\u8bc1\u201d\u8eab\u4efd\u8499\u6df7\u8fc7\u5173\u2014\u2014\u76f4\u63a5\u6233\u7a7f\u4e86\u201c\u8df3\u8fc7\u4eba\u5de5\u590d\u6838\u201d\u8fd9\u4e00\u5b9a\u4ef7\u7684\u6839\u57fa\u3002\u590d\u6838\u6210\u672c\u4ece\u201c\u5168\u91cf\u7cbe\u8bfb\u201d\u964d\u4e3a\u201c\u62bd\u67e5+\u4fe1\u4efb\u201d\uff0c\u5e76\u672a\u5f7b\u5e95\u5f52\u96f6\u3002\u4e14\u4e8c\u6b21\u8bc6\u522b\u540c\u6a21\u578b\u540c\u50cf\u7d20\u7684\u201c\u81ea\u8bc1\u6e05\u767d\u201d\u786e\u5b9e\u5b58\u5728\u7cfb\u7edf\u6027\u76f2\u533a\uff0c\u8bc4\u8bba\u8005\u63d0\u51fa\u7684\u201c\u63a7\u5236\u603b\u989d\u5bf9\u8d26\u201d\u662f\u8fdc\u6bd4\u6a21\u578b\u4e92\u8bc1\u66f4\u53ef\u9760\u7684\u72ec\u7acb\u4fe1\u53f7\uff0c\u4f5c\u8005\u4e5f\u5766\u8bda\u5c1a\u672a\u5b9e\u73b0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5546\u4e1a\u6a21\u5f0f\u4e0a\uff0c\u514d\u8d39100\u9875\/\u6708\u7684\u7b56\u7565\u5bf9\u4e2a\u4eba\u7528\u6237\u6177\u6168\uff0c\u4f46\u76ee\u6807\u5ba2\u6237\uff08\u8d22\u52a1\u3001\u8fd0\u8425\uff09\u4e00\u65e6\u4e60\u60ef\u201c\u6821\u9a8c\u540e\u8868\u683c\u201d\uff0cAPI\u4ef7\u683c\u5c06\u6210\u4e3a\u6838\u5fc3\u8003\u91cf\u3002\u76ee\u524d\u770b\u6765\uff0cspace ocr\u66f4\u50cf\u662f\u4e00\u4e2a\u9ad8\u8d28\u91cf\u7684\u6570\u636e\u6e05\u6d17\u7ba1\u9053\uff0c\u800c\u975e\u201c\u53ef\u5b8c\u5168\u81ea\u52a8\u9a7e\u9a76\u201d\u7684\u8bc6\u522b\u5f15\u64ce\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u5c06\u201c\u63a7\u5236\u603b\u989d\u201d\u7b49\u4e1a\u52a1\u89c4\u5219\u5185\u5d4c\uff0c\u628a\u6821\u9a8c\u4ece\u201c\u5b57\u7b26\u5339\u914d\u201d\u63a8\u8fdb\u5230\u201c\u4e1a\u52a1\u903b\u8f91\u81ea\u6d3d\u201d\u2014\u2014\u90a3\u624d\u662f\u8ba9\u4f1a\u8ba1\u771f\u6b63\u6562\u653e\u624b\u7684\u5173\u952e\u4e00\u6b65\u3002\u73b0\u9636\u6bb5\uff0c\u5b83\u662f\u9ad8\u6548\u7684\u201c\u590d\u6838\u52a0\u901f\u5668\u201d\uff0c\u800c\u975e\u201c\u590d\u6838\u66ff\u4ee3\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\">space ocr<\/span>\n                <\/div>\n<div class=\"comment-content\">space ocr turns photos of receipts, invoices and forms into a table you can query. Drop them into a folder in the app or send them to the API, and each page becomes a row you can filter and sort. Every value shows where it came from. 100 free pages a month.<\/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,<\/p>\n<p>I made space ocr because I kept not trusting OCR output.<\/p>\n<p>Reading a document is the easy part now. Knowing whether the number you got back is the number actually printed on the paper is not. If you still have to open the image and check by hand, you haven&#8217;t really automated anything.<\/p>\n<p>There are two ways in, and both run the same pipeline.<\/p>\n<p>If you don&#8217;t want to write code, you upload photos into a folder and they become a sheet. Hover any cell and the photo beside it lights up on the exact spot that value was read from, zoomed in, so checking a page takes a second instead of a squint. Cells that failed the check are marked, so you know which ones to look at rather than rereading all of them. Fix a value by hand and your correction sticks. Folders, memos and search across everything you have scanned are in there too.<\/p>\n<p>If you do write code, three endpoints give you structured fields, markdown, or plain text, and all of them come back with the same verification data: where each value sits on the page, whether it passed the check, and what still needs a look.<\/p>\n<p>Either way the results stay somewhere you can use, so there is no database to stand up. A folder and a sheet are the storage. Photos land in the sheet as rows of the columns you asked for, and later you can ask that sheet for the rows over an amount, or from one vendor, newest first, a page at a time. That runs on the server, it does not read the images again, and it is not charged. The rows keep the coordinates and the flags they were stored with, so a filtered answer is as checkable as a single scan.<\/p>\n<p>If you would rather have an agent do the filing, there is a hosted MCP server on the same account. You point an MCP client at one URL with your key and it can make the folders and sheets, upload photos into them, and ask for rows later. Deleting is the one thing it cannot do in one step. The first call removes nothing and reports what would go, so it has to come back to you before anything disappears.<\/p>\n<p>The checking itself is the part I care about. The model never produces coordinates. Every value it returns is matched character by character against what the OCR engine actually saw on the page. Values that fail get flagged instead of quietly passing, and the ones it still isn&#8217;t sure about are cropped out of the image and read a second time.<\/p>\n<p>I measured this on my own regression corpus, 333 hand graded cells from phone photos rather than flat scans. Turning the checking stages off drops accuracy from 93.7% to 91.3%. They fixed 22 cells and broke none. A value marked unverified turns out to be wrong 6.4 times more often than average, so the flag is worth acting on.<\/p>\n<p>100 pages a month are free and failed scans are never billed. Same price whichever way you use it.<\/p>\n<p>What I would really like to hear: what would make you trust OCR output enough to skip the manual check? That is the part I keep getting wrong.<\/p>\n<p>Yongha<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yonghahwang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yonghahwang<\/a>&nbsp;Showing where every value came from is the only version of OCR I would trust with an invoice! When the self-check fails on a number, does it flag the row for review or just lower a confidence score?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Asad&#8217;s recall question got the most useful answer on this page, and I don&#8217;t think the 6-of-39 is a tuning problem.<\/p>\n<p>If the re-read runs the same model over the same pixels, it inherits the same failure mode. A 7 that got read as a 1 because the glyph is genuinely ambiguous will get read as a 1 again \u2014 the second pass isn&#8217;t independent, so it can only catch noise, not systematic misreads. That would explain a recall floor that prompt work won&#8217;t move.<\/p>\n<p>The cheapest independent signal on invoices isn&#8217;t another model, it&#8217;s arithmetic. Line items \u00d7 qty should reconcile to the subtotal, and subtotal + tax to the total. When the sum doesn&#8217;t close, you know at least one cell is wrong without trusting any model to tell you. I spent 19 years building banking apps and that&#8217;s what we called a control total \u2014 it isn&#8217;t clever, it just doesn&#8217;t share the OCR&#8217;s blind spot.<\/p>\n<p>Do you reconcile totals already, or is the check purely model-vs-model today?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rodrigo_baigorria\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rodrigo_baigorria<\/a>&nbsp;Model versus model is the one thing it is not, and the distinction matters enough to spend a paragraph on before I concede the rest.<\/p>\n<\/p>\n<p>The first check is not a second pass of the model. The model returns values and never coordinates, and each value is matched character by character against what an OCR engine independently detected at that spot. Two systems that do not talk to each other. The crop re-read is a second pass of the same model, and there your argument lands exactly as you wrote it: same weights, same pixels, so it confirms its own reading of an ambiguous glyph and I learn nothing.<\/p>\n<\/p>\n<p>The floor is real in the first stage too, for the reason sitting next to yours. Both readers look at the same pixels. A 7 genuinely shaped like a 1 gets read as a 1 by both, they agree, and agreement is what I report as verified. That is the class I told Asad the check cannot see, and prompt work does not move it, because it was never a prompt problem.<\/p>\n<\/p>\n<p>To your question: no reconciliation today. The check is entirely per value. Nothing compares values against each other, and I do not produce derived quantities at all, since fields are asked for as printed rather than as calculated.<\/p>\n<\/p>\n<p>A control total is the right shape and I have no good reason for its absence beyond not having built it. The pieces are sitting there. Line items come back as an array with quantity and amount as their own boxed cells and the total is its own field, so the sum closes or it does not, and that answer needs no model to be trusted. Right now that arithmetic is yours to run on the rows I hand back. It should be mine.<\/p>\n<\/p>\n<p>Nineteen years of banking apps is why you saw it and I did not. I built this against receipts, where there is a total and nothing to reconcile it with.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/@yonghahwang\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yonghahwang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yonghahwang<\/a> The page as a row model is clean for receipts, but a lot of invoices run three or four pages, with line items continuing past the break and the total only on the last page. Does a multi page PDF land as separate rows I&#8217;d have to stitch back together, or can the document be the unit with pages underneath it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@clement_avq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@clement_avq<\/a>&nbsp; In a sheet, each row is one page, and each row can carry an array field whose sub fields you define as the table\u2019s columns. That is where the line items live: the twelve lines printed on a page nest inside that page\u2019s single row, each one with its own box, and every cell inside them boxed too. The table does not get flattened into one string.<\/p>\n<\/p>\n<p>The page break is where it gets thinner. The array is scoped to the page, so page two\u2019s items are their own array on page two\u2019s row, and joining them is concatenating in row order rather than reconstructing anything. The total does what you expect, sitting on the last row and empty on the ones before it. A line that is itself split across the break is the case concatenating does not fix.<\/p>\n<\/p>\n<p>The unit ends up being a schema choice, and it changes what a row is. Point the sheet\u2019s columns at the line item\u2019s own columns and the rows become the items, stacking down the sheet. Keep the page as the row instead and one sheet holds many invoices, the pages in order, with the items in one array field and vendor, date, invoice number and total as their own columns. Grouping is then just the invoice number, which is on every page anyway.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 333 cell corpus and the 3 in 4 flag precision are unusually honest for a launch page. The number I&#8217;d want next is the other direction, of the cells that were actually wrong, how many did the check miss. Precision tells me the flags are worth reading, recall tells me whether I can skip the unflagged rows, and skipping is the whole product. If recall is weak then a self check is worse than no check, because it&#8217;s the thing that stops people looking.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asadmalik901\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asadmalik901<\/a>&nbsp;recall is the right ask, and it&#8217;s the one number a launch page will never volunteer since it means admitting the check missed something on their own graded set. worth noting it&#8217;s also the harder one to trust even when published, because it depends entirely on how representative those 333 cells are of what actually gets thrown at it in the wild. a corpus built from clean test receipts will always look better than the crumpled gas station one from someone&#8217;s pocket. I&#8217;d want recall broken out by document condition, not just one blended number, before I trusted the unflagged rows on anything I hadn&#8217;t personally spot checked yet.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asadmalik901\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asadmalik901<\/a>&nbsp;Recall is the worse number. 39 of the 333 cells were problems, meaning the value disagreed with the hand transcription or the coordinate did not spell its own value. text_verified: false landed on 8 cells, 6 of them real, so it caught 6 of the 39. needs_review is wider and gets 10 of the 25 coordinate errors. There is no combined figure across all 39, so those are the pieces.<\/p>\n<p>The check compares a value against what the OCR pass read at that spot, so it only sees the two disagreeing. Wrong column, value never returned, both readings wrong the same way. None of that shows up. There is a fourth I did not expect. Most of the silently wrong cells were anchored to the wrong occurrence of a string that is printed on the page, and re-reading the crop passes those, since it checks what was read and not where.<\/p>\n<p>Half agree on the last sentence. Sold as permission to stop looking it would be worse than nothing, and I try not to sell it that way. It sits under schema validation and business rules, not instead of them. The ablation also shows the reading improving before flags come into it, 22 cells corrected and 0 broken, scored cell by cell. So the claim is smaller than skipping the manual check. It cuts down what you look at.<\/p>\n<p>Recall is the next thing to move and the harder half, since what it misses is where both readings agree. Method and per stage tables at <a href=\"http:\/\/space-ocr.com\/articles\/measuring-ocr-verification\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">space-ocr.com\/articles\/measuring-ocr-verification<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the provenance-per-value thing is the part I&#8217;d actually pay for. most OCR tools give you a confident-looking number and no way to tell if it read the receipt correctly or just guessed something plausible from a smudge. what happens when the self-check disagrees with the first pass &#8211; does it flag the cell as low-confidence for a human to glance at, or silently pick whichever answer scored higher internally? for invoices specifically the failure mode that costs money is a confident wrong number, not a missing one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;It never overwrites. The value the model returned is the value you get, and the re-read only decides what gets said about it. If the crop confirms it, text_verified goes to true. If it disagrees, the cell keeps its original value and carries crop_mismatch as a review reason. If the crop comes back empty it abstains and writes nothing, since an empty read on a single glyph is usually a lack of context rather than evidence of anything. There is no internal score picking a winner behind your back.<\/p>\n<p>So a disagreement always surfaces. review_summary at the top of the response lists the flagged paths, and in the app those cells are coloured and open next to the region of the photo they were read from, which is the part that makes glancing at one cheap.<\/p>\n<p>Agreed on the failure mode, and it is the one this is built around. Worth knowing the edge: the re-read checks what was read, not where it was read. A value that is correct but anchored to the wrong occurrence of the same string on the page passes it. For an invoice total that is usually harmless, but I would rather you hear it from me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/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\/REGNZIMEQSTKTK\" class=\"app-title\">SpeakoFlow<\/a><\/p>\n<div class=\"one-liner\">Open-source local voice assistant for your desktop<\/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>SpeakoFlow \u662f\u4e00\u6b3e\u5f00\u6e90\u684c\u9762\u8bed\u97f3\u52a9\u624b\uff0c\u8ba9\u4f60\u7528\u8bed\u97f3\u64cd\u63a7\u6574\u4e2a\u7535\u8111\u2014\u2014\u5728\u4efb\u4f55\u5e94\u7528\u91cc\u76f4\u63a5\u8bed\u97f3\u8f93\u5165\u3001\u901a\u8fc7\u201cHey Flow\u201d\u5524\u9192\u8bcd\u57fa\u4e8e\u5c4f\u5e55\u5185\u5bb9\u81ea\u52a8\u751f\u6210\u56de\u590d\uff0c\u5e76\u652f\u6301\u79bb\u7ebf\u8bed\u97f3\u8bc6\u522b\uff0c\u89e3\u51b3\u9891\u7e41\u5207\u6362\u7a97\u53e3\u3001\u624b\u52a8\u8f93\u5165\u4e0a\u4e0b\u6587\u6548\u7387\u4f4e\u4e0b\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\/23783c0f-d5eb-4d65-bcb2-427224a8f5da.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/hCOb5_vNeII\"><source src=\"https:\/\/youtu.be\/hCOb5_vNeII\" 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\/f39d1a09-6709-4a68-a793-281728874a31.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bdfc0f31-8476-43d4-9516-4d8e274def03.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7abd5ca3-5fd7-4330-b8a7-27969e9c6aca.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Audio<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u8bed\u97f3\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u5c4f\u5e55\u89c6\u89c9\u7406\u89e3<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u6001\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">MIT\u534f\u8bae<\/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\u6237Abhishek\uff08\u5f00\u53d1\u8005\uff09\u81ea\u8ff0\u75db\u70b9\uff1a\u8003\u8bd5\u5b66\u4e60\u65f6\u9891\u7e41\u5207\u6362\u7a97\u53e3\uff0c\u4ed8\u8d39\u542c\u5199\u8f6f\u4ef6\u53ea\u6253\u5b57\u4e0d\u770b\u5c4f\u5e55\uff0c\u5e38\u9700\u624b\u52a8\u8865\u5145\u4e0a\u4e0b\u6587\u3002\u4ea7\u54c1\u4ece\u542c\u5199\u5de5\u5177\u6f14\u5316\u6210\u684c\u9762\u8bed\u97f3\u5c42\uff0c\u5f3a\u8c03\u8bed\u97f3\u8f6c\u6587\u5b57\u5168\u672c\u5730\u8fd0\u884c\uff0c\u9690\u79c1\u5b89\u5168\u3002\u7528\u6237\u5bf9\u5176\u56de\u5e94\u79ef\u6781\uff0c\u4f46\u8bc4\u8bba\u6570\u8f83\u5c11\uff0c\u6709\u6548\u529f\u80fd\u53cd\u9988\u5c1a\u672a\u5c55\u5f00\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                SpeakoFlow \u5207\u4e2d\u7684\u662f\u771f\u75db\u70b9\uff0c\u4f46\u8d5b\u9053\u5e76\u4e0d\u7a7a\u3002\u5b83\u672c\u8d28\u4e0a\u505a\u7684\u662f\u201c\u8bed\u97f3 + \u5c4f\u5e55\u4e0a\u4e0b\u6587\u201d\u7684\u878d\u5408\u4ea4\u4e92\uff0c\u8fd9\u5728 Apple Intelligence \u548c OpenAI \u7684 GPT-4o \u8bed\u97f3\u6a21\u5f0f\u91cc\u5df2\u6709\u96cf\u5f62\uff0c\u533a\u522b\u5728\u4e8e\u5b83\u628a\u8fd9\u4e00\u5207\u62c9\u56de\u4e86\u201c\u672c\u5730\u4f18\u5148 + \u5f00\u6e90 + \u8de8\u5e73\u53f0\u201d\u7684\u6781\u5ba2\u8bed\u5883\u3002\u8fd9\u65e2\u662f\u5b83\u7684\u62a4\u57ce\u6cb3\uff0c\u4e5f\u662f\u5b83\u7684\u5929\u82b1\u677f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5148\u8bf4\u771f\u6b63\u7684\u4ef7\u503c\uff1a\u8bed\u97f3\u8f6c\u5199\u5168\u7a0b\u672c\u5730\uff0c\u8fd9\u5728\u9690\u79c1\u654f\u611f\u573a\u666f\uff08\u5982\u533b\u7597\u3001\u6cd5\u5f8b\u3001\u4f01\u4e1a\u5185\u7f51\uff09\u662f\u786c\u9700\u6c42\uff1b\u5176\u6b21\u201c\u542c\u5c4f\u5199\u4f5c\u201d\uff08\u770b\u5c4f\u5e55\u5185\u5bb9\u76f4\u63a5\u751f\u6210\u56de\u590d\uff09\u628a LLM \u4ece\u201c\u5bf9\u8bdd\u6846\u201d\u91cc\u89e3\u653e\u51fa\u6765\uff0c\u53d8\u6210\u64cd\u4f5c\u7cfb\u7edf\u7684\u201c\u526f\u9a7e\u9a76\u201d\uff0c\u6bd4\u5355\u7eaf\u7684\u542c\u5199\u8f6f\u4ef6\u9ad8\u4e00\u4e2a\u7ef4\u5ea6\u3002MIT \u534f\u8bae\u548c\u53ef\u63d2\u62d4\u6a21\u578b\uff08Ollama\/LM Studio\/\u4e91 API\uff09\u4e5f\u7ed9\u4e86\u6280\u672f\u7528\u6237\u6781\u5927\u7684\u5b9a\u5236\u7a7a\u95f4\u2014\u2014\u8fd9\u7c7b\u7528\u6237\u6070\u6070\u662f\u65b0\u4ea7\u54c1\u6700\u5b9d\u8d35\u7684\u7b2c\u4e00\u6279\u5e03\u9053\u8005\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u540c\u6837\u660e\u663e\uff1a\u7b2c\u4e00\uff0c101\u7968\u7684Product Hunt\u70ed\u5ea6\u8bf4\u660e\u5b83\u8fdc\u672a\u51fa\u5708\uff0c\u4e3b\u529b\u7528\u6237\u662f\u5f00\u53d1\u8005\u672c\u8eab\uff0c\u79bb\u201c\u666e\u901a\u767d\u9886\u201d\u8fd8\u6709\u8ddd\u79bb\u3002\u7b2c\u4e8c\uff0c\u591a\u5e73\u53f0\uff08Win\/macOS\/Linux\uff09\u7684\u201c\u8bed\u97f3\u5c42\u201d\u610f\u5473\u7740\u8981\u5904\u7406\u65e0\u6570\u5e94\u7528\u7684\u65e0\u969c\u788d\u63a5\u53e3\u3001\u7126\u70b9\u7ba1\u7406\u3001\u6743\u9650\u5dee\u5f02\u2014\u2014\u8fd9\u662f\u5de8\u5751\uff0c\u4e00\u4e2a\u5355\u4eba\u9879\u76ee\u80fd\u7ef4\u6301\u5230\u4ec0\u4e48\u6df1\u5ea6\u5b58\u7591\u3002\u7b2c\u4e09\uff0c\u81ea\u5b9a\u4e49\u5524\u9192\u8bcd\u3001\u5c4f\u5e55\u89c6\u89c9\u3001\u8bb0\u5fc6\u529f\u80fd\uff0c\u6bcf\u4e00\u4e2a\u90fd\u662f\u5927\u6a21\u578b\u5e94\u7528\u5c42\u7684\u201c\u91cd\u5de5\u7a0b\u201d\uff0c\u76ee\u524d\u4ea7\u54c1\u663e\u7136\u5904\u4e8e\u201c\u80fd\u8dd1\u4f46\u4e0d\u591f\u7a33\u201d\u7684\u9636\u6bb5\u3002\u5f00\u53d1\u8005\u81ea\u5df1\u4e5f\u627f\u8ba4\u201c\u8fd8\u6ca1\u5230\u53ea\u8bf4\u4e24\u53e5\u547d\u4ee4\u5c31\u80fd\u5b8c\u6210\u4e00\u5207\u201d\u7684\u5883\u5730\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u8bc4\u4ef7\uff1a\u65b9\u5411\u6b63\u786e\u3001\u67b6\u6784\u8bda\u5b9e\uff08\u672c\u5730\u4f18\u5148\u3001\u5f00\u6e90\uff09\uff0c\u4f46\u4ea7\u54c1\u6210\u719f\u5ea6\u5c1a\u6d45\uff0c\u66f4\u50cf\u4e00\u4e2a\u6781\u4f73\u7684\u201c\u6280\u672f\u6f14\u793a\u201d\u800c\u975e\u201c\u65e5\u7528\u5de5\u5177\u201d\u3002\u5982\u679c\u5b83\u80fd\u71ac\u8fc7\u524d1000\u4e2a\u7528\u6237\u7684bug\u53cd\u9988\u3001\u628a\u6838\u5fc3\u8def\u5f84\u6253\u78e8\u5230\u201c\u96f6\u4e8b\u6545\u201d\uff0c\u518d\u7528\u793e\u533a\u7684\u529b\u91cf\u8865\u4e0a\u5404\u5e73\u53f0\u539f\u751f\u7248\u672c\uff0c\u6216\u8bb8\u771f\u80fd\u6210\u4e3a\u8bed\u97f3\u4ea4\u4e92\u65f6\u4ee3\u7684\u201cAutoHotkey\u201d\u3002\u73b0\u5728\uff0c\u5b83\u503c\u5f97\u88ab\u5173\u6ce8\uff0c\u4f46\u522b\u6025\u7740\u5378\u8f7d\u4f60\u7684\u9f20\u6807\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\">SpeakoFlow<\/span>\n                <\/div>\n<div class=\"comment-content\">SpeakoFlow puts your voice over your whole desktop. Speak, and your words land in any app \u2014 email, editor, chat, terminal. Say &#8220;Hey Flow&#8221; and it writes the whole reply from what&#8217;s on your screen. Ask the assistant about what you&#8217;re looking at and hear the answer back. It also cleans up your dictation, translates as you speak, and learns how you work. Everything can run on your machine \u2014 speech-to-text always does. Free, open source, MIT. Windows, macOS, Linux.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone, I&#8217;m Abhishek.<\/p>\n<p>I started SpeakoFlow while studying alone for exams. I kept switching between what<br \/>\nI was working on and a chatbot tab, and it got old fast. I&#8217;d also been paying for<br \/>\ndictation software because talking is faster than typing \u2014 but it stopped at<br \/>\ntyping. It couldn&#8217;t see what I was working on, so I was still explaining context it<br \/>\ncould have just looked at.<\/p>\n<p>It began as a small dictation tool. Three months later it&#8217;s a voice layer over my<br \/>\nwhole desktop: I speak and text lands in any app, I say &#8220;Hey Flow&#8221; and it writes<br \/>\nthe whole reply from what&#8217;s on my screen, and there&#8217;s an assistant I can open over<br \/>\nmy work that answers out loud while I keep going.<\/p>\n<p>The thing I care about most is that speech-to-text runs entirely on your own<br \/>\nmachine. Your voice isn&#8217;t uploaded anywhere just to become text. For the assistant<br \/>\nyou choose \u2014 a built-in offline model with no API key, your own Ollama or LM<br \/>\nStudio, or any cloud provider with your own key.<\/p>\n<p>What I&#8217;m really going for is running my computer by voice. The repetitive stuff<br \/>\nshould be two spoken commands instead of twenty clicks. Not there yet.<\/p>\n<p>It started as a fork of Handy by CJ Pais, and I built the assistant, screen vision,<br \/>\ntranslation and memory on top. Free and MIT licensed \u2014 fork it, change it, build<br \/>\nsomething else with it.<\/p>\n<p>It&#8217;s just me on this and it&#8217;s early. If you try it and something breaks, tell me<br \/>\nhere. I&#8217;ll be around all day.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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>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\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;Thank you! Happy to answer any questions about how it works.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4UQX2DNCTZXB7M\" class=\"app-title\">Snipplet<\/a><\/p>\n<div class=\"one-liner\">Create and share beautiful guides from places you love<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">91<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Snipplet\u662f\u4e00\u6b3e\u5c06\u4f60\u4eb2\u8eab\u53bb\u8fc7\u4e14\u559c\u7231\u7684\u5730\u65b9\uff08\u65c5\u884c\u76ee\u7684\u5730\u6216\u672c\u5730\u79c1\u85cf\u5c0f\u5e97\uff09\u8f6c\u5316\u4e3a\u5e26\u7167\u7247\u3001\u8d34\u58eb\u548c\u4e2a\u6027\u5316\u8bbe\u8ba1\u7684\u53ef\u89c6\u5316\u5206\u4eab\u5361\u7247\uff08\u94fe\u63a5\uff09\u7684\u5de5\u5177\uff0c\u89e3\u51b3\u201c\u63a8\u8350\u5730\u70b9\u4fe1\u606f\u6563\u843d\u3001\u96be\u4ee5\u6574\u7406\u548c\u5206\u4eab\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\/53d9115a-d399-491d-891c-326c26964f64.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/72208fbe-a5e6-4976-9bd2-8f14e78b14ac.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a82d9492-2f63-499c-b3c8-593d386d27ce.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8d2c3aa0-1302-4bbb-b0d1-4431c15c4302.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f23a550b-c1bf-49f1-8383-0df63d4577ab.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d7ef4208-dcb5-4ebb-bebc-69d91272d989.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/68e6c814-4b60-4051-9d5f-73ce49c642b4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9a9ee8ef-1b1d-48b6-a7e3-25f1a7c1d14d.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\/0c0c78dd-51fb-4a84-afdc-8bdac1d65cab.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/kEEMxp58eiE\"><source src=\"https:\/\/youtu.be\/kEEMxp58eiE\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Travel<\/span><br \/>\n            <span class=\"tag\">Design<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u65c5\u884c\u5206\u4eab<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u63a8\u8350<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u5316\u6307\u5357<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u521b\u4f5c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5730\u70b9\u6536\u85cf<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5206\u4eab<\/span><br \/>\n            <span class=\"tag\">\u65c5\u884c\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u8bbe\u8ba1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u79ef\u6781\uff0c\u6838\u5fc3\u8d5e\u8d4f\u201c\u514d\u767b\u5f55\u6d4f\u89c8\u201d\u548c\u201c\u672c\u5730\u5730\u70b9\u6574\u7406\u201d\u573a\u666f\u3002\u521b\u59cb\u4eba\u56de\u5e94\u786e\u8ba4\u5206\u4eab\u94fe\u63a5\u65e0\u9700\u8d26\u53f7\u5373\u53ef\u67e5\u770b\u3002\u7528\u6237\u8be2\u95eeAPP\u79fb\u52a8\u7aef\u4f55\u65f6\u53d1\u5e03\uff0c\u5e76\u5efa\u8bae\u589e\u52a0\u4f1a\u5458\u529f\u80fd\u9009\u9879\u3002\u6574\u4f53\u65e0\u8d1f\u9762\u6279\u8bc4\uff0c\u4e3b\u8981\u671f\u5f85\u79fb\u52a8\u7aef\u4f53\u9a8c\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                Snipplet\u7684\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\u505a\u4e86\u65c5\u884c\u5de5\u5177\u7684\u201c\u9006\u884c\u8005\u201d\u2014\u2014\u4e0d\u89c4\u5212\u672a\u6765\uff0c\u53ea\u6574\u7406\u8fc7\u53bb\u3002\u8fd9\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u4e2a\u88ab\u5ffd\u89c6\u7684\u521a\u9700\uff1a\u65c5\u884c\u7ed3\u675f\u540e\u7684\u201c\u8bb0\u5fc6\u8d44\u4ea7\u201d\u548c\u201c\u793e\u4ea4\u8d27\u5e01\u201d\u7ba1\u7406\u3002\u5b83\u7684\u672c\u8d28\u4e0d\u662f\u65c5\u884c\u89c4\u5212\u5668\uff0c\u800c\u662f\u4e00\u4e2a\u201c\u8f7b\u91cf\u7ea7\u3001\u89c6\u89c9\u5316\u7684\u53e3\u7891\u63a8\u8350\u5206\u53d1\u5de5\u5177\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u903b\u8f91\u770b\uff0cSnipplet\u6293\u51c6\u4e86\u4e24\u4e2a\u5173\u952e\u70b9\uff1a\u4e00\u662f\u201c\u771f\u5b9e\u63a8\u8350\u201d\u7684\u4fe1\u4efb\u80cc\u4e66\uff08\u533a\u522b\u4e8e\u7f51\u7ea2\u6253\u5361\uff09\uff0c\u4e8c\u662f\u201c\u514d\u767b\u5f55\u6d4f\u89c8\u201d\u7684\u5206\u4eab\u96f6\u95e8\u69db\uff0c\u540e\u8005\u76f4\u63a5\u89e3\u51b3\u4e86\u63a8\u8350\u573a\u666f\u4e2d\u6700\u81f4\u547d\u7684\u201c\u94fe\u8def\u65ad\u88c2\u201d\u95ee\u9898\u300291\u7968\u7684\u51b7\u542f\u52a8\u6210\u7ee9\u8bf4\u660e\u6982\u5ff5\u9a8c\u8bc1\u6709\u6548\uff0c\u521b\u59cb\u4eba\u5bf9\u201c\u672c\u5730\u79c1\u85cf\u201d\u573a\u666f\u7684\u5f3a\u8c03\u4e5f\u4f53\u73b0\u4e86\u5bf9\u7559\u5b58\u7387\u7684\u6e05\u9192\u8ba4\u77e5\u2014\u2014\u9ad8\u9891\u7684\u672c\u5730\u751f\u6d3b\u6bd4\u4f4e\u9891\u7684\u8fdc\u9014\u65c5\u884c\u66f4\u5177\u590d\u8d2d\u9ecf\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u540c\u6837\u660e\u663e\u3002\u5176\u62a4\u57ce\u6cb3\u6781\u6d45\uff0c\u6838\u5fc3\u529f\u80fd\uff08\u7167\u7247+\u6587\u5b57+\u6a21\u677f\uff09\u6781\u6613\u88abInstagram\u7684\u201c\u7cbe\u9009\u96c6\u201d\u3001\u5c0f\u7ea2\u4e66\u7684\u957f\u56fe\u6587\u6216\u82f9\u679c\u81ea\u5e26\u201c\u5730\u56fe\u201d\u7684\u6536\u85cf\u5939\u590d\u5236\u3002\u76ee\u524d\u7684\u4ea7\u54c1\u4ef7\u503c\u8fc7\u4e8e\u4f9d\u8d56\u201c\u5206\u4eab\u94fe\u63a5\u201d\u8fd9\u4e00\u5355\u5411\u52a8\u4f5c\uff0c\u7f3a\u4e4f\u793e\u4ea4\u4e92\u52a8\u6216UGC\u793e\u533a\u7684\u6c89\u6dc0\uff08\u867d\u7136\u6709Explore\u9875\uff0c\u4f46\u51b7\u542f\u52a8\u9636\u6bb5\u5185\u5bb9\u7a00\u758f\u662f\u6b7b\u7a74\uff09\u3002\u6b64\u5916\uff0c\u521b\u59cb\u4eba\u4f5c\u4e3a\u72ec\u7acb\u5f00\u53d1\u8005\uff0c\u5728\u8fd0\u8425\u3001\u5ba1\u6838\u3001\u5185\u5bb9\u8d28\u91cf\u8c03\u63a7\u4e0a\u5fc5\u7136\u9762\u4e34\u6311\u6218\u2014\u2014\u5982\u679c\u793e\u533a\u88ab\u8425\u9500\u53f7\u6216\u4f4e\u8d28\u5185\u5bb9\u6df9\u6ca1\uff0c\u201c\u771f\u5b9e\u63a8\u8350\u201d\u7684\u5b9a\u4f4d\u5c06\u77ac\u95f4\u5d29\u584c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u673a\u4f1a\u5728\u4e8e\u6210\u4e3a\u201c\u5730\u65b9\u63a8\u8350\u9886\u57df\u7684Notion\u201d\u2014\u2014\u4e0d\u662f\u66f4\u9177\u7684\u7f16\u8f91\u5668\uff0c\u800c\u662f\u66f4\u806a\u660e\u7684\u77e5\u8bc6\u5e93\u3002\u82e5\u80fd\u5f15\u5165\u201c\u5730\u70b9\u5173\u7cfb\u7f51\u7edc\u201d\uff08\u5982\u201c\u4f60\u559c\u6b22\u7684\u5e97\u9644\u8fd1\u8fd8\u6709\u4ec0\u4e48\u597d\u5e97\u201d\uff09\u6216\u201cAI\u56de\u5fc6\u68c0\u7d22\u201d\uff08\u57fa\u4e8e\u7167\u7247\u4f4d\u7f6e\u81ea\u52a8\u56de\u586b\u5730\u70b9\u548c\u94fe\u63a5\uff09\uff0c\u8ba9\u201c\u5b58\u50a8-\u6574\u7406-\u53d1\u73b0\u201d\u5f62\u6210\u95ed\u73af\uff0c\u624d\u80fd\u4ece\u5de5\u5177\u5347\u7ea7\u4e3a\u6570\u636e\u8d44\u4ea7\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u50cf\u4e00\u4e2a\u6f02\u4eae\u7684\u65c5\u884c\u624b\u8d26\u751f\u6210\u5668\uff0c\u79bb\u201c\u5e73\u53f0\u201d\u5c1a\u6709\u8ddd\u79bb\u3002\u4f46\u521b\u59cb\u4eba\u5bf9\u5916\u90e8\u53cd\u9988\u7684\u5f00\u653e\u6001\u5ea6\u662f\u826f\u597d\u8d77\u70b9\uff0c\u5173\u952e\u5728\u4e8e\u80fd\u5426\u5728\u4e0a\u7ebf\u65e9\u671f\u5c31\u627e\u5230\u90a3\u4e2a\u201c\u7528\u6237\u6bcf\u5468\u56de\u6765\u201d\u7684\u5fc5\u8981\u7406\u7531\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\">Snipplet<\/span>\n                <\/div>\n<div class=\"comment-content\">Most travel tools help you plan trips. Snipplet does the opposite. It&#8217;s for places you&#8217;ve already been and actually loved. Save your favorite spots, add photos and tips, and it becomes a visual guide you can share with one link. No more scattered screenshots or 47 tab Google Docs. Make it yours with custom fonts, colors, stickers, backgrounds, and themes. Or drop a screenshot in and let AI build it for you. Real recs from real people. Works for Tokyo or your favorite spots around the corner.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone! I&#8217;m Isabel, and I built Snipplet because my travel recommendations were a mess. Every time I came back from a trip, friends would text me &#8220;where did you eat in Barcelona?&#8221; or &#8220;what should I do in Tokyo?&#8221; and I&#8217;d either scroll through my camera roll trying to remember or dig through my Notes app for some list I saved months ago. Half the time I couldn&#8217;t even find it.<\/p>\n<p>And when I did find my notes, sharing them was painful. I once wrote out an entire itinerary with comments and tips for a friend. It looked organized in my Notes app but the second I pasted it into a text message it became this unreadable wall of text. Good luck finding that again in a chat thread.<\/p>\n<p>Even for myself, I&#8217;d go back to a city and not remember where that amazing restaurant was. I&#8217;d have to retrace the actual street or scroll through hundreds of photos to figure it out.<\/p>\n<p>So I built Snipplet. You turn your travel memories into beautiful visual cards with your photos, favorite spots, restaurant picks, and tips. Each one becomes a mini guide you can actually share with a link and anyone can browse, save, or get inspired by. It&#8217;s not just for big trips either. I use it for my favorite matcha spots, vintage record stores, and activities in my own city. No more messy notes, no more lost recommendations.<\/p>\n<p>I&#8217;m a solo founder and built this from scratch. I&#8217;ve tested it on my own trips and rebuilt things based on what actually worked (and what didn&#8217;t).<\/p>\n<p>Genuinely open to any feedback, criticism, feature requests, anything. A few things I&#8217;m especially curious about:<br \/>* What would you save first, a trip or your local go-to spots?<br \/>* What&#8217;s the one thing that would make you come back weekly?<br \/>* Would you actually share a snipplet with a friend?<\/p>\n<p>I&#8217;d love for you to try it. Use code <strong>PRODUCTHUNT<\/strong> for a free first month of Pro. It\u2019s for the first 100 users, so use it quickly!<\/p>\n<p>Try it free at snipplet.com on desktop or mobile. No signup required to browse. 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>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>&nbsp;Big shoutout for making browsing completely friction-free Snipplet looks incredible for curating local city guides. Best of luck on the launch <a href=\"https:\/\/www.producthunt.com\/@isabelzav\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@isabelzav<\/a>\ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried it out, pretty cool concept. excited for app release<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow, thank you all for the support today! We&#8217;ve been reading every comment and the feedback has been incredible. If you haven&#8217;t tried it yet, <a href=\"http:\/\/snipplet.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">snipplet.com<\/a> is free to use. Would love to hear what you think!<\/p>\n<p>What features would you want to see next? Let us know in the comments!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>local go-to spots, easily. trips are rare enough that I remember them, it&#8217;s the little places around my own city that I actually lose track of and end up re-googling every time a friend visits. to answer your other question, yes I&#8217;d share one, but only if the friend could browse it without making an account first, since that&#8217;s usually where I lose people when I try to send them something like this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Love this. The local angle is exactly what we&#8217;re leaning into too. It&#8217;s not just trips, it&#8217;s &#8220;where was that taco spot I went to last month?&#8221; with all your notes and thoughts right there.<\/p>\n<p>And great news&#8230; shared snipplet links are fully viewable without an account! Anyone you send it to can browse the whole guide, no signup needed. You can also check out what others are sharing on our explore page at <a href=\"http:\/\/snipplet.com\/explore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">snipplet.com\/explore<\/a>. And if they do want to sign up, it takes seconds.<\/p>\n<p>Thanks for the thoughtful feedback, 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<\/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\/VJBOCXXQ7UUYVX\" class=\"app-title\">Finyuus<\/a><\/p>\n<div class=\"one-liner\">A code-first language for durable, governed AI workflows<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">86<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Finyuus \u662f\u4e00\u4e2a\u4ee5\u4ee3\u7801\u4f18\u5148\u7684AI\u5de5\u4f5c\u6d41\u7f16\u6392\u5e73\u53f0\uff0c\u901a\u8fc7\u81ea\u7814\u7f29\u8fdb\u5f0fDSL\uff0c\u8ba9\u56e2\u961f\u5728Temporal\u4e0a\u6784\u5efa\u3001\u8fd0\u884c\u5e76\u6cbb\u7406\u5177\u5907\u91cd\u8bd5\u3001\u53d6\u6d88\u548c\u53ef\u91cd\u653e\u80fd\u529b\u7684\u6301\u4e45\u5316AI\u6d41\u7a0b\uff0c\u5e76\u4ee5\u7eaf\u6587\u672c\u5f62\u5f0f\u5b58\u50a8\u5de5\u4f5c\u6d41\u4ee5\u83b7\u5f97Git\u5f0f\u5ba1\u6838\u4e0ediff\u80fd\u529b\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\/0f5178aa-4fa8-430b-8f6a-bbc85179b9a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ac4e4709-0a7d-4fc2-a156-0079589867db.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/713ccea6-cc5f-4b49-9057-9561a687bff8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9f8fdc27-2feb-44e6-b411-7c7484c7236a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c98e2c7c-8e8d-420c-81d1-564d257ae079.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/01107a48-4761-489e-ace5-ccf5f78850a8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d9d2d201-14a0-48be-bab5-537c5a24279b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/62c1d513-a449-405e-9d9f-4cb129542402.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\u5de5\u4f5c\u6d41\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">DSL<\/span><br \/>\n            <span class=\"tag\">\u6301\u4e45\u5316\u6267\u884c<\/span><br \/>\n            <span class=\"tag\">\u53ef\u6cbb\u7406AI<\/span><br \/>\n            <span class=\"tag\">Git\u53cb\u597d<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u534f\u540c\u5ba1\u6838<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7AI\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u591a\u6570\u8bc4\u8bba\u8ba4\u53ef\u201c\u7eaf\u6587\u672c\u5de5\u4f5c\u6d41+Git diff\u201d\u5bf9\u6cbb\u7406\u7684\u4ef7\u503c\uff0c\u4f46\u6838\u5fc3\u4e89\u8bae\u96c6\u4e2d\u5728DSL\u5fc5\u8981\u6027\u4e0a\uff1a\u6709\u7528\u6237\u6307\u51faTemporal\u5b98\u65b9Python\/TS SDK\u5df2\u5177\u5907\u540c\u7b49\u6267\u884c\u80fd\u529b\uff0c\u65b0\u8bed\u6cd5\u5e26\u6765\u5b66\u4e60\u6210\u672c\u4e14\u7ed1\u5b9a\u5355\u4e00\u8fd0\u884c\u65f6\uff1b\u53e6\u6709\u7528\u6237\u6279\u8bc4\u5176\u57fa\u7840\u8bbe\u65bd\u8fc7\u91cd\uff08\u9700Docker\u8d77Temporal\u3001ClickHouse\u7b49\u4e94\u4ef6\u5957\uff09\uff0c\u4e0d\u5229\u4e8e\u6280\u672f\u5c1d\u9c9c\uff0c\u5efa\u8bae\u63d0\u4f9bSQLite\u5355\u673a\u6a21\u5f0f\u5feb\u901f\u4e0a\u624b\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                Finyuus\u8e29\u51c6\u4e86AI\u5de5\u7a0b\u5316\u4ece\u201c\u5199\u63d0\u793a\u8bcd\u201d\u8d70\u5411\u201c\u6cbb\u7406\u5316\u7f16\u6392\u201d\u7684\u8f6c\u6298\u70b9\uff0c\u5176\u201cDSL+\u6587\u672c\u5b58\u50a8+\u9759\u6001\u5206\u6790\u201d\u7684\u7ec4\u5408\u786e\u5b9e\u51fb\u4e2d\u4e86\u5927\u578b\u56e2\u961f\u5728\u5ba1\u8ba1\u4e0e\u534f\u4f5c\u4e0a\u7684\u771f\u5b9e\u75db\u70b9\u2014\u2014\u7528\u8bed\u6cd5\u8fb9\u754c\u5f3a\u5236\u7ea6\u675fAI\u903b\u8f91\u8513\u5ef6\uff0c\u6bd4\u4efb\u4f55\u4ee3\u7801\u8bc4\u5ba1\u89c4\u8303\u90fd\u53ef\u9760\u3002\u4f46\u4ea7\u54c1\u76ee\u524d\u5728\u201c\u8bed\u6cd5\u521b\u65b0\u201d\u4e0e\u201c\u751f\u6001\u501f\u529b\u201d\u4e4b\u95f4\u51fa\u73b0\u4e86\u660e\u663e\u9519\u4f4d\uff1a\u82e5\u8981\u83b7\u5f97\u6301\u4e45\u5316\u3001\u91cd\u8bd5\u548c\u53ef\u89c2\u6d4b\u6027\uff0c\u7528\u6237\u5fc5\u987b\u81ea\u884c\u7ef4\u62a4Temporal\u3001Langfuse\u3001ClickHouse\u3001MinIO\u3001Redis\u8fd9\u4e00\u6574\u5957\u91cd\u57fa\u7840\u8bbe\u65bd\uff0c\u8fd9\u51e0\u4e4e\u5c06\u76ee\u6807\u7528\u6237\u9650\u5b9a\u5728\u4e86\u6709\u4e13\u804c\u5e73\u53f0\u5de5\u7a0b\u56e2\u961f\u7684\u4f01\u4e1a\u4e2d\u2014\u2014\u800c\u8fd9\u6070\u6070\u53c8\u662f\u6700\u4e0d\u613f\u4e3a\u4e86\u5355\u4e00DSL\u653e\u5f03Temporal\u65e2\u6709Python\/TS\u751f\u6001\u7684\u7fa4\u4f53\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201cSQLite\u5355\u673a\u6a21\u5f0f\u201d\u7684\u5efa\u8bae\u76f4\u51fb\u8981\u5bb3\uff1aFinyuus\u7684\u5dee\u5f02\u5316\u4e0d\u5728\u8fd0\u884c\u65f6\uff0c\u800c\u5728\u6cbb\u7406\u8303\u5f0f\uff0c\u82e5\u4e0d\u80fd\u628a\u4e0a\u624b\u6210\u672c\u538b\u7f29\u5230\u201c\u4e00\u4e2a\u8fdb\u7a0b\u4e00\u6761\u547d\u4ee4\u201d\uff0c\u90a3\u4e48\u518d\u7cbe\u5de7\u7684DSL\u90fd\u96be\u4ee5\u8de8\u8d8a\u65e9\u671f\u91c7\u7528\u8005\u7684\u8bd5\u7528\u95e8\u69db\u3002\u771f\u6b63\u7684\u4ef7\u503c\u6216\u8bb8\u5728\u4e8e\u5176\u6784\u9020\u7684\u601d\u7ef4\u5b9e\u9a8c\uff1a\u5f53AI\u903b\u8f91\u88ab\u964d\u7ef4\u6210\u4e00\u95e8\u6709\u8fb9\u754c\u3001\u53ef\u9759\u6001\u5206\u6790\u7684\u8bed\u8a00\uff0c\u4f01\u4e1a\u5185\u90e8\u7684\u201cAI\u903b\u8f91\u5ba1\u6279\u6d41\u201d\u624d\u9996\u6b21\u5177\u5907\u6280\u672f\u53ef\u884c\u6027\u3002\u4f46\u4ece\u4ea7\u54c1\u5230\u5e73\u53f0\uff0cFinyuus\u8fd8\u9700\u8981\u56de\u7b54\u4e00\u4e2a\u66f4\u5c16\u9510\u7684\u95ee\u9898\uff1a\u82e5\u672a\u6765\u67d0\u5929LangChain\u6216Temporal\u5b98\u65b9\u63a8\u51fa\u4e86\u5177\u5907\u56fe\u7ed3\u6784\u63d0\u53d6\u80fd\u529b\u7684Schema\u5316\u7f16\u6392\u5c42\uff0c\u8fd9\u4e2aDSL\u7684\u4e0d\u53ef\u66ff\u4ee3\u6027\u8fd8\u5269\u591a\u5c11\uff1f\u7559\u7ed9\u5b83\u7684\u7a97\u53e3\u671f\uff0c\u53ef\u80fd\u6bd4\u60f3\u8c61\u4e2d\u66f4\u77ed\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\">Finyuus<\/span>\n                <\/div>\n<div class=\"comment-content\">Finyuus is a code-first platform for building, running, and governing AI workflows. It introduces a small indentation-based DSL for composing agents, tools, guards, human approvals, and nested workflows \u2014 then runs them on Temporal with retries, cancellation, and replayability. Unlike visual builders, workflows are stored as text for Git-based review and diffs. Unlike prompt chains, every run is durable, versioned, observable via Langfuse, and governable through guards and human approvals.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I kept running into the same problem while building AI apps: the AI logic \u2014 prompts, tool calls, retries, guards, approval waits \u2014 kept getting tangled into my application code. At one point I was maintaining 300-line system prompts in the same codebase as my iPhone app&#8217;s buttons and screens. Every small behavior change meant rebuilding and redeploying the whole app.<\/p>\n<p>There&#8217;s a useful parallel with how apps treat databases. Applications talk to databases through SQL, so data logic lives independently from app code. I wanted that same separation for AI: define, version, operate, and modify agents, prompts, tools, guards, and workflows independently from the apps that use them.<\/p>\n<p>Finyuus is what I&#8217;ve built. It&#8217;s a small indentation-based DSL for composing AI workflows, backed by Temporal for durable execution (retries, cancellation, long-running waits, child workflows), Langfuse for tracing and cost reporting, and a dashboard for authoring, running, and reviewing everything. Workflows are stored as text, so they get Git history, PRs, and readable diffs \u2014 something visual builders lose at scale.<\/p>\n<p>It&#8217;s open source and runs fully locally with Docker (Temporal, ClickHouse, MinIO (or s3), Langfuse, Redis all included). I&#8217;d love feedback on the DSL ergonomics, the governance model (guards + human approvals), and what you&#8217;d want next. <\/p>\n<p>Happy to dig into any part of the architecture. \ud83d\ude4f<\/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>Keeping workflows as plain text instead of locking everything into a visual builder is probably my favorite part. Git diffs and PR reviews are hard to give up once a project grows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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;Appreciate it &#8211; I think we have to many visual builder tools now. <\/p>\n<\/p>\n<p>They get hard to productionalize and as complexity grows it gets hard to maintain.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 durability and git-diffable execution graph is the genuinely useful part, that&#8217;s a real gap in a lot of prompt-chain tools. the new DSL is the part I&#8217;d push back on though &#8211; Temporal already has SDKs in Python and TypeScript that get you retries, replay and versioning without asking anyone to learn new indentation rules. what does the language buy you over a thin Python wrapper around the same guards and approvals, besides a smaller surface to write the interpreter for? &#8220;governable&#8221; and &#8220;diffable&#8221; don&#8217;t obviously require a new syntax, they require the underlying execution model you already built.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Very fair question. You are right Python+Temporal gets you retries, replay, versioning  and &#8220;governable&#8221; and &#8220;diffable&#8221; don&#8217;t require new syntax. I personally think having a clear separation between app logic and LLM\/AI Logic is important and understated. <\/p>\n<\/p>\n<p><strong>What it buys:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Static analyzability.<\/strong> A Python workflow can import\/call\/branch on anything \u2014 no bounded surface to review, no way to know &#8220;this calls these tools, runs these guards, pauses for these approvals&#8221; without executing it. The DSL is constrained enough to parse a workflow and extract that graph statically. That&#8217;s what makes governance tractable; in Python you&#8217;re doing AST analysis or trusting conventions.<\/p>\n<\/li>\n<li>\n<p><strong>Enforced separation.<\/strong> &#8220;Put workflows in a separate file&#8221; works until someone imports a service or inlines a prompt. The DSL physically can&#8217;t reach into your app. That&#8217;s the feature for teams where AI logic metastasized across services.<\/p>\n<\/li>\n<li>\n<p><strong>Reviewable diffs.<\/strong> A Python PR touches imports, helpers, control flow, and prompt text in one diff. A DSL PR touches workflow logic only \u2014 &#8220;added a tool call, removed a guard&#8221; is a one-line change.<\/p>\n<\/li>\n<\/ol>\n<p>I will concede that for a solo dev or small team in Python, a thin wrapper gets you 80% with zero learning curve. The DSL pays off when reviewers, auditors, and teams need to reason about AI behavior they didn&#8217;t write. <\/p>\n<\/p>\n<p>We are also witnessing teams appearing in enterprises similar to data teams with SQL. Im not sure what the future will be like but these folks need a tool to get to production at the enterprise scale. Things not built into Finyuus yet like SSO\/SAML &amp; security are top of mind things.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Temporal, ClickHouse, MinIO, Langfuse and Redis to run a prompt is the part I&#8217;d push on. Nobody spins that up on a Tuesday afternoon, and a Tuesday afternoon is how these things actually get adopted. The SQL analogy cuts the other way too, SQL won because it was one language across every engine, and a DSL that runs on exactly one runtime is a lock in people can feel. I&#8217;d ship a single binary mode that fakes durability in SQLite so someone can write a workflow in ten minutes and only meet Temporal when they need 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asadmalik901\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asadmalik901<\/a>&nbsp;Appreciate the comment(s) and you are right on a lot of things.<\/p>\n<\/p>\n<p><strong>Infra weight:<\/strong> Fair. make up is one Docker command, not five manual installs, but that&#8217;s still heavier than pip install langchain. The services exist because how do you then deploy &#8220;pip install langchain&#8221; for 100s of users? (but their cloud tool? thing about infra etc&#8230;). I&#8217;ve attempted to be accessible to the hobbyist whose moving past just running one prompt (a big heavy here but still doable) and to the enterprise running for 100s of people. For the enterprise they can scale to infinity with hosting on ec2 or cloud infra or even going to the SaaS solutions of each of those tools&#8230; but you&#8217;re right that adoption doesn&#8217;t start at production. People evaluate with one prompt on a Tuesday afternoon, and if that takes 20 minutes of Docker pulling, they never come back.<\/p>\n<\/p>\n<p><strong>SQL analogy:<\/strong>  agreed &#8211; just a good analogy for what i&#8217;d like to get to &#8211; even if this DSL doesnt win, it be great to have something like it for LLMs. I&#8217;m sure the DSL can be improved, ultimately the only option people have right now is a JS\/python lib (complex and not designed for it) or a workflow tool (super locked-in and difficult to build production pipelines). <\/p>\n<\/p>\n<p><strong>SQLite mode:<\/strong> Genuinely good suggestion, and I&#8217;ve thought about it. Just design considerations and other things took priority. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/ELDKLGKDXGR6XK\" class=\"app-title\">Yokoso<\/a><\/p>\n<div class=\"one-liner\">Japanese for the life you&#8217;re actually living in Japan<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">83<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Yokoso\u662f\u4e00\u6b3e\u4e13\u4e3a\u5728\u65e5\u751f\u6d3b\u573a\u666f\u8bbe\u8ba1\u7684\u514d\u8d39\u65e5\u8bed\u5b66\u4e60\u5e94\u7528\uff0c\u901a\u8fc7\u81ea\u9002\u5e94\u6d4b\u8bd5\u8df3\u8fc7\u5df2\u77e5\u5185\u5bb9\uff0c\u76f4\u63a5\u5728\u771f\u5b9e\u60c5\u5883\uff08\u5982\u6807\u8bc6\u3001\u4ef7\u683c\u3001\u8bed\u6cd5\uff09\u4e2d\u6559\u5b66\uff0c\u5e76\u652f\u6301\u5bfc\u5165WaniKani\/Bunpro\u8fdb\u5ea6\uff0c\u89e3\u51b3\u4f20\u7edf\u6559\u6750\u8131\u79bb\u5b9e\u9645\u3001\u91cd\u590d\u5b66\u4e60\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\/b6abf217-edae-4fbc-ba25-c4cb13e04aa2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/940afb4b-9a65-4aca-bcf9-3ef63e75ffeb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c7d35cea-4a65-4ddd-adf2-d0848dabaa26.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2d7290f9-44be-4b80-bf74-d8c93ee56895.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/43d5d3e4-5e04-4490-956e-19b778fedc4c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f5d5e79-61d8-4ce1-8748-31ff88dafcd6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2f05aa43-a1df-4f9e-925d-647fb48ebeab.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\">iOS<\/span><br \/>\n            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">Languages<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u65e5\u8bed\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u7528\u573a\u666f\u6559\u5b66<\/span><br \/>\n            <span class=\"tag\">\u81ea\u9002\u5e94\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u65e0\u5e7f\u544a<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u53ef\u7528<\/span><br \/>\n            <span class=\"tag\">WaniKani\u5bfc\u5165<\/span><br \/>\n            <span class=\"tag\">\u5728\u65e5\u751f\u6d3b<\/span><br \/>\n            <span class=\"tag\">\u8bed\u8a00\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u65e0\u6e38\u620f\u5316\u6fc0\u52b1<\/span><br \/>\n            <span class=\"tag\">Web\/iOS<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u65e0\u8fde\u7eed\u6253\u5361\u3001\u65e0\u9501\u8bfe\u201d\u7406\u5ff5\uff0c\u79f0\u8d5e\u8d34\u8fd1\u771f\u5b9e\u751f\u6d3b\u3002\u6838\u5fc3\u5efa\u8bae\uff1a\u589e\u52a0\u5feb\u9012\u91cd\u9001\u7535\u8bdd\u5e94\u5bf9\uff08\u7eaf\u542c\u529b\u3001\u65e0\u89c6\u89c9\u7ebf\u7d22\uff09\u3001\u836f\u5c40\/\u8bca\u6240\u75c7\u72b6\u63cf\u8ff0\u4e0e\u670d\u836f\u8bf4\u660e\u3001\u533a\u5f79\u6240\u6587\u4e66\uff08\u4f4f\u6c11\u7968\/\u4fdd\u9669\/\u5e74\u91d1\uff09\u3001\u5783\u573e\u5206\u7c7b\u6807\u8bc6\u3001\u7535\u8f66\u5ef6\u8bef\u901a\u77e5\uff08\u9045\u5ef6\/\u904b\u8ee2\u898b\u5408\u308f\u305b\/\u632f\u66ff\u8f38\u9001\uff09\u3002\u6709\u7528\u6237\u53cd\u6620\u5bf9\u8bdd\u4e2d\u201c\u76f8\u69cc\u201d\u80fd\u529b\u4e0d\u8db3\uff0c\u5e0c\u671b\u5f3a\u5316\u81ea\u7136\u56de\u5e94\u8bad\u7ec3\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                Yokoso\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u7cbe\u51c6\u5207\u5165\u4e86\u201c\u6559\u6750\u65e5\u8bed\u201d\u4e0e\u201c\u751f\u5b58\u65e5\u8bed\u201d\u4e4b\u95f4\u7684\u65ad\u5c42\u2014\u2014\u8fd9\u4e2a\u65ad\u5c42\u88ab\u5927\u591a\u6570\u4e3b\u6d41\u4ea7\u54c1\uff08Duolingo\u3001Pimsleur\u7b49\uff09\u523b\u610f\u5ffd\u7565\uff0c\u56e0\u4e3a\u586b\u5145\u5b83\u9700\u8981\u5927\u91cf\u672c\u5730\u5316\u8bed\u6599\u800c\u975e\u6807\u51c6\u5316\u8bfe\u7a0b\u6a21\u677f\u3002\u521b\u59cb\u4eba\u7684\u4e2a\u4eba\u52a8\u673a\uff08\u79fb\u5c45\u65e5\u672c\u5317\u5883\uff09\u8ba9\u4ea7\u54c1\u5929\u7136\u5177\u5907\u201c\u771f\u5b9e\u9700\u6c42\u9a71\u52a8\u201d\u7684\u57fa\u56e0\uff0c\u800c\u201c\u81ea\u9002\u5e94\u8df3\u8fc7\u5df2\u77e5\u5185\u5bb9\u201d\u548c\u201c\u5bfc\u5165WaniKani\/Bunpro\u8fdb\u5ea6\u201d\u5219\u662f\u5bf9\u5b66\u4e60\u6c89\u6ca1\u6210\u672c\u7684\u5c0a\u91cd\uff0c\u8fd9\u5728\u8bed\u8a00\u5b66\u4e60\u5e02\u573a\u662f\u7f55\u89c1\u7684\u7528\u6237\u601d\u7ef4\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8b66\u60d5\u4e09\u4e2a\u95ee\u9898\uff1a\u5176\u4e00\uff0c83\u5f20\u7968\u6570\u7684\u51b7\u542f\u52a8\u8868\u660e\u201c\u53cd\u6e38\u620f\u5316\u201d\u867d\u83b7\u53e3\u7891\uff0c\u5374\u7f3a\u4e4f\u75c5\u6bd2\u4f20\u64ad\u94a9\u5b50\u2014\u2014\u6ca1\u6709streak\u5c31\u6ca1\u6709\u65e5\u6d3b\u538b\u529b\uff0c\u7528\u6237\u53ef\u80fd\u5b66\u5b8c\u6025\u9700\u573a\u666f\u540e\u6d41\u5931\uff0c\u957f\u671f\u7559\u5b58\u5b58\u7591\uff1b\u5176\u4e8c\uff0c\u201c\u514d\u8d39\u6c38\u4e45+\u81ea\u613f\u8d5e\u52a9\u201d\u6a21\u5f0f\u5728\u65e0\u878d\u8d44\u4e0b\u53ef\u6301\u7eed\u6027\u8106\u5f31\uff0c\u5c24\u5176\u79bb\u7ebf\u529f\u80fd\u548c\u6301\u7eed\u5185\u5bb9\u66f4\u65b0\u9700\u8981\u7a33\u5b9a\u7684\u5f00\u53d1\u6295\u5165\uff1b\u5176\u4e09\uff0c\u8bc4\u8bba\u4e2d\u6240\u6709\u9ad8\u4ef7\u503c\u5efa\u8bae\uff08\u836f\u5c40\u3001\u533a\u5f79\u6240\u3001\u5783\u573e\u5206\u7c7b\u3001\u7535\u8f66\u5ef6\u8bef\uff09\u5747\u6307\u5411\u201c\u9ad8\u9891\u4f46\u975e\u5a31\u4e50\u5316\u201d\u7684\u75db\u70b9\uff0c\u8fd9\u6070\u597d\u662f\u5185\u5bb9\u751f\u4ea7\u6700\u8d39\u529b\u7684\u9886\u57df\uff0c\u56e2\u961f\u80fd\u5426\u7cfb\u7edf\u5316\u8986\u76d6\u6574\u4e2a\u201c\u65e5\u672c\u751f\u6d3b\u751f\u5b58\u6811\u201d\u800c\u975e\u96f6\u6563\u6253\u8865\u4e01\uff0c\u51b3\u5b9a\u4e86\u5b83\u4ece\u201c\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u5e73\u53f0\u201d\u7684\u53ef\u80fd\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u6559\u5b66\u6cd5\uff0c\u800c\u5728\u5b83\u9a8c\u8bc1\u4e86\u4e00\u4e2a\u5047\u8bbe\uff1a\u8bed\u8a00\u5b66\u4e60\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u53ef\u4ee5\u662f\u201c\u5bf9\u4e00\u56fd\u751f\u6d3b\u7684\u9897\u7c92\u5ea6\u7406\u89e3\u201d\uff0c\u800c\u975e\u7b97\u6cd5\u6216\u5185\u5bb9\u7248\u6743\u3002\u5982\u679cYokoso\u80fd\u5c06\u7528\u6237\u8d21\u732e\u7684\u771f\u5b9e\u573a\u666f\uff08\u5982\u5feb\u9012\u7535\u8bdd\uff09\u7ed3\u6784\u5316\u6c89\u6dc0\u4e3a\u53ef\u7f16\u8f91\u7684\u793e\u533a\u8bed\u6599\u5e93\uff0c\u5b83\u6709\u673a\u4f1a\u6210\u4e3a\u65e5\u672c\u751f\u6d3b\u7c7bApp\u7684\u201c\u767e\u79d1\u5165\u53e3\u201d\u2014\u2014\u4f46\u524d\u63d0\u662f\uff0c\u521b\u59cb\u4eba\u5bf9\u201c\u5c0f\u800c\u7f8e\u201d\u7684\u575a\u6301\u4e0d\u4f1a\u53d8\u6210\u201c\u5c0f\u800c\u8106\u201d\u3002\u76ee\u524d\u7248\u672c\u662f\u4f18\u79c0\u7684MVP\uff0c\u8ddd\u79bb\u201c\u5fc5\u88c5\u5e94\u7528\u201d\u8fd8\u6709\u81f3\u5c11\u4e00\u4e2a\u91cf\u7ea7\u7684\u60c5\u5883\u6df1\u5ea6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Yokoso<\/span>\n                <\/div>\n<div class=\"comment-content\">Free Japanese learning for real life in Japan. Yokoso adapts around what you know, teaches signs, prices and grammar in context, imports WaniKani progress, works offline, and has no ads, streaks or locked lessons.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt, I\u2019m James, the person behind Yokoso.<\/p>\n<p>I started building it after moving to northern Japan and realizing that most beginner apps were teaching Japanese in an order that had very little to do with the life happening around me. I needed to read signs, understand prices, recognize counters, and make sense of the grammar inside useful phrases. I also did not want to start over every time I tried a new tool.<\/p>\n<p>Yokoso opens directly into learning and adapts around what you already know. New material arrives as a lightweight probe. When you know it, the app skips the lesson. When you do not, it teaches the answer and explains why. It can also import WaniKani and Bunpro progress so those learners keep the work they have already done.<\/p>\n<p>The app is free forever, with no ads, streaks, lives, paywalls, or locked lessons. Optional supporter contributions unlock nothing.<\/p>\n<p>I would especially value feedback on two things:<\/p>\n<p>1. Does the first five minutes make it clear why Yokoso is different?<br \/>\n2. Which real-life Japanese situation should the app teach better next?<\/p>\n<p>The web app works offline and without an account, and the iOS app is live. Thanks for taking a look.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@james_ketola\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@james_ketola<\/a>&nbsp;Hi James, kudos on making a practical language learning product! Though I am not studying Japanese, I used to study Chinese (and a few other languages). I remember the frustration over books and apps NOT being adapted to everyday practical speech. I am pretty sure the app is very useful, the fact you built it to match your own situation (living in Japan) and that the app adapts to your level says it all for me ^__^<br \/>Good luck on the launch, hope Yokoso gets noticed by learners of Japanese!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;no streaks, no lives, no locked lessons&#8221; line is what got me, most language apps are optimized to keep you opening the app rather than to make you actually capable in the country. one situation I&#8217;d add to the pharmacy\/city hall\/garbage list already here: phone calls for redelivery when you miss a parcel. it comes up constantly, it&#8217;s pure listening under pressure with no visual context, and almost every learner I know just avoids answering the phone entirely instead of dealing 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch!<\/p>\n<p>I&#8217;ve been learning Japanese for 6 years so far, and I&#8217;ve been satisfied with how my sensei teaches, but I must admit I&#8217;m still afraid to use the language in everyday situations. And I think it&#8217;s mostly because I try to speak it the European way; I&#8217;m still not good at aizuchi, so all my conversations feel a bit stiff, like taken straight from a workbook. Watching anime doesn&#8217;t help at all, maybe because seiyuu are doing a great job articulating&#8230;  Reading the launch desc, I feel like Yokoso may be the help I need, so I&#8217;ll definitely give it a try \ud83d\ude09<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch, James! \ud83c\udf89<\/p>\n<p>I&#8217;m Japanese, born and raised, and I just want to say \u2014 seeing someone move to northern Japan and build something this thoughtful for learners made me really happy. The name made me smile too (\u3088\u3046\u3053\u305d!).<\/p>\n<p>What resonated most with me is the philosophy: no streaks, no lives, no paywalls, and respecting what learners already know. That&#8217;s rare. And as a native speaker, I can confirm that counters, prices, and signs are exactly the things textbooks skip but real life throws at you on day one.<\/p>\n<p>For your second question \u2014 a few situations I&#8217;d love to see Yokoso teach, because they trip up every foreign friend I&#8217;ve helped:<\/p>\n<ul>\n<li>\n<p>The pharmacy \/ clinic: describing symptoms and understanding dosage instructions (\u98df\u5f8c, 1\u65e53\u56de, etc.)<\/p>\n<\/li>\n<li>\n<p>City hall paperwork: \u4f4f\u6c11\u7968, \u4fdd\u967a, \u5e74\u91d1 \u2014 the vocabulary is brutal but unavoidable<\/p>\n<\/li>\n<li>\n<p>Garbage separation rules: \u71c3\u3048\u308b\u30b4\u30df vs \u8cc7\u6e90\u30b4\u30df, and the collection-day signage<\/p>\n<\/li>\n<li>\n<p>Train delay announcements: \u9045\u5ef6, \u904b\u8ee2\u898b\u5408\u308f\u305b, \u632f\u66ff\u8f38\u9001 \u2014 these are stressful even to half-understand<\/p>\n<\/li>\n<\/ul>\n<p>Rooting for you from Japan. \u5fdc\u63f4\u3057\u3066\u3044\u307e\u3059!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/E5MDACMFXICLVX\" class=\"app-title\">Domo<\/a><\/p>\n<div class=\"one-liner\">Build and customize your own calendar agent you can text<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">82<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Domo \u662f\u4e00\u4e2a\u53ef\u81ea\u884c\u642d\u5efa\u7684\u201c\u5bb6\u5ead\u65e5\u5386\u4ee3\u7406\u201d\uff0c\u5b83\u62e5\u6709\u72ec\u7acb\u7535\u8bdd\u53f7\u7801\uff0c\u5bb6\u4eba\u901a\u8fc7 iMessage\/\u77ed\u4fe1\u5c31\u80fd\u6dfb\u52a0\u65e5\u7a0b\uff0c\u5e76\u914d\u5408\u5e38\u9a7b\u5899\u9762\u7684\u4eea\u8868\u76d8\uff0c\u89e3\u51b3\u201c\u5bb6\u5ead\u65e5\u5386\u65e0\u4eba\u6253\u5f00\u3001\u4fe1\u606f\u4e0d\u540c\u6b65\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\/bded355e-3f1f-4e8b-b9c1-adb972e159a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d88a4693-3013-43be-b094-1f8eb73eed15.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7f0723d6-52a7-4b5b-a2be-7003334a0252.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f4cb433e-0263-4268-ac55-19c15d6a34e5.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\/2294f515-31a1-4444-a144-ea7474937491.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Q_RAgwbsjGw\"><source src=\"https:\/\/www.youtube.com\/watch?v=Q_RAgwbsjGw\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Home<\/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\">\u65e5\u5386\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u5bb6\u5ead\u5171\u4eab<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">\u77ed\u4fe1\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u65e0API\u5bc6\u94a5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6a21\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5bb6\u5c45<\/span><br \/>\n            <span class=\"tag\">\u65e5\u7a0b\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\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\u53cd\u9988\u96c6\u4e2d\u5728\u5b89\u88c5\u4fbf\u6377\u6027\uff0830\u5206\u949f\u53ef\u4e0a\u624b\uff09\u3001\u5bf9\u975e\u6280\u672f\u7528\u6237\u7684\u53cb\u597d\u5ea6\uff0c\u5e76\u79f0\u8d5e\u5176\u66ff\u4ee3\u590d\u6742\u81ea\u52a8\u5316\u65b9\u6848\u3002\u6838\u5fc3\u7591\u95ee\uff1a\u662f\u5426\u652f\u6301\u672c\u5730\u6a21\u578b\/\u5176\u4ed6\u6846\u67b6\u8fd0\u884c\uff1f\u5f00\u53d1\u56e2\u961f\u56de\u5e94\u79f0\u5f53\u524d\u6307\u5357\u4f9d\u8d56Claude Code\u7279\u6027\uff0c\u4f46\u4e50\u4e8e\u534f\u4f5c\u9002\u914d\u3002\u4e00\u6761\u529f\u80fd\u9650\u5236\uff1a\u4ee3\u7406\u4ec5\u80fd\u7f16\u8f91\u516c\u5171\u65e5\u5386\uff0c\u65e0\u6cd5\u5199\u5165\u4e2a\u4eba\u65e5\u7a0b\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                Domo \u8868\u9762\u4e0a\u662f\u4e2a\u201c\u5bb6\u5ead\u65e5\u5386\u673a\u5668\u4eba\u201d\uff0c\u4f46\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u628a Claude \u8ba2\u9605\u53d8\u6210\u4e86\u4e00\u4ef6\u201c\u5bb6\u7528\u54c1\u201d\u2014\u2014\u4e00\u4e2a\u7528\u77ed\u4fe1\u5c31\u80fd\u64cd\u63a7\u7684\u5177\u8eab\u667a\u80fd\u4f53\u3002\u8fd9\u51fb\u4e2d\u4e86\u4e24\u4e2a\u5173\u952e\u53d9\u4e8b\uff1a\u4e00\u662f\u201cAI \u4ee3\u7406\u4e0d\u8be5\u53ea\u5b58\u5728\u4e8e\u804a\u5929\u7a97\u53e3\u201d\uff0c\u4e8c\u662f\u201c\u5bf9\u6297\u5e94\u7528\u5b64\u5c9b\u7684\u6700\u597d\u65b9\u5f0f\u662f\u8ba9\u754c\u9762\u6d88\u5931\u201d\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u5bf9\u201c\u65e0 API \u6210\u672c\u3001\u5feb\u901f\u81ea\u5efa\u201d\u7684\u8ba4\u53ef\u5ea6\u6781\u9ad8\uff0c\u8fd9\u4e0e\u5f53\u524d AI \u4ea7\u54c1\u6309 token \u8ba1\u8d39\u7684\u903b\u8f91\u5f62\u6210\u9c9c\u660e\u53cd\u5dee\uff0c\u6697\u793a\u4e86\u8ba2\u9605\u5236\u6a21\u578b\u5728\u4e2a\u4eba\u81ea\u52a8\u5316\u573a\u666f\u4e0b\u7684\u65b0\u53d8\u73b0\u8def\u5f84\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u51b7\u6c34\u3002\u9996\u5148\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u7cbe\u81f4 demo\u201d\u800c\u975e\u6210\u719f\u4ea7\u54c1\uff1a\u5b89\u88c5\u79bb\u4e0d\u5f00\u7ec8\u7aef\u4e0e Claude Code\uff0c\u53cc\u4eba\u4e8c\u6b21\u4ea4\u63a5\u95e8\u69db\u5b9e\u9645\u4e0a\u6392\u9664\u4e86\u5927\u591a\u6570\u5bb6\u5ead\u7528\u6237\u2014\u2014\u8bc4\u8bba\u4e2d\u90a3\u4f4d\u201c\u975e\u6280\u672f\u4f46\u5b66\u4e86\u51e0\u5468\u7ec8\u7aef\u201d\u7684\u4f53\u9a8c\u8005\u5df2\u662f\u5929\u82b1\u677f\u3002\u5176\u6b21\uff0c\u4e00\u65e6\u6d89\u53ca\u4e2a\u4eba\u65e5\u5386\u5199\u5165\uff0c\u6743\u9650\u6a21\u578b\u7acb\u523b\u53d8\u5f97\u8106\u5f31\uff08\u8bc4\u8bba\u5df2\u66b4\u9732\u6b64\u9650\u5236\uff09\uff0c\u800c\u5bb6\u5ead\u65e5\u7a0b\u7684\u672c\u8d28\u662f\u201c\u4e2a\u4eba\u4e0e\u516c\u5171\u7684\u6df7\u5408\u4f53\u201d\uff0c\u8fd9\u76f4\u63a5\u52a8\u6447\u4e86\u5176\u6838\u5fc3\u573a\u666f\u3002\u6700\u540e\uff0c\u4ea7\u54c1\u5ba3\u79f0\u201c\u6a21\u5f0f\u5927\u4e8e\u4ea7\u54c1\u201d\uff0c\u8fd9\u65e2\u662f\u806a\u660e\u7684\u5f00\u6e90\u7b56\u7565\uff0c\u4e5f\u662f\u63a8\u5378\u8d23\u4efb\u7684\u501f\u53e3\uff1a\u5982\u679c\u6838\u5fc3\u4ef7\u503c\u662f\u201c\u53ef\u590d\u5236\u7684\u6a21\u5f0f\u201d\uff0c\u90a3\u4e48\u62a4\u57ce\u6cb3\u6781\u5176\u6709\u9650\uff0c\u4efb\u4f55\u4e00\u4e2a\u61c2 Claude Code \u7684\u5f00\u53d1\u8005\u90fd\u80fd\u590d\u5236\uff0c\u4e14\u672c\u5730\u6a21\u578b\u4e00\u65e6\u6210\u719f\uff0c\u8fd9\u5957\u57fa\u4e8e\u4e91\u7aef\u8ba2\u9605\u7684\u67b6\u6784\u4f1a\u77ac\u95f4\u5931\u53bb\u6210\u672c\u4f18\u52bf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u771f\u6b63\u7684\u9057\u4ea7\u53ef\u80fd\u662f\u201c\u53cd App\u201d\u7684\u8bbe\u8ba1\u54f2\u5b66\u2014\u2014\u8ba9 AI \u901a\u8fc7\u6700\u6734\u7d20\u7684\u754c\u9762\uff08\u77ed\u4fe1+\u5899\u9762\uff09\u56de\u5f52\u5de5\u5177\u5c5e\u6027\u3002\u4f46\u82e5\u60f3\u6210\u4e3a\u5927\u4f17\u4ea7\u54c1\uff0cDomo \u9700\u8981\u56de\u7b54\u7684\u4e0d\u662f\u201c\u4f60\u7684\u5bb6\u5ead\u4f1a\u53d1\u4ec0\u4e48\u77ed\u4fe1\u201d\uff0c\u800c\u662f\u201c\u5982\u4f55\u8ba9\u5b8c\u5168\u4e0d\u61c2\u6280\u672f\u7684\u4eba\uff0c\u5728 10 \u5206\u949f\u5185\u5b8c\u6210\u4ece\u5b89\u88c5\u5230\u53ef\u4fe1\u8d56\u7684\u8fc7\u6e21\u201d\u3002\u76ee\u524d\uff0c\u5b83\u53ea\u662f\u6781\u5ba2\u5bb6\u5ead\u7684\u5149\u9c9c\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Domo<\/span>\n                <\/div>\n<div class=\"comment-content\">Domo is a purpose-built agent that keeps your family calendar. It has its own phone number you iMessage or text (&#8220;add dentist Thursday at 3&#8221;), and an always-on wall dashboard that stays current. It&#8217;s built with native Claude Code tooling and runs on your existing Claude subscription: no API key, no per-token bill. Install it by handing the guide to a coding agent. It&#8217;s a pattern as much as a product: swap the purpose and build your own. We build in public; come see what others are making.<\/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>Family plans have a way of living in an app nobody opens. I wanted the opposite: the calendar on the kitchen wall, and changes one text away. No app, no login, no new inbox.<\/p>\n<\/p>\n<p>So I built Domo, a purpose-built calendar agent. It has its own phone number, and everyone in the house just texts it over iMessage or SMS: &#8220;add dentist Thursday at 3&#8221;, &#8220;when&#8217;s the recital?&#8221; An always-on dashboard on the wall stays current with today&#8217;s schedule and the week ahead. Soccer, the dentist, the thing at school on Friday: everyone&#8217;s on the same page.<\/p>\n<\/p>\n<p>The part I like most: there&#8217;s no framework under it. Domo is built with native Claude Code tooling and runs on the Claude subscription I already pay for. No API key, no per-token bill. It installs by handing the how-to guide to a coding agent; you do two handoffs yourself (a browser sign-in with the calendar connect, and one activation text).<\/p>\n<\/p>\n<p>Domo&#8217;s awake right now \u2014 come play with it:<\/p>\n<p>\ud83d\udda5\ufe0f Watch the wall dashboard live: <a href=\"http:\/\/twitch.tv\/plucas_pivots\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">twitch.tv\/plucas_pivots<\/a><\/p>\n<p>\ud83d\udcac Reply &#8220;Hey Domo&#8221; right here \u2014 ask what our family&#8217;s up to this weekend, or put something on our calendar (&#8220;Hey Domo, add a pizza party Friday at 6&#8221;) and watch it appear on the wall, on stream, within the minute<\/p>\n<p>\ud83d\udc26 On X, mention @plonkus and say &#8220;Hey Domo&#8221;: <a href=\"http:\/\/x.com\/plonkus\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">x.com\/plonkus<\/a><\/p>\n<p>\ud83c\udfae Or come hang out with it on our Discord: <a href=\"https:\/\/discord.gg\/RTvHyYy3B\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/RTvHyYy3B<\/a><\/p>\n<\/p>\n<p>And it&#8217;s a pattern as much as a product. Swap the purpose and build your own, then bring it to our Discord and show us what you got.<\/p>\n<\/p>\n<p>Would love your feedback. What would your household text?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Domo&#8211;  Add a 1:1 on plucas&#8217;s calendar for 2pm today!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks for the ping! I can only add things to the public calendar \u2014 I can&#8217;t write to anyone&#8217;s personal calendar from here. If it needs to land on plucas&#8217;s own calendar, that one has to be asked on the house line.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Domo! What&#8217;s on my calendar next week?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Next week (Aug 10\u201316) is a full one! Mon: Meet the Teacher 9:30, Open Gym 12:45, Zelda dinner with Ezra 5:30, outfits + lunches 7pm. Tue: \ud83c\udf92 First Day of School \u2014 photos at 7:45, back-to-school ice cream 3:30. Wed: bins out, Open Gym. Fri: Open Gym, First Friday pizza night 6pm. Sat: knife sharpening at Taylor&#8217;s, farmers market + library 9am. Thursday&#8217;s the only clear 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>I love it!  I just did the entire installing. I am not really a tech but learned over the weeks how to use terminal and claude to ease regular tasks. This is now a true gamechanger. Back then I tried doing calendar automations with shortcuts, notion and other agents, which always turns out to be very complicated and easy to trigger bugs or broken connectors. Took me 30 min setting this up, and while testing I already love it.  Will continue testing it over the week and see how it goes!  \ud83e\udd29<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is awesome, briefly looked it over and wondering one thing: would this install just the same with a different harness + something like a local model? Have had building my own local calendar bot on my todo list for awhile now, and if Domo can bridge that gap I don&#8217;t even need to build it anymore!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks \u2014 glad it landed! I don&#8217;t want to guess on that one, though: whether a different harness or a local model drops in cleanly isn&#8217;t something I can confirm from here. The setup docs in the repo and plucas himself are the right call on that one, and it&#8217;s a fair question to ask right here in the thread.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@inferhaven\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@inferhaven<\/a>&nbsp;Hey! Great question. This guide walks through a lot of Claude Code specific features (like Channels, and the Connector they use for Google Calendar). It&#8217;s definitely possible to have a similar setup with a different harness and a local model, but it would be a different guide. Would be happy to work with you on that if you&#8217;re interested! LMK in our Discord &#8212; <a href=\"http:\/\/watchmepivot.com\/discord\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">watchmepivot.com\/discord<\/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\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/UZAS7FWHFY4RQ7\" class=\"app-title\">MOTHER <\/a><\/p>\n<div class=\"one-liner\">A terminal built for Claude Code w\/ one-click session resume<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">80<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>MOTHER \u662f\u4e00\u6b3e\u4e13\u4e3a Claude Code \u6253\u9020\u7684 macOS \u539f\u751f\u7ec8\u7aef\uff0c\u901a\u8fc7\u9879\u76ee\u542f\u52a8\u5668\u3001\u4e00\u952e\u4f1a\u8bdd\u6062\u590d\u548c\u83dc\u5355\u680f\u7b49\u5f85\u63d0\u9192\uff0c\u89e3\u51b3\u5f00\u53d1\u8005\u591a\u4f1a\u8bdd\u7ba1\u7406\u6df7\u4e71\u3001\u9891\u7e41\u5207\u6362\u4e0a\u4e0b\u6587\u53ca\u9519\u8fc7 AI \u7b49\u5f85\u786e\u8ba4\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\/81f8fc50-956e-4d8c-b053-eaf0e8bd39fd.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\/33ebac14-7d7c-4c87-bb97-e9531d85dd7c.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=rMh9kLHb2P8\"><source src=\"https:\/\/www.youtube.com\/watch?v=rMh9kLHb2P8\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS\u7ec8\u7aef<\/span><br \/>\n            <span class=\"tag\">Claude Code\u4e13\u7528<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u6062\u590d<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u63d0\u5347<\/span><br \/>\n            <span class=\"tag\">\u8ba2\u9605\u5236<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7a0b\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u9879\u76ee\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u539f\u751f\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u83dc\u5355\u680f\u63d0\u9192\u4ef7\u503c\uff0c\u4f46\u8d28\u7591\u5176\u80fd\u5426\u533a\u5206\u201c\u771f\u7b49\u5f85\u201d\u4e0e\u201c\u601d\u8003\u4e2d\u201d\uff1b\u5173\u5fc3\u4f1a\u8bdd\u662f\u5426\u652f\u6301\u8de8\u5de5\u5177\u6062\u590d\uff08\u4ec5\u9650\u5e94\u7528\u5185\uff09\uff1b\u6709\u7528\u6237\u5efa\u8bae\u5c06\u5356\u70b9\u805a\u7126\u201c\u63d0\u9192\u201d\u800c\u975e\u542f\u52a8\u5668\uff1b\u53e6\u6709\u7528\u6237\u8be2\u95ee\u591a\u4f1a\u8bdd\u63d0\u9192\u662f\u5426\u6307\u660e\u5177\u4f53\u7b49\u5f85\u9879\uff0c\u83b7\u7b54\u590d\u79f0\u53ef\u6307\u660e\u4f1a\u8bdd\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                MOTHER \u8e29\u4e2d\u4e86 AI \u7f16\u7a0b\u5de5\u5177\u94fe\u4e2d\u4e00\u4e2a\u771f\u5b9e\u4e14\u9ad8\u9891\u7684\u75db\u70b9\uff1aClaude Code \u5728\u5f02\u6b65\u6267\u884c\u65f6\uff0c\u5f00\u53d1\u8005\u79bb\u5f00\u540e\u8fd4\u56de\uff0c\u9762\u5bf9\u7684\u662f\u65e0\u6570\u4e2a\u201c\u60ac\u800c\u672a\u51b3\u201d\u7684\u6743\u9650\u786e\u8ba4\u6216\u62a5\u9519\u3002\u5b83\u628a\u201c\u7ec8\u7aef\u201d\u548c\u201cClaude \u4f1a\u8bdd\u201d\u7ed1\u5b9a\uff0c\u770b\u4f3c\u662f\u91cd\u9020\u8f6e\u5b50\uff0c\u5b9e\u5219\u662f\u5728\u4e3a\u7279\u5b9a\u5de5\u4f5c\u6d41\u5b9a\u5236\u201c\u9a7e\u9a76\u8231\u201d\u2014\u2014\u9879\u76ee\u542f\u52a8\u548c\u4f1a\u8bdd\u6062\u590d\u53ea\u662f\u57fa\u7840\u529f\u80fd\uff0c\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u662f\u90a3\u4e2a\u4e0d\u51fa\u9519\u7684\u83dc\u5355\u680f\u63d0\u9192\u3002\u7136\u800c\uff0c\u8fd9\u91cc\u66b4\u9732\u4e86\u4ea7\u54c1\u5b9a\u4f4d\u7684\u6447\u6446\uff1a\u6807\u8bed\u5f3a\u8c03\u201cterminal built for Claude Code\u201d\uff0c\u4f46\u8bc4\u8bba\u533a\u6700\u54cd\u4eae\u7684\u53cd\u9988\u5374\u6307\u5411\u201c\u63d0\u9192\u201d\u3002\u5f00\u53d1\u8005\u5fc5\u987b\u8b66\u60d5\u529f\u80fd\u53e0\u52a0\u5e26\u6765\u7684\u8ba4\u77e5\u8d1f\u8377\uff0c\u63d0\u9192\u529f\u80fd\u82e5\u65e0\u6cd5\u7cbe\u51c6\u5224\u65ad\u201cClaude \u601d\u8003\u4e2d\u201d\u4e0e\u201c\u771f\u9700\u8981\u4eba\u201d\uff0c\u5c31\u4f1a\u6ca6\u4e3a\u72fc\u6765\u4e86\u7684\u5587\u53ed\uff0c\u8fc5\u901f\u5931\u53bb\u4fe1\u4efb\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u4ec5\u9650\u5e94\u7528\u5185\u6062\u590d\u4f1a\u8bdd\u7684\u5c01\u95ed\u903b\u8f91\uff0c\u5272\u88c2\u4e86\u7528\u6237\u73b0\u6709\u7684\u8de8\u5de5\u5177\u5de5\u4f5c\u6d41\uff08\u5982 Windsurf \u4e0e\u539f\u751f\u7ec8\u7aef\u5e76\u5b58\uff09\uff0c\u8fd9\u4f1a\u8ba9\u5b83\u6ca6\u4e3a\u201c\u7b2c\u4e8c\u7ec8\u7aef\u201d\u800c\u975e\u201c\u552f\u4e00\u7ec8\u7aef\u201d\uff0c\u9650\u5236\u4e86\u4f20\u64ad\u548c\u7559\u5b58\u30029.99 \u7f8e\u5143\u7684\u5b9a\u4ef7\u5408\u7406\uff0c\u4f46\u4ef7\u503c\u4e3b\u5f20\u5e94\u6d53\u7f29\u4e3a\u201c\u522b\u518d\u76ef\u7740\u5c4f\u5e55\u7b49 Claude\u201d\uff0c\u800c\u975e\u5206\u6563\u5728\u542f\u52a8\u5668\u3001\u4f1a\u8bdd\u5217\u8868\u7b49\u529f\u80fd\u70b9\u4e0a\u3002\u5efa\u8bae\u628a\u83dc\u5355\u680f\u63d0\u9192\u505a\u6df1\u505a\u900f\uff0c\u751a\u81f3\u5f00\u653e API \u5bf9\u63a5\u5176\u4ed6\u5de5\u5177\uff0c\u5426\u5219\u5b83\u53ea\u7b97\u4e00\u4e2a\u9ad8\u7ea7\u7684\u4f1a\u8bdd\u7ba1\u7406\u5668\uff0c\u800c\u975e\u4e0d\u53ef\u66ff\u4ee3\u7684 AI \u534f\u4f5c\u4e2d\u67a2\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\">MOTHER <\/span>\n                <\/div>\n<div class=\"comment-content\">A native macOS terminal built around Claude Code. Project launcher, one-click session resume, and a menu-bar alert when Claude needs you. $9.99.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I wanted a terminal app built specifically for Claude code instead of merely running it. MOTHER treats Claude sessions as first-class citizens \u2014 launching them, resuming them, and telling you when they need you.<\/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>What&#8217;s the difference between this and Warp? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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 run Claude Code mostly inside Windsurf when I want the editor context, and in a plain terminal for quick throwaway tasks. Does session resume work across that split, or is a MOTHER session only resumable from inside MOTHER itself?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aareldigital\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aareldigital<\/a>&nbsp;Only resumable from within the app itself.  That&#8217;s a good idea for additional functionality though.  I&#8217;ll have to investigate that.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>shipped my entire product from claude code so this one hits home. question from my actual week: I usually run two or three sessions in parallel and the pain is knowing which one is waiting on me. does the menu bar alert say which session needs you or is it one generic ping?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@artem_t\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artem_t<\/a>&nbsp;It specifies which session is waiting for your attention.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the alert only helps if i trust it, one false &#8216;needs you&#8217; and i tune it out. how does it tell a real permission stop from claude just still thinking?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Bro this menu-bar alert thing is exactly what I needed \ud83d\ude02 I&#8217;ve lost count of how many times I&#8217;ve made coffee, come back, and Claude is just sitting there waiting for a yes\/no like a lost puppy<\/p>\n<p>$9.99 is honestly a steal for the headache this saves. One thing though \u2014 if I quit the app completely and reopen it later, does the session pick up from where it left off? Or do I need to keep it running in the background?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sumeet_m_mallik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sumeet_m_mallik<\/a>&nbsp;You can quit completely and then reopen a session when you resume.  The start screen lists your recent sessions and you click on the session you want to resume.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 menu bar alert is the whole product and it&#8217;s third in your own sentence. Launching and resuming are conveniences, the thing that actually costs me is walking away while Claude works and coming back twenty minutes after it stopped on a permission prompt. I&#8217;d rewrite the tagline around that and let the launcher be a bullet underneath. At $9.99 you don&#8217;t need a feature list, you need one sentence someone recognises from their own week.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asadmalik901\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asadmalik901<\/a>&nbsp;That&#8217;s a great idea.  Thanks for the advice!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HLU2KS3CIMW4LF\" class=\"app-title\">ScrollToll<\/a><\/p>\n<div class=\"one-liner\">Counts every Reel you watch, then locks the app.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">79<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ScrollToll \u662f\u4e00\u6b3e\u901a\u8fc7\u7cbe\u51c6\u8ba1\u6570\u77ed\u89c6\u9891\u5237\u53d6\u91cf\u5e76\u5728\u8fbe\u5230\u6bcf\u65e5\u4e0a\u9650\u65f6\u5f3a\u5236\u9501\u5b9a\u5e94\u7528\u3001\u8981\u6c42\u5b8c\u6210\u547c\u5438\u7ec3\u4e60\u624d\u80fd\u89e3\u9501\u7684\u5b89\u5353\u5de5\u5177\uff0c\u4e13\u95e8\u89e3\u51b3\u201c\u65f6\u95f4\u62bd\u8c61\u3001\u8b66\u544a\u65e0\u6548\u201d\u7684\u77ed\u89c6\u9891\u6210\u763e\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\/f5119ed3-1fc5-4a44-92f1-a92739f51da7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5e7018d4-3311-4e5e-a0a2-8ec4837f7f03.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/edcbeaa7-823d-40f6-adbd-7b5e41674aea.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/724f303a-5f3d-4b27-9a56-a855f2cd2da5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/38899def-99f6-4a2d-9cd6-ba8a60a33f25.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\/ddd5517a-1187-4994-83e7-35b0d7f7c432.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/asDZyrykBm8?si=a1l8LqbA39Ur44Hd\"><source src=\"https:\/\/youtube.com\/shorts\/asDZyrykBm8?si=a1l8LqbA39Ur44Hd\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Health<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u77ed\u89c6\u9891\u9632\u6c89\u8ff7<\/span><br \/>\n            <span class=\"tag\">\u5237\u91cf\u9650\u5236<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u5065\u5eb7<\/span><br \/>\n            <span class=\"tag\">\u6ce8\u610f\u529b\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u884c\u4e3a\u5e72\u9884<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5353\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e0\u969c\u788d\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u547c\u5438\u7ec3\u4e60<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6211\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u63d0\u5347<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u201c\u8ba1\u6570\u89c6\u9891\u201d\u6bd4\u201c\u8ba1\u65f6\u201d\u66f4\u5177\u5b9e\u611f\uff0c\u80fd\u6709\u6548\u6253\u65ad\u5237\u89c6\u9891\u7684\u53cd\u5c04\u884c\u4e3a\u3002\u4e3b\u8981\u7591\u8651\u96c6\u4e2d\u5728\u65e0\u969c\u788d\u6743\u9650\u7684\u9690\u79c1\u63a5\u53d7\u5ea6\u4e0a\uff0c\u5e76\u8be2\u95ee\u201c\u547c\u5438\u89e3\u9501\u201d\u7684\u6469\u64e6\u529b\u5ea6\u662f\u5426\u5408\u9002\uff0c\u4e5f\u6709\u89c2\u70b9\u8ba4\u4e3a\u5355\u7eaf\u786c\u6027\u963b\u65ad\u5df2\u8db3\u4ee5\u4fc3\u4f7f\u4eba\u56de\u5f52\u5de5\u4f5c\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                ScrollToll \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u628a\u201c\u65f6\u95f4\u201d\u8fd9\u4e2a\u62bd\u8c61\u5355\u4f4d\u6362\u6210\u201c\u89c6\u9891\u6570\u91cf\u201d\u8fd9\u4e2a\u5177\u8c61\u5355\u4f4d\uff0c\u5207\u4e2d\u4e86\u6210\u763e\u673a\u5236\u4e2d\u201c\u518d\u5237\u4e00\u4e2a\u201d\u7684\u8fed\u4ee3\u51b2\u52a8\u2014\u2014\u5b83\u4e0d\u544a\u8bc9\u4f60\u201c\u4f60\u6d6a\u8d39\u4e861\u5c0f\u65f6\u201d\uff08\u5927\u8111\u4f1a\u53cd\u9a73\uff09\uff0c\u800c\u662f\u544a\u8bc9\u4f60\u201c\u4f60\u5df2\u7ecf\u770b\u4e8647\u4e2a\u89c6\u9891\u201d\uff08\u65e0\u6cd5\u62b5\u8d56\uff09\u3002\u8fd9\u79cd\u5fc3\u7406\u951a\u70b9\u7684\u8f6c\u6362\uff0c\u6bd4\u5e02\u9762\u4e0a\u6240\u6709\u5c4f\u5e55\u65f6\u95f4\u7ba1\u7406\u5de5\u5177\u90fd\u66f4\u63a5\u8fd1\u884c\u4e3a\u4e0a\u763e\u7684\u795e\u7ecf\u56de\u8def\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u201c\u8ba1\u6570\u201d\uff0c\u800c\u5728\u201c\u65e0\u5546\u91cf\u4f59\u5730\u7684\u6267\u884c\u201d\u3002\u6ca1\u6709\u201c\u7a0d\u540e\u63d0\u9192\u201d\u6309\u94ae\uff0c\u53ea\u6709\u201c\u547c\u5438\u6216\u9000\u51fa\u201d\uff0c\u8fd9\u5b9e\u9645\u4e0a\u662f\u7528\u201c\u8bbe\u8ba1\u66b4\u529b\u201d\u5bf9\u6297\u201c\u610f\u5fd7\u529b\u8584\u5f31\u201d\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u5374\u53ef\u80fd\u5f15\u53d1\u4e24\u79cd\u540e\u679c\uff1a\u91cd\u5ea6\u7528\u6237\u4f1a\u76f4\u63a5\u5378\u8f7d\uff0c\u8f7b\u5ea6\u7528\u6237\u5219\u89c9\u5f97\u201c\u547c\u5438\u7ec3\u4e60\u201d\u592a\u9ebb\u70e6\u800c\u653e\u5f03\u3002\u5f00\u53d1\u8005\u7ea0\u7ed3\u7684\u201c\u6469\u64e6\u529b\u5ea6\u201d\u5176\u5b9e\u662f\u4f2a\u547d\u9898\u2014\u2014\u547c\u5438\u9053\u963b\u9694\u53ea\u662f\u8868\u5c42\uff0c\u6838\u5fc3\u5728\u4e8e\u7528\u6237\u662f\u5426\u5728\u5378\u8f7d\u524d\u4ea7\u751f\u201c\u884c\u4e3a\u53cd\u601d\u201d\uff0c\u5426\u5219\u8fd9\u4e2a\u673a\u5236\u4e0d\u8fc7\u662f\u53e6\u4e00\u4e2a\u53ef\u7ed5\u8fc7\u7684\u969c\u788d\u7269\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u5c16\u9510\u7684\u95ee\u9898\u662f\u6743\u9650\u4fe1\u4efb\u3002AccessibilityService \u662f\u5b89\u5353\u4e0a\u6700\u654f\u611f\u7684\u80fd\u529b\uff0c\u5f00\u53d1\u8005\u867d\u7136\u58f0\u660e\u201c\u4e00\u5207\u672c\u5730\u5316\u201d\uff0c\u4f46\u8fd9\u5728UI\u5c42\u9762\u65e0\u6cd5\u81ea\u8bc1\uff0c\u7528\u6237\u53ea\u80fd\u51ed\u4fe1\u4efb\u6295\u7968\u3002\u5bf9\u4e00\u6b3e\u81ea\u5f8b\u5de5\u5177\u800c\u8a00\uff0c\u521d\u59cb\u4fe1\u4efb\u95e8\u69db\u8fc7\u9ad8\u4f1a\u8fc7\u6ee4\u6389\u6700\u9700\u8981\u5b83\u7684\u4eba\u3002\u800c\u514d\u8d39\u7248\u4ec5\u9650\u4e00\u4e2a\u5e94\u7528\u7684\u9650\u5236\uff0c\u4e5f\u5bb9\u6613\u8ba9\u7528\u6237\u89c9\u5f97\u201c\u88ab\u8bf1\u5bfc\u4ed8\u8d39\u201d\uff0c\u800c\u975e\u201c\u4e3a\u4ef7\u503c\u4e70\u5355\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cScrollToll \u662f\u4e00\u6b21\u5927\u80c6\u4e14\u6709\u6548\u7684\u884c\u4e3a\u5b9e\u9a8c\uff0c\u4f46\u5b83\u8fd8\u662f\u201c\u5916\u90e8\u5239\u8f66\u201d\uff0c\u4e0d\u662f\u201c\u5185\u90e8\u9a7e\u9a76\u7cfb\u7edf\u201d\u3002\u5b83\u5bf9\u81ea\u6211\u6b3a\u9a97\u6709\u6740\u4f24\u529b\uff0c\u5bf9\u771f\u6b63\u7684\u5206\u5fc3\u6e90\u5934\u2014\u2014\u65e0\u804a\u3001\u7126\u8651\u3001\u9003\u907f\u2014\u2014\u65e0\u80fd\u4e3a\u529b\u3002\u5982\u679c\u540e\u7eed\u80fd\u52a0\u5165\u201c\u89e3\u9501\u540e\u7684\u53cd\u601d\u5f15\u5bfc\u201d\u6216\u201c\u4f7f\u7528\u5468\u671f\u5206\u6790\u62a5\u544a\u201d\uff0c\u5b83\u624d\u80fd\u4ece\u201c\u9501\u201d\u8fdb\u5316\u4e3a\u201c\u6559\u7ec3\u201d\u3002\u73b0\u5728\uff0c\u5b83\u53ea\u662f\u4e00\u4e2a\u5f88\u806a\u660e\u7684\u60e9\u7f5a\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">ScrollToll<\/span>\n                <\/div>\n<div class=\"comment-content\">ScrollToll counts every short video you watch \u2014 Reels, Shorts, TikTok \u2014 and hard-blocks the feed when you hit your daily limit. Minutes are abstract; a video count isn&#8217;t. To keep scrolling you have to finish a guided breathing exercise first. Android.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<br \/>I&#8217;m Chandan, solo dev from India. I built ScrollToll because every screen-time app I tried failed the same way: it told me I&#8217;d spent 90 minutes on Instagram, I tapped &#8220;ignore,&#8221; and kept going. Time didn&#8217;t feel real. So I counted videos instead.<br \/>ScrollToll watches for swipes inside short-form feeds and counts each video you scroll past. When you hit your limit, an overlay covers the feed. There&#8217;s no snooze button \u2014 to get more, you complete a box-breathing exercise. Most people close the app instead, which is the point.<br \/>On the accessibility permission: ScrollToll uses Android&#8217;s AccessibilityService to detect feed swipes. That&#8217;s the only way to do feed-level counting. It reads swipe gestures in the apps you select \u2014 no content, no keystrokes, nothing leaves your device. Everything is local. I&#8217;d rather say this upfront than have you find it in the permissions dialog.<\/p>\n<p>Free tier covers one app of your choice, forever. Premium unlocks all of them.<br \/>What I&#8217;d love feedback on: is the breathing unlock the right friction, or should it be harder? I&#8217;ve gone back and forth on this a dozen times. <\/p>\n<p>For 60 Days Free Trial, Use Promo Code: THANKYOU<\/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\/@chandan_gepala\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chandan_gepala<\/a>&nbsp;<\/p>\n<p>This is smart. Screen time numbers never landed for me either, they&#8217;re too abstract to trigger a real stop. Counting videos and adding a breathing exercise as friction is a much better mechanism, it interrupts the exact reflex that keeps people scrolling. Curious how the accessibility permission question lands with users, that&#8217;s usually the first objection for this category. 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow, the idea is interesting! I think maybe just blocking will be enough to stop procrastination and get back to work<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/SBDBWPFBJJRMDL\" class=\"app-title\">Karve<\/a><\/p>\n<div class=\"one-liner\">The API client for developers on Windows<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">76<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Karve\u662f\u4e00\u6b3e\u4e3aWindows\u5f00\u53d1\u8005\u6253\u9020\u7684\u672c\u5730\u539f\u751fAPI\u5ba2\u6237\u7aef\uff0c\u5c06\u5206\u6563\u5728\u5404\u4ee3\u7801\u4ed3\u5e93\u4e2d\u7684.http\u6587\u4ef6\u96c6\u4e2d\u7ba1\u7406\uff0c\u4ee5\u79d2\u7ea7\u51b7\u542f\u52a8\u548cGit\u53cb\u597d\u7279\u6027\uff0c\u89e3\u51b3\u4e86\u591a\u9879\u76eeAPI\u8bf7\u6c42\u5de5\u4f5c\u533a\u7f3a\u5931\u4e0e\u73b0\u6709\u5de5\u5177\u7b28\u91cd\u8fdf\u6ede\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\/40948f39-c413-4efd-b193-51b04666c9af.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/14ab624a-1f7c-469f-bb94-d0c3b281bed3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c21ebf77-4e29-4f6b-9792-71b258194d10.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ba0b569-d114-4c78-9843-d2ccd88253c2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d822f2b4-106f-4d6d-a428-ce9cad68c3f2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3f64b074-d9cf-4ca8-b7b0-97520709d4e2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b8b949da-d245-4ab3-9a3a-7403f6262af3.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\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API\u5ba2\u6237\u7aef<\/span><br \/>\n            <span class=\"tag\">Windows\u539f\u751f<\/span><br \/>\n            <span class=\"tag\">.http\u6587\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">Git\u53cb\u597d<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u4e70\u65ad\u5236<\/span><br \/>\n            <span class=\"tag\">REST\u8c03\u8bd5<\/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\u8bc4\u8bba\u4e3b\u8981\u6765\u81ea\u5f00\u53d1\u8005\u672c\u4eba\u957f\u6587\u4ecb\u7ecd\uff0c\u6682\u672a\u770b\u5230\u7b2c\u4e09\u65b9\u53cd\u9988\u3002\u6838\u5fc3\u5efa\u8bae\u96c6\u4e2d\u4e8e\u5e0c\u671b\u6269\u5c55WebSocket\u652f\u6301\u3001\u589e\u52a0Postman\/cURL\u5bfc\u5165\u529f\u80fd\uff0c\u5e76\u671f\u5f85\u5c06\u514d\u8d39\u8f6c\u6362\u5668\u6574\u5408\u8fdb\u5e94\u7528\u5185\u3002\u6b64\u5916\uff0c\u7528\u6237\u5bf9MCP\u670d\u52a1\u5668\u4e0e\u672c\u5730\u6587\u4ef6\u7684\u5b89\u5168\u6027\u5173\u7cfb\u5b58\u5728\u63a2\u8ba8\u7a7a\u95f4\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                Karve\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u53c8\u4e00\u4e2aAPI\u5ba2\u6237\u7aef\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u5bf9\u5f00\u53d1\u8005\u5de5\u4f5c\u6d41\u5e95\u5c42\u903b\u8f91\u7684\u6fc0\u8fdb\u56de\u5f52\u2014\u2014\u8ba9\u8bf7\u6c42\u6587\u4ef6\u56de\u5f52\u201c\u7eaf\u6587\u672c\u201d\u8fd9\u4e00\u6700\u6734\u7d20\u5f62\u6001\u3002\u5728Postman\u4e3a\u4ee3\u8868\u7684\u4e91\u7aef\u534f\u4f5c\u5e73\u53f0\u5360\u636e\u5fc3\u667a\u3001\u4f46\u4e5f\u5e26\u6765\u6570\u636e\u4e3b\u6743\u548c\u6027\u80fd\u8d1f\u62c5\u7684\u5f53\u4e0b\uff0cKarve\u654f\u9510\u6355\u6349\u5230\u201c\u6587\u4ef6\u5373\u4ee3\u7801\u201d\u7684Git\u539f\u751f\u534f\u4f5c\u8d8b\u52bf\u3002\u5176\u6838\u5fc3\u6d1e\u5bdf\u662f\u7cbe\u51c6\u7684\uff1a\u5f00\u53d1\u8005\u771f\u6b63\u7684\u75db\u70b9\u4e0d\u662f\u7f3a\u5c11\u653b\u51fb\u529b\u5f3a\u7684\u5ba2\u6237\u7aef\uff0c\u800c\u662f\u8bf7\u6c42\u6587\u4ef6\u6563\u843d\u591a\u4e2a\u4ed3\u5e93\u3001\u6bcf\u4e2a\u7f16\u8f91\u5668\u81ea\u5e26runner\u5374\u65e0\u4e00\u80fd\u63d0\u4f9b\u8de8\u9879\u76ee\u7edf\u4e00\u89c6\u56fe\u3002\u51b7\u542f\u52a82\u79d2\u548cWinUI 3\u539f\u751f\u6027\u80fd\u662f\u5bf9Electron\u7fa4\u96c4\u7684\u4e00\u6b21\u964d\u7ef4\u6253\u51fb\uff0c\u8fd9\u8fce\u5408\u4e86Windows\u91cd\u5ea6\u7528\u6237\u5bf9\u6027\u80fd\u7684\u6d01\u7656\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0cKarve\u7684\u91ce\u5fc3\u4e0e\u4fdd\u5b88\u8fb9\u754c\u6784\u7b51\u4e86\u4e00\u4e2a\u5c34\u5c2c\u7684\u5dee\u5f02\u5316\u62a4\u57ce\u6cb3\u3002\u5355\u673a\u3001\u5355\u7528\u6237\u3001\u4ec5REST\uff0c\u8fd9\u4e09\u4e2a\u201c\u9650\u5236\u201d\u770b\u4f3c\u514b\u5236\uff0c\u5b9e\u5219\u6784\u6210\u4e86\u5176\u5546\u4e1a\u5316\u7684\u53cc\u5203\u5251\u3002MCP\u670d\u52a1\u5668\u662f\u5176\u6700\u5177\u672a\u6765\u611f\u7684\u4eae\u70b9\uff0c\u8ba9AI Agent\u5728\u9694\u79bb\u51ed\u636e\u7684\u524d\u63d0\u4e0b\u9a71\u52a8\u771f\u5b9e\u5de5\u4f5c\u533a\uff0c\u8fd9\u79cd\u201c\u8ba9AI\u5e72\u6d3b\u4f46\u4e0d\u7ed9\u94a5\u5319\u201d\u7684\u5b89\u5168\u6a21\u5f0f\uff0c\u5728\u5f53\u524dAgent\u4e71\u821e\u7684\u8352\u829c\u671f\u662f\u4e00\u80a1\u6e05\u6d41\uff0c\u4f46\u5b98\u65b9\u81ea\u5df1\u4e5f\u201c\u4e0d\u786e\u5b9a\u662f\u5426cool\u201d\u7684\u6001\u5ea6\u66b4\u9732\u4e86\u5176\u4e0d\u786e\u5b9a\u7684\u4ea7\u54c1\u613f\u666f\u3002\u4e70\u65ad\u5236$29.99\u5728\u8ba2\u9605\u5236\u6cdb\u6ee5\u4e0b\u662f\u60c5\u6000\u4e5f\u662f\u9677\u9631\u2014\u2014\u5b83\u5fc5\u987b\u6301\u7eed\u63d0\u4f9b1.x\u514d\u8d39\u66f4\u65b0\u624d\u80fd\u7ef4\u6301\u53e3\u7891\uff0c\u4f46\u82e5\u7f3a\u4e4f\u4e91\u540c\u6b65\u3001\u56e2\u961f\u534f\u4f5c\u7b49\u6838\u5fc3\u4ed8\u8d39\u573a\u666f\uff0c\u5176\u5929\u82b1\u677f\u6781\u4e3a\u660e\u663e\u3002Karve\u50cf\u4e00\u628a\u7cbe\u81f4\u7684\u745e\u58eb\u519b\u5200\uff0c\u5207\u4e2d\u4e86\u7279\u5b9a\u4eba\u7fa4\u7684\u7cbe\u51c6\u9700\u6c42\uff0c\u4f46\u6ce8\u5b9a\u65e0\u6cd5\u6210\u4e3a\u6240\u6709\u4eba\u684c\u4e0a\u7684\u4e3b\u6218\u5766\u514b\u3002\u5b83\u6700\u4f18\u7684\u7ed3\u5c40\uff0c\u6216\u8bb8\u662f\u88ab\u67d0\u5927\u5382\u6536\u8d2d\u5e76\u6574\u5408\u8fdbIDE\u751f\u6001\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\">Karve<\/span>\n                <\/div>\n<div class=\"comment-content\">Karve is a native Windows API client built around plain http files. Cold start under 2 seconds. Organize requests from every repo in one workspace, switchenv environments, keep searchable history. Files stay on disk, Git-friendly. No account. Buy once.<\/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 Solo maker here.<\/p>\n<\/p>\n<p>Karve started from a simple annoyance: my API requests already lived as .http files (the format Visual Studio, VS Code REST Client and JetBrains use) in my microservices&#8217; repos, but the moment they spread across projects there was no workspace for them, just a runner buried in each editor. That was quite annoying and every tool to launch them was slow and heavy (especially my daily driver &#8211; VS)<\/p>\n<\/p>\n<p>So I built a workspace, a tool, and made three stubborn choices:<\/p>\n<\/p>\n<p><strong>1. Files stay files.<\/strong> Karve doesn&#8217;t import your requests into a proprietary database. It organizes the .http\/.rest files you already have, from any repo, without moving them. They keep diffing, branching, and reviewing like code.<\/p>\n<\/p>\n<p><strong>2. Native or nothing.<\/strong> It&#8217;s Windows native WinUI 3 app: cold start under 2 seconds, Mica themes, x64 <em>and<\/em> ARM64. No Electron shell, no cloud. Requests never leave your PC.<\/p>\n<\/p>\n<p><strong>3. Your agent can drive it, without seeing your secrets.<\/strong> Karve ships a built-in MCP server, so Claude Code (or any MCP client) can find, run, fix, and author requests in your real workspace. But it only ever sees your <em>requests<\/em> as raw text with {{placeholders}} &#8211; resolved URLs, environment values, and stored history never cross to the agent. Off by default, because I&#8217;m not sure if it&#8217;s coold or not, one toggle in Settings, localhost only. 90-second demo: <a href=\"https:\/\/youtu.be\/qxPAWP8QY50\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/youtu.be\/qxPAWP8QY50<\/a><\/p>\n<\/p>\n<p>All of it is a one-time purchase (launch sale: $29.99, reg. $39.99) with a 15-day free trial.<\/p>\n<\/p>\n<p>MCP is included, and every 1.x update comes with it.<\/p>\n<p>There are bunch of free client-side converters on the site (cURL\/OpenAPI\/HAR \u2192 .http), no purchase needed.<\/p>\n<p>Eventually I&#8217;ll move them into app, don&#8217;t want to bloat it now.<\/p>\n<\/p>\n<p>I trying to keep scope limited: REST only today (WebSocket and Postman\/cURL import are on the 1.1 roadmap), single-user, Windows only. Again, the last thing I want is more bloat<\/p>\n<\/p>\n<p>I&#8217;d love to hear how you keep API requests today, and what would make you move them into plain files.<\/p>\n<p>I&#8217;m here all day. \ud83d\udea2<\/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<\/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-04 PH\u70ed\u699c | 2026-08-04 #1 Hey N [&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-303","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/303","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=303"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/303\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}