{"id":229,"date":"2026-05-22T12:39:18","date_gmt":"2026-05-22T04:39:18","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/22\/2026-05-21\/"},"modified":"2026-05-22T12:39:18","modified_gmt":"2026-05-22T04:39:18","slug":"2026-05-21","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/22\/2026-05-21\/","title":{"rendered":"PH\u70ed\u699c | 2026-05-21"},"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-05-21<\/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-05-21<\/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\/RL4GWQKCKC4Y5K\" class=\"app-title\">Tycoon AI <\/a><\/p>\n<div class=\"one-liner\">Run one-person companies entirely with AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">405<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tycoon AI \u8ba9\u4f60\u4ee5\u201cAI\u9996\u5e2d\u6267\u884c\u5b98+10+\u4e13\u4e1a\u667a\u80fd\u4f53\u201d\u7684\u67b6\u6784\uff0c\u96f6\u4ee3\u7801\u3001\u96f6\u914d\u7f6e\u642d\u5efa\u4e00\u5bb6\u4e00\u4eba\u516c\u53f8\uff0c\u5c06\u6a21\u7cca\u76ee\u6807\uff08\u5982\u201c10\u500d\u6d41\u91cf\u201d\uff09\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u4efb\u52a1\u5e76\u81ea\u52a8\u63a8\u8fdb\uff0c\u4e13\u95e8\u89e3\u51b3\u72ec\u7acb\u521b\u59cb\u4eba\u7f3a\u4e4f\u56e2\u961f\u6267\u884c\u529b\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\/64329f50-ad0a-4246-90f5-3fe90d0a6da1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ce7f524-1597-48f8-88c2-305bafb26dfe.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/322d2c3d-ef8c-4830-a31d-e4681d428094.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c34babb3-7736-45aa-94ed-2aca470c6dc5.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\/81d37af5-f31a-4c6f-90de-eab57911fc6e.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/KcUf1LuUiU4\"><source src=\"https:\/\/youtu.be\/KcUf1LuUiU4\" 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\">Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u6982\u5ff5\uff0c\u4f46\u5bf9\u201cAI\u8bc4\u5ba1AI\u201d\u7684\u95ed\u73af\u81a8\u80c0\u98ce\u9669\u63d0\u51fa\u8d28\u7591\uff1b\u6280\u672f\u95ee\u9898\u96c6\u4e2d\uff1a\u670d\u52a1\u5668\u8fc7\u8f7d\u3001\u4efb\u52a1\u961f\u5217\u5931\u8d25\u3001\u4fe1\u7528\u989d\u5ea6\u65e0\u6cd5\u4f7f\u7528\u3001Work Pod\u9891\u7e41HTTP 402\u62a5\u9519\uff1b\u591a\u4f4d\u7528\u6237\u5173\u6ce8\u5ba1\u6279\u673a\u5236\u662f\u5426\u771f\u6b63\u80fd\u5b88\u4f4f\u6218\u7565\u8fb9\u754c\uff0c\u4ee5\u53ca\u7cfb\u7edf\u80fd\u5426\u957f\u671f\u4fdd\u6301\u4e0a\u4e0b\u6587\u4e00\u81f4\u6027\u548c\u4e2a\u6027\u5316\u8d28\u91cf\u504f\u597d\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                Tycoon AI\u7684\u67b6\u6784\u786e\u5b9e\u4f18\u4e8e\u5e02\u9762\u4e0a\u591a\u6570\u201c\u4e00\u4e2aAgent\u52a0\u4e2aTitle\u5c31\u53f7\u79f0AI\u516c\u53f8\u201d\u7684\u5305\u88c5\u8d27\u2014\u2014\u8ba9Astra\u626e\u6f14CEO\u89d2\u8272\uff0c\u5bf9CMO\u3001CTO\u7b49\u4e13\u4e1aAgent\u8fdb\u884c\u8c03\u5ea6\u548c\u5ba1\u6279\uff0c\u8fd9\u89e3\u51b3\u4e86\u4e00\u4e2a\u771f\u5b9e\u75db\u70b9\uff1a\u72ec\u7acb\u5f00\u53d1\u8005\u867d\u7136\u80fd\u7528Claude\u6216Copilot\u5355\u70b9\u63d0\u6548\uff0c\u4f46\u7f3a\u4e4f\u4e00\u4e2a\u201c\u61c2\u4e0a\u4e0b\u6587\u3001\u6562\u62cd\u677f\u3001\u4f1a\u8ffd\u8fdb\u5ea6\u201d\u7684\u4e2d\u95f4\u7ba1\u7406\u5c42\u3002HeyBoss\u548cSkillBoss\u7684\u843d\u5730\u6570\u636e\u4e5f\u8bc1\u660e\u8fd9\u5957\u6a21\u5f0f\u5e76\u975e\u7a7a\u4e2d\u697c\u9601\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7684\u81f4\u547d\u9690\u60a3\u5728\u7b2c\u4e00\u6ce2\u771f\u5b9e\u7528\u6237\u53cd\u9988\u91cc\u5df2\u7ecf\u66b4\u9732\uff1a\u4e00\u65b9\u9762\uff0c\u7a33\u5b9a\u6027\u5b8c\u5168\u4e0d\u8fbe\u6807\u3002\u670d\u52a1\u5668\u8fc7\u8f7d\u5bfc\u81f4\u4efb\u52a1\u6b7b\u5faa\u73af\u3001Work Pod\u6301\u7eed\u8fd4\u56de402\u3001\u4f59\u989d\u6263\u4e86\u5374\u65e0\u6cd5\u6267\u884c\uff0c\u4e00\u4e2a\u201c\u627f\u8bfa\u96f6\u914d\u7f6e\u5f00\u7bb1\u5373\u7528\u201d\u7684\u4ea7\u54c1\u5728\u9996\u6b21\u4f53\u9a8c\u4e2d\u8fde\u73af\u7ffb\u8f66\uff0c\u8fd9\u5728Product Hunt\u8fd9\u79cd\u9ad8\u4fe1\u4efb\u3001\u9ad8\u9884\u671f\u7684\u793e\u533a\u7b49\u4e8e\u81ea\u6740\u5f0f\u4eae\u76f8\u3002\u7528\u6237\u82b1$50-$1500\u4e70\u7684\u662f\u201c\u8dd1\u8d77\u6765\u201d\u7684\u786e\u5b9a\u6027\uff0c\u4e0d\u662f\u201c\u770bCEO\u804a\u5929\u8bb0\u5f55\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u6df1\u5c42\u7684\u95ee\u9898\u662f\u201cLLM\u8bc4\u5ba1LLM\u201d\u7684\u4fe1\u4efb\u8fb9\u754c\u3002\u8bc4\u8bba\u4e2d\u90a3\u4e2a6\u70b9\u8d5e\u7684\u95ee\u9898\u4e00\u9488\u89c1\u8840\uff1a\u5f53Astra\u53bbreview CTO\u5199\u7684\u4ee3\u7801\u6216CMO\u5199\u7684\u8425\u9500\u65b9\u6848\u65f6\uff0c\u5b83\u80cc\u540e\u662f\u53e6\u4e00\u4e2aLLM\u7684\u201c\u4e50\u89c2\u8ba4\u540c\u201d\uff0c\u8fd8\u662f\u771f\u5b9e\u901a\u8fc7\u4e86CI\u6d4b\u8bd5\u3001\u6295\u653eROI\u6307\u6807\uff1f\u5982\u679c\u662f\u524d\u8005\uff0c\u90a3Astra\u53ea\u4f1a\u6210\u4e3a\u4e00\u4e2a\u66f4\u82b1\u54e8\u7684\u201c\u70b9\u5934\u603b\u88c1\u201d\uff0c\u521b\u59cb\u4eba\u7684\u5ba1\u6279\u8d1f\u62c5\u4e0d\u4f1a\u51cf\u8f7b\uff0c\u53cd\u800c\u4f1a\u88ab\u865a\u5047\u4fe1\u5fc3\u62d6\u5165\u66f4\u6df1\u7684\u5751\u3002\u4ea7\u54c1\u6f14\u793a\u89c6\u9891\u518d\u597d\u770b\uff0c\u4e5f\u66ff\u4ee3\u4e0d\u4e86\u8fd9\u4e2a\u6838\u5fc3\u95ed\u73af\u88ab\u8bc1\u4f2a\u7684\u98ce\u9669\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8bda\u7136\uff0c\u521b\u59cb\u4ebaXiaoyin\u5bf9\u201c\u5ba1\u6279\u8fb9\u754c\u201d\u7684\u8bbe\u8ba1\u601d\u8def\uff08\u4f4e\u98ce\u9669\u81ea\u4e3b\u6267\u884c\u3001\u6218\u7565\/\u53d1\u5e03\/\u652f\u51fa\u5c42\u9762\u5fc5\u987b\u62a5\u6279\uff09\u662f\u6210\u719f\u7684\uff0c\u4f46\u4ea7\u54c1\u76ee\u524d\u660e\u663e\u8fd8\u6ca1\u8dd1\u901a\u8fd9\u6761\u7ebf\u2014\u2014\u7528\u6237\u7684\u9700\u6c42\u3001\u8d28\u91cf\u504f\u597d\u3001\u6218\u7565\u8bb0\u5fc6\u662f\u5426\u771f\u7684\u80fd\u88abAstra\u5b66\u4e60\u5e76\u6301\u7eed\u4e00\u81f4\uff1f\u4ece\u4eca\u5929\u65ad\u8fde\u7684\u670d\u52a1\u5668\u548c\u5361\u6b7b\u7684\u4efb\u52a1\u6c60\u6765\u770b\uff0cAI CEO\u672c\u4eba\u53ef\u80fd\u5148\u9700\u8981\u89e3\u51b3\u201c\u7f51\u7ad9\u8fd0\u7ef4\u7ecf\u7406\u201d\u7684\u95ee\u9898\u3002\u5efa\u8bae\u6240\u6709\u8003\u8651\u4ed8\u8d39\u7684\u7528\u6237\uff0c\u5148\u7b49\u4e24\u5468\uff0c\u7b49\u4ed6\u4eec\u771f\u7684\u628a\u57fa\u7840\u5de5\u7a0b\u7a33\u5b9a\u6027\u4fee\u597d\uff0c\u518d\u8c08AI\u7ba1\u7406\u9769\u547d\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\">Tycoon AI <\/span>\n                <\/div>\n<div class=\"comment-content\">Tycoon.us enables you to run an entire company with AI agents, powered by Astra, an AI CEO, and 10+ ready-to-use AI agents you can choose from, from CMO who manages X to CTO who codes. Astra also manages Claude Code\/Hermes. Give Astra a KPI or project, like \u201c10x traffic this month,\u201d or \u201claunch onboarding flows.\u201d She creates a plan, assigns agents, tracks progress, and asks for approval when needed. Every agent is out of box, so no setup, coding, or API keys 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, I\u2019m Xiaoyin, founder of Tycoon.us<\/p>\n<p>A year ago, I became the first human CEO to be replaced by an AI CEO named Astra.<\/p>\n<p>At first, it sounded like a stunt. Then Astra helped run real companies: HeyBoss reached 100K+ users, and SkillBoss hit $1M ARR in 30 days.<\/p>\n<p>Tycoon is the productized version of that experiment.<\/p>\n<p>It gives one person an AI CEO and a full team of AI agents. You can text Astra your goals, ideas, or tasks. She turns them into structured work, assigns the right agents, reviews progress, and asks for approval when it matters.<\/p>\n<p>We built Tycoon for solo founders, indie hackers, and builders who want the operating power of a company without hiring managers, sitting in meetings, or coordinating everything manually.<\/p>\n<p>You can view the step-by-step walkthrough here: <a href=\"https:\/\/www.youtube.com\/watch?v=tYejVbsRRec\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=tYejVbsRRec<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>14<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@xiaoyin_qu3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xiaoyin_qu3<\/a>&nbsp;Hi Xiaoyin, congrats on the launch \ud83c\udf89<\/p>\n<p>The press run on Astra is wild, and the orchestrator model (one AI CEO managing specialized agents) is the right architecture in my view. Most &#8220;AI company&#8221; pitches are just one agent with a fancy title.<br \/>The piece I want to understand: when Astra reviews the CTO agent&#8217;s code or the CMO agent&#8217;s campaign before bringing it to you, what is that review actually grounded in? Is it another LLM pass evaluating the output (which tends to be optimistic, the reviewer wants to approve), or is it grounded in something harder, tests passing, CI green, actual metric movement? Running a few agents in prod myself and the &#8220;LLM reviews LLM&#8221; loop is where confidence quietly inflates. The reviewer almost always likes the work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>6<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@xiaoyin_qu3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xiaoyin_qu3<\/a>&nbsp;Congrats on the launch.<\/p>\n<\/p>\n<p>If Astra is acting like an AI CEO assigning work across agents, how do you think about \u201corganizational memory\u201d and strategic consistency over time?<\/p>\n<\/p>\n<p>For example, if my priorities, tone, risk tolerance, or business model evolve over months, does Astra build a persistent understanding of how I operate; or is each workflow treated more independently?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@xiaoyin_qu3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xiaoyin_qu3<\/a>&nbsp;Hi Xiaoyin, congrats on the launch \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is really cool and terrifying at the same time. But I am curious how does the feedback loop works here. What I mean is that there is a hierarchy in real world company but for AI agents how does that work? Does it have designated AI agents for each role in company ? <\/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\/@dreaming_eversince\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dreaming_eversince<\/a>&nbsp;Yes \u2014 there\u2019s a real role structure. Astra acts as the AI CEO, and the specialists handle research, marketing, code, finance, legal, etc.<\/p>\n<p>The feedback loop happens in the task threads: your feedback stays attached to the work, and Astra watches active tasks and reroutes when needed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@dreaming_eversince\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dreaming_eversince<\/a>&nbsp;Yep, this a new age business, scary but sounds worth it if you&#8217;re a solo business owner looking to scale. I could also see the hurdles you&#8217;re talking about, i think i still don&#8217;t understand how it works too because i&#8217;m imagining some limitations will reveal themselves in practice <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is there any team or collaboration feature planned, or is it strictly personal use?<\/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\/@tanjum\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tanjum<\/a>&nbsp;Collaboration already! you can invite other human! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Feels like a clean way to turn strategy into something actually fun and addictive. If the gameplay depth matches the concept, this could easily become a go-to for anyone who enjoys building and scaling systems. Excited to see how far it goes \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@1mirul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@1mirul<\/a>&nbsp;rollercoaster tycoon except it&#8217;s real!! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>An AI running the <strong>entire<\/strong> thing is wild. But I want to test it out &#8211; I have $53 worth of credit but nothing happens. Did I miss something that says a subscription <strong>must<\/strong> be purchased to make this do anything other than chat with 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\/@vysible\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vysible<\/a>&nbsp;We are encountering spike of traffic today, and there is a long queue of tasks to dispatch. The system load will be back to normal later today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>bugs are everywhere. cant view skills, the main bug is in the chat and company creation function. it doesnt work. it is broken. no matter how many agents or claude codes and hermeses you put inside it, it doesnt work right. astra made tasks, none of them even started. charging 50$ for a trial, up to 1500$ for a broken product? the only good thing i see here is the buy a domain on <a href=\"https:\/\/namecheap.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">namecheap.com<\/a> option. maybe they should start a product hunt launch instead. terrible first, and last experience<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@xnuonux\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xnuonux<\/a>&nbsp;sorry can you dm <a href=\"mailto:qu@tycoon.us\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">qu@tycoon.us<\/a> your email. We will give free credit to compensate. We got overwhelming traffic and server cannot handle. So sorry! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The \u201cAI CEO\u201d framing is bold, but the useful bit here seems to be the approval boundary around work that touches real customers.<\/p>\n<\/p>\n<p>For the CMO agent specifically, I\u2019d love to see every public post\/campaign carry a small source trail: what customer language, positioning notes, or prior winning content it used, plus which parts were invented. That would make founder review much faster because you\u2019re judging both the output and whether the agent understood the business correctly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Solo iOS founder here building a relationship app on the side, exactly the indie-hacker persona you\u2019re describing. The HeyBoss + SkillBoss track record before Tycoon is the most impressive credibility on the board today, congrats on the launch!<\/p>\n<\/p>\n<p>What\u2019s Astra\u2019s actual signal for \u201cthis needs approval\u201d: per-agent confidence, category of task (publish vs draft, spend vs research), or learned from user behavior over time? Feels like getting this right is crucial to not immediately reverting to doing everything 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\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;all of the above. We already trained them from Our experience from there they will learn form you and improve. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;Thank you, Madalina!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Xiaoyin and team! really fascinating vision here. how does Astra decide when to escalate decisions to the founder versus letting agents execute autonomously?<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@owen_shaw2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@owen_shaw2<\/a>&nbsp;This is one of the core boundaries we designed Astra around.<\/p>\n<p>By default, low-risk, reversible, well-scoped execution can run autonomously through the right agents. But when something touches strategy, public publishing, customer communication, spend, production changes, or any irreversible action, Astra escalates it to the founder.<\/p>\n<p>The goal is not to keep the founder in every step, but to keep them in the decisions that actually require judgment and accountability.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting idea. Curious how Astra handles quality expectations, since every founder may define \u201cgood enough\u201d differently. Does it learn each user\u2019s satisfaction bar from approvals, edits, and rejections over time, or can users explicitly set the quality standard for different types of work?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@harshalvc_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harshalvc_ai<\/a>&nbsp;Great question. Right now we handle this through a mix of explicit standards + ongoing feedback.<\/p>\n<p>You can define things like brand voice, quality bar, constraints, and examples in workspace knowledge or directly in the task brief, and Astra routes that context to the right agent. Then your edits, pushback, and redos in the task thread stay attached to the work, so the team has that context going forward.<\/p>\n<p>For teams with very specific workflows, you can also create custom agents with their own role, process, and approval boundaries.<\/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>Curious how well it actually retains context over time \u2014 or if I\u2019d still end up re-explaining things every few steps. That\u2019s usually where most \u201cagentic\u201d tools start to break down.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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 branding around \u201cTycoon\u201d is interesting\u2014it subtly reinforces a mindset of building and growing wealth, which makes the product feel more motivational than purely functional.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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 <br \/>I am curious to is it possible to integrate the agent with meta mcp for directly running ADs and design creatives as well. Like is it capable of execution or only of strategy <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello,<\/p>\n<\/p>\n<p>I am having a lot of trouble with you product\/services. Worker pods are consistently failing with HTTP 402 at pod spawn despite active subscription, $99 balance, and $100 monthly spend limit. Happening across all tasks. Started after subscribing to the Tester plan. Multiple retries are wasting credits.<\/p>\n<p><em>Also, the &#8220;<\/em><a href=\"http:\/\/tycoon.us\/support\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>tycoon.us\/support<\/strong><\/a><strong>&#8221; page is not working. <\/strong><\/p>\n<\/p>\n<p>Please advice,<\/p>\n<\/p>\n<p>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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>When Astra creates a plan and assigns agents, how does it handle conflicts between agents \u2014 like if the CMO and CTO have competing priorities on the same sprint?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>API calls? Expensive? or different 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<div class=\"comment-item\">\n<div class=\"comment-content\">Sounds great. <\/p>\n<p>Unfortunately when going to the site it looks like you hit your bandwidth limit. (\u201cRate exceeded.\u201d)<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This feels like selling the shovel in a gold rush. Fantastic idea if executed well. $49\/mo is not much, but we dam well know it&#8217;s gonna get real expensive really fast. How do you guys optimize for token usage efficiency? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tawny_vetrax\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tawny_vetrax<\/a>&nbsp;Yes, we do have plan to token efficiency optimizations. But even with that, we still do not think it is going to be cheap, as it is about running a company, not an intern like assistant. So the costs are not only for token, but also for other stuff, like Ads budget. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the idea &#8211; however my group of first tasks say they are running but the threads show 0 sessions, 0 tool calls, 0 tokens used.  Restarting them didn&#8217;t help!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@will_dz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@will_dz<\/a>&nbsp;Yes, our system load has been swamped, too many tasks are in queue to process. And will be back to normal load 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\">Looks great. How does it manage token usage aka spend?<\/div>\n<div class=\"comment-actions\">\n<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\/@davem_0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@davem_0<\/a>&nbsp;We have plan to optimize token cost in the long run. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m curious how well does this work for a product idea that already is built. eg. A web app, marketing site are setup but all of the other functions besides AI Developer are needed? Will this trip up if it&#8217;s not fully in your ecosystem?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nb3004\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nb3004<\/a>&nbsp;Yes, a big portion of Tycoon is focused on non-engineering tasks, including marketing, sales (cold ping e.g.), competitive monitoring, etc. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It sounds exciting, but it also feels a bit frustrating. It might be better if we could see the actual results instead of just numerical promotion. At least, it&#8217;s not yet clear what problems are being solved? Is it about fewer people? For example, what effective growth can it bring to independent developers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@genglin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@genglin<\/a>&nbsp;just try it free!! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch! <br \/>I created an account and I think it\u2019s a very good product. <\/p>\n<p>I did a brief test of the experience and I really loved Astra in  general . <\/p>\n<\/p>\n<p>However, it would be interesting to be able to see the tasks in &#8216;To Do&#8217; on the same screen and interact with each one, either to add more details or to ask follow-up questions.<\/p>\n<p>Astra as a coordinator seems very good to me. It would be useful to be able to incorporate some &#8216;skills&#8217; into the brainstorming process; for example, when I want to explore options, Astra sometimes seems a bit too expeditious.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@federico_del_valle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@federico_del_valle<\/a>&nbsp;We have tasks Kanban in another tab. Love the idea of being better at brainstorming. We will take this feedback in next iteration. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 thought crossed my mind, if two founders used Tycoon for five years and then both disappeared, would the resulting companies become more similar over time because they\u2019re run by the same system or more different because each AI CEO has absorbed a unique history of decisions?<\/p>\n<p>It feels like the answer says something important about whether intelligence is coming from the model or from accumulated organisational memory.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@surabhi_minocha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@surabhi_minocha<\/a>&nbsp;unique. It\u2019s your company. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 text your CEO interaction model feels very natural. Did you intentionally design Tycoon to reduce dashboard complexity for founders?<\/p>\n<p><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@joshua_martinez7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joshua_martinez7<\/a>&nbsp;yes fuck dashboard. I hate dashboard.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 impressive to see AI agents handling the full business ops stack. Curious  how does Astra handle decisions that need brand context or tone? Like if a CMO agent is writing content, what&#8217;s feeding it the company&#8217;s voice? Excited to see where this 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ajay_singh89\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajay_singh89<\/a>&nbsp;Astra has access to all context of past and recurring tasks. It reads the past market research and track trajectory, so the context of the marketing development is continuous. Overtime, Astra also aligns the taste with business owner. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The HeyBoss \/ SkillBoss numbers are the part of the pitch I keep getting stuck on. Were those companies originally human-run and then handed to Astra? It&#8217;s a different credibility claim each way, and the cold-start version is the harder one to defend<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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\">Is this web version of paperclip?<\/div>\n<div class=\"comment-actions\">\n<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\/@stefano_delmanto\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@stefano_delmanto<\/a>&nbsp;better than that. We are an opinionated team with skills and paper clip is a tool. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the idea but how come you guys aren\u2019t a one-person company?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3CNKWNRFX4MONH\" class=\"app-title\">Mintlify Workflows<\/a><\/p>\n<div class=\"one-liner\">Self-updating knowledge bases<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">283<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Mintlify Workflows \u901a\u8fc7\u9884\u7f6e\u81ea\u52a8\u5316\u6d41\u7a0b\uff0c\u5728\u4ee3\u7801\u5408\u5e76\u6216\u4ea7\u54c1\u66f4\u65b0\u65f6\u81ea\u52a8\u540c\u6b65\u3001\u4fee\u590d\u548c\u7ffb\u8bd1\u77e5\u8bc6\u5e93\uff0c\u89e3\u51b3\u6587\u6863\u56e0\u4ea7\u54c1\u8fed\u4ee3\u8fc7\u5feb\u800c\u9891\u7e41\u201c\u8150\u70c2\u201d\u7684\u7ef4\u62a4\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\/dcd2135f-4f12-4bf5-b710-066f266248b5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/39d5ce62-e7ec-4e8b-b61b-97acb55d79f8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f886d5d-6e76-4084-b238-6c696d1c765f.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\/fb7009ca-5c16-4462-9df4-85327dac085c.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=eLUvPCLOCOk\"><source src=\"https:\/\/www.youtube.com\/watch?v=eLUvPCLOCOk\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Notes<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u77e5\u8bc6\u5e93\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">AI\u5199\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u66f4\u65b0\u65e5\u5fd7<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u7ffb\u8bd1<\/span><br \/>\n            <span class=\"tag\">SEO\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201cPR\u5408\u5e76\u540e\u81ea\u52a8\u66f4\u65b0\u6587\u6863\u201d\u7684\u8bbe\u8ba1\u601d\u8def\uff0c\u5e76\u53d1\u73b0\u7ea620%\u7684\u4ee3\u7801\u53d8\u66f4\u672c\u5e94\u9644\u5e26\u6587\u6863\u66f4\u65b0\u3002\u6838\u5fc3\u8d28\u7591\u96c6\u4e2d\u5728\u4fe1\u4efb\u8fb9\u754c\uff1aAI\u81ea\u52a8\u751f\u6210\u7684\u6587\u6863\u82e5\u51fa\u73b0\u9519\u8bef\uff08\u5c24\u5176\u662fAPI\u5f15\u7528\uff09\uff0c\u8c01\u6765\u515c\u5e95\uff1f\u7528\u6237\u5efa\u8bae\u589e\u52a0\u4eba\u5de5\u5ba1\u6838\u5c42\uff08\u5982\u6682\u5b58\u533a\uff09\u548c\u5931\u8d25\u53ef\u89c1\u6027\uff0c\u4ee5\u9632\u6084\u7136\u4f20\u64ad\u9519\u8bef\u4fe1\u606f\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Mintlify Workflows \u7684\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u628a\u201c\u6587\u6863\u7ef4\u62a4\u201d\u8fd9\u4e2a\u9690\u6027\u7ba1\u7406\u95ee\u9898\uff0c\u8f6c\u5316\u4e3a\u4e00\u4e2a\u53ef\u7f16\u7a0b\u7684\u81ea\u52a8\u5316\u7ba1\u7ebf\u3002\u4ece\u8868\u9762\u770b\uff0c\u5b83\u8282\u7701\u7684\u662f\u4eba\u529b\uff1b\u4ece\u6df1\u5c42\u770b\uff0c\u5b83\u89e3\u51b3\u7684\u662f\u201c\u6240\u6709\u6743\u95ee\u9898\u201d\u2014\u2014\u6587\u6863\u4e4b\u6240\u4ee5\u8150\u70c2\uff0c\u5f80\u5f80\u4e0d\u662f\u6ca1\u4eba\u4f1a\u5199\uff0c\u800c\u662f\u6ca1\u4eba\u8ba4\u9886\u90a3\u4e2a\u67af\u71e5\u7684\u66f4\u65b0\u5faa\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u9009\u62e9\u7684\u5207\u5165\u70b9\u5f88\u7cbe\u51c6\uff1a\u4ee3\u7801\u5e93\u540c\u6b65\u3001\u65ad\u94fe\u4fee\u590d\u3001\u7ffb\u8bd1\u3001\u54c1\u724c\u8bed\u6c14\u68c0\u6d4b\u3002\u8fd9\u4e9b\u90fd\u662f\u9ad8\u5ea6\u6a21\u5f0f\u5316\u3001AI\u66ff\u6362\u98ce\u9669\u4f4e\uff08\u56e0\u4e3a\u8fb9\u754c\u6e05\u6670\uff09\u7684\u4efb\u52a1\u3002\u4f46\u8bc4\u8bba\u4e2d\u66b4\u9732\u7684\u6838\u5fc3\u77db\u76fe\u4e0d\u5bb9\u5ffd\u89c6\uff1a\u5f53\u81ea\u52a8\u5316\u4ece\u201c\u8f85\u52a9\u8349\u7a3f\u201d\u5347\u7ea7\u4e3a\u201c\u76f4\u63a5\u53d1\u5e03\u201d\uff0c\u4fe1\u4efb\u5371\u673a\u5c31\u4f1a\u7206\u53d1\u3002API\u6587\u6863\u91cc\u4e00\u884c\u9519\u8bef\u4ee3\u7801\u9020\u6210\u7684\u540e\u679c\uff0c\u8fdc\u6bd4\u4e00\u7bc7\u8f6f\u6587\u8dd1\u8c03\u4e25\u91cd\u5f97\u591a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u51b3\u5b9aMintlify Workflows\u4e0a\u9650\u7684\uff0c\u4e0d\u662f\u5b83\u81ea\u52a8\u5316\u7684\u5e7f\u5ea6\uff0c\u800c\u662f\u5b83\u5904\u7406\u201c\u4e0d\u786e\u5b9a\u66f4\u65b0\u201d\u7684\u6df1\u5ea6\u3002\u76ee\u524d\u56e2\u961f\u627f\u8ba4\uff0c\u90e8\u5206\u5de5\u4f5c\u6d41\uff08\u5982\u7ffb\u8bd1\uff09\u53ef\u81ea\u52a8\u5408\u5e76\uff0c\u800c\u4ee3\u7801\u540c\u6b65\u7c7b\u4ecd\u9700\u4eba\u5de5\u5ba1\u6279\u3002\u8fd9\u79cd\u201c\u529f\u80fd\u5206\u5c42\u201d\u662f\u52a1\u5b9e\u7684\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u5b83\u5e76\u672a\u771f\u6b63\u89e3\u51b3\u6587\u6863\u81ea\u52a8\u5316\u7684\u7ec8\u6781\u96be\u9898\uff1a\u5982\u4f55\u5728\u65e0\u4eba\u770b\u7ba1\u65f6\uff0c\u8ba9\u673a\u5668\u81ea\u5df1\u5224\u65ad\u201c\u8fd9\u4e2a\u53d8\u66f4\u662f\u5426\u9700\u8981\u4eba\u7c7b\u786e\u8ba4\u201d\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u957f\u8fdc\u770b\uff0c\u6700\u5371\u9669\u7684\u5e76\u975e\u6280\u672f\u5931\u7075\uff0c\u800c\u662f\u201c\u81ea\u52a8\u5316\u6f02\u79fb\u201d\u2014\u2014\u591a\u4e2a\u5de5\u4f5c\u6d41\u76f8\u4e92\u53e0\u52a0\uff0c\u5bfc\u81f4\u6587\u6863\u7684\u8bed\u6c14\u3001\u7ed3\u6784\u3001\u751a\u81f3\u4e8b\u5b9e\u4f9d\u636e\u9010\u6e10\u504f\u79bb\u539f\u59cb\u610f\u56fe\u3002\u5982\u679cMintlify\u4e0d\u80fd\u5efa\u7acb\u4e00\u5957\u957f\u671f\u7684\u201c\u6587\u6863\u71b5\u589e\u76d1\u63a7\u673a\u5236\u201d\uff0c\u800c\u53ea\u662f\u4e0d\u65ad\u585e\u5165\u65b0\u7684\u9884\u7f6e\u5de5\u4f5c\u6d41\uff0c\u90a3\u5b83\u6700\u7ec8\u53ea\u4f1a\u5236\u9020\u51fa\u66f4\u591a\u3001\u66f4\u9690\u853d\u7684\u9519\u8bef\uff0c\u800c\u975e\u771f\u6b63\u53ef\u4fe1\u7684\u77e5\u8bc6\u5e93\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\">Mintlify Workflows<\/span>\n                <\/div>\n<div class=\"comment-content\">Keep your docs moving as fast as your product. Mintlify Workflows lets teams turn on pre-built automations that update knowledge bases, generate changelogs, maintain translations, and handle repetitive documentation tasks whenever triggered. Instead of chasing every product change manually, teams can set up Workflows once and let Mintlify keep docs accurate, current, and ready for users.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Hi Product Hunt community!<\/strong><\/p>\n<p>We are excited to introduce Mintlify Workflows<\/p>\n<p><strong>What is it?<\/strong><\/p>\n<p>Automations that keep your knowledge base up-to-date without manual upkeep. Pick a workflow, choose when it runs, and let it maintain itself.<\/p>\n<p><strong>Why now?<\/strong><\/p>\n<p>With recent AI advancements, the gap between what your product does and what your knowledge base grows wider, and closing it becomes a project of its own. We built Workflows to save you time and automate the busywork of maintaining knowledge bases so you can stay focused on shipping.<\/p>\n<p><strong>What&#8217;s included?<\/strong><\/p>\n<p>Each workflow is focused, tested, and ready to go. No prompts are required to write or maintain. We built them around the tasks teams want to automate the most:<\/p>\n<p>&#8211; Codebase updates: sync content when PRs merge to your code repo<br \/>&#8211; Changelog: draft entries from recent product updates on a recurring schedule<br \/>&#8211; Translations: automatically translate your content to increase reach<br \/>&#8211; Broken links: find and fix links automatically<br \/>&#8211; SEO: audit titles, meta tags, headings, and canonical tags<br \/>&#8211; Grammar: catch typos and grammar errors<br \/>&#8211; Brand tone: enforce your style guide&#8217;s voice and rules<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>17<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hahnbeelee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hahnbeelee<\/a>&nbsp;This is basically turning documents into a background process instead of a manual task.<br \/>If the workflows stay reliable, it quietly removes one of those always outdated problems every product team eventually runs into.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@hahnbeelee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hahnbeelee<\/a>&nbsp;This is a very natural next step for docs moving from write and maintain to sync and self-heal.<\/p>\n<p>If it actually keeps docs aligned with code changes in real time, it removes one of the most persistent hidden maintenance burdens in product teams. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hahnbeelee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hahnbeelee<\/a>&nbsp;Hey Hahnbee, congrats on shipping Workflows \ud83c\udf89<\/p>\n<p>The &#8220;docs as a project of its own that grows wider than your product&#8221; framing is exactly the pain. Most teams treat docs as a write-once artifact and then watch them rot.<\/p>\n<p>Question on the trust boundary: when a workflow auto-updates a doc from a PR merge and gets it subtly wrong (misleading commit message, an edge case the diff did not reveal), what catches it before users build on bad information? Docs are uniquely unforgiving here. A wrong line in an auto-generated changelog is annoying, but a wrong line in an API reference means developers ship broken integrations and blame themselves first.<\/p>\n<p>Is there a confidence threshold that routes uncertain updates to human review, a staging layer before docs go live, or is the bet that self-correcting workflows fix it on the next run? Asking because &#8220;maintains itself&#8221; only earns trust if the failure mode is visible, not silent.<\/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>never gonna have to bug someone to update the docs ever again<\/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>Writing docs by hand is archaic.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>can&#8217;t live without this product, workflows keep our docs totally updated. you&#8217;re the best!!!<\/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>we can&#8217;t live without autumn<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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!! Docs are always the first thing to rot when the product ships fast.<\/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\/@othman_katim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@othman_katim<\/a>&nbsp;one thing that really shocked me since turning this on is the amount of PRs that should have documentation changes. Most engineers on our team completely miss that a rename or rate limit change has corresponding documentation changes.<\/p>\n<\/p>\n<p>For us, around 20% of our source code changes solicit a documentation change. Our engineers definitely missed most of those updates.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is a game-changer &#8212; very excited to set it up with Slack and Notion!<\/p>\n<\/p>\n<p>curious what you&#8217;ve seen are the most popular integrations??<\/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>Starting an run when a linear issue is resolved is pretty common. We&#8217;ve been experimenting a lot with reading through support requests in plain to spot gaps in our documentation.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\/@hahnbeelee\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"hahnbeelee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hahnbeelee<\/a> Congrats, for the launch.<br \/>The PR merge trigger for codebase sync is the right design decision. Documentation drift usually starts the moment code ships and nobody updates the corresponding page. <br \/>But what I would like to know is that.. is the changelog workflow specifically: is it generating entries from commit messages, PR descriptions, or something deeper like actual diff analysis? The quality of auto-generated changelogs depends entirely on what signal it&#8217;s reading from.<\/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>100% agree here. The quality of the changelogs depends on the context you give it.<\/p>\n<\/p>\n<p>You can specify non documentation repositories for the agent to have access to. When the agent runs, it clones them to a VM where it can look through commit history on that repo, seeing the diffs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Feels like an intersting long-term shift here. Curious if the hardest problem here eventually becomes technical or behavioural. Most knowledge bases don\u2019t fail because information is missing.<\/p>\n<p>They fail because teams stop trusting them. How do you think about preserving organisational trust once docs become AI-maintained instead of human-maintained?<\/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\/@surabhi_minocha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@surabhi_minocha<\/a>&nbsp;That\u2019s probably the core challenge. Once people catch even a few confident-but-wrong updates, trust collapses fast. AI-maintained docs likely need transparent change histories, human approvals, and clear source attribution otherwise team stop treating the knowledge base as a source of truth.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@surabhi_minocha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@surabhi_minocha<\/a>&nbsp;Hi! Great question. We have workflows like Translations which we feel can be greatly AI maintained and are often on auto merge. Other workflows such as Content sync with code we often see approval required for the or to merge, meaning having someone on a teams eyes on them is important. We don\u2019t think this aspect will completely disappear, and keeping trust in the loop is something we will continue thinking about.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is awesome!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vmatsiiako\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vmatsiiako<\/a>&nbsp;Thank you Vlad!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Super interesting addition to the Mintlify ecosystem. It\u2019s tough to keep up with documentation when you\u2019re shipping fast, so pre-built automations make a ton of sense. How tightly does this integrate with version control systems like GitHub or GitLab triggers? Can we customize the automated changelog generation based on specific commit tags?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dreaming_eversince\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dreaming_eversince<\/a>&nbsp;today is only works by listening to PR opens and merges in GitHub or GitLab. We will be shipping more version control triggers 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>This is a good example of automation being useful because it removes a recurring ownership problem, not just a one-time task. Docs usually break because no one owns the boring update loop, so tying workflows to product changes makes a lot of sense.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alpertayfurr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alpertayfurr<\/a>&nbsp;We\u2019re glad you think so, too! I hope you are enjoying using Workflows, and if you haven\u2019t given them a try yet, I hope you do and let us know what you think.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Self-updating knowledge bases is the right framing \u2014 docs rot has always been an attention problem, not a tooling one. Curious how you handle conflicts when the codebase update workflow and the brand-tone workflow want different things in the same paragraph \u2014 does the user arbitrate, or does one always win?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eran_shayshon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eran_shayshon<\/a>&nbsp;terrific questions &#8211; this is something we&#8217;ve been thinking a lot about!<\/p>\n<\/p>\n<p>Right now, if you have any of our maintenance PRs turned on (brand-tone, SEO audit, etc.), those practices will be automatically applied to other workflow outputs via a follow-up commit.<\/p>\n<p>For example, <a href=\"https:\/\/github.com\/mintlify\/docs\/pull\/5807\/commits\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here is a documentation PR<\/a> we have open right now. You can see there is a follow up commit from workflows adding translations.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the direction of self-maintaining docs\u2014feels like a natural evolution as teams ship faster.<\/p>\n<p>One thing I\u2019m curious about: over time, as multiple workflows keep updating the same docs, how do you prevent \u201cautomation drift\u201d where tone, structure, or even intent slowly diverges from the original?<\/p>\n<p>Is there a way to enforce a kind of long-term consistency beyond just individual workflow rules?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Docs going stale the moment your product ships is such a silent killer for dev teams. The PR merge trigger is genuinely the right hook cause that&#8217;s exactly when things break. One thing I&#8217;m curious about though, can it detect when a feature gets fully removed and proactively flag the outdated docs before users hit a dead end?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>When the codebase changes significantly, how does Mintlify handle keeping existing docs in sync \u2014 does it flag drift automatically or is that still a manual process?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">The best teams build the best products. Period.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp;I joined a few weeks ago and can already say this team is incredible at what they do! We obsess over the details to make it the best experience we can for our users. We want them to enjoy using our features as much as we enjoy building 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>  Self-updating docs is one of those things you don&#8217;t realize you need desperately until you&#8217;ve spent an afternoon hunting for the one endpoint that changed three PRs ago. As a solo founder I always deprioritize documentation and then pay for it later. How does it detect what changed \u2014 does it watch the codebase directly or does it work from commit diffs?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>We couldn&#8217;t agree more! It&#8217;s been shocking to see that 1\/5 PRs for us internally needed a documentation change.<\/p>\n<\/p>\n<p>It monitors when new PRs get opened in your source code repositories!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 codebase update workflow is actually intriguing. Keeping docs aligned with merged PRs is something that every developer team struggles eventually. Just wondering if the system is capable of detecting when code change actually impacts user-facing behavior versus internal refactors.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@aayushi6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aayushi6<\/a>&nbsp;I&#8217;d be interested to hear you experience with it. <br \/>For us, only about 20% of our codebase PRs the agent classifies as needing a documentation change. We accept about 50% of those.<\/p>\n<p>There is a lot more we will be doing to improve the accuracy. We still want a human in the loop for now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the idea of self-maintaining knowledge bases. One thing I\u2019m curious about is how do you balance the accuracy with the speed of automation, especially for technical products where a small hallucination can create major implementation issues?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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! This problem is one of the things we&#8217;ve bee focusing closely on.<\/p>\n<p>You can set each Workflows to be on auto-merge or require review. For workflows like translating or applying seo best practice, internally we have set those set to merge automatically. For high risk ones like our changelog, we still have a human in the loop.<\/p>\n<\/p>\n<p>Would be interested to hear if it strikes that balance well for you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It would probably also be great to use something like this for user-facing release updates \u2014 automatically generating feature announcements, changelogs, and product update posts whenever something changes.\u263a\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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@julia_bar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julia_bar<\/a>&nbsp;this is exactly what we are trying to nail! The tricky part is that these often needed context outside of just source code changes. That is why there often needs to be a human in the loop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/BVJYKCZ724TDTG\" class=\"app-title\">Google Antigravity 2.0<\/a><\/p>\n<div class=\"one-liner\">Orchestrate multi-agent workflows from a desktop app<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">253<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Google Antigravity 2.0 \u662f\u4e00\u6b3e\u72ec\u7acb\u7684\u684c\u9762\u5e94\u7528\uff0c\u8ba9\u5f00\u53d1\u8005\u80fd\u50cf\u8c03\u5ea6Cron\u4efb\u52a1\u4e00\u6837\uff0c\u5728\u540e\u53f0\u5e76\u884c\u7f16\u6392\u591aAI\u667a\u80fd\u4f53\uff0c\u6446\u8131\u201c\u63d0\u793a-\u7b49\u5f85-\u54cd\u5e94\u201d\u7684\u5faa\u73af\u675f\u7f1a\uff0c\u5b9e\u73b0\u751f\u4ea7\u7ea7\u667a\u80fd\u4f53\u5de5\u4f5c\u6d41\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a303cd08-7a9d-4897-9269-15bf1cd7ebf0.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\/974648e7-165f-4cf3-8d47-90a3bf4c9b5b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8012cefc-949c-486a-8726-2788853d5f8e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a7e61fcb-be14-4c64-bb15-db094af95a16.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/79d884e0-87a1-4771-ab5f-e83f8d61e39f.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\/bce549af-8764-4955-9533-9bce796349b1.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=6C0FjHoN3qE\"><source src=\"https:\/\/www.youtube.com\/watch?v=6C0FjHoN3qE\" 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\">Task Management<\/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\u667a\u80fd\u4f53\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u5e76\u884c<\/span><br \/>\n            <span class=\"tag\">\u540e\u53f0\u4efb\u52a1\u8c03\u5ea6<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Google AI Studio<\/span><br \/>\n            <span class=\"tag\">Firebase\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">Android\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u57fa\u7840\u8bbe\u65bd<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5e76\u884c\u5b50\u667a\u80fd\u4f53\u548c\u540e\u53f0\u8c03\u5ea6\u662f\u6838\u5fc3\u7a81\u7834\uff0c\u8ba4\u4e3a\u5176\u4ece\u201c\u8f85\u52a9\u201d\u8f6c\u5411\u201c\u57fa\u7840\u8bbe\u65bd\u201d\u3002\u4e3b\u8981\u7591\u95ee\u805a\u7126\u4e8e\uff1a\u5e76\u884c\u667a\u80fd\u4f53\u95f4\u5171\u4eab\u4e0a\u4e0b\u6587\u4e0e\u72b6\u6001\u540c\u6b65\u7684\u51b2\u7a81\u673a\u5236\uff1b\u957f\u65f6\u95f4\u8fd0\u884c\u4efb\u52a1\u7684\u4e0a\u4e0b\u6587\u7a97\u53e3\u6ea2\u51fa\u4e0e\u65ad\u70b9\u6062\u590d\uff1b\u540e\u53f0\u81ea\u52a8\u5316\u6240\u4ea7\u751f\u7684\u5de5\u4f5c\u75d5\u8ff9\u4e0e\u53ef\u5ba1\u8ba1\u6027\uff1b\u4ee5\u53ca\u72ec\u7acb\u4e8eIDE\u540e\uff0c\u662f\u5426\u610f\u5473\u7740\u4e0d\u518d\u9700\u8981\u63a5\u89e6\u4ee3\u7801\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                Antigravity 2.0 \u6700\u7280\u5229\u7684\u52a8\u4f5c\uff0c\u4e0d\u662f\u529f\u80fd\u8fed\u4ee3\uff0c\u800c\u662f\u54c1\u7c7b\u91cd\u5851\u3002\u5f53Cursor\u4eec\u8fd8\u5728\u5377\u8c01\u66f4\u61c2\u4f60\u7684\u4ee3\u7801\u8865\u5168\u65f6\uff0cGoogle\u76f4\u63a5\u628a\u667a\u80fd\u4f53\u4eceIDE\u4e2d\u5265\u79bb\uff0c\u8d4b\u4e88\u5b83\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u522b\u7684\u540e\u53f0\u5e38\u9a7b\u4e0e\u8c03\u5ea6\u80fd\u529b\u3002\u8fd9\u7b49\u4e8e\u5411\u884c\u4e1a\u5ba3\u544a\uff1a\u672a\u6765\u7684\u5f00\u53d1\u8005\u4e0d\u662f\u201c\u63d0\u793a\u5de5\u7a0b\u5e08\u201d\uff0c\u800c\u662f\u201c\u667a\u80fd\u4f53\u8fd0\u7ef4\u5e08\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\uff0c\u5b83\u5207\u4e2d\u4e86\u5f53\u524dAI\u7f16\u7a0b\u5de5\u5177\u7684\u81f4\u547d\u4f24\u2014\u2014\u867d\u7136\u80fd\u5199\u4ee3\u7801\uff0c\u4f46\u4f9d\u7136\u9700\u8981\u4f60\u76ef\u7740\u5b83\u5199\u3002Antigravity 2.0 \u5f15\u5165\u4e86\u65f6\u95f4\u7ef4\u5ea6\uff08\u540e\u53f0\u8c03\u5ea6\uff09\u548c\u7a7a\u95f4\u7ef4\u5ea6\uff08\u5e76\u884c\u5b50\u4f53\uff09\uff0c\u5c06AI\u4ece\u4f1a\u8bdd\u5f0f\u5de5\u5177\u53d8\u6210\u4e86\u6d41\u7a0b\u5316\u57fa\u7840\u8bbe\u65bd\u3002\u8fd9\u5bf9\u4e8e\u590d\u6742\u9879\u76ee\u3001\u8de8\u5de5\u7a0b\u6d4b\u8bd5\u3001\u4ee5\u53ca\u975e\u540c\u6b65\u534f\u4f5c\u7684\u56e2\u961f\u6765\u8bf4\uff0c\u662f\u6548\u7387\u7684\u6307\u6570\u7ea7\u63d0\u5347\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u8d28\u7591\u540c\u6837\u5c16\u9510\uff1a\u5e76\u884c\u667a\u80fd\u4f53\u5f15\u53d1\u72b6\u6001\u51b2\u7a81\u3001\u4e0a\u4e0b\u6587\u4e22\u5931\u3001\u5ba1\u8ba1\u7f3a\u5931\uff0c\u8fd9\u4e9b\u95ee\u9898\u5728\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\uff0c\u66b4\u9732\u51fa\u4ea7\u54c1\u5728\u201c\u7f16\u6392\u5c42\u201d\u4e4b\u4e0a\u7684\u201c\u6cbb\u7406\u5c42\u201d\u5c1a\u663e\u5355\u8584\u3002\u82e5\u4e0d\u80fd\u63d0\u4f9b\u6e05\u6670\u7684\u6267\u884c\u5feb\u7167\u3001\u51b2\u7a81\u68c0\u6d4b\u548c\u56de\u6eda\u673a\u5236\uff0c\u540e\u53f0\u7684\u201c\u81ea\u4e3b\u6027\u201d\u5c06\u8fc5\u901f\u53d8\u6210\u201c\u707e\u96be\u6027\u201d\u3002\u6b64\u5916\uff0c\u5b8c\u5168\u53bbIDE\u5316\uff0c\u4e5f\u610f\u5473\u7740\u5b83\u5fc5\u987b\u76f4\u9762Claude Code\u548cCodex\u5728\u4e0a\u4e0b\u6587\u611f\u77e5\u548c\u5b9e\u65f6\u534f\u4f5c\u4e0a\u5df2\u7ecf\u5efa\u7acb\u7684\u58c1\u5792\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aAntigravity 2.0 \u5b9a\u4e49\u4e86\u4e00\u4e2a\u65b0\u8d5b\u9053\uff0c\u4f46\u80fd\u5426\u8dd1\u901a\uff0c\u53d6\u51b3\u4e8e\u5b83\u540e\u7eed\u5982\u4f55\u8865\u4e0a\u5206\u5e03\u5f0f\u7cfb\u7edf\u4e2d\u6700\u6838\u5fc3\u7684\u90a3\u5802\u8bfe\u2014\u2014\u53ef\u9760\u6027\u4e0e\u53ef\u89c2\u6d4b\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\">Google Antigravity 2.0<\/span>\n                <\/div>\n<div class=\"comment-content\">Google Antigravity 2.0 is a standalone desktop app for orchestrating multiple AI agents in parallel, with scheduled background tasks, subagent workflows, and native integrations with AI Studio, Firebase, and Android. Built for developers building production apps.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Google just separated the agent manager from the IDE and shipped it as its own desktop app.<\/p>\n<\/p>\n<p><strong>What it is:<\/strong> <strong>Antigravity 2.0<\/strong> is a standalone desktop application built entirely around orchestrating multiple AI agents in parallel, scheduling background tasks, and managing subagent workflows across projects.<\/p>\n<\/p>\n<p>Most AI coding tools still make you sit in the loop: prompt, wait, respond, repeat. Antigravity 2.0 breaks that pattern by letting agents run in the background on cron-like schedules, work in parallel across subagents, and carry full project context from AI Studio to your local environment in one click.<\/p>\n<ul>\n<li>\n<p>Run multiple agents simultaneously across parallelized subagent workflows<\/p>\n<\/li>\n<li>\n<p>Schedule tasks that trigger agents automatically in the background<\/p>\n<\/li>\n<li>\n<p>Export full projects from Google AI Studio to local development with one click<\/p>\n<\/li>\n<li>\n<p>Connect natively with Firebase and Android<\/p>\n<\/li>\n<li>\n<p>Issue voice commands instead of typing prompts<\/p>\n<\/li>\n<li>\n<p>Use the CLI for terminal-native work or the SDK to deploy custom agents on your own infrastructure<\/p>\n<\/li>\n<\/ul>\n<p>If you&#8217;re a software developer or engineering team that has outgrown one-shot prompting and wants agents running across your build loop without babysitting them, this is built for that workflow.<\/p>\n<\/p>\n<p>P.S. I hunt the latest and greatest launches in tech, SaaS and AI, follow to be notified <strong>\u2192<\/strong> <a href=\"https:\/\/www.producthunt.com\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>23<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a>&nbsp;Curious about the orchestration layer here; how are you handling shared context, dependency conflicts, and state sync between parallel subagents when multiple agents are modifying the same project simultaneously, especially for long-running scheduled workflows outside the IDE?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a>&nbsp;This is basically the shift from AI as assistant \u2192 AI as background infrastructure.<br \/>Feels like coding is slowly becoming agent orchestration, not prompting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a>&nbsp;Antigravity seems to be shifting toward something closer to distributed task orchestration, where agents become long-running processes instead of \u201csessions.\u201d<\/p>\n<p>My question is how are you thinking about state management and failure recovery across parallel subagents over time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Never used the IDE version much either. The subagent workflow is where it gets interesting: running parallel agents without babysitting each one is the shift that makes this feel different from Cursor or Claude Code. The background scheduling is a nice touch too. Excited to see how far they push the Firebase and Android integrations.<\/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\/@ayushi18\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ayushi18<\/a>&nbsp; Same here on skipping the IDE. The background scheduling is the sleeper feature. Being able to queue agent runs and come back to results changes how you think about coding 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Antigravity 2.0 is awesome! I never used the IDE anyway, so I am glad that this VS Code stuff is gone. I like the subagent stuff and the new way projects are being organized. The switch could have been smoother, but I do like it. <\/p>\n<p>Also: Gemini 3.5 Flash is awesome! \ud83d\ude0e<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how to make this bunch of ai agents run in the background so as not to allow burn all tokens my tokens at all? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I tried 1.0. I liked one or two things. <\/p>\n<p>I\u2019m a daily user of Codex and CC and planning to add one or two more. <\/p>\n<p>Should Antigravity be one of them?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I am still not getting the point of removing the whole IDE, are we finally accepting that we no more need to write a code or even see it.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Scheduled agent work gets interesting the moment a team comes back later and has to decide whether a run is safe to accept or needs review. I would want every scheduled task to leave a small receipt: owner, allowed capability set, files or services touched, stop reason, and whether it completed, paused, or hit a guardrail. Without that, background autonomy can create more context debt than leverage.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Most software abstractions succeed when they hide complexity. Multi-agent systems seem to be doing the opposite, exposing planning, delegation, coordination, and supervision as first-class concepts.<\/p>\n<p>Do you think the future interface is actually a visible org chart of agents, or does that disappear entirely once the system becomes reliable enough?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>google shipping a standalone agent orchestrator separate from the IDE says a lot about where this space is heading. agents aren&#8217;t a feature inside dev tools anymore they&#8217;re becoming their own 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<div class=\"comment-item\">\n<div class=\"comment-content\">Give us back the old version, where you could work on the code, both in IDE mode and in terminal mode.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 have used Antigravity IDE Version before to make projects during hackathons, academic projects. What I like about using it, is it&#8217;s way of interpreting the user&#8217;s written prompts or instructions in a structured way as it&#8217;s finishing a to do list one at a time. With the upgrade of 2.0, I am sure the ability of achieving multi tasking through multi agent feature would be a significant update.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Parallel agents are powerful, but the monitoring layer is what makes this actually usable. Once multiple agents work at the same time, the hard part becomes catching conflicts, knowing what changed, and deciding what needs human review.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alpertayfurr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alpertayfurr<\/a>&nbsp; Agreed on the monitoring piece. We run parallel agents and trace logging with diff views is what makes it manageable. The scheduling for CI-like background runs is a smart addition.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Google announced so many Antigravity updates lately SDK, CLI, etc. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Scheduled background tasks is the part I&#8217;d actually use. Quick question though, what happens when an agent task runs longer than the context window? Does the subagent remember where it left off between runs or start fresh each time? That&#8217;s the wall I keep hitting building with agents lately.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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\u2019ve used Antigravity IDE for hackathons and projects\u2014I like how it turns prompts into structured, step-by-step tasks. Excited to see how the multi-agent feature in 2.0 improves multitasking.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/XOSAFL3LHXMWZZ\" class=\"app-title\">WeWeb 3.0<\/a><\/p>\n<div class=\"one-liner\">Vibe-code apps with the safety net of a no-code editor<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">249<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>WeWeb 3.0 \u662f\u4e00\u6b3e\u8ba9\u975e\u6280\u672f\u4eba\u5458\u901a\u8fc7AI\u5feb\u901f\u751f\u6210\u5e94\u7528\u540e\uff0c\u4ecd\u80fd\u4f7f\u7528\u53ef\u89c6\u5316\u65e0\u4ee3\u7801\u7f16\u8f91\u5668\u8fdb\u884c\u7cbe\u7ec6\u4fee\u6539\u548c\u638c\u63a7\u7684AI\u5e94\u7528\u6784\u5efa\u5de5\u5177\uff0c\u89e3\u51b3\u4e86AI\u5efa\u7ad9\u201c\u53ea\u80fd\u751f\u6210\uff0c\u65e0\u6cd5\u7f16\u8f91\u548c\u638c\u63a7\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\/90fff7f9-046d-46b1-88b8-581ae3d125bc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b916cb34-a225-42a4-b89a-55b12bdfc494.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/156ac76b-8914-417b-bab1-0e7b113d14cc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d05e6f12-c15c-4d74-b0ad-234632abce87.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/69e86252-17fb-45cf-a959-00cec30eec72.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c072564f-503c-44a9-8e33-0bfba726eac7.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\/3f06a5c4-cff6-4951-8d11-2e7432b67e02.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/KenR4vRW_KA\"><source src=\"https:\/\/youtu.be\/KenR4vRW_KA\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Website Builder<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5e94\u7528\u6784\u5efa\u5668<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u540e\u7aef\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u62d6\u62fd\u5f0f\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u539f\u578b\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5feb\u901f\u8fed\u4ee3<\/span><br \/>\n            <span class=\"tag\">Vue.js<\/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\u540cAI\u5efa\u7ad9\u540e\u65e0\u6cd5\u7f16\u8f91\u7684\u75db\u70b9\uff0c\u79f0\u8d5eWeWeb\u63d0\u4f9b\u53ef\u89c6\u5316\u7f16\u8f91\u5668\u4f5c\u4e3a\u201c\u5b89\u5168\u7f51\u201d\u3002\u7528\u6237\u8be2\u95ee\u4e86\u5982\u4f55\u786e\u4fddAI\u751f\u6210\u7684\u540e\u53f0\u5b89\u5168\u6027\uff0c\u4ee5\u53ca\u80fd\u5426\u5c06\u5e94\u7528\u8f6c\u51fa\u81f3\u81ea\u6709GitHub\u6258\u7ba1\uff0c\u5e76\u5f97\u5230\u80af\u5b9a\u7b54\u590d\u3002\u53e6\u6709\u7528\u6237\u5efa\u8bae\u652f\u6301MCP\u534f\u8bae\u548c\u81ea\u6709\u6a21\u578b\u5bfc\u5165\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                WeWeb 3.0\u7cbe\u51c6\u5730\u5207\u5165\u4e86\u4e00\u4e2a\u884c\u4e1a\u666e\u904d\u4f46\u672a\u88ab\u5f88\u597d\u89e3\u51b3\u7684\u75db\u70b9\uff1aAI\u751f\u6210\u5185\u5bb9\u7684\u201c\u4e0d\u53ef\u7f16\u8f91\u6027\u201d\u3002\u5f53\u5927\u591a\u6570AI\u5e94\u7528\u6784\u5efa\u5668\u505c\u7559\u5728\u201c\u70ab\u6280\u5f0f\u201d\u7684Demo\u751f\u6210\u9636\u6bb5\u65f6\uff0cWeWeb\u9009\u62e9\u4e86\u4e00\u6761\u66f4\u96be\u4f46\u66f4\u6709\u4ef7\u503c\u7684\u8def\u2014\u2014\u5c06AI\u7684\u901f\u5ea6\u4e0e\u65e0\u4ee3\u7801\u7f16\u8f91\u5668\u7684\u63a7\u5236\u529b\u6df1\u5ea6\u7ed3\u5408\u3002\u5176\u201c\u53ef\u7406\u89e3\u3001\u53ef\u4fee\u6539\u3001\u53ef\u638c\u63a7\u201d\u7684\u7406\u5ff5\uff0c\u672c\u8d28\u4e0a\u662f\u5bf9\u5f53\u524dAI\u5f00\u53d1\u8303\u5f0f\u7684\u4e00\u6b21\u7ea0\u504f\uff0c\u5b83\u627f\u8ba4AI\u662f\u5f3a\u5927\u7684\u8d77\u70b9\uff0c\u800c\u975e\u7ec8\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6280\u672f\u89d2\u5ea6\u770b\uff0cWeWeb\u751f\u6210\u6807\u51c6\u7684Vue.js SPA\u548cNode.js\u540e\u7aef\uff0c\u5e76\u652f\u6301\u5bfc\u51fa\u81f3GitHub\u81ea\u4e3b\u6258\u7ba1\uff0c\u8fd9\u6781\u5927\u5730\u964d\u4f4e\u4e86\u5382\u5546\u9501\u5b9a\u98ce\u9669\uff0c\u5bf9\u5f00\u53d1\u8005\u53cb\u597d\u3002\u8fd9\u79cd\u5f00\u6e90\u6027\u7b56\u7565\uff0c\u4f7f\u5176\u533a\u522b\u4e8e\u90a3\u4e9b\u4f9d\u8d56\u79c1\u6709\u6846\u67b6\u7684\u201c\u9ed1\u7bb1\u201d\u5de5\u5177\uff0c\u66f4\u5177\u4e13\u4e1a\u6027\u548c\u53ef\u4fe1\u5ea6\u3002\u4ea7\u54c1\u6210\u529f\u7684\u5173\u952e\u5728\u4e8e\u5bf9\u201c\u540eAI\u751f\u6210\u9636\u6bb5\u201d\uff08\u5373\u90a3\u4e2a\u8ba9\u975e\u6280\u672f\u7528\u6237\u675f\u624b\u65e0\u7b56\u7684\u201c80%\u8282\u70b9\u201d\uff09\u7684\u653b\u514b\uff0c\u901a\u8fc7\u53ef\u89c6\u5316\u7f16\u8f91\u5668\u8ba9\u7528\u6237\u7406\u89e3\u903b\u8f91\u548c\u6570\u636e\u7ed3\u6784\uff0c\u8fd9\u662f\u771f\u6b63\u8d4b\u80fd\u975e\u6280\u672f\u7528\u6237\u7684\u6838\u5fc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u6311\u6218\u540c\u6837\u663e\u8457\u3002\u4e00\u4f4d\u7528\u6237\u63d0\u51fa\u7684\u540e\u53f0\u5b89\u5168\u95ee\u9898\u975e\u5e38\u7280\u5229\uff1a\u5f53AI\u81ea\u52a8\u5316\u6784\u5efa\u6d89\u53ca\u652f\u4ed8\u3001\u6570\u636e\u5e93\u548c\u7b2c\u4e09\u65b9API\u65f6\uff0c\u7f3a\u4e4f\u6280\u672f\u80cc\u666f\u7684\u7528\u6237\u5982\u4f55\u786e\u4fdd\u4ee3\u7801\u5c42\u9762\u7684\u5b89\u5168\u6027\uff1f\u8fd9\u4e0d\u4ec5\u662fWeWeb\uff0c\u4e5f\u662f\u6574\u4e2aAI+\u65e0\u4ee3\u7801\u9886\u57df\u9700\u8981\u4e25\u8083\u56de\u7b54\u7684\u95ee\u9898\u3002\u4ea7\u54c1\u5fc5\u987b\u5185\u7f6e\u5b89\u5168\u5ba1\u8ba1\u548c\u98ce\u9669\u9884\u8b66\u673a\u5236\uff0c\u5426\u5219\u5feb\u901f\u6784\u5efa\u51fa\u7684\u53ea\u80fd\u662f\u5145\u6ee1\u6f0f\u6d1e\u7684\u201c\u7f8e\u4e3d\u5e9f\u7269\u201d\u3002\u6b64\u5916\uff0c\u4ea7\u54c1\u672a\u6765\u7684\u7ade\u4e89\u529b\u5728\u4e8e\u5176\u5e95\u5c42AI\u6a21\u578b\u7684\u8fed\u4ee3\u80fd\u529b\u548c\u5bf9MCP\u3001\u81ea\u5b9a\u4e49\u6a21\u578b\u7b49\u9ad8\u7ea7\u529f\u80fd\u7684\u652f\u6301\u3002\u603b\u4f53\u800c\u8a00\uff0cWeWeb 3.0\u4e0d\u662f\u4e00\u4e2a\u5b8c\u7f8e\u7684\u6210\u54c1\uff0c\u800c\u662f\u73b0\u9636\u6bb5\u6700\u5177\u8bda\u610f\u7684\u201cAI+\u65e0\u4ee3\u7801\u201d\u5b9e\u8df5\u8303\u672c\uff0c\u5176\u540e\u7eed\u5728\u5b89\u5168\u6027\u548c\u751f\u6001\u5f00\u653e\u6027\u4e0a\u7684\u6f14\u8fdb\uff0c\u5c06\u51b3\u5b9a\u5b83\u80fd\u5426\u4ece\u201c\u597d\u7528\u7684\u5de5\u5177\u201d\u8dc3\u5347\u4e3a\u201c\u65b0\u4e00\u4ee3\u5e94\u7528\u5f00\u53d1\u7684\u57fa\u77f3\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\">WeWeb 3.0<\/span>\n                <\/div>\n<div class=\"comment-content\">WeWeb is the only AI app builder that gives full editing control to non-coders. Prompt AI to generate your app, then refine every screen, workflow, and database in a powerful no-code editor where you always understand what\u2019s happening under the hood. No more black box.<\/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 Hunters \ud83d\udc4b<\/p>\n<p>Raphael, WeWeb CEO &amp; co-founder here.<\/p>\n<\/p>\n<p>WeWeb is <em>THE<\/em> AI app builder for non-technical users: it lets you generate full applications with AI, then customize every part visually with a drag-and-drop editor.<\/p>\n<p>Over the past year, we&#8217;ve all watched AI transform how fast you can build web apps.<\/p>\n<p>But what happens after the prompt?<\/p>\n<\/p>\n<p>For most non-technical builders, AI generation hits the same wall: you create something impressive in minutes\u2026 then get stuck at 80%.<\/p>\n<p>You can&#8217;t really edit the output. You don&#8217;t understand what&#8217;s under the hood. One wrong click and everything breaks.<\/p>\n<p><strong>We are fixing that.<\/strong><\/p>\n<p>WeWeb is the AI app builder for people who want to understand what they&#8217;re creating: where AI speed meets no-code control.<\/p>\n<p>Generate full apps with UIs, workflows, and data structures in minutes.<\/p>\n<p>Then use the drag &amp; drop editor to inspect exactly what the AI produced, modify any part visually, and publish your app in one-click.<\/p>\n<p><strong>What can you build with WeWeb?<\/strong><\/p>\n<ul>\n<li>\n<p>SaaS products that scale to millions of users<\/p>\n<\/li>\n<li>\n<p>AI-native applications<\/p>\n<\/li>\n<li>\n<p>Internal tools and operations platforms<\/p>\n<\/li>\n<li>\n<p>Client portals, ERPs, and CRMs<\/p>\n<\/li>\n<\/ul>\n<p>Backed by YC, WeWeb is used by solo founders, startups, scaleups, and companies like PwC, L&#8217;Or\u00e9al or D\u00e9cathlon to ship production-grade apps at scale.<\/p>\n<\/p>\n<p>I&#8217;d love to hear your feedback &#8211; ask me anything, I&#8217;ll be here all day \ud83d\ude42<\/p>\n<p>\ud83c\udf81 Exclusive for the Product Hunt community: Use code PH2026 for 20% lifetime discount on any plan. You have one week to take advantage of this exclusive PH discount, don&#8217;t waste time!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>28<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raphael_goldsztejn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raphael_goldsztejn<\/a>&nbsp;WeWeb is i think the gold standard in the world for building scalable secure production grade Progressive Web Apps. Their USP is their continuously growth centric attitude reflected in their upgrades, integrations and customer centric approach. Keep it up!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raphael_goldsztejn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raphael_goldsztejn<\/a>&nbsp;Hey Rapha\u00ebl, congrats on shipping 3.0 \ud83c\udf89<\/p>\n<p>The &#8220;AI gets you to 80% then you are stuck, one wrong click and it breaks&#8221; framing is exactly right, and the visual editor as the safety net is a smart answer to it.<\/p>\n<p>One question on the part of &#8220;under the hood&#8221; that non-coders cannot see even with a visual editor: backend security. When AI generates an app that connects to Stripe, Supabase, or an external API, who guards against the generated config exposing keys client-side or leaving an endpoint open? A non-coder visually understands the UI and the workflow, but they cannot eyeball whether the data layer is safe. Does WeWeb sanitize that automatically, flag risky configs, or is the assumption that the user brings their own backend discipline? Asking because that gap is where most no-code plus AI apps quietly ship vulnerabilities.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raphael_goldsztejn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raphael_goldsztejn<\/a>&nbsp;Congrats on the launch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Huge congrats on the launch \ud83c\udf89<\/p>\n<\/p>\n<p>We built <a href=\"http:\/\/gamercoin.co\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">gamercoin.co<\/a> \/ <a href=\"http:\/\/gamerperks.co\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">gamerperks.co<\/a> on WeWeb to test an idea fast, with little coding experience between us. The pitch in this launch is exactly what made it work for us. We could get something real off the ground, then actually go in and edit the UI, logic, and data without staring at code we didn&#8217;t understand. WeWeb is the reason we got past it.<\/p>\n<p>Rooting for the team today \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>This already made my day <a href=\"https:\/\/www.producthunt.com\/@alenzeli_ramji\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"alenzeli_ramji\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alenzeli_ramji<\/a> \ud83d\ude4f <\/p>\n<p>So glad WeWeb helped you get past that first wall. Rooting for Gamerperks! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Very cool<a href=\"https:\/\/www.producthunt.com\/@alenzeli_ramji\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alenzeli_ramji<\/a>, gamerperks looks amazing! \ud83d\ude00 &#8220;without staring at code we didn&#8217;t understand&#8221; -&gt; as a fairly technical non-coder, I feel you! Short code snippets I can usually understand and edit confidently but complex logic in a full-blown app? No way!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Love what you built <a href=\"https:\/\/www.producthunt.com\/@alenzeli_ramji\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alenzeli_ramji<\/a> The UI is awesome \ud83d\udd25<br \/>We\u2019d be thrilled to feature <a href=\"http:\/\/gamerperks.co\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">gamerperks.co<\/a> on our showcase page if you\u2019re open to it \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>We have been working hard on this and we will continue to work hard to provide the best AI experience possible for our users \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I see in your website that the app can be in Github. Does that mean I have the full app in Github and I can host it somewhere else ?<br \/>If that the case, is it your own framework or an existing one ?<\/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>Great question <a href=\"https:\/\/www.producthunt.com\/@bengeekly\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"bengeekly\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bengeekly<\/a>! Yes, you can push the full app to your own GitHub and host it wherever you want. Under the hood, WeWeb generates standard Vue.js SPAs (no proprietary framework) with a Node.js backend, so you can run them through any CI\/CD pipeline and deploy on any infra.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A lot of AI tools can generate apps now, but the frustrating part comes after: editing things, understanding what was built, making changes without breaking everything \ud83d\ude05<\/p>\n<p>Definitely going to try it! <\/p>\n<p>Congrats on your launch WeWeb&#8217;s team! <\/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>So glad it resonates with you <a href=\"https:\/\/www.producthunt.com\/@cancan_aime\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cancan_aime<\/a>&nbsp;! Thanks for your support and let us know what you think about it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cancan_aime\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cancan_aime<\/a>&nbsp;yeah, I love vibe coding dashboards with Claude because it&#8217;s so fast and I don&#8217;t really care about the design or security when it&#8217;s on my machine but I wouldn&#8217;t trust myself to push it to production with all the appropriate security measures \ud83d\ude05 I definitely value our visual workflows then because at least I can clearly see what logic I built.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations to the whole WeWeb team for the launch ! Go WeWeb\ud83d\udd25\ud83d\udd25\ud83d\udd25<\/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\">Thanks for you support @clem_le_c! Much appreciated \ud83e\udd17<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! AI guy here, here are some technical details about the AI capabilities in WeWeb to give you a better picture of how it works in practice \ud83d\ude42<\/p>\n<p>The AI is fullstack, meaning it can work across your entire project. Ask questions, get advice, or have it design, build, edit, or fix anything in your app!<\/p>\n<p>Backend: It helps you design and create your database, set up security access rules, and handle all the backend logic (APIs, internal flows).<\/p>\n<p>Frontend: It can build responsive pages from scratch while keeping a consistent design throughout your app, and it wires up the frontend logic (no-code workflows) linked to your backend (API calls, fetching data from the DB).<\/p>\n<p>Of course, everything the AI generates can be visualized and edited in no-code!<\/p>\n<p>If you have any questions on the topic, don&#8217;t hesitate to ask! \ud83d\ude42<\/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>Hey team,<\/p>\n<p>Amazing work on the v3! The backend part is truly impressive.<\/p>\n<p>Is there any plans in the future for an MCP? Importing our skills or own models?<\/p>\n<p>Congrats on the launch!<\/p>\n<p>PS: so cool to see the product evolution since I left the company. You guys rock \ud83d\ude4c<\/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>Thanks for the support <a href=\"https:\/\/www.producthunt.com\/@quentindty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@quentindty<\/a>! &#8220;Is there any plans in the future for an MCP? Importing our skills or own models?&#8221; hehe, of course \ud83d\ude09 You know <a href=\"https:\/\/www.producthunt.com\/@wwflo\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"wwflo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wwflo<\/a> &#8230; He wouldn&#8217;t be Flo if he wasn&#8217;t already working on it \ud83d\ude04 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@quentindty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@quentindty<\/a>&nbsp;Flo doesn&#8217;t want us to share this but&#8230;CLI coming very soon&#8230;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@quentindty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@quentindty<\/a>&nbsp;you know what questions to ask \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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone! I&#8217;m Florian Briou Rolle, Co-founder &amp; CPO at WeWeb.<\/p>\n<p>I am incredibly proud of our team for the hard work they put into bringing this new version to life, and I absolutely can&#8217;t wait to see what you all build with it!<\/p>\n<p>Please drop your thoughts, questions, and feedback in the comments below. I\u2019ll be hanging out here answering them today, and we are ready to iterate fast based on what you tell us. Let us know what you think! \ud83d\ude80<\/p>\n<\/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>Hi all \ud83d\udc4b,<br \/>I&#8217;m Matthew, Education Lead at WeWeb.<\/p>\n<p>It&#8217;s amazing to finally get the new full-stack AI experience live!<br \/>We&#8217;ll be prepping a new academy over the coming months. It&#8217;ll cover how to get the most out of WeWeb and build following web development best practices.<\/p>\n<p>If there is anything specific you&#8217;d like to see, just let me know \ud83d\ude42 <\/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>Launch day! \ud83d\ude80 DevOps here, servers are warmed up, autoscaling is armed, and I&#8217;ve got coffee within arm&#8217;s reach. Bring on the traffic, I&#8217;ve been waiting for this all sprint.<\/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\/@adriengarciadev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adriengarciadev<\/a>&nbsp;let&#8217;s gooooo \ud83d\udcaa\ud83d\udcaa\ud83d\udcaa<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 idea of being able to actually go in and tweak yourself! When the AI generates the app, can you also go back and re-prompt it later to make changes, or is it more of a 1-shot generation and then everything else happens in the visual editor?<\/p>\n<\/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\/@louislecat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@louislecat<\/a>&nbsp;You can use our AI both for the initial generation and for further iterations \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@louislecat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@louislecat<\/a>&nbsp;You can also do things yourself in the visual editor at any point, then ask the AI for feedback, improvements, or additional changes !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@louislecat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@louislecat<\/a>&nbsp;looks very interesting! and I had the same question, actually curious 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch!!<br \/>I&#8217;ve been freelancing on WeWeb for a few years now. The tool already provided with an amazing visual editor that made building webapps so pleasant. Now coupled with AI capabilities, it brings even more power to help developers build reliable applications! Speed up build time without sacrificing control over the what you create. I&#8217;m truly excited to craft in WeWeb \ud83d\udd25<br \/>Keep up the amazing work WeWeb team \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>Thanks so much,<a href=\"https:\/\/www.producthunt.com\/@jptrinh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jptrinh<\/a>&nbsp;! It means a lot coming from you \ud83e\udd17 You&#8217;re my #1 reference when it comes to web design! Love your taste and style \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jptrinh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jptrinh<\/a>&nbsp;&#8220;Speed up build time without sacrificing control over the what you create&#8221;, very well put!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been burned by too many AI builders that create something cool in 30 seconds and then completely fall apart the moment you try to change anything. like yes the demo looks great but then you&#8217;re stuck because you have no idea what&#8217;s actually happening under the hood and one wrong move breaks everything.<\/p>\n<p>As a previous fullstack developer I was never against other AI builders, I just kept getting let down by it. the promise was always there but the reality was always the same: clunky output, limited customization, and this constant feeling that you were one edge case away from hitting a wall you couldn&#8217;t get past<\/p>\n<p>What got me with WeWeb is that it actually lets you go in and edit things yourself after the AI does its thing. not in a &#8216;here&#8217;s the raw code good luck&#8217; way but visually, so you can actually understand what was built and tweak it without everything falling apart. <\/p>\n<p>I&#8217;ve been using WeWeb for years now and been watching this one come together and it&#8217;s great to see it ship. Congrats to the team, this one&#8217;s worth the wait \ud83c\udf89<\/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\/@arwa5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arwa5<\/a>&nbsp;oh wow, that&#8217;s such a kind and thoughtful message. Thanks so much for your support Arwa, really appreciate it! \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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>What an amazing testimony<a href=\"https:\/\/www.producthunt.com\/@arwa5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arwa5<\/a>, thanks so much for sharing. We are lucky to have users like 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>WeWeb is made for those who believe understanding what you&#8217;re building still matters.<\/p>\n<\/p>\n<p>If you too can\u2019t let go of the thrill of figuring things out and learning by doing, but still want to benefit from the AI speed boost, you&#8217;re in the right place!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>When you dev on weweb you don&#8217;t really need AI to speed it up. Weweb is quick enough \ud83d\ude00<br \/>+1 Good luck team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p> <a href=\"https:\/\/www.producthunt.com\/@tomasz_wieczorek\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomasz_wieczorek<\/a>&nbsp;haha love it! \ud83d\ude00 I love having AI do the first generation, especially for the UI, but still prefer building the logic myself because it&#8217;s quicker (and more reassuring) for me to build it from scratch than retro-engineer what the AI did. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@tomasz_wieczorek\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomasz_wieczorek<\/a>&nbsp;Hey! You can still rely on AI for advice or to help understand implementation details when you&#8217;re building with a team. AI can scan your project and understand it really well! \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 <a href=\"https:\/\/www.producthunt.com\/@raphael_goldsztejn\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"raphael_goldsztejn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raphael_goldsztejn<\/a> and team! WeWeb is the obvious choice for non-technical builders who actually want to confidently ship something with the help of AI. Y&#8217;all continue to impress and I can&#8217;t wait to see what people build with it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks so much for your support <a href=\"https:\/\/www.producthunt.com\/@welldundun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@welldundun<\/a>&nbsp;!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>First time using an app builder AI. I went in expecting it to all fall apart after second prompt but WeWeb surprised. The app was very well put together. Loved the product and the AI.<\/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\/@dreaming_eversince\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dreaming_eversince<\/a>&nbsp;I&#8217;m glad you had a great first experience! Keep building \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>Been burned by black-box AI builders. This &#8220;full control&#8221; angle hits home. If the AI can scaffold screens + data cleanly and I can tweak workflows without weird hacks, that\u2019s legit. Gonna try it on a small client tool this week.<\/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\/@alexcloudstar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexcloudstar<\/a>&nbsp;very cool! Let us know how it goes<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@alexcloudstar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexcloudstar<\/a>&nbsp;Glad it resonates, looking forward to your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Developer at WeWeb here \u2014 really glad to see the interest! Happy to answer any questions if you have any!<\/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><a href=\"https:\/\/www.producthunt.com\/@raphael_goldsztejn\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"raphael_goldsztejn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raphael_goldsztejn<\/a> Congrats on the launch. One question: is there an integrated design system to keep design consistent over time?<\/p>\n<p>Cheers<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raphael_goldsztejn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raphael_goldsztejn<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@germain_brugnon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@germain_brugnon<\/a>&nbsp;100%! You can ask AI to create one, import it from Figma or build it from scratch. Whatever approach you choose, you can also edit it inside the WeWeb editor:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4ea7a589-67a8-4424-a2c0-ab7e6a97940f.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" 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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@germain_brugnon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@germain_brugnon<\/a>&nbsp;yes! And to complete what Joyce said: your elements can be bound to this design system, so if you decide to change one color in the design system, the change will be automatically propagated across your whole app. Very useful to manage design consistency at scale!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks amazing, I&#8217;m working on a much simpler landing page HTML builder project and can&#8217;t imagine how much extra work is needed for all the rest, dynamic API database binding.<\/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\/@edgars_xx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@edgars_xx<\/a>&nbsp;it&#8217;s a challenge for sure! the team has been at it, learning and improving for 5+ years now. the last 18 months especially have gone by incredibly fast with gen AI becoming more and more central to how people build. rooting for you and your landing page builder project!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 been using WeWeb for projects lately and IMO they are the best for non-technical users. AI integrated, easy drag and drop, easy to build things and customize components. I use Supabase on the backend and it integrates really intuitively. Absolutely recommend trying WeWeb. I&#8217;m genuinely impressed by what they&#8217;ve accomplished and how intuitive they are.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<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 so much, <a href=\"https:\/\/www.producthunt.com\/@conner_bloyd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conner_bloyd<\/a>&nbsp;! Really appreciate it \ud83e\udd17 Wishing you all the best on your 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>  This is a really smart positioning \u2014 &#8220;the safety net of a no-code editor&#8221; for vibe-coded apps. I&#8217;ve been building my SaaS (YTubViral) mostly in code, but there are parts where a visual layer on top would have saved me days of iteration. Curious: does it handle dynamic data-heavy pages well? Like dashboards with charts, tables, and real-time updates? That&#8217;s usually where no-code tools start struggling. 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\/@ytubviral\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ytubviral<\/a>&nbsp;thanks for the kind words, Javier, really appreciate it \ud83d\ude42 <\/p>\n<\/p>\n<blockquote>\n<p>does it handle dynamic data-heavy pages well? Like dashboards with charts, tables, and real-time updates?<\/p>\n<\/blockquote>\n<p>Yes, 100%! WeWeb actually started as a frontend-focused tool, so supporting those kinds of use cases has been a priority from the beginning and continues to be a core strength as the platform evolves.<\/p>\n<p>By default, the drag-and-drop Add panel includes Chart.js components, but if you prefer another charting library, you can simply ask WeWeb AI to generate a custom coded component using the library of your choice.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019ve created lots of apps with WeWeb, but one of them is <a href=\"https:\/\/www.linkeflow.io\/es\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.linkeflow.io\/es\/<\/a> \u2013 I built it to test the idea of automating everything on LinkedIn, and that idea led to many others.<\/p>\n<\/p>\n<p>WeWeb is undoubtedly one of the best platforms for creating apps without writing a single line of code, and it also lets you customise and tweak everything to your liking.<\/p>\n<\/p>\n<p>\u00a1Let&#8217;s go, WeWeb!<\/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\/@habid_ramiro_diaz_rico\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@habid_ramiro_diaz_rico<\/a>&nbsp;Love it! Thanks so much for your support \ud83e\udd17 It&#8217;s great to see projects like yours coming to life with Weweb!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Recently I read that venture investors have started refusing to invest in startups built with AI because they\u2019re impossible to maintain in the future and everything will eventually need to be rewritten from scratch. How are you solving this problem? Or does this not concern you and is it the user\u2019s 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;\ud83d\udc4b In the past, the same thing was said about companies using no-code to build their product. I&#8217;m sure it&#8217;s true of some investors but I think a lot also appreciate the speed to market that no-code and AI allow. <\/p>\n<\/p>\n<p>In the case of WeWeb, I think the no-code builder ensures non-coders can maintain the app in the future.<\/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>Really interesting approach with AI \u2192 JSON \u2192 App as a guardrail layer \ud83d\udc40<\/p>\n<p>One thing I\u2019m curious about: how do you handle <strong>state complexity and edge cases<\/strong> as apps grow?<br \/>For example, when workflows become highly conditional (role-based access, async flows, partial failures), does the JSON abstraction still stay manageable, or does it become harder for non-coders to reason about what\u2019s actually happening?<\/p>\n<p>Feels like that\u2019s where many tools start simple but hit a ceiling.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ZB4GJ5WSVVEMUK\" class=\"app-title\">Slideshot<\/a><\/p>\n<div class=\"one-liner\">Product demo videos, recorded by your AI agent<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">185<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Slideshot\u662f\u4e00\u6b3e\u901a\u8fc7AI\u4ee3\u7406\u81ea\u52a8\u5f55\u5236\u4ea7\u54c1\u6f14\u793a\u89c6\u9891\u7684\u5de5\u5177\uff0c\u8ba9\u7528\u6237\u65e0\u9700\u624b\u52a8\u5f55\u5236\u548c\u526a\u8f91\uff0c\u5373\u53ef\u5feb\u901f\u751f\u6210\u5e26\u7f29\u653e\u3001\u5149\u6807\u7279\u6548\u548c\u5f00\u573a\u52a8\u753b\u7684\u7cbe\u7f8e\u6f14\u793a\u89c6\u9891\u4e0eGIF\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\/f21f22e2-db20-4222-82ce-3c588273b88d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/576b5bca-1c75-4aab-8b3b-da518ef8f664.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ff6f36cf-7d56-420a-8554-83ff5f6f8db9.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\/eb4fbca9-52fa-48c1-97bf-0fa76aae8ce4.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/c4-JXiRWEo8\"><source src=\"https:\/\/youtu.be\/c4-JXiRWEo8\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Marketing automation<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6f14\u793a\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u89c6\u9891\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u9a71\u52a8\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">MCP\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u81ea\u52a8\u526a\u8f91<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u8425\u9500\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u6f14\u793a<\/span><br \/>\n            <span class=\"tag\">GIF\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u89e3\u51b3\u201c\u529f\u80fd\u4e0a\u7ebf\u5feb\u4f46\u6f14\u793a\u5236\u4f5c\u6162\u201d\u7684\u75db\u70b9\u3002\u4e3b\u8981\u63d0\u95ee\uff1a\u80fd\u5426\u5904\u7406\u591a\u6b65\u9aa4\u548c\u8ba4\u8bc1\u6d41\u7a0b\uff1f\u80fd\u5426\u63a7\u5236\u53d9\u4e8b\u8282\u594f\uff1f\u7f16\u8f91\u662f\u5426\u9700\u624b\u52a8\uff1f\u5efa\u8bae\u589e\u52a0\u6545\u4e8b\u677f\u529f\u80fd\u3002\u5f00\u53d1\u8005\u56de\u5e94\u652f\u6301\u591a\u9875\u5f55\u5236\u548c\u5bc6\u7801\u8ba4\u8bc1\uff0c\u672a\u6765\u8ba1\u5212\u52a0\u5165AI\u53d9\u4e8b\u7f16\u8f91\u548c\u914d\u97f3\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Slideshot\u5207\u5165\u4e86\u4e00\u4e2a\u5fae\u5999\u4f46\u771f\u5b9e\u7684\u201c\u6548\u7387\u65ad\u5c42\u201d\uff1a\u5f53AI\u4ee3\u7406\u5c06\u529f\u80fd\u5f00\u53d1\u901f\u5ea6\u62c9\u5230\u6781\u81f4\uff0c\u529f\u80fd\u6f14\u793a\u7684\u751f\u6210\u5374\u4ecd\u505c\u7559\u5728\u77f3\u5668\u65f6\u4ee3\u2014\u2014\u624b\u52a8\u5f55\u5236\u3001\u526a\u8f91\u3001\u52a0\u7279\u6548\u3001\u8f6cGIF\uff0c\u6574\u4e2a\u8fc7\u7a0b\u7ebf\u6027\u4e14\u8017\u65f6\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u505a\u53e6\u4e00\u4e2aScreen Studio\u6216Loom\u7684\u7ade\u4e89\u8005\uff0c\u800c\u662f\u901a\u8fc7MCP\u534f\u8bae\u5c06\u81ea\u5df1\u5d4c\u5165\u73b0\u6709\u7684AI\u5de5\u4f5c\u6d41\uff08Claude\u3001Cursor\u7b49\uff09\uff0c\u8ba9\u201c\u5f00\u53d1\u4ee3\u7406\u201d\u517c\u4efb\u201c\u8425\u9500\u4ee3\u7406\u201d\uff0c\u8fd9\u6b65\u68cb\u8d70\u5f97\u975e\u5e38\u806a\u660e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u672c\u8d28\u95ee\u9898\u5728\u4e8e\uff1aSlideshot\u76ee\u524d\u89e3\u51b3\u7684\u66f4\u591a\u662f\u201c\u6548\u7387\u201d\u800c\u975e\u201c\u8d28\u91cf\u201d\u3002\u4ece\u8bc4\u8bba\u53cd\u9988\u4e5f\u80fd\u770b\u51fa\uff0c\u5b83\u64c5\u957f\u4ea7\u751f\u201c\u5e72\u51c0\u3001\u5e26\u7279\u6548\u7684\u6f14\u793a\u201d\uff0c\u4f46\u7f3a\u4e4f\u53d9\u4e8b\u610f\u56fe\u2014\u2014\u4e00\u4e2a\u4f18\u79c0\u7684\u6f14\u793a\u89c6\u9891\uff0c70%\u7684\u4ef7\u503c\u5728\u4e8e\u600e\u4e48\u8bb2\u3001\u5f3a\u8c03\u54ea\u90e8\u5206\u3001\u7701\u7565\u54ea\u4e9b\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u7eaf\u52a8\u4f5c\u56de\u653e\u3002\u5f00\u53d1\u8005\u610f\u8bc6\u5230\u9700\u8981\u52a0\u6545\u4e8b\u677f\u3001\u914d\u97f3\u751a\u81f3AI\u811a\u672c\uff0c\u4f46\u8fd9\u4e9b\u90fd\u8fd8\u505c\u7559\u5728\u8def\u7ebf\u56fe\u91cc\u3002\u4e00\u65e6\u52a0\u5165\uff0c\u624d\u771f\u6b63\u4ece\u201c\u81ea\u52a8\u5f55\u5c4f\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u81ea\u52a8\u5316\u8425\u9500\u5185\u5bb9\u751f\u6210\u5668\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u6f5c\u5728\u98ce\u9669\u662f\uff1a\u6f14\u793a\u89c6\u9891\u7684\u201c\u771f\u5b9e\u6027\u201d\u4e0e\u201c\u5267\u672c\u611f\u201d\u4e4b\u95f4\u7684\u5e73\u8861\u3002\u5b8c\u5168\u7531AI\u9a71\u52a8\u7684\u64cd\u4f5c\uff0c\u5bb9\u6613\u4ea7\u51fa\u4e00\u6bb5\u7cbe\u7f8e\u5374\u7f3a\u4e4f\u201c\u4eba\u5473\u201d\u7684\u6f14\u793a\u2014\u2014\u800c\u5f88\u591a\u9500\u552e\u3001\u5ba2\u6237\u6210\u529f\u573a\u666f\u4e2d\uff0c\u5ba2\u6237\u6070\u6070\u9700\u8981\u770b\u5230\u201c\u4e00\u4e2a\u771f\u5b9e\u7528\u6237\u7684\u64cd\u4f5c\u8282\u594f\u201d\u6765\u5efa\u7acb\u4fe1\u4efb\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u90e8\u5206\u7528\u6237\u5bf9\u201c\u6700\u4f73\u8282\u594f\u201d\u7684\u9700\u6c42\u5c31\u6697\u793a\u4e86\u8fd9\u4e00\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b9a\u4ef7\u4e0a\u7528\u6309\u91cf\u4ed8\u8d39\u800c\u975e\u6708\u8d39\u8ba2\u9605\uff0c\u5bf9\u4e2a\u4eba\u5f00\u53d1\u8005\u548c\u5c0f\u56e2\u961f\u5f88\u53cb\u597d\uff0c\u4f46\u957f\u671f\u770b\uff0c\u5982\u679c\u4f7f\u7528\u9891\u7e41\uff08\u6bd4\u5982\u6bcf\u5468\u66f4\u65b0\u6f14\u793a\uff09\uff0c\u6210\u672c\u53ef\u80fd\u53cd\u800c\u4e0d\u5982\u56fa\u5b9a\u8ba2\u9605\u53ef\u63a7\u3002\u5f53\u524d\u9636\u6bb5\uff0c\u5bf9\u201c\u9700\u8981\u5feb\u901f\u6279\u91cf\u4ea7\u51fa\u6f14\u793a\u3001\u4e0d\u592a\u5728\u610f\u53d9\u4e8b\u6df1\u5ea6\u201d\u7684\u4ea7\u54c1\u56e2\u961f\u6765\u8bf4\uff0c\u8fd9\u662f\u4e00\u4e2a\u53ef\u884c\u7684\u6548\u7387\u6760\u6746\uff1b\u4f46\u5bf9\u8ffd\u6c42\u201c\u6709\u8bf4\u670d\u529b\u201d\u7684\u9500\u552e\u6f14\u793a\u548c\u5ba2\u6237\u6545\u4e8b\uff0c\u77ed\u671f\u5185\u4ecd\u9700\u4eba\u5de5\u4ecb\u5165\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\">Slideshot<\/span>\n                <\/div>\n<div class=\"comment-content\">Give your AI agent a product flow to record. Slideshot drives your web app through MCP, captures the walkthrough, and returns a polished demo video and GIF with zooms, cursor motion, and custom intro animation. No manual recording or editing.<\/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<\/p>\n<p>Excited to launch Slideshot on Product Hunt today! <\/p>\n<p>Huge thanks to <a href=\"https:\/\/www.producthunt.com\/@fmerian\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a> for hunting! As always, extremely appreciate your support \ud83d\ude4f<\/p>\n<\/p>\n<p>I built Slideshot from a simple realization. AI agents made it so much faster to ship features. At the same time, I felt the speed of how fast you can market these new features is lacking behind. Especially when it comes to video demo preparation. I&#8217;d need to manually walk through the flow, record it, then edit it, adding some nice zoom effects, then generate a GIF. It takes a while&#8230;<\/p>\n<\/p>\n<p>Slideshot is my attempt to make that workflow &#8220;agentic&#8221;.<\/p>\n<\/p>\n<p>Instead of opening another screen recorder, you connect Slideshot to the agent you already use through MCP. It supports Claude, Codex, Cursor, ChatGPT, or any other MCP-capable agent. Then you describe the product flow you want to show.<\/p>\n<\/p>\n<p>The agent drives the browser, walks through your web app autonomously, records the demo, and Slideshot returns a polished video with built-in zoom effects, cursor motion, and an intro animation.<\/p>\n<p>Here are the main use cases I&#8217;m optimizing for:<\/p>\n<\/p>\n<p><strong>\u273b <\/strong>Product marketers creating <strong>launch videos, changelog assets, in-app educational videos<\/strong>, and feature announcements<\/p>\n<\/p>\n<p><strong>\u273b <\/strong>Product teams <strong>keep demo assets up to date as the product changes<\/strong>. Think of a Help Centre that automatically shows how a video of the feature works in the latest version.<\/p>\n<\/p>\n<p><strong>\u273b <\/strong>Customer success and support teams creating <strong>walkthroughs for help docs<\/strong> and customer education<\/p>\n<p>What I\u2019m most interested in is whether demo creation can become part of the same AI-assisted workflow as product building itself.<\/p>\n<\/p>\n<p>If an agent can help ship the feature, it should also be able to help market that feature.<\/p>\n<p>It&#8217;s is still early, so I\u2019d love feedback from teams that regularly need product demos but do not want to spend time recording and editing them by hand.<\/p>\n<\/p>\n<p>&#8212;<\/p>\n<\/p>\n<p>Because I&#8217;m building Slidehsot as an agent-first tool, the pricing model is also different. Usually, video recording\/editing tools charge a monthly subscription per seat. For Slidehsot, I opted for usage-based pricing. You only pay for the videos you generate.<\/p>\n<\/p>\n<p>For Product Hunt, the first 25 people who use the <strong>PH21SLIDE<\/strong> code at checkout will also receive <strong>$5 worth of credits for free<\/strong>.<\/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\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@geek_1001\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@geek_1001<\/a>&nbsp;Thanks for free credits!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>@fmerian @geek_1001 The point about demo creation lagging behind feature shipping is spot on. Once teams start shipping faster with agents, keeping launch videos, help docs, and onboarding visuals current becomes the real bottleneck.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@geek_1001\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@geek_1001<\/a>&nbsp;This is a really strong idea the gap between \u201cfeature shipped\u201d and \u201cfeature shown\u201d is still way too manual right now. Turning demo creation into something agent-driven feels like a natural next step, especially if it reliably produces clean, polished output without editing overhead. \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>absolute fan of Ahmed&#8217;s work. <\/p>\n<\/p>\n<p>the maker of <a href=\"https:\/\/www.producthunt.com\/products\/katalog-2\" target=\"_blank\" rel=\"noopener\">@Katalog<\/a> and <a href=\"https:\/\/www.producthunt.com\/products\/arcmark\" target=\"_blank\" rel=\"noopener\">@Arcmark<\/a> keeps cooking, introducing <a href=\"https:\/\/www.producthunt.com\/products\/slideshot\" target=\"_blank\" rel=\"noopener\">@Slideshot<\/a>, a simple and elegant agent-driven screen recorder.<\/p>\n<\/p>\n<p>if you use <a href=\"https:\/\/www.producthunt.com\/@useloom\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@useloom<\/a> or <a href=\"https:\/\/www.producthunt.com\/products\/screen-studio\" target=\"_blank\" rel=\"noopener\">@Screen Studio<\/a> and want to automate this work, give it a spin! you&#8217;ll enjoy it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Do teams ever push back wanting truer pacing for onboarding or sales videos? Or it it more like everyone just wants the cleaned-up version? Congrats on a well-executed product<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Thank you so much! \ud83d\ude4f<br \/>Yeah, I&#8217;d say it&#8217;s more about getting clean version with effects already applied, so they don&#8217;t need to do that manually. But ensuring a good pacing (and overall timing) for the video is a nice thing to have<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@geek_1001\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"geek_1001\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@geek_1001<\/a> <br \/>Is the editing of video is ai driven or need manual intervention<\/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>  Product demo videos are the one thing I keep putting off. Recording, editing, re-recording when the UI changes&#8230; it never ends. Having an AI agent handle this would remove a real bottleneck. Question: can it handle multi-step flows? Like &#8220;user signs up \u2192 connects YouTube \u2192 sees their first dashboard&#8221;? That kind of walkthrough is what I need for my landing page but I&#8217;ve been too lazy to produce 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ytubviral\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ytubviral<\/a>&nbsp;Thank you Javier! Glad you liked the tool! \ud83d\ude4f<\/p>\n<blockquote>\n<p>Question: can it handle multi-step flows? Like &#8220;user signs up \u2192 connects YouTube \u2192 sees their first dashboard&#8221;? That kind of walkthrough is what I need for my landing page<\/p>\n<\/blockquote>\n<p>Good question! Generally, yes, it should be able to record multi step and multi-pages workflows. Under the hood it&#8217;s the actual browser, so every newly opened page would be recorded as well.<\/p>\n<\/p>\n<p>But there might be some challenges with the &#8220;connects YouTube&#8221; part. Can you share a bit more about how you would need to &#8220;connect&#8221; it? Is it just copy-pasting the channel URL, or do you need to be authenticated into YouTube to approve it as OAuth?<\/p>\n<\/p>\n<p>As an example of a more complex flow, here is the video I generated for Slideshot with Slideshot to showcase how to connect the MCP. It was multi-page and also required double authentication. It&#8217;s possible, but you just need to be very precise with your prompt because authorising into two different services isn&#8217;t a workflow I optimised.<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9e37d542-fff3-4c45-a245-1a4abe3662e0.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p><\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a strong wedge. One place I\u2019d watch is narrative intent: if the agent records exactly the flow you ask for, the demo can still miss the \u201cwhy this matters\u201d moment.<\/p>\n<\/p>\n<p>It would be useful to attach a tiny script\/storyboard to each recording: audience, promise, steps to emphasize, parts to skip, CTA. Then the agent isn\u2019t just capturing UI motion; it\u2019s preserving the GTM\/story context around the feature as the product 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\/@jim_jeffers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jim_jeffers<\/a>&nbsp;Thank you, Jim! Yeah, 100% agree. I do have post-processing and auto-editing, but it doesn&#8217;t take into account the story you want to tell with the video yet. <\/p>\n<\/p>\n<p>Adding the ability to attach a storyboard would be really powerful once I have a more robust agentic editing. I&#8217;m definitely looking in that direction<\/p>\n<\/p>\n<p>I&#8217;m also thinking about adding audio effects and narration in the future (not just generic AI voice, but specifically the voice cloning), but it probably makes sense to add once the editing foundation is there<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Using MCP to let an agent drive the app rather than relying on brittle scripted shortcuts is clever. It&#8217;s a guarantee that demos stay reproducible when the product UI shifts. How does it handle apps that need auth flows or complex stateful setups before the walkthrough can begin?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Great questions! There is built-in support for email-only and email+password authentication. <\/p>\n<p>You can define the login credentials in the Slideshow web app; they are stored in an encrypted state, and whenever the agent needs to log in, we programmatically inject the credentials. This way, the agent never sees the actual values.<\/p>\n<\/p>\n<p>If it&#8217;s an email-only login, then the agent would ask you to provide a magic link or one-time password to continue the login 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Okay this is actually so cool \u2014 the fact that it drives your app by itself and just hands you back a finished demo video is wild to me. I&#8217;m always putting off recording demos because it takes forever to get right, and this just\u2026 does it for you. Really curious how it handles things like popups or slow loading screens though. Definitely upvoting this one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vedika_kulkarni\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vedika_kulkarni<\/a>&nbsp;Really appreciate it, Vedika! \ud83d\ude4f<\/p>\n<\/p>\n<blockquote>\n<p>Really curious how it handles things like popups or slow loading screens though.<\/p>\n<\/blockquote>\n<p>Yeah, there are so many nuances when recording a video like that via an agent. For long loading screens, I&#8217;m trying to either speed up these segments or cut them out entirely from the final demo in post-production.<\/p>\n<p>Also, things like typing a really long text are sped up, so that the video feels more snappy.<\/p>\n<\/p>\n<p>When you kick off a recording, you&#8217;d get the edited demo video (the one with zoom effects, cursor, improved timing, etc.), and you also get the raw recording, which is basically exactly what the agent saw with the same timing. The raw recording is mostly there as a fallback, so if you really need to, you could edit the video 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>this would&#8217;ve saved me so many hours. recording product demos manually and then adding zoom effects and cursor animations in post is the most tedious part of marketing. does it handle multi-step flows where you need to show different pages or is it single page only<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;Thank you! Really happy you found it useful! Let me know if you have any feature suggestions \ud83d\ude42<\/p>\n<p>Sure, it does handle multi-page flow as well. For example, here is the gif I generated for finding this launch page. It opened the search view, and then when clicking on the item, it showed a new page.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/48d57765-f33a-40bb-8d75-915a5b534545.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice, great work <a href=\"https:\/\/www.producthunt.com\/@geek_1001\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"geek_1001\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@geek_1001<\/a> \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thank you so much, Oskar! \ud83d\ude0a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow! Can\u2019t wait to try it out \u2728<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@albychok\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@albychok<\/a>&nbsp;Thank you, Alex! Really appreciate it \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thanks for launching.. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@golaphazi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@golaphazi<\/a>&nbsp;Glad you liked it \ud83d\ude0a Let me know if you have any 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\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/FULDAZNQA5BTCF\" class=\"app-title\">WarmIntro<\/a><\/p>\n<div class=\"one-liner\">Free tool to find your warmest path into any company<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">183<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>WarmIntro\u901a\u8fc7\u5206\u6790\u7528\u6237LinkedIn\u8d44\u6599\u4e0e\u76ee\u6807\u516c\u53f8\u5458\u5de5\u7684\u80cc\u666f\u91cd\u5408\u5ea6\uff08\u5982\u6821\u53cb\u3001\u524d\u96c7\u4e3b\u3001\u540c\u57ce\u3001\u540c\u90e8\u95e8\u7b49\uff09\uff0c\u81ea\u52a8\u751f\u6210\u201c\u6e29\u6696\u6307\u6570\u201d\u6392\u540d\uff0c\u5e2e\u52a9\u7528\u6237\u627e\u5230\u6700\u81ea\u7136\u7684\u5207\u5165\u70b9\uff0c\u5c06\u51b7\u63a5\u89e6\u8f6c\u5316\u4e3a\u6709\u5171\u540c\u8bdd\u9898\u7684\u7834\u51b0\u5bf9\u8bdd\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\/fa84787e-93cb-47d8-ae35-d8898cff11f1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a5f0805f-aba2-4f54-9b8a-13f92661199c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b8f89c04-cb33-40dc-8a60-355ba90eff6f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ed8f84c-8a54-4b2d-bbbe-463d3d9dfeec.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\">Sales<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u9500\u552e\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">B2B\u83b7\u5ba2<\/span><br \/>\n            <span class=\"tag\">\u4eba\u8109\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6295\u878d\u8d44\u5bf9\u63a5<\/span><br \/>\n            <span class=\"tag\">\u80cc\u666f\u91cd\u5408\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">LinkedIn\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u5173\u7cfb\u56fe\u8c31<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5316\u89e6\u8fbe<\/span><br \/>\n            <span class=\"tag\">\u804c\u573a\u7834\u51b0<\/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\u4ea7\u54c1\u4ef7\u503c\uff0c\u6307\u51fa\u5c0fbug\u5df2\u88ab\u5feb\u901f\u4fee\u590d\u3002\u6838\u5fc3\u8bc9\u6c42\u96c6\u4e2d\u5728\u529f\u80fd\u6269\u5c55\uff1a\u6279\u91cf\u4e0a\u4f20\u516c\u53f8CSV\u5bfc\u51fa\u5339\u914d\u540d\u5355\u3001\u6574\u5408\u90ae\u4ef6\u9a8c\u8bc1\u4e0e\u81ea\u52a8\u89e6\u8fbe\u6d41\u7a0b\u3001\u589e\u52a0\u516c\u5171\u90e8\u95e8\u4e0e\u521b\u4f5c\u8005\u573a\u666f\u652f\u6301\u3002\u90e8\u5206\u7528\u6237\u62c5\u5fe7\u7b97\u6cd5\u6743\u91cd\u662f\u5426\u900f\u660e\uff0c\u4ee5\u53caAI\u751f\u6210\u201c\u4f2a\u6e29\u6696\u201d\u53ef\u80fd\u5bfc\u81f4\u51b7\u9a9a\u6270\u5347\u7ea7\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                WarmIntro\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u6602\u8d35\u7684\u75db\u70b9\uff1aCold outreach\u7684\u8f6c\u5316\u7387\u6b63\u5728\u6025\u5267\u4e0b\u964d\uff0c\u800c\u201c\u5f3a\u5173\u7cfb\u201d\u63a8\u8350\u4f9d\u7136\u662f\u5546\u4e1a\u793e\u4ea4\u4e2d\u6548\u7387\u6700\u9ad8\u7684\u6760\u6746\u3002\u8be5\u4ea7\u54c1\u6ca1\u6709\u505c\u7559\u5728\u7b80\u5355\u7684\u201c\u6821\u53cb\u67e5\u627e\u201d\uff0c\u800c\u662f\u5f15\u5165\u4e86\u91cd\u53e0\u4efb\u671f\u3001\u540c\u90e8\u95e8\u3001\u540c\u57ce\u7b49\u591a\u7ef4\u4fe1\u53f7\u8fdb\u884c\u52a0\u6743\u6392\u540d\uff0c\u903b\u8f91\u4e0a\u6bd4LinkedIn\u81ea\u5e26\u7684\u201c\u6821\u53cb\u641c\u7d22\u201d\u66f4\u7cbe\u7ec6\uff0c\u4e5f\u66f4\u63a5\u8fd1\u771f\u5b9e\u4eba\u9645\u5173\u7cfb\u7684\u8bc4\u4f30\u65b9\u5f0f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5b58\u5728\u4e24\u4e2a\u7ed3\u6784\u6027\u98ce\u9669\u3002\u5176\u4e00\uff0c\u6570\u636e\u6765\u6e90\u7684\u65f6\u6548\u6027\u4e0e\u5b8c\u6574\u6027\u3002WarmIntro\u4f9d\u8d56Crustdata\u7684API\uff0c\u800cCrustdata\u672c\u8d28\u4e0a\u662f\u5bf9LinkedIn\u7b49\u516c\u5f00\u6570\u636e\u7684\u722c\u866b\u805a\u5408\uff0c\u8fd9\u4f1a\u9762\u4e34LinkedIn\u7684\u53cd\u722c\u548c\u6cd5\u5f8b\u5408\u89c4\u98ce\u9669\uff0c\u4e14\u90e8\u5206\u4e2d\u5c0f\u516c\u53f8\u6570\u636e\u53ef\u80fd\u4e0d\u51c6\u786e\u3002\u5176\u4e8c\uff0c\u5de5\u5177\u672c\u8eab\u4e0d\u751f\u4ea7\u201c\u6e29\u6696\u201d\uff0c\u53ea\u5206\u6790\u201c\u5171\u540c\u70b9\u201d\u2014\u2014\u5f53\u6240\u6709\u4eba\u90fd\u80fd\u62ff\u5230\u8fd9\u4e9b\u5339\u914d\u7ed3\u679c\u65f6\uff0c\u201c\u5171\u540c\u80cc\u666f\u201d\u5c06\u4ece\u7834\u51b0\u70b9\u9000\u5316\u4e3a\u65b0\u7684\u5783\u573e\u8bdd\u672f\u6a21\u677f\u3002\u8bc4\u8bba\u533a\u4e2d\u7528\u6237\u5bf9\u6b64\u7684\u62c5\u5fe7\u5e76\u975e\u675e\u4eba\u5fe7\u5929\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u9500\u552e\u81ea\u52a8\u5316\u5de5\u5177\u7684\u201c\u519b\u5907\u7ade\u8d5b\u201d\u9677\u9631\uff1a\u6bcf\u4e00\u6b21\u6548\u7387\u63d0\u5347\u90fd\u4f1a\u88ab\u5e02\u573a\u8fc5\u901f\u6d88\u5316\uff0c\u4ece\u800c\u63a8\u9ad8\u4e0b\u4e00\u6761\u201c\u53ca\u683c\u7ebf\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u5316\u89d2\u5ea6\u770b\uff0c\u4ea7\u54c1\u76ee\u524d\u662f\u514d\u8d39\u7684\u83b7\u5ba2\u6f0f\u6597\u5165\u53e3\uff0c\u5b9a\u4f4d\u7cbe\u51c6\u3002\u771f\u6b63\u6709\u4ed8\u8d39\u610f\u613f\u7684\u662fB2B\u9500\u552e\u56e2\u961f\u3001\u730e\u5934\u4ee5\u53caBD\u90e8\u95e8\uff0c\u4ed6\u4eec\u9700\u8981\u7684\u662f\u6279\u91cf\u64cd\u4f5c\u3001\u90ae\u4ef6\u96c6\u6210\u548cCRM\u5bf9\u63a5\uff0c\u800c\u975e\u5355\u6b21\u67e5\u8be2\u3002\u5f53\u524d\u7528\u6237\u8bc4\u8bba\u533a\u96c6\u4e2d\u53cd\u6620\u7684\u201c\u6279\u91cf\u4e0a\u4f20CSV\u201d\u548c\u201c\u5185\u7f6eoutreach\u529f\u80fd\u201d\u6070\u6070\u662f\u4ea7\u54c1\u4ece\u201c\u6709\u8da3\u7684\u5c0f\u5de5\u5177\u201d\u8d70\u5411\u201c\u53ef\u4f9d\u8d56\u7684\u9500\u552e\u57fa\u7840\u8bbe\u65bd\u201d\u7684\u5173\u952e\u4e00\u8df3\u3002\u6b64\u5916\uff0c\u5bf9\u4e8e\u521b\u6295\u3001\u62db\u8058\u7b49\u9ad8\u9891\u573a\u666f\uff0c\u201c\u6e29\u6696\u8def\u5f84\u201d\u7684\u6743\u91cd\u6a21\u578b\u9700\u8981\u9488\u5bf9\u4e0d\u540c\u89d2\u8272\uff08\u5982\u6295\u8d44\u4eba\u770b\u91cd\u7684\u662f\u5171\u540c\u6295\u8d44\u4eba\u8fd8\u662f\u6821\u53cb\uff1f\u9500\u552e\u770b\u91cd\u662f\u540c\u884c\u4e1a\u8fd8\u662f\u540c\u5ba2\u6237\uff1f\uff09\u8fdb\u884c\u5dee\u5f02\u5316\u8c03\u6574\uff0c\u5426\u5219\u6392\u540d\u7ed3\u679c\u7684\u5b9e\u7528\u4ef7\u503c\u4f1a\u5927\u6253\u6298\u6263\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u7ed3\uff1aWarmIntro\u5728\u6982\u5ff5\u4e0a\u505a\u51fa\u4e86\u6f02\u4eae\u7684\u5fae\u521b\u65b0\uff0c\u4f46\u7f3a\u4e4f\u6570\u636e\u548c\u6d41\u7a0b\u4e0a\u7684\u62a4\u57ce\u6cb3\u3002\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u4eba\u8109\u641c\u7d22\u5f15\u64ce\u201d\u800c\u975e\u201c\u5173\u7cfb\u7ba1\u7406\u5e73\u53f0\u201d\u3002\u5982\u679c\u505c\u7559\u5728\u5de5\u5177\u5c42\u9762\uff0c\u5f88\u5bb9\u6613\u88abLinkedIn\u3001ZoomInfo\u7b49\u5de8\u5934\u590d\u523b\uff0c\u6216\u88ab\u5185\u7f6e\u4e8eCRM\u4e2d\u3002\u771f\u6b63\u7684\u673a\u4f1a\u5728\u4e8e\uff0c\u80fd\u5426\u5728\u201c\u627e\u5230\u8c01\u201d\u4e4b\u540e\uff0c\u8fdb\u4e00\u6b65\u63d0\u4f9b\u201c\u5982\u4f55\u8bf4\u201d\u7684\u4e2a\u6027\u5316\u5efa\u8bae\uff0c\u5e76\u5f62\u6210\u201c\u627e\u5bf9\u4eba-\u5199\u5bf9\u8bdd-\u53d1\u5bf9\u4fe1\u201d\u7684\u95ed\u73af\uff0c\u5426\u5219\u5b83\u53ea\u662f\u4e00\u4e2a\u52a0\u88c5\u4e86\u4e00\u5c42\u201c\u5173\u7cfb\u6ee4\u955c\u201d\u7684\u722c\u866b\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">WarmIntro<\/span>\n                <\/div>\n<div class=\"comment-content\">Cold outreach doesn&#8217;t work. WarmIntro finds the employees at any target company who share the most with your background &#8211; shared university, past employers, city, and title so every intro starts from a place of genuine connection.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH! \ud83d\udc4b<\/p>\n<p>Cold outreach in 2026 doesn&#8217;t work like it used to. Everyone knows it. The fix is warm intros but finding the right person to reach out to at a target company is harder than it sounds.<\/p>\n<p>You don&#8217;t just want someone who works there. You want the person who has the most in common with you. Went to the same university. Worked at the same company at the same time. In the same department. Lives in the same city. Has done a similar role.<\/p>\n<p>That&#8217;s what WarmIntro finds.<\/p>\n<p>Drop your LinkedIn URL and a target company and we instantly rank every employee by how warm your connection to them actually is, based on real shared signals:<\/p>\n<p>\ud83c\udf93 Shared university: went to the same school as you<br \/>\n\ud83c\udfe2 Shared past company: worked at the same place as you<br \/>\n\u23f1\ufe0f Overlapping tenure: they were actually there at the same time<br \/>\n\ud83e\uddd1\u200d\ud83d\udcbc Same department: worked in the same function, not just the same company<br \/>\n\ud83d\udccd Same city: based in the same location as you<br \/>\n\ud83d\udcbc Similar title: worked in the same kind of role<\/p>\n<p>The result is a ranked list of the people at that company you have the most in common with, so when you reach out you are using the warmest possible connection.<\/p>\n<p>A few ways people are using it:<\/p>\n<p>\ud83d\ude80 Sales teams stop cold prospecting into target accounts. Find the employee with the warmest connection to you and get a foot in the door through a genuine shared background.<\/p>\n<p>\ud83e\udd1d Recruiters identify the best connected person at a target company to reach out to for intel, referrals, or passive candidate sourcing.<\/p>\n<p>\ud83e\udd1d BD and partnerships finding the right person at a potential partner company is half the battle. Find who you&#8217;re most connected to before the first conversation and skip the cold intro entirely.<\/p>\n<p>\ud83d\ude80 Founders raising don&#8217;t cold email investors. Find the warmest path into any VC firm or angel&#8217;s network through someone who already knows you exist.<\/p>\n<p>\ud83d\udcb3 Customer success trying to expand into a new department at an existing account? Find the person in that team you have the most in common with before you make the ask.<\/p>\n<p>\ud83d\udcbc Job seekers before applying anywhere, find the person at that company most likely to respond to you and get a referral before you even submit your application.<\/p>\n<p>\ud83d\udcb0 Investors find the warmest path into any portfolio company or target startup before sending a cold email.<\/p>\n<p>\ud83d\udd17 Anyone who hates cold outreach if you have a target company and a LinkedIn profile, you have a warm intro waiting. You just didn&#8217;t know it yet.<\/p>\n<p>Try it for free at: <a href=\"https:\/\/tools.crustdata.com\/warmintro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/tools.crustdata.com\/warm&#8230;<\/a><\/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\/@nithish_a1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nithish_a1<\/a>&nbsp;Curious from a technical side: how are you weighting different shared signals in the ranking model? For example, does overlapping tenure at the same company carry more importance than same university or same city, and does the weighting change depending on the use case; sales vs hiring vs fundraising?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@nithish_a1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nithish_a1<\/a>&nbsp;Nice idea, but if everyone starts using AI to manufacture \u2018warm\u2019 outreach based on shared backgrounds, what stops those signals from becoming just another form of cold spam?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nithish_a1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nithish_a1<\/a>&nbsp;Many congratulations on the launch, Nithish, Mhimed, and team! \ud83d\ude42 <\/p>\n<\/p>\n<p>I had the chance to test WarmIntro yesterday as an early user, and while I spotted a few minor bugs, the team was impressively quick to address them. <\/p>\n<\/p>\n<p><strong>What WarmIntro does:<\/strong> It solves a problem I see constantly in my work, makers asking me to facilitate warm introductions to certain companies or VC firms. <\/p>\n<\/p>\n<p>Instead of relying on manual networking, WarmIntro analyzes your LinkedIn profile against any target company and surfaces employees you actually have genuine connections with: shared universities, past employers, overlapping tenure, same cities, or similar roles. <\/p>\n<\/p>\n<p>It turns cold outreach into warm conversations by finding the people most likely to respond to you. <\/p>\n<\/p>\n<p><strong>Why I&#8217;m endorsing it:<\/strong> I&#8217;m redirecting founders to this tool now because it&#8217;s a smarter, scalable way to find those shared experiences that make introductions work. Rather than asking someone like me to play matchmaker, makers can discover their own warmest paths into companies which is faster, more authentic, and frankly, more empowering. <\/p>\n<\/p>\n<p>This is exactly the kind of tool the PH community needs for sales, partnerships, fundraising, and job hunting. <\/p>\n<\/p>\n<p>Well done, Crustdata team! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>11<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Feature requests: verified emails, sample copies for outreach with desired intent and ability to run campaigns inside the platform. <\/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\/@iamanantgupta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iamanantgupta<\/a>&nbsp;To add to this, I have a list of companies that I want to work with&#8230; my dream list. If I could upload a CSV and get some matches, I think that would be a good feature&#8230; to bulk search through CSV upload. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iamanantgupta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iamanantgupta<\/a>&nbsp;Thanks Anant! Appreciate the feedback here. These are great features we&#8217;ll ship for v2!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 cool, can be useful for prospecting or seeking jobs. <\/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\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;Glad you found it useful Himani!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\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 will use this for prospecting for my agency. \ud83d\ude04 Congrats \ud83d\ude4c\ud83c\udffb<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Glad you found it useful Abdul. Keep us posted on 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats. Just curious as a builder, what are you using to match contacts? Is there an API 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\/@syed_shayanur_rahman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@syed_shayanur_rahman<\/a>&nbsp;Hey Rahman, we&#8217;re using Crustdata&#8217;s people enrichment API for 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>When I entered my profile and potential company to reach out to, it showed me an error. Please advise. (screenshot below)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/072c2f15-479e-4bbc-82c6-64c79d9403a0.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious whether anyone&#8217;s used it to break into public sector or education. Does it work just as well when your target is a school, a nonprofit, or a government office? 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>Where do you pull the employee background data from, is it mostly LinkedIn, and how do you keep it current?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>While I like the idea behind it, there is an error that needs to be fixed. When I put my LinkedIn url and the company&#8217;s name, it shows Drop your LinkedIn Url again. I tried it quite a few times. Please check this out. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/270dda1a-2932-47a8-8ce7-614665bf08ca.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" 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>I tried it out and results were quite good. One thing I would love to see is the ability to bulk upload a list of companies and get all the matches exported in a file. Would save a lot of time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How about creator \/ personal introductions? You put in your profile URL and the person (creator, investor, talent, etc.) you want to directly reach out to. Then it matches based on shared interests and experiences. Could be extended to X and Instagram 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nuseir_yassin1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nuseir_yassin1<\/a>&nbsp;Hey Nuseir, that&#8217;s a great idea. We&#8217;ll develop this for v2!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ZH5CX4VITF6DCK\" class=\"app-title\">Vivaldi 8.0<\/a><\/p>\n<div class=\"one-liner\">New unified look for full customization<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">131<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Vivaldi 8.0 \u901a\u8fc7\u5168\u65b0\u7684\u201c\u7edf\u4e00\u201d\u754c\u9762\u8bbe\u8ba1\uff0c\u5c06\u6d4f\u89c8\u5668\u6240\u6709\u5de5\u5177\u680f\u6574\u5408\u5230\u4e00\u4e2a\u8fde\u7eed\u8868\u9762\u4e0a\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u6d4f\u89c8\u5668\u754c\u9762\u788e\u7247\u5316\u3001\u81ea\u5b9a\u4e49\u81ea\u7531\u5ea6\u4f4e\u7684\u95ee\u9898\uff0c\u4e3a\u8ffd\u6c42\u6781\u81f4\u4e2a\u6027\u5316\u4e0e\u9690\u79c1\u63a7\u5236\u7684\u91cd\u5ea6\u7528\u6237\u63d0\u4f9b\u4ece\u5934\u5230\u5c3e\u7684\u638c\u63a7\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\/16cc8bd7-26bf-4b22-9b8d-20d4a16f030f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/950d636f-631d-48f7-96a7-1a2b53208a26.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/633ae30a-6047-4686-8948-96eaf0d7a3d9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c50e0902-d1c4-4430-8176-329ae3acf654.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c28d7ce1-a15d-4f16-a05f-395fc1956eda.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e4b218ea-be25-44b8-b973-9e4648eec1c8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1d5604c3-6f04-4ab0-9650-58b0495d8046.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\">Privacy<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6d4f\u89c8\u5668<\/span><br \/>\n            <span class=\"tag\">\u754c\u9762\u5b9a\u5236<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u9898\u7f8e\u5316<\/span><br \/>\n            <span class=\"tag\">\u65e0AI\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u91cd\u5ea6\u7528\u6237<\/span><br \/>\n            <span class=\"tag\">\u5782\u76f4\u6807\u7b7e<\/span><br \/>\n            <span class=\"tag\">\u5e03\u5c40\u9884\u8bbe<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u79fb\u52a8<\/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\u8d5e\u8d4f\u65b0\u7edf\u4e00\u8bbe\u8ba1\u3001\u5e03\u5c40\u9884\u8bbe\u548c\u5782\u76f4\u6807\u7b7e\u4f53\u9a8c\uff0c\u8ba4\u4e3a\u8fd9\u662f\u6d4f\u89c8\u5668\u5b9a\u5236\u548c\u751f\u4ea7\u529b\u7684\u4e00\u5927\u8fdb\u6b65\u3002\u5f00\u53d1\u8005\u5f3a\u8c03\u6b64\u7248\u672c\u57fa\u4e8e\u201c\u6d4f\u89c8\u5668\u9002\u5e94\u4f60\u201d\u7684\u4fe1\u5ff5\uff0c\u65e0\u8ffd\u8e2a\u3001\u65e0AI\u5e72\u9884\uff0c\u5e76\u9f13\u52b1\u793e\u533a\u53cd\u9988\uff0c\u73b0\u6709\u5916\u89c2\u4e3b\u9898\u53ef\u5728\u8bbe\u7f6e\u4e2d\u4fdd\u7559\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                Vivaldi 8.0\u7684\u201c\u7edf\u4e00\u201d\u8bbe\u8ba1\u770b\u4f3c\u662fUI\u5c42\u7684\u4e00\u6b21\u5ba1\u7f8e\u5347\u7ea7\uff0c\u5b9e\u5219\u662f\u5176\u575a\u5b88\u5c0f\u4f17\u6781\u5ba2\u8def\u7ebf\u7684\u6218\u7565\u52a0\u7801\u3002\u5728Chrome\u3001Edge\u7b49\u5de8\u5934\u6301\u7eed\u7528AI\u548c\u4e91\u670d\u52a1\u201c\u7ed1\u67b6\u201d\u7528\u6237\u4f53\u9a8c\u7684\u5f53\u4e0b\uff0cVivaldi\u53cd\u5176\u9053\u800c\u884c\u4e4b\uff0c\u5c06\u201c\u65e0AI\u201d\u3001\u201c\u65e0\u8ffd\u8e2a\u201d\u4f5c\u4e3a\u6838\u5fc3\u5356\u70b9\uff0c\u5e76\u901a\u8fc7\u5bf9\u6bcf\u4e00\u4e2a\u50cf\u7d20\u7684\u5f00\u653e\u63a7\u5236\u6743\u6765\u6536\u62e2\u6838\u5fc3\u7528\u6237\u7684\u5fc3\u667a\u3002\u8fd9\u79cd\u505a\u6cd5\u5f88\u806a\u660e\uff0c\u56e0\u4e3a\u90a3\u4e9b\u771f\u6b63\u5728\u610f\u9690\u79c1\u548c\u81ea\u5b9a\u4e49\u7684\u201c\u6d4f\u89c8\u5668\u91cd\u5ea6\u60a3\u8005\u201d\u7c98\u6027\u6781\u9ad8\uff0c\u4e14\u5177\u5907\u5f3a\u5927\u7684\u793e\u533a\u4f20\u64ad\u80fd\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u7ecf\u7406\u5fc5\u987b\u6e05\u9192\u5730\u8ba4\u8bc6\u5230\uff1a**\u201c\u7edf\u4e00\u201d\u89e3\u51b3\u4e86\u7f8e\u89c2\u548c\u788e\u7247\u5316\u95ee\u9898\uff0c\u4f46\u5e76\u6ca1\u6709\u89e3\u51b3Vivaldi\u6700\u6839\u672c\u7684\u83b7\u5ba2\u96be\u9898\u3002** 130\u7968\u7684PH\u70ed\u5ea6\u4fa7\u9762\u5370\u8bc1\u4e86\u5b83\u4f9d\u7136\u662f\u5c11\u6570\u4eba\u7684\u72c2\u6b22\u3002\u5bf9\u4e8e\u666e\u901a\u7528\u6237\u800c\u8a00\uff0c\u201c\u8ba9\u6d4f\u89c8\u5668\u9002\u5e94\u4f60\u201d\u7684\u95e8\u69db\u8fc7\u9ad8\u2014\u2014\u201c\u6240\u6709\u5de5\u5177\u680f\u90fd\u5728\u4e00\u4e2a\u8fde\u7eed\u9762\u4e0a\u201d\u610f\u5473\u7740\u66f4\u591a\u9009\u62e9\uff0c\u4e5f\u610f\u5473\u7740\u66f4\u9661\u5ced\u7684\u5b66\u4e60\u66f2\u7ebf\u3002\u5f00\u53d1\u8005\u5f3a\u8c03\u201c\u4f60\u7684\u89c4\u5219\u201d\uff0c\u4f46\u5728\u5927\u4f17\u5e02\u573a\uff0c\u591a\u6570\u4eba\u66f4\u5e0c\u671b\u6d4f\u89c8\u5668\u5f00\u7bb1\u5373\u7528\uff0c\u800c\u975e\u82b1\u534a\u5c0f\u65f6\u7814\u7a76\u516d\u79cd\u5e03\u5c40\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0e\u5176\u5bf9\u6807Chrome\u7684\u4f53\u91cf\uff0cVivaldi\u66f4\u5e94\u8be5\u601d\u8003\u5982\u4f55\u5c06\u201c\u7edf\u4e00\u201d\u7406\u5ff5\u8fdb\u884c\u6709\u6548\u8f6c\u5316\uff1a\u80fd\u5426\u901a\u8fc7AI\uff08\u6ce8\u610f\u662f\u5e2e\u52a9\u7528\u6237\u81ea\u5b9a\u4e49\u7684AI\uff0c\u800c\u975e\u7aa5\u63a2\u7528\u6237\u7684AI\uff09\u6765\u7b80\u5316\u521d\u59cb\u914d\u7f6e\uff1f\u80fd\u5426\u5728\u79fb\u52a8\u7aef\u548c\u8f66\u673a\u7684\u8de8\u573a\u666f\u4e00\u81f4\u6027\u4e0a\u505a\u51fa\u771f\u6b63\u5dee\u5f02\u5316\u7684\u4f53\u9a8c\uff1f\u5426\u5219\uff0c\u8fd9\u5242\u201c\u7528\u6237\u51b3\u5b9a\u4e00\u5207\u201d\u7684\u5f3a\u5fc3\u9488\uff0c\u6700\u7ec8\u53ea\u80fd\u5708\u5730\u81ea\u840c\uff0c\u65e0\u6cd5\u64bc\u52a8\u4e3b\u6d41\u683c\u5c40\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\">Vivaldi 8.0<\/span>\n                <\/div>\n<div class=\"comment-content\">Thirteen years in, and we&#8217;ve just shipped our most ambitious update yet. Vivaldi 8.0 has a bold new look we call Unified. Every toolbar now sits on one continuous surface, giving you new ways to customize your browser across the whole window, edge to edge. With six layouts to start from &#8211; then make it all yours. Every color, every toolbar, every pixel. Your browser. Your rules.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt,<\/p>\n<\/p>\n<p>13 years building the same belief: your browser should adapt to you, not the other way around.<\/p>\n<p>Vivaldi 8.0 is the biggest thing we&#8217;ve shipped in years, and it starts with how the browser <em>feels<\/em>.<\/p>\n<\/p>\n<p>We call it <strong>Unified<\/strong>.<\/p>\n<\/p>\n<p>Previously, Vivaldi&#8217;s interface was a collection of layers (tabs, toolbars, panels, content), each subtly separated. Useful, but fragmented. With Unified, those boundaries are gone. Everything now lives on one continuous surface that wraps the entire browser. Alignment becomes more precise, spacing more intentional, and interaction more direct, because elements no longer sit in isolated layers.<\/p>\n<\/p>\n<p>If you love the look you&#8217;ve already got, it&#8217;s still right there in Settings.<\/p>\n<\/p>\n<p><strong>What&#8217;s new in 8.0<\/strong>:<\/p>\n<ul>\n<li>\n<p>Your theme flows across the whole window, edge to edge&nbsp;<\/p>\n<\/li>\n<li>\n<p>Six layouts to kickstart customizing the browser to your needs<\/p>\n<\/li>\n<li>\n<p>7,000+ community themes to explore<\/p>\n<\/li>\n<\/ul>\n<p>No tracking. No AI sitting between you and the web deciding what you see. Just you and the web. On desktop, mobile, and yes, your car.<\/p>\n<\/p>\n<p>Your browser. Your rules.&nbsp;&nbsp;<\/p>\n<\/p>\n<p>Tell us what you think! We read every comment here.<\/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\">Vivaldi 8.0 looks like a huge step forward for browser customization and productivity \ud83d\udc4f<\/p>\n<p>The new unified design, layout presets, and vertical tab experience already feel super polished. Love seeing a browser that still focuses on power users and privacy instead of just copying everyone else. Curious to see how the community adapts these new workflows! \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/HAVYMYPXCHCWHK\" class=\"app-title\">Visual Usability Checker<\/a><\/p>\n<div class=\"one-liner\">Validate your design decisions instantly with AI insights<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">121<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Visual Usability Checker \u662f\u4e00\u6b3e\u57fa\u4e8eAI\u7684Figma\u63d2\u4ef6\uff0c\u5728UX\u8bbe\u8ba1\u5e08\u65e0\u9700\u79bb\u5f00\u5de5\u4f5c\u6d41\u7684\u524d\u63d0\u4e0b\uff0c\u901a\u8fc7\u773c\u52a8\u8ffd\u8e2a\u6570\u636e\u9884\u6d4b\u7528\u6237\u6ce8\u610f\u529b\u3001\u53d1\u73b0\u8ba4\u77e5\u8d1f\u8377\u4e0e\u53ef\u7528\u6027\u95ee\u9898\uff0c\u4ece\u800c\u5728\u8bbe\u8ba1\u65e9\u671f\u9a8c\u8bc1\u51b3\u7b56\u3001\u51cf\u5c11\u4e3b\u89c2\u731c\u6d4b\u548c\u53cd\u590d\u8fd4\u5de5\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\/a1446d0c-aaad-4d95-ab10-26453d44a2ab.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\/9b56aba0-24a2-4929-a36a-dc96c2c711b4.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\/27c6d050-65e6-40d5-97b1-b8b92f44e70e.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\/8cc501bc-3464-498f-8f2c-70e06b131526.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\/7e0523cf-6aa9-47c6-8d1f-4c487e79b906.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\/64c5eab1-8ba4-4ca6-9dcb-033d8784b646.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/8HF9j-RXJLM\"><source src=\"https:\/\/youtu.be\/8HF9j-RXJLM\" 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\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Figma\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">AI\u8bbe\u8ba1\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u773c\u52a8\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7528\u6027\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u8ba4\u77e5\u8d1f\u8377\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u5c42\u7ea7\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u6ce8\u610f\u529b\u9884\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u51b3\u7b56<\/span><br \/>\n            <span class=\"tag\">UX\/UI\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\u4e3b\u8981\u5173\u6ce8\u6280\u672f\u5b9e\u73b0\u7ec6\u8282\uff0c\u8be2\u95ee\u5982\u4f55\u57fa\u4e8e\u56fe\u50cf\u8bc6\u522b\u7279\u5b9a\u5143\u7d20\uff08\u5982\u4eba\u8138\uff09\u5e76\u8c03\u7528\u6570\u636e\u5e93\u7edf\u8ba1\u6765\u9884\u6d4b\u6ce8\u610f\u529b\u3002\u5f00\u53d1\u8005\u56de\u5e94\u79f0\u57fa\u4e8e\u5148\u524d\u773c\u52a8\u8ffd\u8e2a\u7814\u7a76\u6570\u636e\u3002\u6574\u4f53\u8bc4\u8bba\u6570\u91cf\u5c11\uff0c\u65e0\u8d1f\u9762\u53cd\u9988\u6216\u5177\u4f53\u4f7f\u7528\u75db\u70b9\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                Visual Usability Checker \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201cAI\u53ef\u6d4b\u8bd5\u6027\u201d\u8f6c\u5316\u5668\uff0c\u5b83\u5c06\u8fc7\u53bb\u8017\u65f6\u6602\u8d35\u7684\u773c\u52a8\u4eea\u5b9e\u9a8c\u538b\u7f29\u6210\u4e86\u4e00\u4e2aFigma\u5feb\u6377\u952e\u3002\u4ece\u4ea7\u54c1\u903b\u8f91\u770b\uff0c\u5b83\u7784\u51c6\u4e86\u8bbe\u8ba1\u51b3\u7b56\u8fc7\u7a0b\u4e2d\u201c\u76f4\u89c9\u4e0e\u6570\u636e\u201d\u4e4b\u95f4\u7684\u5de8\u5927\u7f1d\u9699\u2014\u2014\u8fd9\u786e\u5b9e\u662f\u75db\u70b9\uff0c\u4e14\u75db\u70b9\u8db3\u591f\u9ad8\u9891\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u80fd\u795e\u5316\u3002\u5b83\u63d0\u4f9b\u7684\u201c\u7528\u6237\u6ce8\u610f\u529b\u5730\u56fe\u201d\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u57fa\u4e8e\u7edf\u8ba1\u6a21\u578b\u7684\u6982\u7387\u9884\u6d4b\uff0c\u800c\u975e\u771f\u5b9e\u7528\u6237\u7684\u8ba4\u77e5\u53cd\u9988\u3002\u7528\u201c\u6570\u767e\u4e07\u773c\u52a8\u6570\u636e\u70b9\u201d\u8bad\u7ec3\u51fa\u7684\u6a21\u578b\uff0c\u64c5\u957f\u9884\u6d4b\u901a\u7528\u89c6\u89c9\u8def\u5f84\uff08\u5982\u5148\u770b\u4eba\u8138\u3001\u9ad8\u5bf9\u6bd4\u533a\u57df\uff09\uff0c\u4f46\u5f88\u96be\u5e94\u5bf9\u6587\u5316\u5dee\u5f02\u3001\u7528\u6237\u76ee\u6807\u3001\u975e\u5e38\u89c4\u4ea4\u4e92\u6216\u5957\u58f3\u4e1a\u52a1\u903b\u8f91\u5e26\u6765\u7684\u8ba4\u77e5\u504f\u79fb\u3002\u6362\u53e5\u8bdd\u8bf4\uff0c\u4f60\u5927\u6982\u7387\u80fd\u6bd4\u201c\u62cd\u8111\u888b\u201d\u66f4\u51c6\uff0c\u4f46\u4e5f\u8fdc\u4e0d\u8db3\u4ee5\u66ff\u4ee3A\/B\u6d4b\u8bd5\u6216\u5b9a\u6027\u8bbf\u8c08\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6280\u672f\u56de\u7b54\u4e2d\u63d0\u5230\u201c\u57fa\u4e8e\u5148\u524d\u773c\u52a8\u8ffd\u8e2a\u7814\u7a76\u201d\uff0c\u8fd9\u89e3\u91ca\u4e86\u4e3a\u4f55\u4ea7\u54c1\u8fed\u4ee3\u901f\u5ea6\u4f1a\u53d7\u9650\u4e8e\u6570\u636e\u7684\u8986\u76d6\u9762\u548c\u65f6\u6548\u6027\u3002\u77ed\u671f\u5185\u5b83\u662f\u4e00\u4e2a\u4f18\u79c0\u7684\u201c\u51b3\u7b56\u5907\u4e66\u201d\u548c\u5185\u90e8\u8bf4\u670d\u5de5\u5177\u2014\u2014\u8bbe\u8ba1\u5e08\u53ef\u4ee5\u7528\u8fd9\u5f20\u70ed\u529b\u56fe\u53cd\u9a73\u201c\u6211\u89c9\u5f97\u8fd9\u4e2aCTA\u4e0d\u591f\u5927\u201d\uff1b\u4f46\u957f\u671f\u770b\uff0c\u8981\u771f\u6b63\u7ad9\u7a33\u811a\u8ddf\uff0c\u5fc5\u987b\u5f15\u5165\u66f4\u591a\u7684\u884c\u4e3a\u6570\u636e\u53cd\u9988\u95ed\u73af\uff08\u6bd4\u5982\u5b9e\u65f6\u57cb\u70b9\u3001\u7528\u6237\u8def\u5f84\u56de\u653e\uff09\uff0c\u5426\u5219\u5b83\u5f88\u5bb9\u6613\u6ca6\u4e3a\u53e6\u4e00\u4e2a\u6f02\u4eae\u7684\u201c\u4f2a\u6743\u5a01\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u56e2\u961f\u663e\u7136\u61c2\u884c\u4e1a\u75db\u70b9\uff0c\u4f46\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff1a\u8fc7\u65e9\u7528AI\u906e\u853d\u4e86\u201c\u4e0d\u786e\u5b9a\u611f\u201d\u7684\u8bbe\u8ba1\u6d41\u7a0b\uff0c\u53ef\u80fd\u8ba9\u65b0\u624b\u8bbe\u8ba1\u5e08\u8fc7\u5ea6\u4f9d\u8d56\u6a21\u578b\u88c1\u51b3\uff0c\u53cd\u800c\u4e27\u5931\u4e86\u5bf9\u7528\u6237\u771f\u5b9e\u884c\u4e3a\u7684\u654f\u611f\u5ea6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Visual Usability Checker<\/span>\n                <\/div>\n<div class=\"comment-content\">Get instant AI recommendations to improve your design. Detect cognitive load, see where users focus, catch issues early, and compare variations &#8211; so you can confidently make and defend design decisions with data-backed insights.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi, Product Hunt! \ud83d\udc4b I\u2019m Darius, the co-founder of Attention Insight.<\/p>\n<p>We built a new Figma plugin specifically for UX and product designers.<br \/>We spoke with hundreds of UX designers and product teams and found a clear need for a data-driven way to validate design decisions.<\/p>\n<p>Because today, design decisions still look like this:<br \/>\ud83e\udd14 \u201cMake the CTA bigger.\u201d<br \/>\ud83e\udd37 \u201cThis layout feels better.\u201d<br \/>\ud83d\udd01 \u201cLet\u2019s try one more version\u2026\u201d<\/p>\n<p>And suddenly you\u2019re moving elements around instead of actually knowing what works.<\/p>\n<p>We wanted a way to validate design decisions earlier, before user testing, before development, and without leaving Figma.<\/p>\n<p>So we built Visual Usability Checker \u2014 an AI-powered Figma plugin trained on millions of eye-tracking data points to help you validate design decisions earlier with instant recommendations, cognitive load insights, and predicted attention.<\/p>\n<p>With it, you can:<br \/>\u27a1\ufe0f Get AI recommendations on how to improve your design instantly<br \/>\u27a1\ufe0f Detect high cognitive load areas that may confuse users<br \/>\u27a1\ufe0f See where users are likely to look in the first seconds<br \/>\u27a1\ufe0f Spot weak visual hierarchy and usability issues early<br \/>\u27a1\ufe0f Compare multiple design variations side by side<\/p>\n<p>All without leaving your workflow.<\/p>\n<p>Instead of guessing, you get clear, data-driven feedback you can act on immediately.<\/p>\n<p>How it works:<br \/>Run the plugin \u2192 Log in or Sign up \u2192 Choose your testing workflow \u2192 Select a Figma frame \u2192 Get attention maps, scores, and insights in seconds.<\/p>\n<p>You can iterate immediately and see how changes affect user attention.<\/p>\n<p>Our goal is not to replace user research.<br \/>It\u2019s to help designers catch problems earlier, reduce guesswork, and make decisions with more confidence.<\/p>\n<p>We\u2019re especially curious:<br \/>&#8211; What part of design validation still feels too subjective in your workflow?<br \/>&#8211; Where do you spend the most time debating instead of deciding?<\/p>\n<p>&#8211; Who wants to get a discount?<br \/>Would love your feedback \ud83d\ude4c<\/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>Playground file : <a href=\"https:\/\/www.figma.com\/community\/file\/1575839690110028010\/visual-usability-checker-playground-file\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.figma.com\/community\/file\/1575839690110028010\/visual-usability-checker-playground-file<\/a><\/p>\n<\/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>How does this work technically? Do you analyze frames\/images, identify which elements are shown in them, and then pull statistics from a database? For example, we all know that in advertising people look at faces &#8211; if you determine that the image contains a human face, a dog, and a tree, then it\u2019s easy to understand that a person will look at the face first, then the dog, and then the tree. How did you implement this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;we used data from previous eyetracking research. Check: <a href=\"https:\/\/attentioninsight.com\/technology\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/attentioninsight.com\/technology\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KO2TLBRQWBSAHI\" class=\"app-title\">Mixpanel Headless<\/a><\/p>\n<div class=\"one-liner\">Programmatic access to product analytics for agents and devs<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">119<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Mixpanel Headless \u662f\u4e00\u6b3ePython SDK\uff0c\u8ba9\u5f00\u53d1\u8005\u548cAI\u4ee3\u7406\u65e0\u9700\u79bb\u5f00IDE\u5373\u53ef\u901a\u8fc7\u7f16\u7a0b\u65b9\u5f0f\u8bbf\u95ee\u4ea7\u54c1\u5206\u6790\u6570\u636e\uff0c\u5c06\u95ee\u7b54\u5f0f\u5206\u6790\u8f6c\u5316\u4e3a\u53ef\u590d\u7528\u7684\u81ea\u52a8\u5316\u811a\u672c\uff0c\u89e3\u51b3\u4ece\u63d0\u95ee\u5230\u83b7\u53d6\u7b54\u6848\u4e4b\u95f4\u7684\u6548\u7387\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\/379ca85e-4c87-450e-989f-39fdae7990fe.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7d615c3f-3de5-4a9d-85cc-0a30738ad8cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9934381-e668-405b-99b5-450aacd5e6b8.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\">Analytics<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ea7\u54c1\u5206\u6790SDK<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">Python\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u62a5\u544a<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u884c\u4e3a\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u67e5\u8be2<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7f16\u7a0b\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">IDE\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/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\u5173\u6ce8AI\u4ee3\u7406\u751f\u6210\u4ee3\u7801\u662f\u5426\u53ef\u9884\u89c8\u540e\u6267\u884c\uff08\u83b7\u786e\u8ba4\u53ef\uff09\u3002\u6709\u521b\u59cb\u4eba\u63d0\u51fa\u5e0c\u671b\u4ee3\u7406\u4eba\u6bcf\u65e5\u81ea\u52a8\u751f\u6210\u4ea7\u54c1\u5065\u5eb7\u6458\u8981\u3002\u5e76\u8d28\u7591\u4e3a\u4f55\u9009\u62e9Python SDK\u800c\u975eMCP\u534f\u8bae\uff0c\u5b98\u65b9\u56de\u5e94\u79f0\u5df2\u63d0\u4f9bMCP\u670d\u52a1\u5668\uff0c\u4f46Headless\u66f4\u8282\u7701\u5de5\u5177\u8c03\u7528\u6210\u672c\uff0c\u6267\u884c\u66f4\u5feb\u66f4\u5ec9\u4ef7\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Mixpanel Headless\u7684\u5de7\u5999\u4e4b\u5904\u4e0d\u5728\u4e8e\u201c\u7528AI\u751f\u6210\u4ee3\u7801\u201d\u2014\u2014\u8fd9\u79cd\u5957\u58f3\u80fd\u529b\u65e9\u5df2\u6cdb\u6ee5\u2014\u2014\u800c\u5728\u4e8e\u5b83\u5b9a\u4e49\u4e86\u201c\u53ef\u590d\u7528\u7684\u5206\u6790\u8bc1\u636e\u94fe\u201d\u3002\u5b83\u5c06\u4e34\u65f6\u6027\u7684\u95ee\u7b54\u5347\u7ef4\u6210\u4e00\u4efd\u53ef\u4ee5\u6bcf\u5468\u3001\u6bcf\u5929\u7a33\u5b9a\u8fd0\u884c\u7684Python\u811a\u672c\uff0c\u76f8\u5f53\u4e8e\u628a\u5206\u6790\u5e08\u4e00\u6b21\u6027\u7684\u6d1e\u5bdf\u56fa\u5316\u6210\u4e86\u80fd\u81ea\u6211\u751f\u957f\u7684\u81ea\u52a8\u5316\u6d41\u6c34\u7ebf\u3002\u8fd9\u7cbe\u51c6\u547d\u4e2d\u4e86\u4e2d\u5927\u578b\u4ea7\u54c1\u56e2\u961f\u7684\u6838\u5fc3\u75db\u70b9\uff1a\u5206\u6790\u5de5\u4f5c\u5e38\u5e38\u6ca6\u4e3a\u6570\u636e\u62a2\u4fee\uff0c\u800c\u771f\u6b63\u7684\u5546\u4e1a\u51b3\u7b56\u9700\u8981\u7684\u662f\u53ef\u8ffd\u8e2a\u3001\u53ef\u590d\u73b0\u3001\u53ef\u81ea\u52a8\u9884\u8b66\u7684\u201c\u4ea7\u54c1\u4f53\u68c0\u4eea\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u81ea\u8eab\u5b58\u5728\u4e24\u91cd\u98ce\u9669\u3002\u7b2c\u4e00\u662f\u5b9a\u4f4d\u6447\u6446\uff1a\u65e2\u60f3\u62e5\u62b1AI\u539f\u751f\u804a\u5929\u7684\u6781\u7b80\u723d\u611f\uff08MCP\uff09\uff0c\u53c8\u7737\u604bPython SDK\u7684\u9ad8\u5ea6\u53ef\u63a7\u4e0e\u6548\u7387\u2014\u2014\u4e8b\u5b9e\u8bc1\u660e\u5728\u8bc4\u8bba\u4e2d\u5df2\u6709\u7528\u6237\u5bf9\u534f\u8bae\u9009\u62e9\u4ea7\u751f\u56f0\u60d1\u3002\u7b2c\u4e8c\u662f\u751f\u6001\u7ed1\u67b6\uff1a\u5b83\u8981\u6c42\u56e2\u961f\u6570\u636e\u5e73\u53f0\u5fc5\u987b\u662fMixpanel\uff0c\u8fd9\u6ce8\u5b9a\u53ea\u80fd\u670d\u52a1\u4e8e\u5b58\u91cf\u7528\u6237\uff0c\u800c\u65e0\u6cd5\u64ac\u52a8\u7ade\u54c1\u4f53\u7cfb\u4e0b\u7684\u65b0\u5ba2\u3002\u66f4\u76f4\u767d\u7684\u6311\u6218\u662f\uff0c\u666e\u901a\u56e2\u961f\u6839\u672c\u4e0d\u9700\u8981\u201c\u53ef\u7f16\u7a0b\u5206\u6790\u201d\uff0c\u4ed6\u4eec\u771f\u6b63\u9700\u8981\u7684\u662f\u4e00\u4e2a\u80fd\u76f4\u63a5\u7ed9\u51fa\u7ed3\u8bba\u7684AI\u770b\u677f\u3002Mixpanel Headless\u867d\u7136\u6280\u672f\u4f18\u96c5\uff0c\u4f46\u5546\u4e1a\u4e0a\u66f4\u50cf\u662f\u4e00\u4e2a\u4e3a\u9ad8\u7ea7AI agent\u51c6\u5907\u7684\u201c\u9c7c\u7aff\u201d\uff0c\u800c\u975e\u591a\u6570\u4eba\u60f3\u8981\u7684\u201c\u9c7c\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u6765\u8bf4\uff0c\u8fd9\u662f\u4e00\u6b21\u503c\u5f97\u656c\u91cd\u7684\u5e95\u5c42\u80fd\u529b\u5f00\u653e\uff0c\u4f46\u4ea7\u54c1\u7ecf\u7406\u548cPLG\u8fd0\u8425\u624d\u662f\u5b83\u6700\u8be5\u8ba8\u597d\u7684\u5bf9\u8c61\uff0c\u800c\u975e\u5e7f\u4e49\u7684\u201c\u5f00\u53d1\u8005\u201d\u3002\u5176\u957f\u671f\u4ef7\u503c\u53d6\u51b3\u4e8eMixpanel\u80fd\u5426\u5c06\u8fd9\u79cd\u201cagent\u53cb\u597d\u201d\u7684\u5dee\u5f02\u5316\u8f6c\u5316\u4e3a\u771f\u5b9e\u7559\u5b58\u7387\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\">Mixpanel Headless<\/span>\n                <\/div>\n<div class=\"comment-content\">Mixpanel Headless is a Python SDK that makes the entire product surface programmable, so agents and devs can dig into data without leaving their IDE.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I\u2019m Tiffany from Mixpanel, and we\u2019re excited to introduce Mixpanel Headless, a Python SDK that makes the entire product surface area programmable and composable.<\/p>\n<p>Builders can now access all the power of Mixpanel\u2014from complex funnel analysis to attribution modeling\u2014without leaving their IDE.<\/p>\n<p>But what we\u2019re most excited about?<\/p>\n<p>You can now use agents to answer anything about your product. Ask a question in plain language, get working code in seconds, and execute it against Mixpanel data. Agents compress hours-long analysis into durable code you can run every week. <\/p>\n<p>You can check out the docs and try out Mixpanel Headless today: <a href=\"https:\/\/docs.mixpanel.com\/docs\/mixpanel-headless\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.mixpanel.com\/docs\/m&#8230;<\/a><\/p>\n<p>We\u2019d love to know your feedback or thoughts!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Hi. Do users get to review the generated query\/code before it runs against production analytics data?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ihorperkovskyi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ihorperkovskyi<\/a>&nbsp;Definitely! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 pumped to see this live today! \ud83d\ude80<\/p>\n<p>As someone who&#8217;s worked closely with how teams actually use Mixpanel, one of the biggest pain points has always been the gap between asking a question and getting an answer. You&#8217;d have to build a dashboard, wait for a data pull, or loop in an analyst.<\/p>\n<p>Mixpanel Headless flips that. Now, whether you&#8217;re building an AI agent or just want to script your own weekly retention report, you have direct programmatic access to the full analytics surface: funnels, cohorts, attribution, all from Python.<\/p>\n<p>The agent use case is what really excites me. Instead of one-off answers, you get <strong>durable code<\/strong> that keeps running. This of course isn&#8217;t for everyone, but for those that can leverage it, I&#8217;ve already heard some amazing ways that this makes life easier for Mixpanel users. <\/p>\n<p>I&#8217;m happy to answer any questions about how this works under the hood or how to get started! What workflows are YOU most excited to automate? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">Indie iOS founder here. Different analytics stack today, watching this category closely. The \u201cdurable code\u201d framing is the smart pitch, most agent-generated queries are throwaway and making them re-runnable weekly artifacts is a real shift.<br \/>\nAnswering Paul\u2019s prompt: the dream automation for me is the daily product-health checkup. We currently run a manual ~10-min morning routine: scan for new decode errors, check the activation funnel, flag anomalies on a regression watchlist. An agent that compiled that into a deterministic \u201chere\u2019s what\u2019s new vs yesterday\u201d digest would buy back time.<br \/>\nOne question: why a Python SDK and not an MCP server? MCP is becoming the de facto agent &lt;&gt; external-data interface. Was the choice about Python ecosystem fit, MCP maturity concerns, or is an MCP server on the roadmap?<\/div>\n<div class=\"comment-actions\">\n<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\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;We also have a Mixpanel MCP server! <a href=\"https:\/\/docs.mixpanel.com\/docs\/mcp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.mixpanel.com\/docs\/mcp<\/a><\/p>\n<\/p>\n<p>We think developers will benefit from using Headless vs. MCP server as it requires fewer tool calls and more deterministic operations executed by Python, enabling faster and cheaper responses for certain use cases<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HDUTC4PSNKAGQH\" class=\"app-title\">Tacet<\/a><\/p>\n<div class=\"one-liner\">The brain monitor for cognitive health scores<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">113<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tacet\u662f\u4e00\u6b3e\u5229\u7528\u624b\u673a\u6572\u51fb\u8282\u594f\u8ffd\u8e2a\u8ba4\u77e5\u5065\u5eb7\u8bc4\u5206\u7684\u5e94\u7528\uff0c\u5e2e\u52a9\u7528\u6237\u65e0\u9700\u6602\u8d35\u786c\u4ef6\u5c31\u80fd\u65e5\u5e38\u76d1\u6d4b\u5927\u8111\u72b6\u6001\u4e0e\u7761\u7720\u8d28\u91cf\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\/857a4c9c-451b-4707-be91-b3f91a93aaa5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/41e939ff-173a-4782-b141-5ff8fcbe1af7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bf6645c8-aa21-4df2-8d37-00505611cbc1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/623c8809-1b17-431e-bd60-0283a08a8902.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1968b3d6-2c2c-467f-9595-c37b8716282e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0bfef086-6475-4419-8b8c-0c39eb6b5ff2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8ba4\u77e5\u5065\u5eb7\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u8111\u5065\u5eb7<\/span><br \/>\n            <span class=\"tag\">\u884c\u4e3a\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u7761\u7720\u8d28\u91cf<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u7597\u6cd5<\/span><br \/>\n            <span class=\"tag\">\u795e\u7ecf\u79d1\u5b66<\/span><br \/>\n            <span class=\"tag\">\u65e0\u611f\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5353\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\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\u6838\u5fc3\u5173\u6ce8\uff1a1) \u884c\u4e3a\u6a21\u5f0f\u5982\u4f55\u88ab\u6355\u6349\uff0c\u65e0\u9700\u624b\u52a8\u5f00\u542f\uff1b2) \u8ba4\u77e5\u8bc4\u5206\u4e0b\u964d\u662f\u5426\u4f1a\u5f15\u53d1\u7126\u8651\uff0c\u4ee5\u53ca\u5982\u4f55\u5f15\u5bfc\u6539\u5584\uff1b3) \u5f3a\u70c8\u547c\u5401iOS\u7248\u672c\u5c3d\u5feb\u4e0a\u7ebf\uff0c\u5e76\u63d0\u4f9bTestFlight\u6d4b\u8bd5\u673a\u4f1a\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                Tacet\u5de7\u5999\u5730\u5c06\u795e\u7ecf\u79d1\u5b66\u8bba\u6587\u4e2d\u7684\u201c\u70b9\u51fb\u8ba1\u65f6\u672f\u201d\u8f6c\u5316\u4e3a\u6d88\u8d39\u54c1\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u786c\u4ef6\u521b\u65b0\uff0c\u800c\u5728\u4e8e\u91cd\u65b0\u5b9a\u4e49\u4e86\u201c\u5927\u8111\u76d1\u6d4b\u201d\u7684\u95e8\u69db\u2014\u2014\u4ece\u4e34\u5e8a\u533b\u9662\u7684\u53e3\u888b\u6210\u672c\u964d\u5230\u201c\u70b9\u51fb\u4e00\u4e0b\u201d\uff0c\u4ece\u5927\u578b\u8bbe\u5907\u7f29\u5230\u624b\u673a\u5e94\u7528\u3002\u8fd9\u5728\u4ea7\u54c1\u5f62\u6001\u4e0a\u662f\u4e00\u6b21\u6df1\u523b\u7684\u53bb\u4e2d\u5fc3\u5316\u5c1d\u8bd5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u79cd\u964d\u7ef4\u6253\u51fb\u4e5f\u6697\u85cf\u98ce\u9669\u3002\u4ea7\u54c1\u4f9d\u8d56\u7684\u201c\u6572\u51fb\u8282\u594f\u201d\u4f5c\u4e3a\u751f\u7269\u6807\u8bb0\u7269\uff0c\u867d\u7136\u5b66\u672f\u4e0a\u88ab\u8bc1\u660e\u4e0e\u7761\u7720\u8d28\u91cf\u3001\u8ba4\u77e5\u5904\u7406\u901f\u5ea6\u76f8\u5173\uff0c\u4f46\u201c\u76f8\u5173\u201d\u4e0d\u7b49\u4e8e\u201c\u56e0\u679c\u201d\u3002\u7528\u6237\u5728\u8bc4\u8bba\u4e2d\u62c5\u5fc3\u201c\u5f53\u5206\u6570\u4e0b\u964d\u65f6\u600e\u4e48\u529e\u201d\uff0c\u6070\u597d\u70b9\u51fa\u4ea7\u54c1\u6700\u5927\u7684\u8f6f\u808b\uff1a\u76ee\u524d\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u6570\u636e\u5c55\u793a\u4eea\u201d\u800c\u975e\u201c\u5065\u5eb7\u5bfc\u822a\u4eea\u201d\u3002\u56e2\u961f\u867d\u627f\u8bfa\u63d0\u4f9b\u79d1\u5b66\u6587\u7ae0\u8f85\u52a9\u6539\u5584\uff0c\u4f46\u8fd9\u8fdc\u8fdc\u4e0d\u591f\u3002\u4e00\u65e6\u7528\u6237\u8fde\u7eed\u6570\u65e5\u770b\u5230\u201c\u4e0d\u7a33\u5b9a\u201d\u6807\u7b7e\u5374\u65e0\u4ece\u4e0b\u624b\uff0c\u7126\u8651\u611f\u4f1a\u78be\u788e\u5065\u5eb7\u52a8\u673a\uff0c\u6700\u7ec8\u5bfc\u81f4\u5378\u8f7d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u89d2\u5ea6\u770b\uff0cTacet\u7684\u53d8\u73b0\u8def\u5f84\u6e05\u6670\uff08\u8ba2\u9605\u5236\uff09\uff0c\u4e14\u7528\u201c\u4e24\u5468\u8bad\u7ec3\u57fa\u7ebf\u201d\u5236\u9020\u4e86\u7c98\u6027\u3002\u4f46\u5fc5\u987b\u8b66\u60d5\u4f2a\u79d1\u5b66\u8d28\u7591\u2014\u2014\u6bd5\u7adf\uff0c\u7528\u201c\u70b9\u51fb\u624b\u673a\u201d\u63a8\u5bfc\u5927\u8111\u72b6\u6001\uff0c\u542c\u8d77\u6765\u6781\u6613\u649e\u4e0a\u201c\u7384\u5b66\u201d\u9632\u706b\u5899\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e94\u8be5\u662f\uff1a\u6301\u7eed\u5151\u73b0\u4e34\u5e8a\u7ea7\u9a8c\u8bc1\u3001\u5bf9\u7528\u6237\u884c\u4e3a\u6539\u5584\u7684\u76f4\u63a5\u53cd\u9988\uff08\u6bd4\u5982\u5efa\u8bae\u201c\u6b64\u523b\u4f11\u606f10\u5206\u949f\u201d\uff09\u3001\u4ee5\u53ca\u5f53\u5206\u6570\u6301\u7eed\u5f02\u5e38\u65f6\uff0c\u65e0\u7f1d\u8854\u63a5\u4e13\u4e1a\u533b\u7597\u8d44\u6e90\u7684\u8def\u5f84\u3002\u5982\u679c\u53ea\u505c\u7559\u5728\u201c\u597d\u770b\u7684\u6570\u636e\u4eea\u8868\u76d8\u201d\uff0c\u5b83\u7ec8\u5c06\u88ab\u9057\u5fd8\u5728\u62bd\u5c49\u3002\u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u56e2\u961f\u6765\u81ea\u5b66\u672f\u80cc\u666f\u4e14\u6001\u5ea6\u771f\u8bda\uff0c\u4f46\u8d70\u51fa\u5b9e\u9a8c\u5ba4\u540e\uff0c\u4ed6\u4eec\u9700\u8981\u5c3d\u5feb\u8bc1\u660e\uff1a\u6572\u51fb\u4fe1\u53f7\u4e0d\u4ec5\u201c\u6709\u8da3\u201d\uff0c\u66f4\u8981\u201c\u6709\u7528\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\">Tacet<\/span>\n                <\/div>\n<div class=\"comment-content\">You track your steps. Your heart rate. Your calories. But what about your brain? Tacet gives you a daily cognitive fitness score and sleep quality tracking, drawn from the rhythm of how you tap your phone. Those timing patterns carry a surprisingly accurate signal about your cognitive state. No headset, no expensive hardware, no setup. Passive tracking, built on neuroscience research from Leiden University. Traditional brain monitoring is expensive. Tacet brings it to your pocket. Start today!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! I&#8217;m Charlotte, CEO at Axite.<\/p>\n<p>We are so proud of this launch and genuinely excited to share Tacet with you. Perfect for anyone who has always wanted a deeper look into their brain activity, without the price tag or the clinic visit!\ud83e\udde0<\/p>\n<p>It turns out the way you tap your phone tells you something about your brain. Not what you type, not which apps you open, but the timing between your taps. That rhythm shifts when you are cognitively sharp, when you are fatigued, when your sleep has been poor. It is a signal that has always been there. We just built the software to read it.<br \/>Brain monitoring has always been locked away in expensive hardware and clinical settings. Tacet changes that. It runs quietly in the background, no difficult setup and no expensive headset, and turns that tap signal into something you can actually use.<\/p>\n<p>Here is what you get:<br \/>\ud83d\udcf1 A cognitive fitness score that shows how sharp your brain is performing, whenever you like<br \/>\ud83d\udca4 Sleep quality tracking based on your behavioural patterns<br \/>\ud83d\udcc8 Longitudinal trends so you can see how your brain changes over days and weeks<br \/>\u2615 A log to add context like stress, caffeine, or a bad night, so your data actually means something.<\/p>\n<p>\ud83d\udccf The perfect tool to measure whether a lifestyle change is having a real effect on your brain&#8217;s performance<\/p>\n<p>One thing worth knowing: the scores get more accurate after about two weeks of use. The algorithm needs time to learn your personal baseline. So download it today, let it run, and see your cognitive scores appear over time. That is when things start to get really interesting!<\/p>\n<p>We are building towards a full remote brain monitoring platform, but we wanted to get something real into people&#8217;s hands now. A first glimpse into your own brain, accessible to anyone with an Android smartphone (we are still working on the IOS release!!)<\/p>\n<p>\ud83c\udf89 Product Hunt exclusive: we are offering a special discount during the first week of launch: A one month free trial! Grab it while it lasts. <\/p>\n<p>How to use: Download the app, make an premium account trough settings and add the code FIRSTTAP for one month free!<\/p>\n<p>Download the app and tell us what you think. What would you want to learn about your own brain most? We would love to hear your thoughts!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>14<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! I&#8217;m Ruchella CTO of Axite.<\/p>\n<\/p>\n<p>\ud83e\udde0\ud83d\udcf1We built this app because we kept asking ourselves: why is it so hard to actually see your own brain health patterns? Tacet changes that. It passively monitors your smartphone behavior and shows you, your cognitive fitness and sleep patterns so you can make better decisions about your health.   <\/p>\n<\/p>\n<p>During my PhD I worked with a group of talented scientists at Leiden University and University of Zurich who were researching how your smartphone behavior can be used to monitor your brain health. The algorithms behind this app has been published in multiple scientific publications.<\/p>\n<\/p>\n<p>Since then our team at Axite has been working hard to share the insights from these algorithms to you. We are excited to finally be able to share it today.<\/p>\n<\/p>\n<p>\ud83d\udc69\ud83c\udffd\u200d\ud83d\udcbbHappy to answer any technical questions<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Huge congrats <a href=\"https:\/\/www.producthunt.com\/@charlotte_franenberg\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"charlotte_franenberg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charlotte_franenberg<\/a> \ud83c\udf89 and everyone at Axite for the launch!<\/p>\n<p>I really enjoyed building <a href=\"https:\/\/www.producthunt.com\/products\/tacet\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"tacet\" target=\"_blank\" rel=\"noopener\">@Tacet<\/a> . It\u2019s been super exciting to work on something that takes everyday phone usage and turns it into meaningful insights about sleep and cognitive performance.<\/p>\n<p>A lot of work went into making the experience feel simple and effortless for users, while doing some pretty complex things behind the scenes \ud83d\ude04<\/p>\n<p>Can\u2019t wait to see what people think and how the product evolves from here. Proud to be part of it \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! I&#8217;m Dirk, Data Scientist at Axite.<\/p>\n<p>What excites me most about Tacet is that it makes something real and measurable out of a signal that has always been there. Every time you tap your phone, your brain is leaving a trace. Most people have no idea. The science behind this has been quietly building for years in research labs, and now it is finally in people&#8217;s hands.<\/p>\n<p>As someone who works with brain data every day, I find that genuinely thrilling. Your phone already knows more about your cognitive patterns than you do. Tacet just shows you what it knows.<\/p>\n<p>Can&#8217;t wait to hear what you think!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello Product Hunt &#8211; We are so excited to finally be sharing Tacet with you! It has been a long journey to get here and I hope you love it as much as we do! Happy tapping!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Downloaded! Curious about my scores..<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can&#8217;t wait to use the app! IOS coming soon?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@maaac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maaac<\/a>&nbsp;Hi Mac! Thank you for your enthusiasm. We hope that the IOS release will happen in a couple of months (after summer). Ofcourse we will keep you updated on PH!<\/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>So happy we finally launched and that people can now use this amazing product! For me the coolest thing is seeing your cognitive scores change over time and figure out what lifestyle works best for you and your brain\ud83e\udde0 Gongrats team!\u2728<\/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>Hi Product Hunt! I&#8217;m Nynke, Data Scientist at Axite. It&#8217;s really exciting to see Tacet go out in the world.<\/p>\n<\/p>\n<p>Working at Axite, I\u2019ve learned a lot about the brain and found it fascinating how much subtle stuff in how our brain functions can actually show up in data, often without us even realising it ourselves.<\/p>\n<\/p>\n<p>That\u2019s also what I find so cool about Tacet; seeing those kinds of patterns become something people can actually see and explore for themselves from just their phone is pretty amazing.<\/p>\n<\/p>\n<p>Very excited to see what people think of it \ud83d\udcf1<\/p>\n<\/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>How can those behavioural patterns be spotted? I understand that activity (mainly that physical one can be tracked by external devices &#8211; rings, watches), but what if I forgot to set my smartphone to track my brain activity? <\/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\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Thank you for your question Nika! Tacet is based on peer reviewed scientific literature conducted in some of the top universities in Europe. The algorithms powering Tacet work on the concept Tappigraphy (selected articles: <a href=\"https:\/\/doi.org\/10.1080\/17489725.2022.2105410\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/doi.org\/10.1080\/17489725.2022.2105410<\/a>, <a href=\"https:\/\/doi.org\/10.1038\/s41746-019-0147-4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/doi.org\/10.1038\/s41746-019-0147-4<\/a>) which has been used to quantify hidden human health variables such as sleep patterns, cognitive processing speeds, and human disease activities (such as in Epilepsy). Features of your taps on your smartphone, such as speed, accuracy, and time of day you tap on your phone can all be quantified to give us unique biological information about your cognitive functioning. <\/p>\n<\/p>\n<p>So, to answer your question &#8211; you do not need to turn on brain tracking on your phone, you simply have to use your phone as usual, and Tacet works away in the background to calculate your cognitive scores based on nothing but your taps! <\/p>\n<p>I hope this helps you, and we are happy to see your interest in our App!<\/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>Hi Product Hunt! I am Vasiliki, UX researcher at Axite. Happy to see Tacet officially live on Product Hunt today!<\/p>\n<p>A lot of thoughtful work went into shaping both the product experience and the science behind it. Excited to see where the team takes it next. \u2728<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019m curious how you\u2019ve worked through the wellness-scoring tension on the user side.<\/p>\n<p>Cognitive scores are the single most anxiety-loaded thing to quantify, because brain decline is one of people\u2019s deepest fears. What does Tacet do for a user whose score is trending the wrong way: stay observational, suggest action, surface professional help? And from early data, does the score motivate behavior change or mostly generate anxiety without corresponding levers the user can pull? Big congrats on launching!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;Great question, and something we have gone back and forth on a lot. We know knowing your cognitive fitness can definitely be stressful for some people. However, in the same way not knowing can be stressfull for others as well. In the app we try to highlight that there methods to improve your cognitive functioning by providing science based information in articles. <\/p>\n<p>We calculate a score between 0 and 100 and then display scores between certain ranges as a label for example, stable, thriving. We try to be careful with the language for downward trends so when someone&#8217;s score is declining we say unstable. We chose the labels based on internal UX testing. <\/p>\n<p>That being said, it is something we would love to continue receiving feedback on. Curious if you have any ideas on how to approach 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Heya, this looks cool. Would love to try a TestFlight build once on iOS! Consider posting that build to <a href=\"https:\/\/departures.to\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">departures.to<\/a> (free, I have no relationship with them, just have posted there and gotten lots of good beta feedback users, haha)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grey_seymour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grey_seymour<\/a>&nbsp;Hi! Thank you for the support, and for the suggestion! Will check it out!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/JCT7JST7ALMC46\" class=\"app-title\">CatchAll by NewsCatcher<\/a><\/p>\n<div class=\"one-liner\">Build any dataset from the web. Filtered to your criteria.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">108<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>CatchAll \u662f\u4e00\u6b3e\u5c06\u81ea\u7136\u8bed\u8a00\u67e5\u8be2\u8f6c\u5316\u4e3a\u7ed3\u6784\u5316\u6570\u636e\u96c6\u7684\u7f51\u7edc\u641c\u7d22API\uff0c\u5e2e\u52a9\u6570\u636e\u5206\u6790\u5e08\u3001\u60c5\u62a5\u7814\u7a76\u5458\u7b49\u7528\u6237\uff0c\u4ece\u6d77\u91cf\u6742\u4e71\u7f51\u9875\u4e2d\u7cbe\u51c6\u63d0\u53d6\u5e76\u6e05\u6d17\u51fa\u53ef\u7528\u4e8e\u5de5\u4f5c\u6d41\u548cAI\u7ba1\u7ebf\u7684\u771f\u5b9e\u4e8b\u4ef6\u6570\u636e\uff0c\u89e3\u51b3\u4f20\u7edf\u641c\u7d22\u5f15\u64ce\u53ea\u8fd4\u56de\u94fe\u63a5\u5217\u8868\u3001\u6570\u636e\u4e0d\u5e72\u51c0\u3001\u65e0\u6cd5\u76f4\u63a5\u4f7f\u7528\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\/63a9c0ff-4a17-471b-99f7-f27520ddbf0b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ca7ff1d4-220e-4b3b-b1ca-e3cd3e5f5c78.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4614c691-ca8f-4bad-9d01-a2f52d75d2fc.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\/a3408b22-b82c-4d5f-9920-85d189ef6fe7.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/FoabNIX7ue0\"><source src=\"https:\/\/youtu.be\/FoabNIX7ue0\" 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\">Data &#038; Analytics<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7f51\u7edc\u641c\u7d22API<\/span><br \/>\n            <span class=\"tag\">\u7ed3\u6784\u5316\u6570\u636e\u96c6<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u67e5\u8be2<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6e05\u6d17<\/span><br \/>\n            <span class=\"tag\">\u4e8b\u4ef6\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u60c5\u62a5\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u722c\u53d6<\/span><br \/>\n            <span class=\"tag\">\u53bb\u91cd\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">AI\u7ba1\u7ebf<\/span><br \/>\n            <span class=\"tag\">NewsCatcher<\/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\u81ea\u7136\u8bed\u8a00\u67e5\u8be2\u4e0e\u81ea\u5b9a\u4e49\u8fc7\u6ee4\uff08\u65f6\u95f4\u3001\u8bed\u8a00\u3001\u5730\u57df\uff09\u529f\u80fd\uff0c\u5982\u8ffd\u8e2a\u65e5\u672c\u653f\u5e9c\u65b0\u80fd\u6e90\u653f\u7b56\u3002\u6709\u7528\u6237\u5173\u5fc3\u6570\u636e\u63d0\u53d6\u7684\u53ef\u9760\u6027\uff0c\u5b98\u65b9\u56de\u5e94\u79f0\u6bcf\u4e2a\u7ed3\u679c\u9644\u5e26\u6e90\u5f15\u7528\uff0c\u63d0\u53d6\u524d\u4f1a\u805a\u7c7b\u9a8c\u8bc1\uff0c\u5e76\u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u6821\u9a8c\u89c4\u5219\uff0c\u786e\u4fdd\u53ef\u8ffd\u6eaf\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                CatchAll \u5728\u9762\u5bf9\u201c\u6570\u636e\u5de5\u7a0b\u8001\u95ee\u9898\u201d\u65f6\u7ed9\u51fa\u4e86\u4e00\u4e2a\u76f8\u5f53\u6210\u719f\u7684\u5de5\u4e1a\u7ea7\u89e3\u6cd5\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u722c\u53d6\u201d\uff0c\u800c\u5728\u4e8e\u201c\u7ed3\u6784\u5316\u201d\u2014\u2014\u5c06\u641c\u7d22\u5f15\u64ce\u8fd4\u56de\u7684\u94fe\u63a5\u566a\u97f3\u8f6c\u5316\u4e3a\u53ef\u76f4\u63a5\u6295\u5582\u7ed9AI Agent\u6216\u76d1\u63a7\u7ba1\u7ebf\u7684\u5e72\u51c0\u4e8b\u4ef6\u8bb0\u5f55\u3002\u4ece\u878d\u8d44\u5230\u76d1\u7ba1\u52a8\u6001\uff0c\u8fd9\u79cd\u201c\u4ece\u7f51\u9875\u5230\u6570\u636e\u96c6\u201d\u7684\u81ea\u52a8\u5316\u63d0\u70bc\u80fd\u529b\uff0c\u7cbe\u51c6\u547d\u4e2d\u4e86\u5bf9\u5b9e\u65f6\u6027\u3001\u51c6\u786e\u6027\u548c\u6570\u636e\u51c6\u5907\u5ea6\u8981\u6c42\u6781\u9ad8\u7684\u91d1\u878d\u3001\u98ce\u63a7\u3001\u60c5\u62a5\u5206\u6790\u573a\u666f\u3002\u521b\u59cb\u4eba\u80cc\u666f\uff08\u4e94\u5e74\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\u5efa\u8bbe\uff09\u8d4b\u4e88\u4e86\u4ea7\u54c1\u5929\u7136\u7684\u6280\u672f\u53ef\u4fe1\u5ea6\uff1a\u652f\u6301\u81ea\u7136\u8bed\u8a00\u67e5\u8be2\u3001\u81ea\u5b9a\u4e49\u6821\u9a8c\u3001\u81ea\u52a8\u5b9a\u65f6\u63a8\u9001\u81f3Webhook\uff0c\u8fd9\u4e9b\u529f\u80fd\u7ec4\u5408\u5df2\u8d85\u8d8a\u7b80\u5355\u7684API\u5de5\u5177\uff0c\u66f4\u50cf\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6570\u636ePaaS\u3002\u7136\u800c\uff0c\u4ea7\u54c1\u771f\u6b63\u7684\u786c\u5ea6\u4ecd\u53d6\u51b3\u4e8e\u5176\u5e95\u5c42\u201c\u53bb\u91cd\u4e0e\u9a8c\u8bc1\u201d\u7b97\u6cd5\u7684\u5b9e\u9645\u53ec\u56de\u7387\u548c\u51c6\u786e\u7387\u2014\u2014\u5b98\u65b9\u867d\u627f\u8bfa\u6e90\u53ef\u8ffd\u6eaf\u548c\u805a\u7c7b\u9a8c\u8bc1\uff0c\u4f46\u9762\u5bf9\u4e2d\u6587\u4e92\u8054\u7f51\u53ca\u975e\u82f1\u6587\u7f51\u7ad9\u65f6\uff0c\u5904\u7406\u590d\u6742\u8bed\u4e49\u3001\u865a\u5047\u4fe1\u606f\u548c\u52a8\u6001\u5185\u5bb9\u7684\u9c81\u68d2\u6027\u4ecd\u9700\u5b9e\u6218\u573a\u68c0\u9a8c\u3002\u5f53\u524d2,000\u514d\u8d39\u79ef\u5206\u7b56\u7565\u5de7\u5999\uff0c\u964d\u4f4e\u4e86\u9996\u6b21\u5c1d\u8bd5\u95e8\u69db\uff0c\u4f46\u82e5\u65e0\u6cd5\u5728\u9996\u6279\u7528\u6237\u4f7f\u7528\u4e2d\u5feb\u901f\u4ea7\u51fa\u201c\u5728\u5176\u4ed6\u5de5\u5177\u4e0a\u62ff\u4e0d\u5230\u201d\u7684\u9ad8\u8d28\u91cf\u7ed3\u6784\u5316\u6570\u636e\uff0c\u5176\u5546\u4e1a\u8f6c\u5316\u4f1a\u9762\u4e34\u6311\u6218\u3002\u6574\u4f53\u800c\u8a00\uff0cCatchAll \u662f\u6570\u636e\u5197\u4f59\u65f6\u4ee3\u7684\u4e00\u628a\u7cbe\u5bc6\u5207\u5272\u5200\uff0c\u4f46\u80fd\u5426\u6210\u4e3a\u884c\u4e1a\u6807\u914d\uff0c\u5f97\u770b\u5b83\u662f\u5426\u80fd\u628a\u201c\u4e00\u5200\u5207\u201d\u7684\u901a\u7528\u65b9\u6848\uff0c\u6253\u78e8\u6210\u80fd\u5728\u77f3\u6cb9\u3001\u6cd5\u5f8b\u3001\u751f\u7269\u533b\u836f\u7b49\u5782\u57df\u6570\u636e\u6cbc\u6cfd\u4e2d\u6e38\u5203\u6709\u4f59\u7684\u7279\u79cd\u88c5\u5907\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\">CatchAll by NewsCatcher<\/span>\n                <\/div>\n<div class=\"comment-content\">CatchAll is a web search API that builds structured datasets from the open web. Submit a query, and it scans thousands of web pages, validates every result, and returns clean, deduplicated records \u2014 not a ranked list of links, but a dataset of real-world events, ready for workflows and pipelines.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Such a beautiful website you have, guys! \ud83d\ude0d<\/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\/@illya_krupenikov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@illya_krupenikov<\/a>&nbsp;thanks to the most wonderful team! \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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\u652f\u6301\u81ea\u7136\u8bed\u8a00\u67e5\u8be2\uff0c\u4e0d\u9700\u8981\u590d\u6742\u7684\u8bed\u6cd5\u3002\u8fd8\u80fd\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u53c2\u6570\uff08\u65f6\u95f4\u8303\u56f4\u3001\u8bed\u8a00\u3001\u5730\u533a\u3001\u57df\u540d\u8fc7\u6ee4\uff09\uff0c\u6211\u7528\u5b83\u4e13\u95e8\u8ffd\u8e2a\u65e5\u672c\u653f\u5e9c\u5b98\u7f51\u7684\u65b0\u80fd\u6e90\u653f\u7b56\uff0c\u7cbe\u51c6\u83b7\u53d6\u4e00\u624b\u4fe1\u606f\uff0c\u6392\u9664\u7b2c\u4e09\u65b9\u89e3\u8bfb\u5e72\u6270<\/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\/@summer_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@summer_dev<\/a>&nbsp;thanks for sharing that great use-case! If you need the extra credits, just reach out.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! Artem here, co-founder of NewsCatcher.<\/p>\n<\/p>\n<p>Back in 2020, Maksym and I were data engineers who couldn&#8217;t find a reliable way to get clean, structured news data \u2014 so we built our own infrastructure. Five years later, it powers intelligence workflows at banks, hedge funds, and risk platforms, continuously indexing billions of web pages.<\/p>\n<\/p>\n<p>Today we&#8217;re launching CatchAll \u2014 a web search API that builds structured datasets from the open web.<\/p>\n<p>The web is full of real-world events that never get assembled into usable data: which fintechs raised Series A rounds last quarter, which crypto exchanges faced regulatory action this month, which AI companies were acquired this week. CatchAll finds them all, validates every result, and returns a clean deduplicated dataset \u2014 not a list of links.<\/p>\n<\/p>\n<p>Submit a natural language query and CatchAll retrieves a massive candidate set, filters out noise, and returns structured records ready to pipe into an AI agent, a monitoring workflow, or an analytics pipeline. You can also set up a monitor to re-run any query on a schedule and push fresh results to a webhook automatically.<\/p>\n<\/p>\n<p>We&#8217;re in early days and genuinely here for feedback. Sign up and you&#8217;ll get 2,000 free credits to start. Share your use case in the comments and we&#8217;ll 5x them.<\/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>Whoa, I was browsing through some of your datasets. Fantastic! <\/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>Love it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is interesting but how do we make sure that extracted is legit?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ashishkingdom\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashishkingdom<\/a>&nbsp;few layers to this:<\/p>\n<ol>\n<li>\n<p>Every result comes with source citations \u2014 you can always trace back to the original publication<\/p>\n<\/li>\n<li>\n<p>Before extraction, CatchAll clusters related pages about the same event and applies validators to filter out irrelevant results<\/p>\n<\/li>\n<li>\n<p>You can define your own validation rules to tighten precision for your use case<\/p>\n<\/li>\n<\/ol>\n<p>It&#8217;s not a black box \u2014 the sources are always there.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/ZM22V6AC4IVDS6\" class=\"app-title\">TongueType for macOS<\/a><\/p>\n<div class=\"one-liner\">Local dictation for macOS without the subscription<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">107<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>TongueType\u662f\u4e00\u6b3e\u4e13\u4e3amacOS\u8bbe\u8ba1\u7684\u672c\u5730\u8bed\u97f3\u542c\u5199\u5e94\u7528\uff0c\u901a\u8fc7\u5feb\u6377\u952e\u89e6\u53d1Whisper AI\u5b9e\u65f6\u8f6c\u5199\uff0c\u8ba9\u7528\u6237\u5728\u7f16\u7a0b\u3001\u5199\u90ae\u4ef6\u3001\u53d1\u6d88\u606f\u7b49\u573a\u666f\u4e2d\u6446\u8131\u6253\u5b57\u74f6\u9888\uff0c\u5b9e\u73b0\u201c\u5373\u8bf4\u5373\u5f97\u201d\u7684\u9ad8\u6548\u6587\u5b57\u8f93\u5165\uff0c\u65e0\u9700\u8ba2\u9605\u4e14\u5b8c\u5168\u79bb\u7ebf\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\/1a4f9f06-aa8f-461c-8256-27df70f32ce1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a8896bba-3115-402c-b878-4f6c9ffbd441.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/feb95fcd-32d4-4921-89b5-9a92e9e8ac39.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\/c7892e15-0b5f-4260-a593-45d9edf5fed8.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\/3899a4bf-1ced-48fb-a1a8-3e64e78e1530.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\/b4a06c6d-141b-48aa-a765-66b66e581593.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=gI9Pudq58j4\"><source src=\"https:\/\/www.youtube.com\/watch?v=gI9Pudq58j4\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Apple<\/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\u672c\u5730\u5316\u4e0e\u65e0\u8ba2\u9605\u7ec4\u5408\uff0c\u4f46\u6307\u51fa\u542c\u5199\u540e\u201c\u6e05\u7406\u6210\u672c\u201d\u9ad8\uff0c\u9700\u4e0d\u540c\u573a\u666f\u7684\u540e\u7f6e\u89c4\u5219\u9884\u8bbe\uff1b\u8be2\u95ee\u6807\u70b9\u8f93\u5165\u65b9\u5f0f\uff08\u5982\u201c\u9017\u53f7\u201d\u3001\u201c\u53e5\u53f7\u201d\uff09\uff1b\u5e0c\u671b\u660e\u786e\u514d\u8d39\u4e0ePro\u7248\u529f\u80fd\u5dee\u5f02\uff0c\u5e76\u5bf930\u5206\u949f\/\u6708\u9650\u5236\u6709\u987e\u8651\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                TongueType\u7684\u8d70\u7ea2\uff0c\u672c\u8d28\u4e0a\u662f\u201c\u529f\u80fd\u514b\u5236\u201d\u5bf9\u201c\u8ba2\u9605\u75b2\u52b3\u201d\u7684\u4e00\u6b21\u7cbe\u51c6\u72d9\u51fb\u3002\u5728AI\u5de5\u5177\u666e\u904d\u5806\u780c\u4e91\u7aef\u529f\u80fd\u3001\u6309\u6708\u6536\u8d39\u7684\u5f53\u4e0b\uff0c\u5b83\u53cd\u5176\u9053\u800c\u884c\uff1a\u672c\u5730\u6a21\u578b\u3001\u65e0\u8d26\u6237\u3001\u4e00\u6b21\u6027\u4e70\u65ad\u3002\u8fd9\u79cd\u6781\u7b80\u54f2\u5b66\u6070\u597d\u6233\u4e2d\u4e24\u7c7b\u7528\u6237\uff1a\u4e00\u662f\u5bf9\u9690\u79c1\u654f\u611f\u7684\u521b\u4f5c\u8005\uff0c\u4e8c\u662f\u538c\u5026\u201c\u6253\u5b57\u2192\u8f85\u52a9AI\u2192\u518d\u7f16\u8f91\u201d\u7e41\u7410\u6d41\u7a0b\u7684\u6548\u7387\u515a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8b66\u60d5\u5176\u98ce\u9669\u3002Whisper\u5c0f\u6a21\u578b\u5728\u566a\u97f3\u73af\u5883\u6216\u4e13\u4e1a\u672f\u8bed\u4e0b\u7684\u51c6\u786e\u7387\u4ecd\u5b58\u7591\uff0c30\u5206\u949f\u514d\u8d39\u6708\u9650\u66f4\u50cf\u201c\u8bd5\u73a9\u751c\u5934\u201d\u800c\u975e\u751f\u4ea7\u529b\u89e3\u9501\u2014\u2014\u91cd\u5ea6\u7528\u6237\u53ef\u80fd\u4ecd\u9700\u8f6c\u5411\u4ed8\u8d39\u7248\uff08\u4ec519.99\u7f8e\u5143\uff09\uff0c\u800c\u4f4e\u4ef7\u683c\u5e26\u662f\u5426\u53ef\u6301\u7eed\u652f\u6491\u7ef4\u62a4\u4e0e\u66f4\u65b0\uff1f\u6b64\u5916\uff0c\u8bc4\u8bba\u4e2d\u201c\u6e05\u7406\u6210\u672c\u201d\u662f\u75db\u4e2d\u8981\u5bb3\uff1a\u542c\u5199\u5929\u7136\u5e26\u53e3\u8bed\u5197\u4f59\uff0c\u82e5\u540e\u7f6e\u89c4\u5219\u4e0d\u591f\u667a\u80fd\uff0c\u53cd\u800c\u589e\u52a0\u4e8c\u6b21\u7ea0\u9519\u65f6\u95f4\u3002\u82e5\u4e0d\u80fd\u63d0\u4f9b\u201c\u8bed\u5883\u9884\u8bbe\u201d\u6216\u201c\u8bed\u6c14\u4fdd\u7559\u5bf9\u6bd4\u201d\u7b49\u5dee\u5f02\u5316\u529f\u80fd\uff0c\u5b83\u53ef\u80fd\u6ca6\u4e3a\u201c\u70ed\u4e4e\u4e00\u9635\u201d\u7684\u6548\u7387\u73a9\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u5b83\u9a8c\u8bc1\u4e86\u4e00\u79cd\u6a21\u5f0f\uff1aAI\u5782\u76f4\u5de5\u5177\u4e0d\u5fc5\u8ffd\u6c42\u201c\u5168\u80fd\u4e91\u7aef\u201d\uff0c\u800c\u662f\u8981\u505a\u6210\u201c\u5243\u987b\u5200\u7247\u201d\u2014\u2014\u672c\u5730\u8fd0\u884c\u3001\u4e00\u78b0\u5373\u7528\u3001\u4e70\u65ad\u6536\u8d39\u3002\u4f46\u80fd\u5426\u4ece\u6619\u82b1\u4e00\u73b0\u7684\u201c\u597d\u70b9\u5b50\u201d\u8fdb\u5316\u4e3a\u957f\u671f\u4f9d\u8d56\u7684\u201c\u745e\u58eb\u519b\u5200\u201d\uff0c\u53d6\u51b3\u4e8e\u542c\u5199\u51c6\u786e\u7387\u74f6\u9888\u80fd\u5426\u7a81\u7834\uff0c\u4ee5\u53ca\u540e\u5904\u7406\u89c4\u5219\u80fd\u5426\u4ece\u201c\u624b\u52a8\u66ff\u6362\u201d\u8fdb\u5316\u4e3a\u201c\u5b66\u4e60\u7528\u6237\u4e60\u60ef\u201d\u3002\u5f53\u524d\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u6709\u8da3\u7684\u8d77\u6b65\u201d\uff0c\u800c\u975e\u201c\u5b8c\u7f8e\u7684\u7ec8\u70b9\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\">TongueType for macOS<\/span>\n                <\/div>\n<div class=\"comment-content\">TongueType is a macOS voice dictation app powered by Whisper AI running locally on Apple Silicon. No cloud, no accounts, no subscriptions. Hold a key, speak, release. Your words appear. Supports 12 languages and audio file transcription. TongueType gives you a configurable press-to-talk hotkey, audio and video file transcription, and configurable post-processing rules. It&#8217;s customizable and fun (try Rainbow Mode!) and it&#8217;s built to be the fastest dictation workflow possible.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I&#8217;m Cory. I&#8217;ve been doing web development for a long time, but TongueType is my first macOS app.<\/p>\n<p>In the age of AI, many developers find themselves typing words more than code. I type fast, but my fingers have become a bottleneck for many tasks. I wanted a solid dictation app that runs locally, responds instantly, and has the accuracy of a world-class AI model.<\/p>\n<p>TongueType sits in your macOS menu bar and starts listening as soon as you press a hotkey. It transcribes your words and pastes them into whatever app you&#8217;re currently in.<\/p>\n<p>Press. Talk. Words appear.<\/p>\n<p>macOS has had built-in dictation for a long time, but in my experience it&#8217;s just not very good. I was surprised to see so many third-party dictation apps tied to a subscription and a bunch of cloud features I didn&#8217;t want. While dictation itself isn&#8217;t unique, TongueType focuses on being seamless: it feels tightly integrated with the OS because it gets out of the way and just works.<\/p>\n<p>Under the hood, TongueType uses OpenAI&#8217;s Whisper small model compiled to Core ML so it runs directly on Apple Silicon. Some additional info that sets TongueType apart from other apps:<\/p>\n<p>\ud83d\udcb8 No subscription. Free to try. Pro is a one-time $19.99 for up to 5 Macs. Buy it once, keep it forever.<br \/>\n\ud83d\udd12 100% private. Local-only. Zero telemetry. No account. Nothing logged, nothing uploaded.<br \/>\n\ud83c\udf9b\ufe0f Yours to shape. Custom post-processing rules, spoken symbols, cancel phrases (&#8220;scratch that&#8221;), 12 languages with auto-detect.<br \/>\n\ud83c\udf08 A little personality. 20 accent colors including Rainbow Mode. None of it was necessary. All of it was fun. (Turns out that&#8217;s what makes an app feel like it&#8217;s yours.)<\/p>\n<p>I use TongueType constantly for prompting LLMs, writing emails, sending DMs, commenting code, typing commit messages&#8230;basically anywhere the thinking is already done and all that&#8217;s left is getting the words out (which turns out to be a surprising amount of my day).<\/p>\n<p>It&#8217;s been surprising to discover that many people don&#8217;t seem to like dictation apps. I&#8217;m not sure if that&#8217;s because they haven&#8217;t worked very well in the past or if it&#8217;s just a hard habit to get into. (Admittedly, my kids helped me form the habit. They&#8217;d see my typing and rightfully ask &#8220;why aren&#8217;t you using TongueType?!&#8221;)<\/p>\n<p>I&#8217;m genuinely curious to learn: what&#8217;s the one thing that&#8217;s kept you from sticking with a dictation app?<\/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>For me, the thing that breaks the dictation habit is the cleanup tax after the words appear.<\/p>\n<p>Dictation is great for raw thought, but different surfaces need different levels of cleanup: an LLM prompt can stay loose, a commit message needs precision, and an email needs just enough polish without losing the spoken cadence. The post-processing rules feel like the right place to solve that.<\/p>\n<p>One thing I\u2019d want is per-context presets plus a quick raw transcript \/ cleaned text comparison. That would make it easier to trust the tool because you can see whether it\u2019s preserving the thought or silently over-smoothing it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>local-only and no subscription, rare combo! how do you handle the punctuation problem. say &#8220;comma&#8221; and it adds punctuation? how would &#8220;period&#8221; be decided as word or punctuation? congrats 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\/@hiyamojo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hiyamojo<\/a>&nbsp;I&#8217;ve gotten used to not using it, to be honest. But you can go to Settings &gt; Postprocessing and experiment with replacements there! A friend of mine added, e.g. &#8220;smiley face emoji&#8221;&#8216; =&gt; \ud83d\ude0a and similar.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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. Where do I see pro and free features list? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks! <a href=\"https:\/\/www.producthunt.com\/@roopreddy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roopreddy<\/a>&nbsp;free includes every feature, but capped at 30 minutes of dictation per month and 10 seconds for file transcriptions. There&#8217;s a <a href=\"https:\/\/tonguetype.app\/docs\/pro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Free vs. Pro<\/a> page with more details.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/TQXEZYNCQKGXBZ\" class=\"app-title\">Framed<\/a><\/p>\n<div class=\"one-liner\">Turn screenshots, videos, and code into polished visuals<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">104<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Framed \u662f\u4e00\u6b3e MacOS \u539f\u751f\u5e94\u7528\uff0c\u5e2e\u52a9\u72ec\u7acb\u5f00\u53d1\u8005\u3001\u4ea7\u54c1\u56e2\u961f\u5feb\u901f\u5c06\u622a\u56fe\u3001\u89c6\u9891\u3001\u4ee3\u7801\u7247\u6bb5\u5305\u88c5\u6210\u9002\u7528\u4e8e\u4ea7\u54c1\u53d1\u5e03\u3001\u5e94\u7528\u5546\u5e97\u3001\u793e\u4ea4\u5a92\u4f53\u7b49\u573a\u666f\u7684\u7cbe\u7f8e\u89c6\u89c9\u7269\u6599\uff0c\u7701\u53bb\u4f20\u7edf\u8bbe\u8ba1\u8f6f\u4ef6\u7684\u590d\u6742\u6d41\u7a0b\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\/3006408e-1445-4f36-a73e-7002cb9963e0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ac5e47a1-7a81-4343-bb0c-2e0be27cf66f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/596c771e-5cf4-437d-a5c9-7af27cbcd2de.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/876404aa-56dd-4e09-afd2-656e6f1aad19.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Social Media<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">MacOS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u622a\u56fe\u7f8e\u5316<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u5305\u88c5<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5c55\u793a<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5361\u7247<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u6027\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">\u539f\u578b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u4e00\u6b21\u6027\u4e70\u65ad\u201d\u7684\u5b9a\u4ef7\u6a21\u5f0f\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u4e0e Mockuuups \u7b49\u6a21\u677f\u5de5\u5177\u76f8\u6bd4\u6709\u4f55\u72ec\u7279\u4f18\u52bf\uff1f\u662f\u5426\u652f\u6301\u79fb\u52a8\u7aef\u5f55\u5236\uff1f\u521b\u59cb\u4eba\u56de\u5e94\u79f0\u652f\u6301\u81ea\u5b9a\u4e49\u6846\u67b6\u548c\u79fb\u52a8\u7aef\u5f55\u5c4f\u3002\u53e6\u6709\u5efa\u8bae\u6307\u51fa\u5176\u5b98\u7f51\u89c6\u89c9\u8d28\u611f\u4e0e\u4ea7\u54c1\u5b9a\u4f4d\u4e0d\u7b26\uff0c\u5f71\u54cd\u7b2c\u4e00\u5370\u8c61\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                Framed \u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u6781\u5176\u771f\u5b9e\u5374\u5e38\u88ab\u5ffd\u89c6\u7684\u75db\u70b9\uff1a**\u4ea7\u54c1\u5305\u88c5\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d**\u3002\u72ec\u7acb\u5f00\u53d1\u8005\uff08\u5982\u521b\u59cb\u4eba\u672c\u4eba\uff09\u5728\u5b8c\u6210\u6838\u5fc3\u529f\u80fd\u540e\uff0c\u5f80\u5f80\u5728\u622a\u56fe\u7f8e\u5316\u3001\u6f14\u793a\u89c6\u9891\u5236\u4f5c\u4e0a\u8017\u8d39\u5927\u91cf\u7cbe\u529b\uff0c\u800c Figma \u8fd9\u7c7b\u5168\u529f\u80fd\u8bbe\u8ba1\u5de5\u5177\u5728\u8fd9\u91cc\u5c5e\u4e8e\u201c\u6740\u9e21\u7528\u725b\u5200\u201d\u3002Framed \u7684\u201c\u4e00\u6b21\u4ed8\u8d39\u201d\u5b9a\u4f4d\uff0c\u65e2\u662f\u5bf9\u7528\u6237\u5fc3\u7406\u7684\u7cbe\u51c6\u6253\u51fb\u2014\u2014\u538c\u5026\u4e86 SaaS \u8ba2\u9605\u5236\u7684\u5f00\u53d1\u8005\u4eec\u5929\u7136\u613f\u610f\u4e3a\u201c\u62e5\u6709\u201d\u800c\u4e70\u5355\uff0c\u4e5f\u662f\u5bf9\u5176\u81ea\u8eab\u5546\u4e1a\u6a21\u5f0f\u7684\u8bda\u5b9e\uff1a\u8fd9\u662f\u4e00\u4e2a\u7a84\u800c\u6df1\u7684\u5c0f\u4f17\u5de5\u5177\uff0c\u7528\u6237\u57fa\u6570\u6709\u9650\uff0c\u505a\u8ba2\u9605\u5236\u53cd\u800c\u96be\u4ee5\u7ef4\u7cfb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u4ef7\u503c\u7684\u771f\u5b9e\u73b0\u5b9e\u5728\u4e8e\uff1a**\u5b83\u63d0\u4f9b\u7684\u5e76\u975e\u6838\u5fc3\u8bbe\u8ba1\u80fd\u529b\uff0c\u800c\u662f\u201c\u6279\u91cf\u89c4\u8303\u5316\u201d\u7684\u6d41\u6c34\u7ebf\u80fd\u529b**\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u7528\u6237\u4ecd\u7136\u9700\u8981\u81ea\u5df1\u51c6\u5907\u4f18\u8d28\u7684\u5185\u5bb9\uff08\u622a\u56fe\u3001\u89c6\u9891\uff09\uff0cFramed \u53ea\u8d1f\u8d23\u5957\u4e0a\u6f02\u4eae\u7684\u6846\u548c\u52a8\u6548\u3002\u8fd9\u610f\u5473\u7740\u5b83\u65e0\u6cd5\u89e3\u51b3\u201c\u5185\u5bb9\u672c\u8eab\u4e0d\u597d\u770b\u201d\u7684\u95ee\u9898\u2014\u2014\u8fd9\u662f\u8bb8\u591a\u540c\u7c7b\u5de5\u5177\u7684\u9677\u9631\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u6307\u51fa\u7684\u5b98\u7f51\u8d28\u611f\u95ee\u9898\uff0c\u6070\u6070\u66b4\u9732\u4e86\u8fd9\u4e00\u70b9\uff1a\u5982\u679c\u521b\u59cb\u4eba\u81ea\u5df1\u90fd\u65e0\u6cd5\u7528\u8be5\u4ea7\u54c1\u5305\u88c5\u597d\u81ea\u5bb6\u7684 landing page\uff0c\u90a3\u4e48\u6f5c\u5728\u7528\u6237\u81ea\u7136\u4f1a\u6000\u7591\u5176\u5b9e\u9645\u6548\u679c\u7684\u4e0a\u9650\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4e0e Mockuuups \u7684\u5bf9\u6bd4\u4e2d\uff0c\u521b\u59cb\u4eba\u5f3a\u8c03\u201c\u81ea\u5b9a\u4e49\u201d\u800c\u975e\u201c\u6a21\u677f\u201d\uff0c\u8fd9\u65e2\u662f\u4f18\u52bf\u4e5f\u662f\u52a3\u52bf\u3002\u5bf9\u4e8e\u8ffd\u6c42\u9ad8\u5ea6\u4e00\u81f4\u54c1\u724c\u89c6\u89c9\u7684\u4e13\u4e1a\u56e2\u961f\uff0c\u81ea\u5b9a\u4e49\u662f\u521a\u9700\uff1b\u4f46\u5bf9\u4e8e\u53ea\u60f3\u5feb\u901f\u51fa\u56fe\u7684\u65e0\u8bbe\u8ba1\u57fa\u7840\u7528\u6237\uff0c\u7f3a\u4e4f\u4f18\u8d28\u9884\u8bbe\u53ef\u80fd\u610f\u5473\u7740\u66f4\u9661\u7684\u5b66\u4e60\u66f2\u7ebf\u3002Framed \u7684\u771f\u6b63\u673a\u4f1a\uff0c\u5728\u4e8e\u80fd\u5426\u5c06\u201c\u81ea\u5b9a\u4e49\u201d\u4e0e\u201c\u6613\u7528\u6027\u201d\u505a\u5230\u6781\u81f4\uff0c\u540c\u65f6\u5728\u793e\u533a\u4e2d\u6c89\u6dc0\u5927\u91cf\u53ef\u590d\u7528\u7684\u914d\u7f6e\u6a21\u677f\u2014\u2014\u672c\u8d28\u4e0a\uff0c\u5b83\u9700\u8981\u63d0\u4f9b\u7684\u662f\u4e00\u5957\u201c\u534a\u6210\u54c1\u8bbe\u8ba1\u7cfb\u7edf\u201d\uff0c\u800c\u975e\u4ec5\u4ec5\u4e00\u4e2a\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u4e0b\uff0c\u5b83\u66f4\u9002\u5408\u4f5c\u4e3a\u72ec\u7acb\u5f00\u53d1\u8005\u6216\u5c0f\u56e2\u961f\u7684\u4ea7\u54c1\u53d1\u5e03\u5de5\u5177\u7bb1\u4e2d\u7684\u201c\u526f\u624b\u201d\uff0c\u4f46\u82e5\u60f3\u7a81\u7834\u5c0f\u4f17\u5708\u5c42\uff0c\u8981\u4e48\u62e5\u62b1 AI \u9a71\u52a8\u7684\u81ea\u52a8\u5316\u6392\u7248\uff0c\u8981\u4e48\u4e0e App Store \u9884\u53d1\u5e03\u6d41\u7a0b\u6df1\u5ea6\u6574\u5408\uff0c\u6210\u4e3a\u82f9\u679c\u751f\u6001\u4e0b\u7684\u5b98\u65b9\u63a8\u8350\u5de5\u5177\u3002\u5426\u5219\uff0c\u5b83\u5f88\u5bb9\u6613\u6ca6\u4e3a\u4e00\u4e2a\u201c\u770b\u8d77\u6765\u5f88\u7f8e\u201d\u7684\u77ed\u671f\u89e3\u51b3\u65b9\u6848\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Framed<\/span>\n                <\/div>\n<div class=\"comment-content\">Framed is a MacOS app that helps makers turn raw product content into polished visuals for launches, App Store pages, landing pages, social posts, changelogs, code shares, and demo clips. You start with a screenshot, video, code snippet, or social post, then add frames, backgrounds, annotations, layers, motion, audio, and export-ready polish. Built for Mac, with a focused workflow that avoids the overhead of a full design app. One-time purchase, yours forever. No subscriptions ever.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m a solo dev and built this because I needed this and everything was subscription based or had very little control over the output. <\/p>\n<p>I just want to make this the best app ever so if anyone has a suggestion please let me know!<\/p>\n<p>I appreciate you downloading this so much!!<\/p>\n<\/p>\n<p>P.S you get 5 watermark free exports, during preview you&#8217;ll see a watermark though. This is to prevent screenshots otherwise the app would just be easily exploitable lol. <\/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\/@brandon_s2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brandon_s2<\/a><\/p>\n<p>Hey Brandon, congrats on the launch. One thing stood out reading your post: <strong>Framed <\/strong>helps makers turn raw content into polished visuals for launches and landing pages, but your own launch page should carry that same level of polish. Right now that&#8217;s the gap between a great product and a great first impression.<\/p>\n<p>I build landing pages in Framer for solo devs and SaaS products. Did the site for Stackr (<a href=\"http:\/\/stackr.framer.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">stackr.framer.ai<\/a>), a developer tool with a similar audience to yours, and Inscribe (<a href=\"http:\/\/inscribe.framer.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">inscribe.framer.ai<\/a>), a B2B SaaS launch.<\/p>\n<p>If you&#8217;re thinking about a proper site for Framed, I can turn around a full design and build in 5 to 7 days. Happy to sketch out a rough direction first so you can see the vision before committing to anything.<\/p>\n<p>Worth a conversation?<\/p>\n<p>Cheers, Kaine.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 on Mockuuups for a while. What&#8217;s actually different here?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@novamaker01  good question! Mine is more where you make your own mockups with different frames and editing so you can customize your video\/screenshot way more. <\/p>\n<p>Mockuuups is more pre created templates which is freakin awesome but completely different!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Works for mobile recordings too?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@nuseir_yassin1 yep! Yep! You can screen record or import recordings!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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-time purchase instead of yet another subscription &#8211; that alone sells it for me haha. How much time does it actually save compared to just doing this in Figma? Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/KPCG5QGMFVZA7Z\" class=\"app-title\">Novi Notes 1.1<\/a><\/p>\n<div class=\"one-liner\">A local AI memory layer for your Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">99<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Novi Notes \u662f\u4e00\u4e2a\u4e3a Mac \u6253\u9020\u7684\u672c\u5730 AI \u8bb0\u5fc6\u5c42\uff0c\u901a\u8fc7\u96c6\u6210 MCP \u534f\u8bae\u8ba9 AI \u52a9\u624b\uff08\u5982 Claude\u3001Codex\u3001Gemini\uff09\u76f4\u63a5\u8bfb\u5199\u4f60\u7684\u7b14\u8bb0\uff0c\u5e76\u652f\u6301\u5c06\u91cd\u590d\u63d0\u793a\u8bcd\u4e00\u952e\u8f6c\u5316\u4e3a\u201c\u659c\u6760\u547d\u4ee4\u201d\uff0c\u89e3\u51b3\u5f00\u53d1\u8005\u7ba1\u7406\u548c\u590d\u7528 AI \u5de5\u4f5c\u6d41\u65f6\u7b14\u8bb0\u6563\u843d\u3001\u914d\u7f6e\u7e41\u7410\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e88d3732-8d42-42fb-b332-3488e8db8780.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6bd3cf78-6f3f-490a-99d3-473d8fd41a52.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/38935968-f4f5-4526-b94c-3918800fb292.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8ac7c786-de0d-4e08-9f8b-9304eb160fa0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d198479f-5265-4edd-8e31-382508808d09.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/78cf4b03-bf68-4348-95e3-6ecae408b5ed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d793dd26-c32c-41a9-a4d3-70abad6f4cd0.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\/d1883683-3aed-4dba-ae21-07dbc45df0f2.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=2WLnXzFtu2A\"><source src=\"https:\/\/www.youtube.com\/watch?v=2WLnXzFtu2A\" 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\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">AI\u7b14\u8bb0<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u659c\u6760\u547d\u4ee4<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u6027\u8d2d\u4e70<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u5173\u6ce8\u6280\u80fd\u7248\u672c\u7ba1\u7406\u3001\u56e2\u961f\u534f\u4f5c\u3001\u79fb\u52a8\u7aef\u652f\u6301\u3002\u5f00\u53d1\u8005\u56de\u5e94\uff1a\u6280\u80fd\u65e0\u5185\u7f6e\u7248\u672c\u5386\u53f2\uff0c\u5efa\u8bae\u7528 Git \u7ba1\u7406\uff1b\u56e2\u961f\u534f\u4f5c\u4f9d\u8d56\u6587\u4ef6\u5bfc\u51fa\u6216\u4ed3\u5e93 Git \u540c\u6b65\uff0c\u975e\u539f\u751f\u529f\u80fd\uff1b\u786e\u8ba4\u65e0 iOS \u8ba1\u5212\uff0c\u4f46\u53ef\u80fd\u5f00\u53d1\u4ec5\u9650\u5199\u5165\u7684\u5feb\u901f\u6355\u83b7\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Novi Notes 1.1 \u518d\u6b21\u7cbe\u51c6\u5730\u5543\u4e0b\u4e86\u4e00\u4e2a\u786c\u9aa8\u5934\uff1a\u5728 AI \u6cdb\u6ee5\u7684\u201c\u4f2a\u8bb0\u5fc6\u201d\u5e02\u573a\u4e2d\uff0c\u7528\u201c\u672c\u5730\u4f18\u5148 + \u659c\u6760\u547d\u4ee4\u201d\u5212\u51fa\u4e86\u4e00\u9053\u9c9c\u660e\u7684\u754c\u9650\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u53c8\u4e00\u4e2a\u7b14\u8bb0\u5e94\u7528\uff0c\u800c\u5728\u4e8e\u91cd\u65b0\u5b9a\u4e49\u4e86\u201c\u63d0\u793a\u8bcd\u201d\u7684\u8d44\u4ea7\u5316\u2014\u2014\u4ece\u4e00\u4e2a\u9700\u8981\u91cd\u590d\u8f93\u5165\u7684\u5fc3\u667a\u8d1f\u62c5\uff0c\u53d8\u6210\u4e86\u53ef\u7248\u672c\u63a7\u5236\u3001\u53ef\u8de8AI\u5ba2\u6237\u7aef\u90e8\u7f72\u7684`.md`\u6587\u4ef6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u5f00\u53d1\u8005 Hojong \u4fdd\u6301\u4e86\u7f55\u89c1\u7684\u514b\u5236\u4e0e\u8bda\u5b9e\u3002\u4ece\u679c\u65ad\u780d\u6389 iCloud \u540c\u6b65\uff0c\u5230\u5766\u7387\u627f\u8ba4\u7f3a\u4e4f\u56e2\u961f\u5171\u4eab\u548c\u7248\u672c\u5386\u53f2\u7684\u77ed\u677f\uff0c\u8fd9\u79cd\u201c\u5251\u8d70\u504f\u950b\u201d\u7684\u5b9a\u4f4d\u53cd\u800c\u5851\u9020\u4e86\u6e05\u6670\u7684\u54c1\u724c\u8ba4\u77e5\uff1a\u4e13\u4e3a\u6df1\u5ea6\u4f7f\u7528\u7ec8\u7aef\u548c IDE \u7684\u5355\u4eba\u5f00\u53d1\u8005\u6253\u9020\u7684\u201cAI \u5916\u6302\u5927\u8111\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u9510\u5229\u7684\u5200\u5203\u4e5f\u610f\u5473\u7740\u72ed\u7a84\u7684\u4f7f\u7528\u573a\u666f\u300299 \u7968\u7684\u6210\u7ee9\u53cd\u6620\u4e86\u5176\u5c0f\u4f17\u7684\u672c\u8d28\u3002\u4ea7\u54c1\u4ef7\u503c\u9ad8\u5ea6\u4f9d\u8d56\u7528\u6237\u662f\u5426\u613f\u610f\u201c\u73a9\u201dMCP \u534f\u8bae\u5e76\u7f16\u5199 Markdown \u6280\u80fd\u6587\u4ef6\uff0c\u8fd9\u95e8\u69db\u76f4\u63a5\u628a\u7edd\u5927\u591a\u6570\u666e\u901a\u7528\u6237\u6321\u5728\u95e8\u5916\u3002\u6b64\u5916\uff0cAI Skills \u7684\u201c\u8de8\u5ba2\u6237\u7aef\u90e8\u7f72\u201d\u770b\u4f3c\u5f3a\u5927\uff0c\u5b9e\u5219\u5c06\u4f53\u9a8c\u788e\u7247\u5316\u4ea4\u7ed9\u4e86 Claude Code\u3001Codex\u3001Gemini \u539f\u751f\u52a0\u8f7d\u673a\u5236\uff0cNovi \u53ea\u662f\u201c\u5206\u53d1\u5668\u201d\u800c\u975e\u201c\u6307\u6325\u5b98\u201d\uff0c\u8fd9\u5728\u4e00\u81f4\u6027\u548c\u6545\u969c\u6392\u67e5\u4e0a\u57cb\u4e0b\u4e86\u9690\u60a3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u957f\u8fdc\u6765\u770b\uff0cNovi Notes \u7684\u771f\u6b63\u58c1\u5792\u5728\u4e8e\u80fd\u5426\u5c06\u201c\u659c\u6760\u547d\u4ee4\u201d\u751f\u6001\u5316\u3002\u5982\u679c\u4ec5\u4ec5\u662f\u672c\u5730\u7684\u6587\u4ef6\u7ba1\u7406\u5de5\u5177\uff0c\u90a3\u4e48\u5b83\u5f88\u5bb9\u6613\u88ab LLM \u5382\u5546\u81ea\u8eab\u7684\u6280\u5de7\u5e93\u529f\u80fd\u66ff\u4ee3\u3002\u53ea\u6709\u5f53\u201c\u6280\u80fd\u201d\u7684\u7f16\u5199\u3001\u8c03\u8bd5\u548c\u5206\u4eab\u5f62\u6210\u793e\u533a\u7f51\u7edc\uff08\u54ea\u6015\u662f\u901a\u8fc7 Git \u534f\u4f5c\uff09\uff0c\u5b83\u624d\u80fd\u4ece\u201c\u5de5\u5177\u201d\u5347\u7ef4\u6210\u201c\u5e73\u53f0\u201d\u3002\u76ee\u524d\u770b\uff0c\u8fd9\u4f3c\u4e4e\u8d85\u51fa\u4e86\u72ec\u7acb\u5f00\u53d1\u8005\u7684\u80fd\u529b\u8303\u56f4\uff0c\u4f46\u8fd9\u6070\u6070\u662f\u5176\u5728\u201c\u6df1\u5ea6\u201d\u8fed\u4ee3\u4e2d\u5fc5\u987b\u9762\u5bf9\u7684\u7ec8\u6781\u62f7\u95ee\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\">Novi Notes 1.1<\/span>\n                <\/div>\n<div class=\"comment-content\">Novi is your Mac&#8217;s AI memory layer \u2014 a fast block editor for daily notes, docs, and post-its. Claude, Codex, or Gemini read and write your notes directly through MCP. No API keys, no cloud, no setup. New in 1.1 \u2014 AI Skills: turn a repeated prompt into a one-click slash command. Write it in Markdown, deploy to Claude Code, Codex, or Gemini. Plus GitHub backup and Markdown reading modes. Local-only. One-time purchase. No subscription.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The AI Skills feature is the part that caught me. Turning a repeated prompt into a slash command that deploys to Claude Code, Codex, or Gemini from one place is a real workflow fix. Curious how skill versioning works: if you iterate on a \/weekly-review prompt, does the old version get overwritten everywhere, or is there any history? Also interested in whether the MCP server exposes a &#8216;list all skills&#8217; tool so agents can discover what commands are available without you telling them first.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bhuvika_mehta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bhuvika_mehta<\/a>&nbsp; <br \/>Thanks \u2014 that &#8220;deploy from one place&#8221; bit is exactly the itch I was trying to scratch.<\/p>\n<\/p>\n<p>On versioning: there&#8217;s no built-in revision history today. Editing a skill updates it in<\/p>\n<p>place, and re-deploying overwrites the <a href=\"http:\/\/SKILL.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">SKILL.md<\/a> in each target you&#8217;ve pushed to (Claude<\/p>\n<p>Code, Codex, Gemini) \u2014 so the previous version isn&#8217;t snapshotted automatically. The upside<\/p>\n<p>is that a deployed skill is just a plain <a href=\"http:\/\/SKILL.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">SKILL.md<\/a> file, so if you want history you can keep<\/p>\n<p>it under git, which works especially well for project-scoped skills in your repo&#8217;s<\/p>\n<p>.claude\/skills. A built-in version history isn&#8217;t there yet \u2014 I&#8217;ll note it as a request.<\/p>\n<\/p>\n<p>On discovery: the MCP server is scoped to your notes and documents, so it doesn&#8217;t expose a<\/p>\n<p>&#8220;list all skills&#8221; tool \u2014 and it doesn&#8217;t need to. Skills deploy as native <a href=\"http:\/\/SKILL.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">SKILL.md<\/a> files into<\/p>\n<p>each agent&#8217;s own skills directory (e.g. ~\/.claude\/skills\/), so Claude Code \/ Codex \/ Gemini<\/p>\n<p>pick them up and list them through their own native skill loading. The agent already sees<\/p>\n<p>what&#8217;s available without a separate call.<\/p>\n<\/p>\n<p>The other direction is covered by a Refresh Skills button: it re-scans the on-disk skill<\/p>\n<p>directories and reconciles them with Novi&#8217;s list \u2014 importing skills that were added outside<\/p>\n<p>Novi, detecting edits via a SHA-256 fingerprint, and flagging files that went missing or<\/p>\n<p>conflict across roots (it marks them, never deletes). So Novi stays honest about what&#8217;s<\/p>\n<p>actually deployed, even for skills it didn&#8217;t create.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can you share a skill with teammates, or is everything intentionally local?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@naimz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naimz<\/a>&nbsp;Honestly: I haven&#8217;t built a dedicated team-sharing solution. It&#8217;s local-first by design \u2014<\/p>\n<p>  no Novi account or server in the middle \u2014 so there&#8217;s no &#8220;share with your team&#8221; feature as<\/p>\n<p>  such.<\/p>\n<p>  What the current setup lets you do is lean on the fact that a skill is just a plain file:<\/p>\n<p>  &#8211; &#8220;Export to File\u2026&#8221; writes it out as a standard <a href=\"http:\/\/SKILL.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">SKILL.md<\/a> that you can hand to a teammate to<\/p>\n<p>    import on their end.<\/p>\n<p>  &#8211; Project-scoped skills live in your repo&#8217;s .claude\/skills\/, so if you already share that<\/p>\n<p>    repo, committing them means teammates pull via git and Refresh Skills picks them up.<\/p>\n<p>  But to be clear, those are general file\/git workflows, not something I built specifically<\/p>\n<p>  for teams \u2014 and they&#8217;re a copy, not a live link, so once imported each person manages their<\/p>\n<p>  own. A purpose-built sharing flow isn&#8217;t there today; it&#8217;s a fair gap to flag.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 iteration! As an iOS dev keeping a <a href=\"http:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a> file in my repo right alongside the markdown chaos you described, the missing piece for me is mobile. Daily notes on Mac all day, but the moments I most want to dump thoughts into the memory layer are in transit. Is an iOS companion in the depth-vs-breadth tradeoff zone, or does the Mac-only constraint stay deliberate because cross-device sync would compromise the local-first promise?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;Thanks for raising this \u2014 it&#8217;s something I&#8217;ve been thinking about a lot, so let me give you the honest answer.<\/p>\n<p>iOS isn&#8217;t on the roadmap right now, mostly because of depth over breadth. I&#8217;m using the Mac app every day for my own work, and there&#8217;s still a long list of rough edges I want to address before splitting focus across platforms. Sync is the other half of it \u2014 I actually shipped iCloud Sync early on and ended up removing it entirely, because any real fix means putting a server or account system between your devices, which is the exact thing Novi exists to avoid. So instead I&#8217;ve leaned toward markdown export + your-own-git-repo as the portability story. That seems to fit the way you already work, keeping <a href=\"http:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a> right next to the code.<\/p>\n<p>That said, what you described \u2014 &#8220;I&#8217;m in transit and I want to dump a thought into the memory layer&#8221; \u2014 is a narrower problem than full iOS parity, and probably the more interesting one. A write-only quick capture (Drafts-style: open app, type, it lands in today&#8217;s Daily Note or an Inbox) is a much smaller sync surface and keeps the Mac as the source of truth. If iOS ever happens, it&#8217;ll almost certainly look like that rather than a port.<\/p>\n<p>Thanks for the framing \u2014 that depth\/breadth lens is exactly how I think about it too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@fresh_topping I can totally see your constraints and would probably do exactly what you\u2019re doing. Thanks for the reply!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 again, PH! \ud83d\udc4b I&#8217;m Hojong, the solo dev behind Novi Notes \u2014 back with launch #2.<\/p>\n<\/p>\n<p><strong>Where 1.0 left off<\/strong><\/p>\n<\/p>\n<p>My first launch fixed one mess: my notes \u2014 and all my `<a href=\"http:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a>` files, skills, and agent configs \u2014 were scattered across dozens of repos, and version-controlling them was a nightmare. So I built one local place where Claude could read and write everything over MCP. No cloud, no API keys.<\/p>\n<\/p>\n<p>That solved <em>reading<\/em>. But two itches stuck around: I was still retyping the same long prompts every session, and my Claude setup was <em>still<\/em> spread across project folders. So 1.1 closes both loops \u2014 let you build your own AI commands, and pull all your Claude assets into one place.<\/p>\n<\/p>\n<p><strong>What&#8217;s new in 1.1:<\/strong><\/p>\n<\/p>\n<p>&#8211; \ud83e\udd16 <strong>AI Skills<\/strong> \u2014 Turn a repeated prompt into a one-click slash command. <em>&#8220;Write this week&#8217;s review&#8221;<\/em> becomes `\/weekly-review`. Write it once in Markdown, deploy the same skill to Claude Code, Codex, or Gemini.<\/p>\n<p>&#8211; \ud83d\uddc2\ufe0f <strong>Workspace<\/strong> \u2014 Every Claude and Codex project on your Mac in one tree. Read and edit `<a href=\"http:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a>`, skills, and hooks right inside Novi Notes \u2014 no more digging through old folders.<\/p>\n<p>&#8211; \ud83c\udf99\ufe0f <strong>Meeting recording<\/strong> \u2014 Capture mic and system audio together; WhisperKit transcribes it on-device, then your AI shapes it into notes. Nothing leaves your Mac.<\/p>\n<p>&#8211; \ud83d\udd0c <strong>Zero-config MCP<\/strong> \u2014 Node is bundled in, so connecting is genuinely one click. 1.0 started with Claude; 1.1 adds Codex and Gemini.<\/p>\n<p>&#8211; \ud83d\udcbe <strong>GitHub backup<\/strong> \u2014 Your notes, version-controlled in your own private repo. Your data stays yours.<\/p>\n<\/p>\n<p>And the promises haven&#8217;t changed: <strong>one-time purchase, no subscription ever, everything stays on your Mac.<\/strong><\/p>\n<\/p>\n<p>The funny part \u2014 making one skill deploy cleanly to three different AI clients in one click turned into its own rabbit hole \ud83d\ude05. But it&#8217;s the thing I reach for most now.<\/p>\n<\/p>\n<p>I built 1.1 for the same person 1.0 was for \u2014 someone who lives in the terminal and IDE, leans on AI all day, and just wants one private, local place where their notes and their AI finally meet. Would love your thoughts: <em>if you could turn one repeated prompt into a slash command today, what would it be?<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/5POVQF5UVMCDZH\" class=\"app-title\">Ente Locker<\/a><\/p>\n<div class=\"one-liner\">Shared vault for your most important documents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">98<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Ente Locker \u662f\u4e00\u6b3e\u7aef\u5230\u7aef\u52a0\u5bc6\u7684\u5171\u4eab\u6570\u5b57\u4fdd\u9669\u7bb1\uff0c\u89e3\u51b3\u7528\u6237\u5728\u53d1\u751f\u610f\u5916\u540e\uff0c\u91cd\u8981\u6587\u4ef6\u65e0\u6cd5\u53ca\u65f6\u4f20\u9012\u7ed9\u5bb6\u4eba\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\/fe174f17-8ef9-479f-9649-abd485d2da87.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d43ef34c-2fe8-4ec7-a60a-8c01be427f1d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f3224e8-9f16-47dc-a339-37352915b5a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/584783c9-e389-4e4e-86a2-2b2441d0f88f.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\/c7474df2-f63c-4e23-84e1-1ca07c1713c4.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/kWb8swMVvrE\"><source src=\"https:\/\/youtu.be\/kWb8swMVvrE\" 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\">Storage<\/span><br \/>\n            <span class=\"tag\">Privacy<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6570\u5b57\u9057\u4ea7<\/span><br \/>\n            <span class=\"tag\">\u5171\u4eab\u4fdd\u9669\u7bb1<\/span><br \/>\n            <span class=\"tag\">\u7aef\u5230\u7aef\u52a0\u5bc6<\/span><br \/>\n            <span class=\"tag\">\u5bb6\u5ead\u5bc6\u7801\u7ba1\u7406\u5668<\/span><br \/>\n            <span class=\"tag\">\u6587\u4ef6\u7ee7\u627f<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u7d27\u6025\u8054\u7cfb\u4eba<\/span><br \/>\n            <span class=\"tag\">\u9057\u5631\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u6570\u5b57\u9057\u5631\u201d\u7684\u5b9e\u7528\u573a\u666f\uff0c\u70b9\u8d5e\u5176\u89e3\u51b3\u9057\u5fd8\u91cd\u8981\u6587\u4ef6\u7684\u75db\u70b9\u3002\u4f46\u8bc4\u8bba\u8f83\u5c11\uff0c\u76ee\u524d\u65e0\u5177\u4f53\u8d1f\u9762\u6216\u5efa\u8bae\u53cd\u9988\uff0c\u4e3b\u8981\u505c\u7559\u5728\u5bf9\u4ea7\u54c1\u6982\u5ff5\u7684\u80af\u5b9a\u4e0a\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Ente Locker \u5207\u4e2d\u4e86\u4e00\u4e2a\u88ab\u5927\u591a\u6570\u4eba\u5ffd\u89c6\u4f46\u786e\u5b9e\u5b58\u5728\u7684\u201c\u6570\u5b57\u9057\u4ea7\u201d\u9700\u6c42\u3002\u5b83\u672c\u8d28\u4e0a\u662f\u628a\u52a0\u5bc6\u4e91\u76d8\u4ece\u201c\u751f\u524d\u81ea\u7528\u201d\u7684\u5b9a\u4f4d\uff0c\u7cbe\u51c6\u8f6c\u5411\u4e86\u201c\u8eab\u540e\u4f20\u627f\u201d\u7684\u521a\u9700\u3002\u8fd9\u79cd\u53d9\u4e8b\u8f6c\u6362\u662f\u806a\u660e\u7684\uff0c\u56e0\u4e3a\u4f20\u7edf\u7684\u5bc6\u7801\u7ba1\u7406\u5668\u6216\u4e91\u76d8\u867d\u7136\u4e5f\u80fd\u5b9e\u73b0\u7c7b\u4f3c\u529f\u80fd\uff0c\u4f46\u7f3a\u4e4f\u201c\u4e00\u952e\u6307\u5b9a\u8054\u7cfb\u4eba+\u5b9a\u65f6\u8bbf\u95ee\u201d\u7684\u4eea\u5f0f\u611f\u4e0e\u64cd\u4f5c\u95ed\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u58c1\u5792\u2014\u2014\u7aef\u5230\u7aef\u52a0\u5bc6\u5df2\u662f\u6210\u719f\u65b9\u6848\uff0c\u800c\u5728\u4e8e\u5bf9\u7528\u6237\u5fc3\u7406\u7684\u7cbe\u51c6\u62ff\u634f\uff1a\u5b83\u4e0d\u627f\u8bfa\u201c\u4e0d\u6b7b\u201d\uff0c\u800c\u662f\u627f\u8bfa\u201c\u5373\u4fbf\u6211\u4e0d\u5728\uff0c\u7559\u4e0b\u7684\u91cd\u8981\u4e1c\u897f\u4e5f\u80fd\u5b89\u5168\u9001\u8fbe\u201d\u3002\u8fd9\u51fb\u7a7f\u4e86\u4eba\u5bf9\u9057\u4ea7\u7ba1\u7406\u7684\u7126\u8651\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\u5176\u5c40\u9650\u6027\u3002\u7b2c\u4e00\uff0c\u7528\u6237\u57fa\u6570\u95ee\u9898\uff1a\u4e00\u4e2a\u9700\u8981\u201c\u6b7b\u540e\u201d\u624d\u80fd\u4f53\u73b0\u4ef7\u503c\u7684\u4ea7\u54c1\uff0c\u5bf9\u6d3b\u4eba\u7f3a\u4e4f\u9ad8\u9891\u4f7f\u7528\u7684\u9a71\u52a8\u529b\u3002\u8fd9\u5f88\u8003\u9a8cEnte\u5c06\u5176\u4e0e\u7167\u7247\u5907\u4efd\u7b49\u521a\u9700\u573a\u666f\u878d\u5408\u7684\u80fd\u529b\u3002\u7b2c\u4e8c\uff0c\u4fe1\u4efb\u95e8\u69db\u9ad8\uff1a\u7528\u6237\u8981\u4fe1\u4efb\u4e00\u4e2a\u76f8\u5bf9\u5c0f\u4f17\u7684\u516c\u53f8\uff0c\u4e0d\u4f1a\u5728\u5173\u952e\u65f6\u523b\u5012\u95ed\u6216\u6570\u636e\u4e22\u5931\u3002\u5f00\u6e90\u548c\u81ea\u6258\u7ba1\u867d\u7136\u52a0\u5206\uff0c\u4f46\u63d0\u5347\u4e86\u4f7f\u7528\u95e8\u69db\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u6765\u770b\uff0c\u8fd9\u662f\u4e00\u4e2a\u5c0f\u800c\u7f8e\u7684\u7cbe\u5206\u4ea7\u54c1\uff0c\u5546\u4e1a\u60f3\u8c61\u7a7a\u95f4\u6709\u9650\uff0c\u4f46\u4f5c\u4e3aEnte\u73b0\u6709\u751f\u6001\u7684\u589e\u503c\u6a21\u5757\u6781\u5177\u5ef6\u5c55\u6027\u3002\u5b83\u4e0d\u662f\u5728\u89e3\u51b3\u666e\u901a\u5b58\u50a8\u95ee\u9898\uff0c\u800c\u662f\u5728\u89e3\u51b3\u201c\u60c5\u611f\u4e0e\u8d23\u4efb\u201d\u7684\u6570\u5b57\u5316\u79fb\u4ea4\u3002\u5bf9\u770b\u91cd\u5bb6\u5ead\u9690\u79c1\u548c\u9057\u4ea7\u4f20\u627f\u7684\u7528\u6237\u800c\u8a00\uff0c\u5b83\u662f\u76ee\u524d\u6700\u4f18\u96c5\u7684\u89e3\u51b3\u65b9\u6848\u4e4b\u4e00\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\">Ente Locker<\/span>\n                <\/div>\n<div class=\"comment-content\">Most storage apps are incredibly complex and built for you while you&#8217;re alive. But what happens after? Ente Locker is built for transmission of your important documents, passwords and notes. Add your loved ones as trusted contacts \u2014 for when your spouse needs the property deed and you&#8217;re not around to send it. Locker is end-to-end encrypted and open source, so your information remains truly yours.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH,\ud83d\udc4b<\/p>\n<\/p>\n<p>While building our photos app, we noticed something: we obsessively back up our photos, but our most important documents, the ones that actually matter in emergencies, end up getting overlooked.<\/p>\n<p>That&#8217;s why we built <a href=\"https:\/\/ente.io\/locker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Locker<\/a>. It&#8217;s an end-to-end encrypted vault for the few documents and records that really matter, giving your family access to them when you&#8217;re not around.<\/p>\n<\/p>\n<p>Here&#8217;s what&#8217;s inside:<\/p>\n<ul>\n<li>\n<p>End-to-end encrypted document storage, not even Ente can read your files<\/p>\n<\/li>\n<li>\n<p>Trusted contacts: add your spouse, sibling, or lawyer, so they can access documents when they need them<\/p>\n<\/li>\n<li>\n<p>Organize documents into collections (Property, Medical, Financial, however you want to think about it)<\/p>\n<\/li>\n<li>\n<p>Available on iOS, Android, macOS, Windows, Linux, and web<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/ente-io\/ente\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Fully open source<\/a>, your data is yours to leave with, anytime. You can run it on your own server.<\/p>\n<\/li>\n<li>\n<p>Built on the same encryption foundation that protects 500+ million photos for Ente users today<\/p>\n<\/li>\n<\/ul>\n<p>Do check out the product, we&#8217;d be grateful for any feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/QMGWPEV4K5UCT7\" class=\"app-title\">AlliHat<\/a><\/p>\n<div class=\"one-liner\">Claude AI in your Safari sidebar<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">98<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AlliHat \u662f\u4e00\u6b3e\u5d4c\u5165 Safari \u4fa7\u8fb9\u680f\u7684 AI \u52a9\u624b\uff0c\u80fd\u5b9e\u65f6\u8bfb\u53d6\u5f53\u524d\u9875\u9762\u5185\u5bb9\uff0c\u8ba9\u7528\u6237\u65e0\u9700\u5207\u6362\u6807\u7b7e\u9875\u5373\u53ef\u8fdb\u884c\u63d0\u95ee\u3001\u89e3\u91ca\u3001\u6267\u884c\u8868\u5355\u586b\u5199\u548c\u81ea\u52a8\u5316\u4efb\u52a1\uff0c\u89e3\u51b3\u4e86 Safari \u7528\u6237\u7f3a\u4e4f\u4f18\u8d28 Claude \u96c6\u6210\u5de5\u5177\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\/6c5f6769-ebd8-4ed4-b083-5667524e4f66.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6166e480-b712-4392-9323-5302b222d988.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/675cef67-58ad-4651-a847-53afb7f7a8bc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f94100c8-53a8-45f2-86f0-ca3df0ce4588.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\/4848bf19-113f-4ce8-8a43-0da27bffcea4.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=ytJkap1YdAU\"><source src=\"https:\/\/www.youtube.com\/watch?v=ytJkap1YdAU\" 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\">Browser Extensions<\/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\">Safari \u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">Claude AI<\/span><br \/>\n            <span class=\"tag\">\u4fa7\u8fb9\u680f\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">Apple Intelligence<\/span><br \/>\n            <span class=\"tag\">\u8868\u5355\u586b\u5145<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668AI<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8ffd\u8e2a<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8be2\u95ee\u4fa7\u8fb9\u680f\u5207\u6362\u6807\u7b7e\u65f6\u662f\u5426\u8ddf\u968f\uff0c\u4f5c\u8005\u56de\u5e94\u4fa7\u8fb9\u680f\u56fa\u5b9a\u5728\u539f\u9875\u9762\u3002\u6709\u7528\u6237\u5efa\u8bae\u589e\u5f3a\u81ea\u52a8\u8868\u5355\u586b\u5199\u529f\u80fd\uff0c\u4f5c\u8005\u6307\u51faAgent\u6a21\u5f0f\u5df2\u652f\u6301\u3002\u53e6\u6709\u7528\u6237\u5bf9\u4f5c\u8005\u8868\u793a\u795d\u8d3a\u3002\u6838\u5fc3\u5efa\u8bae\u96c6\u4e2d\u5728\u63d0\u5347Agent\u6a21\u5f0f\u7684\u7a33\u5b9a\u6027\u548c\u6269\u5927\u81ea\u52a8\u5316\u573a\u666f\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                AlliHat \u7684\u63a8\u51fa\u7cbe\u51c6\u5730\u6293\u4f4f\u4e86 Safari \u7528\u6237\u5bf9\u539f\u751f AI \u5de5\u5177\u7684\u6e34\u671b\uff0c\u5c24\u5176\u662f\u90a3\u4e9b\u56e0 Chrome \u4e30\u5bcc\u751f\u6001\u800c\u773c\u7ea2\u3001\u53c8\u4e0d\u60f3\u653e\u5f03 Safari \u6d41\u7545\u4f53\u9a8c\u7684\u201c\u9489\u5b50\u6237\u201d\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u201c\u53c8\u4e00\u4e2a AI \u5305\u88c5\u5668\u201d\uff0c\u800c\u662f\u201c\u6d4f\u89c8\u5668\u539f\u751f\u7684\u73af\u5883\u611f\u77e5\u80fd\u529b\u201d\u3002\u4f5c\u8005 Nate \u7684\u5206\u4eab\u6781\u5177\u6d1e\u5bdf\u529b\uff1a\u7528\u6237\u8981\u7684\u4e0d\u662f\u9876\u5c16\u6a21\u578b\uff0c\u800c\u662f\u201c\u5f00\u7bb1\u5373\u7528\u201d\u7684\u6d41\u7545\u4f53\u9a8c\u3002\u4ed6\u901a\u8fc7\u5f15\u5165 Apple Intelligence \u4f5c\u4e3a\u514d\u914d\u7f6e\u5165\u53e3\uff0c\u663e\u8457\u964d\u4f4e\u8bd5\u7528\u6469\u64e6\uff0c\u8fd9\u4e2a\u8c03\u6574\u6bd4\u6280\u672f\u672c\u8eab\u66f4\u503c\u5f97\u4ea7\u54c1\u7ecf\u7406\u5b66\u4e60\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u9690\u5fe7\u540c\u6837\u660e\u663e\u3002\u9996\u5148\uff0c29.99 \u7f8e\u5143\/\u5e74\u7684\u5b9a\u4ef7\u5728\u4f17\u591a\u514d\u8d39\u6216\u4f4e\u4ef7 AI \u52a9\u624b\u4e2d\u5e95\u6c14\u4e0d\u8db3\uff0c\u9664\u975e Agent Mode \u548c Workflow \u80fd\u8fdb\u5316\u5230\u771f\u6b63\u66ff\u4ee3\u6548\u7387\u5de5\u5177\uff08\u5982\u81ea\u52a8\u586b\u8868\u3001\u6279\u91cf\u722c\u866b\uff09\u3002\u5176\u6b21\uff0cSafari \u7f3a\u4e4f\u6b63\u5f0f\u7684\u4fa7\u8fb9\u680f API\uff0c\u5bfc\u81f4\u201c\u6807\u7b7e\u9875\u8ddf\u968f\u201d\u8fd9\u4e00\u57fa\u672c\u4ea4\u4e92\u90fd\u7f3a\u5931\uff0c\u8fd9\u66b4\u9732\u4e86\u5176\u4f53\u9a8c\u7684\u5929\u82b1\u677f\u2014\u2014\u5b83\u4e0d\u662f\u7cfb\u7edf\u7ea7\u96c6\u6210\uff0c\u800c\u662f\u9875\u9762\u5185\u5d4c\u7684\u201c\u5bc4\u751f\u201d\u5e94\u7528\u3002\u6700\u540e\uff0c\u4f9d\u8d56\u7528\u6237\u81ea\u5907 API Key \u662f\u53cc\u5203\u5251\uff1a\u4fdd\u8bc1\u4e86\u9690\u79c1\uff08\u6570\u636e\u76f4\u901a Anthropic\uff09\u548c\u4f4e\u8fd0\u8425\u6210\u672c\uff0c\u4f46\u4e5f\u5c06\u590d\u6742\u6027\u548c\u6210\u672c\u8f6c\u5ac1\u7ed9\u4e86\u7528\u6237\uff0c\u9650\u5236\u4e86\u5176\u4ece\u201c\u6280\u672f\u73a9\u5bb6\u201d\u5411\u201c\u5927\u4f17\u7528\u6237\u201d\u7684\u6e17\u900f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                AlliHat \u662f\u5f53\u4e0b\u201cAI+\u6d4f\u89c8\u5668\u201d\u8d8b\u52bf\u7684\u4e00\u4e2a\u7cbe\u81f4\u5207\u9762\uff0c\u5b83\u8bc1\u660e\u4e86\u5373\u4f7f\u5728\u4e00\u4e2a\u5c01\u95ed\u7684\u751f\u6001\uff08Safari\uff09\u4e2d\uff0c\u4f18\u79c0\u7684\u6d1e\u5bdf\u548c\u5de7\u5999\u7684\u6280\u672f hack \u4ecd\u80fd\u521b\u9020\u4ef7\u503c\u3002\u4f46\u5b83\u80fd\u5426\u4ece\u201c\u7cbe\u81f4\u7684\u89e3\u51b3\u65b9\u6848\u201d\u8fdb\u5316\u4e3a\u201c\u4e0d\u53ef\u7f3a\u5c11\u7684\u5de5\u5177\u201d\uff0c\u53d6\u51b3\u4e8e\u4f5c\u8005\u80fd\u5426\u5728 Safari \u73b0\u6709\u6846\u67b6\u7684\u67b7\u9501\u4e0b\uff0c\u7528 Workflow \u548c Agent \u6784\u5efa\u51fa\u8db3\u591f\u5f3a\u5927\u7684\u81ea\u52a8\u5316\u95ed\u73af\uff0c\u8ba9\u7528\u6237\u89c9\u5f97\u8fd9\u7b14\u5e74\u8d39\u4e70\u7684\u662f\u201c\u89e3\u653e\u53cc\u624b\u201d\uff0c\u800c\u975e\u4ec5\u4ec5\u4e00\u4e2a\u4fa7\u8fb9\u680f\u804a\u5929\u7a97\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\">AlliHat<\/span>\n                <\/div>\n<div class=\"comment-content\">Claude had a Chrome extension. Safari didn&#8217;t. So I built AlliHat. Open the sidebar and it sees the page you&#8217;re on. Ask anything. Highlight text for instant explanations. Agent Mode clicks, fills forms, and navigates. Workflows run repeated tasks in one click. Memory means you never re-explain yourself. History is saved per domain. Bring your own Claude API key, or use Apple Intelligence on-device. Your key goes straight to Anthropic. No tracking. No analytics. $29.99\/year after a free trial.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey again! I&#8217;m Nate, the maker of AlliHat.<\/p>\n<p>I built this because Chrome had a great Claude extension but Safari had nothing. As a daily Safari user, the friction of jumping to a separate ChatGPT or Claude tab to ask about the page I was already reading was driving me nuts. The sidebar should just see what I&#8217;m looking at.<\/p>\n<p>A few things I learned shipping the first few versions:<\/p>\n<p>Originally I launched Claude-only, requiring users to bring their own Anthropic API key. Trial-to-paid conversion was rough, because most prospective users aren&#8217;t API customers and bounced on &#8220;go set up an account at Anthropic first.&#8221; I added Apple Intelligence as a no-setup fallback during the trial and conversion roughly doubled. <\/p>\n<p>The lesson I think wasn&#8217;t &#8220;users want a specific model.&#8221; It was &#8220;users want something that works in the first 30 seconds.&#8221; and will quickly bounce with the extra LLM setup friction (Writing this up as a longer post for indie devs soon.)<\/p>\n<p>A few things I&#8217;m proud of:<br \/>\n&#8211; Was worried this was just going to feel like another wrapper around an LLM, but it turns out super handy to have right inside Safari. I use it every day. All day.<br \/>\n&#8211; Agent Mode lets Claude click, fill forms, and navigate Safari for you. Though of course this is finicky. Let me know if you have any problems with it.<br \/>\n&#8211; Workflows turn repeatable tasks (translate, summarize, your saved prompts) into one click buttons<br \/>\n&#8211; Memory and per-domain history so context isn&#8217;t lost across visits<br \/>\n&#8211; Everything runs on your Mac. Your key goes straight to Anthropic. No tracking, no analytics.<\/p>\n<p>I&#8217;m in the comments all day (Central time), ask me anything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@natekontny\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natekontny<\/a>&nbsp;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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Nathan! Claude in the sidebar feels like the right shape for browser-AI, congrats on your launch! Quick one: when i switch tabs mid-conversation, does the sidebar follow me to the new tab or stay anchored to where the thread started?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hiyamojo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hiyamojo<\/a>&nbsp;Thanks! The sidebar stays anchored where the thread started. The sidebar is actually injected into the actual web page. Safari doesn&#8217;t have a &#8220;sidebar widget api&#8221; kind of thing like Chrome, so I had to get it into the page itself to have the experience I expected. One plus of this though, is that when you pull up your history of chats, and open one up, it feels intuitive that it opens up that original URL with the chat where you last left it there. It&#8217;s kind of a neat new version of &#8220;bookmarks&#8221;.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey great for safari, you can also add a auto form filling feature to this. I think a good auto form filling feature is still awaited. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@partha_gautam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@partha_gautam<\/a>&nbsp;Totally. Did you get a chance to try agent mode? That&#8217;s what that&#8217;s for. It isn&#8217;t super sophisticated yet but form filling is exactly what that is meant for. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/M4ZQFEJHNP3JNU\" class=\"app-title\">InstaVM<\/a><\/p>\n<div class=\"one-liner\">Instant computers for AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">96<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>InstaVM\u4e3aAI\u4ee3\u7406\u63d0\u4f9b\u4e9a200\u6beb\u79d2\u542f\u52a8\u7684\u786c\u4ef6\u9694\u79bb\u865a\u62df\u673a\uff0c\u89e3\u51b3\u5176\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u8fd0\u884c\u65f6\u9762\u4e34\u7684\u9694\u79bb\u6027\u5dee\u3001\u63d0\u793a\u6ce8\u5165\u653b\u51fb\u3001\u51ed\u8bc1\u6cc4\u9732\u548c\u72b6\u6001\u4e0d\u53ef\u63a7\u7b49\u5b89\u5168\u4e0e\u8fd0\u7ef4\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\/b089bb01-6afd-4906-910f-96b174ca5606.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\/84977853-f166-4517-88f0-d68605b3c5c4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9e440f2f-eb8f-4b68-9004-1b24cdbca75a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/320b3935-8263-4b5b-a314-665066272ba8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0e3530c8-b750-413e-acb7-ee3696571a09.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/79c734ee-a84f-496a-8459-a8477f4d7f8a.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\/ce5df4a6-7b06-41e3-9e30-5d71779d71b3.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/FASmsKDwSt8\"><source src=\"https:\/\/youtube.com\/shorts\/FASmsKDwSt8\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u5fae\u865a\u62df\u673a<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5168\u9694\u79bb<\/span><br \/>\n            <span class=\"tag\">\u4e91\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Firecracker<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u884c\u65f6\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u6301\u4e45\u5316\u5b58\u50a8<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">\u63d0\u793a\u6ce8\u5165\u9632\u62a4<\/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\u7684\u6838\u5fc3\u95ee\u9898\uff1a1\uff09\u63d0\u793a\u6ce8\u5165\u4e0b\u51ed\u8bc1\u5982\u4f55\u5b89\u5168\u4e0b\u53d1\u53ca\u9632\u6b62\u6ee5\u7528\uff1b2\uff09\u88ab\u6c61\u67d3\u7684\u6301\u4e45\u5316\u5377\u91cd\u65b0\u6302\u8f7d\u5982\u4f55\u4fdd\u8bc1\u5b8c\u6574\u6027\uff1b3\uff09\u662f\u5426\u652f\u6301CPU\/\u5185\u5b58\u7684\u7ec6\u7c92\u5ea6\u914d\u7f6e\u53ca\u81ea\u52a8\u6269\u7f29\u5bb9\u4ee5\u5e94\u5bf9\u9012\u5f52\u5faa\u73af\u3002\u8fd9\u4e9b\u6307\u5411\u4e86\u73b0\u6709\u6c99\u7bb1\u65b9\u6848\u5728\u5b89\u5168\u4e0e\u8fd0\u7ef4\u5c42\u9762\u7684\u4e0d\u8db3\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                InstaVM\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u5c1a\u5904\u65e9\u671f\u7684\u75db\u70b9\u2014\u2014AI\u4ee3\u7406\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u7684\u5b89\u5168\u843d\u5730\u3002\u5176\u4ea7\u54c1\u903b\u8f91\u5e76\u975e\u7b80\u5355\u7684\u201c\u7ed9AI\u4e00\u4e2a\u5bb9\u5668\u201d\uff0c\u800c\u662f\u5c06\u4ee3\u7406\u89c6\u4e3a\u65e0\u4fe1\u4efb\u7684\u3001\u53ef\u80fd\u88ab\u653b\u9677\u7684\u8fdb\u7a0b\uff0c\u5e76\u4ee5\u6b64\u91cd\u65b0\u8bbe\u8ba1\u57fa\u7840\u8bbe\u65bd\u7684\u4fe1\u4efb\u8fb9\u754c\u3002\u5c06\u51ed\u8bc1\u4e0e\u8ba1\u7b97\u5e73\u9762\u5206\u79bb\u3001\u63d0\u4f9b\u53ef\u63a7\u51fa\u7ad9\u548c\u53ef\u89c2\u6d4b\u6027\uff0c\u76f4\u51fb\u4e86\u63d0\u793a\u6ce8\u5165\u653b\u51fb\u4e0b\u4f20\u7edf\u5bb9\u5668\u9694\u79bb\u5931\u6548\u7684\u8981\u5bb3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u4ef7\u503c\u80fd\u5426\u5151\u73b0\u53d6\u51b3\u4e8e\u4e24\u4e2a\u5173\u952e\u95ee\u9898\u3002\u5176\u4e00\uff0c\u4e9a200ms\u7684Firecracker\u5faeVM\u542f\u52a8\u901f\u5ea6\u867d\u5feb\uff0c\u4f46\u9762\u5bf9\u9700\u8981\u9891\u7e41\u7f16\u6392\u3001\u9ad8\u9891\u8c03\u7528\u7684\u5b9e\u65f6\u4ee3\u7406\u573a\u666f\uff08\u5982\u804a\u5929\u673a\u5668\u4eba\uff09\uff0c\u5176\u5ef6\u8fdf\u5806\u6808\uff08\u7f51\u7edc\u3001\u5b58\u50a8\u3001\u70ed\u8fc1\u79fb\uff09\u80fd\u5426\u5728\u771f\u5b9e\u8d1f\u8f7d\u4e0b\u4fdd\u6301\u7a33\u5b9a\uff1f\u5176\u4e8c\uff0c\u4e5f\u662f\u6700\u68d8\u624b\u7684\uff1a\u4ea7\u54c1\u4f9d\u8d56\u201c\u6280\u80fd\u7cfb\u7edf\u201d\uff08`npx skills add`\uff09\u6765\u8ba9\u4ee3\u7406\u8c03\u7528\u81ea\u8eab\uff0c\u4f46\u4f9d\u8d56\u5e02\u573a\u4e2d\u7684\u7b2c\u4e09\u65b9\u6280\u80fd\u4ee3\u7801\u8fd0\u884c\u5728\u9694\u79bbVM\u5185\uff0c\u8fd9\u672c\u8eab\u5c31\u5f15\u5165\u4e86\u4f9b\u5e94\u94fe\u653b\u51fb\u9762\u3002\u5f53\u524d\u4ea7\u54c1\u5bf9\u201c\u8c01\u5ba1\u6838\u6280\u80fd\u3001\u6280\u80fd\u80fd\u8bbf\u95ee\u4ec0\u4e48\u201d\u7684\u56de\u7b54\u4ec5\u9650\u4e8e\u201cIs it isolated?\u201d\uff0c\u957f\u8fdc\u770b\u8fd9\u8fdc\u4e0d\u8db3\u591f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u8003\u9a8cInstaVM\u7684\u4e0d\u662f\u542f\u52a8\u901f\u5ea6\uff0c\u800c\u662f\u5b83\u80fd\u5426\u5728\u201c\u7ed9\u4ee3\u7406\u81ea\u7531\u201d\u4e0e\u201c\u9632\u6b62\u4ee3\u7406\u4f5c\u6076\u201d\u4e4b\u95f4\u627e\u5230\u5e73\u8861\uff0c\u5e76\u63d0\u4f9b\u4e00\u5957\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u6cbb\u7406\u6846\u67b6\u3002\u5982\u679c\u53ea\u662f\u628aLXC\u6362\u6210Firecracker\uff0c\u800c\u6ca1\u6709\u89e3\u51b3\u4ee3\u7406\u884c\u4e3a\u535a\u5f08\u7684\u95ed\u73af\uff0c\u90a3\u5b83\u7ec8\u7a76\u53ea\u662f\u4e00\u4e2a\u66f4\u5feb\u7684\u6c99\u7bb1\uff0c\u800c\u975eAI\u751f\u4ea7\u63a7\u5236\u5e73\u9762\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\">InstaVM<\/span>\n                <\/div>\n<div class=\"comment-content\">The production control plane for AI agents. Run agents like production servers: isolated, observable, and controlled. Firecracker microVMs with sub-200ms boot.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hello all,<\/p>\n<p>We have built instant computers for AI Agents. Cybersecurity world is abuzz with Shai-Huluds and Copy-Fail like attacks. The effect gets multiplied when you take into account the amount AI agents getting created and deployed in production.<\/p>\n<p>InstaVM is cloud infrastructure for AI agents. It gives every agent a real computer to use with strong isolation guarantee. Along with fast hardware-isolated VMs, persistent volumes, secrets injected on the fly, controlled egress, and live debugging for agents to run safely in production.<\/p>\n<p>But what we have built is not just a sandbox. And sandboxes are not enough on its own to get a useful AI agent:<\/p>\n<p>&#8211; Agents need a VM that is fast (quick to spin, snapshot, terminate), secure, and can install any dependency without restrictions (a computer with sudo).<\/p>\n<p>&#8211; Volumes are needed for long-term memory that outlives ephemeral sandboxes and can reattach to another run.<\/p>\n<p>&#8211; Secrets cannot live on the same plane as the VM due to prompt injection risk. This is new to the agent deployment pattern.<\/p>\n<p>&#8211; Network egress needs to be controlled to prevent agents from calling domains they should not.<\/p>\n<p>&#8211; Granular observability of state changes (filesystem, network, execution) for debugging, audit, and compliance.<\/p>\n<p>Do not miss our CLI! (pip install instavm \/ npm install instavm)<\/p>\n<p>Add via skills for your AI agents &#8211; npx skills add instavm\/skills<\/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\/@mkagenius2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mkagenius2<\/a>&nbsp;If the real risk is prompt injection and autonomous agents behaving unpredictably in production, why do you think existing container\/sandbox infrastructure fundamentally fails instead of just needing better policy layers on top?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Manish, congrats on shipping \ud83c\udf89<\/p>\n<p>The line that stands out: &#8220;secrets cannot live on the same plane as the VM due to prompt injection risk.&#8221; That is exactly the right instinct, and it is the part most agent infra gets wrong by treating secrets as just another env var inside the sandbox.<\/p>\n<p>Building in an adjacent layer myself (security and permission control between agents and the apps they touch), so the question I keep circling: once secrets live off-plane, what does the agent actually hold at runtime? A short-lived scoped token per call, a broker reference it has to ask through, or does the VM get the real secret injected at execution time and the isolation is purely network-level? The distinction matters because controlled egress stops the agent from calling domains it should not, but it does not stop a prompt-injected agent from misusing a credential it legitimately holds for a domain it is allowed to reach.<\/p>\n<p>Also curious where the skills system sits in the trust boundary, since npx skills add instavm\/skills means third-party skill code runs inside that same isolated compute. Who vets what a skill can reach?<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@arturbrugeman The skills add command is there for your coding agent to use InstaVM easily. After adding this skill to say your claude code, you can ask it to spin up a sandbox or &#8221; deploy any app to InstaVm &#8221; etc.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\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 am a huge fan and user of InstaVM. After having worked with other similar products the speed at which their sandbox starts is unlike any other solution and would recommend this to no end \ud83d\udd25<\/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\">@zachx0 Thank you. Customer satisfaction matters a lot to us.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Regarding resource allocation how granular can we get with CPU\/memory limits per microVM via the control plane, and does it support auto scaling metrics if an agent gets caught in an expensive recursive loop?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@dreaming_eversince You can adjust cpu cores, 1, 2, 4, 6 or 8. And memory can be adjusted with a 2 mb granularity.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 persistent volumes angle is underrated in this thread \u2014 most agent infra discussions focus on isolation and secrets but gloss over the memory problem. If an agent&#8217;s volume can reattach to a new run, that raises an interesting question: how do you handle volume integrity after a compromised run? If a prompt-injected agent writes malicious state to a volume that then gets reattached to a clean run, the isolation guarantee at the VM level doesn&#8217;t help. Is there snapshotting or rollback on volumes, or is the assumption that the orchestration layer handles what gets reattached and when?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@bhuvika_mehta Thanks, yes volumes are underrated. We do have checkpoint and rollback feature which addresses the second part of your question.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/Z7RFFPXMGSJW3T\" class=\"app-title\">Basedash Skills<\/a><\/p>\n<div class=\"one-liner\">Reusable AI instructions for every Basedash surface.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">94<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Basedash Skills \u662f\u4e00\u6b3e\u8ba9\u7528\u6237\u5c06\u5173\u952e\u4e1a\u52a1\u6307\u6807\uff08\u5982MRR\u3001\u6fc0\u6d3b\u7387\uff09\u5b9a\u4e49\u4e3a\u53ef\u590d\u7528\u7684\u81ea\u7136\u8bed\u8a00\u201c\u6280\u80fd\u201d\uff0c\u4f9b\u6240\u6709AI\u754c\u9762\u6309\u9700\u8c03\u7528\u7684\u5de5\u5177\u3002\u5b83\u89e3\u51b3\u4e86\u5728\u591a\u4e2aPrompt\u4e2d\u53cd\u590d\u7c98\u8d34\u76f8\u540c\u5b9a\u4e49\u5bfc\u81f4\u6570\u636e\u53e3\u5f84\u4e0d\u4e00\u81f4\u7684\u75db\u70b9\uff0c\u8ba9AI\u50cf\u719f\u6089\u4e1a\u52a1\u7684\u5206\u6790\u5e08\u4e00\u6837\u5de5\u4f5c\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/4f664b02-a91a-43a0-ac41-052b88a735a2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/wJpWjHbv1O0\"><source src=\"https:\/\/youtu.be\/wJpWjHbv1O0\" 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\/1134705e-31da-4daa-9092-78f4caadbcd3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fd4c823a-4edb-4088-8280-2ac0870a294a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/34978189-470a-4ee9-a7a4-36e72491569f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dc8858dc-3008-45f7-afd7-0031ef6f3b49.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\">Data &#038; Analytics<\/span><br \/>\n            <span class=\"tag\">Business Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6307\u4ee4\u590d\u7528<\/span><br \/>\n            <span class=\"tag\">\u8bed\u4e49\u5c42<\/span><br \/>\n            <span class=\"tag\">\u6307\u6807\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4e1a\u52a1\u5b9a\u4e49<\/span><br \/>\n            <span class=\"tag\">Prompt\u5de5\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u7ba1\u7406<\/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\u8ba4\u53ef\u5176\u4f5c\u4e3a\u201c\u8f7b\u91cf\u7ea7\u8bed\u4e49\u5c42\u201d\u7684\u4ef7\u503c\uff0c\u6838\u5fc3\u5173\u6ce8\u70b9\u662f\u6cbb\u7406\u95ee\u9898\uff1a\u6280\u80fd\u66f4\u65b0\u540e\u5982\u4f55\u540c\u6b65\u5230\u6240\u6709\u5f15\u7528\u9762\uff1f\u5982\u4f55\u89e3\u51b3\u6280\u80fd\u5185\u5bb9\u968f\u65f6\u95f4\u6f02\u79fb\u6216\u76f8\u4e92\u51b2\u7a81\u7684\u95ee\u9898\uff1f\u5b98\u65b9\u56de\u5e94\u5c06\u652f\u6301AI\u81ea\u52a8\u7ba1\u7406\u6280\u80fd\uff0c\u5e76\u53ef\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u6307\u4ee4\u6279\u91cf\u66f4\u65b0\u5e94\u7528\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Basedash Skills \u89e3\u51b3\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u666e\u904d\u5b58\u5728\u7684\u201c\u810f\u6d3b\u201d\uff1a\u8ba9AI\u8bb0\u4f4f\u5e76\u6b63\u786e\u4f7f\u7528\u56e2\u961f\u5185\u90e8\u90a3\u4e9b\u5b9a\u4e49\u6a21\u7cca\u3001\u53e3\u5f84\u5e38\u53d8\u7684\u4e1a\u52a1\u6307\u6807\u3002\u5b83\u7684\u6838\u5fc3\u521b\u65b0\u4e0d\u5728\u4e8eAI\u80fd\u529b\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u4ea7\u54c1\u67b6\u6784\u2014\u2014\u5c06\u201c\u4e00\u6b21\u6027\u63d0\u793a\u8bcd\u201d\u5347\u7ea7\u4e3a\u201c\u53ef\u6301\u4e45\u5316\u3001\u53ef\u5171\u4eab\u3001\u81ea\u52a8\u5173\u8054\u7684\u6307\u4ee4\u5e93\u201d\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5728AI\u539f\u751f\u5e94\u7528\u91cc\u6784\u5efa\u4e00\u4e2a\u201c\u8f7b\u91cf\u4e14\u6d3b\u7684\u8bed\u4e49\u5c42\u201d\uff0c\u6bd4\u4f20\u7edf\u6570\u636e\u5b57\u5178\u66f4\u8d34\u8fd1\u4e1a\u52a1\u8bed\u8a00\uff0c\u6bd4\u5199\u6b7b\u89c4\u5219\u66f4\u7075\u6d3b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u6211\u4eec\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a\u8fd9\u4e2a\u4ea7\u54c1\u7684\u957f\u671f\u4ef7\u503c\u4e0d\u53d6\u51b3\u4e8e\u201c\u5199\u6307\u4ee4\u6709\u591a\u7b80\u5355\u201d\uff0c\u800c\u53d6\u51b3\u4e8e\u201c\u6cbb\u7406\u80fd\u529b\u6709\u591a\u5f3a\u201d\u3002\u76ee\u524d\u5b98\u65b9\u4f9d\u9760\u201cAI\u4ee3\u7406\u7406\u89e3\u81ea\u7136\u8bed\u8a00\u5e76\u6279\u91cf\u66f4\u65b0\u201d\u7684\u65b9\u6848\u975e\u5e38\u7406\u60f3\u5316\u3002\u5f53\u56e2\u961f\u62e5\u6709\u6570\u5341\u4e2a\u6280\u80fd\u3001\u6570\u767e\u4e2a\u5f15\u7528\u70b9\uff0c\u4e14\u6307\u6807\u5b9a\u4e49\u968f\u4e1a\u52a1\u9891\u7e41\u8fed\u4ee3\u65f6\uff0c\u51b2\u7a81\u68c0\u6d4b\u3001\u7248\u672c\u8ffd\u6eaf\u3001\u5f71\u54cd\u8303\u56f4\u5206\u6790\u5c06\u53d8\u5f97\u6781\u5176\u590d\u6742\u3002\u5982\u679c\u6cbb\u7406\u4e0a\u201c\u8c01\u6539\u8c01\u5bf9\uff0c\u6700\u540e\u751f\u6548\u7684\u8d62\u201d\uff0c\u8fd9\u4e2a\u8bed\u4e49\u5c42\u5f88\u5feb\u5c31\u4f1a\u53d8\u6210\u65b0\u4e00\u8f6e\u6570\u636e\u53e3\u5f84\u6df7\u4e71\u7684\u6e90\u5934\u3002\u8fd9\u4e0d\u662f\u4e00\u4e2a\u6280\u672f\u95ee\u9898\uff0c\u800c\u662f\u4e00\u4e2a\u4e25\u683c\u7684\u8fd0\u7ef4\u534f\u4f5c\u534f\u8bae\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u77ed\u671f\u5185\uff0c\u5b83\u975e\u5e38\u9002\u5408\u5c0f\u56e2\u961f\u3001\u521d\u521b\u516c\u53f8\u6216\u5185\u90e8\u6570\u636e\u96c6\u5e02\u573a\u666f\u3002\u4f46\u5927\u4f01\u4e1a\u5728\u91c7\u7528\u65f6\uff0c\u5fc5\u987b\u540c\u6b65\u5efa\u7acb\u6280\u80fd\u7684\u751f\u547d\u5468\u671f\u7ba1\u7406\u89c4\u8303\uff0c\u5426\u5219\u4eca\u5929\u4ece\u91cd\u590d\u5b9a\u4e49\u4e2d\u89e3\u8131\u7684\u5feb\u4e50\uff0c\u660e\u5929\u5c31\u4f1a\u53d8\u6210\u5bf9\u6240\u6709AI\u8f93\u51fa\u7ed3\u679c\u7684\u4e0d\u4fe1\u4efb\u3002\u603b\u7684\u6765\u8bf4\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u522b\u5fd8\u4e86\u7ed9\u7cfb\u7edf\u6234\u4e0a\u7d27\u7b8d\u5492\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Basedash Skills<\/span>\n                <\/div>\n<div class=\"comment-content\">Skills are reusable bundles of instructions that every Basedash AI surface can read on demand. Define your metrics once and any AI agent in your workspace will pick up the skill when it&#8217;s relevant. No more pasting the same caveats into every prompt. Each skill is a short, plain-language playbook for one concept. Admins manage them; everyone else&#8217;s AI gets the benefit. Add them as you go \u2014 the more you teach Basedash, the more it acts like an analyst who already knows your business.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">We&#8217;ve been quietly using Skills inside Basedash for the past few weeks. They turn out to be the most natural way to move definitions out of one-off prompts and into shared, durable context, closer to a lightweight semantic layer than a system prompt.<\/p>\n<p>The thing that won us over: every AI surface picks them up automatically. Build a chart, run an automation, get a daily insight, or just ask the chat agent a question. When a skill is relevant, the agent fetches it before answering. You see the tool call (e.g. &#8220;Reading Activation rate skill&#8221;) in the thinking trace, so it&#8217;s never a black box.<\/p>\n<p>If you&#8217;ve ever rewritten the same definition of MRR \/ activation \/ churn \/ cohort into five different prompts, this is for you.<\/p>\n<p>Try it out and let us know what you think!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@maxmusing\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maxmusing<\/a>&nbsp;Hey Max, congrats on shipping Skills \ud83c\udf89<\/p>\n<p>The &#8220;lightweight semantic layer rather than a system prompt&#8221; framing is the right one. Most teams reinvent this badly as a growing pile of prompt caveats that nobody owns. Pulling definitions into durable, admin-managed context is the actual fix.<\/p>\n<p>Question on the governance side: what happens when skills drift or conflict? Say an admin defined &#8220;activation rate&#8221; six months ago, the business changed how it counts it, but the old skill is still live. Or two skills define &#8220;active user&#8221; slightly differently. Does Basedash surface the conflict, version skills with a clear &#8220;current&#8221; pointer, or does the most recently fetched one just win? Asking because the value of a semantic layer is only as good as its freshness, and that is exactly where these systems quietly rot.<\/p>\n<p>The visible tool call in the thinking trace is a great touch by the way. &#8220;Reading Activation rate skill&#8221; before answering is the difference between trust and black box.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The origin of this was pretty unglamorous. We kept watching people paste the same definition of activation or churn into chat, then into a chart prompt, then into an automation, and every time they&#8217;d phrase it slightly differently and get slightly different numbers. The model was doing exactly what we asked but we were just asking five versions of the same question lol.<\/p>\n<\/p>\n<p>Skills came out of fixing that for ourselves. You write the definition down once, in plain language, and from then on any agent in the workspace reaches for it when the topic comes up. A new person can ask &#8220;how&#8217;s activation trending&#8221; on day one and get the same answer the rest of the team would get, because the agent is reading the same playbook everyone else&#8217;s agent reads.<\/p>\n<\/p>\n<p>If you&#8217;ve got a metric that means something specific at your company and you&#8217;re tired of explaining it to the AI every single time, give it a try and tell us where it falls short!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>6 months ago I didn&#8217;t understand skills. They&#8217;re just&#8230; markdown files? They felt like a worse version of rules (where you can actually define when they&#8217;re triggered). But the fact that they&#8217;re so simple is what makes them so good.<\/p>\n<\/p>\n<p>Excited to now support them in Basedash.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Moving definitions out of one-off prompts and into shared durable context is exactly the lightweight semantic layer most teams skip until they&#8217;re already drowning in inconsistent metric defs. How do you handle drift when someone updates a Skill that&#8217;s been silently feeding 12 different surfaces \u2014 version pin, broadcast, or both?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eran_shayshon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eran_shayshon<\/a>&nbsp;totally agree, and soon we&#8217;ll allow the AI to manage its own skills automatically so you won&#8217;t even have to think about it. If you anyone updates a skill we make it easy to broadcast changes with our AI agent. You just tell it &#8220;I updated our NRR skill, please update all charts referencing this metric to use the new formula&#8221; and it will update everything for you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is a very handy tool for founders, but I have a question on how are you handling large dataset like clickstream locally and does the data site locally even after ETL?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@harshalvc_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harshalvc_ai<\/a>&nbsp;we can either connect directly to certain sources like Postgres, BigQuery, PostHog, or we can ETL data from external systems into a hosted Basedash Warehouse that we manage for you. Either way we can handle large datasets securely and performantly so that our AI agent can work efficiently.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/U76MBMFZJDNIAG\" class=\"app-title\">AutoSubtitles 2.0<\/a><\/p>\n<div class=\"one-liner\">AI subtitles &#038; animated captions with faster editing<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">94<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AutoSubtitles 2.0 \u662f\u4e00\u6b3e\u5728\u6d4f\u89c8\u5668\u5185\u76f4\u63a5\u8fd0\u884c\u3001\u65e0\u9700\u4e0a\u4f20\u5b8c\u6574\u89c6\u9891\u5373\u53ef\u751f\u6210AI\u5b57\u5e55\u4e0e\u52a8\u6001\u5b57\u5e55\u52a8\u753b\u7684\u5de5\u5177\uff0c\u4e13\u4e3a\u77ed\u89c6\u9891\u521b\u4f5c\u8005\u89e3\u51b3\u4f20\u7edf\u8f6f\u4ef6\u7f16\u8f91\u7e41\u7410\u3001\u6e32\u67d3\u7f13\u6162\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\/38321284-b59f-4e20-93d3-737245de15cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f501b5e-3f16-476e-a554-890cad61d0cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/925ab675-033f-4fe9-98d5-1ea4293f4dfa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5b57\u5e55\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u5b57\u5e55<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u7aef\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u77ed\u89c6\u9891\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u52a8\u753b\u9884\u8bbe<\/span><br \/>\n            <span class=\"tag\">\u5b57\u5e55\u6837\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u8868\u60c5\u7b26\u53f7<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u6e32\u67d3<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u730e\u624b<\/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\u4ea7\u54c1\u7b80\u6d01\u5b9e\u7528\uff0c\u5c24\u5176\u8d5e\u8d4f\u52a8\u753b\u9884\u8bbe\u53ef\u8282\u7701\u5728Premiere\u3001CapCut\u4e0a\u7684\u65f6\u95f4\u3002\u4e3b\u8981\u95ee\u9898\u548c\u5efa\u8bae\u96c6\u4e2d\u5728\uff1a\u5bf9\u5608\u6742\u97f3\u9891\u6216\u591a\u8bf4\u8bdd\u4eba\u573a\u666f\u7684\u8bc6\u522b\u6548\u679c\u3001\u5b57\u5e55\u80fd\u5426\u81ea\u52a8\u907f\u8ba9\u753b\u9762\u4e3b\u4f53\/\u4eba\u8138\u3001\u662f\u5426\u6709\u9002\u914dTikTok\u5e95\u90e8UI\u7684\u5b89\u5168\u533a\u9884\u8bbe\u3001\u662f\u5426\u652f\u6301\u7c7b\u4f3cDescript\u7684\u6587\u7a3f\u9a71\u52a8\u7f16\u8f91\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                AutoSubtitles 2.0\u5728\u4ea7\u54c1\u5b9a\u4f4d\u4e0a\u975e\u5e38\u7cbe\u51c6\uff1a\u653e\u5f03\u5927\u800c\u5168\u7684\u89c6\u9891\u7f16\u8f91\uff0c\u6b7b\u78d5\u201c\u5b57\u5e55\u4e0e\u52a8\u6001\u6807\u9898\u201d\u8fd9\u4e2a\u5782\u76f4\u573a\u666f\u3002\u5176\u6700\u5927\u7684\u62a4\u57ce\u6cb3\u5e76\u975eAI\u8f6c\u5199\u51c6\u786e\u7387\uff08\u8fd9\u662f\u901a\u7528\u80fd\u529b\uff09\uff0c\u800c\u662f\u201c\u7eaf\u6d4f\u89c8\u5668\u7aef+\u672c\u5730\u6e32\u67d3\u201d\u7684\u6280\u672f\u8def\u7ebf\u3002\u5b83\u5de7\u5999\u89c4\u907f\u4e86\u670d\u52a1\u5668\u9ad8\u6602\u7684\u89c6\u9891\u5904\u7406\u6210\u672c\uff0c\u540c\u65f6\u4ee5\u201c\u65e0\u9700\u4e0a\u4f20\u201d\u4f5c\u4e3a\u9690\u79c1\u5356\u70b9\uff0c\u5bf9\u6ce8\u91cd\u6570\u636e\u5b89\u5168\u7684\u5185\u5bb9\u521b\u4f5c\u8005\u6709\u5929\u7136\u5438\u5f15\u529b\u3002\u4ece\u5f53\u524d94\u7968\u7684\u542f\u52a8\u6210\u7ee9\u6765\u770b\uff0c\u4ea7\u54c1\u5b8c\u6210\u5ea6\u5c1a\u53ef\uff0c\u4f46\u8bc4\u8bba\u4e2d\u66b4\u9732\u51fa\u7684\u6838\u5fc3\u77ed\u677f\u4e0d\u5bb9\u5ffd\u89c6\uff1aAI\u5bf9\u590d\u6742\u97f3\u9891\uff08\u80cc\u666f\u566a\u97f3\u3001\u591a\u4eba\u91cd\u53e0\uff09\u7684\u5904\u7406\u80fd\u529b\u662f\u7528\u6237\u7b2c\u4e00\u5173\u5207\uff0c\u8fd9\u76f4\u63a5\u51b3\u5b9a\u4e86\u5b83\u5728\u4e13\u4e1a\u573a\u666f\u4e0b\u7684\u53ef\u7528\u6027\u3002\u6b64\u5916\uff0c\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201c\u81ea\u52a8\u907f\u8ba9\u4eba\u8138\u201d\u548c\u201cTikTok\u5b89\u5168\u533a\u9884\u8bbe\u201d\u66f4\u50cf\u521a\u9700\uff0c\u800c\u975e\u9526\u4e0a\u6dfb\u82b1\u2014\u2014\u5982\u679c\u5b57\u5e55\u603b\u662f\u6321\u4f4f\u4e3b\u4f53\uff0c\u518d\u70ab\u9177\u7684\u52a8\u753b\u4e5f\u662f\u8d1f\u4f18\u5316\u3002\u521b\u59cb\u4eba\u5728\u56de\u590d\u4e2d\u900f\u9732\u5df2\u6709\u201c\u5b89\u5168\u533a\u201d\u548c\u201c\u6587\u7a3f\u7f16\u8f91\u201d\u7684\u8def\u7ebf\u56fe\uff0c\u4f46\u529f\u80fd\u843d\u5730\u901f\u5ea6\u5c06\u662f\u62c9\u5f00\u4e0eCapCut\u3001\u526a\u6620AI\u5b57\u5e55\u5dee\u8ddd\u7684\u5173\u952e\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u6781\u901f\u5b57\u5e55\u7f8e\u5316\u5de5\u5177\u201d\uff0c\u800c\u975e\u771f\u6b63\u7684\u201c\u667a\u80fd\u89c6\u9891\u7f16\u8f91\u5668\u201d\u3002\u82e5\u60f3\u4ece\u201c\u65b0\u5947\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u751f\u4ea7\u529b\u5fc5\u5907\u201d\uff0c\u5fc5\u987b\u5728\u97f3\u9891\u8bc6\u522b\u7cbe\u51c6\u5ea6\u548c\u667a\u80fd\u5e03\u5c40\u7b97\u6cd5\u4e0a\u5b9e\u73b0\u8d28\u53d8\uff0c\u5426\u5219\u5f88\u5feb\u4f1a\u88ab\u7ade\u54c1\u7684\u529f\u80fd\u6574\u5408\u6240\u6df9\u6ca1\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\">AutoSubtitles 2.0<\/span>\n                <\/div>\n<div class=\"comment-content\">AutoSubtitles 2.0 is a next-generation AI subtitle generator for creating animated captions and engaging video content directly in the browser. Generate accurate subtitles, edit with a timeline and canvas editor, apply viral-style caption presets, add AI enhancements like automatic emojis, and export polished videos without complicated editing software.<\/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>A while ago I launched the first version of AutoSubtitles &#8211; a browser-based AI subtitle generator for creating animated captions and engaging video content.<\/p>\n<p>Since then, I\u2019ve completely rebuilt the product from the ground up. The new version introduces a redesigned workflow, subtitle timeline editing, direct canvas editing, AI enhancement tools like automatic emojis, improved animated caption presets, and much better customization controls.<\/p>\n<p>One of my biggest goals was making video editing feel lightweight and fast. AutoSubtitles uses client-side video processing, extracts audio locally for transcription, then handles subtitles, animations, styling, and rendering directly in the browser &#8211; without requiring large video uploads or heavy editing software.<\/p>\n<p>Would love to hear your feedback and feature ideas \u2764\ufe0f<\/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>Congrats on the launch! Super clean concept! Subtitles are practically mandatory for short-form content now, so automation like this is incredibly useful. How does the AI handle audio with heavy background noise or multiple speakers overlapping?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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 animated captions and viral preset styles are such a time saver \u2014 usually you&#8217;d spend hours getting this right in Premiere or CapCut. Really like that it&#8217;s all browser based so there&#8217;s no software to download. Would love to see it handle auto-placement too so captions don&#8217;t cover faces or subtitles.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Portrait captions \u2014 do any presets keep text above the TikTok bottom UI, or is it manual every time?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey<a href=\"https:\/\/www.producthunt.com\/@novamaker01\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@novamaker01<\/a>, very good question! Yep so I&#8217;m actually working on safe zones as we speak, so not quite at the moment. <\/p>\n<\/p>\n<p>However, we do have the ability to save custom presets which means you can save the position of your subtitle so whenever you re-apply that preset it&#8217;ll be positioned correctly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Are we able to also edit the videos from it&#8217;s transcript like <a href=\"https:\/\/www.producthunt.com\/products\/descript\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"descript\" target=\"_blank\" rel=\"noopener\">@Descript<\/a> or this product specialises in subtitles and captioning only? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey<a href=\"https:\/\/www.producthunt.com\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;Not yet. Right now the product is very focused on subtitles and captions specifically rather than being a full editor like Descript.<\/p>\n<\/p>\n<p>That said, I do already have work planned around that kind of workflow because I would like AutoSubtitles to eventually have some lightweight editing capabilities as well. Things like transcript driven editing (and other features like auto clips) are 100% in the roadmap!<\/p>\n<\/p>\n<p>For now though, the focus has been on making the subtitle and captioning experience as fast and polished as possible \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>First of all congratulations to the Autosubtitles team. I just went through your landing page and the feature breakdown looks incredibly clean. I noticed in your FAQ that the video processing stays entirely local on the device and only the audio track goes to the server for transcription. Like this fantastic approach to keep data private. A question came to my mind about the export process. Do you handle the local video burning directly in the browser using WebAssembly or FFmpeg.wasm&#8230;. or does the browser canvas handle the video stitching during export?<\/p>\n<p>And definitely dropping an upvote for this. Wishing you the best on the launch today, <a href=\"https:\/\/www.producthunt.com\/@davidee\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"davidee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@davidee<\/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>Thank you so much <a href=\"https:\/\/www.producthunt.com\/@taimur_haider1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@taimur_haider1<\/a>&nbsp;, I really appreciate the kind words and the support.<\/p>\n<\/p>\n<p>And yes, exactly. The video itself never leaves the device. Only the extracted audio is sent for transcription, and then everything else is handled locally in the browser.<\/p>\n<\/p>\n<p>For the export process, it is currently done using canvas rendering together with Mediabunny for encoding and export handling. Keeping rendering local was a really important part of how I wanted to build the product from the start. Modern machines and even mobile devices are surprisingly powerful now, browsers have become incredibly capable for handling video workflows, and avoiding a full video upload makes the whole process much faster. You can go from importing a video to exporting the final result without waiting for large uploads or server side processing in the middle.<\/p>\n<\/p>\n<p>Really appreciate the upvote as well. Thank you \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/7376HHQEVXZJE7\" class=\"app-title\">Rigyd<\/a><\/p>\n<div class=\"one-liner\">Simulation-ready 3D assets for robotics simulation, at scale<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">57<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Rigyd\u662f\u4e00\u4e2a\u81ea\u52a8\u751f\u6210\u7269\u7406\u5c5e\u6027\u7cbe\u786e\u76843D\u8d44\u4ea7\u548c\u4eff\u771f\u4e16\u754c\u7684\u5e73\u53f0\uff0c\u89e3\u51b3\u4e86\u673a\u5668\u4eba\u4eff\u771f\u5230\u73b0\u5b9e\u8fc1\u79fb\u4e2d\u56e0\u7f3a\u4e4f\u89c4\u6a21\u5316\u3001\u7269\u7406\u53ef\u4fe13D\u6570\u636e\u800c\u5bfc\u81f4\u8bad\u7ec3\u5931\u6548\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\/b1f965f9-b475-4f61-bfe3-0c8f62c01347.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/52079d39-b04a-494b-97dd-6e2759661295.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/17db2223-8d59-4660-88b4-9ea29cff89cf.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\/67c09345-7ccc-4ba4-9538-e682f271154f.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/ZFO2GAN4Vo4\"><source src=\"https:\/\/youtu.be\/ZFO2GAN4Vo4\" 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\">Robots<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">3D Modeling<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u673a\u5668\u4eba\u4eff\u771f\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u7269\u7406\u7cbe\u786e3D\u8d44\u4ea7<\/span><br \/>\n            <span class=\"tag\">\u57df\u968f\u673a\u5316<\/span><br \/>\n            <span class=\"tag\">Sim-to-Real<\/span><br \/>\n            <span class=\"tag\">OpenUSD<\/span><br \/>\n            <span class=\"tag\">NVIDIA Isaac Sim<\/span><br \/>\n            <span class=\"tag\">MuJoCo<\/span><br \/>\n            <span class=\"tag\">3D\u8d44\u4ea7\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4e1a\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u4f53\u611fAI<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u5173\u6ce8\u8d44\u4ea7\u683c\u5f0f\u652f\u6301\uff08\u5df2\u652f\u6301GLB\/FBX\/USD\u7b49\u5341\u4f59\u79cd\uff09\uff0c\u9a8c\u8bc1\u7269\u7406\u51c6\u786e\u6027\uff08\u56e2\u961f\u63d0\u4f9b\u4e09\u5c42\u6821\u9a8c\uff1a\u67b6\u6784\u6807\u51c6+Isaac Sim\u503e\u659c\u6d4b\u8bd5+\u6750\u8d28\u63a8\u65ad\uff09\u3002\u6709\u7528\u6237\u53cd\u9988\u8bd5\u7528\u914d\u989d\u4e0d\u8db3\uff0c\u83b7\u8ffd\u52a0\u3002\u4e5f\u6709\u7528\u6237\u8be2\u95ee\u89c6\u89c9\u968f\u673a\u5316\u80fd\u529b\uff0c\u56e2\u961f\u8868\u793a\u5df2\u652f\u6301\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                Rigyd\u5207\u4e2d\u4e86\u673a\u5668\u4eba\u884c\u4e1a\u4e00\u4e2a\u65e5\u76ca\u5c16\u9510\u7684\u75db\u70b9\uff1a\u4eff\u771f\u5f15\u64ce\uff08Isaac Sim\u3001MuJoCo\u7b49\uff09\u5df2\u7ecf\u8db3\u591f\u6210\u719f\uff0c\u4f46\u5582\u7ed9\u5b83\u4eec\u76843D\u6570\u636e\u8d28\u91cf\u5374\u4e25\u91cd\u6ede\u540e\u3002\u4f20\u7edf\u4e0a\uff0c\u673a\u5668\u4eba\u56e2\u961f\u8981\u4e48\u624b\u5de5\u5236\u4f5c\/\u6807\u6ce8\u6bcf\u4e00\u4ef6\u8d44\u4ea7\uff0c\u8981\u4e48\u5fcd\u53d7\u5e73\u53f0\u9ed8\u8ba4\u7684\u7269\u7406\u53c2\u6570\u5e76\u7948\u7977\u6cdb\u5316\u6210\u529f\uff0c\u8fd9\u4e24\u79cd\u8def\u5f84\u90fd\u65e0\u6cd5\u89c4\u6a21\u5316\u2014\u2014\u800c\u89c4\u6a21\u6070\u6070\u662f\u57df\u968f\u673a\u5316\u7b56\u7565\u80fd\u5426\u594f\u6548\u7684\u6838\u5fc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Rigyd\u7684\u4ef7\u503c\u5728\u4e8e\u5b83\u91cd\u65b0\u5b9a\u4e49\u4e86\u201c3D\u8d44\u4ea7\u201d\u7684\u8d28\u91cf\u6807\u51c6\uff1a\u4ece\u201c\u770b\u8d77\u6765\u903c\u771f\u201d\u8f6c\u5411\u201c\u7269\u7406\u884c\u4e3a\u903c\u771f\u201d\u3002\u5b83\u901a\u8fc7\u751f\u6210\u78b0\u649e\u7f51\u683c\u3001\u8d28\u91cf\u3001\u6469\u64e6\u7cfb\u6570\u3001\u6062\u590d\u7cfb\u6570\u7b49\u5173\u952e\u7269\u7406\u5c5e\u6027\uff0c\u89e3\u51b3\u4e86\u673a\u5668\u4eba\u201c\u7a7f\u8fc7\u5730\u677f\u201d\u3001\u201c\u6293\u7a7a\u7269\u4f53\u201d\u7684\u7ecf\u5178\u5931\u8d25\u6848\u4f8b\u3002\u5176\u6280\u672f\u8def\u5f84\u4e5f\u503c\u5f97\u5173\u6ce8\u2014\u2014\u91c7\u7528CoACD\u5206\u89e3\u800c\u975eV-HACD\uff0c\u786e\u4fdd\u4e86\u5728\u6a21\u62df\u5668\u4e2d\u7684\u78b0\u649e\u6027\u80fd\u4e0e\u7cbe\u5ea6\u5e73\u8861\uff1b\u57fa\u4e8eOpenUSD\u548cMJCF\u7684\u6807\u51c6\u5316\u8f93\u51fa\uff0c\u907f\u514d\u4e86\u5de5\u5177\u94fe\u788e\u7247\u5316\uff0c\u8fd9\u5728\u751f\u6001\u521d\u671f\u662f\u660e\u667a\u4e4b\u4e3e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ecd\u9700\u8b66\u60d5\u4e24\u4e2a\u6f5c\u5728\u95ee\u9898\uff1a\u7b2c\u4e00\uff0c\u7269\u7406\u5c5e\u6027\u63a8\u65ad\u7684\u51c6\u786e\u6027\u672c\u8d28\u4e0a\u662f\u4e00\u79cd\u201c\u5de5\u7a0b\u8fd1\u4f3c\u201d\uff0c\u9762\u5bf9\u6781\u7aef\u590d\u6742\u7684\u771f\u5b9e\u7269\u4f53\uff08\u5982\u8f6f\u4f53\u3001\u5f02\u5f62\u6750\u6599\uff09\uff0c\u5176\u62df\u5408\u7cbe\u5ea6\u4ecd\u6709\u5f85\u9a8c\u8bc1\u3002\u7b2c\u4e8c\uff0cRigyd\u76ee\u524d\u66f4\u50cf\u662f\u4e00\u4e2a\u6570\u636e\u7ba1\u9053\u800c\u975e\u521b\u9020\u5f15\u64ce\u2014\u2014\u5982\u4f55\u4fdd\u8bc1\u751f\u6210\u7684\u57df\u968f\u673a\u5316\u573a\u666f\u65e2\u80fd\u8986\u76d6\u8db3\u591f\u53d8\u5f02\u6027\uff0c\u53c8\u4e0d\u504f\u79bb\u771f\u5b9e\u7269\u7406\u5206\u5e03\uff0c\u907f\u514d\u5728\u6a21\u62df\u4e2d\u201c\u89e3\u51b3\u4e0d\u5b58\u5728\u7684\u95ee\u9898\u201d\uff0c\u662f\u5173\u952e\u6311\u6218\u3002\u5176\u5546\u4e1a\u6a21\u5f0f\u4e0e\u5355\u4e00\u5b58\u50a8\u6876\u914d\u989d\u6302\u94a9\u7684\u5b9a\u4ef7\u7b56\u7565\uff0c\u5bf9\u4e8e\u9700\u8981\u751f\u6210\u767e\u4e07\u7ea7\u8d44\u4ea7\u7684\u76ee\u6807\u5ba2\u6237\u800c\u8a00\uff0c\u843d\u5730\u6210\u672c\u548c\u7075\u6d3b\u6027\u5c06\u662f\u4e0b\u4e00\u4e2a\u535a\u5f08\u70b9\u3002\u603b\u4f53\u6765\u8bf4\uff0cRigyd\u5728\u6b63\u786e\u7684\u65f6\u95f4\u9009\u4e86\u6b63\u786e\u7684\u8d5b\u9053\uff0c\u4f46\u7269\u7406\u6a21\u62df\u6570\u636e\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u5f80\u5f80\u6bd4\u60f3\u8c61\u4e2d\u6f2b\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\">Rigyd<\/span>\n                <\/div>\n<div class=\"comment-content\">Robot learning is only as good as its data. For sim-first teams, success depends on domain randomization. Train a humanoid in 1M simulated kitchens so it doesn&#8217;t fail in the real one. Or train a robotic arm on thousands of objects of varying sizes, masses, and materials. Both require physics-accurate 3D content at scale. Most teams don&#8217;t have it. Rigyd auto-generates and randomizes physics-accurate 3D objects and worlds at scale, unlocking sim-to-real scenarios that were previously impossible.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc4b Hey Product Hunt, I&#8217;m Ugur, co-founder of Rigyd.<\/p>\n<\/p>\n<p>For the past 4 years, we&#8217;ve built a platform that generates 3D visuals and powers AR try-on experiences for some of the largest footwear and retail brands in the world. We&#8217;ve processed 30K+ 3D assets and delivered immersive experiences to 10M+ users in the last 12 months at artlabs.ai. The goal was to give shoppers a photorealistic look, so we obsessed over mesh fidelity and texture quality.<\/p>\n<\/p>\n<p>Then robotics companies started knocking. They wanted millions of 3D assets to populate simulation environments. Sim-to-real transfer works through domain randomization: train your humanoid in 1M different kitchens and a real one isn&#8217;t a surprise when it&#8217;s deployed.<\/p>\n<\/p>\n<p>That&#8217;s when we realized that looking right and behaving right are completely different problems. These teams needed proper collision meshes, physically accurate mass, realistic friction, and more. Not just pretty geometry and texture.<\/p>\n<\/p>\n<p>Most 3D assets weren&#8217;t built for physics. A robot trained on them learns nothing useful. It falls through floors, grips through objects, and generalizes terribly to the real world.<\/p>\n<\/p>\n<p>And it&#8217;s not the simulators holding things back. Isaac Sim, MuJoCo, and Gazebo are widely deployed. Newer engines like Genesis have arrived with even faster runtimes. The physics engines are mature. The 3D content going into them isn&#8217;t.<\/p>\n<\/p>\n<p>The current fixes fall short. Teams either manually create or annotate every asset (doesn&#8217;t scale) or accept platform defaults and hope the policy generalizes. Neither works.<\/p>\n<\/p>\n<p>So we built Rigyd. It ingests raw 3D, images, or text and produces validated OpenUSD (with USDPhysics schemas) and MJCF, with collision meshes, mass, friction, restitution, material properties, and semantic labels baked in. Works in Isaac Sim, MuJoCo, and Unreal out of the box.<\/p>\n<\/p>\n<p>No manual annotation. Weeks \u2192 minutes. From any input.<\/p>\n<\/p>\n<p>Our early users are already using it for<br \/>\u2192 Warehouse automation<br \/>\u2192 Simulating surgical rooms<br \/>\u2192 Testing robotic arms before deployment<\/p>\n<p>The UI is for exploration. The real surface is programmatic. Rigyd exposes tools so agents (or your own pipelines) can generate millions of physics-accurate sims directly inside NVIDIA Isaac Sim, MuJoCo, or wherever you train.<\/p>\n<\/p>\n<p>If you&#8217;re building anything in robotics, AV, industrial automation, or embodied AI: claim the free credits on signup. All we&#8217;d ask is honest feedback. What works, what doesn&#8217;t, what you wish it did differently.<\/p>\n<\/p>\n<p>If you&#8217;ve hit the sim-data wall and want enterprise\/bulk API access, DM me. We&#8217;re onboarding a small group of design partners in June.<\/p>\n<\/p>\n<p>If you just want to nerd out about OpenUSD, domain randomization, or sim-to-real transfer, we&#8217;re in the comments all day.<\/p>\n<\/p>\n<p>Robotics is going to be the largest industry in history. We think the data infrastructure for it should be as easy to use as Stripe is for payments. That&#8217;s what we&#8217;re building.<\/p>\n<\/p>\n<p>Check it out \ud83d\udc49 <a href=\"http:\/\/rigyd.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">rigyd.com<\/a><\/p>\n<p>Ugur<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>15<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@uguryekta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uguryekta<\/a>&nbsp;looks sick!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@uguryekta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uguryekta<\/a>&nbsp;This is next level type ish!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! Looks great. Curious what asset formats you ingest (OBJ, FBX, GLB, STEP, USD)?<\/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\/@furkan_dindar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@furkan_dindar<\/a>&nbsp;Hi Furkan! This is Damla, PM at Rigyd. Thanks for the support! \ud83d\ude80<\/p>\n<p>We\u2019ve built a pretty flexible engine, we currently support <strong>.glb, .gltf, .fbx, .obj, .stl, .ply, .usd, .usda, .usdc, .usdz, and .zip<\/strong> files. We would love to hear what is the needed in workflows and make sure to adapt pretty quickly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you validate that the physics actually behaves correctly post-generation? Do you run automated sim rollouts, compare against ground-truth measurements, or rely on schema conformance only?<\/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\/@zeynep_yorulmaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeynep_yorulmaz<\/a>&nbsp;we have built-in NVIDIA Omniverse asset validator in Rigyd. It checks tens of parameters from geometry to name convention. you can see it here: <a href=\"https:\/\/docs.rigyd.com\/simready-validation\/full-coverage\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.rigyd.com\/simready-validation\/full-coverage\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@zeynep_yorulmaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeynep_yorulmaz<\/a> ! Dogancan here, R&amp;D Lead at Rigyd. Three layers:<\/p>\n<ol>\n<li>\n<p>Every asset conforms to SimReady Foundation standards (USD\/MJCF), catching structural issues at export.<\/p>\n<\/li>\n<li>\n<p>Each asset runs through a headless tilting-ramp test in Isaac Sim (0\u00b0\u201350\u00b0 over 4s) that exercises all six physics properties in behavior: mass, friction, restitution, collision, COM, and inertia. If it falls wrong, slides wrong, or clips, it fails before shipping.<\/p>\n<\/li>\n<li>\n<p>We don&#8217;t physically measure each object&#8217;s mass or friction; instead our proprietary estimation engine infers physics properties from the asset depending on the materials and dimensions. For robot-learning workflows where domain randomization is the goal, a distribution of plausible physics is what you actually want, not one ground-truth value per object.<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow, quality of the generated assets are impressive. With all the materials and physics. 3 credits for trial is not enough though to test all the features.<\/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\/@ozgungenc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ozgungenc<\/a>&nbsp;Thanks \u00d6zg\u00fcn! Glad you like it, I&#8217;ve added 20 more credits to your account to test all the features \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. Also love the OpenUSD angle. I believe like the ecosystem is converging around more standardized pipelines instead of every company building tooling around meshes &amp;&amp; annotations \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gorkemcetin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gorkemcetin<\/a>&nbsp;we want them to focus on solving really hard problems by standardizing their content pipelines. 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\">\n<p>One of the biggest bottlenecks in robotics today is not the model, it\u2019s the data. Rigyd tackles a massive problem by making physics-accurate synthetic training environments scalable and practical.<\/p>\n<\/p>\n<p>Training across millions of variations is exactly what humanoid and robotic manipulation systems need to generalize in the real world. Excited to see where this goes.<\/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\/@alperguler1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alperguler1<\/a>&nbsp;Thanks for the support, Alper. The robotics field faces many challenges, with sim data being a major one, but we are dedicated to tackling them one by 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>This is cool. Curious how are you generating collision meshes under the hood? VHACD-style decomposition, SDFs, or custom approximations?<\/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\/@serefyarar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serefyarar<\/a>&nbsp;We went with CoACD. It improves on V-HACD which tends to over-simplify concavity, and we can tune the collision\/performance trade-off via the concavity threshold. The hulls play nicely with both Isaac Sim&#8217;s PhysX and MuJoCo&#8217;s convex collision pipelines, which are our targets.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 and good luck on the launch! Looks amazing<\/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\/@mert_aktas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mert_aktas<\/a>&nbsp;hi Mert, thanks for your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Rooting for Rigyd today.<\/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\/@affan_dindar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@affan_dindar<\/a>&nbsp;thanks for your support, Affan \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>I 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\/@osman_kocs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@osman_kocs<\/a>&nbsp;hi Osman, 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>Do you randomize visuals too, or is Rigyd mainly focused on physics and geometry?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@othman_katim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@othman_katim<\/a>&nbsp;we do! one of our early enterprise users demanded creating different texture variations for their warehouse and we shipped it. What kind of randomization do you need?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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-05-21 PH\u70ed\u699c | 2026-05-21 #1 Tycoo [&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-229","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/229","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=229"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/229\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}