{"id":271,"date":"2026-07-04T12:05:22","date_gmt":"2026-07-04T04:05:22","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/04\/2026-07-03\/"},"modified":"2026-07-04T12:05:22","modified_gmt":"2026-07-04T04:05:22","slug":"2026-07-03","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/04\/2026-07-03\/","title":{"rendered":"PH\u70ed\u699c | 2026-07-03"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-07-03<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-07-03<\/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\/5O23FOO5ATZ5QC\" class=\"app-title\">Glaze by Raycast<\/a><\/p>\n<div class=\"one-liner\">Create your own Mac apps by chatting with AI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">494<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Glaze \u8ba9\u4f60\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u5bf9\u8bdd\uff0c\u65e0\u9700\u7f16\u7a0b\u57fa\u7840\u5c31\u80fd\u5feb\u901f\u751f\u6210\u53ef\u79bb\u7ebf\u8fd0\u884c\u3001\u5e38\u9a7b Mac \u7a0b\u5e8f\u575e\u7684\u4e2a\u4eba\u4e13\u5c5e\u539f\u751f\u684c\u9762\u5e94\u7528\uff0c\u89e3\u51b3\u201c\u4e07\u80fd\u8f6f\u4ef6\u4e0d\u79f0\u5fc3\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\/2375fc04-8d88-4b49-9412-58872203cbe8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b342d5bb-c6ed-499d-93ea-0f3b77150c08.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ff6eee7a-b0dc-4d4f-8b60-acac880822b7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/25717201-d891-4058-b340-6fbfa3c381e8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d78ae270-b19a-4e88-95d1-c65f48a10e28.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a13b170e-9b49-4ac2-9282-98d4061a1253.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2f596955-d00b-4a43-b4c3-add72410d129.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\/ff3ed7d9-436f-43a3-b956-ea9010cc3342.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=2s_NbPY_XuY\"><source src=\"https:\/\/www.youtube.com\/watch?v=2s_NbPY_XuY\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u751f\u6210Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u5316\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528\u6784\u5efa\u5668<\/span><br \/>\n            <span class=\"tag\">\u96f6\u4ee3\u7801\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">Raycast<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u8f85\u52a9\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u539f\u578b\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5e94\u7528\u53d1\u5e03<\/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\u60ca\u53f9\u4e8e\u201c\u804a\u5929\u5373\u5f00\u53d1\u201d\u7684\u6613\u7528\u6027\uff0c\u975e\u5f00\u53d1\u8005\u4e5f\u80fd\u5feb\u901f\u505a\u51fa\u65e5\u8bb0\u3001\u8840\u7cd6\u76d1\u6d4b\u7b49\u4e2a\u4eba\u5e94\u7528\u3002\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u5728\uff1a\u5bf9\u751f\u6210\u5e94\u7528\u7684\u6570\u636e\u6301\u4e45\u5316\u3001API\u8c03\u7528\u80fd\u529b\u5b58\u7591\uff1b\u5e0c\u671b\u652f\u6301\u5bfc\u51fa\u4e3aXcode\u9879\u76ee\uff1b\u5bf9\u79ef\u5206\u5236\u4ed8\u8d39\u6a21\u677f\u8868\u793a\u62c5\u5fe7\uff0c\u671f\u5f85\u63a5\u5165\u81ea\u6709AI\u8ba2\u9605\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                Glaze \u672c\u8d28\u4e0a\u662f Raycast \u56e2\u961f\u5bf9\u201c\u8f6f\u4ef6\u6c11\u4e3b\u5316\u201d\u7684\u4e00\u6b21\u6fc0\u8fdb\u5b9e\u8df5\u2014\u2014\u5b83\u8bd5\u56fe\u7528\u81ea\u7136\u8bed\u8a00\u5f7b\u5e95\u62b9\u5e73\u201c\u60f3\u6cd5\u201d\u4e0e\u201c\u6210\u54c1\u201d\u4e4b\u95f4\u7684\u9e3f\u6c9f\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u5176\u6838\u5fc3\u5438\u5f15\u529b\u5728\u4e8e\uff1a\u8ba9\u975e\u7a0b\u5e8f\u5458\u7b2c\u4e00\u6b21\u83b7\u5f97\u201c\u4e3a\u81ea\u5df1\u9020\u5de5\u5177\u201d\u7684\u5373\u65f6\u6ee1\u8db3\u611f\uff0c\u4e14\u201c\u79bb\u7ebf\u8fd0\u884c\u3001\u5373\u70b9\u5373\u7528\u201d\u7684\u72ec\u7acb\u5e94\u7528\u5f62\u6001\u5bf9\u6bd4\u7f51\u9875\u7aef AI \u5de5\u5177\u4f53\u9a8c\u63d0\u5347\u660e\u663e\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u5448\u73b0\u51fa\u660e\u663e\u7684\u201c\u6f14\u793a\u5927\u4e8e\u6df1\u5ea6\u201d\u503e\u5411\uff1a\u8bc4\u8bba\u533a\u5bf9\u201c\u80fd\u5426\u5bfc\u51fa Xcode \u9879\u76ee\u201d\u3001\u201c\u5982\u4f55\u5bf9\u63a5\u5916\u90e8 API\u201d\u7b49\u672c\u8d28\u95ee\u9898\u7684\u6a21\u7cca\u56de\u5e94\uff0c\u6697\u793a\u5176\u5e95\u5c42\u66f4\u63a5\u8fd1\u9ad8\u5ea6\u5c01\u88c5\u7684\u6a21\u677f\u5f15\u64ce\u800c\u975e\u771f\u6b63\u4ee3\u7801\u751f\u6210\u5668\u3002\u8fd9\u5e26\u6765\u7684\u9690\u60a3\u662f\uff0c\u4e00\u65e6\u7528\u6237\u9700\u6c42\u8d85\u51fa\u9884\u8bbe\u6846\u67b6\uff08\u5982\u540c\u6b65\u3001\u590d\u6742\u540e\u7aef\u4ea4\u4e92\uff09\uff0c\u4ea7\u54c1\u4ef7\u503c\u4f1a\u9661\u964d\u3002\u6b64\u5916\uff0c\u7eaf\u79ef\u5206\u5236\u7684\u5546\u4e1a\u6a21\u5f0f\uff08$20\/200\u70b9\uff09\u5728\u9762\u5bf9 GitHub Copilot \u6216 Cursor \u7684\u5168\u6808\u80fd\u529b\u65f6\u663e\u5f97\u5355\u8584\uff0c\u9664\u975e Glaze \u80fd\u8bc1\u660e\u5176\u751f\u6210\u7684\u5e94\u7528\u5728\u201c\u539f\u751f\u4f53\u9a8c\u201d\u4e0a\u5177\u6709\u663e\u8457\u4e14\u4e0d\u53ef\u66ff\u4ee3\u7684\u4f18\u52bf\u3002\u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u201c\u73b0\u5b9e\u4e16\u754c\u4f7f\u7528\u573a\u666f\u201d\uff08\u5982\u8840\u7cd6\u76d1\u6d4b\u3001SVG\u89c4\u5212\uff09\u8bc1\u660e\u4e86 AI \u751f\u6210\u5de5\u5177\u5411\u201c\u4e2a\u4eba\u6548\u7387\u7ba1\u5bb6\u201d\u8fdb\u5316\u7684\u6f5c\u529b\u3002Raycast \u56e2\u961f\u5e94\u8be5\u5c3d\u5feb\u56de\u7b54\uff1a\u5f53\u7528\u6237\u60f3\u8fed\u4ee3\u51fa\u201c\u771f\u6b63\u7684\u590d\u6742\u5e94\u7528\u201d\u65f6\uff0cGlaze \u662f\u5929\u82b1\u677f\u8fd8\u662f\u57ab\u811a\u77f3\uff1f\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\">Glaze by Raycast<\/span>\n                <\/div>\n<div class=\"comment-content\">Glaze is the easiest way to go from an idea to a Mac app. Describe what you want, and it builds a real app that lives in your dock, launches instantly, works offline, and taps into the full power of your computer. Software that&#8217;s finally personal, shaped around you. From the makers of Raycast.<\/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 Thomas, co-founder and CEO of Raycast. Today we&#8217;re opening Glaze to everyone, and I think it&#8217;s a small step toward software finally getting personal. We couldn&#8217;t be more excited to share it with the Product Hunt community.<\/p>\n<p>Here&#8217;s the thing that got us here. Tools are how we make progress, and today so many of our tools are apps. But most software is a compromise. To reach millions of people, you build for the average, and the average doesn&#8217;t really exist. We&#8217;re all individuals, so the &#8220;one app for everyone&#8221; always leaves something on the table.<\/p>\n<p>Glaze flips that. You describe what you want, and it builds a Mac app shaped around you. It lives in your dock, launches instantly, works offline, and taps into the full power of your machine. When something isn&#8217;t right, just talk to it and change it. It&#8217;s so much fun iterating on it to get exactly what you&#8217;re looking for.<\/p>\n<p>And it doesn&#8217;t stop at building. You can publish your app to the public store for anyone to use, or share it privately with your team, so internal tools stay internal and good ideas spread. We run our support and sales processes fully on Glaze apps at Raycast. Additionally, we&#8217;ve seen teams like Cursor, Linear, or Vercel building custom apps to optimize how they get work done.<\/p>\n<p>A few of my favorite apps:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/ray.so\/world-cup\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">World Cup<\/a>: Simply stay on top of all matches, with live stats, a beautiful knockout stage view and more.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.glaze.app\/app\/yolo-PSjYlj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Yolo<\/a>: A terminal that is optimized for using agents with vertical tabs, AI suggestions and a ton of keyboard shortcuts.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.glaze.app\/app\/cs-glaze-synth-9TGenH\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CS Glaze Synth<\/a>: A full synthesizer \ud83e\udd2f The app was used to create the sounds for our launch video.<\/p>\n<\/li>\n<\/ul>\n<p>Glaze is free to start, and there&#8217;s a paid plan when you want to go further. Mac first, with more platforms to come.<\/p>\n<p>Honestly, the part that blows me away is the creativity. People keep building things we&#8217;d never have thought of, and that&#8217;s exactly what we hoped for.<\/p>\n<p>One thing I&#8217;d genuinely love your take on: what&#8217;s the one app you&#8217;ve always wished existed but never had the time or setup to build? Sign up, try to build it and share your link below.<\/p>\n<p>Thanks for taking a look. We&#8217;re early, and we&#8217;ll learn most of this in the open with you \ud83d\udca0<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>21<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thomaspaulmann\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomaspaulmann<\/a>&nbsp;Congrats on opening Glaze to everyone! The &#8220;describe what you want, it builds a Mac app&#8221; concept is brilliant. Love that Cursor, Linear, and Vercel are already building custom apps on it. The CS Glaze Synth being used for your launch video audio is the kind of creative use case that proves the platform works. Excited to see what the community builds.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@thomaspaulmann\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomaspaulmann<\/a>&nbsp;Congrats! If you could wake up tomorrow with one tiny, personal Mac app that solved a daily friction for you, what would it do and why?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thomaspaulmann\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomaspaulmann<\/a>&nbsp;congrats on the launch \ud83d\ude80<\/p>\n<\/p>\n<p>The idea of software adapting to the individual instead of forcing everyone into the same workflow really resonates. It feels like AI is finally making truly personal software possible.<\/p>\n<\/p>\n<p>I&#8217;m curious, after watching people build with Glaze, what&#8217;s the most unexpected app that made you stop and think, &#8220;We never imagined someone would build this&#8221;?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone \ud83d\udc4b<\/p>\n<p>I\u2019m Alex, Product Designer at Raycast and part of the team behind Glaze. We\u2019re incredibly excited to finally share Glaze with the world. It\u2019s been a wild journey turning an idea into a product that lets anyone build fully functional, beautiful desktop apps.<\/p>\n<\/p>\n<p>A few of my favorite things about it:<\/p>\n<ul>\n<li>\n<p>Describing an idea and watching it appear in my macOS dock, ready to use anytime<\/p>\n<\/li>\n<li>\n<p>Using Annotation to make changes directly inside my app and watching them happen in real time<\/p>\n<\/li>\n<li>\n<p>Generating app icons and exploring different concepts until one just feels right<\/p>\n<\/li>\n<li>\n<p>Browsing the Store and discovering apps built by my team and the wider Glaze community<\/p>\n<\/li>\n<\/ul>\n<p>A few apps I built myself:<\/p>\n<ol>\n<li>\n<p><a href=\"https:\/\/www.glaze.app\/app\/hotkey-explorer-Lu5b3W\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Hotkey Explorer<\/a>: helps me explore and organize hotkey systems for Raycast<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.glaze.app\/app\/winamp-naNtIA\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Winamp<\/a>: brings my favorite music player from the 2000s (and all its wild skins) to macOS<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/x.com\/aantonov_\/status\/2029511248321122675\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Glassmaker<\/a>: helped me design the Glaze app icon by exploring glass shapes and materials<\/p>\n<\/li>\n<\/ol>\n<p>We can\u2019t wait to see what you build! Share your apps and let us know what you think. We\u2019re just getting started, and your feedback will help us shape what comes next for Glaze. \ud83d\udca0<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alexantonov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexantonov<\/a>&nbsp;the annotation tool is so good. Using it a ton of times to iterate on smaller bits to make it just right. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, one of the makers of Glaze here \ud83d\udc4b Being able to build truly personal apps in just a few prompts is SO powerful, especially when you don&#8217;t have to think about boilerplate setup and how to distribute the app with others. <\/p>\n<p>Here&#8217;s a few personal ones built for myself:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/x.com\/samuelkraft\/status\/2054227575329763673\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Spotify Classic<\/a>: A dead simply Spotify client inspired by the original macOS app, no fluff &#8211; just playlists and search.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/x.com\/samuelkraft\/status\/2029542240314331217\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Avalanche Map<\/a>: Visually plan ski touring adventures with 3d maps showing the latest official Swedish avalanche report.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/x.com\/samuelkraft\/status\/2072324727121584278\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Shader<\/a>: I&#8217;m a huge sucker for evening sun, this makes it easy to visualize shadows from mountains, buildings and trees at any location, date, and time. <\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.glaze.app\/app\/rayfm-Af8oi9\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ray.fm<\/a>: Create your own radio stations, and vibe to the retro cassette-style UI.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.glaze.app\/app\/funky-mirror-yHoT78\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Funky Mirror<\/a>: Play with fun webcam effects on your laptop. <\/p>\n<\/li>\n<\/ul>\n<p>Really excited to see what everyone is shipping on the Glaze store!<\/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\/@samuel_kraft\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samuel_kraft<\/a>&nbsp;<a href=\"https:\/\/ray.fm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ray.fm<\/a> goes hard every day!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Amazing tool!<\/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\/@webjac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@webjac<\/a>&nbsp;Thanks, it&#8217;s sooo much fun building apps!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m not a developer, but I made an app for myself in very short time \u2014 a diary writing app. Now I finally have what I&#8217;ve always wanted. It really blew me away how easy it was to make.. Glaze isn&#8217;t just for developers; it&#8217;s also for regular users like me. I already have several more apps in mind.<\/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\/@anders_lorentsen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anders_lorentsen<\/a>&nbsp;this makes me soooo happy and is exactly what Glaze is about. Don&#8217;t need to be a developer, everybody can chat! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@anders_lorentsen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anders_lorentsen<\/a>&nbsp;this is it. Couldn\u2019t say it any better. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83c\udf89<\/p>\n<\/p>\n<p>I jumped in early and already built two apps to test it out. Going from \u201cI wish this existed\u201d to something sitting in my dock in a few minutes still feels a bit magical.<\/p>\n<\/p>\n<p>To answer Thomas\u2019 question: the annotation flow is what sold me \u2014 being able to just talk to the app and watch it change in real time made iterating genuinely fun rather than a chore.<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f7a2fa18-bfea-43e1-b085-76d93816822c.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f6de07f-6a8a-41c2-81d2-24a93a2a94e8.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>Excited to see where this goes. \ud83d\udca0<\/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>Hello fam! <\/p>\n<p>I built a Glaze app to help me archive all of my analog scans. It&#8217;s such a personal app that I never would&#8217;ve found one that worked the way I wanted it. I feel happy every time I use it \ud83d\ude01 I even <a href=\"https:\/\/www.youtube.com\/watch?v=OP8HdHd7IRo&amp;t=1s\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">made a video<\/a> on my YouTube channel about, check it out to see it in action.<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0d966d43-d1d7-4403-a73b-a01d68dec6ca.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>I&#8217;m also currently building an app to help me manage <a href=\"https:\/\/x.com\/peduarte\/status\/2072793032278118727\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">everything that&#8217;s in mymind<\/a>!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The interesting constraint here is that &#8220;create a Mac app by chatting&#8221; covers a huge range of outcomes, from a quick menu bar utility that does one thing to something with persistent state and real UI. Curious where Glaze actually sits on that spectrum. Specifically, what happens when the generated app needs to store data between sessions or talk to an external API, does it scaffold something real that you can open in Xcode and extend, or is the output more like a self-contained script that lives and dies inside Raycast?<\/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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;It&#8217;s a standalone app. We do some nifty things to make all this work. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Glaze is super fun \u2014 kind of the dream of site-specific browsers brought to the generative AI era! <\/p>\n<\/p>\n<p>I&#8217;ve built several personal apps so far and published <a href=\"https:\/\/www.glaze.app\/app\/tesla-energy-I6VIKJ\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Tesla Energy<\/a> to help me track my solar production! <\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/403bbdc0-2d99-42e2-9b39-4e6ce03cce72.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a>&nbsp;time to get some solar panels!!! Jokes aside, this is amazing, love 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>Hey everyone \ud83d\udc4b I&#8217;m Pavlo, AI engineer on Glaze.<\/p>\n<\/p>\n<p>I build the AI agent behind Glaze, from writing its prompts and refining the harness around it to wiring everything together so it can plan, write code, and validate its own work.<\/p>\n<\/p>\n<p>My favorite part is seeing all the effort and engineering behind creating an app disappear into an experience that feels like magic. You describe the app you have in mind, and Glaze helps bring it to life.<\/p>\n<\/p>\n<p>On a personal note, beyond being a blast and an awesome challenge to work on, Glaze has also had a real impact on my day-to-day life. I used it to build something I genuinely needed, a dashboard for monitoring my glucose levels tailored to my needs. I never felt like the existing options gave me exactly what I wanted, so I built one for myself with Glaze.<\/p>\n<\/p>\n<p>Can\u2019t wait to see what you build. Share your apps, send us your feedback, and help shape what comes next for Glaze  \ud83d\udca0<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve seen early previews of Glaze and it has been really impressive. Just like everything else from the Raycast team, the level of polish and attention to detail has been amazing. Looking forward to building my own mini-apps without having to do any of the heavy lifting that is usually required for 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\/@daniel_a_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_a_a<\/a>&nbsp;thanks a lot! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love Glaze! Built so many apps for my personal workflows and some fun ones too. Latest is a <a href=\"https:\/\/www.glaze.app\/app\/light-cycle-IFzPKs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">tron inspired snake game. <\/a><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0ad9a37d-5c9f-49f4-884b-cf2572f1ae90.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aaron_quinn1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aaron_quinn1<\/a>&nbsp;i need to get better at that game. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve tried Glaze earlier this week. Would&#8217;ve been great if we could export apps as xcode projects. Other than that, it works really well. Love it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mehmetkose\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mehmetkose<\/a>&nbsp;great to hear. There\u2019s more to it than just an Xcode project. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the idea of Glaze, but are there any plans to let us use our own AI subscriptions instead of Glaze\u2019s credit system? That\u2019s my biggest concern with AI tools at the moment, as nobody likes paying API pricing, but I would happily pay for \u201cPro Features\u201d on Glaze.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thallesp1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thallesp1<\/a>&nbsp;We might add something like this but also there is a lot of custom things going on.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc40\ud83d\udc40\ud83d\udc40<\/p>\n<\/p>\n<p>the free allowance is 120 credits, how much is it actually? <\/p>\n<p>what is the biggest desktop app you can build from scratch on the free trial?<\/p>\n<\/p>\n<p>same question for the paid plan, because the cheapest paid plan is $20 which is same as Codex or Claude Code entry subscription price, and this is what Glaze 200 credits compete with<\/p>\n<\/p>\n<p>congrats with the launch, it&#8217;s gonna solve so many quick problems!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@petersamokhin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@petersamokhin<\/a>&nbsp;Try it out, you would be surprised. The one shots I&#8217;ve seen are impressive. They look stunning and go far! It&#8217;s free, so why hesitate? \ud83d\ude1c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 yesterday and already love it. Made a little synth in one prompt, then refined it with three more \u2014 now I\u2019ve got this cute vintage synth.<\/p>\n<\/p>\n<p>Works really well, and the publish flow is super smooth.<\/p>\n<\/p>\n<p>Congrats to the awesome Raycast team \ud83c\udf89<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7b2c3c6b-a976-45fb-a79f-3dd6f201e2a5.jpeg?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>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bdauton\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bdauton<\/a>&nbsp;music apps are great and under high demand. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH \ud83d\udc4b I\u2019m Alexandr, one of the engineers on Glaze.<\/p>\n<\/p>\n<p>One of the most fun parts of building Glaze has been dogfooding it. I spend a lot of my day juggling git worktrees, dev servers, and multiple AI coding agents, but no app felt quite right for my workflow. So I built my own terminal app with Glaze: <a href=\"https:\/\/www.glaze.app\/app\/yolo-PSjYlj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Yolo<\/a>.<\/p>\n<\/p>\n<p>This is why I\u2019m so excited about Glaze: it makes software feel personal. Not \u201cone app for everyone,\u201d but apps shaped around the exact workflows, habits, and preferences of the people using them.<\/p>\n<\/p>\n<p>Can\u2019t wait to see what you build with Glaze \u2014 please share your apps with us \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asubbotin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asubbotin<\/a>&nbsp;Yolo blew my mind in a team meeting, so damn good!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The idea of building Mac apps through chat sounds really approachable, especially for the vibe coding \/ AI workflow automation crowd. How much control does Glaze give over the final app behavior after the initial chat \u2014 can users keep refining the app in conversation, or is it more of a one-time generation flow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;It&#8217;s super easy, try it out. You can build your first app for free.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The idea of creating Mac apps through chat sounds useful, especially for people who have a workflow in mind but don\u2019t want to start from a blank coding setup. How much control does Glaze give over the final app behavior once the AI generates something? For example, can users keep refining the app through chat, or is there also a more developer-style way to inspect and adjust what was created?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mia_qiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mia_qiao<\/a>&nbsp;yes you can go as deep as you want. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;to reach millions you build for the average, and the average doesn&#8217;t really exist&#8221; is going to live in my head, I run a niche workspace product and this is the exact argument for why vertical software beats horizontal, just taken one step further down to the individual<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yarslav\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yarslav<\/a>&nbsp;glad I was able to inspire. Go vertical software!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does it handle updates when you tweak the app later, do you just re-describe the change and it patches the existing build or does it start from scratch each time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hsanypvk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hsanypvk<\/a>&nbsp;You just continue where you left off by chatting and annotating with the app you&#8217;re building<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@hsanypvk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hsanypvk<\/a>&nbsp;yes just send another message and it edits it. We also have an annotation tool that allows you to select something in the app like a button and describe how to change only that part. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been messing around with Glaze for a few days. The idea of describing an app and having it show up in my dock is pretty wild. Built a couple of tiny utilities for myself without writing a line of code. It handles connecting to Notion and GitHub surprisingly well. Still early, and complex apps might be a stretch, but for quick personal tools, it&#8217;s genuinely fun and useful. Feels like the future of making software personal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cool product! I tried to make a music player with the trial credits<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b27ea57f-3655-4335-9313-1ed565c64a11.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\ude80 What\u2019s the most unexpected personal app someone has built with <a href=\"https:\/\/glaze.app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Glaze<\/a> so far?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;One of the first apps was a working <a href=\"https:\/\/www.glaze.app\/app\/cs-glaze-synth-9TGenH\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">synthesizer<\/a>. We used it in our <a href=\"https:\/\/www.youtube.com\/watch?v=2s_NbPY_XuY\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">announcement video<\/a>. That was pretty rad!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Creating apps I can use instantly from just a few sentences is genuinely fun and kind of unbelievable. I&#8217;ve already built two apps I actually needed. Congrats on the launch! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ondergenc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ondergenc<\/a>&nbsp;this is amazing! Enjoy your apps. What did you build?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 site-specific-browser-meets-generative-AI framing is a great way to put it. curious where the generated apps actually run \u2014 fully local on the Mac, or phoning home? that boundary is the whole ballgame for anything touching personal data.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Fully local on your Mac! So you can turn off wifi and they still work. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does app signing and all 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@divyansh_lohia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@divyansh_lohia<\/a>&nbsp;All on your Mac. Benefit of having built the most popular on the Mac, we know the one or other thing \ud83d\ude1c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Already a user and lover of Raycast for years, Glaze is such a nice tool! Already built a personal finance tracker and many ideas to come \ud83e\udd17<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@edgar_renoud1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@edgar_renoud1<\/a>&nbsp;Perfect and both go nicely hand in hand. We have tons of ideas to make it connect even better.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love that raycast is going after this, the &#8220;lives in your dock and works offline&#8221; part is the actual hard problem most AI app builders skip since they&#8217;re all web output. does the generated app get real native access (menu bar, keyboard shortcuts, notifications) or is it more of a sandboxed webview wrapper under the hood?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Bunch of stuff we wire up in a smart way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I installed this app and created a menu bar app that displays the current weather conditions from my weather station in less than 15 minutes. It&#8217;s great for those cases where you just want a simple local app on your machine and don;t want to fuss with more complicated tools. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@manuel_castaneda1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manuel_castaneda1<\/a>&nbsp;that&#8217;s it! No fuss, just what 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<\/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\/NBOCNNZCFWXZ6L\" class=\"app-title\">Goals from Loops<\/a><\/p>\n<div class=\"one-liner\">Measure whether a campaign drove the desired outcome<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">294<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Goals from Loops\u8ba9SaaS\u56e2\u961f\u5728\u90ae\u4ef6\u8425\u9500\u4e2d\u76f4\u63a5\u8ffd\u8e2a\u4ece\u201c\u6253\u5f00\/\u70b9\u51fb\u201d\u5230\u201c\u5b9e\u9645\u8f6c\u5316\uff08\u5982\u4ed8\u8d39\u3001\u6fc0\u6d3b\u3001\u9884\u7ea6\u6f14\u793a\uff09\u201d\u7684\u5168\u94fe\u8def\u5f52\u56e0\uff0c\u89e3\u51b3\u201c\u90ae\u4ef6\u53d1\u51fa\u540e\u5230\u5e95\u6709\u6ca1\u6709\u7528\u201d\u7684\u7ec8\u6781\u8ffd\u95ee\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\/db8e4ca1-0596-4f5e-9cba-86836460c5bc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/adad0116-72ce-4996-9d2c-ecb01c76c0b4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f9cc064e-4f66-4d3d-916a-0ee9c4cf9363.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1efa3a57-a494-4c91-998a-6f42fc4fc0d9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4cbef57f-3c74-49d5-b6b9-be0f5134e863.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\/101a9772-c409-4750-807f-b2446521e86b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/aT1Xop2z3IU\"><source src=\"https:\/\/youtu.be\/aT1Xop2z3IU\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Email<\/span><br \/>\n            <span class=\"tag\">Email Marketing<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS\u90ae\u4ef6\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u8f6c\u5316\u5f52\u56e0<\/span><br \/>\n            <span class=\"tag\">\u751f\u547d\u5468\u671f\u90ae\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u6548\u679c\u8861\u91cf<\/span><br \/>\n            <span class=\"tag\">\u5f52\u56e0\u7a97\u53e3<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u7ea7\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u6d3b\u52a8\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u57fa\u4e8e\u884c\u4e3a\u7684\u90ae\u4ef6\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\u80af\u5b9a\u5176\u89e3\u51b3\u4e86\u201c\u53ea\u770b\u6253\u5f00\/\u70b9\u51fb\u65e0\u6cd5\u5224\u65ad\u6548\u679c\u201d\u7684\u6838\u5fc3\u75db\u70b9\uff0c\u5bf9\u6309\u76ee\u6807\u8bbe\u7f6e\u5f52\u56e0\u7a97\u53e3\u3001\u6536\u5165\u7ea7\u5206\u6790\u8868\u793a\u8d5e\u8d4f\u3002\u4e3b\u8981\u95ee\u9898\u96c6\u4e2d\u5728\uff1a\u662f\u5426\u652f\u6301\u8d26\u6237\u7ea7\u4e0e\u591a\u7528\u6237\u5f52\u56e0\uff08\u76ee\u524d\u4ec5\u7528\u6237\u7ea7\uff0c\u516c\u53f8\u7ea7\u5728\u8def\u7ebf\u56fe\uff09\u3001\u662f\u5426\u652f\u6301\u5916\u90e8\u7cfb\u7edf\uff08\u5982Stripe\uff09\u548c\u51b7\u542f\u52a8\u8f6c\u5316\u8ffd\u8e2a\u3001\u662f\u5426\u652f\u6301\u5bf9\u7167\/\u63a7\u5236\u7ec4\u4ee5\u9a8c\u8bc1\u56e0\u679c\u6548\u5e94\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                Goals from Loops\u7cbe\u51c6\u523a\u4e2d\u4e86SaaS\u90ae\u4ef6\u8425\u9500\u591a\u5e74\u6765\u7684\u201c\u7687\u5e1d\u65b0\u8863\u201d\u2014\u2014\u6253\u5f00\u7387\u548c\u70b9\u51fb\u7387\u662f\u8212\u9002\u7684\u8c0e\u8a00\uff0c\u771f\u6b63\u51b3\u5b9a\u4e1a\u52a1\u751f\u6b7b\u7684\u662f\u201c\u53d1\u5b8c\u90ae\u4ef6\u540e\uff0c\u8c01\u4ed8\u6b3e\u4e86\uff1f\u8c01\u6fc0\u6d3b\u4e86\uff1f\u8c01\u590d\u8d2d\u4e86\uff1f\u201d\u8fd9\u4e00\u6838\u5fc3\u8ffd\u95ee\u3002\u8be5\u5de5\u5177\u672c\u8d28\u4e0a\u5c06\u90ae\u4ef6\u4ece\u201c\u54c1\u724c\u6c9f\u901a\u6e20\u9053\u201d\u5347\u7ea7\u4e3a\u201c\u53ef\u91cf\u5316\u589e\u957f\u5f15\u64ce\u201d\uff0c\u901a\u8fc7\u5c06\u4ea7\u54c1\u5185\u884c\u4e3a\u4e8b\u4ef6\uff08\u5982\u4ed8\u8d39\u3001\u9884\u7ea6\u6f14\u793a\uff09\u4f5c\u4e3a\u8f6c\u5316\u76ee\u6807\uff0c\u914d\u5408\u7075\u6d3b\u7684\u5f52\u56e0\u7a97\u53e3\uff0c\u5b9e\u73b0\u4e86\u4ece\u201c\u66dd\u5149-\u70b9\u51fb-\u8f6c\u5316\u201d\u7684\u5168\u94fe\u8def\u95ed\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u4ef7\u503c\u76ee\u524d\u4ecd\u5b58\u5728\u660e\u663e\u8fb9\u754c\u3002\u7b2c\u4e00\uff0c\u5f52\u56e0\u903b\u8f91\u5c40\u9650\u4e8e\u7528\u6237\u4e2a\u4eba\u5c42\u9762\uff0c\u5bf9\u4e8eB2B SaaS\u5178\u578b\u7684\u201c\u4e00\u4eba\u70b9\u51fb\u3001\u591a\u4eba\u534f\u4f5c\u3001\u53e6\u4e00\u4eba\u4ed8\u8d39\u201d\u7684\u8d26\u6237\u7ea7\u8f6c\u5316\u573a\u666f\uff0c\u73b0\u6709\u65b9\u6848\u65e0\u6cd5\u51c6\u786e\u5f52\u56e0\uff0c\u800c\u5b98\u65b9\u4ec5\u5c06\u5176\u5217\u4e3a\u8def\u7ebf\u56fe\uff0c\u610f\u5473\u7740\u65e9\u671f\u7528\u6237\u9700\u8981\u627f\u62c5\u8fd9\u4e2a\u76f2\u533a\u3002\u7b2c\u4e8c\uff0c\u4ea7\u54c1\u5f3a\u8c03\u201cSaaS\u751f\u547d\u5468\u671f\u90ae\u4ef6\u201d\uff0c\u4f46\u76ee\u524d\u53ea\u80fd\u8ffd\u8e2aLoops\u5185\u90e8\u7684\u8f6c\u5316\u72b6\u6001\uff0c\u5bf9\u4e8e\u901a\u8fc7Stripe\u4ed8\u6b3e\u3001Airtable\u8bb0\u5f55\u6216\u5176\u4ed6\u5916\u90e8CRM\u7ba1\u7406\u7684\u201c\u8f6c\u5316\u201d\uff0c\u7f3a\u4e4f\u76f4\u63a5\u7684Webhook\u6216API\u95ed\u73af\u673a\u5236\uff0c\u8fd9\u8ba9\u201c\u51b7\u542f\u52a8\u201d\u6216\u201c\u4f9d\u8d56\u5916\u90e8\u7cfb\u7edf\u5b9a\u4e49\u8f6c\u5316\u201d\u7684\u56e2\u961f\u65e0\u4ece\u4e0b\u624b\u3002\u7b2c\u4e09\uff0c\u5c3d\u7ba1\u6807\u7b7e\u9875\u5e72\u51c0\u3001\u5206\u6790\u52a0\u8f7d\u5feb\uff0c\u4f46\u7f3a\u5931\u4e86\u5bf9\u7167\/\u63a7\u5236\u7ec4\u529f\u80fd\uff0c\u610f\u5473\u7740\u65e0\u6cd5\u79d1\u5b66\u9a8c\u8bc1\u90ae\u4ef6\u662f\u5426\u771f\u7684\u201c\u5bfc\u81f4\u201d\u4e86\u8f6c\u5316\uff0c\u800c\u975e\u7528\u6237\u81ea\u7136\u884c\u4e3a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Loops\u7684\u201cagent\u652f\u6301\u201d\u548c\u201c\u57fa\u4e8e\u754c\u9762\u7684\u6570\u636e\u5582\u7ed9AI\u201d\u662f\u4e00\u4e2a\u6709\u8da3\u7684\u5ef6\u4f38\uff0c\u4f46\u5f53\u524d\u7248\u672c\u66f4\u5e94\u88ab\u89c6\u4e3a\u4e00\u4e2a\u201c\u9762\u5411\u6548\u679c\u7684\u90ae\u4ef6\u5f52\u56e0\u57fa\u7840\u5305\u201d\uff0c\u800c\u4e0d\u662f\u5168\u80fd\u7684\u589e\u957f\u5206\u6790\u65b9\u6848\u3002\u5bf9\u4e8e\u56e2\u961f\u800c\u8a00\uff0c\u5b83\u7684\u6700\u5927\u4ef7\u503c\u5728\u4e8e\u7528\u6781\u4f4e\u7684\u8fc1\u79fb\u6210\u672c\uff0c\u8feb\u4f7f\u5e02\u573a\u90e8\u4ece\u201c\u770b\u6570\u636e\u201d\u8f6c\u5411\u201c\u770b\u6548\u679c\u201d\uff0c\u4f46\u8981\u771f\u6b63\u89e3\u51b3\u201c\u5f52\u56e0\u662f\u95e8\u7384\u5b66\u201d\u7684\u96be\u9898\uff0c\u8fd8\u9700\u8981\u5728\u8d26\u6237\u7ea7\u5f52\u56e0\u548c\u5916\u90e8\u4fe1\u53f7\u5bf9\u63a5\u4e0a\u6301\u7eed\u52a0\u7801\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\">Goals from Loops<\/span>\n                <\/div>\n<div class=\"comment-content\">Goals from Loops lets SaaS teams measure whether a campaign actually drove the outcome they care about. Pick a conversion target, choose who should be measured, set an attribution window, and see conversions, enrollments, and impressions right inside Loops.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt &#8211; Chris from Loops here.<\/p>\n<p>We built Goals because opens and clicks are useful, but they do not tell you whether a campaign worked.<\/p>\n<p>With Goals, you can give any Loops campaign a conversion target: free to paid, onboarded, booked demo, reactivated, purchased, or any contact state that matters to your team. Pick who should be measured, define the conversion state, set the attribution window, then send.<\/p>\n<p>Loops tracks impressions, enrollments, and conversions automatically so marketing and lifecycle teams can answer the obvious question after every send: did it work?<\/p>\n<p>Would love feedback from teams running SaaS lifecycle email, especially on the outcomes you wish your email tool tracked by default.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@frantzlight\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@frantzlight<\/a>&nbsp;Can we also assign multiple agents to track this or only a single user monitoring a campaign?  I am excited to try this on my upcoming campaigns for marketing outreach. Uprows Hub help founders extend their visibility during launch <a href=\"https:\/\/uprowshub.com\/pricing\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/uprowshub.com\/pricing<\/a> . Hope this helps<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@frantzlight\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@frantzlight<\/a>&nbsp;Goals is the missing piece in email marketing. Every team asks &#8220;did this campaign actually convert?&#8221; after hitting send, and most tools just show opens\/clicks. Tying campaigns directly to conversion states like free-to-paid or booked-demo is exactly what lifecycle teams need. The attribution window control is a smart touch \u2014 most tools either over-attribute or miss conversions entirely. Great 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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@frantzlight\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@frantzlight<\/a>&nbsp;you timed this for the world cup, didn&#8217;t you? Congrats on the launch, anyway!<\/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>Huge congrats for Shipping \ud83d\udc4f <a href=\"https:\/\/www.producthunt.com\/@frantzlight\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"frantzlight\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@frantzlight<\/a> qq. are these conversion metrics available via the Loops API or they currently viewable only inside the web dashboard?<\/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>\ud83d\udc40 Interesting. Planning to give this a try with my Hermes agent later today!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is awesome. Love that once the data&#8217;s available you can feed it to your agent (ideally through <a href=\"https:\/\/www.producthunt.com\/products\/basedash\" target=\"_blank\" rel=\"noopener\">Basedash<\/a> \ud83d\ude04) and figure out the best way to optimize.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The analytics breakdown by loop is really handy for spotting which campaigns actually drive revenue. Clean interface too, no clutter.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rzakalpcaj9w\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rzakalpcaj9w<\/a>&nbsp;hey thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally tried Loops yesterday and the drag-and-drop email builder is genuinely faster than the clunky tools I&#8217;ve used before. Liked that analytics actually load without a delay.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@erdileylak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erdileylak<\/a>&nbsp;we&#8217;re zippy! full agent support as well now <a href=\"https:\/\/loops.so\/agents\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">loops.so\/agents<\/a> btw<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations! Measuring whether a campaign actually drove the outcome is the part most email tools quietly skip, so it&#8217;s good to see it built in. One question: for a longer activation window, can the attribution timeframe be set per goal, or is it a single global setting? Wishing the team a strong launch \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;Per goal!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Since Loops is built specifically for modern SaaS, I&#8217;m curious how Goals handles account-level vs. user-level tracking. If one user on a team clicks the email, but a <em>different<\/em> user on that same workspace completes the upgrade event, can the attribution logic tie that back to the original campaign?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andika_fadhilah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andika_fadhilah<\/a>&nbsp;Hey good question, company-level tracking is on the roadmap, there are some infra-level changes we needed to make to support this at the level we want to execute 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!  How does the attribution logic handle user-level vs. account-level conversions if a different teammate completes the upgrade?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;opens and clicks are useful but they do not tell you whether a campaign worked&#8221; line is the frustration that killed my last three attempts at treating email as a serious channel. Every dashboard was clean and every meeting was hollow, because open rates went up but nothing downstream moved.<\/p>\n<\/p>\n<p>I run cold outreach rather than lifecycle email, but the same problem applies at a different layer. Reply rate is my proxy for outcome, but &#8220;reply&#8221; and &#8220;reply that led to a customer&#8221; are different metrics, and I have no good way to close that loop without stitching CRM data manually. Would be curious whether Goals is scoped only to product-usage conversion states inside Loops, or if there&#8217;s a path to attribute against external systems (Stripe, Airtable, custom webhooks) for teams whose &#8220;conversion&#8221; doesn&#8217;t live inside their SaaS.<\/p>\n<\/p>\n<p>Also the attribution window as a first-class input is smart. Most tools treat it as &#8220;check 30 days&#8221; without letting you match it to your actual sales cycle. Marketing-attribution problems mostly come from mismatched windows, not missing data.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I really like the slideshow-style website.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on the launch, Chris! I love the shift from engagement metrics to actual business outcomes. How do you recommend teams get started if they&#8217;re unsure which conversion events they should track first?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@frantzlight\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"frantzlight\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@frantzlight<\/a> Chris, opens and clicks have always felt like comfort numbers to me, so getting a straight answer on whether a campaign actually moved people is genuinely refreshing to see.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Quick question do you support a holdout or control group, so you can tell the email actually caused the conversion vs. it would&#8217;ve happened anyway?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Loops handle the deliverability side of things compared to something like Postmark, especially for transactional sends that need to land fast?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Loops handle deliverability for transactional emails compared to something like Postmark, and is there a usage tier that makes sense for someone just starting out with maybe a few thousand sends a month?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a healthy move away from vanity email metrics. For small SaaS teams the useful question is not whether an email got opened, it is whether it helped the next operational state happen: activated, paid, rescued, renewed. The tricky part is showing enough attribution confidence that a founder can act without pretending the campaign was the only cause.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Loops handle deliverability compared to something like Sendgrid or Postmark, especially for transactional emails that need to land in the inbox fast?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>opens and clicks are useful but they don&#8217;t tell you whether a campaign worked is the most honest thing an email platform has ever said about its own metrics. being able to attach a real conversion goal to a campaign and see if it actually drove the outcome is what every email marketer has been doing manually in spreadsheets. having it built into the send flow instead of being an afterthought changes how you think about every email you send<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Loops handle the difference between marketing and transactional emails under the hood, is it a single API with flags or two separate workflows?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Long term Loops user. Really want to give this a go. Seems like a very smart product move<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Loops handle deliverability compared to something like SendGrid, and is there a free tier for smaller projects?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does pricing compare to the big names like Mailchimp or Postmark once you start scaling up to higher volumes?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@yiitqx9x\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yiitqx9x<\/a>&nbsp;Can&#8217;t speak to competitor&#8217;s current enterprise pricing but we tend to be competitive<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like Goals connects campagins to real outcomes instead of only opens and clicks. how do you handle users who convert after using multiple channels? A clear attribution comparison could make the results even more useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Love the shift beyond opens and clicks. How does it deal with overlapping campaigns where more than one email could have influenced the conversion? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Goals can be attached individually to campaigns so you can look at the performance of the goal as a result of the send, but as with any attribution tool there can be confounding factors<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hello, Im curious how flexible Goals is. can teams set up their own conversion states easily, or is it more predefined?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thys_beesman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thys_beesman<\/a>&nbsp;should be pretty easy! we take your existing contact properties and you can segment them as new goal conversions<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>So cool! I will try now \ud83d\ude00<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tberguer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tberguer<\/a>&nbsp;cool! lmk how it goes<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/H465OWNR3Z225E\" class=\"app-title\">Tamamon<\/a><\/p>\n<div class=\"one-liner\">A desktop pet that grows as you code with Claude Code<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">256<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tamamon \u662f\u4e00\u6b3e macOS \u684c\u9762\u5ba0\u7269\uff0c\u901a\u8fc7\u76d1\u6d4b\u7528\u6237\u5728 Claude Code \u4e2d\u7684\u672c\u5730\u7f16\u7801\u6d3b\u52a8\uff08\u57fa\u4e8e token \u6d88\u8017\uff09\u8ba9\u5ba0\u7269\u5b75\u5316\u3001\u6210\u957f\u548c\u8fdb\u5316\uff0c\u5c06\u67af\u71e5\u7684\u7f16\u7801\u8fc7\u7a0b\u8f6c\u5316\u4e3a\u966a\u4f34\u5f0f\u7684\u517b\u6210\u6e38\u620f\uff0c\u89e3\u51b3\u5f00\u53d1\u8005\u201c\u76ef\u7740\u5c4f\u5e55\u5374\u7f3a\u4e4f\u6b63\u5411\u53cd\u9988\u201d\u7684\u5b64\u72ec\u611f\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\/284f2b15-5edd-47f0-b5be-fe72e53475c3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/97cd2c9b-6c9e-4842-967b-cbd83daab594.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/61509d19-4d17-417d-91b4-6e7e78ce7506.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u684c\u9762\u5ba0\u7269<\/span><br \/>\n            <span class=\"tag\">macOS<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7801\u4f34\u4fa3<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">\u517b\u6210\u6e38\u620f<\/span><br \/>\n            <span class=\"tag\">Claude Code \u751f\u6001<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u50cf\u7d20\u98ce\u683c<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u5173\u5fc3\uff1a\u5ba0\u7269\u662f\u5426\u652f\u6301\u591a\u9879\u76ee\/\u591a\u4f1a\u8bdd\u7684\u5168\u5c40\u7edf\u4e00\u6210\u957f\uff1b\u8bc4\u4ef7\u6d3b\u52a8\u8ffd\u8e2a\u673a\u5236\u4e0d\u4f1a\u6210\u4e3a\u201c\u751f\u4ea7\u529b\u6127\u759a\u8868\u201d\uff1b\u5efa\u8bae\u652f\u6301\u975e AI \u7f16\u7801\u6216 git commit \u8ffd\u8e2a\uff1b\u8be2\u95ee\u6570\u636e\u5907\u4efd\/\u8de8\u8bbe\u5907\u8fc1\u79fb\uff08\u5df2\u83b7\u56de\u590d v0.4.8 \u5df2\u652f\u6301\u672c\u5730\u5bfc\u51fa\u5bfc\u5165\uff09\uff1b\u5e0c\u671b\u6709\u201c\u6700\u7231\u5ba0\u7269\u201d\u5e38\u9a7b\u529f\u80fd\uff1b\u5bf9\u5929\u6c14\/\u65f6\u95f4\u89e6\u53d1\u884c\u4e3a\uff08\u5982\u96e8\u5929\u56de\u5bb6\uff09\u8d5e\u8a89\u4e3a\u201c\u6709\u6027\u683c\u201d\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Tamamon \u5728 Product Hunt \u4e0a\u83b7\u5f97 256 \u7968\u548c\u9ad8\u8d28\u91cf\u8ba8\u8bba\uff0c\u6210\u529f\u5728\u4e8e\u5b83\u7cbe\u51c6\u5730\u5207\u4e2d\u4e86\u4e00\u4e2a\u88ab\u5ffd\u89c6\u7684\u75db\u70b9\uff1aAI \u8f85\u52a9\u5f00\u53d1\u8005\u770b\u4f3c\u9ad8\u6548\uff0c\u5b9e\u5219\u9677\u5165\u201c\u8f93\u51fa\u5373\u6d88\u5931\u201d\u7684\u865a\u65e0\u611f\u3002\u5b83\u6ca1\u6709\u50cf\u4f20\u7edf\u751f\u4ea7\u529b\u5de5\u5177\u90a3\u6837\u641e\u6392\u884c\u699c\u3001\u8ba1\u65f6\u5668\u6216 To-Do List\uff0c\u800c\u662f\u7528\u201c\u966a\u4f34\u201d\u548c\u201c\u6210\u957f\u201d\u6765\u91cd\u6784\u53cd\u9988\u673a\u5236\u2014\u2014\u4f60\u6572\u7684\u6bcf\u4e00\u884c token \u90fd\u4e0d\u662f\u51b7\u51b0\u51b0\u7684\u8ba1\u8d39\u5355\u4f4d\uff0c\u800c\u662f\u5ba0\u7269\u8fdb\u5316\u7684\u517b\u6599\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u5ba0\u7269\u517b\u6210\u201d\u8fd9\u4e2a\u5916\u58f3\u672c\u8eab\uff08\u5e02\u9762\u4e0a\u66f4\u534e\u4e3d\u7684\u5ba0\u7269\u6e38\u620f\u591a\u5982\u725b\u6bdb\uff09\uff0c\u800c\u5728\u4e8e\u5b83\u628a\u201c\u672c\u5730\u5316\u3001\u65e0\u8ffd\u8e2a\u3001\u65e0\u8d26\u6237\u201d\u7684\u9690\u79c1\u627f\u8bfa\u505a\u6210\u4e86\u6838\u5fc3\u58c1\u5792\u3002\u5728\u5f00\u53d1\u8005\u7fa4\u4f53\u5bf9\u201c\u6570\u636e\u4e0a\u4e91\u201d\u65e5\u76ca\u8b66\u60d5\u7684\u5f53\u4e0b\uff0c\u8fd9\u4e2a\u9009\u62e9\u65e2\u8bda\u5b9e\u53c8\u806a\u660e\uff1a\u4e00\u4e2a\u53ea\u8bfb\u53d6\u672c\u5730 jsonl \u65e5\u5fd7\u3001\u4e0d\u8054\u7f51\u3001\u4e0d\u6233\u7834\u9690\u79c1\u8fb9\u754c\u7684\u5ba0\u7269\uff0c\u624d\u80fd\u8ba9\u4eba\u653e\u5fc3\u5730\u628a\u5b83\u6302\u5728\u83dc\u5355\u680f\u4e0a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u4ea7\u54c1\u7684\u957f\u671f\u7c98\u6027\u53d6\u51b3\u4e8e\u201c\u6210\u957f\u673a\u5236\u201d\u7684\u8bbe\u8ba1\u6df1\u5ea6\u3002\u76ee\u524d\u5ba0\u7269\u8fdb\u5316\u51e0\u4e4e\u5b8c\u5168\u4e0e\u88ab\u52a8\u7684 token \u6d88\u8017\u6302\u94a9\uff0c\u7f3a\u4e4f\u201c\u91cc\u7a0b\u7891\u201d\u5f0f\u7684\u4e3b\u52a8\u89e6\u53d1\uff08\u5982\u5b8c\u6210\u7279\u5b9a\u9879\u76ee\u3001debug \u6210\u529f\u3001\u53d1\u5e03\u7248\u672c\uff09\u6216\u7528\u6237\u53ef\u63a7\u7684\u201c\u5206\u652f\u9009\u62e9\u201d\uff08\u6bd4\u5982\u8ba9\u5ba0\u7269\u5b66\u4f1a\u7279\u5b9a\u6280\u80fd\uff09\u3002\u5982\u679c\u53ea\u662f\u673a\u68b0\u5730\u6309 token \u6570\u89e3\u9501\u8fdb\u5316\u5f62\u6001\uff0c\u4e00\u65e6\u65b0\u9c9c\u611f\u8fc7\u53bb\uff0c\u7528\u6237\u6781\u5927\u6982\u7387\u5728\u6536\u96c6\u5230\u4e00\u534a\u7269\u79cd\u540e\u5f03\u5751\u3002\u6b64\u5916\uff0cmacOS 15+ \u548c Apple Silicon \u7684\u9650\u5236\u76f4\u63a5\u780d\u6389\u4e86 Intel Mac \u548c Windows \u7528\u6237\uff0c\u8fd9\u65e2\u662f\u6280\u672f\u6d01\u7656\u4e5f\u662f\u5e02\u573a\u7a84\u5316\u2014\u2014\u5f00\u53d1\u8005\u7fa4\u4f53\u4e2d\u4ecd\u6709\u65e0\u6570\u7684\u975e M \u7cfb\u5217\u8bbe\u5907\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u4e00\u4e2a\u4e0d\u8be5\u88ab\u5ffd\u89c6\u7684\u201c\u9690\u6027\u529f\u80fd\u201d\uff1a\u5ba0\u7269\u4f1a\u5728\u4f1a\u8bdd\u7b49\u5f85\u8f93\u5165\u65f6\u6325\u624b\u63d0\u9192\u3002\u8fd9\u6070\u6070\u662f\u6bd4\u201c\u6210\u957f\u201d\u66f4\u521a\u9700\u7684\u75db\u70b9\u2014\u2014\u591a\u4f1a\u8bdd\u7ba1\u7406\u7684\u6df7\u4e71\uff0c\u88ab\u4e00\u4e2a\u50cf\u7d20\u5c0f\u73a9\u610f\u513f\u4ee5\u6781\u5177\u60c5\u611f\u5316\u7684\u65b9\u5f0f\u89e3\u51b3\u4e86\u3002\u5982\u679c\u672a\u6765\u80fd\u628a\u8fd9\u4e2a\u201c\u7b49\u5f85\u63d0\u9192\u201d\u505a\u6210\u53ef\u914d\u7f6e\u3001\u53ef\u6574\u5408\u5230\u66f4\u591a IDE \u6216\u7ec8\u7aef\u5de5\u5177\u7684\u6838\u5fc3\u529f\u80fd\uff0c\u5176\u4ea7\u54c1\u4ef7\u503c\u53ef\u80fd\u8fdc\u8d85\u5ba0\u7269\u672c\u8eab\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aTamamon \u7528\u50cf\u7d20\u548c\u60c5\u611f\uff0c\u628a\u201c\u6478\u9c7c\u201d\u53d8\u6210\u4e86\u201c\u517b\u9c7c\u201d\uff0c\u4f46\u5b83\u8981\u8b66\u60d5\u201c\u8eba\u5728\u72ec\u7279\u6027\u4e0a\u7761\u5927\u89c9\u201d\u2014\u2014\u53ea\u6709\u8ba9\u5ba0\u7269\u7684\u201c\u6027\u683c\u201d\u548c\u201c\u6210\u957f\u8def\u5f84\u201d\u771f\u6b63\u4e30\u5bcc\u8d77\u6765\uff0c\u5b83\u624d\u80fd\u4ece\u4e00\u4e2a\u5c0f\u4f17\u73a9\u7269\u53d8\u6210\u5f00\u53d1\u8005\u684c\u9762\u7684\u6807\u914d\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\">Tamamon<\/span>\n                <\/div>\n<div class=\"comment-content\">Tamamon is a macOS desktop pet that lives on top of your screen and grows the more you build with Claude Code. What it does: &#8211; 20 species to collect through a weekly gacha, each with its own evolved forms and quirks &#8211; Feed it, play (ball, bubbles), and decorate its habitat &#8211; Reacts to real time and weather \u2014 when it rains or night falls, your pet heads home to rest &#8211; Nothing leaves your Mac. No account, no sign-in, no tracking, nothing uploaded.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi everyone \ud83d\udc4b I&#8217;m the solo maker behind Tamamon.<\/p>\n<p>I live in Claude Code all day, and I wanted something on my screen that grew alongside the work \u2014 a small companion instead of another dashboard. So Tamamon starts as an egg, and the more you build with Claude Code, the more it hatches, grows, and evolves.<\/p>\n<p>A few honest notes, because I want to get this right:<br \/>\n&#8211; It grows from your local Claude Code coding activity on your Mac (token-based). The little HUD shows today + this week of that activity, plus live CPU and Memory.<br \/>\n&#8211; It does NOT show your Claude subscription session or weekly limit %. People sometimes assume that, so I want to be upfront: it reflects your local coding activity, not your account status.<br \/>\n&#8211; Everything stays on your Mac. No account, no sign-in, no tracking, nothing uploaded.<\/p>\n<p>Beyond the growth loop: there are 20 species to collect via a weekly gacha (each with evolved forms and quirks), you can feed and play with it (ball, bubbles), decorate its habitat, and it reacts to time and weather \u2014 when it rains or night falls, it wanders home to rest.<\/p>\n<p>It&#8217;s early beta, free, macOS 15+ Apple Silicon (signed + notarized). Download is on GitHub Releases; there&#8217;s a Ko-fi if you&#8217;d like to help me keep drawing pixels.<\/p>\n<p>Website: <a href=\"https:\/\/tamamons.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/tamamons.com<\/a><\/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\/@besslframework\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@besslframework<\/a>&nbsp;I love that this keeps lets me have a pet and it is low maintenance while being on my desk most of the time. During launch it can be difficult to be visible, hope Uprows Hub <a href=\"https:\/\/uprowshub.com\/buy-product-hunt-reviews\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/uprowshub.com\/buy-product-hunt-reviews<\/a>   can help you get more visibility and the word out <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@besslframework\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@besslframework<\/a>&nbsp;been running a handful of parallel claude code sessions across different repos most days. curious if tamamon pools that into one global growth counter or can tell projects apart. kind of hoping the answer is one pet for everything, not five pets side-eyeing me from different corners of the screen.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@besslframework\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@besslframework<\/a>&nbsp;Congrats. Quick question: what behaviors or coding milestones unlock different species or evolutions, and do you plan any ways for users to influence progression explicitly beyond the passive activity tracking?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;grows from local Claude Code token activity, nothing leaves the Mac&#8221; framing is what keeps this charming instead of turning into a productivity guilt-meter. Since there&#8217;s no account or sync, what happens to a collection I&#8217;ve spent weeks on if I switch Macs or reinstall \u2014 is there a local backup\/export, or does the gacha roster start over? I&#8217;d happily leave it running all day if the evolved species carry across machines.<\/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\/@leo404\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@leo404<\/a>&nbsp;Really appreciate this \u2014 &#8220;productivity guilt-meter&#8221; is exactly the trap I was trying to avoid. Quick update: you asked, and it just shipped. As of v0.4.8 there&#8217;s one-click Export \/ Import in the tray menu \u2014 save your whole collection to a file and load it on another Mac. Fully local, no account, and your current collection is backed up automatically before any import, so nothing is ever lost.<\/p>\n<p>On the same Mac it was already safe (the save lives in ~\/.config, separate from the app). Leave it running \u2014 I&#8217;d love 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>The same should be done for people who code without AI, so they will be motivated to work on their own code more organically \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Love that \u2014 a version that grows from your own commits or activity regardless of AI is a genuinely nice idea. I&#8217;ll keep it in mind. Thanks for the thought.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>launched my own product this week and spent the whole time staring at analytics dashboards, so a pet that just vibes next to the work instead of measuring me is weirdly exactly what I needed lol<\/p>\n<p>the &#8220;heads home when it rains&#8221; detail is what sold me. that&#8217;s not a feature, that&#8217;s a personality<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yarslav\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yarslav<\/a>&nbsp;&#8220;That&#8217;s not a feature, that&#8217;s a personality&#8221; might be my favorite thing anyone&#8217;s said about it. I had the same staring-at-dashboards fatigue, which is why it measures nothing and just keeps you company. Congrats on your own launch this 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>As a solo founder basically living in Claude Code all day, the local-only &#8220;nothing leaves your Mac&#8221; part is what sells me over another usage dashboard \u2014 a little companion growing alongside the grind beats staring at more numbers lol. Does it react differently to one long deep-work session vs a day of scattered short bursts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that this one is proudly useless, that&#8217;s the whole charm \ud83d\ude42 After a full day in Claude Code the last thing I want is another dashboard judging me, a little creature that just grows quietly alongside the work is a much nicer relationship with the tool. \ud83d\ude09<\/p>\n<\/p>\n<p>The detail I like most is the one that sounds like pure flavor: it wanders home to rest when it rains or night falls. Tying growth to token activity could so easily become a &#8220;grind more, feed the pet&#8221; guilt loop, a companion that also knows when to sleep says the exact opposite. That resting is what keeps it a friend instead of a productivity nag. Respect on the honesty too, being upfront that it reflects local coding activity and not your subscription % is a real trust signal. <\/p>\n<p>Congrats on the launch! \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=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8216;waves when a session&#8217;s waiting on input&#8217; bit is the sharp part \u2014 in the local jsonl, blocked-on-a-permission-prompt and you-walked-away look identical. last event&#8217;s an assistant turn either way, so the tell has to come from outside the transcript.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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\">Congrats on the launch, Jason! I love seeing developers make coding a little more playful. Curious if you&#8217;ve considered letting the pet evolve based on different coding behaviors (maybe debugging, shipping, testing, open source contributions)?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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 think collecting twenty pieces sounds fun and rewarding. Can I choose one favorite pet that always stays active? a favorite option would help users build a stronger connection while still collecting every species.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Jason, this hits a very specific childhood nerve for me. The idea of a tiny creature quietly growing in the corner while I work made me smile more than I expected. Cozy little thing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Heheh love this Jason! Guessing if you&#8217;re thinking on monetizing or it&#8217;s just for fun. Congrats on the launch anyway and wish you all the best!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Ha, thank you Germ\u00e1n! Honestly it&#8217;s a labor of love \u2014 free, fully local, no catch, and I want to keep the pet and collecting that way. There&#8217;s a Ko-fi if anyone feels like buying the little guy a coffee, but that&#8217;s it. Appreciate the kind words, and all the best to you 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>The weather-reactive behavior is such a thoughtful touch, sending your pet home when it actually rains where you live makes the little guy feel alive instead of just decorative. Love that it all stays local too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The no-account, no-upload framing is the detail that keeps this from becoming a productivity surveillance toy. For a local Mac companion tied to coding-agent work, I would keep the user-facing promise very explicit: what signal is read, where it is stored, and how someone can back up or reset it. That trust boundary is what makes small local tools feel safe to leave running all day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The stressful world of builders could use more of this kind of fun.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The detail that got me isn&#8217;t the gacha \u2014 it&#8217;s that the pet perks up and waves when a Claude Code session is waiting on your input. I usually have two or three sessions running side by side, and &#8220;which one is blocked on me&#8221; is a problem I&#8217;ve half-solved with terminal bells. A pixel pet doing that job ambiently is honestly better UX.<\/p>\n<\/p>\n<p>Also appreciated the upfront note that it reads local coding activity, not subscription limits \u2014 that kind of honesty in a launch post is rare. Congrats on shipping, <a href=\"https:\/\/www.producthunt.com\/@besslframework\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"besslframework\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@besslframework<\/a>  \ud83d\udc4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does it actually detect what im building with claude code, does it read the terminal output or something else<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does the gacha decide which species you get, is it truly random or does claude code usage somehow influence your pulls?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The real-time weather reactions are such a thoughtful touch \u2014 having your pet actually go home when it rains makes the whole thing feel alive instead of just decorative. Love that nothing leaves the Mac.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The little guy reacting to actual weather is such a nice touch, especially seeing him head home when it starts raining outside my window. Wish more desktop apps felt this cozy without asking for an account.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the gacha loop is genuinely charming, and i love that it actually reacts to the weather outside my window. caught it heading to bed when it started raining last night, which was a small but delightful touch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Shipping export\/import mid-launch because a commenter asked for it beats any launch video. Well done! I was wondering if token volume used to mean a human at the keyboard (but a growing share of Claude Code usage is agents grinding unattended overnight), then does an egg hatched by a background run feel earned? <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the little guy actually heads home when it rains, which is way more charming than i expected for a desktop pet. curious to see what evolves after a week of coding sprints.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally gave it a spin this morning and the weather reactivity is honestly charming, my little guy wandered off the screen right when it started raining. love that nothing leaves the mac<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the weather reaction really got me, seeing my little guy head home when it started raining felt weirdly charming and the local-only thing is a nice bonus for something this cozy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@besslframework\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"besslframework\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@besslframework<\/a> This is super cute. Dolloproof just hatched. I get a feeling this is going to be fun<br \/>One question, does it track session limits or can it suggest optimal coding period, eg clubbing two sessions?<br \/>Also, one pain point on claude code is to remember putting a querry to start a session so i optimize the day better, can it do that for me?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I spend half my day inside Claude Code so this is dangerously relevant. Genuinely clever gamification &#8211; the pet growing with actual work beats every streak counter I&#8217;ve ignored. Does it react to failed runs too, or only progress? Might need to protect my pet from my debugging sessions. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does it actually detect what im building in claude code without uploading anything, is it just reading local session logs?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@erafettinlg1r\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erafettinlg1r<\/a>&nbsp;Exactly right \u2014 it reads your local Claude Code activity on your own machine, and nothing is ever uploaded. No account, no sign-in, no data leaving your Mac. It just quietly watches the local activity and reacts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 silly and not productive and I love it. Such a fun idea!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mjohnson42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mjohnson42<\/a>&nbsp;&#8220;Silly and not productive and I love it&#8221; is going on the box. 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>That&#8217;s a cool idea!<br \/>But i can&#8217;t see any close button to turn it off. Or exit from the app. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mohammad_faisal11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohammad_faisal11<\/a>&nbsp;Thanks for flagging. It lives in your menu bar at the top-right, not the Dock \u2014 click the Tamamon icon up there and you&#8217;ll find Quit at the bottom of the menu.<\/p>\n<p>That&#8217;s also where Settings, your Collection, and the Room are. Let me know if the icon isn&#8217;t showing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">This looks super fun. how does Tamamon decide when and how your pet evolves as you code?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thys_beesman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thys_beesman<\/a>&nbsp;Thanks. Your coding activity over the week sets its stage \u2014 it hatches from an egg, grows into a baby, then an adult, then evolves. How it evolves depends on how you care for it along the way: look after it and it grows into a radiant form; neglect or overfeed it and it takes a darker turn.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/AQBTECY2JSGAXZ\" class=\"app-title\">Osloq<\/a><\/p>\n<div class=\"one-liner\">An AI agent that reproduces GitHub issues for you<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">209<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Osloq\u662f\u4e00\u4e2aAI\u4ee3\u7406\u5de5\u5177\uff0c\u901a\u8fc7\u81ea\u52a8\u5728\u4e91\u7aef\u6c99\u7bb1\u4e2d\u514b\u9686\u3001\u8fd0\u884c\u4f60\u7684GitHub\u4ed3\u5e93\u5e76\u771f\u5b9e\u91cd\u73b0Bug\uff0c\u7ec8\u7ed3\u5f00\u53d1\u8005\u201c\u5728\u6211\u673a\u5668\u4e0a\u8dd1\u5f97\u597d\u597d\u7684\u201d\u7684\u65e0\u6548\u6c9f\u901a\uff0c\u76f4\u63a5\u63d0\u4f9b\u8bc1\u636e\u786e\u51ff\u7684\u590d\u73b0\u62a5\u544a\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\/8b9100d4-3ca7-42c8-a684-0e89aa76d81e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b0a35fe4-5df2-4721-be68-b046111d1317.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/43d7df7c-1730-4ef2-8582-f13cd91f1284.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aafa1192-482a-4ee0-ad28-8d69fb8f76d2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/81292299-644a-47cf-a1c9-ed68dd18a959.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">Bug\u590d\u73b0<\/span><br \/>\n            <span class=\"tag\">GitHub\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u6c99\u7bb1\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u8c03\u8bd5\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bc1\u636e\u9a71\u52a8<\/span><br \/>\n            <span class=\"tag\">\u8d28\u91cf\u4fdd\u969c<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u53ef\u9760\u6027<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u5176\u201c\u8bc1\u636e\u9a71\u52a8\u201d\u7406\u5ff5\uff0c\u8d28\u7591\u96c6\u4e2d\u5728\u590d\u6742\u73af\u5883\uff08\u5916\u90e8\u4f9d\u8d56\u3001\u6570\u636e\u5e93\u3001\u538b\u6d4b\u65f6\u5e8f\u3001UI\u6e32\u67d3\uff09\u7684\u652f\u6301\u80fd\u529b\uff1b\u8be2\u95ee\u4e0eLinear Agent\u7684\u5dee\u5f02\u5316\uff08\u56de\u590d\u5f3a\u8c03\u4e13\u6ce8\u91cd\u73b0\u800c\u975e\u4fee\u590d\uff09\uff1b\u5173\u6ce8\u6a21\u7ccaBug\u62a5\u544a\u7684\u5904\u7406\u3001CI\u96c6\u6210\u53ca\u590d\u73b0\u5931\u8d25\u65f6\u7684\u53cd\u9988\u7ed3\u6784\uff1b\u5bf9\u6c99\u7bb1\u5982\u4f55\u5904\u7406\u4f9d\u8d56\u548c\u51ed\u8bc1\uff08\u5982mock\u66ff\u4ee3\u4e0e\u52a0\u5bc6secret\uff09\u6709\u8be6\u7ec6\u63a2\u8ba8\uff1b@enessss \u56de\u590d\u89e3\u91ca\u4e86\u771f\u5b9e\u6d4f\u89c8\u5668\u652f\u6301\u3001\u6a21\u578b\u9000\u5316\u7684\u57fa\u51c6\u6d4b\u8bd5\u673a\u5236\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Osloq\u5207\u4e2d\u7684\u662f\u5f00\u53d1\u6d41\u7a0b\u4e2d\u6700\u7070\u6697\u3001\u6700\u6d88\u8017\u4fe1\u4efb\u7684\u73af\u8282\u2014\u2014Bug\u590d\u73b0\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201cAI\u201d\uff0c\u800c\u5728\u4e8e\u201c\u6267\u884c\u521a\u6027\u201d\uff1a\u4ece\u8bfb\u4ee3\u7801\u731cBug\u7684\u667a\u529b\u6e38\u620f\uff0c\u56de\u5f52\u5230\u52a8\u624b\u8fd0\u884c\u67e5\u770b\u4e8b\u5b9e\u7684\u5de5\u7a0b\u65e7\u8def\u3002\u5b83\u7528\u81ea\u52a8\u5316\u624b\u6bb5\uff0c\u5c06\u201c\u6211\u590d\u73b0\u4e00\u4e0b\u201d\u4ece\u4e00\u53e5\u53e3\u5934\u7985\u53d8\u6210\u53ef\u590d\u7528\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u8fd9\u6bd4\u5199\u4ee3\u7801\u4fee\u8865Bug\u66f4\u50cf\u662f\u4e00\u79cd\u5143\u89e3\u51b3\u65b9\u6848\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u7684\u771f\u5b9e\u5929\u82b1\u677f\u5728\u4e8e\u4e24\u4e2a\u77db\u76fe\u3002\u5176\u4e00\uff0c\u5f00\u53d1\u6548\u7387\u4e0e\u590d\u73b0\u6df1\u5ea6\u7684\u77db\u76fe\uff1a\u8f7b\u5ea6\u4f9d\u8d56\u3001\u6b65\u9aa4\u6e05\u6670\u7684Bug\u662f\u5b83\u6700\u64c5\u957f\u7684\u751c\u533a\uff0c\u4f46\u751f\u4ea7\u73af\u5883\u4e2d\u7684\u6076\u75be\uff08\u7279\u5b9a\u7f13\u5b58\u96ea\u5d29\u3001\u7ade\u6001\u6761\u4ef6\u3001\u590d\u6742\u5206\u5e03\u5f0f\u4e8b\u52a1\uff09\u6070\u6070\u9700\u8981\u201c\u751f\u4ea7\u7ea7\u6570\u636e\u4e0e\u538b\u529b\u201d\u2014\u2014\u8fd9\u6b63\u662fOsloq\u5f7b\u5e95\u65e0\u6cd5\u89e6\u53ca\u7684\u9886\u57df\u3002\u5176\u4e8c\uff0cAI\u5e7b\u89c9\u7684\u6cbb\u7406\u6096\u8bba\uff1a\u56e2\u961f\u5ba3\u79f0\u7528\u201c\u8fd0\u884c\u4ee3\u7801\u201d\u9632\u6b62\u5e7b\u89c9\uff0c\u4f46Agent\u5728\u6784\u5efa\u73af\u5883\u3001\u89e3\u6790Issue\u610f\u56fe\u3001\u786e\u5b9a\u201c\u590d\u73b0\u6210\u529f\u201d\u6807\u51c6\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6bcf\u4e00\u6b65\u4ecd\u88abLLM\u7684\u6a21\u7cca\u6027\u6e17\u900f\u3002\u7528\u6237\u5728\u8bc4\u8bba\u4e2d\u95ee\u5230\u201c\u590d\u73b0\u5931\u8d25\u65f6\u5982\u4f55\u5b9a\u4e49\u201d\uff0c\u5982\u679c\u65e0\u6cd5\u4ee5\u53ef\u9760\u7684\u6a21\u5f0f\u8bed\u8a00\uff08\u5982\u65ad\u8a00\u811a\u672c\u3001\u65e5\u5fd7\u6307\u7eb9\uff09\u6765\u660e\u786e\u201c\u662f\u5426\u590d\u73b0\u201d\uff0c\u90a3\u4e48\u5b83\u4ea7\u51fa\u7684\u201c\u8bc1\u636e\u62a5\u544a\u201d\u672c\u8d28\u4e0a\u4ecd\u662f\u4e00\u4e2a\u5305\u88c5\u7cbe\u7f8e\u7684AI\u7f6e\u4fe1\u533a\u95f4\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u4e0d\u9002\u5408\u60f3\u4ece\u6839\u672c\u675c\u7edd\u6240\u6709Bug\u7684\u5b8c\u7f8e\u4e3b\u4e49\u8005\uff0c\u4f46\u975e\u5e38\u9002\u5408\u90a3\u4e9b\u6bcf\u5929\u82b11\u5c0f\u65f6\u624b\u52a8Step by step\u5374\u53ea\u6362\u6765\u4e00\u53e5\u201cWorks for me\u201d\u7684\u5c0f\u56e2\u961f\u3002Osloq\u63d0\u4f9b\u7684\u662f\u786e\u5b9a\u6027\uff0c\u800c\u4e0d\u662f\u63a8\u9001\u81ea\u52a8\u8865\u4e01\u3002\u5728AI\u4ee3\u7801\u751f\u6210\u5df2\u8fc7\u5206\u62e5\u6324\u7684\u8d5b\u9053\u4e0a\uff0c\u9009\u62e9\u5207\u56de\u201c\u9a8c\u8bc1\u201d\u8fd9\u4e2a\u9006\u5411\u5de5\u7a0b\uff0c\u53ef\u80fd\u53cd\u800c\u662f\u8d70\u5f97\u8fdc\u7684\u6253\u6cd5\u3002\u4f46\u9700\u8b66\u60d5\uff1a\u7f3a\u5c11\u4e0eCI\/CD\u7684\u6df1\u5ea6\u7ed1\u5b9a\u53ca\u5f00\u653e\u7684\u8bc1\u636e\u5ba1\u8ba1\u63a5\u53e3\uff0c\u5b83\u76ee\u524d\u4ecd\u662f\u4e00\u4ef6\u72ec\u7acb\u7684\u201d\u8c03\u8bd5\u524d\u7f6e\u5de5\u5177\u201d\uff0c\u800c\u975e\u5de5\u4f5c\u6d41\u57fa\u7840\u8bbe\u65bd\u3002\u4e0b\u4e00\u9636\u6bb5\u7684\u8003\u9a8c\uff0c\u662f\u5982\u4f55\u8ba9\u5b83\u7684\u201c\u8bc1\u636e\u201d\u8fdb\u5165\u5408\u89c4\u3001\u5ba1\u8ba1\u548c\u8de8\u56e2\u961f\u534f\u4f5c\u7684\u6838\u5fc3\uff0c\u800c\u4e0d\u4ec5\u662f\u8d34\u5728GitHub Issue\u4e0b\u7684\u4e00\u6761\u53ef\u4fe1\u8bc4\u8bba\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\">Osloq<\/span>\n                <\/div>\n<div class=\"comment-content\">Most AI dev tools just read your code and guess. Osloq actually runs it. Connect your GitHub, pick an issue, and an AI agent spins up a real sandbox, clones your repo, runs it, and tries to reproduce the bug the way a developer would. You get a report backed by real evidence. What happened, the steps it took, and whether the bug is real, not a hallucinated guess. No local setup, no &#8220;works on my machine.&#8221; It handles the tedious reproduction step so you jump straight to fixing.<\/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 enes, solo founder of osloq.<\/p>\n<p>this came from a problem every developer knows too well. someone files a bug report, and before you can even think about fixing it, you drop what you&#8217;re working on, dig through the repro steps, get your project into the exact state they described, and run it over and over just to confirm the bug is even real. half the time it ends in &#8220;works on my machine&#8221; and the issue sits there for weeks.<\/p>\n<p>so i built osloq to do that part. you hand it a github issue, and it spins up a real sandbox, clones and runs your actual repo, and tries to reproduce the bug the way a developer would. then it hands you a report backed by real evidence. what it did, what happened, and whether the bug is actually real.<\/p>\n<p>the hardest part while building it was trust. early on the agent would &#8220;reproduce&#8221; bugs that weren&#8217;t real, basically confident hallucinations. so a lot of the work went into making it run real code and prove what it found, instead of guessing from reading the source. if it can&#8217;t back a claim with evidence, it says so.<\/p>\n<p>it&#8217;s live today and i&#8217;d genuinely love your feedback. what would make this useful in your workflow? ask me anything, i&#8217;ll be here all day.<\/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\/@enessss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@enessss<\/a>&nbsp;This is a really interesting take on one of the most painful parts of debugging. The idea of turning a GitHub issue into a real, reproducible sandbox run is exactly the kind of automation that could save a lot of wasted back-and-forth. The focus on evidence over \u201cconfident guesses\u201d is especially important here. Curious how it handles complex environment setups and flaky bugs in real-world repos.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@enessss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@enessss<\/a>&nbsp;I can see this fitting into my workflow. Does it integrate with existing CI pipelines for automatic issue verification?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@enessss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@enessss<\/a>&nbsp;Congrats on the launch. The confident hallucination problem is so real \u2014 I hit the same thing building my own tooling, it kept reporting stuff that sounded right and fell apart the moment I checked by hand. Curious how you handle bugs that only show up with specific data in the database \u2014 do you seed the sandbox somehow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Enes, the reproducing part has always been the bit that quietly eats my afternoon, so seeing something take that off my plate genuinely made me pause. Feels like the kind of help I&#8217;d actually welcome.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The evidence-backed part is the important line here. For a small team, a bug-repro agent is useful only if the report can become a reviewable artifact: exact assumptions, commands, env gaps, and ideally a tiny failing test or script someone can rerun. That keeps it from turning into another confident AI opinion in the triage queue.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;works on my machine&#8221; framing hits home \u2014 as a solo founder most of my bug reports come from non-technical users, so the &#8220;repro steps&#8221; are usually &#8220;it just broke&#8221; with no stack trace. Does Osloq still get somewhere useful when the issue text itself is vague, or does it lean on the reporter having written decent repro steps to work from?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Are there any plans to turn this into a full manual QA bot? Reproducing bugs are one thing but testing that the code is working as expected is also a tedious part I would love to do away 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like that the report is evidence-backed rather than just a polished summary. The detail I\u2019d want in a team workflow is a clear \u201ccould not reproduce because\u2026\u201d state, so an issue can move back to the reporter without another manual triage loop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How&#8217;s it different than Linear&#8217;s agent? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@divyansh_lohia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@divyansh_lohia<\/a>&nbsp;Linear&#8217;s agent lives inside Linear itself and tries to auto-fix and open a PR. Osloq is the opposite. It&#8217;s built to reproduce, not fix. It runs your actual repo in a sandbox and, when the bug reproduces, hands back a verdict backed by real evidence, the likely cause, and next steps to fix it, so you start from a lead instead of a blank page<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\/@enessss\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"enessss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@enessss<\/a> since Osloq stops at a confirmed repro with evidence rather than proposing a fix, is the output structured enough, or is it more of a human readable triage report at this stage?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@clement_avq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@clement_avq<\/a>&nbsp;Kind of, yeah. The next step points at the fix direction, where the bug lives and what to try, so you start from a lead instead of a blank page. It&#8217;s not a full patch\/PR yet.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the hard part with most repro bugs I&#8217;ve dealt with isn&#8217;t running the code, it&#8217;s the missing state &#8211; a specific user&#8217;s data, a race condition that only shows up under load, third party API responses that vary. how does the sandbox handle issues that need real production-like data or timing to actually trigger, or is this mostly aimed at the straightforward &#8220;steps to reproduce&#8221; kind of bug<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the setup loop is the sharp edge \u2014 the agent iterates until the repo&#8217;s up. but a whole class of bugs <em>is<\/em> &#8216;doesn&#8217;t build on clean checkout,&#8217; and something whose job is to get it running will quietly patch past exactly 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@qifengzheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qifengzheng<\/a>&nbsp;Repo-owned build failures (bad lockfile, missing file, broken script) are the bug, they get reported, not patched. Only environment gaps get worked around, and each shows in the timeline.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Running the actual code instead of reasoning about it is the right call. Curious how Osloq handles repos with external service dependencies &#8211; database calls, third-party APIs &#8211; where the bug only shows in a specific environment setup.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@christian_knaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christian_knaut<\/a>&nbsp;With project secrets it runs against the real dependency; without them it stands in with a same-contract substitute to reach the code path. Only when neither can recreate what the bug needs does it say &#8220;could not reproduce.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the sandbox handle repos with heavy infra dependencies like docker compose or database services. Does it spin those up too or just the app code in isolation?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dudu1153696\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dudu1153696<\/a>&nbsp;Each investigation runs in an isolated sandbox with the common runtime toolchain preinstalled. We scope it to whatever the repro actually needs rather than booting full production infra.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I would like support for retrying failed reproductions. Multiple execution attempts could separate random failures from actual bugs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how it handles repos with external service dependencies like a database or third party API. Does the sandbox spin those up too, or do I need to provide credentials before it can run 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@evren8h3u\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@evren8h3u<\/a>&nbsp;hey, no credentials needed to start. the agent figures out what the repo depends on and stands in for it inside the sandbox, a local database instead of your hosted one, a mock instead of a third party API. if the bug genuinely needs the real service you can add encrypted project secrets and it uses those. either way it runs, missing credentials don&#8217;t block the investigation<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 evidence, no claim&#8221; stance is the right call \u2014 I build agents for commerce checkout flows, and verifying an agent&#8217;s claims against what actually ran is where most of our engineering time goes too.<\/p>\n<\/p>\n<p>Two things I couldn&#8217;t tell from the page: how do UI-only bugs work \u2014 if an issue only reproduces in a rendered front-end (dead button after hydration, checkout step breaking), does the sandbox drive a real browser, or is it limited to what&#8217;s exercisable from CLI and tests?<\/p>\n<\/p>\n<p>And how do you keep the agent itself honest over time \u2014 do you re-run it against a benchmark of previously-verified issues when prompts or models change, so repro accuracy doesn&#8217;t silently regress?<\/p>\n<\/p>\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@enessss\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"enessss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@enessss<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@akbar_b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akbar_b<\/a>&nbsp;hey! great question. yes, real browser. the sandbox ships headless Chromium, so for rendered-only bugs the agent boots the app and drives the actual page, capturing DOM, console and network as evidence. on honesty, the verdict is derived from the evidence on the backend rather than taken from the model&#8217;s word, and yes, whenever prompts or models change we re-run issues with known verdicts and compare, so repro accuracy can&#8217;t silently regress.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Neat concept. Does it handle bugs that need specific user state or production data to actually reproduce?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;hey, thanks! it never touches your production data, the agent recreates the needed state inside the sandbox itself. you can also add project secrets (encrypted) if the repo needs real config. and if the state truly can&#8217;t be recreated, it says so instead of guessing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried it on a tricky bug I&#8217;d been putting off and the agent actually cloned the repo and walked through reproduction steps I hadn&#8217;t even considered. Loved that the report felt grounded in real output rather than speculation.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the no-setup sandbox thing is such a smart move, you skip the half-day yak-shave of replicating someone else&#8217;s machine just to confirm a bug. nice execution.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@birsensacar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@birsensacar<\/a>&nbsp;thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Reproducing the issue is genuinely the worst half of the job &#8211; half the tickets I get are &#8216;it doesn&#8217;t work&#8217; with zero context, and you burn an hour just recreating the state before you can even start fixing. Automating the boring forensic part instead of the fix itself is a smart wedge. How does it handle issues that need specific data\/state to trigger? Congrats on the launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a>&nbsp;hey, thanks! and yeah, that &#8220;it doesn&#8217;t work&#8221; with zero context is exactly the pain. for data\/state, the agent sets it up itself, it writes and runs scripts to seed the db or force the exact state it needs, then reproduces from there. when the issue has no repro steps it also digs through the code to infer what state would actually trigger the bug.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting approach!!!! <br \/>Curious&#8230;.how does Osloq handle issues that depend on external services or environment specific configurations? <br \/>Anyways&#8230;congrats on the launch! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;hey, thanks! you can add per-repo env vars and secrets (encrypted), and when an external service isn&#8217;t reachable it falls back to a local stand-in (like a local postgres) so it still hits the code path instead of dying on a missing dependency.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 sandbox repro thing is genuinely cool, I picked a flaky issue from one of my repos and it came back with actual logs and the failing test. Wish I&#8217;d had this last week when I burned an afternoon chasing a &#8220;bug&#8221; that turned out to be a stale local DB.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle repos that need specific env vars or a database to actually run, does it ask me to configure those or just spin up a blank sandbox and fail?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mustafarz0m\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mustafarz0m<\/a>&nbsp;hey! good question, this is the part we put the most work into. you can add per-repo secrets and env vars in the dashboard (encrypted, only decrypted inside the sandbox) so anything the repo needs like api keys or DB urls is loaded into the environment when the run starts, and when something isn&#8217;t configured it doesn&#8217;t just fail on a blank box, the agent spins up a local stand-in (like a local postgres) so it can still run the code path and reproduce the bug instead of giving up.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Really interesting approach. How reliable has Osloq been at reproducing tricky bugs without false positives?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thys_beesman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thys_beesman<\/a>&nbsp;hey, thanks! false positives almost killed this early on, so it only accepts a verdict backed by real runtime evidence, and when unsure it says &#8220;couldn&#8217;t reproduce&#8221; instead of faking 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>Congratulations on the launch! The &#8220;reproduce before you claim&#8221; approach is a sharp answer to the trust problem with AI coding agents. When it reports that it&nbsp;<em>couldn&#8217;t<\/em>&nbsp;reproduce an issue, how should a developer read that &#8211; &#8220;not a bug,&#8221; or possibly a setup gap on the agent&#8217;s side?&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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;hey, thanks! good distinction to make. if it couldn&#8217;t even get the code running it&#8217;ll tell you that outright, which is different from actually running it and the bug not showing up. you&#8217;ll see which one it was in the evidence, so it&#8217;s never a black box you have to trust blindly<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 smartest thing here isn&#8217;t the sandbox, it&#8217;s what you DIDN&#8217;T build. every other AI dev tool promises to fix the bug, you scoped to proving it exists, which is the one step where &#8220;confident hallucination&#8221; gets caught instead of shipped<\/p>\n<p>&#8220;if it can&#8217;t back a claim with evidence, it says so&#8221; should honestly be the bar for the whole agent category<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@yarslav\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yarslav<\/a>&nbsp;this might be my favorite comment of the launch. yeah, the restraint was the whole point, proving a bug exists is where hallucination gets caught before it ships. and completely agree, &#8220;no evidence, no claim&#8221; should be the bar for the category<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>actually runs the repo in a sandbox to verify bugs, that part genuinely sold me. way more useful than the usual &#8220;here are 5 possible causes&#8221; guesswork from other tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eminenv9f\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eminenv9f<\/a>&nbsp;thanks! that was exactly the goal<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the emphasis on &#8220;backed by real evidence&#8221; instead of confident hallucinations, that&#8217;s the biggest friction point with most AI dev tools right now. The sandbox approach is solid.<\/p>\n<p>Quick question though. How does it handle intermittent bugs or race conditions? Those are the worst to reproduce manually, but I imagine they&#8217;re also tricky for an agent since a single run might not catch them. Does it retry, run multiple times, or is that something you need to flag upfront?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@inescastillo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@inescastillo<\/a>&nbsp;hey! honestly this is one of the hardest cases. right now the agent already re-runs the reproduction on its own if the first attempt doesn&#8217;t fire, and it grades its own confidence so it won&#8217;t overclaim if it only caught it once. what it doesn&#8217;t do yet is the heavier version, being told upfront &#8220;this one&#8217;s intermittent&#8221; so it runs it far more times, and stressing it under real concurrency to force a race rather than just repeating the same call. both of those are high on the roadmap<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really smart move focusing the agent on reproducing issues specifically, instead of trying to fix everything. Repro is the annoying part that eats up so much of my morning, and getting a clean repro is half the battle anyway.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@yibo_wang3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yibo_wang3<\/a>&nbsp;thanks! yeah, that&#8217;s exactly the bet<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Reproducing issues is genuinely one of the more annoying parts of the bug triage loop, especially when the report is half-baked and the reproducer assumes environment context the submitter forgot to mention. Curious how Osloq handles that case. When the issue is ambiguous or missing key details, does the agent ask clarifying questions, make assumptions and document them, or just fail gracefully and tell you what it couldn&#8217;t figure out? Also wondering whether the reproduced case outputs something like a failing test or a script, or just a description of the steps it took.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;<br \/>hey! since a run is autonomous it doesn&#8217;t stop to ask mid-way, it figures out the intended behavior from the repo and makes its best attempt, documenting what it assumed. if it can&#8217;t pin it down, it won&#8217;t fake a result, it comes back as not reproduced or blocked and tells you what it couldn&#8217;t figure out. but yeah, having the agent ask a clarifying question mid-run is something i&#8217;ve had in mind and want to add down the line, could be really useful. for your second question, you get the steps plus the real evidence behind them (the commands it ran and what actually happened)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;spins up a real sandbox, clones and runs your actual repo&#8221; step is the hard part \u2014 most repros only fire with real env config, not just the issue text. To get a project runnable, does Osloq read a devcontainer\/Dockerfile\/build script or infer the setup itself? And for bugs that need secrets or a seeded DB, how is private-repo access scoped \u2014 a short-lived token per run, or standing access?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>great question! yeah that&#8217;s the hard part. no devcontainer needed, the agent works out the setup from the repo itself, installs, runs, and iterates until it&#8217;s up. for bugs that need real config you can add project secrets, encrypted and only decrypted inside the sandbox, never logged, and if a secret turns out to be invalid or a service can&#8217;t be reached (say an expired token or a bad db url), it can swap in a local stand-in to still reach the reported code path. access is through the github app with a short-lived token per run, nothing standing<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/AHD5Q4A67VZICO\" class=\"app-title\">Archify <\/a><\/p>\n<div class=\"one-liner\">understand software<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">188<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Archify\u662f\u4e00\u6b3e\u6d4f\u89c8\u5668\u6269\u5c55\uff0c\u8ba9\u5f00\u53d1\u8005\u65e0\u9700\u5207\u6362\u5de5\u5177\u5373\u53ef\u5728\u6d4f\u89c8\u5668\u5185\u5b9e\u65f6\u67e5\u770b\u7f51\u9875\u5e94\u7528\u7684\u524d\u7aef\u7ec4\u4ef6\u3001API\u8c03\u7528\u548c\u67b6\u6784\u884c\u4e3a\uff0c\u89e3\u51b3\u4e86\u8c03\u8bd5\u548c\u5b66\u4e60\u73b0\u4ee3Web\u5e94\u7528\u65f6DevTools\u4fe1\u606f\u788e\u7247\u5316\u7684\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/555b636e-2a52-422f-96a3-8c66293d2e9d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f308a961-f7de-41f9-a1ee-a39c878e25a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/caa4f8e2-190c-405e-8119-748b6da43e09.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/640dc68f-fb58-4f3a-9776-51a43118eaff.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c8f9f4f0-a2f7-4ce3-a8f1-44405724956e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c2fe1e24-1666-4753-918c-e6614ce5518b.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\/6c8c2f4f-83d9-4416-885f-15dc2ef4630b.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/c2e79eca1ef442e8b7bf7a389d4bbfe0\"><source src=\"https:\/\/www.loom.com\/share\/c2e79eca1ef442e8b7bf7a389d4bbfe0\" 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\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u8c03\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u7ec4\u4ef6\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">API\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u67b6\u6784\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u8fd0\u884c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">React\u8c03\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u6027\u80fd\u5206\u6790<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u672c\u5730\u8fd0\u884c\u3001\u65e0\u9700\u989d\u5916\u914d\u7f6e\u3001\u80fd\u5173\u8054API\u4e0e\u7ec4\u4ef6\u7684\u7279\u6027\uff1b\u62c5\u5fe7\u6743\u9650\u4e0e\u6570\u636e\u5b89\u5168\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5b8c\u5168\u5f00\u6e90\u4e14\u65e0\u540e\u7aef\uff1b\u8be2\u95ee\u5927\u5e94\u7528\u6027\u80fd\u5f71\u54cd\uff0c\u5b9e\u6d4b\u4ec5\u6beb\u79d2\u7ea7\u5f00\u9500\uff1b\u5efa\u8bae\u660e\u786e\u4ea7\u54c1\u5b9a\u4f4d\uff08\u6d4f\u89c8\u5668\u8f85\u52a9 vs \u4ed3\u5e93\u8fde\u63a5\uff09\uff0c\u5f00\u53d1\u8005\u627f\u8ba4\u5f53\u524d\u4ee5\u6d4f\u89c8\u5668\u4e3a\u4e3b\uff0c\u672a\u6765\u53ef\u63a2\u7d22\u5de5\u7a0b\u4e0a\u4e0b\u6587\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                Archify\u7684\u4eae\u70b9\u4e0d\u5728\u4e8e\u201c\u65b0\u529f\u80fd\u201d\uff0c\u800c\u5728\u4e8e\u201c\u6574\u5408\u201d\u2014\u2014\u5b83\u628a\u6563\u843d\u5728Network\u9762\u677f\u3001\u7ec4\u4ef6\u6811\u3001\u6e90\u4ee3\u7801\u6620\u5c04\u4e2d\u7684\u4fe1\u606f\uff0c\u538b\u7f29\u8fdb\u4e00\u4e2a\u540c\u6e90\u89c6\u56fe\u3002\u8fd9\u770b\u4f3c\u7b80\u5355\uff0c\u5374\u7cbe\u51c6\u5207\u4e2d\u4e86\u73b0\u4ee3\u524d\u7aef\u5f00\u53d1\u8005\u201c\u8c03\u8bd5\u9760\u6765\u56de\u5207\u6362\u201d\u7684\u9690\u6027\u75bc\u75db\u3002\u672c\u5730\u8fd0\u884c\u548c\u5f00\u6e90\u7b56\u7565\u89e3\u51b3\u4e86\u4f01\u4e1a\u7ea7\u7528\u6237\u5bf9\u6570\u636e\u5b89\u5168\u7684\u5929\u7136\u6212\u5fc3\uff0c\u800c\u201c\u5173\u8054\u89e6\u53d1API\u8c03\u7528\u81f3\u5177\u4f53\u7ec4\u4ef6\u201d\u5219\u663e\u8457\u964d\u4f4e\u4e86\u53cd\u76f4\u89c9\u884c\u4e3a\uff08\u5982\u201c\u8fd9\u6bb5\u4ee3\u7801\u5230\u5e95\u8c03\u4e86\u54ea\u4e2a\u63a5\u53e3\u201d\uff09\u7684\u6392\u67e5\u6210\u672c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u8b66\u60d5\u7684\u662f\uff1a\u4ea7\u54c1\u6807\u8bed\u201cunderstand software\u201d\u8fc7\u4e8e\u5b8f\u5927\uff0c\u7528\u6237\u8bc4\u8bba\u4e2d\u4e5f\u6709\u4eba\u6307\u51fa\u5b9a\u4f4d\u6a21\u7cca\u3002\u76ee\u524d\u80fd\u529b\u5c40\u9650\u5728\u8fd0\u884c\u65f6\u5c42\u9762\uff0c\u8fdc\u672a\u89e6\u53ca\u4ee3\u7801\u4ed3\u5e93\u6216\u5de5\u7a0b\u4e0a\u4e0b\u6587\u3002\u5982\u679c\u6b62\u6b65\u4e8e\u8c03\u8bd5\u8f85\u52a9\u5de5\u5177\uff0c\u5219\u96be\u9003\u88ab\u6d4f\u89c8\u5668\u539f\u751fDevTools\u6216Vite\/Next.js\u5185\u7f6e\u5206\u6790\u5de5\u5177\u53cd\u5411\u541e\u5e76\u7684\u547d\u8fd0\u3002\u771f\u6b63\u7684\u58c1\u5792\u5728\u4e8e\u80fd\u5426\u4ece\u201c\u89c2\u5bdf\u884c\u4e3a\u201d\u8fdb\u5316\u5230\u201c\u89e3\u91ca\u884c\u4e3a\u201d\u2014\u2014\u4f8b\u5982\u57fa\u4e8e\u7ec4\u4ef6\u8c03\u7528\u56fe\u81ea\u52a8\u751f\u6210\u67b6\u6784\u8bf4\u660e\uff0c\u6216\u5c06\u8fd0\u884c\u65f6\u5f02\u5e38\u6620\u5c04\u5230\u4ee3\u7801\u63d0\u4ea4\u5386\u53f2\u3002\u5426\u5219\uff0c\u5b83\u53ea\u662f\u4e00\u4e2a\u957f\u5f97\u597d\u770b\u7684DevTools\u4e3b\u9898\u76ae\u5957\uff0c\u800c\u975e\u201c\u7406\u89e3\u8f6f\u4ef6\u201d\u7684\u65b0\u8303\u5f0f\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\">Archify <\/span>\n                <\/div>\n<div class=\"comment-content\">See components, APIs, libraries, understand application behavior directly inside your browser.<\/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! \ud83d\udc4b I&#8217;m Salah, the maker of <strong>Archify<\/strong>.<\/p>\n<\/p>\n<p>I built Archify because I believe understanding software has become harder than writing it.<\/p>\n<p>Instead of digging through DevTools, network requests, and source maps, Archify helps you see what&#8217;s behind a web app its components, APIs, scripts, and architecture right from the browser. It runs entirely locally, so nothing leaves your machine.<\/p>\n<\/p>\n<p>I&#8217;d genuinely love your feedback, ideas, or even criticism. Thanks for checking it out! \u2764\ufe0f<\/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\/@salahxd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salahxd<\/a>&nbsp;exciting new tool! And the fact that it runs locally does help with data. I\u2019ve of the best way to get the word out there for this is with <a href=\"https:\/\/uprowshub.com\/buy-product-hunt-upvotes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/uprowshub.com\/buy-product-hunt-upvotes<\/a> . <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@salahxd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salahxd<\/a>&nbsp;<strong>Why Choose Careernaksha for career counselling in Jetpur?<\/strong><\/p>\n<p>We reject one\u2011size\u2011fits\u2011all. Instead, our&nbsp;<strong>expert team<\/strong>&nbsp;of certified counsellors, psychologists, and coaches crafts a&nbsp;<strong>tailored plan<\/strong>&nbsp;just for you:<\/p>\n<ul>\n<li>\n<p>\ud83e\udd16&nbsp;<strong>AI\u2011Based Career Assessment Tools<\/strong><\/p>\n<\/li>\n<li>\n<p>\ud83c\udf93 Counsellors from&nbsp;<strong>IITs, IIMs &amp; top institutes<\/strong><\/p>\n<\/li>\n<li>\n<p>\ud83c\udf0d&nbsp;<strong>Global\u2011standard psychometric testing<\/strong><\/p>\n<\/li>\n<li>\n<p>\ud83d\uddfa Personalized&nbsp;<strong>roadmap with detailed action plan<\/strong><\/p>\n<\/li>\n<li>\n<p>\ud83d\udde3 One\u2011on\u2011one sessions in&nbsp;<strong>Gujarati, Hindi &amp; English<\/strong><\/p>\n<\/li>\n<li>\n<p>\ud83d\udcbb&nbsp;<strong>Online + Offline<\/strong>&nbsp;flexibility<\/p>\n<\/li>\n<li>\n<p>\ud83d\udccd Centrally located in&nbsp;<strong>Jetpur<\/strong><\/p>\n<\/li>\n<\/ul>\n<p><strong>\ud83d\udc69\u200d\ud83c\udf93 <\/strong><a href=\"https:\/\/www.careernaksha.com\/career-counselling\/jetpur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Career Counselling<\/strong><\/a><strong> for Students in Jetpur<\/strong><\/p>\n<p><strong>\ud83c\udfeb For Class 8th\u201310th Students<\/strong><\/p>\n<p>At this crossroads, choosing&nbsp;<strong>Science, Commerce, or Arts<\/strong>&nbsp;can feel overwhelming. We:<\/p>\n<ul>\n<li>\n<p>Identify interests, learning styles &amp; strengths<\/p>\n<\/li>\n<li>\n<p>Recommend the ideal&nbsp;<strong>stream + subject combination<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>for more details please visit us : <a href=\"https:\/\/www.careernaksha.com\/career-counselling\/jetpur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.careernaksha.com\/career-counselling\/jetpur<\/a><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3660fc69-5120-4e71-9950-d22415912e69.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>we are the best career counselling provider in india <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@salahxd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salahxd<\/a>&nbsp;This is a really interesting direction.<\/p>\n<p>I\u2019ve always felt that DevTools are powerful but fragmented when it comes to understanding a full app structure end-to-end. The idea of surfacing components, APIs, and architecture in one local-first view feels like it could change how we debug and learn modern web apps.<\/p>\n<p>Curious how you\u2019re handling things like framework detection and dynamically loaded modules in real-world SPAs \u2014 what was the hardest technical challenge you ran into while building this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>does the extension  need any permissions beyond the active tab, and can I audit 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\/@saman_baloch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@saman_baloch<\/a>No extra permissions or setup needed after installation .just install Archify and it works.<\/p>\n<p>And yes, it\u2019s fully auditable. You can check the permissions in Chrome\u2019s extension settings, and since Archify is open source, you can inspect exactly how everything works in the code too \ud83d\ude4c<\/p>\n<p>You can check it here: <a href=\"http:\/\/github.com\/Salah-XD\/archify\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">github.com\/Salah-XD\/archify<\/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>Salah, I&#8217;m endlessly nosy about how the sites I like are actually put together, so this scratches a real itch for me. The fact that it all stays on my own machine makes it even easier to enjoy poking around.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@amine_aziz_alaoui Love hearing this! That same curiosity is a big part of why I built Archify \ud83d\ude04 I\u2019m always wondering how interesting sites are put together too. And keeping everything local was really important to me, so I\u2019m glad that part resonates!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love how clean the browser integration looks here, feels like the dev tools panel finally got the respect it deserves.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@c_oglu89147\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@c_oglu89147<\/a>&nbsp;Haha, love that \ud83d\ude04 I really wanted it to feel like a natural part of the browser instead of just another tool bolted on. Glad you liked it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the way you can trace APIs right in the browser without leaving the page is genuinely clever, the inspection overlay feels really well thought out<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@keleksenol43779\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@keleksenol43779<\/a>&nbsp;Really appreciate that! I spent a lot of time trying to make the inspection experience feel natural without pulling you away from the page. Glad you liked it \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does Archify actually get visibility into the components and APIs inside a live app, does it require installing a script or does it hook into the network tab somehow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aryaarkayaulwb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aryaarkayaulwb<\/a>&nbsp;No code changes needed , you just install the extension and Archify injects a small script into the page at runtime.<\/p>\n<p>From there, it reads the framework to identify components and watches the app\u2019s own API calls as they happen. The cool part is that it can link an API call back to the component or interaction that triggered it ,something you don\u2019t really get from just staring at the Network tab.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Being able to peek into a running app&#8217;s components right in the browser without setting up a separate debugger feels like a huge time-saver, especially for onboarding to a new codebase.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@devranzerezune\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@devranzerezune<\/a>&nbsp;Absolutely! Onboarding to an unfamiliar codebase is one of the use cases I\u2019m really excited about. Being able to explore how the app behaves before digging through the code can save a lot of time \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does this actually work under the hood, does it inject something into the page or proxy requests through your servers? Trying to figure out if my proprietary code or sensitive data ever leaves the browser.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lkersna4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lkersna4<\/a>&nbsp;Great question. Yes, Archify injects a script into the page, similar to how React DevTools works, but there\u2019s no server and no proxying. Everything runs locally in your tab.<\/p>\n<p>It only records metadata like request method, URL, and status, along with storage keys  never request bodies or storage values. None of it leaves your browser, and there\u2019s literally no backend for it to send anything to.<\/p>\n<p>It\u2019s open source too, so you can verify exactly how it works: <a href=\"http:\/\/github.com\/Salah-XD\/archify\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">github.com\/Salah-XD\/archify<\/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>Love how Archify just lets me pop into a live app and trace the components without any setup. The browser-side inspection is genuinely smooth and feels like the dev tools experience devs actually want.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@harunveletkcof\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harunveletkcof<\/a>&nbsp;Really glad to hear this! I wanted Archify to feel like something you could just open and start using without any setup or friction. Happy that came through \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a browser tool that actually helps me see what my React app is doing without constantly alt-tabbing to devtools. Loved clicking through a component tree and instantly spotting a stale closure bug.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zerdaqvbn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zerdaqvbn<\/a>&nbsp;Love hearing this! Spotting a stale closure bug through the component tree is exactly the kind of real-world use case I hoped Archify would help with \ud83d\ude04 Really glad it was useful!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle larger apps with heavy traffic in terms of performance impact, and is there a notable spike in load times when using 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\/@trkanzberi60zo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@trkanzberi60zo<\/a>&nbsp;Great question! In practice, the performance impact is very small.<\/p>\n<p>Archify quietly observes what the page is already doing and keeps track of network activity without blocking or slowing down the requests themselves. I benchmarked it on a page firing thousands of requests, and the additional overhead was only a few milliseconds spread across the whole session.<\/p>\n<p>It also doesn\u2019t keep piling up over time, so even on dashboards or apps you leave open all day, it stays lightweight.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Being able to poke at components and APIs right in the browser without jumping through dev tools is genuinely useful, saves me a lot of tab switching.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hamidehatip\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamidehatip<\/a>&nbsp;That\u2019s exactly the kind of friction I wanted to remove \ud83d\ude04 Really glad it\u2019s saving you some tab switching!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The way Archify surfaces component behavior right in the browser is genuinely clever, saves a ton of tab-switching when debugging. Clean execution on something that could&#8217;ve easily turned into another cluttered dev tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cafertrf7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cafertrf7<\/a>&nbsp;This is exactly what I was hoping Archify would feel like. I really wanted to keep it useful without turning it into another overloaded dev tool \ud83d\ude04 Glad that came through!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle authentication when inspecting components behind a login, do I have to paste in cookies or does it manage that for me?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@smailgelmibllf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@smailgelmibllf<\/a>&nbsp;Great question !good news, there\u2019s nothing to paste!<\/p>\n<p>Archify runs directly inside your browser tab and uses your existing session. So if you\u2019re logged in and can see the page, Archify can inspect it too ,no cookies, tokens, or extra setup needed.<\/p>\n<p>It all happens locally as well. Archify reads the live DOM and the page\u2019s own network activity right on your machine, so nothing about the page is sent to a server. Just navigate to the screen you want to inspect and you\u2019re good \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Archify is listed across Developer Tools, AI Workflow Automation, and AI Agents, which makes me wonder about the actual entry point. Is this mainly a browser-based helper for understanding web apps\/docs, or does it connect to code repositories and engineering context too? The \u201cunderstand software\u201d line is broad in an interesting way, so a concrete example would help place 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\/@mia_qiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mia_qiao<\/a>&nbsp;Good question! Right now, the browser is definitely the main entry point.<\/p>\n<p>For example, if I find an interesting web app and want to understand how it\u2019s built, I can open Archify and quickly see its components, API calls, tech stack, and overall structure without digging through source files.<\/p>\n<p>The \u201cunderstand software\u201d line is intentionally a bit broader though. The browser is where Archify starts, but I\u2019d love to explore deeper engineering context and repo connections in the future too.<\/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>HI Mohd,<\/p>\n<p>This is impressive. Good job.  Is it possible to have the pop-up open in a side panel <a href=\"https:\/\/developer.chrome.com\/docs\/extensions\/reference\/api\/sidePanel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/developer.chrome.com\/docs\/extensions\/reference\/api\/sidePanel<\/a><br \/>So that i can keep it open as i visit different pages or sites ?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zumilabs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zumilabs<\/a>&nbsp;Thanks! And yes, a side panel would actually make a lot of sense for Archify, especially for keeping it open while moving between pages. Definitely something I\u2019m going to explore. Appreciate the suggestion!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 this work as a browser extension or a standalone app, and is there a free tier or is it subscription-only from the start?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@serhatmant9b7b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serhatmant9b7b<\/a>&nbsp;It works as a browser extension, and it\u2019s completely free and opensource! No subscription or paid tier  just install it and start exploring \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Pretty handy being able to peek at component trees and API calls without leaving the tab, the in-browser view saved me from digging through source files. Wish the filtering was a bit faster on larger apps though.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@serhatviwz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serhatviwz<\/a>&nbsp;Glad the in-browser view helped! And yep, filtering on larger apps definitely needs some work ,already looking into making that faster. Appreciate the feedback \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice this is the one, help a lot in my works about research the market and technology &lt;3 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@destin2001\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@destin2001<\/a>&nbsp;Love to hear that! Really glad Archify can help with your market and technology research \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The best dev tools don&#8217;t add another dashboard they remove one. Love the direction.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@divvsaxena\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@divvsaxena<\/a>&nbsp;Exactly the idea behind Archify. Keep the context where you\u2019re already working instead of adding another place to check. Glad the direction resonates \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>niceeee<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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 youuu! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@salahxd\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"salahxd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salahxd<\/a> If Archify reads the live DOM and network activity locally, how does it identify components and API boundaries across different frontend frameworks? is detection framework-specific?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@clement_avq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@clement_avq<\/a>&nbsp;Great question! It\u2019s a mix of both.<\/p>\n<p>For frameworks, Archify looks for the signals each one leaves behind in the page , so React, Vue, Angular, Svelte, Astro, and others are detected in slightly different ways.<\/p>\n<p>But things like buttons, dialogs, menus, and API calls are handled more generally. Archify looks at normal browser and web standards, so that part works regardless of which framework the site uses.<\/p>\n<p>For APIs, it watches the same browser features that tools like Axios, React Query, Apollo, and plain fetch eventually use underneath. That\u2019s why it can trace calls across different stacks.<\/p>\n<p>One honest limitation: on heavily minified production apps, component names can sometimes be impossible to recover. When that happens, Archify just leaves the name out instead of guessing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/GMW4GGOTHFJ4PL\" class=\"app-title\">nxt<\/a><\/p>\n<div class=\"one-liner\">Talk to your to do list and get what&#8217;s next<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">152<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>nxt\u662f\u4e00\u6b3e\u901a\u8fc7\u81ea\u7136\u8bed\u97f3\u4ea4\u4e92\u7684AI\u4efb\u52a1\u7ba1\u7406\u5668\uff0c\u89e3\u51b3\u7528\u6237\u5728\u6742\u4e71\u5f85\u529e\u5217\u8868\u4e2d\u56e0\u7ec4\u7ec7\u7b5b\u9009\u8017\u65f6\u3001\u51b3\u7b56\u762b\u75ea\u800c\u65e0\u6cd5\u9ad8\u6548\u884c\u52a8\u7684\u75db\u70b9\uff0c\u8ba9\u7528\u6237\u50cf\u5bf9\u52a9\u7406\u4e00\u6837\u8bf4\u60f3\u6cd5\u5373\u53ef\u667a\u80fd\u63d0\u53d6\u5e76\u63a8\u8350\u4e0b\u4e00\u6b65\u4efb\u52a1\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f7129ef-9247-4a4d-8ed4-b883db1483f9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ee69b466-4f7b-4045-835a-4bacae9994ff.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d99f3dd9-b1e2-4765-8702-5d1ccb19c756.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/86f2dd57-a8bd-436d-bfb7-99497278ff66.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6b73e0a6-0f50-4fe6-a50e-a26c14b3d660.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9f5f78c-b992-4291-8907-bb625d384f5b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a344cbc1-063c-405e-94ec-0c64194dc83a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Task Management<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4efb\u52a1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f93\u5165<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f18\u5148\u7ea7<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u611f\u77e5<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6574\u7406<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f85\u529e\u5217\u8868<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u63a8\u8350<\/span><br \/>\n            <span class=\"tag\">\u624b\u673a\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\u5173\u6ce8\u6570\u636e\u5b58\u50a8\u4f4d\u7f6e\u3001\u79bb\u7ebf\u652f\u6301\u3001\u4f18\u5148\u7ea7\u9519\u8bef\u4fee\u6b63\u65b9\u6cd5\u3001\u4e0a\u4e0b\u6587\u5b66\u4e60\u6765\u6e90\u53ca\u63a7\u5236\u6743\u3002\u8d5e\u8d4f\u201c\u4e00\u4efb\u52a1\u4e00\u7406\u7531\u201d\u8bbe\u8ba1\u53ca\u5047\u671f\u6a21\u5f0f\u7b49\u573a\u666f\u9002\u5e94\u6027\u3002\u5efa\u8bae\u660e\u786e\u8bbe\u5907\u95f4\u540c\u6b65\u673a\u5236\u53ca\u5b66\u4e60\u884c\u4e3a\u53cd\u9988\uff08\u5982\u8df3\u8fc7\/\u4fee\u6b63\u662f\u5426\u5f71\u54cd\u6a21\u578b\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                nxt\u7684\u5207\u5165\u70b9\u7cbe\u51c6\u51fb\u4e2d\u4f20\u7edf\u4efb\u52a1\u7ba1\u7406\u5de5\u5177\u7684\u6838\u5fc3\u75db\u70b9\u2014\u2014\u5de5\u5177\u672c\u8eab\u6210\u4e3a\u8d1f\u62c5\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u53c8\u4e00\u4e2a\u201cAI+\u5217\u8868\u201d\uff0c\u800c\u662f\u901a\u8fc7\u4e0a\u4e0b\u6587\u5f15\u64ce\u548c\u5355\u4efb\u52a1\u63a8\u8350\u673a\u5236\uff0c\u771f\u6b63\u5c1d\u8bd5\u5c06\u4efb\u52a1\u7ba1\u7406\u4ece\u201c\u7ec4\u7ec7\u5de5\u5177\u201d\u964d\u7ef4\u4e3a\u201c\u51b3\u7b56\u5f15\u64ce\u201d\u3002\u8bed\u97f3\u8f93\u5165\u964d\u4f4e\u4e86\u4efb\u52a1\u6355\u6349\u95e8\u69db\uff0c\u201c\u53ea\u544a\u8bc9\u4f60\u4e0b\u4e00\u6b65\u505a\u4ec0\u4e48\u201d\u5219\u76f4\u63a5\u6d88\u9664\u4e86\u7528\u6237\u9762\u5bf9\u6d77\u91cf\u5217\u8868\u7684\u8ba4\u77e5\u8fc7\u8f7d\uff0c\u8fd9\u662f\u5bf9GTD\u65b9\u6cd5\u8bba\u7684\u4e00\u79cd\u667a\u80fd\u5316\u91cd\u6784\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5c1a\u5904\u4e8e\u65e9\u671f\uff0c\u51e0\u70b9\u9690\u5fe7\u4e0d\u5bb9\u5ffd\u89c6\u3002\u5176\u4e00\uff0c\u201c\u4e0a\u4e0b\u6587\u5b66\u4e60\u201d\u76ee\u524d\u672c\u8d28\u662f\u7528\u6237\u624b\u52a8\/\u9690\u5f0f\u6ce8\u5165\u7684\u4e8b\u5b9e\u5b58\u50a8+\u89c4\u5219\u8c03\u4f18\uff0c\u800c\u975e\u771f\u6b63\u610f\u4e49\u4e0a\u7684\u610f\u56fe\u63a8\u7406\u3002\u6a21\u578b\u5bf9\u201c\u8001\u677f\u968f\u53e3\u63d0\u7684\u4efb\u52a1 vs \u4e0b\u5468\u622a\u6b62\u7684\u4efb\u52a1\u201d\u8fd9\u7c7b\u771f\u5b9e\u6743\u91cd\u535a\u5f08\uff0c\u4ecd\u4f9d\u8d56\u7528\u6237\u884c\u4e3a\u53cd\u9988\u4e0e\u663e\u6027\u8f93\u5165\uff0c\u957f\u671f\u770b\u6cdb\u5316\u80fd\u529b\u5b58\u7591\u3002\u5176\u4e8c\uff0c\u79bb\u7ebf\u4ec5\u652f\u6301\u57fa\u7840\u64cd\u4f5c\u800cAI\u529f\u80fd\u4f9d\u8d56\u8054\u7f51\uff0c\u5728\u6838\u5fc3\u573a\u666f\uff08\u5982\u901a\u52e4\u3001\u5dee\u65c5\uff09\u4e2d\u4f1a\u51fa\u73b0\u4f53\u9a8c\u65ad\u5c42\uff0c\u8fd9\u6b63\u662f\u7528\u6237\u9ad8\u9891\u4f7f\u7528\u65f6\u6700\u5bb9\u6613\u6389\u94fe\u5b50\u7684\u5730\u65b9\u3002\u5176\u4e09\uff0c\u6570\u636e\u9690\u79c1\u95ee\u9898\u672a\u88ab\u5b8c\u5168\u6d88\u89e3\u2014\u2014\u7528\u6237\u5bf9\u201c\u4efb\u52a1\u6570\u636e\u5b58\u50a8\u4f4d\u7f6e\u201d\u201c\u4e0a\u4e0b\u6587\u662f\u5426\u540c\u6b65\u81f3\u670d\u52a1\u7aef\u201d\u7684\u8ffd\u95ee\uff0c\u66b4\u9732\u4e86\u4ea7\u54c1\u5728\u4fe1\u4efb\u673a\u5236\u6784\u5efa\u4e0a\u7684\u8584\u5f31\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5bf9\u6bd4Apple Reminders+Cron\u8fd9\u7c7b\u6574\u5408\u6027\u751f\u6001\u5de5\u5177\uff0cnxt\u7684\u72ec\u7acb\u8fd0\u884c\u6a21\u5f0f\u7f3a\u4e4f\u65e5\u5386\u540c\u6b65\u4e0e\u591a\u5e73\u53f0\u534f\u540c\uff0c\u77ed\u671f\u5355\u70b9\u4f53\u9a8c\u867d\u597d\uff0c\u4f46\u957f\u671f\u96be\u4ee5\u5f62\u6210\u201c\u7ba1\u7406\u4e2d\u67a2\u201d\u7684\u62a4\u57ce\u6cb3\u3002\u82e5\u540e\u7eed\u4e0d\u8fc5\u901f\u8865\u9f50\u5173\u952e\u96c6\u6210\uff08\u65e5\u5386\u3001\u90ae\u7bb1\u3001Slack\u7b49\uff09\uff0c\u5e76\u8ba9\u201c\u5b66\u4e60\u673a\u5236\u201d\u53d8\u5f97\u53ef\u89e3\u91ca\u3001\u53ef\u91cd\u7f6e\u3001\u53ef\u8fc1\u79fb\uff0cnxt\u5f88\u5bb9\u6613\u6ca6\u4e3a\u53e6\u4e00\u4e2a\u70ab\u6280\u4f46\u7559\u4e0d\u4f4f\u7528\u6237\u7684AI\u73a9\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u627e\u5230\u4e86\u5bf9\u7684\u75db\u70b9\uff0c\u4f46\u771f\u6b63\u8ba9AI\u201c\u7406\u89e3\u4f60\u800c\u975e\u53ea\u542c\u5199\u4f60\u201d\uff0c\u8fd8\u9700\u66f4\u624e\u5b9e\u7684\u4e0a\u4e0b\u6587\u5efa\u6a21\u4e0e\u751f\u6001\u8fde\u63a5\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\">nxt<\/span>\n                <\/div>\n<div class=\"comment-content\">nxt is the AI task manager you talk to like a human assistant. Brain-dump your thoughts in plain language &#8211; nxt reads between the lines, extracts tasks, infers priorities, and files everything automatically. It understands what you mean, not just what you say. nxt learns your personal context, so your tasks flex around your life. When you&#8217;re ready to act, nxt cuts through the noise and gives you one clear task, one reason why. No scrolling, no paralysis, no overwhelming list to wade through.<\/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 nxt because I kept failing at every task manager I tried &#8211; not because I was lazy, but because the act of managing the list was itself a job. I&#8217;d spend more time organising tasks than doing them.<\/p>\n<p>The idea behind nxt is simple: your task manager should think harder than you do. Speak your thoughts, and it handles the structure. It learns your context &#8211; your family, your schedule, your habits &#8211; and uses that to tell you what to do next, one thing at a time.<\/p>\n<p>The features I&#8217;m most proud of: the context engine (tell it you&#8217;re on holiday and it actually adapts), sensible recurring tasks (no zombie tasks from last week), and the next-task recommendation &#8211; which genuinely helps on those days when everything feels equally urgent and you can&#8217;t figure out where to start.<\/p>\n<p>We&#8217;re early and would love your feedback &#8211; especially on the voice capture experience and the recommendation engine. What would make this your go-to task manager?<\/p>\n<p>Happy to answer anything in the comments \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@heather_a_perkins\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heather_a_perkins<\/a>&nbsp;What makes me excited about this is how it would help me remember my tasks without having to go through the list and that I would not have to feel overwhelmed with my list! One of the best way to help in getting the word out there, if you have the time to visit <a href=\"https:\/\/uprowshub.com\/buy-product-hunt-comments\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/uprowshub.com\/buy-product-hunt-comments<\/a> . Hope this helps!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The context engine adapting when I tell it I am on holiday is the part that would actually make me switch \u2014 most task apps just keep nagging with the same list. Two day-one questions: when I brain-dump by voice and it extracts the wrong priority, do I correct that in text, and does the correction actually teach the context engine, or is it a one-off edit? And is the learned context tied to one device, or does it carry over if I capture on my phone and review on desktop?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>me being  skeptical of AI apps lately, I appreciate the clear focus here. Where does my task data live?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 wonder  about the learning part. When nxt learns my personal context, does that happen from my task history alone, or can I tell it things directly, like my work hours or my energy patterns?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>what happens when I disagree with the pick? Can I skip and get a second suggestion?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>talking to a to-do list only works if it nails intent from messy speech \u2014 half the time i don&#8217;t know what&#8217;s next either. is the parsing on-device or server-side? and does it read urgency from how i say it, or just the words?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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\">Congrats on the launch, Heather!<br \/>\n I love the idea of reducing the cognitive load of task management. How does nxt decide what the &#8220;next best task&#8221; is when everything seems equally urgent?<\/div>\n<div class=\"comment-actions\">\n<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\/@luki_notlowkey\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luki_notlowkey<\/a>&nbsp;Thank you! The short answer: it weighs up real world context (time of day, how long the task is likely to take) and everything it knows about your own context: your energy levels, your commitments. Two tasks might look equally urgent on paper but nxt has all that extra context to suggest the right task for the right time. Gets better the more you use 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>Me wondering whether it works offline because that would matter during travel. Offline support could make daily planning much smoother.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alheri_murya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alheri_murya<\/a>&nbsp;The AI features &#8211; including the next task recommendation &#8211; do need a connection. But you can still create and manage tasks manually offline, so your list stays accessible wherever you are. The AI picks back up as soon as you&#8217;re connected again.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;one task at a time&#8221; approach is such a thoughtful cut against the typical productivity app bloat. Feels like the team actually sat with the problem instead of just stacking features.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Honestly the one-task-at-a-time view is the part that got me, it stopped me from staring at a list and actually doing something. Also weirdly nice that it picked up priority just from me rambling about my day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ezelrikliahcg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ezelrikliahcg<\/a>&nbsp;The rambling-to-tasks thing never gets old for me either, it still feels a bit magic every time. Would love to hear what you think as you use it more!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice approach. Does it connect to existing calendars or does it work as a standalone task manager?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;Standalone for now, but calendar integration is on the roadmap! In the meantime nxt works around your schedule using the context and availability windows you set directly in the app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does nxt handle tasks when you mention something ambiguous like &#8220;next Tuesday&#8221; without specifying a time zone \u2014 does it learn mine or default to device settings?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@evketgkb4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@evketgkb4<\/a>&nbsp;nxt picks up your timezone automatically on setup so that side just works. The more interesting scheduling magic is what it does with natural language &#8211; things like &#8220;pay the window cleaner the first Monday of each month&#8221; or &#8220;dance class at 5pm every other Thursday starting this week&#8221; just get handled.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;one clear task, one reason why&#8221; approach is genuinely smart &#8211; too many task apps drown you in options when your brain just wants a single next move. love that it files everything automatically instead of making you play secretary.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@grselgrsuwhwo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grselgrsuwhwo<\/a>&nbsp;Thank you so much!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does nxt actually handle the &#8220;between the lines&#8221; part in practice &#8211; does it just run everything through an LLM each time, or is there some kind of learned model on your device that gets smarter as you use it more?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@enaypbab\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@enaypbab<\/a>&nbsp;Great question! The best analogy is ChatGPT&#8217;s memory feature. As you use nxt, it stores discrete facts about you and your life, and hands those to the alongside your tasks to the recommendation engine. So it&#8217;s not getting smarter in a model sense, it&#8217;s getting smarter because it knows more about you.<\/p>\n<p>You have full visibility and control over exactly what it&#8217;s stored &#8211; you can see every fact it&#8217;s working with and edit or remove anything that&#8217;s wrong or out of date, or even add extra context directly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<blockquote>\n<p>the &#8220;infers priorities&#8221; part is the make or break feature here. extracting tasks from a brain dump is mostly solved, but deciding what actually matters requires context the model doesn&#8217;t have. like whether the thing due friday is more important than the thing my boss casually mentioned yesterday. how does nxt learn that? does it ask clarifying questions upfront or adjust based on what i actually complete vs snooze over time?<\/p>\n<\/blockquote>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@shubham4real\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham4real<\/a>&nbsp;nxt stores context as you go, so if you said something like &#8220;the marketing summary points need to be ready for the 10am meeting Friday, and my boss Jeff has asked me to look at last months figures to pull out the key changes&#8221; &#8211; this would turn into two tasks, one with a set deadline pre that 10am meeting) and one without, and it would also add a context entry along the lines of &#8220;Boss is called Jeff&#8221;. For priorities will then work with that info &#8211; it knows a deadline for one, and it knows your boss asked you about the other one and can factor that in.  It also learns from behaviour: if a task gets snoozed every time it&#8217;s surfaced at a particular moment, nxt takes note. Same the other way: patterns around when things actually get done stick over time.<\/p>\n<p>No clarifying questions upfront (yet!), so we recommend giving it as much context as you can when doing the verbal brain dump. You always have full visibility over the context it&#8217;s working with, so it&#8217;s never a black box. You can see exactly what it knows and correct it if it&#8217;s off.<\/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>How does it actually decide what to surface as &#8220;the one clear task&#8221; when several things feel equally urgent?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sedanurnnjz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sedanurnnjz<\/a>&nbsp;It weighs up a bunch of signals at once: the time of day, your energy patterns, how long the task is likely to take, and everything it knows about your context. Two tasks might look equally urgent on paper, but if you&#8217;ve got a dentist appointment in 45 minutes, or the school run, nxt knows this isn&#8217;t the moment to start the thing that needs two hours of deep focus &#8211; it&#8217;ll surface a quicker win instead.<\/p>\n<\/p>\n<p>In practice it gets better the more you use it, as it builds a clearer picture of how you work. Would love to hear if the reasoning feels right once you try it! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks really interesting. How easy is it to correct when it gets a task or priority wrong? Good luck and congrats!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Thank you! Really easy &#8211; you can go into any task and manually tweak anything it got wrong: title, description, priority, scheduling. And we&#8217;re working on making that conversational too, so you&#8217;ll be able to just tell nxt what to fix rather than editing manually.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 use just Apple notes for my to do list but just speaking what I want to add when I want to add is a neat idea. Cool that it learns your habits!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Love this! I was working on something similar a while back but this is much cooler, and the design is \ud83d\udd25<\/div>\n<div class=\"comment-actions\">\n<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\/@sanad_shegem\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sanad_shegem<\/a>&nbsp;Thank you so much! Would love to know what you were building &#8211; always up for chatting with people who&#8217;ve wrestled with the same problem!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve abandoned probably 6 task managers at the exact stage you describe, organizing became the task. the &#8220;one task, one reason&#8221; framing is the first pitch in this category I&#8217;ve actually believed in a while. trying it today<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yarslav\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yarslav<\/a>&nbsp;Thank you! Really looking forward to hearing how you get on!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I absolutely love the explicit &#8216;ADHD friendly&#8217; tag on your launch assets. From a Go-To-Market perspective, did you find that leaning heavily into neurodivergent accessibility and minimizing cognitive overload helped you cut through the noise of the crowded productivity space faster?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andika_fadhilah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andika_fadhilah<\/a>&nbsp;Great question! Honestly, reducing cognitive overload wasn&#8217;t a conscious GTM decision as much as it was baked into how we built it &#8211; the thing we found is that in this space, for the problem we are looking to solve, what&#8217;s good for neurodivergent users is just good design for everyone. One task at a time, no overwhelming lists, celebrating wins &#8211; these things help all of us, not just a specific group. The ADHD friendly badge felt like an honest reflection of that rather than a positioning play.<\/p>\n<\/p>\n<p>Curious whether you think leading with it more explicitly would resonate &#8211; we&#8217;ve gone back and forth on it! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;one clear task, one reason why&#8221; framing is what actually caught me. For me the failure point in every task manager was never capture, it was the decision paralysis of staring at a 40-item list and abandoning it. Two genuine questions: when I brain-dump a rambling voice note with five half-formed thoughts in it, does nxt split that into separate tasks or treat one recording as one task? And how transparent is the &#8220;reason why&#8221; \u2014 is it surfacing the deadline\/priority it inferred, or my stated context (heads-down week, travelling)? Keeping that recommendation from feeling like a black box seems like the whole ballgame. Congrats on the launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hung_tran_from_notebook_os\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hung_tran_from_notebook_os<\/a>&nbsp;Thank you! And yes, decision paralysis over the list is exactly the problem we&#8217;re solving for. <\/p>\n<\/p>\n<p>Brain dumps are my jam too &#8211; I free-ramble through my mental checklist at nxt all the time. Once I even decided to get all the house maintenance jobs in, so I just went room to room and narrated everything I could see that needed sorting!<\/p>\n<\/p>\n<p>nxt takes those brain-dump voice notes and splits them into discrete tasks, then applies real-world knowledge to fill in the gaps: how long something is likely to take, whether it&#8217;s high energy or something you can do on autopilot, whether it&#8217;s the kind of thing that should repeat and on what schedule. Then it layers in everything it knows about you &#8211; your schedule, your habits, how your life works. Are you away this week? Are the kids off school? By the time the tasks land on your list, they have a sensible title, a context-filled description, and practical prioritisation and scheduling &#8211; all of which you can tweak if needed.<\/p>\n<\/p>\n<p>On transparency: the reason is specific, not generic. It shows its working rather than just handing you a task and expecting trust.<\/p>\n<\/p>\n<p>Would love your take on whether the reasoning feels genuinely useful once you&#8217;ve had a go!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;get what&#8217;s next&#8221; framing is interesting because it implies the app is making prioritization decisions, not just surfacing tasks by due date. That&#8217;s the actually hard part of any task system, knowing which of the 40 things on your list is the right one to start right now given context, energy, and dependencies. Curious whether nxt is doing genuine prioritization reasoning or whether &#8220;talk to your to do list&#8221; mostly means natural language input and query. Also wondering how it handles tasks without clear deadlines or urgency signals, since those tend to be the ones that rot at the bottom of every list forever.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;It&#8217;s genuine prioritisation reasoning, not just smart input. nxt builds up a picture of you over time: your habits, your schedule, your energy patterns, what you&#8217;ve been putting off. Then it uses all of that to decide what&#8217;s actually right to do right now, not just what&#8217;s overdue. <\/p>\n<\/p>\n<p>The rotting tasks problem is one I find personally infuriating, so it was high on the list to solve. Tasks without deadlines get surfaced based on context rather than urgency: a free 20 minutes, the right location, the right headspace. They don&#8217;t just sit there gathering dust.<\/p>\n<\/p>\n<p>An example from yesterday: mid-morning, working from home, nxt suggested a small house chore with reasoning &#8220;take a 10 min break, move around, knock this off your list.&#8221; I wouldn&#8217;t have thought to do it. But it was exactly right. That&#8217;s the kind of thing we&#8217;re going for &#8211; not just what&#8217;s urgent, but what&#8217;s right for right now.<\/p>\n<\/p>\n<p>We&#8217;re early, so it keeps getting smarter, and I would love to know if the reasoning lands the way you&#8217;d hope once you try it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is promising. Curious if I can collaborate with my team or friends to create shared tasks or checklists. Congratulations on your launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@charan_tej_kammara\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charan_tej_kammara<\/a>&nbsp;Collaboration isn&#8217;t in the app yet, but it&#8217;s firmly on the roadmap &#8211;  the plan is to let you share specific tasks or lists with another user, or assign tasks to them directly. Given how much of what ends up in a brain dump is &#8220;things I need someone else to do,&#8221; it felt like a natural next step.<\/p>\n<\/p>\n<p>Would love to have you along for the ride as we build 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<\/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\/UTKQTP2P3IW4SI\" class=\"app-title\">Vox<\/a><\/p>\n<div class=\"one-liner\">Voice in, voice out \u2014 with GitHub Copilot<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">146<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Vox\u662fGitHub Copilot\u7684\u8bed\u97f3\u4ea4\u4e92\u6269\u5c55\uff0c\u8ba9\u5f00\u53d1\u8005\u901a\u8fc7\u8bed\u97f3\u8fdb\u884c\u7f16\u7801\u5bf9\u8bdd\uff0c\u65e0\u9700\u952e\u76d8\u8f93\u5165\u5373\u53ef\u5b8c\u6210\u4ee3\u7801\u67e5\u8be2\u3001\u4fee\u6b63\u548c\u8fde\u7eed\u591a\u8f6e\u4ea4\u4e92\uff0c\u89e3\u51b3\u4f20\u7edf\u952e\u76d8\u7ed1\u5b9a\u4e0b\u7684\u64cd\u4f5c\u4e0d\u4fbf\u4e0e\u6548\u7387\u74f6\u9888\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7d687a1a-3d13-41bd-9193-3d37d4e070f8.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/77d007cc-e3dc-420d-b447-91c75b4270c1.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b50437d7-42aa-456a-a135-587c5871e1ed.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\/f8aa0cec-bc3c-47a7-b481-5403c6d0a603.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/025b4304-8d98-45e0-8e5b-d7e8844edd82.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\/d1d9ad09-1924-42ec-85cb-faa6aed86c1d.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=kx01cfIfhCo\"><source src=\"https:\/\/www.youtube.com\/watch?v=kx01cfIfhCo\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">GitHub Copilot\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">Web Speech API<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u5e94\u7528\u6a21\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u6253\u65ad<\/span><br \/>\n            <span class=\"tag\">\u591a\u8f6e\u5bf9\u8bdd<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8d5e\u8d4f\u8f7b\u91cf\u5b89\u88c5\u548c\u6253\u65ad\u529f\u80fd\uff0c\u4f46\u666e\u904d\u5173\u5fc3\u8bed\u97f3\u8bc6\u522b\u662f\u672c\u5730\u8fd8\u662f\u4e91\u7aef\uff08\u8bc4\u8bba\u63ed\u793a\u4f9d\u8d56Chrome\u7684\u4e91\u7aef\u670d\u52a1\uff09\u3001\u9690\u79c1\u548c\u79bb\u7ebf\u652f\u6301\u3002\u6709\u7528\u6237\u5e0c\u671b\u652f\u6301\u66f4\u591aAI\u7f16\u7801\u52a9\u624b\uff0c\u4ee5\u53ca\u5904\u7406\u590d\u6742\u4ee3\u7801\u547d\u540d\u548c\u566a\u58f0\u73af\u5883\u7684\u80fd\u529b\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Vox\u7684\u5de7\u5999\u5728\u4e8e\u5b83\u6ca1\u6709\u91cd\u590d\u9020\u8f6e\u5b50\uff0c\u800c\u662f\u7528\u4e86\u4e00\u4e2a\u8fd1\u4e4e\u201c\u53d6\u5de7\u201d\u7684\u6280\u672f\u8def\u5f84\u2014\u2014\u901a\u8fc7Chromium\u5e94\u7528\u6a21\u5f0f\u501f\u7528\u6d4f\u89c8\u5668\u539f\u751fWeb Speech API\uff0c\u4ece\u800c\u5728\u4e00\u884c\u547d\u4ee4\u5185\u5b9e\u73b0\u8de8\u5e73\u53f0\u3001\u96f6\u6784\u5efa\u7684\u8bed\u97f3\u4ea4\u4e92\u3002\u8fd9\u79cd\u8bbe\u8ba1\u54f2\u5b66\u900f\u9732\u51fa\u5236\u9020\u8005\u5bf9\u4e8e\u201c\u6700\u5c0f\u5316\u5de5\u7a0b\u6210\u672c\u6700\u5927\u5316\u4f53\u9a8c\u6536\u76ca\u201d\u7684\u7cbe\u51c6\u8ba1\u7b97\uff0c\u907f\u514d\u4e86Electron\u7b49\u91cd\u578b\u6846\u67b6\u5e26\u6765\u7684\u8d44\u6e90\u6d6a\u8d39\u4e0e\u5b89\u88c5\u95e8\u69db\u3002\u4ece\u4ea7\u54c1\u5f62\u6001\u770b\uff0cVox\u771f\u6b63\u6709\u4ef7\u503c\u7684\u4e0d\u662f\u8bed\u97f3\u8bc6\u522b\u672c\u8eab\uff0c\u800c\u662f\u5b83\u56f4\u7ed5\u201c\u6253\u65ad-\u4fee\u6b63-\u4fdd\u6301\u4f1a\u8bdd\u201d\u6784\u5efa\u7684\u4ea4\u4e92\u8303\u5f0f\uff1a\u5728AI\u7f16\u7801\u573a\u666f\u4e2d\uff0c\u51fa\u9519\u7684\u6982\u7387\u8fdc\u9ad8\u4e8e\u51c6\u786e\u6267\u884c\uff0c\u56e0\u6b64\u8ba9\u7528\u6237\u80fd\u7528\u8bed\u97f3\u968f\u65f6\u4ecb\u5165\u3001\u653e\u5f03\u5f53\u524d\u8f93\u51fa\u3001\u91cd\u65b0\u8868\u8ff0\u7ea6\u675f\uff0c\u5e76\u628a\u6574\u4e2a\u8fc7\u7a0b\u7ef4\u6301\u5728\u540c\u4e00\u4f1a\u8bdd\u5185\uff0c\u8fd9\u624d\u662f\u63d0\u5347\u5b9e\u9645\u6548\u7528\u7684\u5173\u952e\u3002\u5f00\u53d1\u8005\u660e\u786e\u5c06\u201cbargeCancel()\u201d\u673a\u5236\u653e\u5165\u6838\u5fc3\u5faa\u73af\uff0c\u800c\u975e\u4f5c\u4e3a\u4e8b\u540e\u8865\u4e01\uff0c\u663e\u793a\u51fa\u5bf9\u5de5\u4f5c\u6d41\u771f\u5b9e\u75db\u70b9\u7684\u7406\u89e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0cVox\u76ee\u524d\u7684\u5149\u9c9c\u5efa\u7acb\u5728\u4e91\u670d\u52a1\u652f\u6491\u4e0a\u3002\u5b83\u6ca1\u6709\u81ea\u5df1\u7684\u8bed\u97f3\u6a21\u578b\uff0c\u5b8c\u5168\u4f9d\u8d56Chrome\u7684Web Speech API\uff0c\u8fd9\u610f\u5473\u7740\u6240\u6709\u8bed\u97f3\u6570\u636e\u90fd\u6d41\u5411Google\u670d\u52a1\u5668\uff0c\u5bf9\u4e8e\u6ce8\u91cd\u9690\u79c1\u7684\u4f01\u4e1a\u5f00\u53d1\u73af\u5883\u6216\u7f51\u7edc\u53d7\u9650\u573a\u666f\uff0c\u8fd9\u4e00\u8bbe\u8ba1\u662f\u786c\u4f24\u3002\u5f00\u53d1\u8005\u867d\u63d0\u5230\u672a\u6765\u7684\u79bb\u7ebf\u65b9\u6848\uff08\u5982Whisper\uff09\uff0c\u4f46\u773c\u4e0b\u4ecd\u53ea\u662f\u753b\u997c\u3002\u6b64\u5916\uff0cVox\u4e0eCopilot CLI\u7684\u5f3a\u8026\u5408\u9650\u5236\u4e86\u5b83\u7684\u751f\u6001\u6269\u5c55\u6027\uff0c\u867d\u7136\u6280\u672f\u5c42\u53ef\u79fb\u690d\uff0c\u4f46\u613f\u666f\u5e76\u4e0d\u6e05\u6670\u3002\u8fd9\u4f7f\u5f97Vox\u76ee\u524d\u66f4\u50cf\u4e2a\u201c\u8f85\u4f50Copilot\u7684\u4f18\u96c5\u9065\u63a7\u5668\u201d\uff0c\u800c\u975e\u72ec\u7acb\u7684\u7f16\u7a0b\u8bed\u97f3\u52a9\u624b\u3002\u672a\u6765\u82e5\u60f3\u7a81\u7834\u5c0f\u4f17\u5de5\u5177\u7684\u5b9a\u4f4d\uff0c\u5fc5\u987b\u89e3\u51b3\u79bb\u7ebf\u652f\u6301\u53ca\u591aAI\u5e73\u53f0\u517c\u5bb9\u8fd9\u4e24\u4e2a\u6838\u5fc3\u77ed\u677f\u2014\u2014\u5426\u5219\u201cvoice in, voice out\u201d\u7684\u7f8e\u597d\u613f\u666f\uff0c\u4ecd\u53ea\u80fd\u5728\u4fe1\u53f7\u6ee1\u683c\u7684\u5496\u5561\u5385\u91cc\u6210\u7acb\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\">Vox<\/span>\n                <\/div>\n<div class=\"comment-content\">Vox is a GitHub Copilot CLI extension: run \/vox and a reactive listening orb opens in its own window. Speak your turn, hear the agent reply. Voice in, voice out \u2014 on Windows, macOS, and Linux.<\/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 I&#8217;m the maker of Vox. I use GitHub Copilot constantly and got tired of being pinned to the keyboard, so I built a way to just talk to it. Run \/vox and a reactive orb opens in its own window \u2014 you speak your turn, the session hears it, and the reply is read back. Voice in, voice out. You can barge in by voice to interrupt and correct it, there are live captions and a transcript, and it even reads your typed replies aloud. It works in the Copilot CLI and inside the Copilot app. It&#8217;s pure JavaScript with no build step \u2014 it uses the browser&#8217;s Web Speech APIs by launching Chromium in app mode instead of shipping Electron \u2014 so it installs in one line on Windows\/macOS\/Linux. Free and open source (MIT). I started it as an accessibility-minded experiment (a hands-free way to drive an agent), so I&#8217;d especially love feedback on the voice timing and the interrupt flow. Ask me anything!<\/p>\n<\/p>\n<p>Homepage: <a href=\"https:\/\/aasis21.github.io\/vox\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/aasis21.github.io\/vox\/<\/a> \u00b7 Code: <a href=\"https:\/\/github.com\/aasis21\/vox\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/aasis21\/vox<\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Launching Chromium in app mode to borrow the Web Speech APIs instead of shipping Electron is a clever way to keep it pure-JS and one-line installable. The tradeoff I&#8217;d want to pin down: Chrome&#8217;s SpeechRecognition streams audio to Google&#8217;s servers rather than transcribing on-device, so for someone dictating code and context into Copilot, is any of the voice actually local, or does every utterance leave the machine? And do the transcript and captions get written to disk anywhere, or are they in-memory only per session?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>voice in \/ voice out for coding is the interface i keep wanting \u2014 the friction was always latency and round-tripping audio to a server. are you running the speech piece locally or in the cloud? been deep in on-device voice on my side and the tradeoffs are brutal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The reactive listening orb in its own dedicated window is a really nice touch, keeps the voice interaction feeling like a proper companion rather than just another terminal pane.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alperen397545\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alperen397545<\/a>&nbsp;Thanks! That was very deliberate \u2014 I wanted it to feel like a companion you glance at and talk to, not just another pane competing for attention in your terminal. Launching it as its own chrome-less app-mode window (rather than a browser tab or Electron app) is what makes that possible while still keeping the Web Speech APIs working natively.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Voice for coding agents gets compelling when interruption and correction are first-class, not an afterthought. The agent is going to misunderstand file names, symbols, and intent sometimes; the useful workflow is being able to stop it, restate the constraint, and keep the same session alive without touching the keyboard. Nice to see barge-in called out explicitly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;Exactly the philosophy \u2014 barge-in isn&#8217;t bolted on, it&#8217;s wired into the core turn loop. Tapping the orb (or hitting Esc) while it&#8217;s thinking or speaking calls a &nbsp;bargeCancel()&nbsp; that aborts the in-flight request and stops the TTS queue immediately, so you can cut in, restate the constraint, and keep going in the same session. No waiting out a wrong turn.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That&#8217;s clever. Any plans to support other AI coding assistants beyond GitHub Copilot?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;Right now it&#8217;s built tightly on the Copilot CLI&#8217;s extension\/SDK hooks (that&#8217;s how it taps into turns, streaming replies, and session state) \u2014 so it&#8217;s Copilot-specific today, not agent-agnostic. That said, the voice layer itself (mic capture, barge-in, TTS queue) is a self-contained browser front-end, so porting the &#8220;wiring&#8221; to another agent&#8217;s extension API is architecturally possible if there&#8217;s interest \u2014 just not on the roadmap 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Me appreciate the simple setup process. Why not include offline support? I think limited offline features would increase reliability.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alex_bravo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_bravo1<\/a>&nbsp;Appreciate that! Offline is on my radar \u2014 right now it leans on the browser&#8217;s native Web Speech API for simplicity\/zero-install, but that does need network for recognition. A local\/offline mode (likely Whisper-based) would genuinely help reliability in spotty-network or privacy-sensitive setups, so it&#8217;s a good candidate for a future version.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the orb stay open in the background while I keep coding, or do I have to keep invoking \/vox every time I want to switch from typing to talking?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nisaxvhd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nisaxvhd<\/a>&nbsp;It stays open in the background \u2014 you don&#8217;t need to re-run &nbsp;\/vox&nbsp; each time. Once it&#8217;s open, just keep coding as normal; tap the orb or hit Space whenever you want to switch to talking, and it goes right back to listening for your session. &nbsp;\/vox&nbsp; again only comes into play if you want to switch which session the orb is listening to (it auto-focuses to whichever one last called it) or if it&#8217;s been closed via &nbsp;\/vox-stop&nbsp;.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I Love the idea of talking to Copilot,  how smooth is the voice flow when you interrupt or correct mid conversation?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thys_beesman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thys_beesman<\/a>&nbsp;Pretty smooth \u2014 sentences are queued and spoken as they stream in (so it starts talking before the full reply arrives), and interrupting is a single tap\/Esc that instantly kills both the audio and the in-flight response. Try it \u2014 the &#8220;barge-in&#8221; is honestly my favorite detail to demo.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle accents or noisy environments in practice, and is the voice model running locally or hitting an external API that could add latency or cost per conversation?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@feyzagpyf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@feyzagpyf<\/a>&nbsp;It uses the browser&#8217;s native Web Speech API (Chrome\/Edge), so there&#8217;s no separate model Vox ships or bills for \u2014 accent\/noise handling is whatever your browser&#8217;s built-in recognizer does, which in Chrome is generally solid but does call out to Google&#8217;s speech service (not fully on-device), so it needs network. No extra latency\/cost from Vox itself though \u2014 zero API keys, zero cloud calls of ours. Definitely room to improve here though \u2014 a local\/offline recognition option (e.g. Whisper-based) is on my radar for a future version, especially for noisy environments and stronger accent coverage<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>launching Chromium in app mode instead of shipping Electron is such a clean hack, one-line install with no build step because the browser already has the speech APIs. more tools should steal this<\/p>\n<p>the barge-in interrupt is the detail that makes voice actually usable btw, nothing worse than waiting out a wrong answer<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yarslav\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yarslav<\/a>&nbsp;Thank you! Yeah, launching Chrome\/Edge in app mode was the unlock \u2014 get a real desktop-style window with zero Electron overhead and the Web Speech APIs just work natively. Glad the barge-in landed too, that was the detail I iterated on most.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The voice input part is straightforward enough, but the interesting question is how well it handles the parts of coding where spoken intent gets ambiguous fast. Saying &#8220;refactor that function&#8221; out loud works fine when context is obvious, but what happens when Copilot needs clarification and the back-and-forth becomes a longer conversation? Curious whether Vox supports that kind of multi-turn dialogue or whether it&#8217;s essentially one-shot voice-to-prompt with no correction loop. Also wondering how it handles things like variable names, file paths, or syntax that&#8217;s painful to dictate accurately.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;Great question &#8211; it&#8217;s full multi-turn, not one-shot. The orb stays open across the whole session: you can go back and forth as many times as you want, and if Copilot needs to ask a clarifying question, it just speaks that back and waits for your next turn like a normal conversation. For gnarly variable names\/paths, I lean on the transcript panel + typed fallback &#8211; you can always type a turn instead of saying it, and typed replies still get read aloud, so it mixes voice and keyboard per-turn rather than forcing pure dictation.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#8<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KS2Z6JC4VRW6HG\" class=\"app-title\">Notta Desktop &#8211; Privacy Mode<\/a><\/p>\n<div class=\"one-liner\">Offline AI meeting notes with unlimited transcription<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">56<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Notta Desktop &#8211; Privacy Mode \u662f\u4e00\u6b3e\u5c06\u4f1a\u8bae\u5f55\u97f3\u548c\u8f6c\u5199\u5b8c\u5168\u79bb\u7ebf\u8fd0\u884c\u4e8e\u672c\u5730\u7684AI\u7b14\u8bb0\u5de5\u5177\uff0c\u89e3\u51b3\u7528\u6237\u5bf9\u654f\u611f\u4f1a\u8bae\u6570\u636e\u4e0a\u4e91\u7684\u5b89\u5168\u987e\u8651\uff0c\u540c\u65f6\u63d0\u4f9b\u65e0\u9650\u7684\u672c\u5730\u8f6c\u5199\u989d\u5ea6\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\/29cf7983-f958-442a-9d78-5e7573db2e1b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9cfaeaf1-f94d-48e8-a8ce-2b807c7ab9b5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/291a8415-3b5f-4b71-91de-e45a04f4ea70.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6216b3c0-819d-428b-834c-5e972c5b5efb.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\">Notes<\/span><br \/>\n            <span class=\"tag\">Meetings<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4f1a\u8bae\u7b14\u8bb0<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u8f6c\u5199<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u5f55\u97f3\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">macOS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u9690\u79c1\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u65e0\u9650\u65f6\u957f<\/span><br \/>\n            <span class=\"tag\">\u65e0\u673a\u5668\u4eba\u5165\u4f1a<\/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\u79bb\u7ebf\u4e0e\u65e0\u9650\u8f6c\u5199\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u4f46\u5173\u6ce8\u79bb\u7ebf\u4e0b\u591a\u8bf4\u8bdd\u4eba\u573a\u666f\u7684\u51c6\u786e\u7387\u3001\u6a21\u578b\u662f\u5426\u771f\u80fd\u5728\u98de\u673a\u7b49\u65e0\u7f51\u73af\u5883\u8fd0\u884c\uff1b\u540c\u65f6\u5e0c\u671b\u652f\u6301Markdown\u5bfc\u51fa\uff0c\u5e76\u660e\u786e\u9690\u79c1\u6a21\u5f0f\u4e0b\u662f\u5426\u4f1a\u505a\u7f51\u7edc\u547c\u53eb\uff08\u5b98\u65b9\u56de\u5e94\uff1a\u4ec5\u6bcf\u6708\u4e00\u6b21\u6388\u6743\u6821\u9a8c\uff0c\u65e0\u9065\u6d4b\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Notta Desktop\u7684\u201c\u9690\u79c1\u6a21\u5f0f\u201d\u5728\u6982\u5ff5\u4e0a\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u957f\u671f\u7684\u75db\u70b9\uff1a\u4f01\u4e1a\u4f1a\u8bae\u654f\u611f\u6570\u636e\u4e0d\u5e94\u65e0\u6761\u4ef6\u4fe1\u4efb\u4e91\u7aef\u3002\u5c24\u5176\u662f\u5f8b\u5e08\u3001\u91d1\u878d\u4ece\u4e1a\u8005\u548c\u5185\u90e8\u9ad8\u7ba1\u4f1a\u8bae\u573a\u666f\uff0c\u4e00\u4e2a\u201c\u65e0\u7f51\u7edc\u3001\u65e0\u673a\u5668\u4eba\u3001\u65e0\u4e91\u5904\u7406\u201d\u7684\u65b9\u6848\uff0c\u6bd4\u90a3\u4e9b\u690d\u5165\u667a\u80fd\u4f46\u6570\u636e\u5fc5\u987b\u8fc7\u4e91\u7684\u5de5\u5177\uff0c\u66f4\u5177\u5408\u89c4\u5438\u5f15\u529b\u3002\u4f46\u9700\u8981\u51b7\u9759\u770b\u5f85\u7684\u662f\uff0c\u79bb\u7ebf\u8f6c\u5199\u5e76\u975e\u65b0\u6280\u672f\u2014\u2014\u672c\u5730\u6a21\u578b\u53d7\u7b97\u529b\u548c\u5b58\u50a8\u5236\u7ea6\uff0c\u5f80\u5f80\u91c7\u7528\u91cf\u5316\u6216\u5c0f\u6a21\u578b\uff0c\u8bc4\u8bba\u533a\u5bf9\u201c\u591a\u8bf4\u8bdd\u4eba\u4ea4\u53c9\u5bf9\u8bdd\u7684\u51c6\u786e\u7387\u201d\u7684\u8ffd\u95ee\u5e76\u975e\u65e0\u7684\u653e\u77e2\u3002\u5b98\u65b9\u56de\u5e94\u4e2d\u53ea\u63d0\u5230\u4e86PDF\u548cTXT\u5bfc\u51fa\uff0c\u5bf9Markdown\u7b49\u6d41\u884c\u7b14\u8bb0\u683c\u5f0f\u7684\u53cd\u9988\u6bd4\u8f83\u6a21\u7cca\uff0c\u8bf4\u660e\u5de5\u4f5c\u6d41\u8854\u63a5\u5c1a\u4e0d\u6210\u719f\u3002\u6b64\u5916\uff0c\u4ea7\u54c1\u5ba3\u79f0\u7684\u201c\u65e0\u9650\u672c\u5730\u8f6c\u5f55\u201d\u662f\u4eae\u70b9\u4e5f\u662f\u201c\u53cc\u5203\u5251\u201d\u2014\u2014\u6ca1\u6709\u4e91\u5206\u949f\u9650\u5236\uff0c\u610f\u5473\u7740\u7528\u6237\u4f1a\u62ff\u5b83\u5f55\u957f\u4f1a\u8bae\u3001\u591a\u573a\u6b21\uff0c\u8fd9\u5c06\u5bf9\u672c\u5730\u8bbe\u5907\u7684CPU\u3001RAM\u548c\u6563\u70ed\u662f\u771f\u5b9e\u8003\u9a8c\u3002\u6700\u4f4e2\u6838CPU\u30014GB RAM\u770b\u4f3c\u4f4e\u95e8\u69db\uff0c\u4f46\u8fd9\u662f\u9488\u5bf9\u5355\u8bed\u79cd\u8f83\u5b89\u9759\u7684\u4f1a\u8bae\uff0c\u5b9e\u9645\u5546\u7528\u573a\u666f\u4e2d\uff0c\u957f\u65f6\u957f\u3001\u9ad8\u566a\u73af\u5883\u6781\u6613\u8ba9\u8001\u6b3eMacBook\u98ce\u6247\u8d77\u98de\u3002\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u4ea7\u54c1\u76ee\u524d\u652f\u6301\u7684\u4e24\u4e2a\u5f15\u64ce\u4e4b\u4e00\u3001Apple Speech Analyzer\u987b\u4f9d\u8d56macOS 26+\uff0c\u8fd9\u4ece\u6839\u672c\u4e0a\u9650\u5236\u4e86\u7528\u6237\u7fa4\uff0c\u8bf4\u660eNotta\u5728\u79bb\u7ebf\u4fa7\u7684\u901a\u7528\u6027\u6253\u78e8\u4ecd\u6709\u663e\u8457\u8fdb\u6b65\u7a7a\u95f4\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u65b9\u5411\u9ad8\u5ea6\u6b63\u786e\u4f46\u5f53\u524d\u7248\u672c\u529f\u80fd\u7cbe\u786e\u5ea6\u6709\u9650\u7684\u8bd5\u9a8c\u6027\u4ea7\u54c1\u3002\u5b83\u9002\u5408\u6781\u7aef\u9690\u79c1\u654f\u611f\u7528\u6237\u8bd5\u6c34\uff0c\u4f46\u8981\u60f3\u6210\u4e3a\u4e3b\u6d41\u4f1a\u8bae\u751f\u4ea7\u529b\u5de5\u5177\uff0c\u8fd8\u9700\u8981\u5728\u672c\u5730\u7684\u8bed\u8a00\u6a21\u578b\u7cbe\u5ea6\u3001\u591a\u51fa\u53e3\u683c\u5f0f\u3001\u4ee5\u53ca\u591a\u8bbe\u5907\u6027\u80fd\u9002\u914d\u4e0a\u4e0b\u66f4\u591a\u786c\u529f\u592b\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\">Notta Desktop &#8211; Privacy Mode<\/span>\n                <\/div>\n<div class=\"comment-content\">Record and transcribe private meetings locally with Notta Desktop. Privacy Mode keeps audio, transcripts, and meeting notes on your computer, with offline transcription and no cloud processing. Try it free for 7 days. No credit card required.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<\/p>\n<p>I\u2019m Daniel, and I\u2019ve been building Notta for the past 6 years.<\/p>\n<\/p>\n<p>In that time, we\u2019ve seen meeting transcription become part of everyday work. But we\u2019ve also heard the same concern from many users: they want AI meeting notes, but not every conversation should be sent to the cloud.<\/p>\n<\/p>\n<p>That\u2019s why we built Notta Desktop!<\/p>\n<p>With Privacy Mode, Notta Desktop records and transcribes meetings locally on your computer.<\/p>\n<p>\ud83d\udd12 No network required.<\/p>\n<p>\u2601\ufe0f No cloud processing.<\/p>\n<p>\ud83d\udcbb Your audio, transcripts, notes, and related files stay on your device.<\/p>\n<p>The biggest benefit is not just privacy. It is freedom from transcription limits.<\/p>\n<p>Because transcription runs locally instead of through cloud infrastructure, Notta Desktop can support unlimited local transcription and note-taking. You can record long meetings, frequent calls, interviews, internal discussions, and sensitive conversations without worrying about cloud-minute limits.<\/p>\n<p>Notta Desktop works for both in-person and online meetings. It can capture system audio directly, so you can record Zoom, Google Meet, Teams, Slack, Webex, and other calls without inviting a meeting bot.<\/p>\n<p>\ud83e\udd16 No awkward bot in the room.<\/p>\n<p>\ud83d\udc65 No participant list clutter.<\/p>\n<p>\u26a1 No extra setup for attendees.<\/p>\n<p>Notta Desktop offers two local transcription options depending on your device and language needs: a Notta offline model for English, Japanese, Simplified Chinese, and Cantonese, and Apple Speech Analyzer on macOS 26+ for 11 supported languages: English, Japanese, Korean, German, French, Spanish, Italian, Portuguese, Cantonese, Simplified Chinese and Traditional Chinese.<\/p>\n<p>\ud83d\ude80 Because everything is saved locally, your transcripts are also easy to use in follow-up workflows with tools like Codex or Claude Code: summaries, reports, PRDs, CRM notes, action items, or any custom workflow you want to build.<\/p>\n<p>We made this for customer calls, legal reviews, financial discussions, internal strategy meetings, research interviews, and any conversation where privacy, control, and unlimited transcription matter.<\/p>\n<\/p>\n<p>Would love your feedback: where would offline, unlimited meeting transcription fit into your workflow?<\/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\/@danielwayne\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danielwayne<\/a>&nbsp;Congratulations to the team behind Notta Desktop on today&#8217;s launch! Bringing unlimited offline AI transcription directly to the desktop is a phenomenal feat. Local processing means ultimate speed and absolute privacy. Here\u2019s to a successful launch day!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@danielwayne\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danielwayne<\/a>&nbsp;Solid idea! offline transcription with no cloud or bots is a big win for privacy and control. Curious how accurate it stays in real meetings and how smooth the workflow is for exporting notes into tools people already use.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@danielwayne\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danielwayne<\/a>&nbsp;love the no bot approach. does it use a local VAD to handle silences or is it transcribing continuously?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Awesome solution! Could you please list the <strong>minimum specs required for the offline mode?<\/strong> I&#8217;m guessing you&#8217;re launching a local MLX model?<\/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\/@artk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artk<\/a>&nbsp;Thanks, Artur! Notta Desktop currently offers two local transcription engines for offline mode:<\/p>\n<ol>\n<li>\n<p>Offline Transcription Model<br \/>Minimum specs: 1.0 GB model size, 4 GB RAM, and 2 CPU cores.<br \/>Supported languages: Simplified Chinese, Cantonese, English, and Japanese.<\/p>\n<\/li>\n<li>\n<p>Apple Speech Analyzer<br \/>Minimum specs: 27.3 MB model size, 1 GB RAM, and 2 CPU cores.<br \/>Supported on macOS 26+ with 11 languages: Simplified Chinese, English, Japanese, Korean, German, French, Spanish, Italian, Portuguese, Cantonese, and Traditional Chinese.<\/p>\n<\/li>\n<\/ol>\n<p>So yes, the transcription runs locally on the device. For Apple devices, we also support Apple Speech Analyzer where available.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/@danielwayne\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"danielwayne\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danielwayne<\/a> This is interesting. I\u2019ve always felt AI transcription tools are useful, but privacy is the part that makes me hesitate, especially for internal meetings or sensitive client calls.<\/p>\n<p>A desktop-first, more private workflow makes a lot of sense. Curious how much can run locally today, and where the line is between local processing and cloud features.<\/p>\n<p>Congrats on the launch. Will be following this 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tj_eof\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tj_eof<\/a>&nbsp;Hi TJ, Privacy Mode currently supports core local workflows, including offline transcription and downloading\/exporting files. Cloud mode provides more AI-powered features, such as AI summaries and Ask AI.<\/p>\n<p>In the future, we\u2019ll also consider supporting local models for summaries. Feel free to give it a try!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The unlimited local transcription is the part that genuinely matters to me \u2014 cloud-minute caps are exactly why I stop trusting a tool for long interviews and back-to-back calls, so removing that ceiling is a real unlock. Two specific questions beyond the local-vs-cloud split TJ already asked: does the offline model handle speaker diarization locally, or does that still fall back to cloud? And what can I export the local transcript and notes to \u2014 is Markdown one of the formats, so it drops cleanly into a notes vault? Good to see privacy shipped as the default instead of an upsell. 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\/@hung_tran_from_notebook_os\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hung_tran_from_notebook_os<\/a>&nbsp;Thank you \u2014 unlimited local transcription is exactly what we wanted to unlock for long interviews and back-to-back calls.<\/p>\n<p>In Privacy Mode, speaker diarization is handled offline as well, so it doesn\u2019t fall back to the cloud for that. You can also download the local transcript as a TXT file today.<\/p>\n<p>Markdown export is a great point for notes-vault workflows, and we\u2019ll definitely keep that in mind.<\/p>\n<p>Really appreciate the thoughtful questions and 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>Local-only transcription is the right call \u2014 &#8216;not every conversation should hit the cloud&#8217; is exactly why I&#8217;ve avoided the hosted notetakers. Practically: is the speech model bundled and running fully on-device, so Privacy Mode still transcribes on a plane with wifi off, or is it local storage with processing that still reaches out? And if I later turn on a cloud feature like summaries, is that an explicit per-note opt-in, or does enabling it re-route everything through the cloud by default?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is a real need, I know a few people in legal and healthcare who can&#8217;t touch cloud meeting note tools no matter how good they are, compliance just kills it. running transcription fully local usually means a smaller\/quantized model though, how&#8217;s accuracy on multi-speaker calls with crosstalk compared to the cloud version, or is privacy mode meant more for single-speaker dictation type use<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great team building a product that turns AI meeting minutes into real insights and actions<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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! The no-bot, on-device approach is genuinely useful for sensitive calls. In Privacy Mode, does the app make any network calls at all (for example: telemetry, analytics, licence checks) or is it completely zero outbound traffic while offline?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;Thank you! In Privacy Mode, your meeting audio and transcripts stay on your device and are not sent to the cloud. During offline transcription, the app does not make any telemetry, analytics, or other outbound network calls.<\/p>\n<p>The only network dependency is license validation, which happens periodically, roughly once a month. Once validated, you can use Privacy Mode offline for at least a month with no outbound traffic during offline use.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@stefan_bader\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@stefan_bader<\/a>&nbsp;Thank you so much! Stefan!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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;no awkward bot in the room&#8221; is a real selling point, half the resistance to recording client calls is the third participant named Notta Bot making everyone perform<\/p>\n<p>capturing system audio directly is the right call. checking this out for client calls where the conversation can&#8217;t leave the machine<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yarslav\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yarslav<\/a>&nbsp;Exactly \u2014 that \u201cNotta Bot joined the meeting\u201d moment can really change how people talk.<\/p>\n<p>That\u2019s why we built Notta Desktop to capture system audio directly, without adding a bot to the call. And with Privacy Mode, sensitive conversations can be transcribed locally and kept on your own machine.<\/p>\n<p>Would love to hear how it works for your client calls.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>amazzzing 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gideon_ge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gideon_ge<\/a>&nbsp;Thank you so much! Gideon<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/NNJJK6ZGJFW3UF\" class=\"app-title\">Pixel Machha<\/a><\/p>\n<div class=\"one-liner\">Photos from Camera to your Guests in lightening speed !<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">41<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Pixel Machha \u4e3a\u6d3b\u52a8\u6444\u5f71\u5e08\u6253\u9020\u4e86\u4e00\u4e2a\u4ece\u76f8\u673a\u76f4\u8fde\u4e91\u7aef\u3001AI \u4eba\u8138\u8bc6\u522b\u3001\u81ea\u52a8\u54c1\u724c\u5316\u5904\u7406\u5230\u5373\u65f6\u5206\u53d1\u81f3\u5609\u5bbe\u548c\u793e\u4ea4\u5a92\u4f53\u7684\u5168\u94fe\u8def\u6781\u901f\u5de5\u4f5c\u6d41\uff0c\u89e3\u51b3\u4e86\u6d3b\u52a8\u73b0\u573a\u7167\u7247\u4ece\u62cd\u6444\u5230\u4e0a\u7ebf\u8017\u65f6\u8fc7\u957f\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/03709bb8-6135-43ef-b28f-b0ed36d81376.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f6a29268-a8b2-45a8-9d95-dbd608b7c5a5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/51905fdd-c03a-4ae1-b11e-b9831434b101.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\/b2168055-46b3-4d63-9c75-2cad043192eb.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=r5F2xjFw94Q\"><source src=\"https:\/\/www.youtube.com\/watch?v=r5F2xjFw94Q\" 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\">Photography<\/span><br \/>\n            <span class=\"tag\">Live Events<\/span><br \/>\n            <span class=\"tag\">Social media marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5b9e\u65f6\u7167\u7247\u4f20\u8f93<\/span><br \/>\n            <span class=\"tag\">FTP\u76f8\u673a\u76f4\u8fde<\/span><br \/>\n            <span class=\"tag\">AI\u4eba\u8138\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u6d3b\u52a8\u6444\u5f71<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u5ba2\u7247\u76f8\u518c<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u73b0\u573a\u5e7b\u706f\u7247<\/span><br \/>\n            <span class=\"tag\">\u4e91\u7aef\u540c\u6b65<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u5176\u89e3\u51b3\u793e\u4ea4\u5a92\u4f53\u5373\u65f6\u53d1\u5e03\u53ca\u5609\u5bbe\u81ea\u52a9\u627e\u56fe\u7684\u75db\u70b9\u3002\u4e3b\u8981\u5173\u6ce8\u70b9\u5728\u4e8e\uff1a\u5bc6\u96c6WiFi\u73af\u5883\u4e0b\u7684\u7a33\u5b9a\u6027\u3001\u65ad\u7f51\u540e\u79bb\u7ebf\u62cd\u6444\u7684\u540c\u6b65\u673a\u5236\u3001\u4ee5\u53ca\u5f3a\u9006\u5149\/\u80cc\u5149\u4e0b\u4eba\u8138\u8bc6\u522b\u7684\u51c6\u786e\u7387\u3002\u5f00\u53d1\u8005\u56de\u5e94\u79f0\u9762\u90e8\u8bc6\u522b\u51c6\u786e\u7387\u7ea699%\uff0c\u4f46\u672a\u5177\u4f53\u8bf4\u660e\u5f31\u5149\u6216\u906e\u6321\u573a\u666f\u4e0b\u7684\u8868\u73b0\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Pixel Machha \u7cbe\u51c6\u5730\u6355\u6349\u5230\u4e86\u6d3b\u52a8\u6444\u5f71\u5e02\u573a\u4e2d\u201c\u5373\u65f6\u6027\u201d\u4e0e\u201c\u7cbe\u7ec6\u5316\u5206\u53d1\u201d\u4e4b\u95f4\u7684\u5de8\u5927\u65ad\u5c42\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u662f\u53c8\u4e00\u6b3e\u4fee\u56fe\u8f6f\u4ef6\uff0c\u800c\u662f\u901a\u8fc7FTP\u76f4\u8fde\u76f8\u673a\u548c\u4e91\u7aefAI\u5904\u7406\uff0c\u5c06\u4f20\u7edf\u9700\u898130\u5206\u949f\u7684\u4eba\u5de5\u201c\u8dd1\u817f+\u4fee\u56fe+\u5206\u53d1\u201d\u94fe\u6761\u538b\u7f29\u4e3a\u8fd1\u4e4e\u5b9e\u65f6\u7684\u81ea\u52a8\u5316\u6d41\u7a0b\u3002\u8fd9\u5bf9\u4e8e\u8ffd\u6c42\u73b0\u573a\u58f0\u91cf\u548c\u793e\u4ea4\u5feb\u901f\u5f15\u7206\u7684\u79d1\u6280\u4f1a\u8bae\u3001\u5927\u578b\u53d1\u5e03\u4f1a\u800c\u8a00\uff0c\u662f\u521a\u9700\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u9762\u4e34\u4e24\u91cd\u6311\u6218\uff1a\u7b2c\u4e00\uff0c\u6280\u672f\u7a33\u5b9a\u6027\u662f\u751f\u547d\u7ebf\u3002\u7528\u6237\u5bf9\u201cWiFi\u62e5\u6324\u201d\u548c\u201c\u79bb\u7ebf\u540c\u6b65\u201d\u7684\u8d28\u7591\u6781\u5176\u81f4\u547d\u2014\u2014\u6d3b\u52a8\u7f51\u7edc\u73af\u5883\u5f80\u5f80\u6700\u4e0d\u53ef\u9760\u3002\u5982\u679c\u4e0a\u4f20\u5361\u987f\u6216\u4eba\u8138\u5339\u914d\u56e0\u7f51\u7edc\u5ef6\u8fdf\u800c\u5931\u6548\uff0c\u4ea7\u54c1\u7684\u201c\u5b9e\u65f6\u6027\u201d\u57fa\u77f3\u5c31\u4f1a\u5d29\u6e83\u3002\u7b2c\u4e8c\uff0cAI\u4eba\u8138\u8bc6\u522b\u7684\u9690\u79c1\u548c\u4f26\u7406\u8fb9\u754c\u3002\u867d\u7136\u627f\u8bfa\u201c\u5373\u4f7f\u672a\u6388\u6743\u7684\u4eba\u4e5f\u4f1a\u88ab\u8bc6\u522b\u201d\uff0c\u4f46\u8fd9\u5728\u4e0d\u540c\u56fd\u5bb6\u7684\u9690\u79c1\u6cd5\u89c4\uff08\u5982GDPR\uff09\u4e0b\u53ef\u80fd\u5f15\u53d1\u5408\u89c4\u98ce\u9669\u3002\u6b64\u5916\uff0c\u80cc\u5149\u3001\u4fa7\u8138\u3001\u6234\u53e3\u7f69\u7b49\u573a\u666f\u4e0b99%\u7684\u51c6\u786e\u7387\u662f\u5426\u7ecf\u5f97\u8d77\u5927\u89c4\u6a21\u5546\u62cd\u8003\u9a8c\uff0c\u4ecd\u5b58\u7591\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u89d2\u5ea6\u770b\uff0c\u5f53\u524d\u201c\u514d\u8d39+\u5927\u7528\u91cf\u201d\u7684\u7b56\u7565\u662f\u62a2\u5360\u5fc3\u667a\u7684\u597d\u624b\u6bb5\uff0c\u4f46\u7f3a\u4e4f\u660e\u786e\u7684\u8425\u6536\u8def\u5f84\u3002\u5f00\u53d1\u8005\u9700\u8981\u5feb\u901f\u5c55\u793a\u5176\u5728\u5e38\u89c1\u6781\u7aef\u73af\u5883\u4e0b\u7684\u6297\u538b\u80fd\u529b\uff0c\u5e76\u63d0\u4f9b\u4f01\u4e1a\u7ea7\u7684SLA\u4fdd\u969c\u4e0e\u9690\u79c1\u5408\u89c4\u65b9\u6848\uff0c\u5426\u5219\u5c06\u96be\u4ee5\u4eceCameraM\u6863\u3001PhotoShelter\u7b49\u6210\u719f\u7ade\u54c1\u624b\u4e2d\u64ac\u52a8\u9ad8\u7aef\u4ed8\u8d39\u5ba2\u6237\u3002\u5b83\u662f\u4e00\u4e2a\u806a\u660e\u7684\u75db\u70b9\u89e3\u51b3\u65b9\u6848\uff0c\u4f46\u79bb\u6210\u4e3a\u4e00\u4e2a\u7a33\u5b9a\u3001\u53ef\u4fe1\u7684\u5546\u4e1a\u4ea7\u54c1\uff0c\u8fd8\u6709\u8089\u773c\u53ef\u89c1\u7684\u8ddd\u79bb\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Pixel Machha<\/span>\n                <\/div>\n<div class=\"comment-content\">Pixel Machha gives event photographers and social media a professional platform \u2014 FTP camera uploads, AI face recognition, branded guest albums, Social Media specific editing and exporting, and live slideshows. All in one place.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\ud83d\udcf8\u26a1 Ever seen a conference photo appear on social media while the speaker is still on stage?<\/p>\n<p>That was exactly the problem that led to Pixel Machha.<\/p>\n<p>I volunteer as a photographer at tech conferences. Taking photos was the easy part.<\/p>\n<p>Getting them online? \ud83d\ude05 Not so much.<\/p>\n<p>The workflow looked something like this:<\/p>\n<p>\ud83d\udcf8 Photographer clicks photo<br \/>\n\ud83c\udfc3 Runs to the social media team<br \/>\n\ud83d\udcbe Hands over the memory card (or transfers photos via phone)<br \/>\n\u2702\ufe0f Social media team crops images for different platforms<br \/>\n\ud83c\udff7\ufe0f Adds logos\/watermarks<br \/>\n\ud83d\ude80 Finally publishes the post<\/p>\n<p>By then, 20\u201330 minutes had already passed.<\/p>\n<p>And during all of this, the photographer was missing moments happening on stage because they were busy acting as a human USB cable. \ud83d\udd0c\ud83d\ude02<\/p>\n<p>There was another challenge too.<\/p>\n<p>After the event, attendees wanted access to photos, but sharing thousands of images through generic cloud folders wasn&#8217;t ideal. Privacy was a concern, and finding your own photos felt like searching for a needle in a haystack.<\/p>\n<p>So I built Pixel Machha.<\/p>\n<p>\u26a1 Pixel Machha connects directly to professional cameras using built-in FTP capabilities.<\/p>\n<p>That means:<\/p>\n<p>\u2705 Photos upload automatically from the camera to the cloud<br \/>\n\u2705 Social media teams receive images instantly<br \/>\n\u2705 Attendees can view photos in real time through live albums<br \/>\n\u2705 Automatic overlays, branding, and watermarking<br \/>\n\u2705 Face recognition can help guests see only their own photos<br \/>\n\u2705 No memory card shuffling. No WhatsApp compression. No photographer cardio sessions. \ud83d\ude04<\/p>\n<p>\ud83c\udfaf Who is this for?<\/p>\n<p>&#8211; Event photographers<br \/>\n&#8211; Event management companies<br \/>\n&#8211; Conference organizers<br \/>\n&#8211; Photography agencies<br \/>\n&#8211; Corporate events<br \/>\n&#8211; Weddings &amp; parties<br \/>\n&#8211; Anyone who wants to share event photos instantly<\/p>\n<p>\ud83d\udcb0 Pricing<\/p>\n<p>Pixel Machha is currently free with generous usage limits.<\/p>\n<p>If you&#8217;re running larger events or have higher-volume requirements, reach out and I&#8217;d be happy to help tailor a solution for your needs.<\/p>\n<p>Would love your feedback, questions, feature requests, and even your wildest event-photography pain points. \ud83d\ude80<\/p>\n<p>Thanks for checking out Pixel Machha!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sumanth_bettadapura\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sumanth_bettadapura<\/a>&nbsp; It&#8217;s a wonderful product. This is very useful for me as i can get all the photos i am in easily while the event happens especially with the selfie feature . <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sumanth_bettadapura\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sumanth_bettadapura<\/a>&nbsp;The real-time upload + instant social delivery + live albums combo feels like a big upgrade for conferences and weddings. How stable it is in crowded WiFi environments and how you handle edge cases like offline capture syncing after reconnect? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@sumanth_bettadapura\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sumanth_bettadapura<\/a>&nbsp;sounds like a great product! Will definitely try it out!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the face recognition handle group shots with people who haven&#8217;t opted in, and is the AI matching done on your servers or locally on the photographer&#8217;s machine?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@fatmaodef39623 yes, it handles group photos very well, it works on the people who hasn\u2019t opted in as well, I mean- if you are in a photo you would get that photo, the face recognition happens on server side , with the help of AWS Rekognition Service<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 an excellent solution to a big problem in any conferences\u2026 I have used it in recent React Nexus&#8230; It was amazing. All the best with it. \ud83d\udc4d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@tapasadhikary thanks a lot for your kind words !<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\">@akashhamirwasia thanks a lot akash !<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 FTP upload straight to guest albums is a genuinely nice detail, most tools in this space make you export from lightroom or your camera app first which kills the &#8220;live&#8221; part of live events. at a big wedding with a few hundred guests, does the face recognition hold up with people in and out of shadow\/backlight, or does accuracy drop enough that photographers still have to manually sort some of it<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@omri_ben_shoham1 thank you for your positive vibes, the face recognition has worked almost all the times I have tested , I would say it\u2019s almost 99% accurate\u2026<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/GERCSP7N2EGIV6\" class=\"app-title\">JoJo Days<\/a><\/p>\n<div class=\"one-liner\">The baby book you&#8217;ll actually keep<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">33<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>JoJo Days\u662f\u4e00\u6b3e\u4e13\u4e3a\u5b55\u671f\u53ca\u80b2\u513f\u9636\u6bb5\u8bbe\u8ba1\u7684\u79c1\u4eba\u6570\u5b57\u8bb0\u5fc6\u7c3f\uff0c\u901a\u8fc7\u4e92\u52a8\u65e5\u5386\u5361\u7247\u5f62\u5f0f\uff0c\u8ba9\u7236\u6bcd\u8f7b\u677e\u8bb0\u5f55\u5e76\u5b89\u5168\u4fdd\u5b58\u5b69\u5b50\u7684\u6210\u957f\u70b9\u6ef4\u3001\u7167\u7247\u3001\u89c6\u9891\u548c\u8bed\u97f3\uff0c\u89e3\u51b3\u73b0\u6709\u80b2\u513fAPP\u5e7f\u544a\u591a\u3001\u8ba2\u9605\u8d39\u9ad8\u3001\u6613\u88ab\u5f03\u7528\u7684\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/de1e9323-a5e1-4e99-8cdf-84418c3c99dd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8c99a305-339b-4760-b210-7f48132a56fc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/151f0ab8-2ef0-4529-8f58-b8868aceff6e.gif?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/17f68cc3-c980-4231-afc3-c3d40af93785.gif?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\/a104d526-2576-4a0f-8756-918fe4764b9b.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/016e1d7dadc7448c80e95f5e8e99f899\"><source src=\"https:\/\/www.loom.com\/share\/016e1d7dadc7448c80e95f5e8e99f899\" 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\">Parenting<\/span><br \/>\n            <span class=\"tag\">Notes<\/span><br \/>\n            <span class=\"tag\">Photo &#038; Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u80b2\u513f\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u5a74\u513f\u65e5\u8bb0<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u8bb0\u5fc6\u7c3f<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u6027\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">\u65e5\u5386\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u6210\u957f\u91cc\u7a0b\u7891<\/span><br \/>\n            <span class=\"tag\">\u5bb6\u5ead\u5171\u4eab<\/span><br \/>\n            <span class=\"tag\">\u65e0\u5e7f\u544a<\/span><br \/>\n            <span class=\"tag\">\u5b55\u671f\u5012\u8ba1\u65f6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u65e0\u5e7f\u544a\u3001\u65e0\u8ba2\u9605\u201d\u7684\u8bda\u610f\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\u957f\u671f\u8fd0\u8425\u7684\u53ef\u6301\u7eed\u6027\uff08\u5b58\u50a8\u4e0e\u5e26\u5bbd\u6210\u672c\uff09\uff0c\u521b\u4f5c\u8005\u56de\u5e94\u4ee5\u6309\u5b58\u50a8\u7a7a\u95f4\u8ba1\u8d39\u3001\u4f7f\u7528\u4f4e\u6210\u672c\u4e91\u670d\u52a1\u5e76\u8ba1\u5212\u63a8\u51fa\u6253\u5370\u76f8\u518c\u4f5c\u4e3a\u989d\u5916\u6536\u5165\u3002\u7528\u6237\u4e5f\u5173\u5fc3\u672c\u5730\u5b58\u50a8\u3001\u591a\u7528\u6237\u534f\u4f5c\u4ee5\u53ca\u79fb\u52a8\u7aef\u652f\u6301\uff0c\u5f00\u53d1\u8005\u786e\u8ba4\u5c06\u63a8\u51fa\u5b89\u5353\u4e0eiOS\u5e94\u7528\u5e76\u652f\u6301\u5bb6\u5ead\u6210\u5458\u5171\u4eab\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                JoJo Days\u7684MVP\u5207\u4e2d\u4e86\u4e00\u4e2a\u6781\u5176\u7cbe\u51c6\u7684\u75db\u70b9\uff1a\u7236\u6bcd\u5bf9\u201c\u7eaf\u51c0\u3001\u79c1\u5bc6\u3001\u4e00\u6b21\u4ed8\u8d39\u201d\u80b2\u513f\u8bb0\u5f55\u5de5\u5177\u7684\u6e34\u671b\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u505a\u53e6\u4e00\u4e2a\u529f\u80fd\u81c3\u80bf\u7684\u201c\u5168\u5bb6\u6876\u201d\u80b2\u513f\u5e73\u53f0\uff0c\u800c\u662f\u56de\u5f52\u5230\u201c\u8bb0\u5f55\u201d\u672c\u8eab\uff0c\u7528\u65e5\u5386\u5361\u7247\u8fd9\u4e00\u6781\u5177\u76f4\u89c9\u6027\u7684\u4ea4\u4e92\u65b9\u5f0f\uff0c\u964d\u4f4e\u4e86\u8bb0\u5f55\u95e8\u69db\u3002\u521b\u59cb\u4eba\u7684\u201c\u4e3a\u81ea\u5df1\u7684\u513f\u5b50\u800c\u505a\u201d\u7684\u6545\u4e8b\u771f\u5b9e\u4e14\u6709\u529b\uff0c\u8bc4\u8bba\u533a\u4e2d\u5173\u4e8e\u9690\u79c1\u548c\u6536\u8d39\u6a21\u5f0f\u7684\u8ba8\u8bba\u4e5f\u9a8c\u8bc1\u4e86\u8fd9\u662f\u4e00\u7fa4\u9ad8\u5ea6\u540c\u9891\u3001\u6709\u4ed8\u8d39\u610f\u613f\u7684\u65e9\u671f\u7528\u6237\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u201cpay once\u201d\u7684\u5546\u4e1a\u6a21\u5f0f\u662f\u6700\u5927\u7684\u4eae\u70b9\uff0c\u4e5f\u662f\u6700\u5927\u7684\u9690\u5fe7\u3002\u867d\u7136\u521b\u59cb\u4eba\u7ed9\u51fa\u4e86\u57fa\u4e8e\u5b58\u50a8\u4e0a\u9650\u548cCloudflare\u7684\u6210\u672c\u6a21\u578b\u89e3\u91ca\uff0c\u4f46\u8fd9\u672c\u8d28\u4e0a\u662f\u4e00\u79cd\u201c\u5356\u7a7a\u95f4\u201d\u7684\u4f20\u7edf\u903b\u8f91\u3002\u968f\u7740\u7528\u6237\u7559\u5b58\u65f6\u95f4\u7684\u62c9\u957f\uff08\u5ba3\u79f0\u201c\u4ece\u5b55\u671f\u5230\u5b69\u5b50\u957f\u5927\u201d\uff09\uff0c\u5b58\u50a8\u6210\u672c\u5448\u7ebf\u6027\u589e\u957f\uff0c\u800c\u6536\u5165\u5374\u662f\u4e00\u6b21\u6027\u7684\u3002\u8fd9\u8981\u6c42\u4ea7\u54c1\u5fc5\u987b\u901a\u8fc7\u201c\u5bfc\u51fa\u4e91\u7aef+\u6253\u5370\u76f8\u518c\u201d\u8fd9\u7c7b\u589e\u503c\u670d\u52a1\u5b9e\u73b0\u4e8c\u6b21\u8425\u6536\uff0c\u5426\u5219\u968f\u7740\u7528\u6237\u89c4\u6a21\u7684\u6269\u5927\uff0c\u7559\u5b58\u7528\u6237\u5c06\u6210\u4e3a\u8d1f\u8d44\u4ea7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u4ea7\u54c1\u76ee\u524d\u5728\u529f\u80fd\u4e0a\u4f9d\u7136\u504f\u201c\u8584\u201d\u3002\u5b83\u89e3\u51b3\u4e86\u201c\u522b\u8ba9\u6211\u5f03\u7528\u201d\u7684\u95ee\u9898\uff0c\u4f46\u8fd8\u6ca1\u6709\u56de\u7b54\u201c\u6211\u4e3a\u4ec0\u4e48\u8981\u6301\u7eed\u7528\u201d\u7684\u6df1\u5c42\u6b21\u4ef7\u503c\u3002\u5982\u679c\u6ca1\u6709\u5f3a\u5927\u7684\u65f6\u95f4\u7ebf\u56de\u6eaf\u3001\u5bb6\u5ead\u534f\u4f5c\u6545\u4e8b\u7ebf\u3001\u6216AI\u8f85\u52a9\u7684\u6210\u957f\u8bb0\u5fc6\u603b\u7ed3\uff0c\u5b83\u5f88\u53ef\u80fd\u5728\u65b0\u9c9c\u611f\u8fc7\u540e\uff0c\u6ca6\u4e3a\u53e6\u4e00\u4e2a\u7535\u5b50\u6587\u4ef6\u5939\u3002JoJo Days\u8981\u505a\u7684\uff0c\u4e0d\u662f\u5bf9\u6297\u5927\u5382\u7684\u4ea7\u54c1\uff0c\u800c\u662f\u4ee5\u6781\u81f4\u7684\u79c1\u4eba\u5316\u548c\u60c5\u611f\u4ef7\u503c\uff0c\u5efa\u7acb\u4e00\u4e2a\u8ba9\u7236\u6bcd\u201c\u820d\u4e0d\u5f97\u653e\u5f03\u201d\u7684\u53d9\u4e8b\u7a7a\u95f4\u3002\u5728\u80b2\u513fAPP\u8fd9\u4e2a\u9ad8\u5ea6\u4e2a\u4eba\u5316\u7684\u54c1\u7c7b\u91cc\uff0c\u201c\u514b\u5236\u201d\u6709\u65f6\u6bd4\u201c\u529f\u80fd\u201d\u66f4\u80fd\u8d62\u5f97\u5fe0\u8bda\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\">JoJo Days<\/span>\n                <\/div>\n<div class=\"comment-content\">JoJo Days is a private, playful baby journal and digital memory book. Start during pregnancy with a due-date countdown, then keep every note, photo, and video &#8211; from the bump to the grown-up years.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone \ud83d\udc4b<\/p>\n<p>I built JoJo Days for my son.<\/p>\n<p>When he was born, I wanted one place to keep the little everyday things: the funny noises, the first smile, how a totally ordinary Tuesday actually felt. I tried a few baby apps and kept bouncing off them. Most were subscriptions, some literally put ads on photos of my kid, and they all felt like a grey form I&#8217;d abandon by week two.<\/p>\n<p>So I made something I&#8217;d actually want to open. It&#8217;s a bright, tappable calendar where every day is a card. Tap a day, jot a line, drop in a few photos or a short video, record a 60-second voice memo, and star the firsts. You can even start during pregnancy and watch the weeks count down.<\/p>\n<p>A few things I really care about:<br \/>\n&#8211; Pay once. No subscription, ever.<br \/>\n&#8211; No ads on your baby. Not now, not later.<br \/>\n&#8211; Private by default. Only you and the people you invite can see it, and we never sell your data or train anything on your photos.<\/p>\n<p>Friends started asking for their own logins, so I cleaned it up and opened it to everyone. It&#8217;s free for the first month, no card needed.<\/p>\n<p>I&#8217;d genuinely love your honest feedback, kind or brutal. I&#8217;ll be here all day answering everything.<\/p>\n<p>Thanks for taking a look \ud83d\udc9b<\/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\/@sushrutkwal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sushrutkwal<\/a>&nbsp;This is such a thoughtful idea. Building it from a real personal need really comes through, and the no-subscription, privacy-first approach is refreshing. Wishing you the best 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>I would have really loved to have it when my daughters were babies \ud83e\udd29<\/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\/@berni2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@berni2<\/a>&nbsp;I wish I built it sooner :p<\/p>\n<p>Thanks a lot for the validation, I hope you&#8217;ll be a customer when you become a grand parent.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the intent here, and the &#8220;no ads on your baby&#8221; stance really lands. One honest question, since I&#8217;d want this to still be around when my kid&#8217;s older: with a pay-once model and no subscription or ads, how do you plan to cover the storage and bandwidth for years of photos, video, and voice memos as they keep adding up? Curious how you&#8217;re thinking about keeping it sustainable long-term.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<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 comment, and this is honestly the question I thought hardest about.<\/p>\n<p>Two things make it work: plans are capped by storage (you pay once for the space you use, so no account remains unbounded), and we&#8217;re on Cloudflare R2 which has zero egress fees, so serving years of memories back to the user costs almost nothing.<\/p>\n<p>At those rates a full tier&#8217;s one-time price covers well over a decade of storage with margin. We&#8217;re quite lean, no ad team or investors (so far) to feed.<\/p>\n<p>Also, I always suggest keeping your own copies of what matters most, and an export-to-your-own-cloud is on the roadmap so your data is never locked in. We&#8217;re also planning optional printed keepsake books, a lovely physical copy of your year if you want one, as an extra revenue stream that never means ads or subscriptions.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Nifty idea. Privacy and security are so underrated for such precious memories. Any plans for a mobile app also?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@kaizenmantra thanks a lot! Yes, android app is developed, waiting for playstore approval. iOS will take a couple of weeks.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Sushrut, the promise of one private place for all those little firsts really touches me. Knowing a child&#8217;s photos won&#8217;t be surrounded by ads is exactly the kind of care I&#8217;d want in something this personal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@melodie_getmint\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@melodie_getmint<\/a>&nbsp;Thanks a ton, M\u00e9lodie. This means a lot. This was a big reason why I chose to create this. I also didn&#8217;t like the idea of continuously (monthly) paying for something that should forever be yours.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does the privacy actually work here &#8211; is the data stored locally on my device or on your servers, and can my partner access the same journal if we both want to add entries?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gnlnvmn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gnlnvmn<\/a>&nbsp;The data is in a dedicated bucket for each account, on our cloudflare. And yes, you can add your partner, and they&#8217;ll have full access, but you being the owner will have power to remove them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019m really bad at keeping stuff like this organized for my kids, this is a neat idea! I was just like \u201cwhen did my first start standing up on his own?\u201d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mjohnson42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mjohnson42<\/a>&nbsp;Absolutely, we already missed to note down some milestones like the first laugh, and then I thought I don&#8217;t want to miss capturing other moments. Thanks for your comment!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/QQ7HMN5WVG6AZY\" class=\"app-title\">OneShots<\/a><\/p>\n<div class=\"one-liner\">OneShots &#8211; 10s create amazing APP screenshots<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">23<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>OneShots\u8ba9\u5f00\u53d1\u8005\u4e0a\u4f20\u539f\u59cb\u622a\u56fe\u540e\uff0c10\u79d2\u5185\u81ea\u52a8\u751f\u6210\u9002\u914d\u6240\u6709\u8bbe\u5907\u5c3a\u5bf8\u548c\u591a\u8bed\u8a00\u7684App Store\/Google Play\u8425\u9500\u622a\u56fe\uff0c\u5f7b\u5e95\u544a\u522bFigma\u624b\u52a8\u8c03\u6574\u7684\u91cd\u590d\u52b3\u52a8\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\/dc13ab10-47b6-4684-a9ee-443791d86492.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\/40654df9-b6bc-4d16-b4a8-cc7056cccefc.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\/66ef8552-7ad9-4bb4-8fcf-4bd8d5291aaa.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\/d9b9988e-2f28-4866-88e7-a3a2ff165609.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\/9159defd-3f03-4ef3-b8b5-27647a328bc5.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\/718274c9-a2d2-4f25-be39-3c6b33753244.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/MiCcLOh4v4Q\"><source src=\"https:\/\/youtu.be\/MiCcLOh4v4Q\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">User Experience<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">App\u622a\u56fe\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u5546\u5e97\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u7d20\u6750\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6279\u91cf\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5316<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span><br \/>\n            <span class=\"tag\">\u6a21\u677f\u5316\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">ASO<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u540c\u201c\u6539\u4e00\u884c\u6587\u6848\u91cd\u505a\u6240\u6709\u5c3a\u5bf8\u201d\u662f\u771f\u5b9e\u75db\u70b9\uff0c\u5e76\u8d5e\u8d4f\u4e00\u952e\u540c\u6b65\u548c\u591a\u8bed\u8a00\u6279\u91cf\u5bfc\u51fa\u7684\u6548\u7387\u3002\u4f46\u5177\u4f53\u8be2\u95ee\u4e86\u6a21\u677f\u5bf9\u54c1\u724c\u5316\u9700\u6c42\u7684\u7075\u6d3b\u6027\u3001\u9879\u76ee\u80fd\u5426\u4fdd\u5b58\u590d\u7528\u3001\u7ffb\u8bd1\u662f\u5426\u652f\u6301\u81ea\u52a8\u62c9\u53d6\uff0c\u4ee5\u53ca\u80fd\u5426\u76f4\u63a5\u4ece\u5546\u5e97\u62c9\u53d6\u622a\u56fe\u800c\u975e\u624b\u52a8\u4e0a\u4f20\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                OneShots\u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u6781\u5176\u9ad8\u9891\u3001\u4f4e\u4ef7\u503c\u4f46\u9ad8\u75db\u70b9\u7684\u5f00\u53d1\u8005\u201c\u810f\u6d3b\u201d\u3002\u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u6ca1\u6709\u5c1d\u8bd5\u53bb\u53d6\u4ee3\u8bbe\u8ba1\u5e08\uff0c\u800c\u662f\u7cbe\u51c6\u670d\u52a1\u90a3\u4e9b\u201c\u4e0d\u60f3\u4e3a\u622a\u56fe\u5f00\u4e00\u6b21Figma\u201d\u7684\u72ec\u7acb\u5f00\u53d1\u8005\u548c\u5c0f\u56e2\u961f\u300210\u79d2\u51fa\u56fe\u3001\u4e00\u5904\u4fee\u6539\u5168\u5c40\u540c\u6b65\uff0c\u8fd9\u4e9b\u7279\u6027\u5728\u903b\u8f91\u4e0a\u5e76\u4e0d\u590d\u6742\uff0c\u4f46\u524d\u4eba\u8981\u4e48\u505a\u5f97\u592a\u91cd\uff08\u4e13\u4e1a\u8bbe\u8ba1\u5de5\u5177\uff09\uff0c\u8981\u4e48\u505a\u5f97\u592a\u8f7b\uff08\u6a21\u677f\u7b80\u964b\u3001\u5bfc\u51fa\u683c\u5f0f\u6df7\u4e71\uff09\u3002OneShots\u7684\u4ef7\u503c\u5728\u4e8e\u5c06\u201c\u5bfc\u51fa\u201d\u8fd9\u4e2a\u52a8\u4f5c\u4e0b\u6c89\u4e3a\u4ea7\u54c1\u6838\u5fc3\uff0c\u5e76\u56fa\u5316\u4e3a\u6807\u51c6\u5316\u4ea4\u4ed8\u6d41\u7a0b\u2014\u2014\u8fd9\u610f\u5473\u7740\u5b83\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u6e32\u67d3\u5668\u201d\u800c\u975e\u201c\u8bbe\u8ba1\u5668\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5b83\u7684\u62a4\u57ce\u6cb3\u5e76\u4e0d\u6df1\u3002\u6a21\u677f\u8d28\u91cf\u548c\u54c1\u724c\u53ef\u5b9a\u5236\u5316\u7a0b\u5ea6\u51b3\u5b9a\u4e86\u5b83\u80fd\u5426\u7559\u4f4f\u201c\u6709\u5ba1\u7f8e\u9700\u6c42\u201d\u7684\u7528\u6237\uff0c\u800c\u975e\u4ec5\u4ec5\u201c\u6015\u9ebb\u70e6\u201d\u7684\u7528\u6237\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u6a21\u677f\u662f\u5426\u5141\u8bb8\u54c1\u724c\u91cd\u5ea6\u81ea\u5b9a\u4e49\u201d\u7684\u63d0\u95ee\u76f4\u6307\u75db\u70b9\uff1a\u5982\u679c\u53ea\u80fd\u5957\u6a21\u677f\uff0c\u90a3\u5b83\u53ea\u662f\u4e00\u4e2a\u66f4\u5feb\u7684Canva\u5feb\u7167\uff0c\u800c\u4e00\u65e6\u7528\u6237\u9700\u8981\u8131\u79bb\u6a21\u677f\u8fdb\u884c\u8bbe\u8ba1\uff0c\u5b83\u7acb\u523b\u53d8\u5f97\u4e0d\u591f\u7528\u3002\u6b64\u5916\uff0c\u4e0d\u652f\u6301\u4eceApp Store\u81ea\u52a8\u62c9\u53d6\u622a\u56fe\u610f\u5473\u7740\u6bcf\u6b21\u66f4\u65b0\u4ecd\u9700\u624b\u52a8\u4e0a\u4f20\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5c06\u201c\u91cd\u590d\u52b3\u52a8\u201d\u4ece\u201c\u8c03\u6574\u5c3a\u5bf8\u201d\u8f6c\u79fb\u5230\u4e86\u201c\u4e0a\u4f20\u7d20\u6750\u201d\uff0c\u5bf9\u4e8e\u9891\u7e41\u66f4\u65b0\u7684\u5f00\u53d1\u8005\u6765\u8bf4\u53ea\u662f\u51cf\u8f7b\u800c\u975e\u6d88\u9664\u75db\u82e6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u957f\u8fdc\u770b\uff0cOneShots\u7684\u60f3\u8c61\u529b\u5728\u4e8e\u80fd\u5426\u4ece\u201c\u622a\u56fe\u5de5\u5177\u201d\u6f14\u53d8\u4e3a\u201c\u5e94\u7528\u5546\u5e97\u7d20\u6750\u7ba1\u7406\u5e73\u53f0\u201d\uff0c\u5373\u96c6\u6210\u9879\u76ee\u7ba1\u7406\u3001AB\u6d4b\u8bd5\u65b9\u6848\u3001\u5386\u53f2\u7248\u672c\u5b58\u6863\u3001\u751a\u81f3\u81ea\u52a8\u4eceCI\/CD\u6d41\u6c34\u7ebf\u62c9\u53d6\u622a\u56fe\u3002\u5426\u5219\uff0c\u5b83\u5f88\u5bb9\u6613\u6ca6\u4e3a\u4e0b\u4e00\u4e2a\u201c\u770b\u8d77\u6765\u5f88\u597d\u7528\uff0c\u4f46\u7528\u51e0\u6b21\u5c31\u5fd8\u4e86\u201d\u7684\u8f7b\u91cf\u7ea7\u6548\u7387\u5de5\u5177\u3002\u521d\u521b\u9636\u6bb5\uff0c\u7528\u901f\u5ea6\u78be\u538b\u7ade\u54c1\u662f\u597d\u7684\uff0c\u4f46\u8981\u60f3\u6301\u7eed\u589e\u957f\uff0c\u9700\u8981\u5c3d\u5feb\u8bc1\u660e\u81ea\u5df1\u7684\u201c\u53ef\u590d\u7528\u6027\u201d\u548c\u201c\u6570\u636e\u95ed\u73af\u201d\u80fd\u529b\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">OneShots<\/span>\n                <\/div>\n<div class=\"comment-content\">OneShots is the fastest way to turn your app screenshots into store-ready marketing visuals. Upload raw screenshots, pick a template, customize text and branding \u2014 then export all device sizes and all languages in 10 seconds. Why you&#8217;ll love it: \u26a1 10 seconds, not &#8220;in minutes&#8221; \ud83c\udfaf One edit, everywhere \ud83d\udcf1 Built for app stores \ud83c\udf0d Multi-language ready \ud83d\udce6 Bulk HD export \ud83c\udfa8 Templates that convert No Figma. No freelancers. No manual resizing. \ud83d\udc49 Try OneShots free today \u2014 https:\/\/oneshots.cc<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt! \ud83d\udc4b<br \/>\nI\u2019m Sam, the maker behind OneShots.<br \/>\nOver the last few years, I\u2019ve shipped several apps as an indie developer. And every single time, the most frustrating part wasn\u2019t debugging crashes or dealing with App Store reviews \u2014 it was preparing screenshots.<br \/>\nYou know the pain: fire up Figma, download yet another template, resize for iPhone 15 Pro, then iPhone 15 Plus, then iPad, then Android \u2013 plus repeating everything for 5 languages. Change one line of text? Do it all over again. A simple version update could swallow an entire day.<br \/>\nI kept asking myself: \u201cWhy isn\u2019t there a tool that does this in seconds?\u201d So I built one.<br \/>\nOneShots was born from my own scratching \u2014 upload your raw screenshots, pick a template, tweak your branding and copy, and hit export. All sizes, all languages, ready in one ZIP \u2014 in 10 seconds. Change a headline once, and it syncs everywhere. No manual duplication. No design skills required.<br \/>\nI poured extra effort into the templates \u2014 they aren\u2019t just pretty; they\u2019re built for conversion, following the latest store trends. And the export quality is up to 4K, so your screenshots look crisp everywhere.<\/p>\n<p>What makes OneShots different<br \/>\n&#8211; \u26a1 10 seconds, not minutes \u2014 While others claim &#8220;in minutes,&#8221; OneShots actually delivers in seconds. Upload \u2192 edit \u2192 export. Done.<br \/>\n&#8211; \ud83c\udfaf One edit, everywhere \u2014 Change a headline once, and it syncs across every device size and language version instantly. No repetitive manual work.<br \/>\n&#8211; \ud83d\udcf1 Built for app stores \u2014 Pre-set dimensions for App Store (all iPhone sizes, iPad) and Google Play (phone, tablet). No guessing, no cropping errors.<br \/>\n&#8211; \ud83c\udf0d Multi-language ready \u2014 Generate localized screenshots for different markets without duplicating your work.<br \/>\n&#8211; \ud83d\udce6 Bulk HD export \u2014 Export all screenshots as PNG\/JPG up to 4K, packaged in one ZIP file. Ready to upload to App Store Connect or Google Play Console.<br \/>\n&#8211; \ud83c\udfa8 Templates that convert \u2014 Hand-crafted templates designed for conversion, not just aesthetics. Updated regularly to match store trends.<\/p>\n<p>Who is OneShots for?<br \/>\n&#8211; Indie developers shipping their first app<br \/>\n&#8211; Teams rolling out frequent updates<br \/>\n&#8211; Marketers running A\/B tests on store creatives<br \/>\n&#8211; Anyone who wants professional screenshots without hiring a designer<\/p>\n<p>Stop wrestling with design tools. Start shipping.<br \/>\n\ud83d\udc49 Try OneShots free today \u2014 <a href=\"https:\/\/oneshots.cc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/oneshots.cc<\/a><\/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\/@samzhang2046\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samzhang2046<\/a>&nbsp;This is a real pain point for indie devs, especially the \u201cchange one line and redo everything\u201d loop \ud83d\ude05 The 10-second workflow + multi-size + localization in one export is the kind of automation that actually saves hours per release. Curious how flexible the templates are for more \u201cbrand-heavy\u201d apps that don\u2019t want a standard store look.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@samzhang2046\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samzhang2046<\/a>&nbsp;This is a real pain point for indie devs, especially the \u201cchange one line and redo everything\u201d loop<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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>I built OneShots because creating app store screenshots always felt much harder than it should be.<\/p>\n<p>For every launch or update, I had to open a design tool, adjust layouts for different devices, rewrite copy for multiple markets, export everything, check the dimensions, and then do it all again when one small line changed.<\/p>\n<p>OneShots turns that workflow into something much simpler: upload your screenshots, choose a template, edit your copy and branding, then export store-ready assets in bulk.<\/p>\n<p>A few things I focused on:<\/p>\n<ul>\n<li>\n<p>Fast screenshot generation without starting from a blank canvas<\/p>\n<\/li>\n<li>\n<p>Templates made specifically for App Store and Google Play listings<\/p>\n<\/li>\n<li>\n<p>One-place editing for copy, branding, and visual style<\/p>\n<\/li>\n<li>\n<p>Multi-device exports without manually resizing every screen<\/p>\n<\/li>\n<li>\n<p>High-quality PNG\/JPG exports packed and ready to upload<\/p>\n<\/li>\n<\/ul>\n<p>The goal is simple: help indie developers, small teams, and app marketers create polished store screenshots without spending hours in design tools.<\/p>\n<p>Would love to hear your feedback and ideas for what we should improve next.<\/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\/@callmeye\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@callmeye<\/a>&nbsp;I really hope to hear everyone&#8217;s feedback and suggestions so that we can make improvements in the future.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One of the small but painful parts of shipping apps is how much time gets lost on screenshots.<br \/>It sounds simple at first, but once you need different devices, multiple screen sizes, localized copy, consistent branding, and clean exports, it quickly becomes a full design task.<br \/>That\u2019s the problem OneShots is trying to remove.<br \/>Instead of manually building every screenshot set, you can start from conversion-focused templates, customize the content, and export everything in the right formats for app stores.<br \/>What I like most about this direction is that it is not trying to replace designers. It is helping founders and teams move faster when they just need professional, store-ready screenshots without repeating the same work again and again.<br \/>Excited to keep improving the templates, export flow, and localization support based on feedback from the Product Hunt community<\/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\/@tomliang123\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomliang123<\/a>&nbsp;I&#8217;m glad to create the best tool product experience together<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8216;change one headline and it syncs everywhere&#8217; bit is what actually kills the Figma-resize loop for me \u2014 more than the templates, that&#8217;s the real day-one win. When I come back weeks later for a v2 update, does OneShots keep my branding and template as a reusable project, or am I re-uploading and re-styling from scratch each launch? And for the multi-language export, does it pull from my own translation file, or do I type each locale&#8217;s copy in by hand?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@leo404\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@leo404<\/a>&nbsp;You can save templates of your own brand&#8217;s unique features, and when your product needs to be updated and released in the next version, you can take them directly without having to start designing again every time;<\/p>\n<p>In addition, multilingual export automatically captures translations based on the text you enter, without the need to manually enter text in multiple regional languages;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does it actually pull the screenshots from the App Store \/ Play Store connect directly, or do I need to upload them by hand every time I update a build?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fatmanurhuer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fatmanurhuer<\/a>&nbsp;You need to upload screenshots of your app to quickly generate app images that comply with the standards of the App Store and Play Store with just one click<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Uploaded a handful of iOS screenshots and had localized Play Store images ready before my coffee cooled down. The bulk export is genuinely the part that saved me tonight.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hasanbump\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hasanbump<\/a>&nbsp;Yes, using onesshots can save a lot of time, and the effect of generating app screenshots is really good. Let me give you more feedback<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4LD7QQE4OY4IJN\" class=\"app-title\">Subhive<\/a><\/p>\n<div class=\"one-liner\">Every subscription. One hive.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">20<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Subhive\u662f\u4e00\u6b3e\u8ba2\u9605\u7ba1\u7406\u5de5\u5177\uff0c\u901a\u8fc7\u7edf\u4e00\u4eea\u8868\u76d8\u81ea\u52a8\u6216\u624b\u52a8\u8ffd\u8e2a\u7528\u6237\u6240\u6709\u8d27\u5e01\u7c7b\u578b\u7684\u8ba2\u9605\uff0c\u89e3\u51b3\u7528\u6237\u56e0\u8ba2\u9605\u6742\u4e71\u3001\u8d27\u5e01\u4e0d\u7edf\u4e00\u800c\u5bfc\u81f4\u7684\u8d85\u652f\u548c\u9057\u5fd8\u7eed\u8d39\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\/93d45332-c76c-4e9e-8676-683a0b7218ca.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/71c15d20-ba7d-48d3-9af8-257aa51b8d96.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/db7d7e3d-f53f-4c68-a815-44be7c3b71cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5c8f2a14-0af4-402c-a27a-bad573c4b3f3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/58d220cf-7219-4817-8670-3fde35a7ee92.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c8b6fbf7-3445-4381-a75a-64b890961c88.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2121d54c-00d5-491a-a0d4-337066f4a600.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\">Payments<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Budgeting<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8ba2\u9605\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">\u591a\u5e01\u79cd\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u8d39\u7528\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u4eea\u8868\u76d8<\/span><br \/>\n            <span class=\"tag\">Gmail\u81ea\u52a8\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u7eed\u8d39\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u7406\u8d22<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u591a\u5e01\u79cd\u81ea\u52a8\u6362\u7b97\u548c\u5feb\u901f\u53d1\u73b0\u9057\u5fd8\u8ba2\u9605\u7684\u529f\u80fd\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\u662f\u5426\u652f\u6301\u94f6\u884c\/\u5361\u81ea\u52a8\u540c\u6b65\uff08\u76ee\u524d\u4ec5\u652f\u6301Gmail\u626b\u63cf\u548c\u624b\u52a8\u6dfb\u52a0\uff09\uff0c\u4ee5\u53ca\u79fb\u52a8\u7aefApp\u548c\u63a8\u9001\u901a\u77e5\u5df2\u5728\u89c4\u5212\u4e2d\u3002\u5f00\u53d1\u8005\u56de\u5e94\u79ef\u6781\uff0c\u5f3a\u8c03\u5f53\u524d\u4e13\u6ce8\u7f51\u9875\u7aef\u4f18\u5316\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Subhive\u5207\u5165\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u666e\u904d\u5b58\u5728\u7684\u201c\u5fae\u75db\u201d\u573a\u666f\u2014\u2014\u4e2a\u4eba\u8ba2\u9605\u788e\u7247\u5316\u5bfc\u81f4\u7684\u9690\u6027\u652f\u51fa\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u58c1\u5792\uff08\u94f6\u884c\u81ea\u52a8\u540c\u6b65\u5c1a\u5728\u8def\u7ebf\u56fe\uff09\uff0c\u800c\u5728\u4e8e\u7528\u6781\u4f4e\u7684\u64cd\u4f5c\u6210\u672c\uff08Gmail\u626b\u63cf+\u624b\u52a8\u5ba1\u6279\uff09\u5feb\u901f\u63ed\u5f00\u4e86\u7528\u6237\u201c\u4e0d\u77e5\u9053\u81ea\u5df1\u6bcf\u6708\u5230\u5e95\u82b1\u591a\u5c11\u94b1\u201d\u7684\u8ba4\u77e5\u76f2\u533a\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u9996\u6b21\u4f7f\u7528\u5c31\u53d6\u6d88\u4e09\u4e2a\u9057\u5fd8\u8ba2\u9605\u7684\u6848\u4f8b\uff0c\u5b8c\u7f8e\u9a8c\u8bc1\u4e86\u4ea7\u54c1\u201c\u6240\u89c1\u5373\u6240\u5f97\u201d\u7684\u6b63\u5411\u6fc0\u52b1\u95ed\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u5f53\u524d\u7248\u672c\u529f\u80fd\u8fc7\u4e8e\u57fa\u7840\uff1a\u7f3a\u4e4f\u94f6\u884c\u76f4\u8fde\u610f\u5473\u7740\u6570\u636e\u6e90\u4f9d\u8d56\u7528\u6237\u4e3b\u52a8\u5f55\u5165\u6216\u90ae\u4ef6\u626b\u63cf\uff0c\u4f53\u91cf\u5927\u4e86\u540e\u7ef4\u62a4\u6210\u672c\u4f1a\u9661\u589e\uff1b\u4ec5\u51ed\u90ae\u4ef6\u89e3\u6790\u65e0\u6cd5\u8986\u76d6\u6240\u6709\u652f\u4ed8\u6e20\u9053\uff08\u5982App Store\u5185\u8d2d\u3001\u5fae\u4fe1\u652f\u4ed8\uff09\uff0c\u6570\u636e\u5b8c\u6574\u6027\u5b58\u7591\u3002\u6b64\u5916\uff0c\u4ea7\u54c1\u5f62\u6001\u4e3a\u7f51\u9875\u7aef\uff0c\u867d\u79f0\u79fb\u52a8\u7aef\u9002\u914d\uff0c\u4f46\u201c\u7eed\u8d39\u63d0\u9192\u201d\u4ec5\u9760\u90ae\u4ef6\u5728\u5f53\u4e0b\u5df2\u662f\u6548\u7387\u8f83\u4f4e\u7684\u901a\u77e5\u65b9\u5f0f\uff0c\u5bf9\u51b2\u52a8\u578b\u7528\u6237\u7684\u5373\u65f6\u9884\u8b66\u80fd\u529b\u4e0d\u8db3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u957f\u8fdc\u6765\u770b\uff0cSubhive\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u662f\u201c\u4e00\u4e2a\u4eea\u8868\u76d8\u201d\uff0c\u800c\u662f\u80fd\u5426\u4ece\u201c\u88ab\u52a8\u8bb0\u5f55\u201d\u8fdb\u5316\u4e3a\u201c\u4e3b\u52a8\u7ba1\u94b1\u201d\u3002\u5efa\u8bae\u5f00\u53d1\u8005\u4f18\u5148\u6295\u5165\uff1a1\uff09\u4e0ePlaid\/Yodlee\u7b49\u805a\u5408\u5e73\u53f0\u96c6\u6210\u6253\u901a\u94f6\u884c\u6570\u636e\uff1b2\uff09\u5f15\u5165\u8ba2\u9605\u8bc4\u5206\u2014\u2014\u5982\u201c\u6d6a\u8d39\u6307\u6570\u201d\u6309\u4f7f\u7528\u9891\u7387\/\u8d39\u7528\u6bd4\u6807\u8bb0\u5197\u4f59\u8ba2\u9605\uff1b3\uff09\u5c06\u4e2a\u4eba\u8ba2\u9605\u7ba1\u7406\u6269\u5c55\u4e3a\u5bb6\u5ead\/\u56e2\u961f\u5171\u4eab\u6a21\u5f0f\u3002\u5426\u5219\uff0c\u5176\u5f88\u5feb\u4f1a\u88ab\u94f6\u884c\u5361\u81ea\u5e26\u7684\u8bb0\u8d26\u529f\u80fd\u3001\u6216Truely\u8fd9\u7c7b\u7ade\u54c1\u6240\u78be\u538b\u3002\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u8d77\u6b65\u5e72\u51c0\u6f02\u4eae\uff0c\u4f46\u8981\u4ece\u201c\u624b\u7535\u7b52\u201d\u505a\u6210\u201c\u63a2\u7167\u706f\u201d\uff0c\u8def\u8fd8\u5f88\u957f\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\">Subhive<\/span>\n                <\/div>\n<div class=\"comment-content\">Track every subscription you pay for, in any currency, all in one clean dashboard. Know your true monthly spend, and never get caught off guard by a renewal.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That&#8217;s a solid tool which will definitely help save a lot in the long run. Are you also planning a mobile app with push notifications for the alerts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ajayesivan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajayesivan<\/a>&nbsp;Thank you! \ud83d\ude4c Yes, Android and iOS apps are on the roadmap, with push notifications for renewal alerts. I&#8217;m starting web-first so I can test and refine the experience thoroughly with real users, then bring the polished version to mobile. In the meantime, the web app is fully mobile-responsive and email reminders cover the alerts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a tracker that handles the random currencies I pay for without making me convert everything manually. The monthly true spend view is genuinely useful and refreshingly uncluttered.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@serpil896502\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serpil896502<\/a>&nbsp;Thank you! Multi-currency without manual conversion was one of the first problems I wanted solved, my own subscriptions are a messy mix of USD and INR, so it&#8217;s great to hear it just works for you too \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally cancelled three subscriptions i forgot about after seeing them in the dashboard. Setup took about two minutes and the currency conversion just works.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@halime7ekt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@halime7ekt<\/a>&nbsp;This is exactly why I built Subhive, thank you for sharing! \ud83d\ude4c Three forgotten subscriptions found in your first session is the best validation I could ask for. Glad the setup and currency conversion felt smooth too. If anything feels missing as you keep using it, I&#8217;m all ears.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>does it auto-detect subscriptions from my bank or do i have to add them manually?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@glhanbayrbegnv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@glhanbayrbegnv<\/a>&nbsp;Not yet, currently it doesn&#8217;t link to your bank or cards. You can add subscriptions manually, or connect Gmail and it&#8217;ll scan your inbox to auto-detect subscriptions and receipts, you just approve them before they&#8217;re added. Bank and card linking is on our roadmap though, so that&#8217;s coming soon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does it pull subscriptions automatically from your bank or card accounts, or do you have to enter each one manually?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nihalydztebp9z\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nihalydztebp9z<\/a>&nbsp;Not yet, currently it doesn&#8217;t link to your bank or cards. You can add subscriptions manually, or connect Gmail and it&#8217;ll scan your inbox to auto-detect subscriptions and receipts, you just approve them before they&#8217;re added. Bank and card linking is on our roadmap though, so that&#8217;s coming soon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">A few months ago, I was scrolling through my credit card statement and saw a charge I didn&#8217;t recognize.<\/p>\n<p>Then another one. A subscription I&#8217;d signed up for, forgotten about, and definitely wasn&#8217;t using anymore.<\/p>\n<p>That got me thinking. I genuinely had no idea how many subscriptions I was paying for, or which ones I actually still used. Between streaming apps, AI tools, and free trials that quietly turned into paid plans, I&#8217;d lost track completely.<\/p>\n<p>I mentioned it to a few friends, half expecting them to tell me I was just being careless. Instead, every single one said the same thing: &#8220;Yeah, me too.&#8221;<\/p>\n<p>So I built Subhive.<\/p>\n<p>It&#8217;s a simple web app that brings every subscription you pay for into one place. It sorts them by category, shows your true monthly spend across different currencies, and reminds you before anything renews. No more surprise charges. No more guessing.<\/p>\n<p>It&#8217;s live and very early, and I&#8217;d love for you to try it:<br \/>\nsubhive.in<\/p>\n<p>One small heads up: Google is still verifying the sign-in, so you might see a warning screen when you log in with Google. It&#8217;s completely safe to continue. The verification is in progress and should clear soon.<\/p>\n<p>If you do check it out, I&#8217;d really value your honest feedback. What&#8217;s missing, what&#8217;s confusing, what you&#8217;d want next.<\/p>\n<p>Every subscription. One hive.<\/p>\n<p>#buildinpublic #SaaS #webdevelopment #subscriptions<\/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<\/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\/WLBEDPZWPX2NM6\" class=\"app-title\">tasktrack<\/a><\/p>\n<div class=\"one-liner\">just type what you did. look back anytime.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">20<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>tasktrack \u662f\u4e00\u6b3e\u6781\u7b80\u5de5\u4f5c\u65e5\u5fd7\u5de5\u5177\uff0c\u4e13\u4e3a\u90a3\u4e9b\u201c\u60f3\u4e0d\u8d77\u4e0a\u5468\u4e8c\u5e72\u4e86\u4ec0\u4e48\u201d\u7684\u4eba\u8bbe\u8ba1\uff0c\u901a\u8fc7\u4e00\u4e2a\u6587\u672c\u6846\u5feb\u901f\u8bb0\u5f55\u5f53\u5929\u5de5\u4f5c\uff0c\u8f7b\u677e\u5e94\u5bf9\u5468\u62a5\u3001\u7ee9\u6548\u8bc4\u4f30\u7b49\u590d\u76d8\u573a\u666f\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\/ac074ab0-72ef-4d3d-9c84-b3bd9f6ccbbb.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/P9-GYE7OBAg\"><source src=\"https:\/\/youtu.be\/P9-GYE7OBAg\" 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\/6901d336-8699-4143-b878-2b3ef1d58131.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8010402a-fb76-412f-a0cb-828b0c9d72c9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/41a14170-121e-47ff-ae78-279c5f035d39.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/155e9dda-0b23-4e24-8325-34777ee577bc.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>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5de5\u4f5c\u65e5\u5fd7<\/span><br \/>\n            <span class=\"tag\">\u65f6\u95f4\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u6781\u7b80\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u590d\u76d8\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u6587\u672c\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u65e0\u9879\u76ee\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">Product Hunt<\/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\u89c9\u5f97\u5b83\u8ba9\u8bb0\u5f55\u5de5\u4f5c\u4e0d\u518d\u7e41\u7410\uff0c\u751a\u81f3\u201c\u8fde\u7eed\u7528\u4e86\u4e24\u5929\u65e0\u611f\u64cd\u4f5c\u201d\u3002\u6709\u7528\u6237\u5efa\u8bae\u5b83\u80fd\u66ff\u6362\u7b14\u8bb0\u5e94\u7528\u548c\u79c1\u4fe1\uff0c\u4f46\u5bf9\u662f\u5426\u7531AI\u751f\u6210\u8bc4\u8bba\u5b58\u7591\u3002\u76ee\u524d\u7f3a\u4e4f\u529f\u80fd\u5b8c\u5584\u5ea6\uff0c\u90e8\u5206\u7528\u6237\u5df2\u5728\u7528Notion\u7b49\u5de5\u5177\u66ff\u4ee3\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                tasktrack \u7684\u201c\u7b28\u201d\u6070\u6070\u662f\u5b83\u7684\u806a\u660e\u4e4b\u5904\u2014\u2014\u5b83\u7cbe\u51c6\u5207\u4e2d\u4e86\u804c\u573a\u4eba\u201c\u77e5\u9053\u8be5\u8bb0\u4f46\u4e0d\u60f3\u8d39\u65f6\u8bb0\u201d\u7684\u60f0\u6027\u75db\u70b9\u3002\u5728 Notion\u3001Trello \u7b49\u5de5\u5177\u7528\u590d\u6742\u529f\u80fd\u529d\u9000\u7528\u6237\u7684\u4eca\u5929\uff0c\u4e00\u4e2a\u7eaf\u6587\u672c\u6846\u7684\u56de\u5f52\u53cd\u800c\u6210\u4e86\u964d\u7ef4\u6253\u51fb\u300220\u7968\u5e76\u4e0d\u4eae\u773c\uff0c\u4f46\u8bc4\u8bba\u4e2d\u201c\u8fde\u7eed\u4e24\u5929\u65e0\u611f\u4f7f\u7528\u201d\u624d\u662f\u771f\u6b63\u4ef7\u503c\u4fe1\u53f7\uff1a\u5b83\u8bc1\u660e\u4e86\u8bb0\u5f55\u4e0d\u5fc5\u987b\u662f\u4e00\u79cd\u4efb\u52a1\uff0c\u800c\u53ef\u4ee5\u6210\u4e3a\u4e00\u79cd\u5fae\u4e60\u60ef\u3002\u7136\u800c\uff0c\u5176\u81f4\u547d\u77ed\u677f\u5728\u4e8e\u201c\u7eaf\u7cb9\u201d\u7684\u4ee3\u4ef7\u2014\u2014\u65e0\u6807\u7b7e\u3001\u65e0\u641c\u7d22\u3001\u65e0\u7edf\u8ba1\uff0c\u610f\u5473\u7740\u5b83\u53ea\u80fd\u5145\u5f53\u6700\u539f\u59cb\u7684\u6570\u636e\u641c\u96c6\u5668\uff0c\u800c\u65e0\u6cd5\u771f\u6b63\u5e2e\u52a9\u7528\u6237\u5206\u6790\u201c\u4f4e\u6548\u5728\u54ea\u201d\u201c\u65f6\u95f4\u6d41\u5411\u4f55\u65b9\u201d\u3002\u66f4\u7cdf\u7684\u662f\uff0c\u8fd9\u79cd\u7b80\u5355\u6781\u6613\u88ab\u590d\u5236\uff1a\u4efb\u4f55\u80fd\u6253\u5b57\u7684App\uff08\u5907\u5fd8\u5f55\u3001Slack\u3001\u751a\u81f3\u8bb0\u4e8b\u672c\uff09\u90fd\u5df2\u5177\u5907\u6838\u5fc3\u529f\u80fd\u3002\u957f\u671f\u6765\u770b\uff0ctasktrack \u8981\u4e48\u6ca6\u4e3a\u201c\u73a9\u5177\u201d\uff0c\u8981\u4e48\u5fc5\u987b\u627e\u5230\u8f7b\u91cf\u4e14\u514b\u5236\u7684\u589e\u503c\u70b9\uff0c\u4f8b\u5982\u81ea\u52a8\u751f\u6210\u5468\u62a5\u6458\u8981\u3002\u5426\u5219\uff0c\u5b83\u6ce8\u5b9a\u53ea\u80fd\u6210\u4e3a\u7528\u6237\u5411\u201c\u771f\u6b63\u597d\u7528\u201d\u7684\u5de5\u5177\u8fc1\u79fb\u7684\u8df3\u677f\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">tasktrack<\/span>\n                <\/div>\n<div class=\"comment-content\">A minimal work log for people who forget what they did last Tuesday. No projects, no boards, no dropdowns \u2014 just a text box. Type what you did, hit enter, done. Scroll back whenever you need to remember, write a status update, or fill out that performance review you&#8217;ve been avoiding.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>nice work. i wanted to build something like this. currently using notion database to track my work. i&#8217;ll give it app a try. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built TaskTrack because I kept forgetting what I actually did during the week. Standups, status updates, self-reviews. I&#8217;d sit there blanking, scrolling through Slack trying to reconstruct my own week.<\/p>\n<p>So I made the dumbest possible tool to fix it: a box where you type what you did. That&#8217;s it. No tags, no priorities, no boards to set up before you can use it. You open it, you type a line, you&#8217;re done in 10 seconds.<\/p>\n<p>Later, you can just scroll back and see everything you logged &#8211; turns out that&#8217;s enough to write a weekly update, remember a client name, or just prove to yourself you did in fact do things.<\/p>\n<p>Would love to hear how you&#8217;d use something like this, and what&#8217;s missing for it to actually replace your notes app \/ random Slack messages to yourself.<\/p>\n<p>Thanks for checking it out \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that doesnt make logging work feel like a chore. love that its just a text box, ended up using it for two days straight without thinking about 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\/@busehykfva3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busehykfva3<\/a>&nbsp;AI comment?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/R2VD5GC4X3ZPM4\" class=\"app-title\">Time Left<\/a><\/p>\n<div class=\"one-liner\">Track your life in weeks and meaningful moments<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">20<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Time Left \u5c06\u4f60\u4f59\u4e0b\u7684\u751f\u547d\u4ee5\u5468\u4e3a\u5355\u4f4d\u53ef\u89c6\u5316\uff0c\u5e2e\u4f60\u4ece\u62bd\u8c61\u7684\u65f6\u95f4\u611f\u4e2d\u8df3\u8131\u51fa\u6765\uff0c\u628a\u6ce8\u610f\u529b\u805a\u7126\u5728\u771f\u6b63\u91cd\u8981\u7684\u4eba\u548c\u4e8b\u4e0a\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\/5fe36614-c23a-4db7-95b4-2a4f2700c238.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/282eea2d-206b-450b-a042-a061c010f83f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9463d923-3b3c-42f0-822f-534be859e90b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/22a9bb64-13f1-431d-99c4-568bb3c6bf23.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d87e786e-2b2a-4fe6-9248-9835ee990963.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f59e2c41-89da-414e-b343-2ad58d23ec48.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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Lifestyle<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u751f\u547d\u65e5\u5386<\/span><br \/>\n            <span class=\"tag\">\u65f6\u95f4\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">iOS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u751f\u6d3b\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5468\u89c6\u56fe<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5c0f\u7ec4\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u9501\u5c4f\u5c0f\u7ec4\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5b58\u50a8<\/span><br \/>\n            <span class=\"tag\">\u5012\u8ba1\u65f6<\/span><br \/>\n            <span class=\"tag\">\u4eba\u751f\u89c4\u5212<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5bf9\u672c\u5730\u5b58\u50a8\u53ca\u9690\u79c1\u4fdd\u62a4\u8868\u793a\u8ba4\u53ef\uff0c\u4f46\u5173\u5fc3\u6362\u673a\u6570\u636e\u8fc1\u79fb\u95ee\u9898\uff08\u652f\u6301\u624b\u52a8\u5bfc\u5165\u5bfc\u51fa\uff09\u3002\u90e8\u5206\u7528\u6237\u671f\u5f85\u5206\u4eab\u529f\u80fd\uff0c\u5e76\u8be2\u95ee\u8fc7\u53bb\u4e8b\u4ef6\u6dfb\u52a0\u540e\u662f\u5426\u5f71\u54cd\u5468\u7f51\u683c\u5e03\u5c40\uff08\u56de\u590d\u79f0\u4e0d\u4f1a\u79fb\u4f4d\uff09\u3002\u6574\u4f53\u53cd\u9988\u8ba4\u4e3a\u6982\u5ff5\u867d\u7565\u663e\u201c\u4e27\u201d\u4f46\u80fd\u4fc3\u4f7f\u4eba\u805a\u7126\u5f53\u4e0b\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                Time Left \u672c\u8d28\u4e0a\u662f\u4e00\u6b3e\u201c\u53cd\u6548\u7387\u201d\u7684\u6548\u7387\u5de5\u5177\u3002\u5728\u5927\u591a\u6570\u65e5\u5386App\u8bd5\u56fe\u5e2e\u4f60\u585e\u8fdb\u66f4\u591a\u4e8b\u60c5\u65f6\uff0c\u5b83\u53cd\u5176\u9053\u800c\u884c\u4e4b\u2014\u2014\u544a\u8bc9\u4f60\u6ca1\u5269\u591a\u5c11\u65f6\u95f4\u4e86\u3002\u8fd9\u79cd\u57fa\u4e8e\u201c\u751f\u547d\u5269\u4f59\u5468\u6570\u201d\u7684\u89c6\u89c9\u51b2\u51fb\uff0c\u6bd4\u4efb\u4f55\u5f85\u529e\u6e05\u5355\u90fd\u80fd\u66f4\u76f4\u63a5\u5730\u89e6\u53d1\u884c\u52a8\u4f18\u5148\u7ea7\u601d\u8003\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u8bbe\u8ba1\u770b\uff0c\u56e2\u961f\u505a\u4e86\u51e0\u4e2a\u806a\u660e\u7684\u53d6\u820d\uff1a\u4e00\u662f\u575a\u6301\u7eaf\u672c\u5730\u5b58\u50a8\uff0c\u867d\u7136\u727a\u7272\u4e86\u591a\u8bbe\u5907\u540c\u6b65\u4fbf\u5229\uff0c\u5374\u7cbe\u51c6\u6253\u4e2d\u4e86\u5f53\u4ee3\u7528\u6237\u5bf9\u9690\u79c1\u7684\u6df1\u5c42\u4e0d\u5b89\uff0c\u4e14\u8bc4\u8bba\u4e2d\u7528\u6237\u5bf9\u6b64\u7684\u6b63\u5411\u53cd\u9988\u4e5f\u5370\u8bc1\u4e86\u8fd9\u4e00\u70b9\uff1b\u4e8c\u662f\u5c0f\u7ec4\u4ef6\u4f18\u5148\u7b56\u7565\uff0c\u628a\u6838\u5fc3\u4ef7\u503c\u76f4\u63a5\u653e\u5230\u9501\u5c4f\u548c\u684c\u9762\uff0c\u8ba9\u201c\u751f\u547d\u6d41\u901d\u201d\u6bcf\u770b\u4e00\u773c\u5c31\u5f3a\u5316\u4e00\u6b21\uff0c\u5f62\u6210\u9ad8\u9891\u89e6\u8fbe\uff1b\u4e09\u662f\u5c06\u201c\u8fc7\u53bb\u65f6\u523b\u201d\u76f4\u63a5\u5d4c\u5165\u73b0\u6709\u5468\u7f51\u683c\u800c\u975e\u91cd\u6392\u65f6\u95f4\u7ebf\uff0c\u8fd9\u79cd\u9759\u6001\u63d2\u5165\u907f\u514d\u4e86\u6570\u636e\u91cd\u6784\u5e26\u6765\u7684\u8ba4\u77e5\u6df7\u4e71\uff0c\u662f\u4f18\u79c0\u7684\u4ea4\u4e92\u51cf\u6cd5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u5f88\u660e\u663e\uff1a20\u7968\u7684\u51b7\u542f\u52a8\u8868\u660e\u5b83\u7684\u201c\u5e95\u5c42\u903b\u8f91\u201d\u4f9d\u7136\u8fc7\u4e8e\u5c0f\u4f17\u3002\u4f5c\u4e3a\u201c\u4eba\u751f\u56fe\u4e66\u9986\u201d\u7ea7\u522b\u7684\u5e94\u7528\uff0c\u76ee\u524d\u529f\u80fd\u6df1\u5ea6\u4e25\u91cd\u4e0d\u8db3\u2014\u2014\u4e0d\u80fd\u591a\u6bb5\u4eba\u751f\u5207\u7247\u5bf9\u6bd4\u3001\u6ca1\u6709\u4e8b\u4ef6\u5173\u8054\u7f51\u7edc\u3001\u7f3a\u5c11\u60c5\u7eea\u6216\u56de\u5fc6\u7ef4\u5ea6\u7684\u6807\u7b7e\u4f53\u7cfb\u3002\u4ea7\u54c1\u76ee\u524d\u66f4\u50cf\u662f\u4e00\u4e2a\u201c\u7f8e\u4e3d\u7684\u5fc3\u7406\u63d0\u793a\u5668\u201d\uff0c\u800c\u975e\u771f\u6b63\u7684\u751f\u547d\u7ba1\u7406\u5de5\u5177\u3002\u7528\u6237\u63d0\u5230\u7684\u201c\u5206\u4eab\u529f\u80fd\u201d\u5982\u679c\u53ea\u662f\u5355\u5411\u8f93\u51fa\u622a\u56fe\uff0c\u800c\u4e0d\u652f\u6301\u534f\u4f5c\u6216\u5171\u540c\u65f6\u95f4\u7ebf\uff0c\u4ef7\u503c\u6709\u9650\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672a\u6765\u771f\u6b63\u7684\u589e\u503c\u7a7a\u95f4\u5728\u4e8e\uff1a\u5f53\u7528\u6237\u79ef\u7d2f\u4e86\u5927\u91cf\u201c\u6709\u610f\u4e49\u65f6\u523b\u201d\u540e\uff0c\u80fd\u5426\u63d0\u4f9b\u57fa\u4e8e\u65f6\u95f4\u7ebf\u7684\u6a21\u5f0f\u8bc6\u522b\u3001\u5468\u671f\u6027\u590d\u76d8\u751a\u81f3\u60c5\u611f\u8d8b\u52bf\u5206\u6790\u3002\u5426\u5219\uff0c\u5b83\u548c\u4e00\u4e2a\u6f02\u4eae\u7684\u5012\u8ba1\u65f6\u5668\u5dee\u522b\u4e0d\u5927\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\">Time Left<\/span>\n                <\/div>\n<div class=\"comment-content\">Time Left is an iOS life calendar that turns your remaining weeks into a simple visual timeline. Add past and future moments, personalize Home Screen and Lock Screen widgets, and keep your personal data stored locally.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle data if I switch to a new phone, since everything is stored locally?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bedirhan19697\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bedirhan19697<\/a>&nbsp;You can export\/import them manually \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>does the local storage mean everything stays on device or are widgets pulling data from a synced backup somewhere?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@halilsl6f\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@halilsl6f<\/a>&nbsp;Nope, everything stays on your device. For backups, you can export the local data yourself.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Kind of morbid but still a good idea to focus on what matters!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mjohnson42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mjohnson42<\/a>&nbsp;Thx for your feedback! \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the widget handle the timeline when you add a moment in the past, does it shift the whole week grid or just slot it in without moving anything else around?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@elifewtk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elifewtk<\/a>&nbsp;In the Life in Weeks grid, it slots the past moment into its existing week cell. It does not shift the week grid or move anything else around.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt,<\/p>\n<p>I\u2019m Julien, the maker of Time Left.<\/p>\n<p>I built Time Left as a personal reminder that time is concrete.<br \/>\nNot in a dark or productivity-hack way, but in a simple visual way: your life shown as weeks, with the moments that matter placed directly on that timeline.<\/p>\n<p>The app started from the \u201clife in weeks\u201d idea, then grew into a native iOS app with:<br \/>\n\u2022 A Life in Weeks calendar<br \/>\n\u2022 Past and future moments<br \/>\n\u2022 Home Screen and Lock Screen widgets<br \/>\n\u2022 Countdown widgets for meaningful dates<br \/>\n\u2022 Year progress and vintage-style widgets<br \/>\n\u2022 A solar gradient background system<br \/>\n\u2022 Local storage for personal data like your birthdate<\/p>\n<p>I\u2019d love feedback on two things:<br \/>\n1. Does the positioning feel clear?<br \/>\n2. Which widget or view would you expect to use most often?<\/p>\n<p>Thanks for taking a look.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@julienlacr0ix\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julienlacr0ix<\/a>&nbsp;A beautifully simple way to visualize time less about productivity, more about perspective and what is the current reminderr<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 widgets are genuinely the best part \u2014 seeing the weeks laid out on my Lock Screen makes time feel less abstract somehow. Appreciate that everything stays on device too, no account fuss.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the timeline update if you change your birthdate or want to add multiple life segments down the road, and is that adjustment something you can do from the widget itself or only inside the main app?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the local-only data approach for something this personal feels like the right call, especially paired with widgets that actually fit the home screen aesthetic instead of fighting 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\/@tahadvwa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tahadvwa<\/a>&nbsp;A &#8220;share&#8221; feature could be really useful though, since it&#8217;s designed to record the kind of events and memories you&#8217;re sometimes going to want others to know about.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/O5FEBUK6A56XLW\" class=\"app-title\">Cited<\/a><\/p>\n<div class=\"one-liner\">Investor answers for NIFTY 50, every claim cited<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">19<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Cited\u662f\u4e00\u4e2a\u8fde\u63a5\u5230Claude\u7684\u81ea\u5b9a\u4e49\u8fde\u63a5\u5668\uff0c\u4e13\u4e3a\u5370\u5ea6NIFTY 50\u6295\u8d44\u8005\u8bbe\u8ba1\uff0c\u7528\u6237\u7528\u81ea\u7136\u8bed\u8a00\u63d0\u95ee\uff0c\u5373\u53ef\u4ece\u6e90\u6587\u4ef6\u4e2d\u76f4\u63a5\u63d0\u53d6\u7cbe\u786e\u6570\u636e\u548c\u5f15\u7528\uff0c\u5f7b\u5e95\u7ec8\u7ed3\u4e86\u5728\u6570\u767e\u9875PDF\u4e2d\u7ffb\u627e\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\/f72be4c0-ecb9-4af2-a85a-fbf20b71361a.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\/36c95446-f288-4909-8a0e-f52d6bdb8726.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\/c42e8d80-f310-4192-bcea-5ebe3cd9c4e8.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\/6a1bbd66-d9a4-46a7-bf21-8d9252c15ad8.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\">Fintech<\/span><br \/>\n            <span class=\"tag\">Investing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u91d1\u878d\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">NIFTY 50<\/span><br \/>\n            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u6587\u4ef6\u68c0\u7d22<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Claude\u8fde\u63a5\u5668<\/span><br \/>\n            <span class=\"tag\">\u8d22\u62a5\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u5f15\u7528\u6eaf\u6e90<\/span><br \/>\n            <span class=\"tag\">\u5370\u5ea6\u80a1\u5e02<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u79f0\u8d5e\u5176\u89e3\u51b3\u4e86\u201cPDF\u7ffb\u627e\u201d\u7684\u75db\u70b9\uff0c\u5c24\u5176\u662f\u4ece\u6e90\u6587\u4ef6\u800c\u975e\u6458\u8981\u4e2d\u76f4\u63a5\u5f15\u7528\u6570\u636e\uff0c\u8ba4\u4e3a\u8bbe\u7f6e\u4fbf\u6377\u3002\u6709\u7528\u6237\u5173\u5fc3\u6587\u4ef6\u66f4\u65b0\u65f6\u6548\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5176\u57fa\u4e8e\u5b98\u65b9\u53d1\u5e03\uff0c\u65e0\u5b9e\u65f6\u63a8\u9001\uff0c\u66f4\u65b0\u5b58\u5728\u6ede\u540e\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                Cited\u7cbe\u51c6\u5207\u4e2d\u4e86\u5370\u5ea6\u80a1\u5e02\u7814\u7a76\u4e2d\u7684\u201c\u4fe1\u606f\u8c2c\u8bef\u201d\u4e0e\u201c\u68c0\u7d22\u6210\u672c\u201d\u53cc\u91cd\u75db\u70b9\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u5927\u6a21\u578b\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u201c\u7ed3\u6784\u5316\u53ef\u4fe1\u6570\u636e\u6e90+\u5f3a\u5236\u5f15\u7528\u6eaf\u6e90\u201d\u7684\u95ed\u73af\u2014\u2014\u8fd9\u5728\u91d1\u878d\u9886\u57df\u6bd4\u901a\u7528AI\u7684\u201c\u4e00\u672c\u6b63\u7ecf\u80e1\u8bf4\u516b\u9053\u201d\u8981\u5b9e\u7528\u5f97\u591a\u3002\u7528Claude Custom Connector\u7684\u65b9\u5f0f\u5207\u5165\uff0c\u5de7\u5999\u7ed5\u5f00\u4e86\u81ea\u5efaAPP\u3001\u83b7\u5ba2\u548c\u6a21\u578b\u6210\u672c\uff0c\u8ba9\u4ea7\u54c1\u77ac\u95f4\u8f7b\u91cf\u5316\u4e14\u66f4\u6613\u88ab\u4e13\u4e1a\u7528\u6237\u63a5\u53d7\u3002\u4f46\u9700\u6ce8\u610f\uff0c\u5b83\u7684\u5929\u82b1\u677f\u5f88\u5927\u7a0b\u5ea6\u53d6\u51b3\u4e8e\u6570\u636e\u6e90\u7684\u5168\u9762\u6027\u548c\u66f4\u65b0\u901f\u5ea6\u3002\u76ee\u524d\u4ec5\u8986\u76d6NIFTY 50\uff0c\u4e14\u66f4\u65b0\u4f9d\u8d56\u516c\u53f8\u5b98\u65b9\u53d1\u5e03\u8282\u594f\u800c\u975e\u5b9e\u65f6\u6570\u636e\u6d41\uff0c\u5bf9\u4e8e\u9700\u8981\u9ad8\u9891\u3001\u5b9e\u65f6\u57fa\u51c6\u5206\u6790\uff08\u5982\u65e5\u5185AI\u5b9a\u4ef7\uff09\u7684\u73a9\u5bb6\u6765\u8bf4\u4ef7\u503c\u6709\u9650\u3002\u6b64\u5916\uff0c\u80fd\u5426\u4fdd\u6301\u201c\u6bcf\u6b21\u56de\u7b54\u90fd\u9644\u4e0a\u5f15\u7528\u9875\u201d\u7684\u6267\u884c\u529b\uff0c\u800c\u975e\u5728\u540e\u671f\u4e3a\u6548\u7387\u727a\u7272\u4e8b\u5b9e\u6838\u67e5\uff0c\u5c06\u51b3\u5b9a\u5b83\u662f\u6709\u7528\u7684\u5de5\u5177\u8fd8\u662f\u53c8\u4e00\u4e2a\u82b1\u67b6\u5b50\u3002\u672c\u8d28\u4e0a\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u9762\u5411\u91d1\u878d\u7814\u7a76\u7684\u7ed3\u6784\u5316RAG\u5f15\u64ce\u201d\uff0c\u5982\u679c\u672a\u6765\u80fd\u6269\u5c55\u81f3\u8d22\u62a5\u7535\u8bdd\u4f1a\u5b9e\u65f6\u95ee\u7b54\u3001\u8de8\u516c\u53f8\u6570\u636e\u5bf9\u6bd4\u7b49\u573a\u666f\uff0c\u5e76\u5f00\u653eAPI\u4f9b\u91cf\u5316\u4ea4\u6613\u7cfb\u7edf\u8c03\u7528\uff0c\u624d\u53ef\u80fd\u771f\u6b63\u6210\u4e3a\u91d1\u878d\u4fe1\u606f\u57fa\u7840\u8bbe\u65bd\uff0c\u800c\u975e\u4e00\u4e2a\u806a\u660e\u7684\u201cPDF\uff08\u4fbf\u643a\u5f0f\u6587\u6863\u683c\u5f0f\uff09\u89e3\u8bfb\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\">Cited<\/span>\n                <\/div>\n<div class=\"comment-content\">Cited connects Claude to official Indian NIFTY 50 investor filings, earnings call replays and transcripts, KPI data books, investor presentations, and annual reports. Ask anything in plain English and Claude reads the actual document, then answers with the exact figure or quote; every claim cited back to its source. No more digging through PDFs or second-guessing numbers. Add it as a Custom Connector in seconds. Free, no account needed. Every answer you can trust and verify.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally a way to pull exact numbers from NIFTY 50 filings without opening ten PDFs, and the source citations back it up nicely.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adem4ihe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adem4ihe<\/a>&nbsp;Honestly \u201cwithout opening ten PDFs\u201d is better than the tagline we went with. Citations were the one thing we refused to ship without, every number has to trace back to the filing. Thanks for 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\">Hey hunters! \ud83d\udc4b<\/p>\n<p>If you follow Indian markets, you know the pain: the answer to your question is buried somewhere in a 200-page annual report or a rambling earnings call, and generic AI tools just make numbers up.<\/p>\n<p>We built Cited to fix that. It connects Claude directly to official NIFTY 50 filings \u2014 earnings call replays &amp; transcripts, KPI data books, investor presentations, and annual reports, so you can ask a plain-English question and get the exact figure or management quote back, with a citation to the source document. Every claim is traceable.<\/p>\n<p>It installs as a Custom Connector in Claude in about 30 seconds, it&#8217;s free, and no account is needed to try it.<\/p>\n<p>We&#8217;d love your feedback on what companies, documents, and question types you&#8217;d want next. Ask us anything! \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The custom connector setup is genuinely clever, makes financial research feel less like detective work. Love that it pulls directly from primary filings rather than scraping summaries.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sultanolbak6re\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sultanolbak6re<\/a>&nbsp;Thanks Sultan. Pulling from primary filings instead of scraped summaries was the whole reason we built it, so glad that landed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally someone solved the PDF digging problem for Indian stock research. Asked it about a recent NIFTY 50 earnings call and it pulled the exact margin quote with the source page in seconds.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aydngdxm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aydngdxm<\/a>&nbsp;Ha, PDF digging is exactly what we were sick of. Good to hear it found the margin quote with the source page attached.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 recent are the filings it pulls from, and does it update in near real time when a new earnings call transcript drops, or is there a lag?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dnebhqs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dnebhqs<\/a>&nbsp;Good question. It pulls from official filings as companies report them, so results, investor decks, transcripts, and annual reports are all queryable once they\u2019re published. No live feed, so the only lag is however long after a company files. Ask me anything more specific if useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The Custom Connector setup being that quick is genuinely impressive, especially for something pulling from dense filings.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@didemgrnl\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@didemgrnl<\/a>&nbsp;Appreciate it, Didem. Getting setup to feel that quick on filings this dense took a while, so that\u2019s good to hear.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/P5Z56ONUWUMYN7\" class=\"app-title\">GenMB<\/a><\/p>\n<div class=\"one-liner\">AI app builder with a real backend and automations<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">19<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>GenMB \u5c06\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u8f6c\u5316\u4e3a\u5305\u542b\u771f\u5b9e\u540e\u7aef\u3001\u6570\u636e\u5e93\u548c\u7528\u6237\u8ba4\u8bc1\u7684\u5b8c\u6574Web\u5e94\u7528\uff0c\u5e76\u5185\u7f6e\u53ef\u89c6\u5316\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41\uff0c\u4e00\u7ad9\u5f0f\u89e3\u51b3AI\u751f\u6210\u5e94\u7528\u201c\u6709\u524d\u65e0\u540e\u201d\u3001\u65e0\u6cd5\u843d\u5730\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\/825874d5-3ac4-4643-a84d-c56e0285f827.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/rw7b60Wn8-U\"><source src=\"https:\/\/youtu.be\/rw7b60Wn8-U\" 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\/63f7072e-5456-4fa8-95c3-dcbd447ea68a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/64d1cd7e-57f1-4664-a37c-82a66cd8dc97.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/183f4ab6-aac7-43eb-818f-2047462e18a3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/49a3ac3b-7cdc-43c2-93b4-1fe245dbb68f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e46c0427-8653-4537-85de-8e2ba6d04d61.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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5e94\u7528\u6784\u5efa\u5668<\/span><br \/>\n            <span class=\"tag\">\u5168\u6808\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u540e\u7aef\u5373\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">PostgreSQL\u6570\u636e\u5e93<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">AI\u804a\u5929\u673a\u5668\u4eba<\/span><br \/>\n            <span class=\"tag\">GitHub\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801<\/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\u4e86AI\u751f\u6210\u5e94\u7528\u7f3a\u4e4f\u540e\u7aef\u4e0e\u6570\u636e\u5e93\u7684\u75db\u70b9\u3002\u6838\u5fc3\u95ee\u9898\u56f4\u7ed5AI\u5904\u7406\u590d\u6742\u4e1a\u52a1\u903b\u8f91\uff08\u5982\u591a\u6b65\u5206\u652f\u6d41\u7a0b\uff09\u7684\u80fd\u529b\u4e0a\u9650\u3001\u4ee5\u53ca\u5e94\u7528\u590d\u6742\u6027\u8d85\u8fc7AI\u53ef\u63a7\u8303\u56f4\u540e\u9700\u624b\u52a8\u7f16\u7801\u7684\u8fb9\u754c\u3002\u521b\u59cb\u4eba\u5766\u8bda\u56de\u5e94\u4e86\u67b6\u6784\u9650\u5236\u4e0e\u4ee3\u7801\u5bfc\u51fa\u7684\u5fc5\u8981\u6027\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                GenMB\u5728AI\u5e94\u7528\u6784\u5efa\u7684\u7ea2\u6d77\u4e2d\u5207\u4e2d\u4e86\u4e00\u4e2a\u7cbe\u51c6\u7684\u75db\u70b9\uff1a\u5927\u591a\u6570\u201cvibe coding\u201d\u5de5\u5177\u80fd\u751f\u6210\u6f02\u4eae\u7684\u76ae\u56ca\uff0c\u5374\u5c06\u5f00\u53d1\u8005\u629b\u5728\u81c3\u80bf\u7684\u540e\u7aef\u6ce5\u6f6d\u91cc\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u4e00\u952e\u751f\u6210\u201d\u8fd9\u4e2a\u5671\u5934\uff0c\u800c\u5728\u4e8e\u6e05\u6670\u5730\u89e3\u6784\u4e86\u201c\u751f\u6210\u201d\u4e0e\u201c\u8fd0\u7ef4\u201d\u4e24\u4e2a\u5c42\u9762\u3002\u524d\u7aef\u751f\u6210\u662fAI\u7684\u8212\u9002\u533a\uff0c\u4f46\u771f\u5b9e\u7684\u4e1a\u52a1\u903b\u8f91\u3001\u6570\u636e\u5e93\u4e8b\u52a1\u3001\u5b9a\u65f6\u4efb\u52a1\u548c\u96c6\u6210\u624d\u662f\u5e94\u7528\u5b58\u6d3b\u7684\u547d\u8109\u3002GenMB\u901a\u8fc7\u5c06\u540e\u7aef\u57fa\u7840\u8bbe\u65bd\uff08Auth\u3001DB\u3001FaaS\uff09\u5e73\u53f0\u5316\uff0c\u800c\u975e\u8ba9AI\u53bb\u5e7b\u60f3\u4ee3\u7801\uff0c\u5b9e\u9645\u4e0a\u5835\u6b7b\u4e8695%\u7684\u201c\u534e\u800c\u4e0d\u5b9e\u201d\u7684\u751f\u6210\u8def\u5f84\u3002\u5176\u89c6\u89c9\u5de5\u4f5c\u6d41\u7f16\u6392\u5668\u548c\u5bf9Agent\u6a21\u5f0f\u7684\u5f3a\u8c03\uff0c\u66f4\u662f\u5c06\u4ea7\u54c1\u4ece\u201c\u73a9\u5177\u201d\u63d0\u5347\u81f3\u201c\u5de5\u5177\u201d\u7684\u5173\u952e\u4e00\u6b65\uff1a\u5b83\u627f\u8ba4AI\u7684\u4e0d\u53ef\u9760\u6027\uff0c\u5e76\u901a\u8fc7\u81ea\u9a8c\u8bc1\u5faa\u73af\u6765\u515c\u5e95\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\u3002\u5176\u201cReact SPA + \u51fd\u6570 + Postgres\u201d\u7684\u67b6\u6784\u867d\u9002\u7528\u5e7f\u6cdb\uff0c\u4f46\u4e5f\u5212\u5b9a\u4e86\u4e0d\u53ef\u903e\u8d8a\u7684\u8fb9\u754c\u3002\u4efb\u4f55\u9700\u8981\u5b9e\u65f6\u534f\u540c\u3001\u539f\u751f\u79fb\u52a8\u4f53\u9a8c\u6216\u957f\u65f6\u95f4\u540e\u53f0\u8fdb\u7a0b\u7684\u5e94\u7528\uff0c\u90fd\u5c06\u76f4\u63a5\u78b0\u58c1\u3002\u521b\u59cb\u4eba\u5766\u8bda\u7684\u201c\u67b6\u6784\u5929\u82b1\u677f\u201d\u662f\u4f18\u70b9\uff0c\u4f46\u4e5f\u662f\u67b7\u9501\u3002\u6b64\u5916\uff0c\u5c3d\u7ba1\u9a8c\u8bc1\u80fd\u529b\u5f88\u5f3a\uff0c\u4f46\u5bf9\u4e00\u4e2a\u7ecf\u8fc7\u4e0a\u767e\u6b21\u8fed\u4ee3\u7684\u590d\u6742\u5e94\u7528\uff0c\u901a\u8fc7\u201c\u4fee\u590d\u8fc7\u6ee4\u201d\u8fd9\u79cd\u6a21\u7cca\u63d0\u793a\u6765\u89e6\u8fbe\u96f6\u6563\u7684\u72b6\u6001\u903b\u8f91\uff0c\u5176\u53ef\u9760\u6027\u5b58\u7591\u3002\u4ea7\u54c1\u5ba3\u79f0\u7684\u65e0\u5361\u514d\u8d39\u989d\u5ea6\uff088 credits\/\u5929\uff09\u662f\u53cb\u597d\u7684\u94a9\u5b50\uff0c\u4f46\u4e00\u65e6\u6d89\u53ca\u590d\u6742\u81ea\u52a8\u5316\u6216\u5b9a\u5236Domain\uff0c\u5546\u4e1a\u5316\u5b9a\u4ef7\u5c06\u6210\u4e3a\u771f\u6b63\u8003\u9a8c\u7528\u6237\u5fe0\u8bda\u5ea6\u7684X\u56e0\u7d20\u3002\u603b\u7684\u6765\u8bf4\uff0cGenMB\u662fAI\u5e94\u7528\u6784\u5efa\u9886\u57df\u4e00\u4e2a\u96be\u5f97\u7684\u3001\u6709\u6e05\u9192\u81ea\u6211\u8ba4\u77e5\u7684\u52a1\u5b9e\u6d3e\uff0c\u5b83\u66f4\u9002\u5408MVP\u9a8c\u8bc1\u548c\u5185\u5916\u90e8\u5de5\u5177\uff0c\u800c\u975e\u4ece\u4e00\u5f00\u59cb\u5c31\u8bd5\u56fe\u53d6\u4ee3\u4f20\u7edf\u5f00\u53d1\u6d41\u7a0b\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\">GenMB<\/span>\n                <\/div>\n<div class=\"comment-content\">GenMB turns a plain-English prompt into a complete, deployed web app: frontend, backend functions, database, and auth included. Then it goes further than generation &#8211; automate your app with a visual workflow builder (20+ node types), scheduled agents that run Python on cron, chat agents on Telegram\/Slack\/Email, and 80 integrations across 15 categories. Free tier includes 8 credits a day and a real Postgres database, no card required.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! I built GenMB because generating an app is now the easy part &#8211; every AI builder does it. What happens after is where apps die: no backend, no database, no way to automate anything.<\/p>\n<p>So GenMB generates the full stack (frontend + backend functions + Postgres + auth) and then hands you the operations layer: a visual workflow builder, scheduled agents (cron Python that can touch your app&#8217;s data), chat agents that live in Telegram\/Slack\/Email, MCP support, and 80 integrations.<\/p>\n<p>A few things I&#8217;m proud of:<\/p>\n<p>Prompt to deployed app with a real database on the free tier, no card<br \/>\nImport an existing Vite+React or static codebase and keep building with AI<br \/>\nBidirectional GitHub sync &#8211; your code is yours<br \/>\nAgent Mode: the AI verifies its own changes against a live preview before showing you<br \/>\nI&#8217;ll be here all day &#8211; ask me anything, and I&#8217;d love brutal feedback. If you tell me what to build in the comments, I&#8217;ll generate it live and post the link.<\/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\/@ambuj_ambujone\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ambuj_ambujone<\/a>&nbsp;This is what a lot of AI app builders are missing. Generating the frontend is the easy part\u2014handling the backend, auth, database, and deployment is where the real work begins. Love that GenMB tackles the full stack from a single prompt. Congrats on the launch! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the fact that it actually ships a working backend with auth and a real database from one prompt is wild, most &#8220;vibe coding&#8221; tools still leave you wiring up Supabase at 2am<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gamzewxea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gamzewxea<\/a>&nbsp;Thanks! That 2am Supabase wiring session is exactly the pain we built against. The take we landed on: the backend shouldn&#8217;t be generated code you have to trust, it should be platform infrastructure the generated code plugs into.<\/p>\n<\/p>\n<p>So when you prompt an app, auth, the database, and the API layer aren&#8217;t hallucinated boilerplate. Auth is built into every app out of the box. Data goes to either a key-value store (zero setup, the default) or a real dedicated Postgres database provisioned per app, your app gets its own isolated instance, not a shared table with a prefix. Server logic ships as sandboxed serverless functions the app calls directly. None of that requires an API key, a connection string or a dashboard in another tab.<\/p>\n<\/p>\n<p><strong>The part I&#8217;m most opinionated about<\/strong>: because the AI writes code <em>against<\/em> that infrastructure rather than generating the infrastructure itself, there&#8217;s a whole class of &#8220;it looks done but the backend is duct tape&#8221; failures that just can&#8217;t happen. The agent still verifies the app actually runs before handing it to you, but the load-bearing pieces (auth, isolation, provisioning, deploy) are the same tested platform code for every app.<\/p>\n<\/p>\n<p>And yes, the Postgres database is included on the free tier, so you can see the full loop &#8211; prompt to deployed app with a real DB without a card.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the AI agent handle complex business logic, like multi-step workflows or conditional branching, when you&#8217;re not actively guiding it? Trying to understand how much hand-holding it really needs before you get something production-ready.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cihanatagan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cihanatagan<\/a>&nbsp;Great question. There are two layers, because &#8220;business logic&#8221; shows up in two places:<\/p>\n<\/p>\n<p><strong>1. Inside the generated app (code-level logic).<\/strong> When you generate or refine an app, Agent Mode runs an autonomous verify loop: it writes the code, loads the app in a live preview, checks that it actually works, searches its own codebase when something&#8217;s off, and iterates (up to 60 rounds) before handing it back to you. So multi-step logic like &#8220;cart \u2192 stock check \u2192 payment \u2192 confirmation email&#8221; doesn&#8217;t need you to babysit each step; the agent catches its own runtime errors rather than just producing code that looks right. Backend logic lands as serverless Functions (TypeScript or Python) with a real Postgres or KV store behind them, not mocked data.<\/p>\n<p><strong>2. Orchestration-level logic (the stuff that shouldn&#8217;t live in app code).<\/strong> For multi-step workflows and conditional branching specifically, we don&#8217;t make the AI improvise it in code. There&#8217;s a visual workflow builder with typed nodes: condition (branch on an expression), switch (route to one of several branches by matching a value), loop (iterate over arrays), plus AI generation, database queries, HTTP, delays, Slack\/Gmail\/Sheets\/Notion, and calling other workflows. Every workflow is DAG-validated before it runs, so a broken branch fails at save time, not at 3am. You can describe the workflow in plain English and the guided creator builds it, then drop to the canvas to tweak.<\/p>\n<\/p>\n<p><strong>Honest answer on hand-holding:<\/strong> for a first pass, one prompt gets you a working app with real backend logic, and the agent self-verifies before you see it. Where you still steer is the same place you&#8217;d steer a junior engineer: telling it your actual business rules (&#8220;refunds only within 30 days, unless the plan is annual&#8221;), because no AI can infer policy it was never told. The difference is that iteration is a chat message plus an automatic re-verify, not a debugging session. Production-ready pieces like auth, data isolation, deploy, and cron-scheduled agents are platform features rather than generated code, so they don&#8217;t depend on the AI getting them right each time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the second launch! Good to see code export and ownership also stated up front &#8211; that&#8217;s the first thing I&#8217;d worry about. You list a wide range, from landing pages up to CRM and booking systems, so I&#8217;m curious where the practical ceiling sits. At what point does app complexity outrun the AI, so you&#8217;re editing the exported code by hand rather than describing changes in plain English? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;Thanks! Honest answer: the ceiling is less about app category and more about two specific things.<\/p>\n<\/p>\n<ul>\n<li>\n<p>First, <strong>architectural scope<\/strong>. Everything GenMB generates is a React SPA plus serverless functions plus Postgres, with integrations, workflows and scheduled agents layered on top. A CRM or booking system fits that shape fine because it&#8217;s mostly CRUD, auth, forms and notifications, complexity that&#8217;s wide rather than deep. What outruns the platform is anything that needs a genuinely different architecture: real-time multiplayer, native mobile, heavy background compute, or a long-lived custom server process. Those aren&#8217;t &#8220;describe harder&#8221; problems; the platform just doesn&#8217;t build them, and we say so rather than generate something half-working.<\/p>\n<\/li>\n<li>\n<p>Second, <strong>accumulated size<\/strong>. Plain-English editing stays reliable surprisingly deep into an app&#8217;s life &#8211; the failure mode isn&#8217;t one big feature the AI can&#8217;t do, it&#8217;s an app that&#8217;s been refined 100+ times where a vague instruction like &#8220;fix the filtering&#8221; touches state spread across many files. We&#8217;ve put most of our recent work exactly there: an agent mode that reads the codebase, plans, edits and then verifies the change against a live preview before showing it to you, rather than pattern-matching a diff. That pushed the practical ceiling up a lot, but I won&#8217;t claim it&#8217;s infinite.<\/p>\n<\/li>\n<\/ul>\n<p>The code export exists precisely for the residual case. In practice the people who export aren&#8217;t hitting an AI wall on features but they&#8217;re hitting a preference wall: they want their own CI, their own review process, or a hand-tuned change they&#8217;d rather own in git. That&#8217;s a legitimate way to graduate off the platform, and we&#8217;d rather make that clean than trap anyone.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SD7FEMXBXVAHLZ\" class=\"app-title\">AISight<\/a><\/p>\n<div class=\"one-liner\">Understand how AI answer engines see your website<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">19<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AISight\u901a\u8fc7\u5916\u90e8\u626b\u63cf\u68c0\u6d4bAI\u722c\u866b\u7684\u53ef\u8bbf\u95ee\u6027\u4e0e\u8bed\u4e49\u7ed3\u6784\uff0c\u4e3a\u7f51\u7ad9\u751f\u6210\u5373\u65f6\u7684\u5f15\u7528\u5c31\u7eea\u5ea6\u62a5\u544a\u548c\u53ef\u590d\u5236\u7684\u6280\u672f\u4fee\u590d\u65b9\u6848\uff0c\u89e3\u51b3\u7f51\u7ad9\u88abAI\u95ee\u7b54\u5f15\u64ce\u6b63\u786e\u53d1\u73b0\u548c\u5f15\u7528\u7684\u76f2\u533a\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\/db6e2aeb-4681-4d7f-a96a-6de8303eb59a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/13c84f64-20ba-4686-ab59-69b0d10977c2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2c6c7a12-65f1-428f-8a39-a90aa70229a6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/48a9b0f8-7f09-4ec1-ae26-98679e77290e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a21b0a9e-f135-455d-bbf8-b48946c22ce4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9f26bfd3-f33a-43bb-824a-a97e6b1a10bc.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\">SEO<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u722c\u866b\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u8bed\u4e49\u7ed3\u6784\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u5f15\u7528\u5c31\u7eea\u5ea6<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fdSEO<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u8bca\u65ad<\/span><br \/>\n            <span class=\"tag\">Schema\u4fee\u590d<\/span><br \/>\n            <span class=\"tag\">\u6280\u672f\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">AI\u641c\u7d22\u5f15\u64ce\u4f18\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u53ef\u64cd\u4f5c\u4fee\u590d\u5efa\u8bae\u201d\u7684\u4ef7\u503c\uff0c\u5c24\u5176\u597d\u8bc4Schema\u6f0f\u6d1e\u68c0\u6d4b\u548c\u53ef\u76f4\u63a5\u7c98\u8d34\u7684\u4ee3\u7801\u8865\u4e01\u3002\u90e8\u5206\u7528\u6237\u8be2\u95ee\u6280\u672f\u539f\u7406\uff08\u4e0d\u4f9d\u8d56\u670d\u52a1\u5668\u65e5\u5fd7\u6216CDN\uff09\uff0c\u5e76\u5efa\u8bae\u589e\u52a0\u5b9a\u65f6\u626b\u63cf\u4e0e\u8d8b\u52bf\u5bf9\u6bd4\u529f\u80fd\u3002\u521b\u59cb\u4eba\u79ef\u6781\u56de\u590d\uff0c\u5f3a\u8c03\u5916\u90e8\u626b\u63cf\u7684\u5c40\u9650\u6027\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                AISight\u8e29\u4e2d\u4e86\u4e00\u4e2a\u5fae\u5999\u800c\u771f\u5b9e\u7684\u65ad\u5c42\u2014\u2014\u4f20\u7edfSEO\u5de5\u5177\u6d3b\u5728\u8c37\u6b4c\u7684\u9634\u5f71\u91cc\uff0c\u800cAI\u641c\u7d22\u5f15\u64ce\uff08\u5982Perplexity\u3001ChatGPT Search\uff09\u7684\u722c\u53d6\u903b\u8f91\u3001\u6743\u91cd\u504f\u597d\u548c\u9a8c\u8bc1\u65b9\u5f0f\u5b8c\u5168\u4e0d\u540c\u3002\u8be5\u4ea7\u54c1\u6ca1\u6709\u8bd5\u56fe\u505a\u4e00\u4e2a\u201c\u5927\u800c\u5168\u201d\u7684SEO\u5e73\u53f0\uff0c\u800c\u662f\u7cbe\u51c6\u5361\u4f4d\u201cAI\u722c\u866b\u53ef\u89c1\u6027\u201d\u8fd9\u4e00\u5177\u4f53\u73af\u8282\uff0c\u4ece\u5916\u90e8\u89c6\u89d2\u6a21\u62dfAI\u7684\u89e3\u8bfb\u8def\u5f84\uff0c\u7ed9\u51fa\u8bc1\u636e\u8d28\u91cf\u4e0e\u8bed\u4e49\u5b8c\u6574\u6027\u7684\u91cf\u5316\u6307\u6807\u3002\u8fd9\u662f\u771f\u6b63\u7684\u5dee\u5f02\u5316\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u4e00\u74e2\u51b7\u6c34\uff1a\u5f53\u524d19\u7968\u7684\u6d4b\u8bd5\u6570\u636e\u6781\u4f4e\uff0c\u793e\u533a\u53cd\u9988\u591a\u4e3a\u65e9\u671f\u79cd\u5b50\u7528\u6237\u7684\u81ea\u55e8\u5f0f\u4e92\u52a8\u3002\u4ea7\u54c1\u7684\u6280\u672f\u58c1\u5792\u5e76\u4e0d\u9ad8\u2014\u2014\u5916\u90e8\u626b\u63cfSchema\u3001\u68c0\u67e5`robots.txt`\u3001\u6d4b\u8bd5HTTPS\u4e0e\u54cd\u5e94\u5934\uff0c\u8fd9\u4e9b\u7ec4\u5408\u62f3\u4efb\u4f55\u4e00\u4e2a\u6709\u7ecf\u9a8c\u7684\u5f00\u53d1\u8005\u82b1\u51e0\u5929\u65f6\u95f4\u4e5f\u80fd\u642d\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u4e24\u70b9\uff1a\u4e00\u662f\u5bf9\u4e3b\u6d41AI\u6a21\u578b\uff08\u5982GPT-4o\u3001Claude\u3001Google\u7684AI Overview\uff09\u722c\u866b\u884c\u4e3a\u7684\u6301\u7eed\u9006\u5411\u6620\u5c04\u4e0e\u89c4\u5219\u5339\u914d\uff1b\u4e8c\u662f\u5c06\u5ba1\u8ba1\u7ed3\u679c\u8f6c\u5316\u4e3a\u7528\u6237\u53ef\u7acb\u523b\u6267\u884c\u7684\u6539\u8fdb\u8def\u5f84\uff0c\u8fd9\u4e00\u70b9\u4ece\u7528\u6237\u8bc4\u8bba\u770b\u5df2\u7ecf\u521d\u6b65\u505a\u5230\uff0c\u4f46\u8fd8\u9700\u89c4\u6a21\u5316\u9a8c\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u521b\u59cb\u4eba\u5766\u627f\u201c\u6570\u636e\u4e0d\u53cd\u6620CDN\u540e\u53f0\u771f\u5b9e\u6570\u636e\u201d\u662f\u4e00\u4e2a\u6f5c\u5728\u786c\u4f24\u2014\u2014\u5f88\u591a\u4f01\u4e1a\u7f51\u7ad9\u5728CDN\u5c42\u6709\u591a\u5957\u7b56\u7565\uff0c\u5916\u90e8\u76f2\u6d4b\u7684\u7ed3\u679c\u53ef\u80fd\u4e25\u91cd\u5931\u51c6\u3002\u5982\u679cAISight\u65e0\u6cd5\u63d0\u4f9b\u5d4c\u5165\u5f0fJS SDK\u6216\u4e91\u65e5\u5fd7\u5206\u6790\u7b49\u66f4\u6df1\u5165\u7684\u624b\u6bb5\uff0c\u90a3\u4e48\u5b83\u6700\u7ec8\u53ea\u80fd\u662f\u4e00\u4e2a\u201c\u5165\u95e8\u7ea7\u5fc3\u60c5\u6d4b\u8bd5\u4eea\u201d\uff0c\u800c\u975e\u4f01\u4e1a\u4fe1\u4efb\u7684\u51b3\u7b56\u4f9d\u636e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u65b9\u5411\u6b63\u786e\uff0c\u75db\u70b9\u771f\u5b9e\uff0c\u4f46\u73b0\u9636\u6bb5\u66f4\u50cf\u4e2a\u806a\u660e\u7684MVP\uff0c\u800c\u975e\u4e0d\u53ef\u66ff\u4ee3\u7684\u57fa\u7840\u8bbe\u65bd\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\">AISight<\/span>\n                <\/div>\n<div class=\"comment-content\">AISight analyzes AI crawler access, semantic structure, citation readiness and evidence quality, then generates an executive report with prioritized findings and copy-paste technical fixes for any public website.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt! <\/p>\n<p>I&#8217;m Dimitris, the creator of AISight.<\/p>\n<p>Over the past few months I&#8217;ve been researching a simple question:<\/p>\n<p>Can AI answer engines actually discover, understand and cite a website correctly?<\/p>\n<p>Traditional SEO tools don&#8217;t answer that question. They focus on search engines, while AI systems evaluate websites differently.<\/p>\n<p>AISight analyzes AI crawler access, semantic structure, citation readiness and evidence quality, then generates an executive report with prioritized findings and copy-paste technical fixes.<\/p>\n<p>Current beta highlights:<br \/>\n\u2022 No login required<br \/>\n\u2022 Scan any public website<br \/>\n\u2022 Executive PDF report<br \/>\n\u2022 Actionable copy-paste recommendations<br \/>\n\u2022 Around 30-second analysis<\/p>\n<p>AISight is still in Public Beta and I&#8217;m actively improving it based on real user feedback.<\/p>\n<p>I&#8217;d really appreciate it if you could try it with your own website and let me know:<\/p>\n<p>\u2022 Which findings were the most useful?<br \/>\n\u2022 Which recommendations were unclear?<br \/>\n\u2022 What would make the report more valuable for your organization?<\/p>\n<p>Thank you for taking the time to test it and share your feedback!<\/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\/@dimitris_mikedis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dimitris_mikedis<\/a>&nbsp;This is a timely idea. As AI search becomes more important, understanding how your site is seen by AI crawlers is just as valuable as traditional SEO. Love that it provides actionable fixes instead of just another audit score. Congrats on the launch! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ran my site through it and the citation readiness breakdown was surprisingly specific, pointing out schema gaps I didn&#8217;t know existed. The copy-paste fixes saved me from digging through docs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@erol332722\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erol332722<\/a>&nbsp;Thanks, Erol \u2014 really appreciate you testing the actual report. That\u2019s exactly the outcome I was aiming for: not just identifying a gap, but reducing the distance between \u201cthere\u2019s a problem\u201d and \u201chere\u2019s what I can actually do about it.\u201d Great to hear the copy-paste fixes were useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does AISight actually detect the AI crawlers in practice, does it rely on server log access or just passive DNS sniffing, and does that work for sites behind a CDN?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@farukwyv5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farukwyv5<\/a>&nbsp;Great question. AISight doesn\u2019t use server log access or passive DNS sniffing. It evaluates the submitted public URL from the outside, testing the signals and access conditions that affect whether AI crawlers can discover and interpret the site.<\/p>\n<p>So yes, it can evaluate sites behind a CDN, but the result reflects what is publicly observable from outside the infrastructure rather than private origin or server-log data. That distinction is important, and I\u2019ll make it clearer in the product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love the UI! <\/p>\n<\/p>\n<p>Also the fact that it gave my website a 100\/100 score pretty much across the board made me happy NGL<\/p>\n<\/p>\n<p>It did surface some fixes around trust headers which was a quick fix. Thanks<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ankit_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ankit_a<\/a>&nbsp;hanks Ankit \u2014 this is exactly the kind of outcome I hoped AISight would produce: not just another score, but something specific enough to act on immediately. Great to hear the trust header finding led to a quick fix. Really appreciate you testing it and sharing the result.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the executive report get generated on demand or do you run scheduled crawls, and how often does the underlying data refresh so the citation readiness scores actually reflect current site changes?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hseyinrhrd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hseyinrhrd<\/a>&nbsp;Great question. The report is generated on demand from a fresh scan of the submitted public URL, so the scores reflect the site state observed at scan time. AISight does not currently run scheduled recurring crawls in the public beta. The next step is to make comparison over time more useful, so teams can see how visibility and citation readiness change after site updates. Thanks for raising this \u2014 it\u2019s exactly the kind of question that helps shape the roadmap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The schema fix suggestions were actually paste-ready and made sense, which surprised me after seeing so many SEO tools that just yell about missing tags. Clean executive report too, no fluff.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kezibannkbe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kezibannkbe<\/a>&nbsp;Thanks, Keziban \u2014 that\u2019s exactly what we wanted to achieve: not just flagging problems, but making the next step immediately actionable. Really appreciate you taking the time to look at the actual output.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/RLLZEEBR67SIEA\" class=\"app-title\">SyncBooster<\/a><\/p>\n<div class=\"one-liner\">Create and publish social media posts via AI chat<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">19<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>SyncBooster\u901a\u8fc7AI\u804a\u5929\uff0c\u8ba9\u5c0f\u670d\u52a1\u5546\u5bb6\u76f4\u63a5\u53d1\u9001\u7167\u7247\u548c\u7b80\u77ed\u5907\u6ce8\uff0c\u5373\u53ef\u4e00\u952e\u751f\u6210\u5e76\u540c\u6b65\u53d1\u5e03\u9002\u914d\u5404\u5e73\u53f0\uff08Facebook\u3001Instagram\u3001LinkedIn\u3001Google Business\uff09\u7684\u54c1\u724c\u5316\u793e\u4ea4\u5a92\u4f53\u5e16\u5b50\uff0c\u5f7b\u5e95\u544a\u522b\u7e41\u7410\u540e\u53f0\u548c\u6602\u8d35\u4ee3\u7406\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\/183b94cf-15e1-437e-83ea-6297005b849b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aad20751-e638-49d0-84fa-d6c1b69bf3f2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d409f3f0-3958-4271-8707-7935f577ee1b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d647ac55-67d7-49f3-aea7-38298e32a262.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2eb0b712-3498-4e78-bdfc-8e1dae0a649f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7863e6df-368f-40b2-9a2d-f7cf9bba0c91.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\">Social Media<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Marketing automation<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u793e\u4ea4\u53d1\u5e16<\/span><br \/>\n            <span class=\"tag\">\u804a\u5929\u5f0f\u521b\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u5546\u5bb6\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u58f0\u97f3\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u591a\u5e73\u53f0\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u751f\u6210\u5668<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u670d\u578bAI<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u56fe\u7247\u53d1\u5e03\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u6548\u7387<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u804a\u5929\u5f0f\u4ea4\u4e92\u7684\u4fbf\u6377\u6027\uff0c\u79f0\u5176\u201c\u81ea\u7136\u3001\u7701\u4e8b\u201d\u3002\u4e3b\u8981\u5173\u6ce8\u70b9\uff1aAI\u80fd\u5426\u6301\u7eed\u5b66\u4e60\u54c1\u724c\u98ce\u683c\u800c\u975e\u6bcf\u6b21\u4ece\u96f6\u5f00\u59cb\uff1f\u5f00\u53d1\u8005\u56de\u5e94\uff1aAI\u4f1a\u901a\u8fc7\u624b\u52a8\u7f16\u8f91\u548c\u53cd\u9988\u6301\u7eed\u5b66\u4e60\uff0c\u5e76\u652f\u6301\u8de8\u54c1\u724c\u3001\u591a\u8bed\u8a00\u7ba1\u7406\uff0c\u786e\u4fdd\u98ce\u683c\u8fde\u8d2f\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                SyncBooster\u7684\u5b9a\u4f4d\u7cbe\u51c6\u5730\u5207\u5165\u4e86\u201c\u5fae\u578b\u670d\u52a1\u5546\u201d\u7684\u8425\u9500\u771f\u7a7a\u5730\u5e26\u2014\u2014\u4ed6\u4eec\u4e0d\u7f3a\u7d20\u6750\uff08\u5de5\u5355\u73b0\u573a\u3001\u4ea7\u54c1\u5b9e\u62cd\uff09\uff0c\u4f46\u7f3a\u65f6\u95f4\u548c\u4e13\u4e1a\u80fd\u529b\u53bb\u7f16\u6392\u548c\u53d1\u5e03\u3002\u5176\u201c\u804a\u5929\u5373\u754c\u9762\u201d\u7684\u8bbe\u8ba1\u975e\u5e38\u8001\u8fa3\uff0c\u76f4\u63a5\u6d88\u9664\u4e86\u4eea\u8868\u76d8\u5e26\u6765\u7684\u5fc3\u7406\u95e8\u69db\uff0c\u8ba9\u201c\u53d1\u5e16\u201d\u4ece\u4e00\u9879\u7ba1\u7406\u4efb\u52a1\u964d\u7ea7\u4e3a\u65e5\u5e38\u5bf9\u8bdd\u4e2d\u7684\u4e00\u53e5\u201c\u597d\u4e86\uff0c\u53d1\u5427\u201d\u3002\u4ece\u4ea7\u54c1\u903b\u8f91\u770b\uff0c\u6700\u5177\u4ef7\u503c\u7684\u90e8\u5206\u5e76\u975eAI\u751f\u6210\u6587\u6848\uff08\u8fd9\u662f\u57fa\u7840\u80fd\u529b\uff09\uff0c\u800c\u662f\u201c\u54c1\u724c\u8bb0\u5fc6+\u8de8\u5e73\u53f0\u9002\u914d\u201d\u3002AI\u5728\u5bf9\u8bdd\u4e2d\u6301\u7eed\u5438\u6536\u54c1\u724c\u8bed\u6c14\u3001\u7f16\u8f91\u53cd\u9988\u548c\u5386\u53f2\u98ce\u683c\uff0c\u610f\u5473\u7740\u7528\u6237\u4e0d\u7528\u91cd\u590d\u52b3\u52a8\uff0c\u6bcf\u4e00\u6b21\u53d1\u5e03\u90fd\u662f\u5728\u201c\u8bad\u7ec3\u201d\u800c\u975e\u201c\u8f93\u5165\u201d\uff0c\u8fd9\u5f88\u63a5\u8fd1\u6570\u5b57\u52a9\u7406\u7684\u8fdb\u5316\u8def\u5f84\u3002\u800c\u652f\u6301\u591a\u54c1\u724c\u3001\u591a\u8bed\u8a00\u72ec\u7acb\u8fd0\u884c\uff0c\u8bc1\u660e\u5176\u7784\u51c6\u7684\u53ef\u80fd\u662f\u4ee3\u8fd0\u8425\/\u673a\u6784\u7ea7\u5ba2\u6237\uff0c\u800c\u975e\u5355\u6253\u72ec\u6597\u7684\u5c0f\u5e97\uff0c\u7ed9\u4e86\u540e\u7eedB\u7aef\u589e\u957f\u7a7a\u95f4\u3002\u76ee\u524d\u5f31\u70b9\u4e5f\u5f88\u660e\u663e\uff1a\u4ec519\u7968\u4e0a\u7ebf\uff0c\u5927\u5e73\u53f0\u9a8c\u8bc1\u4e0d\u8db3\uff1bAI\u5bf9\u201c\u590d\u6742\u8bdd\u9898\u201d\u7684\u72ec\u7acb\u8c03\u7814\u80fd\u529b\u5b58\u7591\uff1b\u804a\u5929\u5bf9\u8bdd\u53ef\u80fd\u4e0d\u6613\u56de\u6eaf\u6216\u6279\u91cf\u7ba1\u7406\u3002\u82e5\u672a\u6765\u96c6\u6210TikTok\u3001Reels\u53caAI\u89c6\u9891\u751f\u6210\uff0c\u5219\u8be5\u5de5\u5177\u5c06\u5177\u5907\u4ece\u201c\u53d1\u5e16\u52a9\u624b\u201d\u8dc3\u5347\u4e3a\u201c\u5168\u6e20\u9053\u5185\u5bb9\u8fd0\u8425\u4e2d\u67a2\u201d\u7684\u6f5c\u529b\u3002\u4f46\u5f53\u524d\u9636\u6bb5\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u6781\u7b80\u7684\u201c\u53d1\u5e03\u52a0\u901f\u5668\u201d\uff0c\u800c\u975e\u5b8c\u6574\u7684\u589e\u957f\u5f15\u64ce\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\">SyncBooster<\/span>\n                <\/div>\n<div class=\"comment-content\">SyncBooster is an AI chat that creates and publishes social media posts for small service businesses. Send a photo and a short note, get a ready post with copy, hashtags and CTA tailored to your brand &#8211; then confirm in chat to publish across Facebook, Instagram, LinkedIn and Google Business at once. Includes an AI image studio, asset gallery, and post history. No dashboards, no complicated forms &#8211; just a conversation.<\/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 built SyncBooster because small service businesses (salons, detailing shops, contractors, cafes) rarely have the time &#8211; or the budget for an agency &#8211; to keep a real social media presence. But they take great before\/after photos every single day, get fully booked some weeks and have empty slots on others, and could really use a way to show up online without either extra time or extra cost.<\/p>\n<p>SyncBooster is meant to be the bridge between &#8220;I have no time&#8221; and &#8220;I can&#8217;t afford an agency&#8221; &#8211; cheap enough to just start, so a business can claim its presence online today. As it grows, our plan is to help hand it off to a marketing agency that can take things further &#8211; we see ourselves as the first step, not the last one.<\/p>\n<p>Most tools in this space are built around dashboards and forms. We went the other way: everything happens in a chat. You upload a photo and a short note about what it&#8217;s for &#8211; a new dish, a finished job, a promo, an open slot tomorrow. The photo gets analyzed and enriched with your brand context from onboarding, and you get a post preview right in the chat, with tabs for each platform so the copy actually fits the specifics of Facebook, Instagram, LinkedIn and Google Business. Want it live tomorrow at 4pm instead of now? Just say so &#8211; it lands on the calendar.<\/p>\n<p>There&#8217;s also a built-in AI image generator for when you don&#8217;t have a photo yet, plus a gallery for everything you&#8217;ve created.<\/p>\n<p>Currently live: Facebook Pages, Instagram Business, LinkedIn (personal profiles), Google Business Profile. Coming soon: TikTok, X, YouTube, Stories, AI video.<\/p>\n<p>Would love your feedback &#8211; especially if you run a small business and know how painful staying consistent on social media actually is.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The chat-first approach is genuinely clever, especially for owners who&#8217;d never touch a traditional scheduler. Love that the approval step happens right in the conversation instead of bouncing to another screen.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@semihazfcr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@semihazfcr<\/a>&nbsp;That\u2019s exactly what we were aiming for! We realized that for many business owners, &#8216;yet another dashboard&#8217; is a barrier, not a feature. Keeping the approval flow inside the chat was a must-have for us to keep the experience seamless. Thanks for noticing that detail!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 few things I didn&#8217;t fit into the intro but You usually ask about: <\/p>\n<p>There&#8217;s a quick onboarding chat first, where you tell the assistant about your business &#8211; what you do, your tone of voice, who your customers are. That context then shapes every post, so it doesn&#8217;t read like generic AI. <br \/>From there the social media assistant keeps learning your style as you go: edit manualy a draft or give feedback (&#8220;too formal&#8221;, &#8220;write shorter on Facebook&#8221;) and it picks up those preferences for next time.<\/p>\n<p>It can also do its own research when a post calls for it &#8211; if the topic is more complex or needs current, real-world info, it looks things up instead of making it up. <\/p>\n<p>And for anyone juggling more than one business: SyncBooster is built around brands and channels. A brand is a single business with its own knowledge base, brand voice and assistant, so multiple clients stay fully separate. A channel is a set of connected accounts within a brand &#8211; and one brand can have several, e.g. one publishing in Polish and another in English, each with its own Facebook, Instagram, LinkedIn and Google Business. So from one panel you can run many businesses, in many languages, without anything bleeding between them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the AI keep learning my brand voice over time, or does each post start fresh from the photo and note I send?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dnek7tx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dnek7tx<\/a>&nbsp;It keeps learning &#8211; and it&#8217;s really one continuous conversation, not a fresh start each time. The assistant holds the full context: your brand from onboarding, every edit and note you&#8217;ve given (&#8220;shorter on Facebook&#8221;, &#8220;less formal&#8221;), and the posts you&#8217;ve published. So each new post builds on all of that. You can even just ask it to suggest a few post ideas for you. It all happens naturally, right in the 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 chat-first approach feels surprisingly natural. Sent a photo of a freshly painted storefront with a quick note and got a solid post in seconds, ready to publish with one tap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@boran0uq6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@boran0uq6<\/a>&nbsp;Thanks, Boran &#8211; that&#8217;s exactly the moment we built it for: post right after the job&#8217;s done, straight from your phone, no laptop or scheduling tool needed. Glad the storefront post landed well. Would love to hear how it works out on your next few posts! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle the brand voice over time once I publish a bunch of posts &#8211; does it actually learn my style or do I have to keep re-explaining it in the 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fikretgkbmfk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fikretgkbmfk<\/a>&nbsp;Yes &#8211; the assistant learns your style over time. It picks up both the notes you give it in chat and the manual edits you make to posts, so you don&#8217;t have to keep re-explaining your brand voice.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fikretgkbmfk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fikretgkbmfk<\/a>&nbsp;This is exactly one of our values. The chat is self learning based on your interactions, as well as on the previous posts to handle day-0 knowledge. Let me know if you need deeper understanding \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<\/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\/G3M4SPIXPIAENM\" class=\"app-title\">Alvoff Inference &#8211; Fast, cheap STT \u00b7 TTS<\/a><\/p>\n<div class=\"one-liner\">AI inference based out of India<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">18<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Alvoff Inference \u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u57fa\u4e8e\u5370\u5ea6\u57fa\u7840\u8bbe\u65bd\u7684\u5ec9\u4ef7\u3001\u4f4e\u5ef6\u8fdf\u8bed\u97f3\u8f6c\u6587\u5b57\uff08STT\uff09\u4e0e\u6587\u5b57\u8f6c\u8bed\u97f3\uff08TTS\uff09API\uff0c\u89e3\u51b3\u5168\u7403\u7528\u6237\u5728\u8bed\u97f3\u8bc6\u522b\u4e0e\u5408\u6210\u573a\u666f\u4e0b\u5bf9\u6210\u672c\u548c\u9ad8\u5ef6\u8fdf\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\/3c4adf10-ab1e-42ee-b4da-6c853fe6472d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7ce8fe44-5257-45ce-b493-623d876d0d69.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a572ba37-1768-482e-b4c5-c5344566bff2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Audio<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3\u8f6c\u6587\u5b57<\/span><br \/>\n            <span class=\"tag\">\u6587\u5b57\u8f6c\u8bed\u97f3<\/span><br \/>\n            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">\u5370\u5ea6AI<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u6210\u672c\u63a8\u7406<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u5ef6\u8fdf<\/span><br \/>\n            <span class=\"tag\">\u97f3\u9891\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e91\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u66ff\u4ee3\u65b9\u6848<\/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\u5b9a\u4ef7\u5bf9\u6bd4\uff0c\u6709\u8bc4\u8bba\u8ba1\u7b97\u51fa\u5176STT\u4ef7\u683c\u6bd4Deepgram\u4fbf\u5b9c\u7ea630-37\u500d\u3002TTS\u5ef6\u8fdf\u88ab\u8bc4\u4ef7\u4e3a\u201c\u660e\u663e\u66f4\u7075\u654f\u201d\u3002STT\u5728\u5608\u6742\u64ad\u5ba2\u7247\u6bb5\u4e2d\u8f6c\u5f55\u901f\u5ea6\u5feb\u4e14\u6548\u679c\u5e72\u51c0\u3002\u514d\u8d39\u989d\u5ea6\uff08$5\uff09\u88ab\u8ba4\u4e3a\u8db3\u4ee5\u6d4b\u8bd5\u771f\u5b9e\u7528\u4f8b\uff0c\u56de\u5e94\u79ef\u6781\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                Alvoff Inference \u7684\u201c\u5356\u70b9\u201d\u975e\u5e38\u76f4\u63a5\uff1a\u7528\u5370\u5ea6\u7684\u786c\u4ef6\u548c\u4eba\u529b\u6210\u672c\u4f18\u52bf\uff0c\u5728\u8bed\u97f3API\u8fd9\u4e2a\u5df2\u7ecf\u88ab\u5de8\u5934\uff08\u5982Deepgram\u3001AWS\u3001Azure\uff09\u76d8\u8e1e\u7684\u5e02\u573a\u91cc\u6495\u5f00\u4e00\u9053\u53e3\u5b50\u3002\u5176\u5b9a\u4ef7\u4ec5\u4e3a\u7ade\u54c1\u7684\u4e09\u5341\u5206\u4e4b\u4e00\uff0c\u8fd9\u6839\u672c\u4e0d\u662f\u5dee\u5f02\u5316\u7ade\u4e89\uff0c\u800c\u662f\u964d\u7ef4\u6253\u51fb\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u53ea\u63d0\u4f9b4\u4e2a\u6a21\u578b\uff0c\u4e14\u521a\u4e0a\u7ebf\uff0c\u8def\u8fd8\u5f88\u957f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u8ba4\u53ef\u5176\u5ef6\u8fdf\u548c\u4ef7\u683c\uff0c\u4f46\u6838\u5fc3\u7591\u95ee\u5728\u4e8e\u201c\u70e7\u5b8c$5\u989d\u5ea6\u540e\uff0c\u5b9a\u4ef7\u5982\u4f55\u4e0eDeepgram\u5bf9\u6bd4\u201d\u2014\u2014\u8fd9\u8bf4\u660e\u7528\u6237\u5bf9\u957f\u671f\u4f7f\u7528\u7684\u6210\u672c\u6ce2\u52a8\u6709\u6212\u5fc3\u3002\u4ea7\u54c1\u9875\u9762\u7684\u201c\u4fbf\u5b9c\u201d\u548c\u201c\u53ef\u9760\u201d\u9700\u8981\u66f4\u900f\u660e\u7684\u3001\u6309\u5206\u949f\u7684\u9636\u68af\u5f0f\u5b9a\u4ef7\u8868\u6765\u9a8c\u8bc1\uff0c\u800c\u975e\u6a21\u7cca\u7684\u201c$5\u514d\u8d39\u201d\u3002\u53e6\u5916\uff0c\u5370\u5ea6\u8282\u70b9\u5ef6\u8fdf\u5bf9\u6b27\u7f8e\u7528\u6237\u7684\u4f53\u9a8c\u662f\u5426\u7a33\u5b9a\uff0c\u4e5f\u5c06\u662f\u89c4\u6a21\u5316\u74f6\u9888\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u521b\u59cb\u4eba\u5f3a\u8c03\u201c\u4e00\u7ad9\u5f0f\u8bed\u97f3\u65b9\u6848\u201d\uff0c\u4f46\u5f53\u524d\u4ec5\u9760STT\u548cTTS\u5c31\u60f3\u541e\u4e0b\u6574\u4e2a\u94fe\u8def\uff0c\u91ce\u5fc3\u7a0d\u5927\u3002\u66f4\u52a1\u5b9e\u7684\u8def\u5f84\u662f\u5148\u4ee5\u8d85\u4f4e\u4ef7STT\u5438\u5f15\u5927\u91cf\u5f00\u53d1\u8005\u8bd5\u7528\uff0c\u518d\u7528\u6570\u636e\u79ef\u7d2f\u8bad\u7ec3\u66f4\u5782\u76f4\u7684\u6a21\u578b\u3002\u5982\u679cAlvoff\u80fd\u6301\u7eed\u4fdd\u6301\u4ef7\u683c\u4f18\u52bf\u5e76\u8bc1\u660e\u670d\u52a1\u7a33\u5b9a\u6027\uff0c\u5b83\u5c06\u662f\u4e2d\u5c0f\u4f01\u4e1a\u4ece\u8d85\u5927\u89c4\u6a21\u4e91\u9003\u79bb\u7684\u7edd\u4f73\u9003\u751f\u8231\uff0c\u5426\u5219\uff0c\u514d\u8d39\u7684\u5348\u9910\u603b\u6709\u5c3d\u5934\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Alvoff Inference &#8211; Fast, cheap STT \u00b7 TTS<\/span>\n                <\/div>\n<div class=\"comment-content\">Alvoff Inference provides cheap and reliable API for speech-to-text, text-to-speech based out of India. We aim to be the one stop solution for voice related inference. Our infrastructure is purpose-built for audio workloads, which means low latency and lower cost compared to general-purpose cloud providers. You can signup on the platform and get $5 of inference for free.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how does the pricing actually compare per minute to something like deepgram once you burn through that $5 credit<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bnyamint9fq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bnyamint9fq<\/a>&nbsp;as per claude:<\/p>\n<\/p>\n<p>Deepgram&#8217;s pay-as-you-go Nova-2 is $0.0043\/15s = ~$1.03\/hour. Their Growth tier is $0.0036\/15s (~$0.86\/hour).<\/p>\n<p>So your pricing is roughly 30\u201337x cheaper than Deepgram for speech-to-text. That \u20b9500 (~$5.90) free credit gets about 2,458 hours of transcription \u2014 it&#8217;s an enormous amount.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Latency on the TTS endpoint was noticeably snappier than what I was getting elsewhere, and the $5 free credit was enough to actually test a real use case. Solid option if you need voice inference without the usual hyperscaler pricing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@duyguekinnq1t\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@duyguekinnq1t<\/a>&nbsp;Thanks for checking out the platform! Glad you liked 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>tested the stt endpoint on a noisy podcast clip and it came back clean way faster than i expected for the price. nice to see an api like this coming out of 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@salime7l8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salime7l8<\/a>&nbsp;Thanks for checking out the platform! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH, Ron this side. I am one of the devs who brought this to life. We are aiming to become one stop solution for anything voice related. We currently 4 models we provide inference for and are looking to add in more capacity soon. If you are a startup or an enterprise that is looking to get some cheap inference for your STT and TTS workloads we can help you out in getting one of the cheapest inference in the market. Just shoot a mail to <a href=\"mailto:support@alvoff.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">support@alvoff.ai<\/a> and we will get back to you right away.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/RTG76DGLI6CWWR\" class=\"app-title\">LetMeCheck.ai<\/a><\/p>\n<div class=\"one-liner\">The blood test for AI-generated codebases<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">17<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>LetMeCheck.ai \u662f\u4e00\u6b3e\u4e3aAI\u751f\u6210\u4ee3\u7801\u5e93\u63d0\u4f9b\u201c\u8840\u68c0\u201d\u5f0f\u8bca\u65ad\u7684\u5de5\u5177\uff0c\u901a\u8fc7\u9759\u6001\u5206\u6790\u4e0eLLM\u7ed3\u5408\u7684\u65b9\u5f0f\uff0c\u5feb\u901f\u53d1\u73b0\u9690\u85cf\u7684Bug\u3001\u5b89\u5168\u6f0f\u6d1e\u4e0e\u4ee3\u7801\u8d28\u91cf\u9690\u60a3\uff0c\u5e76\u751f\u6210\u9879\u76ee\u4e13\u5c5e\u7684\u6280\u80fd\u6587\u4ef6\u53cd\u9988\u7ed9\u7f16\u7801\u52a9\u624b\uff0c\u89e3\u51b3\u56e2\u961f\u5728\u9ad8\u901f\u8fed\u4ee3\u4e2d\u7d2f\u79ef\u6280\u672f\u503a\u7684\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f50ba067-40ec-4229-b780-8b1a47efc008.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/451abd68-6e54-4f88-bd28-f0019be4f905.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f747ec2-c4c6-48be-834c-0f2a7f55e59b.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\/e6179ac2-2cc9-4f58-a125-d5f30c7fab0e.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=TnpqD8fq2Us\"><source src=\"https:\/\/www.youtube.com\/watch?v=TnpqD8fq2Us\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7801\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u8d28\u91cf\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5168\u6f0f\u6d1e\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u9759\u6001\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">LLM\u4ee3\u7801\u5ba1\u67e5<\/span><br \/>\n            <span class=\"tag\">\u6280\u672f\u503a\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7801\u4ee3\u7406\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u7ef4\u62a4<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u8bca\u65ad<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u4e86\u81ea\u5b9a\u4e49\u6280\u80fd\u6587\u4ef6\u529f\u80fd\u7684\u95ed\u73af\u4ef7\u503c\uff0c\u8ba4\u4e3a\u80fd\u89e3\u51b3\u4ee3\u7406\u4ee3\u7801\u7684\u201c\u98ce\u683c\u6f02\u79fb\u201d\u95ee\u9898\u3002\u4f46\u8d28\u7591\u68c0\u6d4b\u65b9\u6cd5\uff08LLM\u4e0e\u9759\u6001\u5206\u6790\u7ed3\u5408\u7ec6\u8282\uff09\uff0c\u5e76\u8be2\u95ee\u6280\u80fd\u6587\u4ef6\u5982\u4f55\u5b9a\u4e49\u201c\u53ef\u5ea6\u91cf\u6539\u8fdb\u201d\u4ee5\u53ca\u5982\u4f55\u8bad\u7ec3\u4ee3\u7406\u800c\u975e\u4ec5\u9632\u6b62\u95ee\u9898\u590d\u53d1\u3002\u53e6\u6709\u7528\u6237\u5bf9\u5b89\u5168\u68c0\u6d4b\u4e0eFable 5\u7684\u5b9a\u4f4d\u5dee\u5f02\u63d0\u51fa\u7591\u95ee\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                LetMeCheck.ai \u51c6\u786e\u5730\u5207\u5165\u4e86\u4e00\u4e2a\u6b63\u5728\u81a8\u80c0\u7684\u201c\u6697\u9762\u201d\u5e02\u573a\uff1aAI\u751f\u6210\u4ee3\u7801\u7684\u8d28\u91cf\u5931\u63a7\u3002\u5f53\u5f00\u53d1\u56e2\u961f\u7528Cursor\u548cChatGPT\u4ee5\u75af\u72c2\u7684\u901f\u5ea6\u5806\u7801\u65f6\uff0c\u4ed6\u4eec\u5f80\u5f80\u9677\u5165\u201c\u80fd\u7528\u4f46\u4e0d\u6562\u7ef4\u62a4\u201d\u7684\u6ce5\u6f6d\u3002\u8fd9\u6b3e\u4ea7\u54c1\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u9677\u5165\u4f20\u7edf\u9759\u6001\u5206\u6790\u5de5\u5177\u201c\u62a5\u544a-\u5fd8\u8bb0\u201d\u7684\u6076\u6027\u5faa\u73af\uff0c\u800c\u662f\u5207\u4e2d\u4e86\u201c\u4ee3\u7406\u8ba4\u77e5\u201d\u8fd9\u4e00\u6838\u5fc3\u2014\u2014\u5229\u7528\u6280\u80fd\u6587\u4ef6\u53cd\u5411\u5fae\u8c03\u7f16\u7801\u52a9\u624b\u7684\u884c\u4e3a\u3002\u672c\u8d28\u4e0a\uff0c\u5b83\u4e0d\u662f\u5728\u66ff\u56e2\u961f\u68c0\u67e5\u4ee3\u7801\uff0c\u800c\u662f\u5728\u6559\u4ee3\u7406\u5982\u4f55\u5199\u51fa\u66f4\u597d\u7684\u4ee3\u7801\uff0c\u8fd9\u786e\u5b9e\u662f\u5f53\u524d\u5de5\u5177\u94fe\u4e2d\u88ab\u4e25\u91cd\u5ffd\u89c6\u7684\u4e00\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u663e\u800c\u6613\u89c1\uff1a\u4f9d\u8d56Sonar\u7b49\u4f20\u7edf\u5de5\u5177\u8fdb\u884c\u5e95\u5c42\u5206\u6790\uff0c\u610f\u5473\u7740\u5176\u539f\u521b\u6027\u4e0d\u8db3\uff0c\u5e95\u5c42\u89c4\u5219\u7684\u67e5\u91cd\u80fd\u529b\u6709\u9650\u3002\u800c\u7528\u6237\u6700\u5173\u5fc3\u7684\u201c\u53ef\u5ea6\u91cf\u6539\u8fdb\u201d\u548c\u201c\u6280\u80fd\u8bad\u7ec3\u673a\u5236\u201d\u5c1a\u672a\u6709\u900f\u660e\u7684\u5b9a\u4e49\uff0c\u56de\u590d\u8fc7\u4e8e\u6a21\u7cca\u3002\u6bd4\u5982\uff0c\u201c\u6280\u80fd\u5305\u201d\u5230\u5e95\u662f\u901a\u8fc7RAG\u690d\u5165\u547d\u4e2d\uff0c\u8fd8\u662f\u5bf9Agent\u4e0a\u4e0b\u6587\u8fdb\u884c\u68af\u5ea6\u66f4\u65b0\uff1f\u82e5\u4e0d\u89e3\u51b3\u201c\u5982\u4f55\u6301\u7eed\u8fdb\u5316\u201d\u7684\u95ee\u9898\uff0c\u5b83\u6781\u6613\u6ca6\u4e3a\u4e00\u6b21\u6027\u7684\u201c\u9759\u6001\u68c0\u67e5\u5668\u201d\u3002\u6b64\u5916\uff0c\u5b9a\u4ef7\u4e0e\u96c6\u6210\u65b9\u5f0f\uff08\u5c24\u5176\u662f\u5bf9\u672c\u5730\u6a21\u578b\u4e0e\u4f4e\u6570\u636e\u91cf\u573a\u666f\u7684\u652f\u6301\uff09\u4e5f\u5c06\u51b3\u5b9a\u5176\u751f\u5b58\u7a7a\u95f4\u3002\u8fd9\u662f\u4e00\u4e2a\u601d\u8def\u5f88\u597d\u7684\u8865\u4e01\uff0c\u4f46\u8981\u771f\u6b63\u6210\u4e3aAI\u65f6\u4ee3\u4ee3\u7801\u8d28\u91cf\u7684\u6807\u51c6\u6d41\u7a0b\uff0c\u8fd8\u9700\u89e3\u51b3\u201c\u53cd\u9988\u5faa\u73af\u201d\u7684\u53ef\u91cf\u5316\u4e0e\u53ef\u6301\u7eed\u6027\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\">LetMeCheck.ai<\/span>\n                <\/div>\n<div class=\"comment-content\">The easiest health checkup for your codebase. Like a blood test for your code \u2014 get a full diagnostic report, catch hidden bugs, vulnerabilities, and code quality issues in minutes. We give your agent skills, not pills!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">When we first launched LetMeCheck, we believed the biggest problem was helping teams identify code quality issues.<\/p>\n<p>After speaking to more founders, agencies, freelancers, and developers, we realized the real challenge runs much deeper.<\/p>\n<p>The problem isn\u2019t just finding issues.<br \/>\nThe real challenge is confidently shipping AI-generated code at scale.<\/p>\n<p>Today, AI tools like Claude, Cursor, and ChatGPT help teams ship incredibly fast. But speed often comes with hidden technical debt: bugs, security risks, poor test coverage, complexity, and fragile architecture.<\/p>\n<p>That\u2019s where the blood test analogy became very real for us.<\/p>\n<p>A blood test doesn\u2019t fix your health.<br \/>\nIt helps you understand what\u2019s happening inside before problems become serious.<\/p>\n<p>That\u2019s exactly what LetMeCheck does for your codebase.<\/p>\n<p>This relaunch is built around everything we learned from our users.<\/p>\n<p>LetMeCheck now helps you:<br \/>\n\u2192 Analyze your codebase<br \/>\n\u2192 Check for hidden issues<br \/>\n\u2192 Generate custom AI skill files for your coding agents<br \/>\n\u2192 Fix issues faster<br \/>\n\u2192 Rescan and track improvements<\/p>\n<p>The most exciting part of this launch is custom skill generation.<\/p>\n<p>You can now generate project-specific skills for coding agents so they better understand your code quality standards, avoid repeating mistakes, and produce better outputs with less rework and token waste.<\/p>\n<p>Our mission is simple:<br \/>\nHelp teams move from working code to confident code.<\/p>\n<p>Because in the AI era, writing code is becoming easy.<\/p>\n<p>Maintaining quality is the real challenge.<\/p>\n<p>We\u2019re excited to hear your thoughts and feedback \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The custom skill generation is the interesting part. Most code-quality tools produce a report the developer has to internalize and remember to apply next time. Piping the diagnostic back into the agent as project-specific skills is a more honest loop, the agent produced the fragility, the agent gets the fix.<\/p>\n<\/p>\n<p>Building MotionFy solo with Cursor, the pattern I keep hitting isn&#8217;t obvious bugs (those get caught fast) but subtle drift, the codebase slowly starts violating conventions I established in month one because the agent doesn&#8217;t remember them and I don&#8217;t re-prompt them. That&#8217;s the class of debt that gets expensive later, and it&#8217;s exactly what a project-specific skill pack should catch.<\/p>\n<\/p>\n<p>Curious about the closed-loop metric side, when you rescan and detect &#8220;measurable improvement,&#8221; what&#8217;s the definition? Reduction in specific issue types, LOC of hotspot code, or something else? Trying to figure out if the skill packs actually train the agent or just prevent recurrence of the last 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=\"comment-item\">\n<div class=\"comment-content\">\n<p>seems like strong to delve deep into security. But the what\u2019s the difference between a skill that checks security + fable 5 vs your app?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mehdigreefhorst\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mehdigreefhorst<\/a>&nbsp;Very good question.<\/p>\n<p>A security skill is a narrow guardrail: it tells your AI to watch for vulnerabilities. <strong>LetMeCheck scans the full health of your codebase<\/strong> \u2014 security, reliability, maintainability, and complexity \u2014 then generates a <strong>custom skill file tailored to your repo&#8217;s actual patterns and technical debt<\/strong>.<\/p>\n<p><strong>Fable 5 is a powerful but expensive general model.<\/strong> LetMeCheck doesn&#8217;t replace your coding agent \u2014 it <strong>supercharges the one you already use<\/strong> with codebase-specific context. In fact, pair the skill file we generate with a lower-cost model, and you can get <strong>Fable 5-like results without the Fable 5 price<\/strong>.<\/p>\n<p>So the difference is: <strong>security is just one part of the picture, and we make your existing agent smarter for your specific code, so you don&#8217;t need to pay for a bigger, pricier engine.<\/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>How does it actually detect the hidden stuff &#8211; is it running static analysis, LLM-based review, or some combo of both under the hood?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asyabuldukatas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asyabuldukatas<\/a>&nbsp;The code audit report is generated using industry standard tools like Sonar. This issues are then analysed and represented in human readable format.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>ran it against a side project and it flagged a sneaky sql injection i had missed in a rush. the skill pack idea is clever, feels like a real feedback loop instead of a one-off linter.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@srammoa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@srammoa<\/a>&nbsp;There you go! Thanks for giving it a try!<\/p>\n<p>Yes, intention is to make it valuable &#8211; identify and fix!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-07-03 PH\u70ed\u699c | 2026-07-03 #1 Glaze [&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-271","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/271","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=271"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/271\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}