{"id":82,"date":"2025-12-25T10:32:37","date_gmt":"2025-12-25T02:32:37","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2025\/12\/25\/2025-12-24\/"},"modified":"2025-12-25T10:32:37","modified_gmt":"2025-12-25T02:32:37","slug":"2025-12-24","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2025\/12\/25\/2025-12-24\/","title":{"rendered":"PH\u70ed\u699c | 2025-12-24"},"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 2025-12-24<\/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 | 2025-12-24<\/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\/2HGBXAF2FPYPQM\" class=\"app-title\">Typeless for iOS<\/a><\/p>\n<div class=\"one-liner\">AI voice keyboard now on iPhone<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">321<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Typeless\u662f\u4e00\u6b3eiOS AI\u8bed\u97f3\u952e\u76d8\uff0c\u901a\u8fc7\u5b9e\u65f6\u5c06\u81ea\u7136\u8bed\u97f3\u8f6c\u5316\u4e3a\u7cbe\u70bc\u6587\u672c\uff0c\u5728\u79fb\u52a8\u529e\u516c\u3001\u5373\u65f6\u901a\u8baf\u7b49\u573a\u666f\u4e0b\uff0c\u89e3\u51b3\u4e86\u624b\u673a\u6253\u5b57\u6548\u7387\u4f4e\u4e0b\u3001\u8f93\u5165\u4f53\u9a8c\u5272\u88c2\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/837925d4-35f3-4ae4-994f-1b1a01454090.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ef540379-53c9-4d29-9a67-817cc3b077a7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/be5e6a49-fdef-433e-bc9b-04f4b482f365.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bf709d5c-f4b8-488e-b19b-9cadf9d4508d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7b72010f-72ab-407b-b388-bee1fd627548.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/43efcdb3-9473-4e6f-bf16-a05040ceede0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/60aa6be8-783e-416d-9c42-3d5963a92932.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/984dc616-ea1a-4a01-ab24-96372d0b121b.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\/35b8c019-7c6a-49b7-84b7-d2dd14387501.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/8YyC7eTSmyY\"><source src=\"https:\/\/youtu.be\/8YyC7eTSmyY\" 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\">iOS<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bed\u97f3\u8f93\u5165<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u8f6c\u5f55\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u952e\u76d8\u66ff\u4ee3\u65b9\u6848<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e94\u7528\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5199\u4f5c\u52a9\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\u8d5e\u8d4f\u5176\u6d41\u7545\u7684\u5b9e\u65f6\u7f16\u8f91\u3001\u7cbe\u51c6\u7684\u8bc6\u522b\uff08\u542b\u4e13\u4e1a\u672f\u8bed\uff09\u53ca\u9690\u79c1\u8bbe\u8ba1\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u8f93\u51fa\u98ce\u683c\uff08\u5982\u90ae\u4ef6\/\u804a\u5929\uff09\u3001\u6df1\u5316\u4e0e\u7279\u5b9a\u5e94\u7528\u96c6\u6210\u3001\u5f00\u53d1\u79bb\u7ebf\u6a21\u5f0f\u3002\u56e2\u961f\u79ef\u6781\u56de\u5e94\uff0c\u5e76\u5df2\u89e3\u51b3\u4e4c\u514b\u5170\u533a\u53ef\u7528\u6027\u95ee\u9898\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Typeless\u7684\u91ce\u5fc3\u5e76\u975e\u505a\u53c8\u4e00\u4e2a\u8bed\u97f3\u8f6c\u6587\u672c\u5de5\u5177\uff0c\u800c\u662f\u8bd5\u56fe\u98a0\u8986\u201c\u952e\u76d8\u201d\u8fd9\u4e00\u6839\u672c\u4ea4\u4e92\u8303\u5f0f\u3002\u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u5c06\u201c\u601d\u8003\u201d\u4e0e\u201c\u8f93\u51fa\u201d\u7684\u5ef6\u8fdf\u964d\u81f3\u6700\u4f4e\uff0c\u901a\u8fc7AI\u5b9e\u65f6\u7f16\u8f91\u5f25\u5408\u4e86\u53e3\u8bed\u968f\u610f\u6027\u4e0e\u4e66\u9762\u4e25\u8c28\u6027\u4e4b\u95f4\u7684\u9e3f\u6c9f\uff0c\u8fd9\u6bd4\u5355\u7eaf\u63d0\u5347\u542c\u5199\u51c6\u786e\u5ea6\u66f4\u5177\u9769\u547d\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u5de7\u5999\u5730\u4ee5\u201c\u7cfb\u7edf\u7ea7\u952e\u76d8\u201d\u5f62\u6001\u5207\u5165\uff0c\u907f\u514d\u4e86\u6ca6\u4e3a\u5b64\u7acb\u5e94\u7528\uff0c\u76f4\u51fb\u79fb\u52a8\u7aef\u9ad8\u9891\u3001\u788e\u7247\u5316\u7684\u8f93\u5165\u573a\u666f\u3002\u5176\u5ba3\u79f0\u7684\u201c\u96f6\u6570\u636e\u4fdd\u7559\u201d\u548c\u7aef\u4fa7\u5904\u7406\uff0c\u5728\u9690\u79c1\u7126\u8651\u65f6\u4ee3\u662f\u91cd\u8981\u7684\u4fe1\u4efb\u7b79\u7801\u3002\u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6311\u6218\u540c\u6837\u5c16\u9510\uff1a\u5728\u5608\u6742\u73af\u5883\u6216\u9700\u8981\u7cbe\u786e\u672f\u8bed\uff08\u5982\u6cd5\u5f8b\u6761\u6587\uff09\u7684\u573a\u666f\u4e0b\uff0cAI\u7684\u201c\u8fc7\u5ea6\u7f16\u8f91\u201d\u53ef\u80fd\u6210\u4e3a\u8d1f\u62c5\uff0c\u5982\u4f55\u5728\u201c\u667a\u80fd\u6da6\u8272\u201d\u4e0e\u201c\u5fe0\u5b9e\u539f\u610f\u201d\u95f4\u63d0\u4f9b\u53ef\u63a7\u6027\uff0c\u662f\u4e0b\u4e00\u6b65\u7684\u5173\u952e\u3002\u6b64\u5916\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u5728\u4e70\u65ad\u5236\u4e0b\u662f\u5426\u53ef\u6301\u7eed\uff0c\u4ee5\u53ca\u5982\u4f55\u5e94\u5bf9\u5de8\u5934\u7cfb\u7edf\u7ea7\u8f93\u5165\u7684\u540e\u7eed\u7ade\u4e89\uff0c\u90fd\u662f\u5176\u201c\u6d88\u706d\u952e\u76d8\u201d\u613f\u666f\u8def\u4e0a\u5fc5\u987b\u56de\u7b54\u7684\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u7248\u672c\u7684\u6210\u529f\uff0c\u6e90\u4e8e\u5b83\u7cbe\u51c6\u6355\u6349\u4e86\u201c\u8ba4\u77e5\u8d1f\u8377\u201d\u4e0e\u201c\u8f93\u51fa\u6548\u7387\u201d\u95f4\u7684\u77db\u76fe\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u60c5\u7eea\u4ef7\u503c\uff08\u6446\u8131\u6253\u5b57\u70e6\u8e81\uff09\u4e0e\u5b9e\u7528\u4ef7\u503c\uff08\u63d0\u5347\u901f\u5ea6\uff09\u7684\u53cc\u91cd\u6ee1\u8db3\u3002\u4f46\u5b83\u80fd\u5426\u4ece\u201c\u6548\u7387\u5229\u5668\u201d\u8fdb\u5316\u4e3a\u201c\u8ba4\u77e5\u4f19\u4f34\u201d\uff0c\u53d6\u51b3\u4e8e\u5176AI\u80fd\u5426\u4ece\u901a\u7528\u6da6\u8272\uff0c\u6f14\u8fdb\u4e3a\u771f\u6b63\u7406\u89e3\u4e2a\u4eba\u98ce\u683c\u4e0e\u4e13\u4e1a\u4e0a\u4e0b\u6587\u7684\u5199\u4f5c\u5927\u8111\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\">Typeless for iOS<\/span>\n                <\/div>\n<div class=\"comment-content\">Speak naturally, and Typeless for iOS will turn your speech into clear, polished messages, emails, and documents that read like you carefully typed them &#8211; in real time. Suddenly, your iPhone can do things that once felt impossible, effortlessly and at 10 times the speed.<\/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\u2019m Huang, the <strong>founder &amp; CEO of Typeless<\/strong>.<\/p>\n<\/p>\n<p>We started Typeless with a belief:<\/p>\n<\/p>\n<p><strong><em>The keyboard was a mistake.<\/em><\/strong><\/p>\n<\/p>\n<p>Typing on a <strong>phone<\/strong> is where this mismatch becomes painfully obvious.<\/p>\n<\/p>\n<p>When the <em>iPhone<\/em> was introduced, <em>Steve Jobs<\/em> intentionally removed the physical keyboard. A fixed keyboard couldn\u2019t adapt, but a virtual one could &#8211; and that decision defined the smartphone era.<\/p>\n<\/p>\n<p>We believe that wasn\u2019t the final step.<\/p>\n<\/p>\n<p>The virtual keyboard was a transition. <strong>Voice is the next generation.<\/strong><\/p>\n<\/p>\n<p>&#8212;<\/p>\n<\/p>\n<p>When we launched Typeless on <strong>Mac and Windows<\/strong>, tens of thousands of people resonated with this idea. And the number one request we heard, again and again, was:<\/p>\n<blockquote>\n<p><strong>\u201cBring Typeless to mobile.\u201d<\/strong><\/p>\n<\/blockquote>\n<p>Today, I&#8217;m excited to launch <strong>Typeless for iPhone<\/strong> \ud83c\udf89<br \/>(Android is coming next.)<\/p>\n<\/p>\n<p><strong>Typeless for iOS<\/strong> is an AI voice keyboard that understands your intent and turns your raw speech into clear, polished, natural writing &#8211; effortlessly and in real time. No commands. No formatting tricks. It reads as if you carefully wrote it yourself.<\/p>\n<\/p>\n<p>&#8212;<\/p>\n<\/p>\n<p><strong>Core features:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Works everywhere<\/strong> &#8211; Every app on your iPhone: iMessage, Slack, Mail, Notes, and more<\/p>\n<\/li>\n<li>\n<p><strong>AI auto-editing<\/strong> &#8211; Removes filler words, fixes grammar, and formats perfectly as you speak<\/p>\n<\/li>\n<li>\n<p><strong>Speak to edit<\/strong> &#8211; Revise, refine, or rephrase by simply saying what you want to change<\/p>\n<\/li>\n<li>\n<p><strong>Whisper mode<\/strong> &#8211; Dictate quietly and precisely in low-voice environments<\/p>\n<\/li>\n<li>\n<p><strong>100+ languages<\/strong> &#8211; Speak any language (or mix them); Typeless detects and transcribes automatically<\/p>\n<\/li>\n<li>\n<p><strong>Personal dictionary<\/strong> &#8211; Names, brands, and custom vocabulary learned once, never missed<\/p>\n<\/li>\n<li>\n<p><strong>Private by design<\/strong> &#8211; Zero data retention. We never store or train on your data. All history stays on your device<\/p>\n<\/li>\n<\/ul>\n<p>When input friction disappears on a phone, everything changes. Your iPhone becomes capable of things that once felt impossible &#8211; at <strong>10\u00d7 the speed<\/strong>.<\/p>\n<\/p>\n<p>This isn\u2019t just a new app. It\u2019s a new way to use your phone.<\/p>\n<\/p>\n<p>Welcome to the end of typing.<\/p>\n<p>Welcome to Typeless.<\/p>\n<\/p>\n<p>&#8212;<\/p>\n<\/p>\n<p><strong>I&#8217;d love to hear from you:<\/strong><\/p>\n<ul>\n<li>\n<p>Where does Typeless save you the most time on your iPhone?<\/p>\n<\/li>\n<li>\n<p>In which moments do you still find yourself falling back to the keyboard?<\/p>\n<\/li>\n<li>\n<p>What\u2019s the one feature you\u2019d like us to build next?<\/p>\n<\/li>\n<\/ul>\n<p>We\u2019re here all day to chat, answer questions, and hear your ideas.<\/p>\n<p>If Typeless makes using your iPhone feel more effortless, your support would mean a lot to us.<\/p>\n<p><em>Dictated with Typeless<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>12<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@huang_song_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@huang_song_<\/a>&nbsp;Hey !! This is a bold vision:) How do you handle intent accuracy in real-world mobile contexts (noise, partial thoughts, quick corrections), especially to avoid over-editing when users actually <em>want<\/em> raw text or precise wording? 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>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I\u2019m Krystal from Typeless. Glad you\u2019re here!<\/p>\n<p><strong>Why we built this:<\/strong><\/p>\n<p>After launching on Mac and Windows, the #1 request was clear \u2014 <strong>&#8220;I need this on my iPhone. My best ideas happen away from my desk.&#8221; <\/strong>Users were emailing themselves voice memos, using basic transcription apps, then heavily editing later.<\/p>\n<p>That&#8217;s a broken workflow!<\/p>\n<p><strong>The core problem we&#8217;re solving:<\/strong>&nbsp;Mobile typing is slow and frustrating, but existing voice dictation just dumps raw transcription\u2014full of &#8220;ums&#8221;, repetitions, and zero formatting. You still need to edit everything.<\/p>\n<p><strong>Typeless for iPhone rethinks this entirely:<\/strong><\/p>\n<p>\ud83d\udcf1&nbsp;<strong>System-wide availability<\/strong>&nbsp;\u2013 iOS keyboard extension means it works in every app. One tool, unlimited use cases.<\/p>\n<\/p>\n<p>\ud83e\udde0&nbsp;<strong>Intelligent processing<\/strong>&nbsp;\u2013 Our AI doesn&#8217;t just transcribe\u2014it understands intent, removes filler, structures thoughts, and formats appropriately.<\/p>\n<\/p>\n<p>\ud83c\udf0d&nbsp;<strong>100+ languages, zero friction<\/strong>&nbsp;\u2013 Automatic language detection. No settings to change, just speak naturally.<\/p>\n<\/p>\n<p>\ud83d\udcda&nbsp;<strong>Adaptive learning<\/strong>&nbsp;\u2013 Personal dictionary learns your vocabulary\u2014brand names, technical terms, contacts\u2014and improves accuracy over time.<\/p>\n<\/p>\n<p>\ud83d\udd12&nbsp;<strong>Privacy-first design<\/strong>&nbsp;\u2013 On-device processing. Zero data retention policy. We architecturally cannot access your content.<\/p>\n<p><strong>Beta insights:<\/strong><\/p>\n<ul>\n<li>\n<p>Average 4x speed improvement over mobile typing<\/p>\n<\/li>\n<li>\n<p>A large number of users report &#8220;significantly less editing needed&#8221;<\/p>\n<\/li>\n<li>\n<p>Most common use case: replying to messages and emails on the go<\/p>\n<\/p>\n<\/li>\n<\/ul>\n<p><strong>Product roadmap questions for you:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Integration priorities<\/strong>&nbsp;\u2013 Which apps need deeper integration? (Slack, Notion, specific email clients?)<\/p>\n<\/li>\n<li>\n<p><strong>Hardware features<\/strong>&nbsp;\u2013 Should we prioritize Apple Watch standalone mode or AirPods gesture controls?<\/p>\n<\/li>\n<li>\n<p><strong>Accuracy vs Speed<\/strong>&nbsp;\u2013 Would you trade 200ms latency for 5% better accuracy, or prefer instant feedback?<\/p>\n<\/li>\n<li>\n<p><strong>Offline capabilities<\/strong>&nbsp;\u2013 How critical is full offline mode vs cloud-enhanced accuracy?<\/p>\n<\/p>\n<\/li>\n<\/ol>\n<p>I&#8217;m here all day to discuss product decisions, technical tradeoffs, and feature priorities. Would love to hear how you&#8217;d use this in your workflow! \ud83d\ude80<\/p>\n<p>\ud83d\udc49 Download:&nbsp;<a href=\"https:\/\/apps.apple.com\/app\/id6749257650\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/apps.apple.com\/app\/id6749257650<\/a><\/p>\n<p>Krystal\ud83d\udc69\u200d\ud83d\udcbb<\/p>\n<p><em>Dictated with Typeless iOS \ud83d\ude42<\/em><\/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\">Wanted to try but app isn\u2019t available for Ukraine \ud83d\ude1e I wanted to test a scenario of messaging my family. I am on the war now and it is cold outside to type text using regular keyboard. Thought that would be a beautiful use case. Any chances the app is available for Ukraine? Maybe you have a test flight version? I will gladly help out testing the app<\/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\/@artem_creates\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artem_creates<\/a>&nbsp;Thank you for your message and interest in our app!<\/p>\n<p><strong>Great news &#8211; we&#8217;re now available in Ukraine!<\/strong> \ud83c\uddfa\ud83c\udde6 You can download the app from the App Store and try it out.<\/p>\n<p>We hope it helps you stay connected with your family more easily, especially in cold conditions where typing is difficult.<\/p>\n<p>Stay safe, and please let us know if you have any feedback or need any assistance! \ud83d\udc99\ud83d\udc9b<\/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\">@yuki1028 Thank you so much! It is now available in Ukraine, and I&#8217;m going to test it out.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\">@yuki1028 By the way, the previous message has been recorded by your app and it works perfectly. Thank you.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b I&#8217;m Stellar from the Typeless marketing team, and today feels special.<\/p>\n<\/p>\n<p><strong>Here&#8217;s what happened:<\/strong><\/p>\n<\/p>\n<p>After launching on Mac and Windows, we started getting these incredibly personal messages from users. Not feature requests\u2014<strong>stories<\/strong>.<\/p>\n<\/p>\n<p>A writer who captures novel ideas during her morning runs. A founder who responds to investor emails from the back of Ubers. A dad who journals about his kids while they nap, without the clicking sounds of a keyboard.<\/p>\n<\/p>\n<p>They all said the same thing: <em>&#8220;I need this freedom everywhere, not just at my desk.&#8221;<\/em><\/p>\n<\/p>\n<p>So we built <strong>Typeless for iPhone<\/strong>. And honestly? Using it feels different. It feels like your thoughts finally move at the speed you think of them.<\/p>\n<\/p>\n<p><strong>The moment that sold us:<\/strong><\/p>\n<\/p>\n<p>Our beta tester Alex told us: <em>&#8220;I was walking to a meeting, stressed about being late. A client texted asking for an update. I just&#8230; spoke. A full professional response appeared. I hit send and kept walking. That&#8217;s when I realized \u2014 this isn&#8217;t just faster. It&#8217;s a completely different way to communicate.&#8221;<\/em><\/p>\n<\/p>\n<p>That&#8217;s the experience we&#8217;re bringing to everyone today.<\/p>\n<\/p>\n<p><strong>What we&#8217;re curious about:<\/strong><\/p>\n<ul>\n<li>\n<p>When do you lose ideas because typing feels like too much friction?<\/p>\n<\/li>\n<li>\n<p>What would change for you if writing was as easy as thinking out loud?<\/p>\n<\/li>\n<li>\n<p>Are there moments in your day where you avoid responding to messages because pulling out a keyboard feels like work?<\/p>\n<\/p>\n<\/li>\n<\/ul>\n<p>We&#8217;re here all day to chat, hear your stories, and answer anything. If this resonates with you\u2014if you&#8217;ve ever felt that frustration of thoughts moving faster than your thumbs\u2014your support today would mean everything to our team. \ud83d\udc99<\/p>\n<\/p>\n<p>\ud83d\udc49 Experience it yourself: <a href=\"https:\/\/apps.apple.com\/app\/id6749257650\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Typeless for iPhone<\/a><\/p>\n<\/p>\n<p><em>Dictated with Typeless iOS<\/em><\/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\">Hey Huang, the keyboard was a mistake is a bold statement I love it. And typing on a phone does feel like we\u2019re forcing something that was designed for desks into our pockets. Was there a specific moment where that mismatch really hit you?<\/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\">@vouchy That\u2019s a great question!<\/p>\n<p>I think the exact moment I realized typing on an iPhone keyboard was a mistake was the first time I used Typeless to reply to a long email. I simply spoke to my phone and watched as a perfectly formatted, polished draft appeared instantly\u2014with no mistakes and ready to send.<\/p>\n<p>It felt like total magic. That was the moment it really clicked for me: typing on a phone is definitely not the way to go<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The UI is beautifully simple. No complicated settings or learning curve &#8211; just speak and go.<\/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\/@lisa_helicopter_l\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lisa_helicopter_l<\/a>&nbsp;Thank you so much for your kind words! \ud83d\ude0a We&#8217;re thrilled that the simplicity works for you. That&#8217;s exactly what we aimed for &#8211; making it effortless to use. Your feedback means a lot!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lisa_helicopter_l\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lisa_helicopter_l<\/a>&nbsp;Thank you, that means a lot! We worked hard to keep things as clean as possible, so it feels like you can just open Typeless, speak, and get on with your day:&gt;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 used to lose so many ideas because I couldn&#8217;t type them fast enough. Not anymore!<\/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\/@lizzieyuan2025\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lizzieyuan2025<\/a>&nbsp;That\u2019s awesome to hear. Your ideas were always fast enough; it was the typing that was too slow. Glad Typeless is finally keeping up with 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lizzieyuan2025\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lizzieyuan2025<\/a>&nbsp;This makes our day! \ud83d\ude0a So glad we could help you capture all those ideas. That&#8217;s exactly what we hoped to achieve!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 impressed by how well it handles technical terminologies in my field (software engineering). Very accurate!<\/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\/@the_kimi_lu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@the_kimi_lu<\/a>&nbsp;Great to hear! Tech vocab can be a pain for voice input. Thanks for sharing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@the_kimi_lu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@the_kimi_lu<\/a>&nbsp;Love hearing this, especially from someone in software engineering. Really glad Typeless can keep up with your jargon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>been using it on Mac for quite a while now, it works best for people who has a private work space, but I think with iOS version, I can finally use it while driving<\/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\/@oratis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oratis<\/a>&nbsp;Love it! Mac to iOS is a natural progression. The mobility is definitely a game changer. Just be smart about the driving use case \u2013 quick voice notes are cool, but don&#8217;t let it distract you. Safe driving = more Typeless time \ud83d\ude09<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@oratis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oratis<\/a>&nbsp;Wow, it seems like an upgrade from a private workspace to your own little \u201ccar office\u201d:&gt; iOS is perfect for those on\u2011the\u2011road ideas, but let Typeless do the listening while you keep your hands on the wheel and stay safe out there, buddy!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Perfect for multitasking! I can &#8220;write&#8221; emails while doing household chores or exercising.<\/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\/@mooyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mooyan<\/a>&nbsp;Yes! This is exactly the kind of freedom voice input gives you. Emails don&#8217;t have to chain you to a desk anymore. Keep crushing those chores AND your inbox \ud83c\udfc3\u200d\u2642\ufe0f\ud83d\udce7<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mooyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mooyan<\/a>&nbsp;Being able to get through email while you\u2019re doing chores or exercising is exactly the kind of freedom we hoped Typeless would unlock. Thanks for sharing 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>Congrats on the launch, Huang <a href=\"https:\/\/www.producthunt.com\/@huang_song_\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"huang_song_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@huang_song_<\/a> and the Typeless team! \ud83c\udf89 The vision of &#8220;the keyboard was a mistake&#8221; is so bold and resonates deeply. As a Product Lead, I love how you&#8217;ve executed the core job-to-be-done: reducing input friction <em>everywhere<\/em> on iOS, not just in a siloed app. The privacy-by-design approach and on-device processing are huge wins for trust. \u2728<br \/>My biggest &#8220;wow&#8221; moment was trying the &#8220;Speak to edit&#8221; feature \u2013 it feels like magic! \ud83e\ude84<\/p>\n<p>One concrete suggestion from a power-user perspective: <strong>Could there be an option for &#8220;custom AI editing styles&#8221;?<\/strong> For example, I might want a &#8220;Concise Bullet&#8221; style for Slack, a &#8220;Formal Email&#8221; tone for work, and a &#8220;Casual &amp; Emoji-friendly&#8221; mode for texting friends. Allowing users to save\/personalize these output formats could make an already brilliant tool even more indispensable.<\/p>\n<p>Excited to see this evolve! The team&#8217;s direct engagement here is awesome. I&#8217;m curious: <strong>Is a future API or Shortcuts integration on the roadmap to automate workflows even further?<\/strong><\/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\/@rocsheh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rocsheh<\/a>&nbsp;Thanks so much for the support and the kind words, Zepeng! Really glad to hear that <strong>\u201cSpeak to edit\u201d<\/strong> hit the mark for you.<\/p>\n<\/p>\n<p>To your points:<\/p>\n<ol>\n<li>\n<p>Regarding <strong>custom styles<\/strong>\u2014you\u2019re spot on. People definitely need different tones for different apps. We actually have a very cool way to solve this through <strong>personalization<\/strong>. The more you use Typeless, the more it <strong>learns your unique writing style and tone<\/strong> so it can write exactly like you. We\u2019re cooking this up actively and looking to release it <strong>very soon<\/strong>!<\/p>\n<\/li>\n<li>\n<p>On the <strong>API\/Shortcuts<\/strong> front: Yes, it\u2019s absolutely on our <strong>to-do list<\/strong>. Since you\u2019re building <strong>Surgeflow<\/strong>, I was wondering if you might be interested in integrating our SDK or API into your own product?<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<blockquote>\n<p>I&#8217;m impressed by the battery efficiency. Heavy use doesn&#8217;t drain my iPhone like other AI apps.<\/p>\n<\/blockquote>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jayzhu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jayzhu<\/a>&nbsp;Thanks for highlighting this! So glad you&#8217;re getting heavy use without the drain!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@jayzhu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jayzhu<\/a>&nbsp;Love hearing that you can use it heavily without draining much battery. Also, thanks for sharing this, it really helps us understand how it fits into your day:&gt;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The real-time editing is magical. I can see my rambling thoughts transform into coherent sentences as I speak.<\/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\/@jianqiang_hao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jianqiang_hao<\/a>&nbsp;That real-time polish is our secret sauce!  So glad you&#8217;re experiencing the magic. Keep those thoughts flowing &#8211; we&#8217;ll handle the coherence!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@jianqiang_hao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jianqiang_hao<\/a>&nbsp;Love how you put this. That\u2019s exactly what we want Typeless to feel like! 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>Typeless has saved me so much time. I used to avoid replying to long emails on mobile, now I just speak and it&#8217;s done.<\/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\/@janette_szeto\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@janette_szeto<\/a>&nbsp;Love this! We totally understand that pain point &#8211; long emails on mobile used to be such a hassle. It&#8217;s amazing how voice can transform the experience. Thanks for sharing your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@janette_szeto\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@janette_szeto<\/a>&nbsp;Janette, thank you for sharing this. It means a lot to our team! If you have ideas to make those replies even smoother, we\u2019d love to hear 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>Great add-on for the Email workflow if you need answer anything fast on the road. Otherwise, I&#8217;m using voice m\u0435ssages, which are vary convenient in messangers. <\/p>\n<p>Meanwhile the desktop app has much wider use cases, love using it! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>@huangsong Love the philosophy here &#8211; &#8220;keyboard was a mistake&#8221; resonates deeply. We just launched Whisper for Mac with the same belief: voice-to-text shouldn&#8217;t feel like a hack. Your execution is beautiful. Two voices solving the same problem, different platforms. Excited to see both succeed! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@0xwhisperIt is so inspiring to see the product you are building! You are tackling such a relevant problem using voice technology, and I love seeing fellow creators working hard to make a positive impact through their own unique approach. <\/p>\n<p>Thank you so much for your kind words about Typeless. I am rooting for you and wishing you nothing but the best with your product!<\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, <a href=\"https:\/\/www.producthunt.com\/@huang_song_\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"huang_song_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@huang_song_<\/a> this is a bold and beautifully executed vision <br \/>As users start trusting voice more than the keyboard, what do you see as the <em>hardest remaining barrier<\/em> to making voice the default on mobile , social comfort, accuracy in complex contexts, or something else entirely?<\/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\/@harkirat_singh3777\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harkirat_singh3777<\/a>&nbsp;That\u2019s a great question. <\/p>\n<\/p>\n<p>While we are working hard to deliver a flawless voice dictation experience, we know that sometimes the output isn\u2019t 100% perfect on the first try.<\/p>\n<\/p>\n<p>When you need to make small edits, it\u2019s tempting to switch back to the traditional keyboard. We believe this friction is the biggest barrier to making voice the default way we interact with our phones.<\/p>\n<\/p>\n<p>To solve this, we\u2019ve developed some brilliant ways for you to edit using only your voice:<\/p>\n<ol>\n<li>\n<p><strong>Speak to Edit:<\/strong> You can now refine your text verbally, eliminating the need to switch back to the keyboard.<\/p>\n<\/li>\n<li>\n<p><strong>Continuous Improvement:<\/strong> We understand that some still prefer the keyboard for tiny tweaks, so we are actively taking our \u201cspeak to edit\u201d feature to the next level.<\/p>\n<\/li>\n<\/ol>\n<p>Our goal is to make voice interaction so seamless and comfortable that speaking becomes your natural, default way to use your mobile device.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Used it to respond to 20+ messages during my lunch break. Would have taken me an hour typing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@miahammer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@miahammer<\/a>&nbsp;Honestly, this is the best feedback we could get!  We&#8217;ve all been there &#8211; staring at a mountain of messages and dreading the typing. So happy we could help you power through them and actually enjoy your lunch break!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@miahammer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@miahammer<\/a>&nbsp;Love this use case so much. Turning an hour of replying into one lunch break is exactly the kind of time savings we hoped Typeless could bring!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The cross-device sync with Mac and Windows is seamless. Started a thought on iPhone, finished on my laptop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@x_z4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@x_z4<\/a>&nbsp;That&#8217;s the dream workflow!  Start anywhere, finish anywhere. So glad this is working perfectly across your devices!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@x_z4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@x_z4<\/a>&nbsp;Thank you so much for this feedback, really appreciate it. We spent a lot of time tuning for that \u201cno lag\u201d feeling. Hope it makes writing on your phone feel a bit easier every day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations! The speed is incredible! No lag between speaking and seeing polished text appear.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@harlan_at_timedomain\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harlan_at_timedomain<\/a>&nbsp;Thank you!  Real-time speed with zero lag &#8211; exactly what we aimed for! So happy you&#8217;re loving it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The privacy-first approach is what sold me. Everything stays on my device &#8211; that&#8217;s huge for confidential 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\/@joe_guo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joe_guo1<\/a>&nbsp;Privacy first, always.  Your confidential work deserves nothing less. Thank you for trusting us!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@joe_guo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joe_guo1<\/a>&nbsp;We care deeply about privacy, especially for confidential work, so it means a lot to hear this. Thank you for trusting Typeless!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Typeless has reduced my screen time because I&#8217;m not staring at my keyboard trying to type anymore.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zephyrlink_i\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zephyrlink_i<\/a>&nbsp;Thank you so much for sharing this! It&#8217;s wonderful to hear that Typeless is helping you develop better typing habits and reduce unnecessary screen time. That&#8217;s exactly what we hoped to achieve &#8211; making typing more intuitive and effortless.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@zephyrlink_i\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zephyrlink_i<\/a>&nbsp;Love this so much. If Typeless is helping you look up from the keyboard and focus more on your own ideas, then it is doing its job. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the app work with Focus modes? Can it adapt tone based on my current Focus?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@erictian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@erictian<\/a>&nbsp;Yes! We can access your current Focus mode and use it as context for transcription. This means the app could adapt its tone based on whether you&#8217;re in Work, Personal, or other Focus modes. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does Typeless support dictation for form filling on websites?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vermouth2333\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vermouth2333<\/a>&nbsp;Yes, works in browser text fields! Just tap and speak. What forms are you thinking of using it for?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The whisper mode is genius! I can dictate notes during late-night inspiration without waking my partner. Congrats!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@maxine_at_acestudio_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maxine_at_acestudio_ai<\/a>&nbsp;Best compliment ever \ud83d\ude02 Happy whisper mode is keeping the peace! Those late-night thoughts are worth capturing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <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\/@maxine_at_acestudio_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maxine_at_acestudio_ai<\/a>&nbsp;Whisper mode saving relationships and late-night ideas at a time.\ud83d\ude04<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally! I&#8217;ve been waiting for the iOS version since I started using Typeless on my Mac. The desktop app is already a lifesaver for my messy brainstorming sessions, so having this on mobile is huge.<\/p>\n<p>The biggest friction for me has always been having to &#8216;clean up&#8217; Siri&#8217;s dictation. If the iOS keyboard extension handles filler words as well as the desktop version does, this is going to replace my default keyboard. Question for the team: does my personal dictionary sync between the desktop and iOS apps? That would be a massive time-saver.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jotaro_kujo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jotaro_kujo<\/a>&nbsp;Thanks so much for your support! \ud83c\udf89<\/p>\n<p><strong>Filler word handling:<\/strong> Yes! The iOS keyboard uses the same intelligent filtering as desktop, so you&#8217;ll get the same seamless cleanup of filler words.<\/p>\n<p><strong>Personal dictionary sync:<\/strong> Yes! It syncs automatically across devices when signed into the same account.<\/p>\n<p>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>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 <a href=\"https:\/\/www.producthunt.com\/@huang_song_\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"huang_song_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@huang_song_<\/a> and the entire team! I&#8217;ve been following your journey on social media and so excited to see the traction you&#8217;re getting<\/p>\n<\/p>\n<p>I run on Windows and Linux &#8211; would love to see support for Linux in the future but so far experience is amazing on Windows. But launching on iOS is a GREAT addition. I was using ChatGPT to transcribe my voice, then copy and paste it where I needed to&#8230;obviously a workaround since there was no Typeless available!!! Thrilled you&#8217;ve added this option<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>What&#8217;s the difference between typeless and Wisperflo?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\ude80<\/p>\n<p>Love how calm and focused the positioning is \u2014 feels very \u201cjust speak and move on with your day\u201d. Clean execution, clear value, and a really nice direction overall.<\/p>\n<p>Wishing you a strong launch day on PH \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>very smart idea. good luck with your launch \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/XLZHFQBBWLHKPI\" class=\"app-title\">GitHired<\/a><\/p>\n<div class=\"one-liner\">Find your next 10x Engineer by proof of work, not keywords<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">278<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>GitHired\u901a\u8fc7\u5206\u6790\u5f00\u53d1\u8005GitHub\u4e0a\u7684\u5b9e\u9645\u9879\u76ee\u4ea7\u51fa\uff08\u800c\u975e\u7b80\u5386\u5173\u952e\u8bcd\uff09\uff0c\u4e3a\u62db\u8058\u65b9\u81ea\u52a8\u751f\u6210\u5e76\u6392\u540d\u5019\u9009\u4eba\u62a5\u544a\uff0c\u5728\u6280\u672f\u62db\u8058\u573a\u666f\u4e0b\u89e3\u51b3\u4e86\u7b5b\u9009\u6548\u7387\u4f4e\u3001\u4fe1\u53f7\u5931\u771f\u53ca\u201c\u7eb8\u4e0a\u8c08\u5175\u201d\u578b\u5019\u9009\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\/6977b92a-4201-49cf-b637-6830064cc325.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\/b0816d66-853a-4ef5-9ec9-2fad311bae59.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/78290dea-2a24-4d59-bd23-e7a0868e98b9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b54ec998-53db-4d87-af21-06e87c1d977a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b413f3ba-e4ee-4122-b86c-a8ba607e2e96.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\/43bcfdef-4e21-4f3b-9742-8e7b54cbe0e4.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/WuzePtDXeuE\"><source src=\"https:\/\/youtu.be\/WuzePtDXeuE\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Hiring<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6280\u672f\u62db\u8058<\/span><br \/>\n            <span class=\"tag\">GitHub\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u7b80\u5386\u7b5b\u9009<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6280\u80fd\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u4eba\u624d\u6d4b\u8bc4<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">HR\u79d1\u6280<\/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\u4ea7\u54c1\u89e3\u51b3\u62db\u8058\u75db\u70b9\u7684\u4ef7\u503c\uff0c\u5173\u6ce8\u5176\u5206\u6790\u8303\u56f4\uff08\u662f\u5426\/\u5982\u4f55\u6db5\u76d6\u79c1\u6709\u4ed3\u5e93\uff09\u3001\u6570\u636e\u5b89\u5168\u4e0e\u6743\u9650\u3001\u56fd\u9645\u53ef\u7528\u6027\u53ca\u516c\u5e73\u6027\uff08\u907f\u514d\u5bf9OSS\u8d21\u732e\u8005\u6216\u79c1\u6709\u4ee3\u7801\u5f00\u53d1\u8005\u7684\u504f\u89c1\uff09\u3002\u5efa\u8bae\u589e\u52a0GitHub\u767b\u5f55\u3001AI\u5339\u914d\u5ea6\u5206\u6790\u7b49\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                GitHired\u8bd5\u56fe\u7528\u201c\u5de5\u4f5c\u8bc1\u660e\u201d\u98a0\u8986\u4f20\u7edf\u6280\u672f\u62db\u8058\u7684\u4fe1\u53f7\u7cfb\u7edf\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u53c8\u4e00\u4e2a\u62db\u8058\u5de5\u5177\uff0c\u800c\u5728\u4e8e\u5b83\u6311\u6218\u4e86\u4ee5\u7b80\u5386\u5173\u952e\u8bcd\u548c\u9762\u8bd5\u8bdd\u672f\u4e3a\u4e3b\u5bfc\u7684\u9648\u65e7\u8bc4\u4f30\u4f53\u7cfb\u3002\u5b83\u76f4\u51fb\u4e00\u4e2a\u884c\u4e1a\u987d\u75be\uff1a\u5927\u91cf\u80fd\u201c\u505a\u201d\u7684\u5de5\u7a0b\u5e08\u88ab\u4f4e\u6548\u7684\u6587\u672c\u7b5b\u9009\u8fc7\u6ee4\uff0c\u800c\u80fd\u201c\u8bf4\u201d\u7684\u5019\u9009\u4eba\u5374\u53ef\u80fd\u8fc7\u5ea6\u664b\u5347\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u201c\u771f\u5b9e\u201d\u627f\u8bfa\u4ea6\u662f\u6700\u5927\u8f6f\u808b\u3002\u4ea7\u54c1\u9ad8\u5ea6\u4f9d\u8d56GitHub\u8fd9\u4e00\u5355\u4e00\u3001\u4e14\u5e76\u975e\u5b8c\u5168\u4e2d\u7acb\u7684\u6570\u636e\u6e90\u3002\u8fd9\u5e26\u6765\u4e86\u4e09\u91cd\u9690\u5fe7\uff1a\u5176\u4e00\uff0c\u516c\u5e73\u6027\u9677\u9631\u3002\u5b83\u5c06\u6d3b\u8dc3\u7684\u516c\u5f00\u8d21\u732e\u8005\u7f6e\u4e8e\u805a\u5149\u706f\u4e0b\uff0c\u800c\u5c06\u4f01\u4e1a\u5185\u4ece\u4e8b\u79c1\u6709\u3001\u5173\u952e\u57fa\u7840\u8bbe\u65bd\u5f00\u53d1\u7684\u9876\u5c16\u5de5\u7a0b\u5e08\u7f6e\u4e8e\u9634\u5f71\u4e2d\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u53ef\u89c1\u6027\u504f\u89c1\u201d\u7684\u8d28\u95ee\u4e00\u9488\u89c1\u8840\u3002\u5176\u4e8c\uff0c\u6307\u6807\u5f02\u5316\u98ce\u9669\u3002\u4e00\u65e6\u201cGitHub\u6df1\u5ea6\u5206\u6790\u201d\u6210\u4e3a\u62db\u8058\u6807\u51c6\uff0c\u50ac\u751f\u201c\u4e3a\u6c42\u804c\u800c\u63d0\u4ea4\u201d\u7684\u8868\u6f14\u6027\u7f16\u7801\u5c06\u96be\u4ee5\u907f\u514d\uff0c\u5e73\u53f0\u9700\u6301\u7eed\u4e0e\u201c\u4f2a\u9020\u6df1\u5ea6\u201d\u535a\u5f08\u3002\u5176\u4e09\uff0c\u8bc4\u4f30\u7ef4\u5ea6\u5c40\u9650\u3002\u4ee3\u7801\u63d0\u4ea4\u9891\u7387\u3001\u9879\u76ee\u590d\u6742\u5ea6\u7b49\u6280\u672f\u6307\u6807\uff0c\u96be\u4ee5\u6355\u6349\u7cfb\u7edf\u8bbe\u8ba1\u3001\u56e2\u961f\u534f\u4f5c\u3001\u4e1a\u52a1\u7406\u89e3\u7b49\u540c\u6837\u5173\u952e\u7684\u8f6f\u6027\u80fd\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u524d\u666f\u4e0d\u5728\u4e8e\u6210\u4e3a\u552f\u4e00\u7684\u88c1\u51b3\u8005\uff0c\u800c\u5728\u4e8e\u6210\u4e3a\u4e00\u4e2a\u5f3a\u5927\u7684\u201c\u4fe1\u53f7\u589e\u5f3a\u5c42\u201d\u3002\u82e5\u80fd\u5ba1\u614e\u5730\u5c06\u5176\u8f93\u51fa\u4f5c\u4e3a\u591a\u7ef4\u8bc4\u4f30\u7684\u4e00\u73af\uff0c\u800c\u975e\u552f\u4e00\u7b54\u6848\uff0c\u5e76\u6301\u7eed\u62d3\u5c55\u5bf9\u201c\u5de5\u4f5c\u8bc1\u660e\u201d\u66f4\u5e7f\u4e49\u7684\u7406\u89e3\uff08\u5982\u8bbe\u8ba1\u6587\u6863\u3001\u6280\u672f\u51b3\u7b56\u5f71\u54cd\u7b49\uff09\uff0c\u5b83\u624d\u6709\u673a\u4f1a\u4ece\u4e00\u6b3e\u6709\u8da3\u7684\u5de5\u5177\uff0c\u8fdb\u5316\u4e3a\u91cd\u5851\u62db\u8058\u6587\u5316\u7684\u5173\u952e\u652f\u70b9\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u662f\u4e00\u4e2a\u6709\u529b\u7684\u63d0\u95ee\u8005\uff0c\u4f46\u5c1a\u672a\u6210\u4e3a\u5b8c\u7f8e\u7684\u7b54\u9898\u8005\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">GitHired<\/span>\n                <\/div>\n<div class=\"comment-content\">GitHired lets you create autonomous hiring forms that instantly rank your applicants based on what they&#8217;ve actually built, not what they say they can build. Each candidate gets a one page profile showing their real tech stack usage, project depth and complexity, and contribution activity (while also filtering out fake GitHub commits). Hiring becomes 10x faster and far more accurate. Stop guessing who can code. Start seeing who does.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<br \/>I\u2019m Raghav, co-founder of GitHired.<\/p>\n<p>Hiring devs is broken- you can\u2019t tell if someone is a 10x engineer just by looking at a resume.<\/p>\n<p>Some candidates look perfect on paper but can\u2019t ship real features.<br \/>Others who can build get filtered out because of a missing keyword.<\/p>\n<p>So we built something better. We analyze what a developer has actually built, not what they say they can build. <br \/>We break down their real tech stack, project depth and complexity, commit authenticity (no more fake green charts). You get a ranked list of the most cracked devs with the skills relevant for the role. <\/p>\n<\/p>\n<p>Stop guessing who can code. Start seeing who does.<\/p>\n<\/p>\n<p>We\u2019re early, shipping fast, and would love your feedback. Tear it apart, ask questions, or tell us what would make this a no-brainer for your team.<\/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\/@raghavb11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raghavb11<\/a>&nbsp;That makes sense. Hiring speed + signal quality is a real pain right now.<br \/>This feels especially useful for early-stage teams where one wrong hire is expensive.<br \/>Happy to test it from a founder\/hiring perspective and share feedback.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@raghavb11 Interesting concept, is it evaluating only public repositories ?<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raghavb11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raghavb11<\/a>&nbsp;Hey Raghav, how do you ensure fairness and signal quality across very different GitHub profiles (OSS-heavy contributors vs. strong engineers from private repos), so great candidates aren\u2019t still penalized by visibility bias?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>GitHired provides the DD tool for engineer hiring process&#8230;. great idea dude!<\/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\/@cruise_chen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cruise_chen<\/a>&nbsp;thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the idea behind GitHired! Very intuitive!<\/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\/@avhijit_nair\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@avhijit_nair<\/a>&nbsp;thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Whats the security in this like giving complete access for personal github is kind of very risky isnt 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\/@anurag_singh00\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anurag_singh00<\/a>&nbsp;Totally fair concern. GitHired uses GitHub\u2019s official OAuth with read-only, minimal permissions. We analyze personal repositories only (never organization or company code) to better understand real project depth. None of the code is stored ofc, we never get write access, never see passwords or secrets, and access can be revoked instantly from GitHub at any time. This is the same security model used by trusted developer tools like Vercel and Netlify- we only analyze what users explicitly allow us to see.<\/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>it is one of my pains (: good idea good luck on your launch \ud83d\ude4c\ud83c\udffb<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@savaskalkan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@savaskalkan<\/a>&nbsp;thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This story feels very real. I\u2019ve seen great devs get filtered out just because their resume didn\u2019t hit the right keywords, while strong talkers made it through.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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;That&#8217;s the pain point we are solving \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>\ud83e\udd70 I always love the xmas period on PH. So many neat github tools are featured! Good vibes \u2728 GitHired looks really cool! Maybe as a future update, add login with github?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;thank you for the suggestion, the github login feature will be live by Christmas!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">hey does the private repo also count ?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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>Do you plan to offer this in international markets also?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@amit_5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amit_5<\/a>&nbsp;Hey Amit, Yes we are offering it internationally as well<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 you available only in the US right now<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@amit_5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amit_5<\/a>&nbsp;anyone across the globe can use our platform!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This can be quite good for picking the best people. The question is&#8230; if their projects are quite good, they are usually CEOs of thriving applications. Maybe it can pick the second best choice from people who already don&#8217;t have a full-time job or own business.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Well, that is true. We look at the top 5 projects rather than 1 to tackle such a scenario. Thank you for the feedback. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love this approach. Analyzing private repositories is a huge win \u2014 public GitHub activity is often a misleading signal. One idea for the future: an AI-driven \u201ccompatibility percentage\u201d between a developer and a company. Based on the languages, stacks, or domains the developer has worked on, it could show how well their real experience aligns with what the company is actually building. Curious what you think about this direction?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@matiasmonzalvo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matiasmonzalvo<\/a>&nbsp;Thanks for the feedback. And, yes, we are surely doing that. We had planned this from the start and will be implementing 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>Love the idea here..! As a remote React\/Full-Stack developer who builds real project portfolios, I\u2019d be curious how GitHired helps developers showcase deep project work rather than just activity metrics.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@anadi_thakur1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anadi_thakur1<\/a>&nbsp;Thanks Anandi! Project complexity, along with languages and frameworks used are the primary metrics we focus on. We select some of the top projects for each applicant, and you can even look at an AI generated description and get a high level overview about most projects by clicking on them. You should be able to generate your profile that you can even share through <a href=\"https:\/\/www.githired.tech\/opportunities\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.githired.tech\/opportunities<\/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\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/WWKWXL4RCT2COG\" class=\"app-title\">Launch Shots<\/a><\/p>\n<div class=\"one-liner\">Create stunning App\/Play Store screenshots in minutes<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">218<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u4e3a\u72ec\u7acb\u5f00\u53d1\u8005\u548c\u4e2d\u5c0f\u56e2\u961f\u8bbe\u8ba1\u7684\u5e94\u7528\u5546\u5e97\u622a\u56fe\u751f\u6210\u5de5\u5177\uff0c\u901a\u8fc7\u6a21\u677f\u3001\u771f\u5b9e\u8bbe\u5907\u6846\u67b6\u548c\u7f16\u8f91\u529f\u80fd\uff0c\u5728\u5e94\u7528\u4e0a\u67b6\u524d\u5feb\u901f\u5236\u4f5c\u9ad8\u8d28\u91cf\u5c55\u793a\u622a\u56fe\uff0c\u5e76\u4ee5\u201c\u6309\u9700\u4ed8\u8d39\u201d\u7684\u79ef\u5206\u6a21\u5f0f\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u5de5\u5177\u5728\u6700\u540e\u4e00\u6b65\u906d\u9047\u9ad8\u6602\u8ba2\u9605\u4ed8\u8d39\u5899\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/090ac7e8-4949-4135-afdd-20e23df3818b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/823c3ee9-5864-4e9b-be35-0979f4305972.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e894996e-1d2b-4289-85ce-9db1c7f19622.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\/07352921-53ab-47a6-99da-95f71822379e.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/7shyPEi6ios\"><source src=\"https:\/\/youtu.be\/7shyPEi6ios\" 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\">Productivity<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5e94\u7528\u5546\u5e97\u622a\u56fe\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u6a21\u677f<\/span><br \/>\n            <span class=\"tag\">\u6309\u9700\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u4f18\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u5171\u9e23\u4e8e\u201c\u6700\u540e\u4e00\u6b65\u906d\u9047\u4ed8\u8d39\u5899\u201d\u7684\u7cdf\u7cd5\u4f53\u9a8c\uff0c\u9ad8\u5ea6\u8ba4\u53ef\u201c\u79ef\u5206\u5236\u201d\u4ed8\u8d39\u6a21\u5f0f\uff0c\u8ba4\u4e3a\u5176\u516c\u5e73\u4e14\u7b26\u5408\u4f4e\u9891\u4f7f\u7528\u573a\u666f\u3002\u4e3b\u8981\u95ee\u9898\u96c6\u4e2d\u5728\u8be2\u95ee\u79fb\u52a8\u7aef\u7f16\u8f91\u652f\u6301\u3001\u957f\u671f\u5546\u4e1a\u6a21\u5f0f\u53ef\u6301\u7eed\u6027\u53ca\u4f7f\u7528\u901f\u5ea6\u3002\u5f00\u53d1\u8005\u79ef\u6781\u56de\u5e94\uff0c\u5e76\u9080\u8bf7\u7528\u6237\u63d0\u4f9b\u6539\u8fdb\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Launch Shots \u7684\u4eae\u76f8\uff0c\u4e0e\u5176\u8bf4\u662f\u4e00\u6b3e\u5de5\u5177\u7684\u521b\u65b0\uff0c\u4e0d\u5982\u8bf4\u662f\u4e00\u6b21\u5bf9 SaaS \u884c\u4e1a\u50f5\u5316\u8ba2\u9605\u6a21\u5f0f\u7684\u53cd\u53db\u5ba3\u8a00\u3002\u5b83\u7cbe\u51c6\u523a\u4e2d\u4e86\u4e00\u4e2a\u88ab\u5de8\u5934\u5ffd\u7565\u7684\u7f1d\u9699\u5e02\u573a\uff1a\u4f4e\u9891\u3001\u9ad8\u786e\u5b9a\u6027\u9700\u6c42\u7684\u72ec\u7acb\u5f00\u53d1\u8005\u3002\u5176\u4ef7\u503c\u6838\u5fc3\u5e76\u975e\u529f\u80fd\u5c42\u9762\u7684\u98a0\u8986\uff08\u6a21\u677f\u3001\u8bbe\u5907\u6846\u67b6\u5c5e\u884c\u4e1a\u6807\u914d\uff09\uff0c\u800c\u5728\u4e8e\u5546\u4e1a\u6a21\u5f0f\u4e0e\u7528\u6237\u5fc3\u7406\u7684\u7cbe\u51c6\u62ff\u634f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u201c3\u6b21\u514d\u8d39+\u79ef\u5206\u5305\u201d\u7684\u6a21\u5f0f\uff0c\u672c\u8d28\u4e0a\u662f\u4e00\u79cd\u98ce\u9669\u5bf9\u51b2\u548c\u4fe1\u4efb\u5efa\u7acb\u3002\u5b83\u89e3\u6784\u4e86\u201c\u4f7f\u7528\u6743\u5fc5\u987b\u6346\u7ed1\u957f\u671f\u627f\u8bfa\u201d\u7684\u56fa\u6709\u903b\u8f91\uff0c\u5c06\u6d88\u8d39\u6743\u5f7b\u5e95\u4ea4\u8fd8\u7ed9\u7528\u6237\u3002\u8fd9\u5c24\u5176\u8fce\u5408\u4e86\u540e\u589e\u957f\u65f6\u4ee3\u5f00\u53d1\u8005\u5bf9\u6210\u672c\u654f\u611f\u3001\u538c\u6076\u88ab\u5957\u7262\u7684\u5fc3\u7406\u3002\u521b\u59cb\u4eba\u4eb2\u8eab\u7ecf\u5386\u7684\u201c\u6545\u4e8b\u8425\u9500\u201d\u6781\u5177\u611f\u67d3\u529b\uff0c\u8fc5\u901f\u5728\u76ee\u6807\u7528\u6237\u4e2d\u5efa\u7acb\u8d77\u60c5\u611f\u8054\u76df\uff0c\u8bc4\u8bba\u533a\u7684\u5171\u9e23\u5373\u662f\u660e\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u6311\u6218\u540c\u6837\u5c16\u9510\u3002\u9996\u5148\uff0c\u79ef\u5206\u5236\u5bf9\u5de5\u5177\u672c\u8eab\u7684\u4ea7\u54c1\u7c98\u6027\u548c\u751f\u547d\u5468\u671f\u4ef7\u503c\uff08LTV\uff09\u6784\u6210\u4e86\u5929\u7136\u9650\u5236\uff0c\u5982\u4f55\u5e73\u8861\u201c\u7528\u6237\u53cb\u597d\u201d\u4e0e\u201c\u5546\u4e1a\u53ef\u6301\u7eed\u201d\u662f\u4e00\u9053\u957f\u671f\u8003\u9898\u3002\u5176\u6b21\uff0c\u5176\u5b9a\u4f4d\u51b3\u5b9a\u4e86\u5929\u82b1\u677f\u660e\u663e\u2014\u2014\u670d\u52a1\u4e8e\u201c\u53d1\u5e03\u201d\u8fd9\u4e00\u77ac\u65f6\u52a8\u4f5c\uff0c\u96be\u4ee5\u5411\u65e5\u5e38\u534f\u4f5c\u8bbe\u8ba1\u5e73\u53f0\u5ef6\u4f38\u3002\u6700\u540e\uff0c\u5f53\u201c\u7b80\u5355\u6613\u7528\u201d\u6210\u4e3a\u4e3b\u8981\u5356\u70b9\uff0c\u5b83\u6781\u6613\u9677\u5165\u540c\u8d28\u5316\u7ade\u4e89\uff0c\u6216\u88ab\u5927\u578b\u8bbe\u8ba1\u5e73\u53f0\u4ee5\u4e00\u4e2a\u529f\u80fd\u6a21\u5757\u7684\u65b9\u5f0f\u8f7b\u677e\u8986\u76d6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u7684\u771f\u6b63\u673a\u4f1a\u5728\u4e8e\uff0c\u80fd\u5426\u4ece\u201c\u622a\u56fe\u751f\u6210\u5668\u201d\u5347\u7ea7\u4e3a\u201c\u5e94\u7528\u4e0a\u5e02\u5185\u5bb9\u5de5\u4f5c\u6d41\u201d\u7684\u4e00\u4e2a\u5173\u952e\u8282\u70b9\uff0c\u5e76\u56f4\u7ed5\u72ec\u7acb\u5f00\u53d1\u8005\u6784\u5efa\u793e\u533a\uff0c\u5c06\u7528\u6237\u6a21\u677f\u8d44\u4ea7\u5316\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u4e00\u4e2a\u7f8e\u597d\u7684\u3001\u5374\u96be\u4ee5\u957f\u5927\u7684\u5229\u57fa\u4ea7\u54c1\u3002\u8fd9\u573a\u5bf9\u8ba2\u9605\u5236\u7684\u201c\u6e29\u548c\u6297\u8bae\u201d\uff0c\u80fd\u5426\u6f14\u53d8\u4e3a\u4e00\u573a\u53ef\u6301\u7eed\u7684\u751f\u610f\uff0c\u8003\u9a8c\u7684\u662f\u56e2\u961f\u5728\u950b\u5229\u5b9a\u4f4d\u4e4b\u540e\u7684\u751f\u6001\u6784\u5efa\u80fd\u529b\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Launch Shots<\/span>\n                <\/div>\n<div class=\"comment-content\">Create beautiful App Store and Play Store screenshots with templates, real device frames, and powerful editing tools. You get 3 free downloads every month, and if you need more, there\u2019s a simple credit-based plan starting at just $1. And unlike those tools that suddenly hit you with a $25\/month subscription the moment you\u2019re ready to download\u2026 we don\u2019t do that. Pay only when you actually need it.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Have you ever spent almost an hour perfecting something\u2026 only to hit a giant subscription paywall right when you\u2019re about to download it?<br \/>\nYeah. That happened to me \ud83d\ude05<\/p>\n<p>I don\u2019t hate subscriptions. I pay for a lot of them. But subscriptions make sense for things you use regularly\u2026 like a music app. Not an app store screenshot tool. At least not unless you\u2019re an agency or shipping multiple apps every month.<\/p>\n<p>Some time back, I finished building my mobile app and the only thing left before launch was App Store screenshots.<br \/>\n(let\u2019s pretend we live in a world where the Apple review loop doesn\u2019t exist \ud83d\ude04)<\/p>\n<p>I\u2019m not a designer, so I picked a template from a popular tool, tweaked the copy, added my app colors, adjusted spacing, polished everything\u2026 and honestly, it looked perfect.<\/p>\n<p>Then I clicked Download.<\/p>\n<p>Boom.<br \/>\n$29\/month subscription.<\/p>\n<p>I get it. Tools need to make money. But I probably wouldn\u2019t use it again for months, so committing to a recurring subscription didn\u2019t feel right.<br \/>\nBut I would\u2019ve happily paid a small one-time amount to download what I\u2019d just spent half an hour crafting.<\/p>\n<p>That\u2019s when it hit me:<br \/>\nNot every tool needs to force a subscription.<br \/>\nFor a lot of indie devs, a credit-based \u201cpay when you need it\u201d model makes way more sense.<\/p>\n<p>So\u2026 I built LaunchShots \ud83c\udf89<\/p>\n<p>&#8211; Free to use<br \/>\n&#8211; 3 exports per month<br \/>\n&#8211; If you need more, buy one-time credits starting from $1<br \/>\n&#8211; And if you\u2019re a heavy user, there\u2019s also a subscription option<\/p>\n<p>Choice instead of pressure.<\/p>\n<p>It\u2019s still new. It won\u2019t be perfect yet. But I\u2019m improving it every day and I\u2019m really happy with where it is right now.<\/p>\n<p>I\u2019d love to hear your thoughts:<br \/>\n&#8211; Have you ever been hit by a \u201cpaywall at the last step\u201d moment?<br \/>\n&#8211; Do you prefer subscriptions or credits for tools like this?<br \/>\n&#8211; What would make LaunchShots more useful for you?<\/p>\n<p>Happy to answer anything, and thanks for being here \u2764\ufe0f<\/p><\/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\/@ajayesivan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajayesivan<\/a>&nbsp;This was actually an idea I\u2019d been thinking about, and you made it beautifully.<br \/>Cheering you on!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ajayesivan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajayesivan<\/a>How do you think about aligning incentives long-term, making credits feel fair and sustainable for you, without nudging users back into the same \u201chidden pressure\u201d feeling subscriptions often create? Btw, this pricing philosophy will resonate with a lot of indies! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Ajay, saw your Product Hunt launch for Launch shots\u2014congrats!<\/p>\n<p>I work with startups as a remote React \/ Full-Stack developer.<\/p>\n<p>Would love to connect.<\/p>\n<p>Curious\u2014how are you handling frontend performance or mobile support as usage grows?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@anadi_thakur1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anadi_thakur1<\/a>&nbsp;Thank you!<\/p>\n<p>Happy to connect! I&#8217;m in a figure it out as things come mode. So far everything is going well and I&#8217;m working on improving the experience everyday.<\/p>\n<p>No mobile support for the editor as of 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\">Looks great! Congrats on the launch<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@juliomedina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@juliomedina<\/a>&nbsp;Thank you for your support Julio!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 happened to me too, before a launch, worked on screenshots and then got blocked by a subscription. Super frustrating.<br \/>This tool would\u2019ve saved me a lot of time. How fast can someone make ready screenshots with LaunchShots?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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;It&#8217;s super easy. If you&#8217;re going with a template and your screenshots and copy is ready then under a minute. Like you can see in this video: <a href=\"https:\/\/youtu.be\/7shyPEi6ios\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/youtu.be\/7shyPEi6ios<\/a>. <\/p>\n<p>You can also do it quick even if you&#8217;re starting from scratch. In my experience, the screen duplication helps a lot. You can design one screen and duplicate it and just change the image &amp; copy if you&#8217;re going with the same style for all screens.<\/p>\n<p>Also, I have added features like AI powered translation, no clipping for frames to help extend elements from one screen to other &#8211; no more struggle to align multi-screen elements manually.<\/p>\n<p>Try it for your next launch and let me know your feedback and if you find anything missing. Just drop a message to <a href=\"mailto:support@launchshots.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">support@launchshots.com<\/a>.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on the launch! Been hit by such expensive paywalls at the final moment multiple times, so I definitely feel you! I personally like credit over subscription. Launch Shots will certainly help my own launch in the future.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@e36\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@e36<\/a>&nbsp;Glad you found it valuable!<\/p>\n<p>Definitely use it for your next launch. If you run into any issues, you can reach me at <a href=\"mailto:support@launchshots.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">support@launchshots.com<\/a>.<\/p>\n<p>And if you feel anything is missing or have ideas for improvements, I\u2019d really love to hear them.<\/p>\n<p>You can also publish your product screens as templates to help others launch faster while helping grow the platform. It\u2019s completely 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\">Very cool this is definitely something that can be used all the time.<\/p>\n<p>I\u2019m gonna check this one out,<br \/>\nGood luck on your lunch<\/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\/@dubd59\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dubd59<\/a>&nbsp;Thank you for your support!<\/p>\n<p>Please don&#8217;t forget to share your feedback\/suggestions after exploring. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Yeah! It\u2019s super cool and easy to use. It\u2019s also key to save time at the launch. Glad to see you helping on this. All the best!!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank you so much for your support! Please do check it out and let me know if you have any suggestions or ideas to improve it further.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 product. good luch \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<\/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\/M37X2KB3XXCLYQ\" class=\"app-title\">A2UI<\/a><\/p>\n<div class=\"one-liner\">A safe way for AI to build UIs your app can render<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">196<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>A2UI\u662f\u8c37\u6b4c\u63a8\u51fa\u7684\u5f00\u6e90\u534f\u8bae\uff0c\u8ba9AI\u4ee3\u7406\u80fd\u901a\u8fc7\u5b89\u5168\u7684JSON\u58f0\u660e\u5f0f\u63cf\u8ff0\u751f\u6210\u4e30\u5bcc\u4ea4\u4e92\u754c\u9762\uff0c\u89e3\u51b3AI\u76f4\u63a5\u6267\u884c\u4ee3\u7801\u7684\u5b89\u5168\u98ce\u9669\uff0c\u9002\u7528\u4e8e\u9700\u8981\u52a8\u6001\u751f\u6210UI\u7684\u667a\u80fd\u4f53\u5e94\u7528\u573a\u666f\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8da36784-7ec8-4313-92ce-01a43c25c612.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4b9165bb-623e-43f8-8a93-b2efbabe8520.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6cc1532a-db16-4061-81c9-f05c7c09308e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f25f393-0462-4dc4-81a4-69c5f66816ba.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">User Experience<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u754c\u9762\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u58f0\u660e\u5f0fUI<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0\u6e32\u67d3<\/span><br \/>\n            <span class=\"tag\">AI\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u8c37\u6b4c\u6280\u672f<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">JSON\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">Flutter<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u89e3\u51b3\u53ef\u4fe1\u8fb9\u754cUI\u4f20\u8f93\u7684\u5b89\u5168\u4ef7\u503c\uff0c\u63d0\u53ca\u4e0eGemini Visual Layout\u7684\u6e0a\u6e90\u53ca\u4f01\u4e1a\u7ea7\u5e94\u7528\uff1b\u5173\u6ce8\u4e0eOpenAI widget\u7684\u7ade\u4e89\uff1b\u671f\u5f85\u7ec4\u4ef6\u5e93\u751f\u6001\u53d1\u5c55\u4ee5\u964d\u4f4e\u4f7f\u7528\u95e8\u69db\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                A2UI\u8868\u9762\u662f\u6280\u672f\u534f\u8bae\uff0c\u5b9e\u5219\u662f\u8c37\u6b4c\u5728AI\u4ea4\u4e92\u5c42\u7684\u5173\u952e\u5361\u4f4d\u3002\u5b83\u5c06\u9ad8\u98ce\u9669\u7684\u4ee3\u7801\u6267\u884c\u8f6c\u5316\u4e3a\u7ed3\u6784\u5316\u7684JSON\u63cf\u8ff0\uff0c\u672c\u8d28\u662f\u7ed9\u72c2\u91ce\u751f\u957f\u7684AI\u80fd\u529b\u5957\u4e0a\u201c\u7f30\u7ef3\u201d\u2014\u2014\u65e2\u4fdd\u969c\u5b89\u5168\u53ef\u63a7\uff0c\u53c8\u7ef4\u6301\u8de8\u5e73\u53f0\u7075\u6d3b\u6027\u3002\u4f46\u534f\u8bae\u7684\u4ef7\u503c\u53d6\u51b3\u4e8e\u751f\u6001\u5438\u9644\u529b\uff0c\u5f53\u524d\u4f9d\u8d56CopilotKit\u7b49\u7b2c\u4e09\u65b9\u6f14\u793a\u6070\u6070\u66b4\u9732\u5176\u65e9\u671f\u751f\u6001\u77ed\u677f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u76f8\u8f83\u4e8eOpenAI\u7684widget\u6a21\u578b\uff0cA2UI\u7684\u201c\u6846\u67b6\u65e0\u5173\u201d\u7279\u6027\u5f70\u663e\u8c37\u6b4c\u7684\u5e95\u5c42\u601d\u7ef4\uff0c\u4f46\u8fd9\u4e5f\u610f\u5473\u7740\u9700\u8981\u8bf4\u670d\u5f00\u53d1\u8005\u653e\u5f03\u73b0\u6709UI\u5de5\u4f5c\u6d41\u3002\u5176\u771f\u6b63\u6311\u6218\u5728\u4e8e\uff1a\u5982\u4f55\u8ba9\u5f00\u53d1\u8005\u76f8\u4fe1\uff0c\u5728React\u3001Vue\u7b49\u6210\u719f\u65b9\u6848\u5916\uff0c\u9700\u8981\u4e00\u4e2a\u4e13\u4e3aAI\u8bbe\u8ba1\u7684\u4e2d\u95f4\u5c42\u534f\u8bae\uff1f\u8bc4\u8bba\u4e2d\u201c\u7ec4\u4ef6\u5e93\u6269\u5f20\u201d\u7684\u671f\u5f85\u70b9\u7834\u8981\u5bb3\u2014\u2014\u6ca1\u6709\u4e30\u5bcc\u7684\u9884\u5236\u7ec4\u4ef6\u5e93\uff0c\u534f\u8bae\u7ec8\u5c06\u662f\u7a7a\u4e2d\u697c\u9601\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u73a9\u5473\u7684\u662f\uff0c\u8be5\u534f\u8bae\u5df2\u9a71\u52a8Gemini Enterprise\u7b49\u4ed8\u8d39\u4ea7\u54c1\uff0c\u6697\u793a\u8c37\u6b4c\u53ef\u80fd\u901a\u8fc7\u9ad8\u7aef\u573a\u666f\u5411\u4e0b\u6e17\u900f\u3002\u82e5\u5176\u80fd\u4f9d\u6258\u8c37\u6b4c\u7684\u751f\u6001\u53f7\u53ec\u529b\uff0c\u5feb\u901f\u6784\u5efa\u5f00\u53d1\u8005\u5de5\u5177\u94fe\u4e0e\u6807\u51c6\u5316\u7ec4\u4ef6\u5e02\u573a\uff0c\u6216\u53ef\u6210\u4e3aAI\u65f6\u4ee3\u201c\u6d4f\u89c8\u5668\u6807\u51c6\u201d\u7684\u65e9\u671f\u96cf\u5f62\u3002\u5426\u5219\uff0c\u5b83\u5f88\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u6280\u672f\u4f18\u96c5\u5374\u7f3a\u4e4f\u571f\u58e4\u7684\u5b9e\u9a8c\u5ba4\u4ea7\u7269\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\">A2UI<\/span>\n                <\/div>\n<div class=\"comment-content\">A2UI is an open protocol by Google enabling agents to generate rich, interactive UIs. Instead of risky code execution, agents send declarative JSON that clients render natively (Flutter\/Web\/Mobile). Secure, framework-agnostic, and designed for LLMs.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone!<\/p>\n<p>A2UI tackles the specific problem of safely sending UI components across trust boundaries. We have already seen this concept in action with Gemini&#8217;s Visual Layout, which inspired this protocol, and it is now powering Gemini Enterprise and <a href=\"https:\/\/www.producthunt.com\/products\/google\/launches\/opal-5\" target=\"_blank\" rel=\"noopener\">Opal<\/a>.<\/p>\n<p>But protocols are only useful when they connect things.<\/p>\n<p>The team at <a href=\"https:\/\/www.producthunt.com\/products\/copilotkit\" target=\"_blank\" rel=\"noopener\">@CopilotKit<\/a> (making <a href=\"https:\/\/www.producthunt.com\/products\/ag-ui\" target=\"_blank\" rel=\"noopener\">@AG-UI<\/a> ) has a <a href=\"https:\/\/dev.to\/copilotkit\/a2ui-in-practice-build-agent-to-user-interfaces-using-a2a-ag-ui-3ng5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">great tutorial<\/a> showing how to bring this stack to life. It demonstrates connecting an <a href=\"https:\/\/www.producthunt.com\/products\/a2a-protocol\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"a2a-protocol\" target=\"_blank\" rel=\"noopener\">@A2A Protocol<\/a> backend speaking A2UI directly to the frontend. It really shows how you can deliver a full-stack agentic experience where the UI is just as dynamic as the conversation.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/328588c8-5128-4927-8641-d87783397ace.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>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is pretty interesting; curious to see how this will compete with OpenAI&#8217;s widget model. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <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\">Good inspiration! A common protocol for ephemeral UI elements is some that everyone building conversational experiences has been after for a decade. <\/p>\n<p>It does seem early, and will be interested in seeing libraries for those widgets sprawl to really make it a turnkey solution eventually. <\/p>\n<p>Good work!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HLLMTGV74KT5ID\" class=\"app-title\">WalletWallet<\/a><\/p>\n<div class=\"one-liner\">Create Apple Wallet passes for unsupported cards<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">147<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>WalletWallet \u662f\u4e00\u6b3e\u7f51\u9875\u5de5\u5177\uff0c\u53ef\u5c06\u82f9\u679c\u94b1\u5305\u4e0d\u652f\u6301\u7684\u6761\u5f62\u7801\/\u4e8c\u7ef4\u7801\u5361\u7247\u5feb\u901f\u751f\u6210\u5e76\u7b7e\u540d\u6709\u6548\u7684 Wallet \u901a\u884c\u8bc1\uff0c\u89e3\u51b3\u4e86\u7528\u6237\u4e3a\u5355\u6b21\u4f7f\u7528\u88ab\u8feb\u4e0b\u8f7d\u81c3\u80bf\u539f\u751f\u5e94\u7528\u6216\u64cd\u4f5c\u7e41\u7410\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0c94b2aa-32d7-4ded-8865-a415b16b6d7f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cbb71174-b39d-4a90-b949-9b0fdb171b1a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/95bf4cdc-2326-45c2-83ee-d70d238a0589.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1e1ee7bc-6fed-41cb-a4ee-ca80954abe9d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fbd48370-1228-4cc2-9819-1502b1dcd2cc.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\">Apple<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5de5\u5177\u7c7b\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u82f9\u679c\u94b1\u5305\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u901a\u884c\u8bc1\u751f\u6210\u5668<\/span><br \/>\n            <span class=\"tag\">\u6761\u5f62\u7801\u8f6c\u6362<\/span><br \/>\n            <span class=\"tag\">\u4e8c\u7ef4\u7801\u5bfc\u5165<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u8bc1\u4e66\u7b7e\u540d<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u7ea7\u7f51\u9875\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168\uff08\u65e0\u6570\u636e\u5b58\u50a8\uff09<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u63d0\u5347<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u5176\u89e3\u51b3\u4e86\u771f\u5b9e\u75db\u70b9\uff08\u5982\u66ff\u4ee3\u81c3\u80bfApp\uff09\uff0c\u4f53\u9a8c\u53ef\u9760\u3002\u4e3b\u8981\u95ee\u9898\/\u5efa\u8bae\u96c6\u4e2d\u4e8e\u957f\u671f\u7ef4\u62a4\uff08\u8bc1\u4e66\u517c\u5bb9\u6027\u3001\u7cfb\u7edf\u66f4\u65b0\uff09\u3001\u4f7f\u7528\u662f\u5426\u9700\u6280\u672f\u95e8\u69db\uff0c\u4ee5\u53ca\u901a\u884c\u8bc1\u5728\u94b1\u5305\u5185\u7684\u6392\u5e8f\u903b\u8f91\u4f18\u5316\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                WalletWallet \u8868\u9762\u4e0a\u662f\u89e3\u51b3\u201c\u5361\u7247\u5165Wallet\u201d\u7684\u6280\u672f\u5c0f\u5de5\u5177\uff0c\u5b9e\u5219\u7cbe\u51c6\u523a\u4e2d\u4e86\u4e24\u4e2a\u884c\u4e1a\u8f6f\u808b\uff1a\u4e00\u662f\u4f17\u591a\u5546\u5bb6\u548c\u670d\u52a1\u65b9\u5728\u6570\u5b57\u5316\u4f53\u9a8c\u4e0a\u7684\u61d2\u60f0\u4e0e\u5c01\u95ed\u2014\u2014\u5b81\u613f\u7528\u6570\u767e\u5146\u7684\u72ec\u7acbApp\u7ed1\u5b9a\u7528\u6237\uff0c\u4e5f\u4e0d\u613f\u96c6\u6210\u901a\u7528\u94b1\u5305\u534f\u8bae\uff1b\u4e8c\u662f\u82f9\u679cWallet\u751f\u6001\u672c\u8eab\u7684\u201c\u534a\u5f00\u653e\u201d\u7b56\u7565\uff0c\u5176\u4f9d\u8d56\u5f00\u53d1\u8005\u8bc1\u4e66\u7b7e\u540d\u7684\u95e8\u69db\uff0c\u5c06\u5927\u91cf\u975e\u5408\u4f5c\u5546\u6237\u7684\u5361\u7247\u62d2\u4e4b\u95e8\u5916\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u4ee5\u6781\u7b80\u7684\u7f51\u9875\u5f62\u6001\uff0c\u626e\u6f14\u4e86\u201c\u751f\u6001\u7f1d\u9699\u586b\u8865\u8005\u201d\u7684\u89d2\u8272\u3002\u5b83\u6ca1\u6709\u5c1d\u8bd5\u6784\u5efa\u65b0\u751f\u6001\uff0c\u800c\u662f\u5229\u7528\u82f9\u679c\u73b0\u6709\u7684\u901a\u884c\u8bc1\uff08.pkpass\uff09\u6846\u67b6\u548c\u81ea\u8eab\u5f00\u53d1\u8005\u8d26\u6237\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5408\u6cd5\u7684\u201c\u7b7e\u540d\u4ee3\u7406\u201d\u670d\u52a1\u3002\u5176\u5ba3\u79f0\u7684\u201c\u65e0\u6570\u636e\u5b58\u50a8\u201d\u548c\u4f9d\u6258\u4f4e\u6210\u672cCloudflare Workers\u7684\u67b6\u6784\uff0c\u806a\u660e\u5730\u89c4\u907f\u4e86\u6570\u636e\u9690\u79c1\u548c\u53ef\u6301\u7eed\u6027\u7684\u8d28\u7591\uff0c\u5c06\u5de5\u5177\u5c5e\u6027\u505a\u5230\u7eaf\u7cb9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u957f\u671f\u751f\u5b58\u80fd\u529b\u5b58\u5728\u9690\u5fe7\u3002\u6838\u5fc3\u98ce\u9669\u5b8c\u5168\u7cfb\u4e8e\u82f9\u679c\u516c\u53f8\u7684\u6001\u5ea6\uff1a\u5176\u4e00\uff0c\u5bf9\u4e2a\u4eba\u5f00\u53d1\u8005\u8bc1\u4e66\u7528\u4e8e\u516c\u5f00\u7b7e\u540d\u670d\u52a1\u7684\u884c\u4e3a\uff0c\u82f9\u679c\u662f\u5426\u4f1a\u5728\u653f\u7b56\u4e0a\u6536\u7d27\uff1b\u5176\u4e8c\uff0c\u82f9\u679c\u82e5\u5728\u672a\u6765\u7cfb\u7edf\u66f4\u65b0\u4e2d\u6539\u53d8\u901a\u884c\u8bc1\u683c\u5f0f\u6216\u9a8c\u8bc1\u673a\u5236\uff0c\u6b64\u7c7b\u8f7b\u91cf\u5de5\u5177\u80fd\u5426\u5feb\u901f\u9002\u914d\u3002\u6b64\u5916\uff0c\u4ea7\u54c1\u6210\u529f\u6070\u6070\u6620\u5c04\u4e86\u5176\u5929\u82b1\u677f\u2014\u2014\u5b83\u53ea\u662f\u6743\u5b9c\u4e4b\u8ba1\uff0c\u7406\u60f3\u7ed3\u5c40\u662f\u5546\u5bb6\u7eb7\u7eb7\u539f\u751f\u652f\u6301Wallet\uff0c\u4ece\u800c\u8ba9\u81ea\u5df1\u5931\u53bb\u5b58\u5728\u5fc5\u8981\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8d8b\u52bf\u770b\uff0cWalletWallet\u7684\u706b\u70ed\uff08\u4e0a\u7ebf\u77ed\u671f\u751f\u6210\u6570\u4e07\u901a\u884c\u8bc1\uff09\u53cd\u886c\u51fa\u5e02\u573a\u5bf9\u901a\u7528\u6570\u5b57\u94b1\u5305\u7684\u5f3a\u70c8\u9700\u6c42\u3002\u5b83\u66f4\u50cf\u4e00\u4e2a\u751f\u52a8\u7684\u201c\u7528\u6237\u6297\u8bae\u5de5\u5177\u201d\uff0c\u7528\u6280\u672f\u624b\u6bb5\u6295\u7968\uff0c\u903c\u8feb\u5546\u5bb6\u548c\u5e73\u53f0\u5382\u5546\u6b63\u89c6\u4f53\u9a8c\u5272\u88c2\u7684\u95ee\u9898\u3002\u5728\u5e73\u53f0\u751f\u6001\u7684\u5939\u7f1d\u4e2d\uff0c\u5b83\u627e\u5230\u4e86\u4e00\u4e2a\u5de7\u5999\u3001\u5373\u65f6\u4f46\u8106\u5f31\u7684\u5e73\u8861\u70b9\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\">WalletWallet<\/span>\n                <\/div>\n<div class=\"comment-content\">Turn any barcode into a working Apple Wallet pass. Passes are signed with a valid Apple developer certificate and work as expected in Wallet. Works directly from your browser. No data is stored, and it\u2019s free. 21,000 passes generated since launching on December 22, 2025. Built with costs in mind and hosted on Cloudflare Workers to keep it low-cost, so it won\u2019t go away or suddenly become monetized.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I built this after hitting a small but annoying problem. One shop I buy from doesn&#8217;t offer Apple Wallet and I had to download their 250MB app just to show the card at checkout. <\/p>\n<p>I could&#8217;ve used another Wallet app or taken a screenshot, but both aren&#8217;t as simple as double-tapping for Wallet. I learned I could create the .pkpass file myself, but when I tried adding it to Wallet it didn&#8217;t work. Passes need to be signed with an Apple developer certificate. <\/p>\n<p>Since I just got an Apple Dev account, I built a minimal app that creates and signs Wallet passes from your existing barcode or QR code cards. <\/p>\n<p>Shared it on Hacker News and it got picked up on r\/apple, showing real interest beyond my use case. That pushed me to launch here on Product Hunt. <\/p>\n<p>The app is intentionally simple. Happy to answer questions or hear feedback.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alen_todorov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alen_todorov<\/a> Alen, I ask myself why doesn\u2019t this already exist! How do you think about long-term maintenance and compatibility with Apple Wallet requirements (certificates, pass formats, OS updates) while keeping the app as minimal as it is 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>everything feels  reliable. I\u2019ve tested multiple barcodes, and each one works exactly as expected<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like that you built this just because you needed it yourself, those tools usually turn out the best. Curious, do users need any tech setup, or is it really just upload and add to Wallet?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Alen, this is awesome. I was finally able to add my gym and library cards to my wallet. It previously took 4 taps to open my gym QR code through their native app + 5 more seconds for it to load (or fail to load on their app haha). Thank you!<\/p>\n<p>PS &#8211; a note for people adding cards to their wallet: they seem to all be grouped into one stack, with the most recent card added appearing first in the stack. So, add them in reverse order (least used to most frequently used) if you need to access one of them a lot. There may be a workaround to this, so double check me! \u25e1\u0308 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/A74E6ZL4IJFFR4\" class=\"app-title\">Nano Banana Playground<\/a><\/p>\n<div class=\"one-liner\">Playground for Nano Banana image generation and editing<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">128<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u57fa\u4e8eGoogle Nano Banana Pro\u6a21\u578b\u7684AI\u56fe\u50cf\u751f\u6210\u4e0e\u7f16\u8f91\u5e94\u7528\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5feb\u901f\u3001\u4fbf\u6377\u7684\u79fb\u52a8\u7aef\u5165\u53e3\uff0c\u89e3\u51b3\u4e86\u5728\u7075\u611f\u6d8c\u73b0\u65f6\u9700\u4f9d\u8d56\u684c\u9762\u7aef\u4e13\u4e1a\u5de5\u5177\u8fdb\u884c\u89c6\u89c9\u5185\u5bb9\u521b\u4f5c\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/07b074c7-7884-416c-83c6-fe5a0ad8aa74.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/35273ebc-e0ef-4070-94c9-7d383b67ce0f.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\/e8996a6b-2a98-4050-8d7f-e91b3c0815f1.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=IOzaTl9nBTA\"><source src=\"https:\/\/www.youtube.com\/watch?v=IOzaTl9nBTA\" 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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u56fe\u50cf\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u56fe\u50cf\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">v0\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6a21\u677f<\/span><br \/>\n            <span class=\"tag\">AIGC\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5feb\u901f\u539f\u578b<\/span><br \/>\n            <span class=\"tag\">\u8c37\u6b4c\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u6587\u672c\u751f\u56fe<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\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>\u7531\u4e8e\u63d0\u4f9b\u7684\u8bc4\u8bba\u5217\u8868\u4e3a\u7a7a\uff0c\u76ee\u524d\u65e0\u6cd5\u83b7\u53d6\u7528\u6237\u76f4\u63a5\u53cd\u9988\u3002\u4ea7\u54c1\u5904\u4e8e\u65e9\u671f\u53d1\u5e03\u9636\u6bb5\uff0c\u7528\u6237\u4e92\u52a8\u6570\u636e\uff08\u5982128\u4e2a\u6295\u7968\uff09\u8868\u660e\u5176\u5df2\u83b7\u5f97\u521d\u6b65\u5173\u6ce8\uff0c\u4f46\u5177\u4f53\u7684\u4f7f\u7528\u4f53\u9a8c\u3001\u95ee\u9898\u4e0e\u6539\u8fdb\u5efa\u8bae\u6709\u5f85\u7528\u6237\u8bc4\u8bba\u586b\u5145\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                Nano Banana Playground \u5448\u73b0\u4e86\u4e00\u4e2a\u6709\u8da3\u7684\u77db\u76fe\u4f53\uff1a\u5176\u5185\u6838\u662f\u8c37\u6b4c\u9887\u5177\u6280\u672f\u5206\u91cf\u7684Nano Banana Pro\u6a21\u578b\uff0c\u800c\u5916\u58f3\u5219\u662f\u4e00\u4e2a\u6807\u699c\u201c100%\u7528v0\u6784\u5efa\u201d\u7684\u3001\u53ef\u590d\u523b\u7684\u6a21\u677f\u5e94\u7528\u3002\u8fd9\u4f7f\u5176\u4ef7\u503c\u8bc4\u4f30\u9700\u4ece\u4e24\u4e2a\u7ef4\u5ea6\u62c6\u89e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u672c\u8eab\u770b\uff0c\u5b83\u8bd5\u56fe\u5c06\u5148\u8fdb\u7684\u56fe\u50cf\u751f\u6210\u4e0e\u7f16\u8f91\u80fd\u529b\u201c\u5e73\u6c11\u5316\u201d\u548c\u201c\u79fb\u52a8\u5316\u201d\uff0c\u964d\u4f4e\u7528\u6237\u63a5\u89e6\u95e8\u69db\u3002\u4f46\u201c\u57fa\u7840\u5386\u53f2\u8bb0\u5f55\u201d\u7b49\u529f\u80fd\u63cf\u8ff0\uff0c\u6697\u793a\u5176\u5f53\u524d\u53ef\u80fd\u53ea\u662f\u4e00\u4e2a\u529f\u80fd\u7cbe\u7b80\u7684\u6f14\u793a\u5668\uff08Demo\uff09\uff0c\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u9a8c\u8bc1\u6a21\u578b\u5728\u7aef\u4fa7\u90e8\u7f72\u7684\u53ef\u884c\u6027\u4e0e\u4f53\u9a8c\u6d41\u7545\u5ea6\uff0c\u800c\u975e\u63d0\u4f9b\u4e00\u4e2a\u529f\u80fd\u5b8c\u5907\u7684\u521b\u4f5c\u5957\u4ef6\u3002\u5176\u771f\u6b63\u7684\u7528\u6237\u75db\u70b9\u89e3\u51b3\u80fd\u529b\uff0c\u9ad8\u5ea6\u4f9d\u8d56\u4e8e\u540e\u7aef\u6a21\u578bNano Banana Pro\u7684\u5b9e\u9645\u6027\u80fd\u8868\u73b0\uff08\u5982\u751f\u6210\u8d28\u91cf\u3001\u901f\u5ea6\u3001\u53ef\u63a7\u6027\uff09\uff0c\u800c\u8fd9\u5728\u73b0\u6709\u4fe1\u606f\u4e2d\u5e76\u672a\u51f8\u663e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u5177\u950b\u8292\u7684\u4eae\u70b9\u5728\u4e8e\u5176\u201c\u53ef\u590d\u523b\u6a21\u677f\u201d\u7684\u5b9a\u4f4d\u3002\u8fd9\u7cbe\u51c6\u51fb\u4e2d\u4e86\u5f53\u524dAIGC\u5e94\u7528\u5f00\u53d1\u7684\u4e24\u4e2a\u5173\u952e\u75db\u70b9\uff1a\u4e00\u662f\u5feb\u901f\u5c06\u524d\u6cbfAI\u6a21\u578b\u80fd\u529b\u4ea7\u54c1\u5316\u7684\u9700\u6c42\uff0c\u4e8c\u662f\u964d\u4f4e\u5168\u6808\u5f00\u53d1\u95e8\u69db\u3002\u5b83\u672c\u8d28\u4e0a\u51fa\u552e\u7684\u4e0d\u662f\u4e00\u4e2a\u201c\u5e94\u7528\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u201c\u5f00\u53d1\u8303\u5f0f\u201d\u6216\u201c\u542f\u52a8\u5957\u4ef6\u201d\u3002\u8fd9\u6b65\u68cb\u9887\u5177\u6218\u7565\u773c\u5149\uff0c\u65e8\u5728\u5438\u5f15\u5e7f\u5927\u5f00\u53d1\u8005\u57fa\u4e8e\u6b64\u6a21\u677f\u8fdb\u884c\u4e8c\u6b21\u5f00\u53d1\uff0c\u4ece\u800c\u5feb\u901f\u5f62\u6210\u4ee5v0\u5f00\u53d1\u5e73\u53f0\u548c\u8c37\u6b4c\u6a21\u578b\u4e3a\u4e2d\u5fc3\u7684\u5fae\u751f\u6001\u3002\u5982\u679c\u540e\u7eed\u80fd\u914d\u5957\u6e05\u6670\u7684\u5546\u4e1a\u5316\u3001\u6a21\u578b\u5fae\u8c03\u6216\u81ea\u5b9a\u4e49\u6307\u5f15\uff0c\u5176\u4f5c\u4e3a\u201c\u751f\u6001\u64ad\u79cd\u673a\u201d\u7684\u4ef7\u503c\u5c06\u8fdc\u8d85\u4f5c\u4e3a\u4e00\u4e2a\u72ec\u7acb\u56fe\u50cf\u5e94\u7528\u7684\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u98ce\u9669\u540c\u6837\u660e\u663e\u3002\u4f5c\u4e3a\u6a21\u578b\u4e0e\u7528\u6237\u95f4\u7684\u4e2d\u95f4\u5c42\uff0c\u5176\u4f53\u9a8c\u5b8c\u5168\u53d7\u5236\u4e8e\u4e0a\u6e38\u6a21\u578b\u7684\u80fd\u529b\u8fb9\u754c\u4e0e\u66f4\u65b0\u7ef4\u62a4\u3002\u82e5Nano Banana Pro\u6a21\u578b\u672c\u8eab\u8fed\u4ee3\u7f13\u6162\u6216\u7ade\u4e89\u529b\u4e0d\u8db3\uff0c\u6b64\u5e94\u7528\u53ca\u6240\u6709\u884d\u751f\u54c1\u5c06\u8fc5\u901f\u5931\u53bb\u5438\u5f15\u529b\u3002\u6b64\u5916\uff0c\u5728Midjourney\u3001Stable Diffusion\u7b49\u751f\u6001\u5df2\u6781\u5ea6\u7e41\u8363\u7684\u5f53\u4e0b\uff0c\u4e00\u4e2a\u529f\u80fd\u57fa\u7840\u7684\u6a21\u677f\u5e94\u7528\uff0c\u80fd\u5426\u51ed\u501f\u201c\u5f00\u53d1\u4fbf\u6377\u6027\u201d\u8fd9\u4e00\u5355\u4e00\u4f18\u52bf\u6740\u51fa\u91cd\u56f4\uff0c\u4ecd\u9700\u5e02\u573a\u68c0\u9a8c\u3002\u5b83\u66f4\u50cf\u4e00\u4e2a\u7cbe\u5de7\u7684\u6280\u672f\u8425\u9500\u6848\u4f8b\uff0c\u5176\u6210\u529f\u4e0e\u5426\uff0c\u53d6\u51b3\u4e8e\u80fd\u5426\u70b9\u71c3\u5f00\u53d1\u8005\u7684\u70ed\u60c5\uff0c\u800c\u975e\u76f4\u63a5\u5f81\u670d\u7ec8\u7aef\u521b\u4f5c\u8005\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Nano Banana Playground<\/span>\n                <\/div>\n<div class=\"comment-content\">Try Google\u2019s Nano Banana Pro image generation and editing model. Supports text-to-image, image editing, multiple aspect ratios, and basic history. The app was built 100% with v0 and is available as a forkable template, so anyone can reuse it to build their own AI image apps in v0.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/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\/Q4E2OJ3SA3LCB3\" class=\"app-title\">Voice Studio Companion<\/a><\/p>\n<div class=\"one-liner\">Drag &#038; drop voice generator tool<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">110<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u57fa\u4e8eElevenLabs\u6280\u672f\u7684macOS\u83dc\u5355\u680fAI\u8bed\u97f3\u751f\u6210\u5de5\u5177\uff0c\u901a\u8fc7\u62d6\u62fd\u64cd\u4f5c\u5feb\u901f\u5c06\u6587\u672c\u8f6c\u4e3a\u9ad8\u8d28\u91cf\u753b\u5916\u97f3\uff0c\u89e3\u51b3\u4e86\u89c6\u9891\u3001\u97f3\u9891\u53ca\u6f14\u793a\u6587\u7a3f\u521b\u4f5c\u8005\u5728\u5185\u5bb9\u5236\u4f5c\u4e2d\u5bfb\u627e\u548c\u5236\u4f5c\u4e13\u4e1a\u4eba\u58f0\u914d\u97f3\u7684\u6548\u7387\u4e0e\u6210\u672c\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\/b1fafe19-80d4-42e8-8bc7-0d8f997c12ef.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\/6f3e82be-afe9-4d3c-b004-6d8466d8be0f.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\/d6ba3c6f-d0f2-4338-a96d-5376520afc28.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\/04a8da10-47a7-4424-8130-2c42e9a720bd.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\/1cfa45cc-a8cd-4c9a-8181-835da4224623.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bed\u97f3\u5408\u6210<\/span><br \/>\n            <span class=\"tag\">\u97f3\u9891\u5236\u4f5c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">macOS\u6548\u7387\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u62d6\u62fd\u64cd\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u753b\u5916\u97f3\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">ElevenLabs<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u521b\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>\u6709\u6548\u8bc4\u8bba\u6781\u5c11\u3002\u76ee\u524d\u6709\u4e00\u6761\u7591\u4f3c\u5f00\u53d1\u8005\u6216\u63a8\u5e7f\u8005\u7684\u5f15\u5bfc\u6027\u8bc4\u8bba\uff0c\u9f13\u52b1\u7528\u6237\u4ee51.99\u82f1\u9551\u4f4e\u4ef7\u6d4b\u8bd5\u5e76\u7ed1\u5b9aAPI\u5bc6\u94a5\uff0c\u7f3a\u4e4f\u771f\u5b9e\u7528\u6237\u7684\u4f53\u9a8c\u53cd\u9988\u3001\u95ee\u9898\u6216\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Voice Studio Companion\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u8f7b\u91cf\u5316\u7684\u201c\u524d\u7aef\u5c01\u88c5\u5668\u201d\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u521b\u65b0\uff0c\u800c\u5728\u4e8e\u7cbe\u51c6\u7684\u5de5\u4f5c\u6d41\u6574\u5408\u3002\u4ea7\u54c1\u806a\u660e\u5730\u6293\u4f4f\u4e86\u4e13\u4e1a\u521b\u4f5c\u5de5\u5177\uff08\u5982Final Cut Pro, DaVinci Resolve\uff09\u4e0e\u5e95\u5c42\u5f3a\u5927AI\u8bed\u97f3\u63a5\u53e3\uff08ElevenLabs\uff09\u4e4b\u95f4\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u75db\u70b9\u3002\u5b83\u5c06\u4e91\u7aef\u590d\u6742\u7684AI\u8bed\u97f3\u80fd\u529b\uff0c\u901a\u8fc7\u4e00\u4e2a\u5e38\u9a7b\u83dc\u5355\u680f\u7684\u672c\u5730\u5e94\u7528\u548c\u6781\u5176\u7b80\u5355\u7684\u62d6\u62fd\u52a8\u4f5c\uff0c\u65e0\u7f1d\u5d4c\u5165\u5230\u4e86\u521b\u4f5c\u8005\u6700\u719f\u6089\u7684\u9ad8\u9891\u573a\u666f\u4e2d\uff0c\u5b9e\u73b0\u4e86\u201c\u5373\u60f3\u5373\u7528\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u5b58\u5728\u660e\u663e\u9690\u5fe7\u3002\u5e94\u7528\u672c\u8eab\u770b\u4f3c\u4f4e\u4ef7\uff0c\u4f46\u5b9e\u8d28\u662fElevenLabs API\u7684\u201c\u4e2d\u4ecb\u201d\u6216\u201c\u901a\u9053\u201d\uff0c\u7528\u6237\u9700\u81ea\u884c\u627f\u62c5\u540e\u7eedAPI\u8c03\u7528\u6210\u672c\u3002\u8fd9\u4f7f\u5176\u5b9a\u4f4d\u66f4\u63a5\u8fd1\u4e8e\u4e00\u4e2a\u4f53\u9a8c\u4f18\u5316\u63d2\u4ef6\uff0c\u800c\u975e\u72ec\u7acb\u4ea7\u54c1\u3002\u5176\u957f\u671f\u4ef7\u503c\u9ad8\u5ea6\u4f9d\u8d56\u4e8eElevenLabs\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u3001\u6210\u672c\u7ed3\u6784\u53ca\u5176\u81ea\u8eab\u4e0e\u5bbf\u4e3b\u8f6f\u4ef6\u751f\u6001\u7684\u517c\u5bb9\u6df1\u5ea6\u3002\u76ee\u524d\u8fd1\u4e4e\u7a7a\u767d\u7684\u771f\u5b9e\u7528\u6237\u8bc4\u8bba\u4e5f\u8868\u660e\uff0c\u5176\u5e02\u573a\u63a5\u53d7\u5ea6\u4e0e\u5177\u4f53\u5de5\u4f5c\u6d41\u4e2d\u7684\u53ef\u9760\u6027\u4ecd\u6709\u5f85\u68c0\u9a8c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5728AI\u5de5\u5177\u65e5\u76ca\u540c\u8d28\u5316\u7684\u5f53\u4e0b\uff0c\u5b83\u7684\u62d6\u62fd\u76f4\u8fde\u601d\u8def\u503c\u5f97\u80af\u5b9a\uff0c\u4f46\u58c1\u5792\u8584\u5f31\u3002\u4e00\u65e6\u4e3b\u6d41\u89c6\u9891\u7f16\u8f91\u8f6f\u4ef6\u539f\u751f\u96c6\u6210\u7c7b\u4f3c\u529f\u80fd\uff0c\u6216\u51fa\u73b0\u66f4\u5f3a\u5927\u7684\u7ade\u54c1\uff0c\u5176\u751f\u5b58\u7a7a\u95f4\u5c06\u8fc5\u901f\u88ab\u6324\u538b\u3002\u5b83\u662f\u4e00\u6b3e\u89e3\u51b3\u5f53\u4e0b\u6548\u7387\u95ee\u9898\u7684\u201c\u950b\u5229\u5c0f\u5200\u201d\uff0c\u4f46\u5e76\u975e\u4e0d\u53ef\u66ff\u4ee3\u7684\u201c\u91cd\u578b\u88c5\u5907\u201d\u3002\u6210\u529f\u7684\u5173\u952e\u5728\u4e8e\u80fd\u5426\u5728\u6781\u81f4\u7684\u4fbf\u6377\u6027\u4e4b\u5916\uff0c\u6784\u5efa\u66f4\u6df1\u5ea6\u7684\u81ea\u5b9a\u4e49\u529f\u80fd\u6216\u72ec\u6709\u7684\u8bed\u97f3\u7ba1\u7406\u751f\u6001\uff0c\u4ece\u800c\u4ece\u201c\u7ba1\u9053\u201d\u5347\u7ea7\u4e3a\u201c\u5de5\u4f5c\u53f0\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\">Voice Studio Companion<\/span>\n                <\/div>\n<div class=\"comment-content\">Voice Studio Companion is a macOS menu bar app that turns text into professional AI voiceovers using ElevenLabs technology. Ideal for creators and editors, it lets you choose from 20+ high-quality voices and generate audio in seconds. Drag and drop directly into Final Cut Pro, Premiere Pro, DaVinci Resolve, Logic Pro, GarageBand, Keynote, PowerPoint, and any app that accepts audio files.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Feel free to comment on the app! For just \u00a31.99 You can test it, link your API Key and away you go!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/LE365NEBVXAIRS\" class=\"app-title\">Lofi Desk<\/a><\/p>\n<div class=\"one-liner\">Dynamic room &#038; companion that changes based on your music <\/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>Lofi Desk\u662f\u4e00\u6b3e\u901a\u8fc7\u52a8\u6001\u89c6\u89c9\u573a\u666f\u4e0eAI\u751f\u6210\u97f3\u4e50\uff0c\u4e3a\u8fdc\u7a0b\u5de5\u4f5c\u8005\u548c\u5f00\u53d1\u8005\u8425\u9020\u6c89\u6d78\u5f0f\u4e13\u6ce8\u73af\u5883\uff0c\u89e3\u51b3\u5176\u5de5\u4f5c\u65f6\u96be\u4ee5\u96c6\u4e2d\u548c\u611f\u5230\u5b64\u72ec\u75db\u70b9\u7684\u5e94\u7528\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\/96902675-22eb-4fb6-9a97-e39e5d02caf1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/07fb6e04-c1e6-4f2f-9e5d-8c4f8ced1eee.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\/409e28ca-43df-4991-8e5a-6328c333b868.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=K4Itootu_c4\"><source src=\"https:\/\/www.youtube.com\/watch?v=K4Itootu_c4\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">iOS<\/span><br \/>\n            <span class=\"tag\">Music<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4e13\u6ce8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u767d\u566a\u97f3<\/span><br \/>\n            <span class=\"tag\">\u756a\u8304\u949f<\/span><br \/>\n            <span class=\"tag\">\u8fdc\u7a0b\u529e\u516c<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u4f34\u4fa3<\/span><br \/>\n            <span class=\"tag\">AI\u751f\u6210\u97f3\u4e50<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u684c\u9762<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">LoFi\u97f3\u4e50<\/span><br \/>\n            <span class=\"tag\">\u6c89\u6d78\u5f0f\u4f53\u9a8c<\/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\u827a\u672f\u98ce\u683c\u548c\u591a\u7aef\u53ef\u7528\u6027\uff0c\u5e76\u5bf9AI\u751f\u6210\u97f3\u4e50\u8868\u793a\u597d\u5947\u3002\u4e3b\u8981\u5efa\u8bae\u662f\uff1a\u5f00\u53d1\u8005\u9700\u66f4\u6e05\u6670\u5730\u9610\u8ff0\u4ed8\u8d39\u7248\u672c\u7684\u4ef7\u503c\u4e3b\u5f20\u6216\u516c\u5f00\u8def\u7ebf\u56fe\uff0c\u4ee5\u63a8\u52a8\u8f6c\u5316\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Lofi Desk\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u505c\u7559\u5728\u201c\u64ad\u653e\u80cc\u666f\u97f3\u4e50\u201d\u7684\u6d45\u5c42\uff0c\u800c\u662f\u8bd5\u56fe\u6784\u5efa\u4e00\u4e2a\u201c\u6570\u5b57\u5fc3\u6d41\u7a7a\u95f4\u201d\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u97f3\u4e50\u672c\u8eab\uff08\u751a\u81f3\u662fAI\u751f\u6210\u7684\uff09\uff0c\u800c\u5728\u4e8e\u901a\u8fc7\u89c6\u89c9\u5143\u7d20\uff08\u623f\u95f4\u3001\u89d2\u8272\uff09\u4e0e\u97f3\u9891\u7684\u5f31\u8054\u52a8\uff0c\u521b\u9020\u4e00\u79cd\u201c\u88ab\u966a\u4f34\u7684\u4e13\u6ce8\u201d\u3002\u8fd9\u7cbe\u51c6\u51fb\u4e2d\u4e86\u8fdc\u7a0b\u5de5\u4f5c\u8005\u548c\u72ec\u5904\u8005\u7684\u60c5\u611f\u9700\u6c42\u2014\u2014\u5bf9\u6297\u5b64\u72ec\u611f\uff0c\u800c\u975e\u4ec5\u4ec5\u662f\u5206\u5fc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u4e0e\u4ef7\u503c\u6df1\u5ea6\u9762\u4e34\u5c16\u9510\u62f7\u95ee\u3002\u9996\u5148\uff0c\u5176\u52a8\u6001\u573a\u666f\u76ee\u524d\u770b\u6765\u66f4\u504f\u5411\u4e8e\u89c6\u89c9\u5f69\u86cb\uff0c\u4e0e\u7528\u6237\u5de5\u4f5c\u5185\u5bb9\u7684\u4e92\u52a8\u6027\u51e0\u4e4e\u4e3a\u96f6\uff0c\u957f\u671f\u4f7f\u7528\u540e\u65b0\u9c9c\u611f\u6d88\u9000\uff0c\u6050\u96be\u7ef4\u6301\u5438\u5f15\u529b\u3002\u5176\u6b21\uff0c\u4f5c\u4e3a\u4ed8\u8d39\u5173\u952e\u7684\u97f3\u4e50\u5185\u5bb9\uff0c\u5c3d\u7ba1\u6807\u699cAI\u751f\u6210\u964d\u4f4e\u4e86\u6210\u672c\uff0c\u4f46\u4e5f\u540c\u65f6\u524a\u5f31\u4e86\u5176\u4f5c\u4e3a\u201c\u7cbe\u54c1\u6b4c\u5355\u201d\u7684 curation \u4ef7\u503c\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u5bf9\u4ed8\u8d39\u7248\u4ef7\u503c\u7684\u7591\u8651\uff0c\u6b63\u70b9\u4e2d\u4e86\u8fd9\u4e00\u547d\u95e8\uff1a\u5982\u679c\u6838\u5fc3\u4f53\u9a8c\u5728\u514d\u8d39\u7248\u5df2\u57fa\u672c\u5448\u73b0\uff0c\u90a3\u4e48\u4ed8\u8d39\u5899\u7684\u652f\u6491\u70b9\u662f\u4ec0\u4e48\uff1f\u662f\u66f4\u591a\u573a\u666f\uff0c\u8fd8\u662f\u66f4\u6df1\u5ea6\u7684\u4e92\u52a8\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u76ee\u524d\u50cf\u4e00\u4e2a\u7cbe\u7f8e\u7684\u201c\u6280\u672f\u6f14\u793a\u201d\uff0c\u4f46\u8981\u4ece\u201c\u6709\u8da3\u201d\u8d70\u5411\u201c\u4e0d\u53ef\u6216\u7f3a\u201d\uff0c\u5fc5\u987b\u56de\u7b54\uff1a\u5b83\u7a76\u7adf\u662f\u4e00\u4e2a\u53ef\u66ff\u4ee3\u7684\u8212\u7f13\u80cc\u666f\uff0c\u8fd8\u662f\u4e00\u4e2a\u80fd\u771f\u6b63\u63d0\u5347\u4e13\u6ce8\u6548\u7387\u7684\u201c\u73af\u5883\u5f15\u64ce\u201d\uff1f\u540e\u8005\u9700\u8981\u66f4\u6df1\u5ea6\u7684\u6570\u636e\u96c6\u6210\uff08\u5982\u4e0e\u65e5\u5386\u3001\u4efb\u52a1\u5217\u8868\u8054\u52a8\u6539\u53d8\u73af\u5883\uff09\u6216\u751f\u7269\u53cd\u9988\uff08\u5982\u901a\u8fc7\u6444\u50cf\u5934\u611f\u77e5\u7528\u6237\u72b6\u6001\u8fdb\u884c\u8c03\u6574\uff09\u3002\u5426\u5219\uff0c\u5b83\u5f88\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u5728\u756a\u8304\u949f\u548c\u80cc\u666f\u97f3\u5e02\u573a\u4e2d\uff0c\u51ed\u501f\u4e00\u65f6\u65b0\u9896\u800c\u6619\u82b1\u4e00\u73b0\u7684\u5e94\u7528\u3002\u5b83\u7684\u771f\u6b63\u6311\u6218\uff0c\u5728\u4e8e\u5c06\u201c\u6c1b\u56f4\u611f\u201d\u8f6c\u5316\u4e3a\u53ef\u91cf\u5316\u7684\u751f\u4ea7\u529b\u63d0\u5347\u8bc1\u636e\uff0c\u6216\u662f\u6784\u5efa\u51fa\u72ec\u4e00\u65e0\u4e8c\u3001\u96be\u4ee5\u5272\u820d\u7684\u60c5\u611f\u8054\u7ed3\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\">Lofi Desk<\/span>\n                <\/div>\n<div class=\"comment-content\">Struggling to focus? Lofi Desk creates the perfect deep work environment. \ud83c\udfa7 Dynamic Atmosphere: The room and character react to the music (Cafe, Rain, Retro), keeping you engaged. \ud83c\udf45 Pomodoro Timer: Built-in customizable timer. Never work alone again.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<\/p>\n<p>I\u2019m Shingo Irie, the creator of Lofi Desk.<\/p>\n<\/p>\n<p>As a remote worker\/developer, I often found myself struggling with two things: maintaining focus and feeling a bit lonely during long solo sessions. I tried regular playlists, but I missed the feeling of &#8220;presence.&#8221;<\/p>\n<\/p>\n<p>That\u2019s why I built Lofi Desk\u2014to create the perfect deep work environment that feels alive.<\/p>\n<\/p>\n<p>What makes it special: \ud83c\udfa7 Dynamic Vibes: The room and the character&#8217;s actions actually change based on the soundtrack (Cafe, Rain, Retro, etc.). \ud83c\udf45 Focus Flow: Built-in customizable Pomodoro timer to keep your rhythm. \ud83e\udd1d Companion: A friendly presence that works alongside you, so you&#8217;re never truly alone.<\/p>\n<\/p>\n<p>I\u2019d love to hear what you think! Which atmosphere is your favorite?<\/p>\n<\/p>\n<p>Thanks for your support! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, Shingo! I&#8217;m a sucker for this art style and LoFi tunes. I went to forward the link to my Phone and was pleasantly surprised to discover I could also use it on my Computer.<\/p>\n<p>Have it playing now! How did you curate the music\/tunes? I feel like adding a bit more of the value add Lofi brings (or future roadmap) aside from the art and curation would help sell on the paid version!<\/p>\n<p>Really digging it so far \ud83d\ude42<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ec5e4eab-bbe5-47ba-adb1-0ced117ec4b6.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>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@gabe Thanks so much!<\/p>\n<p>I&#8217;m really glad you&#8217;re digging the art and the PC version.<\/p>\n<p>To answer your question, all the tracks are actually original AI-generated compositions. I carefully curated the outputs to find the ones that best fit the vibe.<\/p>\n<p>Also, I really appreciate your feedback regarding the paid version. You are totally right \u2014 adding more specific value-props or sharing a roadmap would definitely help.<\/p>\n<p>If you have any specific features you&#8217;d like to see on the roadmap, please let me know. I&#8217;d love to hear your ideas!<br \/>\nThanks again for the support!<\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is sick<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@bockerwee Thanks!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/EO45QKNXWEE6DU\" class=\"app-title\">GitJin<\/a><\/p>\n<div class=\"one-liner\">GitHub repos, issues, and PRs in one clear dashboard<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">101<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u4e3a\u5f00\u53d1\u8005\u6253\u9020\u7684\u6781\u901fGitHub\u4eea\u8868\u76d8\uff0c\u901a\u8fc7\u805a\u5408\u4ed3\u5e93\u3001\u8bae\u9898\u548c\u62c9\u53d6\u8bf7\u6c42\u4e8e\u5355\u4e00\u6e05\u6670\u89c6\u56fe\uff0c\u89e3\u51b3\u5728GitHub\u539f\u751f\u754c\u9762\u4e2d\u591a\u6807\u7b7e\u5207\u6362\u3001\u4fe1\u606f\u5206\u6563\u5bfc\u81f4\u7684\u6548\u7387\u4f4e\u4e0b\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\/8a959fee-cb3a-4a8d-9b4e-54d370242bf8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5d8b09ab-e0d0-4d1c-b5ac-c14bde81ebdc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fc4eb02a-eb39-4a8e-bdb0-778c4a08997d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8d2e58f9-87fb-486a-93fc-20947bace822.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\">User Experience<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">GitHub\u4eea\u8868\u76d8<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u9879\u76ee\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u754c\u9762\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u6574\u5408<\/span><br \/>\n            <span class=\"tag\">\u4fe1\u606f\u805a\u5408<\/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\u5355\u4e00\u89c6\u56fe\u201d\u8282\u7701\u65f6\u95f4\u3001\u51cf\u5c11\u6807\u7b7e\u5207\u6362\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u8d5e\u8d4f\u754c\u9762\u7b80\u6d01\u65e0\u5e72\u6270\u3001\u52a0\u8f7d\u901f\u5ea6\u5feb\u3002\u5f00\u53d1\u8005\u79ef\u6781\u5bfb\u6c42\u53cd\u9988\uff0c\u7528\u6237\u672a\u63d0\u51fa\u5177\u4f53\u529f\u80fd\u5efa\u8bae\u6216\u95ee\u9898\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                GitJin\u7784\u51c6\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u72ed\u7a84\u7684\u75db\u70b9\uff1aGitHub\u9996\u9875\u4fe1\u606f\u6d41\u8fc7\u4e8e\u5e9e\u6742\uff0c\u4e3b\u52a8\u7ba1\u7406\u9879\u76ee\uff08Repo\/PR\/Issue\uff09\u7684\u6548\u7387\u4f4e\u4e0b\u3002\u5176\u5ba3\u79f0\u7684\u201c\u4e16\u754c\u6700\u5feb\u201d\u548c\u201c\u65e0\u538b\u529b\u201d\u4f53\u9a8c\uff0c\u672c\u8d28\u662f\u5c06\u4e00\u4e2a\u590d\u6742\u7684\u534f\u4f5c\u5e73\u53f0\u964d\u7ef4\u4e3a\u4e00\u4e2a\u805a\u7126\u4e2a\u4eba\u5f85\u529e\u4e8b\u9879\u7684\u201c\u4eea\u8868\u76d8\u201d\uff0c\u8fd9\u5951\u5408\u4e86\u90e8\u5206\u5f00\u53d1\u8005\u8ffd\u6c42\u6781\u7b80\u3001\u4e13\u6ce8\u4e0a\u4e0b\u6587\u7684\u5de5\u4f5c\u6d41\u9700\u6c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u4ef7\u503c\u5929\u82b1\u677f\u4e5f\u663e\u800c\u6613\u89c1\u3002\u9996\u5148\uff0c\u5b83\u662f\u5bf9GitHub\u73b0\u6709\u529f\u80fd\u7684\u754c\u9762\u5c42\u4f18\u5316\uff0c\u800c\u975e\u529f\u80fd\u521b\u65b0\uff0c\u6df1\u5ea6\u7ed1\u5b9aGitHub\u751f\u6001\uff0c\u53ef\u66ff\u4ee3\u6027\u9ad8\u3002\u5176\u6b21\uff0c\u5176\u89e3\u51b3\u7684\u201c\u6807\u7b7e\u5730\u72f1\u201d\u95ee\u9898\uff0c\u5bf9\u4e8e\u91cd\u5ea6GitHub\u7528\u6237\u6216\u4f9d\u8d56\u590d\u6742\u9879\u76ee\u7ba1\u7406\uff08\u5982Projects\u3001Milestones\uff09\u7684\u56e2\u961f\u800c\u8a00\uff0c\u53ef\u80fd\u53ea\u662f\u75d2\u70b9\u800c\u975e\u75db\u70b9\uff0c\u4e13\u4e1a\u56e2\u961f\u5f80\u5f80\u5df2\u901a\u8fc7\u5b8c\u5584\u7684\u6d41\u7a0b\u6216\u66f4\u5f3a\u5927\u7684\u7b2c\u4e09\u65b9\u5de5\u5177\uff08\u5982Linear\u3001Jira\uff09\u6765\u7ba1\u7406\u5f00\u53d1\u5468\u671f\u3002\u6700\u540e\uff0c\u4ea7\u54c1\u4ecb\u7ecd\u4e2d\u5f3a\u70c8\u7684\u611f\u6027\u8868\u8ff0\uff08\u5982\u201c\u975e\u5e38\u3001\u975e\u5e38\u5feb\u201d\u3001\u201c\u4e0d\u4f1a\u8ba9\u4f60\u611f\u5230\u538b\u529b\u201d\uff09\u6697\u793a\u5176\u6838\u5fc3\u5356\u70b9\u66f4\u504f\u5411\u4e8e\u4e3b\u89c2\u7684\u201c\u4f53\u9a8c\u4f18\u5316\u201d\uff0c\u8fd9\u5728\u6280\u672f\u5de5\u5177\u9886\u57df\u96be\u4ee5\u6784\u7b51\u957f\u671f\u58c1\u5792\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\uff1a\u5f53\u5f00\u53d1\u8005\u9700\u8981\u7684\u4e0d\u53ea\u662f\u201c\u67e5\u770b\u201d\uff0c\u800c\u662f\u6df1\u5ea6\u201c\u4ea4\u4e92\u201d\u4e0e\u201c\u534f\u4f5c\u201d\u65f6\uff0cGitJin\u80fd\u5426\u907f\u514d\u6210\u4e3a\u4e00\u4e2a\u5355\u7eaf\u7684\u201c\u53ea\u8bfb\u201d\u89c6\u56fe\uff0c\u800c\u6df1\u5ea6\u96c6\u6210\u8bc4\u5ba1\u3001\u4ee3\u7801\u5b9a\u4f4d\u7b49\u64cd\u4f5c\uff0c\u4ece\u800c\u771f\u6b63\u5d4c\u5165\u5de5\u4f5c\u6d41\u800c\u975e\u4ec5\u4f5c\u4e3a\u4e00\u4e2a\u542f\u52a8\u53f0\u3002\u76ee\u524d\u770b\u6765\uff0c\u5b83\u662f\u4e00\u6b3e\u4f18\u79c0\u7684\u201c\u51cf\u8d1f\u201d\u578b\u6548\u7387\u5de5\u5177\uff0c\u4f46\u5c1a\u672a\u5c55\u73b0\u51fa\u91cd\u5851\u5de5\u4f5c\u6a21\u5f0f\u7684\u6f5c\u529b\u3002\u5176\u6210\u529f\u4e0e\u5426\uff0c\u5c06\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u4ece\u201c\u66f4\u597d\u7684\u4fe1\u606f\u770b\u677f\u201d\u6f14\u8fdb\u4e3a\u201c\u4e0d\u53ef\u6216\u7f3a\u7684\u884c\u52a8\u4e2d\u5fc3\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\">GitJin<\/span>\n                <\/div>\n<div class=\"comment-content\">A GitHub dashboard for developers. See all your repos, issues, and pull requests in one fast, simple view. Very, Very fast. I think fastest github dashboard in the world. It don&#8217;t makes your stress when you open. Do you feel hassle picking up repository on Github home or opening PRs, issues? You must try it.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Kabosu, an indie developer from Japan, and I built **GitJin** (gitjin.com) &#8211; a streamlined GitHub dashboard that puts your repos, PRs, and issues on one clean screen.<\/p>\n<p>\ud83c\udfaf **Why I built this:**<br \/>\nGitHub&#8217;s home feed is cluttered and slow. I spent too much time hunting for my active projects and PRs across multiple tabs. GitJin solves this by displaying everything you need at a glance &#8211; no scrolling, no tab-switching.<\/p>\n<p>\u2728 **What makes it different:**<br \/>\n&#8211; **GitHub-inspired UI**: Familiar interface that feels native, not another generic dashboard<br \/>\n&#8211; **Lightning-fast**: CDN-optimized for sub-second load times<br \/>\n&#8211; **Thoughtful UX**: Keyboard shortcuts, smart filters, and one-click actions designed for developer workflows<br \/>\n&#8211; **Clean &amp; focused**: Only what you need, nothing you don&#8217;t<\/p>\n<p>\ud83d\ude80 **Perfect for developers who:**<br \/>\n&#8211; Want faster PR review workflows<br \/>\n&#8211; Need a single source of truth for their GitHub activity<\/p>\n<p>I&#8217;d love your feedback on how I can make GitJin even better for your daily development workflow!<\/p>\n<p>What features would make this more useful for you? \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Having a single view for everything saves me so much time. no more switching  tabs constantly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yosun_negi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yosun_negi<\/a>&nbsp;<\/p>\n<p>Awesome to hear! \ud83d\ude4c <\/p>\n<p>I was devastated by tab hell too<\/p>\n<p>&#8211; that&#8217;s the core of GitJin<\/p>\n<p>  everything in one place to kill tab chaos. What else eats your time on GitHub? Let&#8217;s fix it next! \ud83d\ude0e<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Smooth interface with no distractions. I can actually focus on coding instead of hunting for PRs<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dancer_boy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dancer_boy<\/a>&nbsp;<\/p>\n<p>Thanks a ton! <\/p>\n<p>GitJin&#8217;s clean UI is designed exactly for that\u2014zero distractions so you can stay in the flow \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>Supper nice tools, I&#8217;ll check 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vrijraj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vrijraj<\/a>&nbsp;thank you so much!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/FOJ6HKHX43GN35\" class=\"app-title\">Santa Videos<\/a><\/p>\n<div class=\"one-liner\">Bring Santa to life with AI<\/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>\u4e00\u6b3e\u5229\u7528AI\u751f\u6210\u4e2a\u6027\u5316\u5723\u8bde\u8001\u4eba\u89c6\u9891\u7684\u5de5\u5177\uff0c\u5728\u8282\u65e5\u5b63\u4e3a\u5bb6\u957f\u89e3\u51b3\u4e86\u4e3a\u5b69\u5b50\u521b\u9020\u60ca\u559c\u3001\u4f20\u9012\u8282\u65e5\u9b54\u529b\u7684\u60c5\u611f\u8868\u8fbe\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\/52dbb0e2-bf3d-4472-bcac-332e3822efbc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/143481cb-a6a6-440c-8ae2-a466c25fd3e1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b8379fbd-2215-4b05-9bfc-82bc5535f1a9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4964cc76-cba4-4882-ae87-92242b2fa08d.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\/79bd2562-39be-4e54-89f1-ce086817a39f.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=UNlcFk0gSLc\"><source src=\"https:\/\/www.youtube.com\/watch?v=UNlcFk0gSLc\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Social media marketing<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u89c6\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u5185\u5bb9<\/span><br \/>\n            <span class=\"tag\">\u8282\u65e5\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u793c\u7269<\/span><br \/>\n            <span class=\"tag\">\u5a31\u4e50\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">Veo 3\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u5723\u8bde\u4e3b\u9898<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u4f53\u9a8c<\/span><br \/>\n            <span class=\"tag\">\u8d8b\u52bf\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u5e73\u53f0\u54cd\u5e94\u5feb\u901f\uff0c\u751f\u6210\u89c6\u9891\u65e0\u9700\u7b49\u5f85\u3002\u5f00\u53d1\u8005\u8865\u5145\u8bf4\u660e\u5176\u4e3a\u8be5\u9886\u57df\u7684\u65e9\u671f\u8fdb\u5165\u8005\uff0c\u5e76\u5f3a\u8c03\u4eca\u5e74\u4f7f\u7528Veo 3\u6a21\u578b\u540e\uff0c\u89c6\u9891\u8d28\u91cf\u8fbe\u5230\u5386\u53f2\u6700\u4f73\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                \u201cSanta Videos\u201d\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u7cbe\u51c6\u5361\u4f4d\u5b63\u8282\u6027\u60c5\u611f\u9700\u6c42\u7684AI\u5e94\u7528\u8303\u4f8b\u3002\u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u4e0a\u7684\u98a0\u8986\u6027\uff08AI\u751f\u6210\u89c6\u9891\u5df2\u4e0d\u65b0\u9c9c\uff09\uff0c\u800c\u5728\u4e8e\u5c06\u524d\u6cbf\u7684AI\u89c6\u9891\u6a21\u578b\uff08\u5982Veo 3\uff09\u5c01\u88c5\u6210\u4e00\u4e2a\u96f6\u95e8\u69db\u3001\u9ad8\u60c5\u611f\u56de\u62a5\u7684\u201c\u8282\u65e5\u4eea\u5f0f\u611f\u201d\u89e3\u51b3\u65b9\u6848\u3002\u5b83\u5de7\u5999\u5730\u5c06\u6280\u672f\u590d\u6742\u6027\u9690\u85cf\u4e8e\u540e\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u7684\u662f\u201c\u9b54\u6cd5\u65f6\u523b\u201d\u7684\u4ea4\u4ed8\u80fd\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u5b9a\u4f4d\u7280\u5229\uff1a\u5b83\u5e76\u975e\u5168\u5e74\u65e0\u4f11\u7684\u901a\u7528\u5de5\u5177\uff0c\u800c\u662f\u7784\u51c6\u5723\u8bde\u8282\u8fd9\u4e2a\u60c5\u611f\u6d53\u5ea6\u548c\u6d88\u8d39\u610f\u613f\u53cc\u9ad8\u7684\u7279\u5b9a\u7a97\u53e3\u671f\u3002\u5176\u75db\u70b9\u6293\u5f97\u51c6\u2014\u2014\u7236\u6bcd\uff08\u5c24\u5176\u662f\u5fd9\u788c\u7684\u5e74\u8f7b\u7236\u6bcd\uff09\u6e34\u671b\u4e3a\u5b69\u5b50\u521b\u9020\u72ec\u7279\u8282\u65e5\u8bb0\u5fc6\uff0c\u5374\u53d7\u9650\u4e8e\u65f6\u95f4\u3001\u521b\u610f\u6216\u8868\u73b0\u529b\u3002AI\u5728\u6b64\u626e\u6f14\u4e86\u201c\u6570\u5b57\u9b54\u6cd5\u5e08\u201d\u7684\u89d2\u8272\uff0c\u5c06\u4e00\u6bb5\u7b80\u5355\u7684\u6587\u672c\u6216\u5fc3\u610f\uff0c\u8f6c\u5316\u4e3a\u5177\u8c61\u5316\u3001\u53ef\u4f20\u64ad\u7684\u60ca\u559c\u5a92\u4ecb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u770b\uff0c\u201c\u5feb\u901f\u751f\u6210\u201d\u662f\u7528\u6237\u4f53\u9a8c\u7684\u5173\u952e\u52a0\u5206\u9879\uff0c\u8fd9\u6070\u6070\u662f\u6b64\u7c7b\u8f7b\u91cf\u5316\u5a31\u4e50\u5e94\u7528\u7684\u751f\u547d\u7ebf\u2014\u2014\u7b49\u5f85\u4f1a\u77ac\u95f4\u6467\u6bc1\u201c\u9b54\u6cd5\u201d\u7684\u5373\u65f6\u611f\u3002\u5f00\u53d1\u8005\u81ea\u79f0\u662f\u884c\u4e1a\u8d8b\u52bf\u7684\u65e9\u671f\u63a8\u52a8\u8005\uff0c\u5e76\u5f3a\u8c03\u4eca\u5e74\u753b\u8d28\u7684\u98de\u8dc3\uff0c\u8fd9\u63ed\u793a\u4e86\u8be5\u8d5b\u9053\u7684\u7ade\u4e89\u903b\u8f91\uff1a\u6280\u672f\u7ea2\u5229\uff08\u5982\u66f4\u903c\u771f\u7684\u6a21\u578b\uff09\u4f1a\u8fc5\u901f\u8f6c\u5316\u4e3a\u7528\u6237\u4f53\u9a8c\u7684\u5347\u7ea7\uff0c\u4f46\u7ade\u4e89\u58c1\u5792\u53ef\u80fd\u5e76\u4e0d\u9ad8\u3002\u4ea7\u54c1\u7684\u53ef\u6301\u7eed\u6027\u5c06\u4e25\u91cd\u4f9d\u8d56\u5176\u6bcf\u5e74\u5728\u7279\u5b9a\u5b63\u8282\u7684\u8425\u9500\u89e6\u8fbe\u80fd\u529b\u3001\u6210\u672c\u63a7\u5236\uff08\u514d\u8d39\u6a21\u5f0f\u4e0b\u7684\u652f\u6491\u529b\uff09\uff0c\u4ee5\u53ca\u80fd\u5426\u5c06\u201c\u5723\u8bde\u8001\u4eba\u201d\u8fd9\u4e2aIP\u6269\u5c55\u5230\u5176\u4ed6\u8282\u65e5\u6216\u60c5\u611f\u573a\u666f\uff0c\u4ee5\u5e73\u6ed1\u5176\u660e\u663e\u7684\u5b63\u8282\u6027\u6ce2\u52a8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u5c06AI\u80fd\u529b\u8fdb\u884c\u8282\u65e5\u5316\u3001\u60c5\u611f\u5316\u5546\u54c1\u5316\u7684\u806a\u660e\u4ea7\u54c1\u3002\u5b83\u4e0d\u8ffd\u6c42\u6280\u672f\u7684\u5b8f\u5927\u53d9\u4e8b\uff0c\u800c\u662f\u4e13\u6ce8\u4e8e\u5728\u7279\u5b9a\u65f6\u95f4\u70b9\uff0c\u7528\u6280\u672f\u5b8c\u6210\u4e00\u6b21\u9ad8\u6548\u7684\u60c5\u611f\u4f20\u9012\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u66f4\u63a5\u8fd1\u4e8e\u201c\u8282\u65e5\u60c5\u611f\u6d88\u8d39\u54c1\u201d\u3002\u5b83\u7684\u6210\u529f\uff0c\u9a8c\u8bc1\u4e86AI\u5e94\u7528\u843d\u5730\u7684\u4e00\u6761\u8def\u5f84\uff1a\u627e\u5230\u9ad8\u5171\u9e23\u3001\u77ed\u5468\u671f\u3001\u5f3a\u4f20\u64ad\u7684\u5177\u4f53\u573a\u666f\uff0c\u6bd4\u6253\u9020\u4e00\u4e2a\u6cdb\u5316\u7684\u5168\u80fd\u5de5\u5177\u66f4\u5bb9\u6613\u5207\u5165\u5e02\u573a\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\">Santa Videos<\/span>\n                <\/div>\n<div class=\"comment-content\">Free personalized videos from Santa to your loved ones. Create your video with a message from Santa using Artificial Intelligence. Something kids can\u2019t believe when they see it. This Christmas bring Santa magic with AI.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The platform feels fast and responsive. Generating clips dosent  make me wait at all.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Nice, Congrats team<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi everyone! We launched Santa Videos many years ago, back when AI Videos were not even a thing!<\/p>\n<p>Since then, Santa Videos have become a huge trend.<\/p>\n<p>This year, quality is the best one we&#8217;ve ever since, powered by Veo 3!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/OEOZH5LTHEO6AP\" class=\"app-title\">Vanderwaals: Personalized by AI<\/a><\/p>\n<div class=\"one-liner\">AI Wallpaper App\u2014Learns your style\u2014100% On-Device &#038; Open<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">90<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u5b8c\u5168\u79bb\u7ebf\u8fd0\u884c\u7684AI\u58c1\u7eb8\u5e94\u7528\uff0c\u901a\u8fc7\u8bbe\u5907\u7aef\u673a\u5668\u5b66\u4e60\u5b66\u4e60\u7528\u6237\u5ba1\u7f8e\u504f\u597d\uff0c\u81ea\u52a8\u63a8\u8350\u5339\u914d\u7684\u58c1\u7eb8\uff0c\u89e3\u51b3\u4e86\u7528\u6237\u5bfb\u627e\u5fc3\u4eea\u58c1\u7eb8\u65f6\u9700\u8981\u65e0\u5c3d\u6eda\u52a8\u3001\u4ee5\u53ca\u62c5\u5fe7\u9690\u79c1\u6cc4\u9732\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8ed382df-d448-44a1-b2a4-c4013094d432.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/27840147-e87a-43fd-9246-ffbb7702ba7e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/13b4dcb7-c1d1-459c-8917-0d3005177ad5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dee21099-9973-4f7c-a1b3-6ecec2441706.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ae35339b-cded-49a4-bf47-610941bd33c0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6d0b0370-2a88-4c30-8c73-15e340e05802.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3ef59f80-8ec6-4904-9fae-4631173ec521.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Wallpaper<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u58c1\u7eb8<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u5907\u7aef\u673a\u5668\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u63a8\u8350<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5353\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebfAI<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u58c1\u7eb8<\/span><br \/>\n            <span class=\"tag\">\u5ba1\u7f8e\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u6750\u6599\u8bbe\u8ba1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005\u672c\u4eba\u53d1\u5e03\u8bc4\u8bba\uff0c\u9610\u8ff0\u4e86\u5f00\u53d1\u521d\u8877\uff08\u89e3\u51b3\u65e0\u5c3d\u6eda\u52a8\u3001\u9690\u79c1\u8ffd\u8e2a\u3001AI\u63a8\u8350\u4e0d\u51c6\u7684\u75db\u70b9\uff09\uff0c\u5e76\u8be6\u7ec6\u8bf4\u660e\u4e86\u4ea7\u54c1\u529f\u80fd\u3001\u6280\u672f\u67b6\u6784\u548c\u672a\u6765\u8ba1\u5212\u3002\u8bc4\u8bba\u4e2d\u6682\u65e0\u5176\u4ed6\u7528\u6237\u53cd\u9988\uff0c\u4e3b\u8981\u4e3a\u4ea7\u54c1\u4ecb\u7ecd\u548c\u5f00\u53d1\u8005\u4e0e\u793e\u533a\u4ea4\u6d41\u7684\u9080\u8bf7\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u5728AI\u5e94\u7528\u6cdb\u6ee5\u4e14\u666e\u904d\u4f9d\u8d56\u4e91\u7aef\u7684\u5f53\u4e0b\uff0cVanderwaals\u9009\u62e9\u4e86\u4e00\u6761\u201c\u9006\u884c\u201d\u4e4b\u8def\uff1a\u5c06AI\u5f7b\u5e95\u672c\u5730\u5316\u3001\u79c1\u6709\u5316\u3002\u5176\u771f\u6b63\u4ef7\u503c\u5e76\u975e\u5728\u4e8e\u201c\u53c8\u4e00\u4e2aAI\u63a8\u8350\u5f15\u64ce\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5730\u5207\u5272\u51fa\u4e86\u4e00\u4e2a\u88ab\u4e3b\u6d41\u5ffd\u89c6\u7684\u7ec6\u5206\u5e02\u573a\u2014\u2014\u5bf9\u9690\u79c1\u6781\u5ea6\u654f\u611f\u3001\u4e14\u5bf9\u4e2a\u6027\u5316\u6709\u8981\u6c42\u7684\u5ba1\u7f8e\u6311\u5254\u8005\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u5c06\u201c\u9690\u79c1\u201d\u4f5c\u4e3a\u6838\u5fc3\u529f\u80fd\u800c\u975e\u8425\u9500\u8bdd\u672f\uff0c\u901a\u8fc7100%\u79bb\u7ebf\u8fd0\u884c\u3001\u96f6\u6570\u636e\u8ffd\u8e2a\u3001AGPL-3.0\u5f00\u6e90\u4e09\u4ef6\u5957\uff0c\u6784\u5efa\u4e86\u96be\u4ee5\u4f5c\u4f2a\u7684\u53ef\u4fe1\u5ea6\u3002\u6280\u672f\u6808\u4e0a\uff0c\u91c7\u7528TensorFlow Lite\u8fdb\u884c\u8bbe\u5907\u7aef\u5d4c\u5165\u5411\u91cf\u8ba1\u7b97\uff0c\u5e76\u7528\u4f59\u5f26\u76f8\u4f3c\u5ea6\u3001LAB\u8272\u5f69\u7a7a\u95f4\u7b49\u76f8\u5bf9\u6210\u719f\u7684\u6280\u672f\u5b9e\u73b0\u63a8\u8350\uff0c\u8fd9\u4f53\u73b0\u4e86\u52a1\u5b9e\u7684\u5de5\u7a0b\u601d\u7ef4\uff1a\u5728\u4fdd\u8bc1\u9690\u79c1\u548c\u6548\u80fd\u7684\u524d\u63d0\u4e0b\uff0c\u63d0\u4f9b\u8db3\u591f\u597d\u7684\u4e2a\u6027\u5316\u4f53\u9a8c\uff0c\u800c\u975e\u8ffd\u6c42\u524d\u6cbf\u4f46\u7b28\u91cd\u7684\u6a21\u578b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u6311\u6218\u4e5f\u540c\u6837\u9c9c\u660e\u3002\u9996\u5148\uff0c\u8bbe\u5907\u7aef\u6a21\u578b\u7684\u6027\u80fd\u4e0e\u8fdb\u5316\u80fd\u529b\u5929\u82b1\u677f\u663e\u8457\uff0c\u65e0\u6cd5\u5229\u7528\u96c6\u4f53\u6570\u636e\u4f18\u5316\uff0c\u5176\u201c\u5b66\u4e60\u201d\u4ec5\u9650\u4e8e\u7528\u6237\u5355\u8bbe\u5907\u4e0a\u7684\u6709\u9650\u4ea4\u4e92\uff0c\u63a8\u8350\u8d28\u91cf\u7684\u957f\u671f\u4e0a\u9650\u5b58\u7591\u3002\u5176\u6b21\uff0c\u201c\u5f00\u6e90\u201d\u662f\u53cc\u5203\u5251\uff0c\u867d\u5efa\u7acb\u4e86\u4fe1\u4efb\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u5546\u4e1a\u6a21\u5f0f\u7684\u60f3\u8c61\u7a7a\u95f4\u88ab\u5927\u5e45\u538b\u7f29\uff0c\u57fa\u672c\u5c40\u9650\u4e8e\u4e3a\u7231\u53d1\u7535\u6216\u6350\u8d60\u6a21\u5f0f\u3002\u6700\u540e\uff0c\u5176\u51b7\u542f\u52a8\u4f9d\u8d56\u7684\u58c1\u7eb8\u5e93\uff08GitHub\u5408\u96c6\u3001Bing\u56fe\u7247\uff09\u7248\u6743\u4e0e\u98ce\u683c\u7684\u53ef\u6301\u7eed\u6027\uff0c\u662f\u4e00\u4e2a\u6f5c\u5728\u7684\u8fd0\u8425\u98ce\u9669\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u7406\u5ff5\u5148\u884c\u7684\u4ea7\u54c1\u3002\u5b83\u53ef\u80fd\u65e0\u6cd5\u5728\u63a8\u8350\u7cbe\u51c6\u5ea6\u4e0a\u51fb\u8d25\u4e91\u7aef\u5de8\u517d\uff0c\u4f46\u5b83\u4e3a\u7279\u5b9a\u4eba\u7fa4\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5b89\u5fc3\u3001\u81ea\u4e3b\u7684\u6570\u5b57\u5ba1\u7f8e\u89d2\u843d\u3002\u5b83\u7684\u51fa\u73b0\u672c\u8eab\uff0c\u5c31\u662f\u5bf9\u884c\u4e1a\u9ed8\u8ba4\u201c\u6570\u636e\u6362\u4fbf\u5229\u201d\u6a21\u5f0f\u7684\u4e00\u6b21\u6709\u529b\u53e9\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\">Vanderwaals: Personalized by AI<\/span>\n                <\/div>\n<div class=\"comment-content\">Vanderwaals uses on-device machine learning to understand your aesthetic preferences and automatically surfaces wallpapers you&#8217;ll love\u2014no endless scrolling required. \ud83e\udd16 Neural network (100% offline) \ud83d\udd12 Zero tracking, zero analytics \ud83d\udcda 3,000+ curated wallpapers from GitHub + Bing \u26a1 Auto-change on unlock\/hourly\/daily \ud83c\udfa8 Material 3 with dynamic theming \ud83d\udd13 Fully open source (AGPL-3.0) Two modes: Start fresh and let AI learn, or upload one favorite wallpaper for instant similar matches.<\/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>I\u2019m <strong>Avinash<\/strong>, a solo indie developer from India, and I\u2019m excited to finally share <strong>Vanderwaals<\/strong> with you.<\/p>\n<p>\ud83c\udf31 <strong>Why I Built This<\/strong>:<\/p>\n<p>I love changing wallpapers\u2014but I kept running into the same problems:<\/p>\n<ul>\n<li>\n<p>Endless scrolling to find something that actually matched my taste<\/p>\n<\/li>\n<li>\n<p>Wallpaper apps that quietly track everything and push data to the cloud<\/p>\n<\/li>\n<li>\n<p>\u201cAI\u201d recommendations that never truly understood my aesthetic<\/p>\n<\/li>\n<\/ul>\n<p>I wanted something <strong>personal, private, and intelligent<\/strong>\u2014so I built it myself.<\/p>\n<h3>\u2728 What Vanderwaals Does:<br \/><\/h3>\n<p>Vanderwaals is an <strong>offline, on-device AI wallpaper app<\/strong> that learns <em>your<\/em> visual taste over time.<\/p>\n<p>It uses <strong>on-device machine learning<\/strong> to extract 576-dimensional visual embeddings from wallpapers and adapts based on what you like or dislike\u2014no internet required.<\/p>\n<p>You can use it in two simple ways:<\/p>\n<p><strong>1. Auto Mode<\/strong><br \/>Start from scratch. Like or dislike wallpapers, and the AI gradually tunes itself to your aesthetic.<\/p>\n<p><strong>2. Personalize Mode<\/strong><br \/>Upload <strong>one<\/strong> favorite wallpaper \u2192 instantly get <strong>100+ visually similar<\/strong> results.<\/p>\n<p>\ud83d\udd10 <strong>Privacy Is the Core Feature:<\/strong><\/p>\n<p>This was non-negotiable for me.<\/p>\n<ul>\n<li>\n<p>Runs <strong>100% offline<\/strong><\/p>\n<\/li>\n<li>\n<p>No cloud ML APIs<\/p>\n<\/li>\n<li>\n<p>No analytics<\/p>\n<\/li>\n<li>\n<p>No tracking<\/p>\n<\/li>\n<li>\n<p>No data collection<\/p>\n<\/li>\n<li>\n<p>Fully <strong>open source<\/strong> (audit everything yourself)<\/p>\n<\/li>\n<\/ul>\n<p>Your aesthetic preferences are deeply personal\u2014they should never leave your device.<\/p>\n<p>\ud83d\udee0\ufe0f <strong>Built With<\/strong><\/p>\n<ul>\n<li>\n<p>Kotlin + Jetpack Compose (Material 3)<\/p>\n<\/li>\n<li>\n<p>TensorFlow Lite (on-device inference)<\/p>\n<\/li>\n<li>\n<p>Room Database<\/p>\n<\/li>\n<li>\n<p>WorkManager for automation<\/p>\n<\/li>\n<li>\n<p>Dagger Hilt<\/p>\n<\/li>\n<\/ul>\n<p>Under the hood:<\/p>\n<ul>\n<li>\n<p>Cosine similarity for visual matching<\/p>\n<\/li>\n<li>\n<p>LAB color space for perceptual accuracy<\/p>\n<\/li>\n<li>\n<p>Exponential Moving Average (EMA) for adaptive learning<\/p>\n<\/li>\n<\/ul>\n<h3>\ud83d\uddbc\ufe0f Wallpaper Library:<\/h3>\n<ul>\n<li>\n<p>8,000+ curated wallpapers<\/p>\n<\/li>\n<li>\n<p>GitHub aesthetic collections<\/p>\n<\/li>\n<li>\n<p>Bing\u2019s daily photography archive<\/p>\n<\/li>\n<li>\n<p>Weekly auto-sync for fresh content<\/p>\n<\/li>\n<\/ul>\n<h3>\u23f3 6 Months, One Developer<br \/><\/h3>\n<p>This project was built during late nights and weekends. Along the way, I learned a lot about mobile ML optimization, Android\u2019s WorkManager quirks, and how to make AI feel <em>natural<\/em> instead of robotic.<\/p>\n<p>Special shout-out to <strong>Anthony La\u2019s Paperize<\/strong> project\u2014it inspired the wallpaper infrastructure.<\/p>\n<p>\ud83d\udd2e <strong>What\u2019s Coming Next:<\/strong><\/p>\n<ul>\n<li>\n<p>CLIP embeddings for semantic understanding<\/p>\n<\/li>\n<li>\n<p>Community-contributed collections<\/p>\n<\/li>\n<li>\n<p>Reddit sourcing (r\/wallpapers, r\/earthporn)<\/p>\n<\/li>\n<\/ul>\n<h3><strong>\ud83d\udcac AMA<\/strong><\/h3>\n<p>Happy to answer anything about:<\/p>\n<ul>\n<li>\n<p>Privacy-first design decisions<\/p>\n<\/li>\n<li>\n<p>Android + ML challenges<\/p>\n<\/li>\n<li>\n<p>Open-source licensing (AGPL-3.0)<\/p>\n<\/li>\n<li>\n<p>Or anything else you\u2019re curious about<\/p>\n<\/li>\n<\/ul>\n<p>Would love your feedback \ud83d\ude4f<\/p>\n<p><strong>GitHub:<\/strong> <a href=\"https:\/\/github.com\/avinaxhroy\/Vanderwaals\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/avinaxhroy\/Vanderwaals<\/a><br \/><strong>Play Store:<\/strong> <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=me.avinas.vanderwaals\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/play.google.com\/store\/apps\/details?id=me.avinas.vanderwaals<\/a><\/p>\n<p>Made with \u2764\ufe0f in India \ud83c\uddee\ud83c\uddf3<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/V6HNN4A6A5LJZG\" class=\"app-title\">ooml.io<\/a><\/p>\n<div class=\"one-liner\">Offline-first Loom-like video recording app for macOS<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">89<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u4e13\u6ce8\u4e8e\u672c\u5730\u3001\u5feb\u901f\u5f55\u5c4f\u7684macOS\u83dc\u5355\u680f\u5de5\u5177\uff0c\u901a\u8fc7\u79bb\u7ebf\u4f18\u5148\u548c\u65e0\u9700\u8d26\u6237\u7684\u8bbe\u8ba1\uff0c\u89e3\u51b3\u4e86\u7528\u6237\u5728\u5f55\u5236\u8bb2\u89e3\u3001\u53cd\u9988\u89c6\u9891\u65f6\u5bf9\u9690\u79c1\u3001\u901f\u5ea6\u548c\u8f7b\u4fbf\u6027\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/156ad692-bfda-4bf5-95be-e9d15ab3ba15.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/6OOwo4-vLL4\"><source src=\"https:\/\/youtu.be\/6OOwo4-vLL4\" 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\/439253e9-21b6-4dea-b6ad-1c1f0e67c368.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/886ffa69-8a49-4f39-b4cb-ab440e87f2d7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/50ea3e09-b983-413b-862c-9c33445b2cd7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f5dd5594-b8a0-4d63-8ed9-6b04847260eb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/17424ef2-f328-44b1-a7ec-4d25a27d97c3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cdf8b7dc-fd08-46c3-9518-13436d6fcff9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e1b44984-77b7-4978-9cf6-62e216748eb2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5c4f\u5e55\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u6d88\u606f<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u7ea7<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5b58\u50a8<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8d26\u6237<\/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\u5176\u83dc\u5355\u680f\u96c6\u6210\u3001\u540e\u53f0\u9759\u9ed8\u8fd0\u884c\u7684\u7406\u5ff5\u53ca\u9690\u79c1\u8bbe\u8ba1\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u5e0c\u671b\u63a8\u51faWindows\u7248\u672c\u3001\u4f18\u5316\u524d\u7f6e\u6444\u50cf\u5934\u955c\u50cf\u95ee\u9898\uff0c\u4ee5\u53ca\u8868\u8fbe\u4e86\u5bf9\u4ea7\u54c1\u4fdd\u6301\u514d\u8d39\u7684\u671f\u5f85\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ooml.io\u7684\u4eae\u76f8\uff0c\u4e0e\u5176\u8bf4\u662f\u4e00\u6b3e\u65b0\u5de5\u5177\uff0c\u4e0d\u5982\u8bf4\u662f\u4e00\u6b21\u5bf9\u5f53\u4e0b\u201c\u4e91\u9738\u6743\u201d\u5de5\u4f5c\u6d41\u7684\u6709\u529b\u53cd\u53db\u3002\u5b83\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u4e3b\u6d41\u5e02\u573a\u5ffd\u89c6\u7684\u7f1d\u9699\uff1a\u5e76\u975e\u6240\u6709\u5f02\u6b65\u89c6\u9891\u6c9f\u901a\u90fd\u9700\u8981\u7ecf\u8fc7\u5e73\u53f0\u7684\u4e2d\u8f6c\u3001\u5206\u6790\u548c\u5b58\u50a8\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u7a81\u7834\uff0c\u800c\u662f\u7406\u5ff5\u7684\u201c\u964d\u7ea7\u201d\u2014\u2014\u5c06\u89c6\u9891\u5f55\u5236\u56de\u5f52\u4e3a\u50cf\u622a\u56fe\u4e00\u6837\u7eaf\u7cb9\u7684\u672c\u5730\u7cfb\u7edf\u7ea7\u529f\u80fd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u5c06\u201c\u79bb\u7ebf\u4f18\u5148\u201d\u548c\u201c\u65e0\u8d26\u6237\u201d\u4f5c\u4e3a\u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u8fd9\u76f4\u51fb\u4e86Loom\u7b49\u5e73\u53f0\u578b\u5de5\u5177\u7684\u6838\u5fc3\u75db\u70b9\uff1a\u5f3a\u5236\u767b\u5f55\u3001\u4e0a\u4f20\u5ef6\u8fdf\u3001\u9690\u79c1\u62c5\u5fe7\u4ee5\u53ca\u529f\u80fd\u81c3\u80bf\u3002\u5b83\u670d\u52a1\u4e8e\u90a3\u4e9b\u201c\u5f55\u5b8c\u5373\u7528\u201d\u7684\u9ad8\u9891\u573a\u666f\uff0c\u6bd4\u5982\u5185\u90e8\u4ee3\u7801\u5ba1\u67e5\u3001\u5feb\u901f\u4ea7\u54c1\u53cd\u9988\u3001\u4e00\u6b65\u5230\u4f4d\u7684\u6559\u5b66\u6b65\u9aa4\u5f55\u5236\uff0c\u7528\u6237\u8981\u7684\u53ea\u662f\u4e00\u4e2a\u53ef\u7acb\u5373\u62d6\u62fd\u9644\u4ef6\u7684\u89c6\u9891\u6587\u4ef6\uff0c\u800c\u975e\u4e00\u4e2a\u9700\u8981\u5206\u53d1\u7684\u94fe\u63a5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u7406\u5ff5\u7684\u7eaf\u7cb9\u6027\u4e5f\u6784\u6210\u4e86\u5546\u4e1a\u5316\u548c\u6269\u5c55\u6027\u7684\u5929\u7136\u67b7\u9501\u3002\u4e00\u65e6\u5c40\u9650\u4e8e\u672c\u5730\uff0c\u5c31\u610f\u5473\u7740\u653e\u5f03\u4e86\u4e91\u7aef\u534f\u4f5c\u3001\u96c6\u4e2d\u7ba1\u7406\u3001\u6570\u636e\u5206\u6790\u7b49\u4f01\u4e1a\u7ea7\u529f\u80fd\uff0c\u5176\u5929\u82b1\u677f\u53ef\u80fd\u5c31\u662f\u4e00\u6b3e\u4f18\u79c0\u7684\u6548\u7387\u5de5\u5177\uff0c\u800c\u975e\u4e00\u4e2a\u5e73\u53f0\u3002\u7528\u6237\u5173\u4e8eWindows\u7248\u672c\u7684\u547c\u58f0\uff0c\u4e5f\u66b4\u9732\u4e86\u5176\u5f53\u524d\u53d7\u4f17\u7684\u5c40\u9650\u6027\u3002\u6b64\u5916\uff0c\u201c\u524d\u7f6e\u6444\u50cf\u5934\u975e\u955c\u50cf\u201d\u7b49\u57fa\u7840\u4f53\u9a8c\u7684\u7f3a\u5931\uff0c\u8bf4\u660e\u5176\u5728\u8ffd\u6c42\u7406\u5ff5\u7684\u540c\u65f6\uff0c\u4ecd\u9700\u6253\u78e8\u4f5c\u4e3a\u4e00\u6b3e\u6210\u719f\u5f55\u5c4f\u5de5\u5177\u7684\u57fa\u672c\u529f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cooml.io\u662f\u5199\u7ed9\u8d44\u6df1Mac\u7528\u6237\u7684\u4e00\u5c01\u201c\u60c5\u4e66\u201d\uff0c\u5b83\u6ee1\u8db3\u4e86\u4ed6\u4eec\u5bf9\u63a7\u5236\u6743\u3001\u9690\u79c1\u548c\u5373\u65f6\u6548\u5e94\u7684\u6781\u81f4\u8ffd\u6c42\u3002\u4f46\u5b83\u66f4\u50cf\u4e00\u4e2a\u5c16\u9510\u7684\u63d0\u95ee\u8005\uff0c\u8feb\u4f7f\u884c\u4e1a\u601d\u8003\uff1a\u5728\u4e00\u5207\u7686\u53ef\u4e91\u7684\u5e74\u4ee3\uff0c\u6211\u4eec\u662f\u5426\u8fc7\u5ea6\u590d\u6742\u5316\u4e86\u90a3\u4e9b\u672c\u5e94\u7b80\u5355\u7684\u9700\u6c42\uff1f\u5b83\u7684\u6210\u529f\u4e0e\u5426\uff0c\u5c06\u68c0\u9a8c\u5e02\u573a\u5bf9\u201c\u8f7b\u91cf\u672c\u5730\u5316\u201d\u9700\u6c42\u7684\u771f\u5b9e\u4f53\u91cf\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\">ooml.io<\/span>\n                <\/div>\n<div class=\"comment-content\">ooml.io is a a lightweight, offline-first video recording app for macOS. It lives in the menu bar, starts recording in one click, and saves everything locally on your Mac by default. Offline by default \u2014 no automatic uploads or cloud storage No accounts or onboarding \u2014 open it and record immediately Menu bar\u2013native design that runs quietly in the background Instead of asking you to adapt to a platform, ooml.io adapts to how you already work \u2014 fast, private, and out of the way.<\/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<br \/>\nI\u2019m Emory, the maker of ooml.io.<\/p>\n<p>I built ooml.io because I wanted a faster, more private way to record video messages using my screen and face \u2014 without accounts, uploads, or cloud platforms.<\/p>\n<p>Most video tools today feel like full platforms: dashboards, links, processing time, and workflows you didn\u2019t really ask for. I wanted something that felt more like a native Mac utility \u2014 open it from the menu bar, hit record, explain what you need to explain, and you\u2019re done. Your file is saved locally on your Mac, ready immediately.<\/p>\n<p>ooml.io is lightweight, runs quietly in the background, and is designed to stay out of your way while you work.<\/p>\n<p>I\u2019d love to hear your thoughts \u2014 especially from people who use video for walkthroughs, feedback, teaching, or quick updates.<br \/>\nThanks so much for checking it out \ud83d\ude4c<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Menu bar integration is smart. Everything I need is just a click away without opening  another app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>running quietly in background feels seamless. I barely notice it until I need 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>Congrats on the launch! <a href=\"https:\/\/www.producthunt.com\/@emoryfinn\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"emoryfinn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emoryfinn<\/a> Just curious to know, whether you would extend this for windows as well? Looks like a promising tool, would love to give it a try.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wow. its so much better than loom. I just wish the front cam video wasnt a mirror image. Sometime to make videos I use Microsoft&#8217;s clickchamp, it does have this feature but it doesnt have this much feature either. Hope it remains free, or at least some of the videos. 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\">Sometimes I find a product on Product Hunt, and I speak to myself: why aren&#8217;t all other products like this?<br \/>\nAnd Ooml is this kind of product. <\/p>\n<p>Why have we forgotten that we can make local software to record video with my local camera? Why involve the cloud in this operation? Never was a bright idea. We already have cloud storage if we need to back up videos. <\/p>\n<p>Nice product. Thanks, @emoryfinn for reminding me that my computer is mine. I don\u2019t need anybody\u2019s cloud computer to record a video.<\/p>\n<p>Congrats<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/QG32RIY6WWBHIR\" class=\"app-title\">ShipAddons<\/a><\/p>\n<div class=\"one-liner\">Ship Google Workspace add-ons without the setup pain<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">78<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ShipAddons\u662f\u4e00\u4e2a\u57fa\u4e8eReact\u3001Supabase\u7b49\u73b0\u4ee3\u6280\u672f\u6808\u7684\u751f\u4ea7\u5c31\u7eea\u578b\u6837\u677f\u9879\u76ee\uff0c\u65e8\u5728\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u6784\u5efaGoogle Workspace\u63d2\u4ef6\uff0c\u5f7b\u5e95\u89e3\u51b3\u8eab\u4efd\u9a8c\u8bc1\u3001\u524d\u540e\u7aef\u914d\u7f6e\u548c\u652f\u4ed8\u96c6\u6210\u7b49\u7e41\u7410\u7684\u521d\u59cb\u8bbe\u7f6e\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/3a9d7328-bffc-44f5-9e69-4ca5e1292713.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Zud__N9TU6Q\"><source src=\"https:\/\/youtu.be\/Zud__N9TU6Q\" 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\/1ce0bf20-5fa7-42e2-82e7-a0ef57f1a806.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Google Workspace\u63d2\u4ef6\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6837\u677f\u4ee3\u7801<\/span><br \/>\n            <span class=\"tag\">\u5feb\u901f\u542f\u52a8<\/span><br \/>\n            <span class=\"tag\">\u8eab\u4efd\u9a8c\u8bc1\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u652f\u4ed8\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">React<\/span><br \/>\n            <span class=\"tag\">Supabase<\/span><br \/>\n            <span class=\"tag\">Stripe<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u6765\u81ea\u521b\u4f5c\u8005\u7684\u8bc4\u8bba\uff0c\u5c5e\u4e8e\u4ea7\u54c1\u53d1\u5e03\u8bf4\u660e\u800c\u975e\u7528\u6237\u53cd\u9988\u3002\u521b\u4f5c\u8005Manuel\u9610\u8ff0\u4e86\u5f00\u53d1\u80cc\u666f\uff08\u89e3\u51b3\u91cd\u590d\u7684\u642d\u5efa\u75db\u70b9\uff09\u548c\u672c\u6b21\u6d4b\u8bd5\u7248\u53d1\u5e03\u6a21\u5f0f\uff08\u81ea\u4e3b\u5b9a\u4ef7\u4ee5\u83b7\u53d6\u65e9\u671f\u53cd\u9988\uff09\uff0c\u5e76\u8868\u8fbe\u4e86\u7b54\u7591\u610f\u613f\u3002\u6682\u65e0\u771f\u5b9e\u7528\u6237\u7684\u95ee\u9898\u6216\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ShipAddons\u7784\u51c6\u7684\u662f\u4e00\u4e2a\u9ad8\u5ea6\u5782\u76f4\u4e14\u75db\u70b9\u660e\u786e\u7684\u5229\u57fa\u5e02\u573a\u2014\u2014Google Workspace\u63d2\u4ef6\u5f00\u53d1\u3002\u5176\u771f\u6b63\u4ef7\u503c\u5e76\u975e\u6280\u672f\u521b\u65b0\uff0c\u800c\u662f\u5c06\u4e00\u79cd\u6210\u719f\u7684\u201c\u751f\u4ea7\u529b\u5957\u5229\u201d\u6a21\u5f0f\u5e94\u7528\u4e8e\u4e00\u4e2a\u88ab\u4e3b\u6d41\u5f00\u53d1\u8005\u751f\u6001\u76f8\u5bf9\u5ffd\u89c6\u7684\u89d2\u843d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u903b\u8f91\u6e05\u6670\u4e14\u52a1\u5b9e\uff1aGoogle Workspace\u62e5\u6709\u5e9e\u5927\u7684\u4f01\u4e1a\u7528\u6237\u57fa\u6570\uff0c\u5176\u63d2\u4ef6\u751f\u6001\u5b58\u5728\u9700\u6c42\uff0c\u4f46\u5f00\u53d1\u542f\u52a8\u95e8\u69db\u4e0d\u4f4e\u3002\u5f00\u53d1\u8005\u9700\u8981\u5904\u7406OAuth 2.0\u3001Workspace API\u3001\u524d\u540e\u7aef\u90e8\u7f72\u3001\u4ee5\u53ca\u53ef\u80fd\u9762\u4e34\u7684\u5546\u4e1a\u5316\u9700\u6c42\u3002ShipAddons\u5c06\u8fd9\u4e9b\u5206\u6563\u7684\u3001\u4e0e\u6838\u5fc3\u4e1a\u52a1\u903b\u8f91\u65e0\u5173\u7684\u201c\u810f\u6d3b\u7d2f\u6d3b\u201d\u6253\u5305\u6210\u4e00\u4e2a\u6807\u51c6\u5316\u6837\u677f\uff0c\u672c\u8d28\u4e0a\u662f\u5c06\u5f00\u53d1\u8005\u7684\u65f6\u95f4\u6210\u672c\u4ece\u201c\u91cd\u590d\u9020\u8f6e\u5b50\u201d\u8f6c\u5316\u4e3a\u201c\u76f4\u63a5\u88c5\u4fee\u6bdb\u576f\u623f\u201d\u3002\u5176\u6280\u672f\u9009\u578b\uff08React, Supabase, Stripe, Vite\uff09\u662f\u5f53\u524d\u4e3b\u6d41\u4e14\u53d7\u5f00\u53d1\u8005\u6b22\u8fce\u7684\u7ec4\u5408\uff0c\u8fd9\u964d\u4f4e\u4e86\u6280\u672f\u6808\u7684\u8ba4\u77e5\u4e0e\u5b66\u4e60\u8d1f\u62c5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6311\u6218\u540c\u6837\u5c16\u9510\u3002\u9996\u5148\uff0c\u5e02\u573a\u5929\u82b1\u677f\u53ef\u80fd\u6709\u9650\u3002\u4e13\u6ce8\u4e8eGoogle Workspace\u63d2\u4ef6\u7684\u5f00\u53d1\u8005\u7fa4\u4f53\u89c4\u6a21\u672c\u8eab\u662f\u4e00\u4e2a\u7591\u95ee\u3002\u5176\u6b21\uff0c\u4f5c\u4e3a\u201c\u6837\u677f\u201d\uff08Boilerplate\uff09\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u5929\u751f\u8106\u5f31\u3002\u201c\u81ea\u4e3b\u5b9a\u4ef7\u201d\u7684\u6d4b\u8bd5\u7b56\u7565\u53cd\u6620\u4e86\u83b7\u53d6\u65e9\u671f\u7528\u6237\u548c\u53cd\u9988\u7684\u8feb\u5207\uff0c\u4f46\u957f\u671f\u6765\u770b\uff0c\u8fd9\u7c7b\u4ea7\u54c1\u7684\u53d8\u73b0\u80fd\u529b\u901a\u5e38\u4e0d\u5f3a\uff0c\u6781\u6613\u88ab\u5f00\u6e90\u9879\u76ee\u6a21\u4eff\u6216\u66ff\u4ee3\u3002\u6700\u540e\uff0c\u5176\u4ef7\u503c\u9ad8\u5ea6\u4f9d\u8d56\u4e8eGoogle Workspace\u5e73\u53f0\u672c\u8eab\u7684\u653f\u7b56\u4e0eAPI\u7a33\u5b9a\u6027\uff0c\u5b58\u5728\u5e73\u53f0\u4f9d\u8d56\u98ce\u9669\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u9636\u6bb5\uff0c\u4ea7\u54c1\u6700\u5927\u7684\u77ed\u677f\u662f\u751f\u6001\u51b7\u542f\u52a8\u3002\u4ec5\u6709\u521b\u59cb\u4eba\u8bc4\u8bba\u7684\u73b0\u72b6\u8868\u660e\uff0c\u5b83\u5c1a\u672a\u89e6\u8fbe\u6216\u6fc0\u6d3b\u8db3\u591f\u7684\u76ee\u6807\u5f00\u53d1\u8005\u8fdb\u884c\u9a8c\u8bc1\u3002\u5b83\u7684\u6210\u529f\u4e0e\u5426\uff0c\u5c06\u4e0d\u53d6\u51b3\u4e8e\u4ee3\u7801\u672c\u8eab\u662f\u5426\u4f18\u96c5\uff0c\u800c\u5728\u4e8e\u80fd\u5426\u7cbe\u51c6\u805a\u96c6\u8d77\u90a3\u4e2a\u201c\u5c0f\u4f17\u800c\u75db\u82e6\u201d\u7684\u5f00\u53d1\u8005\u793e\u7fa4\uff0c\u5e76\u6784\u5efa\u8d77\u56f4\u7ed5\u8be5\u6837\u677f\u7684\u6700\u4f73\u5b9e\u8df5\u4e0e\u793e\u533a\u652f\u6301\uff0c\u4ece\u800c\u4ece\u201c\u5de5\u5177\u201d\u6f14\u5316\u4e3a\u201c\u51c6\u5e73\u53f0\u201d\u3002\u8fd9\u662f\u4e00\u573a\u9488\u5bf9\u9ad8\u5ea6\u4e13\u4e1a\u5316\u573a\u666f\u7684\u6548\u7387\u9769\u547d\uff0c\u4f46\u4e5f\u662f\u4e00\u573a\u5728\u72ed\u7a84\u8d5b\u9053\u4e0a\u7684\u8c6a\u8d4c\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\">ShipAddons<\/span>\n                <\/div>\n<div class=\"comment-content\">ShipAddons is a production-ready boilerplate for building Google Workspace add-ons. It solves the hardest parts: authentication, frontend setup, backend wiring, and billing, so you can focus on the actual product. Built with React, Supabase, and Stripe, Typescript, Vite and TailwindCSS.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey<br \/>\nI\u2019m Manuel, the maker of ShipAddons.<\/p>\n<p>After building multiple Google Workspace add-ons, I kept running into the same pain: setup, auth, and billing took longer than the actual product.<\/p>\n<p>So I packaged everything I learned into a production-ready boilerplate.<br \/>\nThis is a beta launch, and I\u2019m offering it as pay-what-you-want to get early feedback.<\/p>\n<p>I\u2019ll be around all day to answer questions, happy to help if you\u2019re building add-ons \ud83d\ude4c<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/RCEPPCSD6OFNKQ\" class=\"app-title\">Spring Boot CRUD Generator<\/a><\/p>\n<div class=\"one-liner\">Generate production-ready Spring Boot CRUD in seconds<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">76<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3eIntelliJ IDEA\u63d2\u4ef6\uff0c\u80fd\u591f\u4e00\u952e\u4eceJPA\u5b9e\u4f53\u751f\u6210\u751f\u4ea7\u5c31\u7eea\u7684Spring Boot\u540e\u7aefCRUD\u4ee3\u7801\uff0c\u89e3\u51b3\u4e86Java\u540e\u7aef\u5f00\u53d1\u8005\u91cd\u590d\u7f16\u5199\u6837\u677f\u4ee3\u7801\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                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/21ab6cea-68f3-4f36-a5ba-96a531ef4957.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/3Ifcibynsc0\"><source src=\"https:\/\/youtu.be\/3Ifcibynsc0\" 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\/9ee45ba9-8c1f-45ab-a990-d0136a949c14.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/097ee570-6e57-4a51-8464-c3b2033138de.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\/5915661e-53e2-4da6-af76-0d8cc682c0af.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\/796f868e-41ca-4a73-abcd-e719f9bcbcda.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\/594815de-f9aa-47c6-b04e-f98f6b80c60a.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">YouTube<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">IntelliJ\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">Java\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Spring Boot<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u540e\u7aef\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">CRUD<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6846\u67b6<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u5f00\u53d1\u8005\u81ea\u8ff0\u8bc4\u8bba\uff0c\u65e8\u5728\u4ecb\u7ecd\u4ea7\u54c1\u5e76\u5f81\u96c6\u53cd\u9988\uff0c\u5c1a\u65e0\u771f\u5b9e\u7528\u6237\u7684\u4f7f\u7528\u53cd\u9988\u6216\u5177\u4f53\u95ee\u9898\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u8fd9\u6b3e\u4ea7\u54c1\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u7ecf\u5178\u4e14\u987d\u56fa\u7684\u5f00\u53d1\u8005\u75db\u70b9\uff1a\u4f01\u4e1a\u7ea7Java\u5e94\u7528\u5f00\u53d1\u4e2d\u7e41\u590d\u3001\u673a\u68b0\u7684CRUD\u4ee3\u7801\u7f16\u5199\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u521b\u65b0\uff0c\u800c\u5728\u4e8e\u5c06\u201c\u6700\u4f73\u5b9e\u8df5\u201d\u548c\u201c\u7ea6\u5b9a\u4fd7\u6210\u201d\u7684\u67b6\u6784\u6a21\u5f0f\uff08\u5982\u5206\u5c42\u67b6\u6784\u3001DTO\u3001\u5168\u5c40\u5f02\u5e38\u5904\u7406\u3001API\u6587\u6863\uff09\u8fdb\u884c\u5de5\u4e1a\u5316\u5c01\u88c5\uff0c\u5b9e\u73b0\u4ece\u5b9e\u4f53\u5b9a\u4e49\u5230\u751f\u4ea7\u5c31\u7eea\u4ee3\u7801\u7684\u201c\u4e00\u952e\u7f16\u8bd1\u201d\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5c06\u8d44\u6df1\u67b6\u6784\u5e08\u7684\u7ecf\u9a8c\u4ea7\u54c1\u5316\u3001\u81ea\u52a8\u5316\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6311\u6218\u540c\u6837\u6e05\u6670\u3002\u9996\u5148\uff0c\u6df1\u5ea6\u7ed1\u5b9aIntelliJ IDEA\u548cSpring Boot\u751f\u6001\uff0c\u65e2\u662f\u5176\u4f18\u52bf\u4e5f\u662f\u5929\u82b1\u677f\uff0c\u7528\u6237\u7fa4\u4f53\u89c4\u6a21\u53d7\u9650\u3002\u5176\u6b21\uff0c\u751f\u6210\u7684\u201c\u5e72\u51c0\u67b6\u6784\u201d\u662f\u5426\u8db3\u591f\u7075\u6d3b\u4ee5\u5e94\u5bf9\u590d\u6742\u7684\u4e1a\u52a1\u903b\u8f91\u53d8\u5f02\uff0c\u9700\u8981\u6253\u4e00\u4e2a\u95ee\u53f7\u3002\u8fc7\u5ea6\u4f9d\u8d56\u751f\u6210\u4ee3\u7801\u53ef\u80fd\u5bfc\u81f4\u5f00\u53d1\u8005\u5bf9\u5e95\u5c42\u6846\u67b6\u7406\u89e3\u949d\u5316\uff0c\u4e14\u5728\u590d\u6742\u4e1a\u52a1\u573a\u666f\u4e0b\uff0c\u4fee\u6539\u751f\u6210\u4ee3\u7801\u7684\u6210\u672c\u53ef\u80fd\u9ad8\u4e8e\u4ece\u5934\u7f16\u5199\u3002\u6700\u540e\uff0c\u4ece\u4ec5\u6709\u5f00\u53d1\u8005\u8bc4\u8bba\u7684\u73b0\u72b6\u770b\uff0c\u5176\u771f\u5b9e\u4e16\u754c\u7684\u91c7\u7528\u7387\u3001\u4e0e\u5404\u7c7b\u9879\u76ee\u7684\u96c6\u6210\u5ea6\u3001\u4ee5\u53ca\u5bf9\u5fae\u670d\u52a1\u7b49\u66f4\u73b0\u4ee3\u67b6\u6784\u7684\u652f\u6301\u80fd\u529b\uff0c\u4ecd\u6709\u5f85\u5e02\u573a\u68c0\u9a8c\u3002\u5b83\u7684\u6210\u529f\u4e0e\u5426\uff0c\u5c06\u53d6\u51b3\u4e8e\u80fd\u5426\u5728\u201c\u5f00\u7bb1\u5373\u7528\u201d\u7684\u4fbf\u5229\u6027\u4e0e\u201c\u7075\u6d3b\u5b9a\u5236\u201d\u7684\u6df1\u5ea6\u4e4b\u95f4\u627e\u5230\u6700\u4f73\u5e73\u8861\u70b9\uff0c\u907f\u514d\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u201c\u73a9\u5177\u201d\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\">Spring Boot CRUD Generator<\/span>\n                <\/div>\n<div class=\"comment-content\">Spring Boot CRUD Generator is an IntelliJ IDEA plugin that generates production-ready backend layers from a JPA entity in one click. It creates Controllers, Services, Repositories, DTOs, Mappers, pagination, auditing, global exception handling, Swagger\/OpenAPI docs, and optional JWT security with role-based access. Built for Java backend developers who want clean architecture without repetitive CRUD boilerplate.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b  <\/p>\n<p>I\u2019m Karan, a Java backend developer, and I built Spring Boot CRUD Generator to solve a problem I faced daily \u2014 rewriting the same CRUD code again and again.<\/p>\n<p>This plugin lets you generate a full, production-ready Spring Boot backend directly from a JPA entity in IntelliJ IDEA, including pagination, auditing, Swagger docs, global exception handling, and optional JWT security with role-based access.<\/p>\n<p>I\u2019d love your feedback and suggestions for future improvements \ud83d\ude80<\/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<\/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\/TVELBHGKD2RGDL\" class=\"app-title\">SantaCalls.ai<\/a><\/p>\n<div class=\"one-liner\">Free calls with AI Santa<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">61<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u5229\u7528AI\u8bed\u97f3\u6280\u672f\uff0c\u4e3a\u82f1\u56fd\u53ca\u9a6c\u6069\u5c9b\u7684\u513f\u7ae5\u63d0\u4f9b\u514d\u8d39\u3001\u5b89\u5168\u3001\u4e2a\u6027\u5316\u7684\u5723\u8bde\u8001\u4eba\u901a\u8bdd\u670d\u52a1\uff0c\u5728\u8282\u65e5\u573a\u666f\u4e0b\u4e3a\u5bb6\u5ead\u521b\u9020\u795e\u5947\u4f53\u9a8c\u5e76\u89e3\u51b3\u7236\u6bcd\u8425\u9020\u8282\u65e5\u6c1b\u56f4\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\/78995498-3d34-4e76-a85f-008c578b0b9b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7b152192-4a90-4181-88dc-86a4f6569143.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6d5a809b-94d5-4eab-86c3-a4f95e202e51.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/86ddfb6f-a227-4c36-b1b3-4a9c3cb9d5b7.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\">Kids<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Family<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bed\u97f3\u4e92\u52a8<\/span><br \/>\n            <span class=\"tag\">\u513f\u7ae5\u5a31\u4e50<\/span><br \/>\n            <span class=\"tag\">\u8282\u65e5\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u966a\u4f34<\/span><br \/>\n            <span class=\"tag\">\u751f\u6210\u5f0fAI<\/span><br \/>\n            <span class=\"tag\">\u82f1\u56fd\u672c\u5730\u5316<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">AI\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u901a\u8bdd<\/span><br \/>\n            <span class=\"tag\">\u6559\u80b2\u79d1\u6280<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4ebaBrian\u4ecb\u7ecd\u4e86\u4ea7\u54c1\u7075\u611f\u6e90\u81ea\u672c\u5730AI\u793e\u533a\u7ade\u8d5b\uff0c\u5e76\u57283\u5929\u5185\u901a\u8fc7AI\u8f85\u52a9\u5b8c\u6210\u5f00\u53d1\u3002\u91cd\u70b9\u5f3a\u8c03\u4e86\u513f\u7ae5\u5b89\u5168\u9632\u62a4\u63aa\u65bd\uff0c\u5e76\u5206\u4eab\u4e86\u4e00\u4e2a\u6bcd\u4eb2\u5229\u7528\u8be5\u5e94\u7528\u5f15\u5bfc\u5b69\u5b50\u7684\u771f\u5b9e\u6848\u4f8b\u3002\u7528\u6237\u53cd\u9988\u663e\u793a\u5176\u670d\u52a1\u5df2\u5feb\u901f\u8986\u76d6\u8d8550\u4e2a\u56fd\u5bb6\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                SantaCalls.ai\u8868\u9762\u662f\u4e00\u4e2a\u8282\u65e5\u8da3\u5473\u5e94\u7528\uff0c\u5185\u6838\u5374\u662f\u4e00\u6b21\u5bf9AI Agent\u4ea7\u54c1\u5316\u4e0e\u5b89\u5168\u8fb9\u754c\u7684\u7cbe\u51c6\u5b9e\u9a8c\u3002\u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u4e0e\u5723\u8bde\u8001\u4eba\u901a\u8bdd\u201d\u8fd9\u4e2a\u5355\u8584\u573a\u666f\uff0c\u800c\u5728\u4e8e\u5b83\u7528\u6781\u4f4e\u6210\u672c\u9a8c\u8bc1\u4e86\u4e09\u4e2a\u5173\u952e\u547d\u9898\uff1a\u7b2c\u4e00\uff0c\u5728\u9ad8\u5ea6\u5782\u76f4\u7684\u9886\u57df\uff0cAI\u80fd\u901a\u8fc7\u201c\u6c1b\u56f4\u7f16\u7801\u201d\u5b9e\u73b0\u60ca\u4eba\u7684\u5f00\u53d1\u6548\u7387\uff1b\u7b2c\u4e8c\uff0c\u901a\u8fc7\u4e25\u8c28\u7684\u9632\u62a4\u680f\u8bbe\u8ba1\uff0c\u751f\u6210\u5f0fAI\u53ef\u4ee5\u5b89\u5168\u5730\u5e94\u7528\u4e8e\u6700\u8106\u5f31\u7684\u513f\u7ae5\u7fa4\u4f53\uff0c\u751a\u81f3\u80fd\u5904\u7406\u6d17\u6fa1\u3001\u7761\u89c9\u7b49\u975e\u9884\u8bbe\u7684\u590d\u6742\u4eb2\u5b50\u4e92\u52a8\uff0c\u8fd9\u4e3aAI\u5728\u5bb6\u5ead\u6559\u80b2\u573a\u666f\u7684\u6e17\u900f\u63d0\u4f9b\u4e86\u5b89\u5168\u6837\u672c\uff1b\u7b2c\u4e09\uff0c\u201c\u672c\u5730\u5316\u8def\u7531\u201d\u8bbe\u8ba1\u5c55\u73b0\u4e86AI\u5e94\u7528\u4ece\u865a\u62df\u4ea4\u4e92\u5411\u5b9e\u4f53\u7ecf\u6d4e\u5bfc\u6d41\u7684\u5546\u4e1a\u60f3\u8c61\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5c40\u9650\u6027\u540c\u6837\u660e\u663e\u3002\u4f5c\u4e3a\u5b63\u8282\u6027\u5e94\u7528\uff0c\u7528\u6237\u7559\u5b58\u548c\u957f\u671f\u4ef7\u503c\u5b58\u7591\uff0c\u8282\u65e5\u8fc7\u540e\u6050\u6210\u201c\u6570\u5b57\u5e9f\u589f\u201d\u3002\u5176\u6210\u529f\u4e25\u91cd\u4f9d\u8d56\u6587\u5316\u7279\u5b9a\u7b26\u53f7\uff08\u5723\u8bde\u8001\u4eba\uff09\uff0c\u6a21\u5f0f\u96be\u4ee5\u590d\u5236\u5230\u5176\u4ed6\u6587\u5316\u6216\u65e5\u5e38\u573a\u666f\u3002\u867d\u7136\u5b89\u5168\u6846\u67b6\u503c\u5f97\u79f0\u9053\uff0c\u4f46\u5c06\u513f\u7ae5\u60c5\u611f\u5bc4\u6258\u4e8eAI\uff0c\u957f\u671f\u53ef\u80fd\u524a\u5f31\u771f\u5b9e\u4eba\u9645\u4e92\u52a8\u3002\u8be5\u4ea7\u54c1\u66f4\u50cf\u4e00\u4e2a\u6280\u672f\u6f14\u793a\uff0c\u800c\u975e\u53ef\u6301\u7eed\u4e1a\u52a1\uff0c\u5b83\u63ed\u793a\u4e86\u5f53\u524dAI\u521b\u4e1a\u7684\u666e\u904d\u56f0\u5883\uff1a\u6280\u672f\u60ca\u8273\u611f\u4e0e\u5546\u4e1a\u8106\u5f31\u6027\u5e76\u5b58\u3002\u82e5\u80fd\u5c06\u5176\u9a8c\u8bc1\u7684\u5b89\u5168\u67b6\u6784\u548c\u5b9e\u65f6\u8bed\u97f3\u4ea4\u4e92\u80fd\u529b\u6c89\u6dc0\u4e3a\u5e73\u53f0\u5de5\u5177\uff0c\u6216\u8bb8\u6bd4\u5b63\u8282\u6027\u5e94\u7528\u672c\u8eab\u66f4\u5177\u957f\u8fdc\u4ef7\u503c\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">SantaCalls.ai<\/span>\n                <\/div>\n<div class=\"comment-content\">FREE AI-powered voice calls with Santa Claus for Isle of Man and UK children. Safe, magical, personalised conversations with Santa.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Brian from LEMA Logic on the Isle of Man. SantaCalls started as an entry for our local AI Meetup&#8217;s Christmas competition \u2013 and ended up talking to kids in 50+ countries.<\/p>\n<p>What inspired it:<\/p>\n<p>Our Isle of Man AI Community of Practice runs monthly meetups, and December&#8217;s challenge was to build something festive with AI. That same day, I got a renewal notice for a domain I&#8217;d registered 2 years ago and forgotten about: SantaCalls.ai. Well then \u2013 let&#8217;s see how quickly we can build something using AI to build our AI!<\/p>\n<p>The build:<\/p>\n<p>3 days. Zero hand-written code. Every line was generated through conversation with Claude Code (Anthropic&#8217;s AI coding assistant). My job was architecture, direction, and knowing what to ask for. ~15,000 lines of TypeScript, HTML, CSS \u2013 all vibe-coded.<\/p>\n<p>The stack: <\/p>\n<p>Retell AI for real-time voice, GPT-4o for Santa&#8217;s brain, ElevenLabs for a warm British Santa voice, Cloudflare for hosting, Deepgram for transcript processing.<\/p>\n<p>Child safety was non-negotiable:<\/p>\n<p>Comprehensive content guardrails, PII redaction, and carefully trained responses for sensitive topics \u2013 deceased relatives, divorce, illness. We didn&#8217;t want any child hurt by a careless AI response.<\/p>\n<p>The moment that surprised me most:<\/p>\n<p>In QA, we saw a mother-daughter pair call three times in one night. <\/p>\n<p>&#8211; First call: adorable 4-year-old chatting sweetly with Santa.<br \/>\n&#8211; Second call: &#8220;This is [child]&#8217;s mom \u2013 she won&#8217;t take her bath. Can you tell her?&#8221; Santa asked for the child, gently talked her through being a good helper and listening to mum.<br \/>\n&#8211; Third call: &#8220;Santa, now she won&#8217;t go to bed.&#8221; Santa talked about rest and finished with: &#8220;The sooner you go to sleep, the sooner Christmas will be here.&#8221;<\/p>\n<p>None of that was programmed. The AI figured it out from our safety guardrails and its general knowledge. That&#8217;s when I knew we&#8217;d built something special.<\/p>\n<p>Local business support:<\/p>\n<p>We&#8217;re Isle of Man-based, so we built country-level routing \u2013 when parents click gift suggestions from their child&#8217;s wishlist, Isle of Man visitors get local Google searches supporting on-Island businesses. Other countries route to appropriate local options or affiliate programs.<\/p>\n<p>100% free. No catch. Just a Christmas gift to families. \ud83c\udf84<\/p>\n<p>Happy to answer questions about vibe-coding, child safety in AI, or the weirdest things kids have asked Santa for.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>We&#8217;ve up to 56 countries already, in just one week!<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/488bbbee-d9e3-4005-8cb1-108c414ce560.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<\/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\/ROUCZEJN3I64W6\" class=\"app-title\">EyeBreathalyzer<\/a><\/p>\n<div class=\"one-liner\">AI that detects drug &#038; alcohol intoxication through the eyes<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">30<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u901a\u8fc7\u624b\u673a\u6444\u50cf\u5934\u548cAI\u5206\u6790\u773c\u7403\u8fd0\u52a8\u6a21\u5f0f\uff0c\u65e0\u9700\u989d\u5916\u786c\u4ef6\u5373\u53ef\u5373\u65f6\u68c0\u6d4b\u836f\u7269\u6216\u9152\u7cbe\u5bfc\u81f4\u7684\u795e\u7ecf\u635f\u4f24\u7684\u5e94\u7528\uff0c\u65e8\u5728\u4e3a\u4e2a\u4eba\u81ea\u67e5\u3001\u5de5\u4f5c\u573a\u6240\u5b89\u5168\u7b49\u573a\u666f\u63d0\u4f9b\u4fbf\u6377\u7684\u635f\u5bb3\u5224\u65ad\u5de5\u5177\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\/ec1defaa-64e4-4128-b920-52aeb77b6ec7.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\/046c4226-d994-4280-82a2-b1593e06610e.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\/499b27a4-8651-4cda-a7f5-5aea664dd412.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\/6cfb583d-a6f1-4c74-8200-2efde5a3de86.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\/b93be069-ea27-4573-965f-fd2f573f8d26.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/MTeXdZsQu6w?feature=share\"><source src=\"https:\/\/youtube.com\/shorts\/MTeXdZsQu6w?feature=share\" 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\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Transportation<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5065\u5eb7\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">AI\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u4e2d\u6bd2\u7b5b\u67e5<\/span><br \/>\n            <span class=\"tag\">\u773c\u7403\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u795e\u7ecf\u79d1\u5b66<\/span><br \/>\n            <span class=\"tag\">\u516c\u5171\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u9884\u9632\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u751f\u7269\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u65e0\u786c\u4ef6\u4f9d\u8d56<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u6709\u6548\u8bc4\u8bba\u4e3b\u8981\u4e3a\u521b\u59cb\u4eba\u53d1\u5e03\u7684\u542f\u52a8\u516c\u544a\uff0c\u5176\u6838\u5fc3\u662f\u547c\u5401\u7528\u6237\u514d\u8d39\u8bd5\u7528\u5e76\u63d0\u4f9b\u53cd\u9988\uff0c\u4ee5\u5e2e\u52a9\u6539\u8fdb\u4ea7\u54c1\u3002\u6682\u672a\u770b\u5230\u6765\u81ea\u5b9e\u9645\u7528\u6237\u7684\u4f53\u9a8c\u53cd\u9988\u3001\u95ee\u9898\u6216\u5177\u4f53\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                EyeBreathalyzer \u63d0\u51fa\u7684\u662f\u4e00\u4e2a\u6781\u5177\u91ce\u5fc3\u4e14\u654f\u611f\u7684\u6982\u5ff5\uff1a\u5c06\u667a\u80fd\u624b\u673a\u53d8\u4e3a\u4fbf\u643a\u5f0f\u795e\u7ecf\u635f\u4f24\u68c0\u6d4b\u4eea\u3002\u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u66ff\u4ee3\u6267\u6cd5\u7ea7\u7684\u547c\u5438\u6d4b\u8bd5\u4eea\uff0c\u800c\u5728\u4e8e\u5f00\u8f9f\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u3001\u4f4e\u95e8\u69db\u7684\u201c\u5373\u65f6\u81ea\u7701\u201d\u4e0e\u201c\u98ce\u9669\u9884\u8b66\u201d\u5e02\u573a\u3002\u5b83\u8bd5\u56fe\u5c06\u590d\u6742\u7684\u795e\u7ecf\u884c\u4e3a\u5b66\u6307\u6807\uff08\u773c\u7403\u8fd0\u52a8\uff09\u901a\u8fc7AI\u5e73\u6c11\u5316\uff0c\u8fd9\u65e2\u662f\u5176\u521b\u65b0\u4eae\u70b9\uff0c\u4e5f\u662f\u6700\u5927\u7684\u98ce\u9669\u9677\u9631\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6280\u672f\u5c42\u9762\u770b\uff0c\u5176\u5ba3\u79f0\u7684\u201c\u65e0\u9700\u7279\u6b8a\u786c\u4ef6\u201d\u662f\u4e00\u628a\u53cc\u5203\u5251\u3002\u624b\u673a\u6444\u50cf\u5934\u7684\u5e27\u7387\u3001\u5206\u8fa8\u7387\u3001\u73af\u5883\u5149\u7ebf\u53ca\u7528\u6237\u914d\u5408\u5ea6\uff0c\u90fd\u5c06\u6781\u5927\u5f71\u54cd\u6570\u636e\u91c7\u96c6\u8d28\u91cf\uff0c\u8fdb\u800c\u6311\u6218AI\u6a21\u578b\u7684\u53ef\u9760\u6027\u3002\u68c0\u6d4b\u201c\u771f\u5b9e\u635f\u4f24\u201d\u800c\u975e\u5355\u7eaf\u7684\u7269\u8d28\u5b58\u5728\uff0c\u5728\u533b\u5b66\u548c\u6cd5\u5f8b\u4e0a\u90fd\u662f\u7070\u8272\u5730\u5e26\uff0c\u4e00\u4e2a\u5fae\u5c0f\u7684\u8bef\u5224\uff08\u5047\u9633\u6027\u6216\u5047\u9634\u6027\uff09\u90fd\u53ef\u80fd\u5f15\u53d1\u4e25\u91cd\u7684\u4e2a\u4eba\u6216\u804c\u4e1a\u540e\u679c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u4ea7\u54c1\u9636\u6bb5\u66f4\u50cf\u662f\u4e00\u4e2a\u5927\u80c6\u7684\u4f17\u5305\u6570\u636e\u6536\u96c6\u5b9e\u9a8c\u3002\u521b\u59cb\u4eba\u76f4\u8a00\u201c\u5f00\u653e\u514d\u8d39\u8bbf\u95ee\u4ee5\u901a\u8fc7\u771f\u5b9e\u4f7f\u7528\u6765\u6539\u8fdb\u201d\uff0c\u8fd9\u66b4\u9732\u4e86\u5176\u6838\u5fc3\u7b56\u7565\uff1a\u7528\u6781\u7b80\u7684MVP\uff08\u6700\u5c0f\u53ef\u884c\u4ea7\u54c1\uff09\u5feb\u901f\u5207\u5165\u5e02\u573a\uff0c\u4ee5\u7528\u6237\u6570\u636e\u5582\u517b\u548c\u4f18\u5316\u7b97\u6cd5\u3002\u7136\u800c\uff0c\u8fd9\u4e5f\u5c06\u65e9\u671f\u7528\u6237\u7f6e\u4e8e\u201c\u6d4b\u8bd5\u5458\u201d\u751a\u81f3\u201c\u5c0f\u767d\u9f20\u201d\u7684\u4f4d\u7f6e\uff0c\u5728\u7f3a\u4e4f\u660e\u786e\u7cbe\u5ea6\u62a5\u544a\u548c\u4e34\u5e8a\u9a8c\u8bc1\u80cc\u4e66\u7684\u60c5\u51b5\u4e0b\uff0c\u7528\u6237\u4f9d\u8d56\u5176\u7ed3\u679c\u505a\u51fa\u7684\u51b3\u7b56\u98ce\u9669\u6781\u9ad8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u7684\u524d\u666f\u53d6\u51b3\u4e8e\u80fd\u5426\u8de8\u8d8a\u4ece\u201c\u6709\u8da3\u7684\u6982\u5ff5\u9a8c\u8bc1\u201d\u5230\u201c\u53ef\u4fe1\u7684\u8f85\u52a9\u5de5\u5177\u201d\u7684\u9e3f\u6c9f\u3002\u8fd9\u9700\u8981\u4e25\u8c28\u7684\u7b2c\u4e09\u65b9\u9a8c\u8bc1\u3001\u6e05\u6670\u7684\u9002\u7528\u573a\u666f\u4e0e\u8d23\u4efb\u754c\u5b9a\uff08\u4f8b\u5982\uff0c\u4ec5\u7528\u4e8e\u81ea\u6211\u63d0\u9192\uff0c\u800c\u975e\u4f5c\u4e3a\u96c7\u4f63\u6216\u6cd5\u5f8b\u8bc1\u636e\uff09\uff0c\u4ee5\u53ca\u5f3a\u5927\u7684\u6570\u636e\u9690\u79c1\u4fdd\u62a4\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u4e00\u4e2a\u5145\u6ee1\u672a\u6765\u611f\u3001\u4f46\u5b9e\u7528\u6027\u4e0e\u53ef\u9760\u6027\u5b58\u7591\u7684\u79d1\u6280\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">EyeBreathalyzer<\/span>\n                <\/div>\n<div class=\"comment-content\">EyeBreathalyzer uses AI to analyze eye movement patterns to detect real impairment. No breath test. No special hardware.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\ud83d\udc4b Hey Product Hunt I\u2019m Kemar founder of HazyEyes.<\/p>\n<p>What if impairment could be detected instantly just by looking at how your eyes move?<br \/>\nEyeBreathalyzer uses AI to analyze eye movement patterns linked to real brain impairment. No breath test. No special hardware. Just your device.<\/p>\n<p>We\u2019re opening free access during launch because the fastest way to improve this is real world use and feedback.<\/p>\n<p>Try it. Break it. Tell us where it works and where it doesn\u2019t. If your eyes are impaired we want to know. Drop questions, ideas, or wild use cases below \ud83d\udc47<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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\/OQPN7OI5ZPYADG\" class=\"app-title\">Cinematic Ads with Presets<\/a><\/p>\n<div class=\"one-liner\">Upload a product image. Pick a style. Get a cinematic ad.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">15<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u5229\u7528\u9884\u8bbe\u98ce\u683cAI\u6a21\u578b\uff0c\u8ba9\u7528\u6237\u4e0a\u4f20\u4ea7\u54c1\u56fe\u7247\u5373\u53ef\u5feb\u901f\u751f\u6210\u7535\u5f71\u8d28\u611f\u5e7f\u544a\u7684\u5de5\u5177\uff0c\u89e3\u51b3\u4e86\u4e2d\u5c0f\u4f01\u4e1a\u5236\u4f5c\u9ad8\u8d28\u91cf\u8425\u9500\u5185\u5bb9\u6210\u672c\u9ad8\u3001\u5468\u671f\u957f\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\/9f5bf839-28fc-4f6b-bf13-3d0dc2e5c434.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/18b7488c-8179-4881-a8d4-fd3bcf1570e2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d66fea9c-fc25-4479-bbc3-16b8e81c50a6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Social Media<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u89c6\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u5e7f\u544a<\/span><br \/>\n            <span class=\"tag\">\u7535\u5f71\u8d28\u611f<\/span><br \/>\n            <span class=\"tag\">\u6a21\u677f\u5316\u521b\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u4e2d\u5c0f\u4f01\u4e1a\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u5185\u5bb9<\/span><br \/>\n            <span class=\"tag\">Gan.AI<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u5b98\u65b9\u56e2\u961f\u53d1\u5e03\u7684\u53d1\u5e03\u4ecb\u7ecd\u8bc4\u8bba\uff0c\u5c1a\u65e0\u771f\u5b9e\u7528\u6237\u53cd\u9988\u3002\u8bc4\u8bba\u4e2d\u56e2\u961f\u9610\u8ff0\u4e86\u4ea7\u54c1\u5f00\u53d1\u7684\u521d\u8877\uff08\u89e3\u51b3\u5e7f\u544a\u5236\u4f5c\u8017\u65f6\u8017\u8d44\u95ee\u9898\uff09\u548c\u672a\u6765\u613f\u666f\uff08\u6269\u5c55\u66f4\u591a\u9884\u8bbe\u98ce\u683c\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u8fd9\u6b3e\u4ea7\u54c1\u5c06\u201cAI\u751f\u6210\u5185\u5bb9\u201d\u7684\u5b8f\u5927\u53d9\u4e8b\uff0c\u7cbe\u51c6\u5730\u5207\u5165\u4e86\u201c\u7535\u5546\u4ea7\u54c1\u5e7f\u544a\u201d\u8fd9\u4e2a\u5782\u76f4\u4e14\u9ad8\u9891\u7684\u7ec6\u5206\u573a\u666f\uff0c\u8fd9\u662f\u4e00\u4e2a\u806a\u660e\u7684\u843d\u5730\u7b56\u7565\u3002\u5176\u5ba3\u79f0\u7684\u4ef7\u503c\u2014\u2014\u201cNo shoots. No editing.\u201d\u2014\u2014\u76f4\u6307\u4f20\u7edf\u5e7f\u544a\u5236\u4f5c\u6d41\u7a0b\u4e2d\u6210\u672c\u4e0e\u4e13\u4e1a\u95e8\u69db\u7684\u6838\u5fc3\u75db\u70b9\uff0c\u5bf9\u9884\u7b97\u6709\u9650\u7684\u4e2d\u5c0f\u5546\u5bb6\u548c\u72ec\u7acb\u54c1\u724c\u5177\u6709\u76f4\u89c2\u5438\u5f15\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u6311\u6218\u4e0e\u4ef7\u503c\u6df1\u5ea6\u5e76\u5b58\u3002\u9996\u5148\uff0c\u201c\u7535\u5f71\u8d28\u611f\u201d\u662f\u4e00\u4e2a\u4e3b\u89c2\u4e14\u9ad8\u6807\u51c6\u7684\u627f\u8bfa\uff0c\u5f53\u524dAI\u751f\u6210\u89c6\u9891\u5728\u7ec6\u8282\u4e00\u81f4\u6027\u3001\u5149\u5f71\u771f\u5b9e\u611f\u548c\u53d9\u4e8b\u903b\u8f91\u4e0a\u4ecd\u5b58\u7f3a\u9677\uff0c\u80fd\u5426\u6301\u7eed\u4ea7\u51fa\u771f\u6b63\u7b26\u5408\u201c\u7535\u5f71\u7ea7\u201d\u5ba1\u7f8e\u3001\u800c\u975e\u4ec5\u4ec5\u662f\u6ee4\u955c\u53e0\u52a0\u7684\u5e7f\u544a\uff0c\u662f\u4ea7\u54c1\u751f\u547d\u7ebf\u7684\u5173\u952e\u3002\u5176\u6b21\uff0c\u5176\u201c\u9884\u8bbe\u98ce\u683c\u201d\u6a21\u5f0f\u662f\u4e00\u628a\u53cc\u5203\u5251\uff1a\u5b83\u964d\u4f4e\u4e86\u4f7f\u7528\u95e8\u69db\uff0c\u4f46\u4e5f\u53ef\u80fd\u8fc5\u901f\u5bfc\u81f4\u5185\u5bb9\u540c\u8d28\u5316\uff0c\u5f53\u6240\u6709\u5723\u8bde\u5e7f\u544a\u90fd\u4f7f\u7528\u540c\u4e00\u5957AI\u201c\u667a\u529b\u201d\u65f6\uff0c\u6240\u8c13\u7684\u201c\u521b\u610f\u201d\u4fbf\u4e0d\u590d\u5b58\u5728\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u957f\u8fdc\u770b\uff0c\u4ea7\u54c1\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u5355\u6b21\u89c6\u9891\u751f\u6210\uff0c\u800c\u5728\u4e8e\u5176\u201c\u9884\u8bad\u7ec3\u521b\u610f\u667a\u80fd\u201d\u80fd\u5426\u5f62\u6210\u6570\u636e\u98de\u8f6e\u3002\u5982\u679c\u5b83\u80fd\u6301\u7eed\u4ece\u7528\u6237\u9009\u62e9\u4e0e\u53cd\u9988\u4e2d\u5b66\u4e60\uff0c\u6f14\u5316\u51fa\u66f4\u7cbe\u51c6\u7684\u98ce\u683c\u3001\u66f4\u7406\u89e3\u4ea7\u54c1\u4e0e\u60c5\u7eea\u7684\u5173\u8054\uff0c\u751a\u81f3\u80fd\u6839\u636e\u8f6c\u5316\u6570\u636e\u4f18\u5316\u5e7f\u544a\u6a21\u677f\uff0c\u90a3\u4e48\u5b83\u5c06\u4ece\u4e00\u4e2a\u5de5\u5177\u5347\u7ea7\u4e3a\u201c\u521b\u610f\u5408\u4f5c\u4f19\u4f34\u201d\u3002\u76ee\u524d\u4ec515\u7968\u7684\u5173\u6ce8\u5ea6\u8868\u660e\uff0c\u5b83\u4ecd\u5904\u4e8e\u975e\u5e38\u65e9\u671f\u7684\u5e02\u573a\u9a8c\u8bc1\u9636\u6bb5\u3002\u56e2\u961f\u9700\u8981\u8bc1\u660e\u7684\u4e0d\u4ec5\u662f\u6280\u672f\u53ef\u884c\u6027\uff0c\u66f4\u662f\u5176\u751f\u6210\u5185\u5bb9\u5728\u771f\u5b9e\u5546\u4e1a\u73af\u5883\u4e2d\u7684\u8f6c\u5316\u6548\u529b\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u4e3a\u5e02\u573a\u63d0\u4f9b\u4e86\u53c8\u4e00\u6279\u201c\u770b\u8d77\u6765\u7cbe\u7f8e\u201d\u7684\u5e7f\u544a\u566a\u97f3\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\">Cinematic Ads with Presets<\/span>\n                <\/div>\n<div class=\"comment-content\">Cinematic Ads with Preset Styles by Gan.AI lets you create high-quality product ads in minutes. Upload a product image, choose a cinematic festive style, and generate a polished ad instantly. No shoots. No editing. Just cinematic ads powered by pre-trained creative intelligence.<\/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>Excited to launch Cinematic Ads with Preset Styles on Gan.AI \ud83c\udf84<br \/>\nWe built this because creating great product ads still takes too much time and money, shoots, edits, agencies, back-and-forth. It shouldn\u2019t.<\/p>\n<p>The idea is simple:<br \/>\nUpload a product image \u2192 pick a style \u2192 get a cinematic ad in minutes.<\/p>\n<p>With Preset Ad Styles, you simply:<br \/>\n&#8211; Upload a product image<br \/>\n&#8211; Pick a cinematic style (for example, Christmas)<br \/>\n&#8211; Get a high-quality ad in minutes<\/p>\n<p>No shoots. No editing. Just cinematic ads, on demand.<\/p>\n<p>We\u2019re starting with Christmas, but the vision is much bigger. More preset creative intelligence coming soon for every product, every occasion.<\/p>\n<p>Would love your feedback, ideas, and honesty \ud83d\ude4c<br \/>\nHappy to answer any questions below!<br \/>\nThanks for checking it out! \ud83d\ude4c<br \/>\n \u2014 Suvrat &amp; the Gan.AI Team<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/XKUCTDW3I64O23\" class=\"app-title\">Writine<\/a><\/p>\n<div class=\"one-liner\">AI blog writer that creates SEO-optimized content in minutes<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">15<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Writine\u662f\u4e00\u6b3eAI\u535a\u5ba2\u5199\u4f5c\u5de5\u5177\uff0c\u901a\u8fc7\u6574\u5408\u5173\u952e\u8bcd\u7814\u7a76\u3001\u5185\u5bb9\u751f\u6210\u3001SEO\u4f18\u5316\u548c\u53d1\u5e03\u6d41\u7a0b\uff0c\u5728\u5185\u5bb9\u521b\u4f5c\u573a\u666f\u4e0b\uff0c\u89e3\u51b3\u4e86\u521b\u4f5c\u8005\u8017\u65f6\u8017\u529b\u3001\u591a\u5de5\u5177\u5207\u6362\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 single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4bc46522-199e-4689-b756-42db3b839fec.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\">News<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">SEO<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5199\u4f5c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">SEO\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u521b\u4f5c\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u535a\u5ba2\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4e00\u952e\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u5185\u5bb9<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5199\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39AI\u4f5c\u5bb6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4eba\u81ea\u8ff0\u4ea7\u54c1\u5f00\u53d1\u521d\u8877\uff0c\u5c55\u793a\u4e86\u5b9e\u65f6\u5199\u4f5c\u3001\u4e00\u952e\u53d1\u5e03\u7b49\u6838\u5fc3\u4eae\u70b9\u5e76\u5bfb\u6c42\u53cd\u9988\u3002\u4ec5\u6709\u4e00\u6761\u795d\u798f\u8bc4\u8bba\uff0c\u76ee\u524d\u7f3a\u4e4f\u771f\u5b9e\u7528\u6237\u7684\u5b9e\u8d28\u6027\u4f7f\u7528\u53cd\u9988\u3001\u95ee\u9898\u6216\u529f\u80fd\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Writine\u5c06\u81ea\u5df1\u5b9a\u4f4d\u4e3a\u201c\u4e00\u7ad9\u5f0f\u201dAI\u535a\u5ba2\u5199\u4f5c\u5e73\u53f0\uff0c\u5176\u5ba3\u79f0\u7684\u4ef7\u503c\u5728\u4e8e\u5c06\u7814\u7a76\u3001\u5199\u4f5c\u3001\u4f18\u5316\u3001\u53d1\u5e03\u7684\u5168\u6d41\u7a0b\u538b\u7f29\u81f3\u51e0\u5206\u949f\u5185\u3002\u4ece\u4ea7\u54c1\u903b\u8f91\u770b\uff0c\u5b83\u7784\u51c6\u4e86\u4e00\u4e2a\u660e\u786e\u4f46\u7ade\u4e89\u5df2\u5448\u7ea2\u6d77\u7684\u5e02\u573a\u2014\u2014\u9762\u5411\u4e2d\u5c0f\u4f01\u4e1a\u548c\u72ec\u7acb\u521b\u4f5c\u8005\u7684SEO\u5185\u5bb9\u751f\u6210\u3002\u5176\u4eae\u70b9\u201c\u5b9e\u65f6\u6d41\u5f0f\u5199\u4f5c\u201d\u8bd5\u56fe\u5728\u4f53\u9a8c\u4e0a\u5236\u9020\u5dee\u5f02\u5316\uff0c\u589e\u5f3a\u7528\u6237\u7684\u201c\u521b\u9020\u53c2\u4e0e\u611f\u201d\u4e0e\u638c\u63a7\u611f\uff0c\u8fd9\u6bd4\u76f4\u63a5\u751f\u6210\u5168\u6587\u7684\u201c\u9ed1\u7bb1\u201d\u6a21\u5f0f\u5728\u5fc3\u7406\u4e0a\u66f4\u9ad8\u7ea7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u9762\u4e34\u7684\u6311\u6218\u6781\u4e3a\u4e25\u5cfb\u3002\u9996\u5148\uff0c\u6838\u5fc3\u58c1\u5792\u5b58\u7591\u3002AI\u5199\u4f5c\u8d28\u91cf\u3001SEO\u7b56\u7565\u7684\u6709\u6548\u6027\u662f\u5176\u751f\u547d\u7ebf\uff0c\u4f46\u8fd9\u9ad8\u5ea6\u4f9d\u8d56\u4e8e\u5e95\u5c42\u5927\u6a21\u578b\u80fd\u529b\u4e0eSEO\u6570\u636e\u5f15\u64ce\uff0c\u521d\u521b\u56e2\u961f\u80fd\u5426\u6301\u7eed\u5efa\u7acb\u4f18\u52bf\uff1f\u5176\u6b21\uff0c\u201c\u4e00\u7ad9\u5f0f\u201d\u610f\u5473\u7740\u6bcf\u4e2a\u73af\u8282\u90fd\u9700\u4e0e\u5782\u76f4\u5f3a\u8005\u7ade\u4e89\uff08\u5982\u4e13\u95e8\u7684\u5173\u952e\u8bcd\u5de5\u5177\u3001SEO\u63d2\u4ef6\u3001\u53d1\u5e03\u5e73\u53f0\uff09\uff0c\u4ea7\u54c1\u6613\u9677\u5165\u201c\u6837\u6837\u7686\u901a\uff0c\u6837\u6837\u7a00\u677e\u201d\u7684\u7a98\u5883\u3002\u6700\u540e\uff0c\u4ece\u8fd1\u4e4e\u4e3a\u96f6\u7684\u771f\u5b9e\u7528\u6237\u53cd\u9988\u6765\u770b\uff0c\u4ea7\u54c1\u5c1a\u672a\u7ecf\u8fc7\u5e02\u573a\u6709\u6548\u9a8c\u8bc1\uff0c\u5176\u5ba3\u79f0\u7684\u201c#1\u201d\u5730\u4f4d\u7f3a\u4e4f\u652f\u6491\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u4ef7\u503c\u6216\u8bb8\u4e0d\u5728\u4e8e\u6280\u672f\u98a0\u8986\uff0c\u800c\u5728\u4e8e\u6d41\u7a0b\u6574\u5408\u5e26\u6765\u7684\u7528\u6237\u4f53\u9a8c\u4f18\u5316\u3002\u5982\u679c\u5b83\u80fd\u5c06\u590d\u6742\u5de5\u4f5c\u6d41\u7b80\u5316\u4e3a\u4e00\u4e2a\u6781\u5176\u5e73\u6ed1\u3001\u6109\u60a6\u7684\u8fc7\u7a0b\uff0c\u5e76\u786e\u4fdd\u4ea7\u51fa\u5185\u5bb9\u8d28\u91cf\u7a33\u5b9a\u8fbe\u6807\uff0c\u5219\u80fd\u5728\u7ec6\u5206\u4eba\u7fa4\u4e2d\u5360\u636e\u4e00\u5e2d\u4e4b\u5730\u3002\u4f46\u5f53\u524d\uff0c\u5b83\u66f4\u50cf\u662f\u4e00\u4e2a\u529f\u80fd\u62fc\u76d8\u7684\u6982\u5ff5\u9a8c\u8bc1\uff0c\u4e9f\u9700\u7528\u5b9e\u9645\u7528\u6237\u6848\u4f8b\u548c\u6548\u679c\u6570\u636e\u6765\u8bc1\u660e\u5176\u201c\u6548\u7387\u9769\u547d\u201d\u5e76\u975e\u7a7a\u8c08\u3002\u5728AI\u5199\u4f5c\u5de5\u5177\u65e5\u76ca\u540c\u8d28\u5316\u7684\u5f53\u4e0b\uff0c\u4ec5\u9760\u6d41\u7a0b\u6253\u5305\u4e0d\u8db3\u4ee5\u6784\u5efa\u62a4\u57ce\u6cb3\uff0c\u6df1\u5ea6\u7406\u89e3\u5782\u76f4\u884c\u4e1a\u7684\u5185\u5bb9\u9700\u6c42\u5e76\u63d0\u4f9b\u4e0d\u53ef\u66ff\u4ee3\u7684\u4f18\u5316\u6d1e\u5bdf\uff0c\u624d\u662f\u53ef\u80fd\u7684\u7a81\u56f4\u65b9\u5411\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\">Writine<\/span>\n                <\/div>\n<div class=\"comment-content\">Writine is the #1 AI-powered blog writing platform. Create SEO-optimized articles, blog posts, and content in minutes. Free AI writer with built-in SEO tools, content optimization, and publishing features.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone! \ud83d\udc4b<\/p>\n<p>I&#8217;m Venkat, founder of Writine.<\/p>\n<p>I built this because I was spending 5+ hours on every blog post \u2014 researching keywords, writing drafts, optimizing for SEO, formatting, and finally publishing.<\/p>\n<p>Writine combines all of that into one seamless flow. Just enter your topic and watch AI create a complete, SEO-ready blog post in real-time.<\/p>\n<p>Some things I&#8217;m proud of:<br \/>\n\u2022 The live streaming writing experience (it&#8217;s oddly satisfying to watch!)<br \/>\n\u2022 One-click publishing to custom domains<br \/>\n\u2022 Clean, minimal editor inspired by Medium and Notion<\/p>\n<p>We&#8217;re just getting started and would love your feedback. What features would make Writine even better for you?<\/p>\n<p>Happy to answer any questions! \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks amazing, good luck on your lunch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4ALFXS4OFXN2NG\" class=\"app-title\">MockUsers<\/a><\/p>\n<div class=\"one-liner\">Get landing page feedback from AI personas <\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">14<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>MockUsers \u901a\u8fc7\u751f\u6210\u57fa\u4e8e\u76ee\u6807\u53d7\u4f17\u7684AI\u7528\u6237\u89d2\u8272\uff0c\u6a21\u62df\u5176\u6d4f\u89c8\u7740\u9646\u9875\u7684\u884c\u4e3a\u5e76\u63d0\u4f9b\u76f4\u63a5\u53cd\u9988\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u548c\u8425\u9500\u4eba\u5458\u5728\u4ea7\u54c1\u4e0a\u7ebf\u524d\u5feb\u901f\u8bc6\u522b\u9875\u9762\u8868\u8ff0\u4e0d\u6e05\u3001\u5438\u5f15\u529b\u4e0d\u8db3\u7b49\u8f6c\u5316\u969c\u788d\uff0c\u5b9e\u73b0\u4f4e\u6210\u672c\u3001\u9ad8\u6548\u7387\u7684\u9875\u9762\u4f18\u5316\u9a8c\u8bc1\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\/f5bc7462-b29f-4b0b-bd93-5d6b5c93c490.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/f0fc18dea10f4575805aba8dc55269e5\"><source src=\"https:\/\/www.loom.com\/share\/f0fc18dea10f4575805aba8dc55269e5\" 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\/1b258afb-8f2e-4c01-8876-8d05a17dfc7c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a0899a17-f157-403e-8db5-311ca8d7eeb8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/07c69f68-4975-4451-bb99-0b7a5d46f9e1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dafe794a-9058-49db-8196-eabfdc0388d9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f921fd6-07c5-4f1c-80fb-c57ffc0918f0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cda0ba9a-6b5b-4c4c-ba56-9571d3d696f7.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\">User Experience<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7740\u9646\u9875\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">AI\u7528\u6237\u6a21\u62df<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u4f53\u9a8c\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u6587\u6848\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u8f6c\u5316\u7387\u63d0\u5347<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e0\u6ce8\u518c\u4f7f\u7528<\/span><br \/>\n            <span class=\"tag\">A\/B\u6d4b\u8bd5\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u6548\u7387<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005\u81ea\u8ff0\u4e3a\u89e3\u51b3\u81ea\u8eab\u7740\u9646\u9875\u201c\u51c6\u786e\u4f46\u65e0\u8da3\u201d\u5bfc\u81f4\u9ad8\u8df3\u51fa\u7387\u7684\u95ee\u9898\u800c\u521b\u5efa\u6b64\u5de5\u5177\u3002\u5f3a\u8c03\u65e0\u9700\u6ce8\u518c\u3001\u5b8c\u5168\u514d\u8d39\u3002\u8bc4\u8bba\u533a\u6682\u65e0\u5177\u4f53\u7528\u6237\u53cd\u9988\u4e0e\u529f\u80fd\u5efa\u8bae\uff0c\u4e3b\u8981\u4e3a\u4ea7\u54c1\u521b\u59cb\u4eba\u7684\u4ecb\u7ecd\u4e0e\u4e92\u52a8\u9080\u8bf7\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                MockUsers \u5207\u5165\u4e86\u4e00\u4e2a\u7cbe\u51c6\u4e14\u9ad8\u9891\u7684\u5fae\u75db\u70b9\uff1a\u5728\u8d44\u6e90\u6709\u9650\u7684\u65e9\u671f\u4ea7\u54c1\u9636\u6bb5\uff0c\u5982\u4f55\u5feb\u901f\u83b7\u5f97\u5173\u4e8e\u7740\u9646\u9875\u8d28\u91cf\u7684\u201c\u5916\u90e8\u89c6\u89d2\u201d\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u7a81\u7834\uff0c\u800c\u662f\u6d41\u7a0b\u91cd\u6784\u3002\u5b83\u7528\u6781\u4f4e\u7684\u6469\u64e6\u6210\u672c\uff08\u65e0\u9700\u6ce8\u518c\u3001\u5373\u65f6\u4f7f\u7528\uff09\u548c\u9ad8\u5ea6\u573a\u666f\u5316\u7684AI\u89d2\u8272\u626e\u6f14\uff0c\u66ff\u4ee3\u4e86\u4f20\u7edf\u4e0a\u8981\u4e48\u6210\u672c\u9ad8\u6602\uff08\u771f\u5b9e\u7528\u6237\u6d4b\u8bd5\uff09\u3001\u8981\u4e48\u4e3b\u89c2\u7247\u9762\uff08\u56e2\u961f\u5185\u90e8\u8bc4\u5ba1\uff09\u3001\u8981\u4e48\u53cd\u9988\u6ede\u540e\uff08\u4e0a\u7ebf\u540e\u6570\u636e\u5206\u6790\uff09\u7684\u9a8c\u8bc1\u73af\u8282\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u903b\u8f91\u7280\u5229\u5730\u6307\u5411\u4e86\u6280\u672f\u4ea7\u54c1\u4eba\u7684\u666e\u904d\u76f2\u533a\u2014\u2014\u201c\u89e3\u91ca\u7684\u8bc5\u5492\u201d\u3002\u5f00\u53d1\u8005\u64c5\u957f\u6784\u5efa\u529f\u80fd\u903b\u8f91\uff0c\u5374\u5e38\u758f\u4e8e\u6784\u5efa\u4e0e\u5e02\u573a\u5bf9\u8bdd\u7684\u53d9\u4e8b\u903b\u8f91\u3002MockUsers \u8bd5\u56fe\u6210\u4e3a\u8fd9\u4e2a\u201c\u7ffb\u8bd1\u5668\u201d\uff0c\u5c06\u51b7\u51b0\u51b0\u7684\u529f\u80fd\u5217\u8868\u7ffb\u8bd1\u6210\u7528\u6237\u89c6\u89d2\u4e0b\u7684\u201c\u6211\u80fd\u5f97\u5230\u4ec0\u4e48\u597d\u5904\uff1f\u201d\u3002\u5176\u201c\u5410\u69fd\u201d\uff08Roast\uff09\u6a21\u5f0f\u7684\u8bbe\u8ba1\u9887\u5177\u5de7\u601d\uff0c\u5b83\u9884\u8bbe\u4e86\u53cd\u9988\u7684\u5c16\u9510\u6027\u548c\u76f4\u63a5\u6027\uff0c\u8fd9\u6070\u6070\u662f\u5185\u90e8\u8bc4\u5ba1\u4e2d\u6700\u7f3a\u4e4f\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5929\u82b1\u677f\u4e5f\u663e\u800c\u6613\u89c1\u3002\u7b2c\u4e00\uff0c\u53cd\u9988\u8d28\u91cf\u6df1\u5ea6\u4f9d\u8d56AI\u5bf9\u884c\u4e1a\u4e0e\u7528\u6237\u5fc3\u7406\u7684\u7406\u89e3\u6df1\u5ea6\uff0c\u76ee\u524d\u53ef\u80fd\u4ecd\u505c\u7559\u5728\u8868\u9762\u6587\u6848\u548c\u5e03\u5c40\u7684\u901a\u7528\u6027\u68c0\u67e5\uff0c\u96be\u4ee5\u89e6\u53ca\u7279\u5b9a\u9886\u57df\u7684\u6df1\u5c42\u8d2d\u4e70\u52a8\u673a\u3002\u7b2c\u4e8c\uff0c\u5b83\u63d0\u4f9b\u7684\u662f\u201c\u8bca\u65ad\u201d\u800c\u975e\u201c\u836f\u65b9\u201d\uff0c\u6307\u51fa\u4e86\u201c\u8fd9\u91cc confusing\u201d\uff0c\u4f46\u672a\u5fc5\u80fd\u7ed9\u51fa\u201c\u5982\u4f55\u4fee\u6539\u66f4\u6709\u6548\u201d\u7684\u5efa\u8bbe\u6027\u65b9\u6848\u3002\u7b2c\u4e09\uff0c\u4f5c\u4e3a\u514d\u8d39\u5de5\u5177\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u548c\u957f\u671f\u7ef4\u62a4\u80fd\u529b\u5b58\u7591\uff0c\u8fd9\u4f1a\u5f71\u54cd\u5de5\u5177\u8fed\u4ee3\u6df1\u5ea6\u548c\u7528\u6237\u4fe1\u4efb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cMockUsers \u662f\u4e00\u4e2a\u51fa\u8272\u7684\u201c\u7b2c\u4e00\u5757\u8bd5\u91d1\u77f3\u201d\u548c\u201c\u6e05\u9192\u5242\u201d\uff0c\u5c24\u5176\u9002\u5408MVP\u9636\u6bb5\u7684\u5feb\u901f\u9a8c\u8bc1\u3002\u4f46\u5b83\u65e0\u6cd5\u66ff\u4ee3\u771f\u5b9e\u7684\u7528\u6237\u8bbf\u8c08\u3001\u6570\u636e\u5206\u6790\u548c\u4e13\u4e1a\u7684\u8425\u9500\u7b56\u5212\u3002\u5b83\u7684\u771f\u6b63\u6210\u529f\uff0c\u5c06\u53d6\u51b3\u4e8e\u80fd\u5426\u4ece\u201c\u6709\u8da3\u7684\u5355\u70b9\u5de5\u5177\u201d\u8fdb\u5316\u6210\u80fd\u63d0\u4f9b\u66f4\u7ed3\u6784\u5316\u3001\u53ef\u64cd\u4f5c\u6d1e\u5bdf\u7684\u201c\u667a\u80fd\u4f18\u5316\u4f34\u4fa3\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\">MockUsers<\/span>\n                <\/div>\n<div class=\"comment-content\">Stop guessing why your landing page isn\u2019t converting. MockUsers.xyz gives you an unbiased &#8220;sanity check&#8221; by simulating how specific AI customer personas interact with your site. How it works: &#8211; Enter your URL. &#8211; Meet your Mock Users: AI-generated personas based on your target audience. &#8211; Get the Roast: They\u2019ll tell you exactly what\u2019s confusing, what they think you\u2019re selling, and why they\u2019d bounce. No sign-up. No email gate. 100% Free.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey hunters! \ud83d\udc4b<\/p>\n<p>I\u2019m a dev, which usually means I\u2019m great at building features and pretty terrible at explaining why they matter.<\/p>\n<p>I got tired of spending weeks building a product, only to see a 90% bounce rate because my landing page was &#8216;technically accurate&#8217; but boring\/confusing to real people.<\/p>\n<p>I built MockUsers to be the reality check I needed. It creates realistic customer personas based on your site&#8217;s content and then tells you\u2014honestly\u2014what they think you\u2019re selling. Sometimes the results are a wake-up call, but that\u2019s the point.<\/p>\n<p>The best part:<br \/>\nNo sign-up.<br \/>\nNo &#8220;credits.&#8221;<br \/>\nNo email gates.<\/p>\n<p>It\u2019s just a tool I needed for myself, and I hope it helps you get more traction on your next build.<\/p>\n<p>I\u2019ll be here all day to answer questions and take feature requests. What\u2019s the weirdest feedback a &#8216;Mock User&#8217; gave you? Let me know!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/LZQXVK6EYPOX5J\" class=\"app-title\">UNDERLAIRS<\/a><\/p>\n<div class=\"one-liner\">Boost your study, productivity &#038; ADHD Support<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">11<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>UNDERLAIRS\u662f\u4e00\u6b3e\u878d\u5408\u9ad8\u5f3a\u5ea6\u6c89\u6d78\u5f0f\u97f3\u4e50\u4e0e\u756a\u8304\u5de5\u4f5c\u6cd5\u7684\u8ba1\u65f6\u5e94\u7528\uff0c\u4e3a\u9700\u8981\u6df1\u5ea6\u4e13\u6ce8\u7684\u5b66\u4e60\u8005\u3001\u5de5\u4f5c\u8005\u53caADHD\u4eba\u7fa4\u63d0\u4f9b\u4e86\u201c\u97f3\u4e50+\u8ba1\u65f6\u201d\u7684\u4e00\u4f53\u5316\u89e3\u51b3\u65b9\u6848\uff0c\u89e3\u51b3\u4e86\u7528\u6237\u4ee5\u5f80\u9700\u540c\u65f6\u64cd\u4f5c\u591a\u4e2a\u5e94\u7528\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\/ffa5f79a-17a9-44e0-8dfc-d08be6241320.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dd2dedfb-1033-4708-b258-e22e61897ad5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b0f2b8e3-4274-44ea-8a7f-c1b89226baa3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c4cde627-502f-40a7-a0b0-b8fa105479d6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ab426a4a-4ea0-4b2d-951d-67240f099f31.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e37a1353-b00c-4685-950b-c4b2e78a608a.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\/24175428-0607-4492-9208-b09ffb07cf3e.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/ihAW9lsHJWI\"><source src=\"https:\/\/youtube.com\/shorts\/ihAW9lsHJWI\" 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\">Music<\/span><br \/>\n            <span class=\"tag\">Electronic Music<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4e13\u6ce8\u8ba1\u65f6\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6c89\u6d78\u5f0f\u97f3\u4e50<\/span><br \/>\n            <span class=\"tag\">\u756a\u8304\u5de5\u4f5c\u6cd5<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">ADHD\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u5b66\u4e60\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u767d\u566a\u97f3\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u573a\u666f\u5316\u97f3\u9891<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u63d0\u5347<\/span><br \/>\n            <span class=\"tag\">\u4e00\u4f53\u5316\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>\u6709\u6548\u8bc4\u8bba\u6765\u81ea\u4e00\u4f4d\u6df1\u5ea6\u6d4b\u8bd5\u7528\u6237\uff0c\u53cd\u9988\u6781\u4e3a\u79ef\u6781\u3002\u6838\u5fc3\u80af\u5b9a\u5728\u4e8e\u5c06\u8ba1\u65f6\u5668\u4e0e\u65e0\u6b4c\u8bcd\u6c89\u6d78\u5f0f\u97f3\u4e50\u5408\u4e8c\u4e3a\u4e00\u7684\u4f53\u9a8c\uff0c\u89e3\u51b3\u4e86\u540c\u65f6\u8fd0\u884c\u591a\u4e2a\u5e94\u7528\u7684\u9ebb\u70e6\uff0c\u97f3\u4e50\u8d28\u91cf\u83b7\u8d5e\u5e76\u80fd\u6709\u6548\u5e2e\u52a9\u8fdb\u5165\u5fc3\u6d41\u72b6\u6001\u3002\u7528\u6237\u5df2\u5c06\u5176\u4f5c\u4e3a\u4e3b\u529b\u8ba1\u65f6\u5de5\u5177\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                UNDERLAIRS\u7684\u5207\u5165\u89d2\u5ea6\uff0c\u66b4\u9732\u4e86\u4e3b\u6d41\u201c\u767d\u566a\u97f3\/\u8f7b\u97f3\u4e50+\u8ba1\u65f6\u201d\u8d5b\u9053\u7684\u5ba1\u7f8e\u75b2\u52b3\u4e0e\u529f\u80fd\u60f0\u6027\u3002\u5b83\u4e0d\u518d\u63d0\u4f9b\u53e6\u4e00\u4efd\u6e29\u548c\u7684\u80cc\u666f\u97f3\uff0c\u800c\u662f\u8bd5\u56fe\u7528\u201c\u9ad8\u5f3a\u5ea6\u201d\u3001\u201c\u6c89\u6d78\u5f0f\u201d\u3001\u201c\u7535\u5f71\u611f\u201d\u7684\u97f3\u9891\u4f5c\u4e3a\u4e13\u6ce8\u7684\u4e3b\u52a8\u9a71\u52a8\u5f15\u64ce\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5bf9\u201c\u4e13\u6ce8\u73af\u5883\u201d\u5b9a\u4e49\u7684\u4e00\u6b21\u6311\u8845\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u4ef7\u503c\u5e76\u975e\u7b80\u5355\u7684\u529f\u80fd\u805a\u5408\uff08\u8ba1\u65f6+\u64ad\u653e\u5668\uff09\uff0c\u800c\u5728\u4e8e\u8bd5\u56fe\u91cd\u65b0\u5b9a\u4e49\u201c\u5de5\u4f5c\u914d\u4e50\u201d\u7684\u5fc3\u7406\u5b66\u8303\u5f0f\u3002\u4f20\u7edf\u7684Lo-fi\u65e8\u5728\u4ee5\u5e73\u7a33\u3001\u91cd\u590d\u7684\u7279\u6027\u964d\u4f4e\u5e72\u6270\uff0c\u800cUNDERLAIRS\u7684\u201c\u517d\u6027\u6a21\u5f0f\u201d\u548c\u201c\u5de2\u7a74\u201d\u64ad\u653e\u5217\u8868\u5219\u6697\u793a\u4e86\u4e00\u79cd\u53ef\u80fd\u6027\uff1a\u901a\u8fc7\u66f4\u5177\u53d9\u4e8b\u6027\u548c\u60c5\u7eea\u5f20\u529b\u7684\u58f0\u97f3\uff0c\u5c06\u7528\u6237\u4ece\u201c\u62b5\u6297\u5206\u5fc3\u201d\u7684\u88ab\u52a8\u72b6\u6001\uff0c\u5377\u5165\u5230\u201c\u6c89\u6d78\u4efb\u52a1\u201d\u7684\u4e3b\u52a8\u5fc3\u6d41\u4e2d\u3002\u8fd9\u5bf9\u4e8e\u5bf9\u5e38\u89c4\u523a\u6fc0\u53cd\u5e94\u5e73\u6de1\u7684ADHD\u7fa4\u4f53\u6216\u6709\u6df1\u5ea6\u4e13\u6ce8\u9700\u6c42\u7684\u7528\u6237\uff0c\u53ef\u80fd\u662f\u4e00\u4e2a\u66f4\u6709\u6548\u7684\u8ba4\u77e5\u6760\u6746\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u98ce\u9669\u4e5f\u5728\u4e8e\u6b64\u3002\u201c\u9ad8\u5f3a\u5ea6\u201d\u97f3\u4e50\u662f\u4e00\u628a\u53cc\u5203\u5251\uff0c\u53ef\u80fd\u6210\u4e3a\u65b0\u7684\u5e72\u6270\u6e90\uff0c\u5176\u666e\u9002\u6027\u8fdc\u4e0d\u5982Lo-fi\u3002\u4ea7\u54c1\u76ee\u524d\u4ecb\u7ecd\u6a21\u7cca\uff0c\u672a\u9610\u660e\u5176\u97f3\u9891\u5185\u5bb9\u7684\u79d1\u5b66\u4f9d\u636e\uff08\u5982\u662f\u5426\u8fd0\u7528\u53cc\u8282\u62cd\u7b49\u6280\u672f\uff09\uff0c\u66f4\u50cf\u662f\u4e00\u4e2a\u57fa\u4e8e\u4e2a\u4eba\u75db\u70b9\u7684\u7f8e\u5b66\u5b9e\u9a8c\u3002\u4ece\u5e02\u573a\u89d2\u5ea6\u770b\uff0c\u5b83\u907f\u5f00\u4e86\u4e0eForest\u3001\u6f6e\u6c50\u7b49\u5de8\u5934\u7684\u6b63\u9762\u7ade\u4e89\uff0c\u5728\u4e00\u4e2a\u72ed\u7a84\u7684\u5dee\u5f02\u5316\u7f1d\u9699\u4e2d\u6c42\u751f\u3002\u82e5\u4e0d\u80fd\u5c06\u201c\u6c89\u6d78\u5f0f\u97f3\u9891\u201d\u4e0e\u201c\u8ba4\u77e5\u8868\u73b0\u201d\u4e4b\u95f4\u7684\u5173\u8054\u6709\u6548\u4f20\u8fbe\u5e76\u9a8c\u8bc1\uff0c\u5b83\u5f88\u53ef\u80fd\u4ec5\u662f\u5c0f\u4f17\u53d1\u70e7\u53cb\u7684\u73a9\u5177\uff0c\u96be\u4ee5\u64bc\u52a8\u5df2\u88ab\u9a8c\u8bc1\u7684\u3001\u4ee5\u201c\u5e73\u548c\u201d\u4e3a\u6838\u5fc3\u7684\u4e3b\u6d41\u751f\u4ea7\u529b\u97f3\u9891\u5e02\u573a\u3002\u5b83\u7684\u51fa\u73b0\uff0c\u4e0e\u5176\u8bf4\u662f\u4e00\u6b3e\u6210\u719f\u7684\u4ea7\u54c1\uff0c\u4e0d\u5982\u8bf4\u662f\u4e00\u6b21\u5bf9\u751f\u4ea7\u529b\u5de5\u5177\u60c5\u611f\u7ef4\u5ea6\u7684\u5927\u80c6\u63d0\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\">UNDERLAIRS<\/span>\n                <\/div>\n<div class=\"comment-content\">&#8220;There&#8217;s a lot of lo-fi music timers out there, but why isn&#8217;t there a music timer with something more intense and immersive?&#8221; Well, wait no more! Beast Mode allows unlimited music with no timer. You have access to five distinct playlists (lairs) to choose from. And lastly, there&#8217;s a beautiful pomodoro timer with intense sound tracks.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>honestly this is exactly what i needed. been using it for about a week now since i joined the beta test and its become my go-to<\/p>\n<p>i used to always have like two things running &#8211; a timer app AND a lofi playlist or something with no lyrics playing in the background. having both in one place is such a nice experience<\/p>\n<p>the music is really good too, actually helps me stay in the zone. this is now my main timer app and dont see myself switching anytime soon. solid work \ud83d\udc4d<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I started building my app because I thought, &#8220;There are a lot of beautiful, lo-fi music that&#8217;s great for studying or working, but why isn&#8217;t there a pomodoro timer with immersive, cinematic sound?&#8221;<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2025-12-24 PH\u70ed\u699c | 2025-12-24 #1 Typel [&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-82","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/82","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=82"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/82\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}