{"id":220,"date":"2026-05-13T12:15:30","date_gmt":"2026-05-13T04:15:30","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/13\/2026-05-12\/"},"modified":"2026-05-13T12:15:30","modified_gmt":"2026-05-13T04:15:30","slug":"2026-05-12","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/13\/2026-05-12\/","title":{"rendered":"PH\u70ed\u699c | 2026-05-12"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-05-12<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-05-12<\/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\/F6U3WKKQYBLXSI\" class=\"app-title\">Kelviq<\/a><\/p>\n<div class=\"one-liner\">Payments, tax, and billing for SaaS &#038; AI companies<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">431<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kelviq\u662f\u4e00\u4e2a\u9762\u5411SaaS\u3001AI\u53ca\u6570\u5b57\u4ea7\u54c1\u7684\u4e00\u7ad9\u5f0f\u53d8\u73b0\u5e73\u53f0\uff0c\u65e8\u5728\u89e3\u51b3\u5f00\u53d1\u8005\u81ea\u884c\u62fc\u63a5\u652f\u4ed8\u7f51\u5173\u3001\u7a0e\u8868\u3001\u8ba2\u9605\u903b\u8f91\u53ca\u5408\u89c4\u7cfb\u7edf\u9020\u6210\u7684\u5de5\u7a0b\u91cd\u590d\u4e0e\u8026\u5408\u95ee\u9898\uff0c\u8ba9\u4ea7\u54c1\u56e2\u961f\u80fd\u5feb\u901f\u843d\u5730\u590d\u6742\u7684\u5168\u7403\u8ba1\u8d39\u3001\u7a0e\u52a1\u4e0e\u5408\u89c4\u7ba1\u7406\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/463397a2-5105-404d-941e-acda5b72d01e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/48ac58ef-453b-4b95-bfab-8f147caf8d8e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/24e27eee-f9ba-43e7-89f2-71d128406498.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aaa70824-d109-4be3-bce7-c0dcd8ff347e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/add1c179-45ff-4de0-b55c-1732c0cf32e1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e5122193-b444-4178-9ad3-7f95a22c67c4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6b663f5b-a16a-41d4-8667-b6858ddca0a4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4d76e2f3-24d5-49e7-9082-f0467af555cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d205222a-1814-4b0d-ab23-11ec4f44696f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eec96f54-625f-4247-9f7b-182d80a2a89b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/67a0f8b8-07bc-4dc0-8943-031813f136a9.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\/37fc6879-5210-42b5-a987-dfb26a4d79d8.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=m7CHCuoS2NE\"><source src=\"https:\/\/www.youtube.com\/watch?v=m7CHCuoS2NE\" 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\">Payments<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS\u8ba1\u8d39\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">AI\u4ea7\u54c1\u53d8\u73b0<\/span><br \/>\n            <span class=\"tag\">\u5168\u7403\u7a0e\u52a1\u5408\u89c4\uff08MoR\uff09<\/span><br \/>\n            <span class=\"tag\">\u8ba2\u9605\u4e0e\u7528\u91cf\u8ba1\u8d39<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u4ea4\u4ed8\u4e0e\u6388\u6743<\/span><br \/>\n            <span class=\"tag\">\u7edf\u4e00\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u63a8\u5e7f<\/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>\u8bc4\u8bba\u666e\u904d\u8d5e\u8d4f\u5176\u5bf9\u7a0e\u52a1\u5408\u89c4\u7684\u96c6\u6210\uff08\u59823.5%\u5305\u542b\u5168\u7403VAT\/GST\uff09\uff0c\u8ba4\u4e3a\u89e3\u51b3\u4e86\u201cDIY\u7a0e\u52a1\u201d\u7684\u75db\u70b9\u3002\u7528\u6237\u5173\u5fc3\u8fc1\u79fb\u6210\u672c\uff0c\u5b98\u65b9\u56de\u5e94\u4eceStripe\u8fc1\u79fb\u8f83\u76f4\u63a5\u3002\u4e5f\u6709\u7528\u6237\u8be2\u95eeB2B\u6b27\u76df\u53cd\u5411\u5f81\u7a0e\u7684\u81ea\u52a8\u5904\u7406\u529f\u80fd\uff0c\u5b98\u65b9\u786e\u8ba4\u652f\u6301\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Kelviq\u5207\u5165\u7684\u662f\u4e00\u4e2a\u201c\u7687\u5e1d\u7684\u65b0\u8863\u201d\u5f0f\u75db\u70b9\uff1a\u5927\u90e8\u5206SaaS\/AI\u521b\u4e1a\u8005\u5728\u65e9\u671f\u90fd\u5929\u771f\u5730\u8ba4\u4e3a\u201c\u63a5\u4e2aStripe\u5c31\u884c\u4e86\u201d\uff0c\u4f46\u968f\u540e\u5c31\u88ab\u8ba2\u9605\u72b6\u6001\u673a\u3001\u7528\u91cf\u8ba1\u91cf\u3001\u7a0e\u8868\u6ce8\u518c\u548c\u5408\u89c4\u5ba1\u8ba1\u6df9\u6ca1\u4e86\u3002Kelviq\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u6bd4Stripe\u591a\u51e0\u4e2a\u767e\u5206\u70b9\u7684\u8d39\u7387\uff0c\u800c\u5728\u4e8e\u5b83\u628a\u81ea\u5df1\u5b9a\u4f4d\u6210\u201c\u6bdb\u91cc\u6c42\u65af\u7ecf\u9500\u5546\u201d\uff08Merchant of Record, MoR\uff09\uff0c\u4e3b\u52a8\u66ff\u4f60\u625b\u4f4f\u4e86\u5168\u7403\u7a0e\u52a1\u4e0e\u5408\u89c4\u7684\u7ec8\u6781\u6cd5\u5f8b\u98ce\u9669\u3002\u8fd9\u4e2a\u201c\u62c5\u8d23\u201d\u662f\u5f88\u591a\u4f20\u7edf\u652f\u4ed8\u805a\u5408\u5546\uff08\u5305\u62ecStripe\u672c\u8eab\uff09\u6240\u4e0d\u613f\u6216\u4e0d\u6562\u78b0\u7684\u96f7\u533a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u8bbe\u8ba1\u770b\uff0c\u5b83\u5df2\u7ecf\u628a\u5b9a\u4ef7\u6a21\u5f0f\u7684\u62bd\u8c61\u5c42\u62c9\u9ad8\u5230\u4e86\u201c\u7279\u5f81\u5f00\u5173+\u7528\u91cf\u8ba1\u91cf+\u8bb8\u53ef\u8bc1\u751f\u6210\u201d\u7684\u7c92\u5ea6\uff0c\u8fd9\u610f\u5473\u7740\u7528\u6237\u53ef\u4ee5\u5c06\u5b9a\u4ef7\u8fed\u4ee3\u7684\u6743\u529b\u4ece\u5de5\u7a0b\u5e08\u624b\u4e2d\u593a\u56de\uff0c\u4ea4\u7ed9\u4ea7\u54c1\u6216\u589e\u957f\u56e2\u961f\u3002\u8fd9\u5c42\u62bd\u8c61\u6b63\u662fMonetization Platform\uff08\u8d27\u5e01\u5316\u5e73\u53f0\uff09\u533a\u522b\u4e8ePayment Gateway\uff08\u652f\u4ed8\u7f51\u5173\uff09\u7684\u5173\u952e\u5206\u6c34\u5cad\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c3.5%+40\u00a2 \u5728\u6838\u9500\u5927\u989d\u4ea4\u6613\u65f6\u672a\u5fc5\u6bd4\u4f20\u7edf\u652f\u4ed8+\u72ec\u7acb\u5408\u89c4\u65b9\u6848\u4fbf\u5b9c\uff1b\u800c\u201c\u4eceStripe\u8fc1\u79fb\u7b80\u5355\u201d\u7684\u627f\u8bfa\uff0c\u4f9d\u8d56\u4e8e\u7528\u6237\u7684\u8ba1\u4ef7\u6a21\u578b\u662f\u5426\u8db3\u591f\u6807\u51c6\u5316\u3002\u5bf9\u4e8e\u91cd\u5ea6\u5b9a\u5236\u5316\u8ba2\u9605\uff08\u5982\u4f9d\u8d56\u590d\u6742\u9000\u8d39\u89c4\u5219\u6216\u4fe1\u7528\u7cfb\u7edf\u7684\u4ea7\u54c1\uff09\uff0c\u8fc1\u79fb\u6210\u672c\u4f1a\u663e\u8457\u4e0a\u5347\u3002\u6b64\u5916\uff0c\u5e73\u53f0\u5c1a\u672a\u5c55\u793a\u9ad8\u5e76\u53d1\u4e0b\u5b9e\u65f6\u7528\u91cf\u8ba1\u91cf\u7684\u5ef6\u8fdf\u548c\u4e00\u81f4\u6027\u4fdd\u8bc1\uff0c\u8fd9\u5bf9AI Token\u7ea7\u8ba1\u8d39\u81f3\u5173\u91cd\u8981\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cKelviq\u6bd4Paddle\u548cLemon Squeezy\u5728SaaS\/AI\u7279\u5b9a\u573a\u666f\u4e0b\u7684\u62bd\u8c61\u5c42\u66f4\u9ad8\uff0c\u4f46\u5176\u80fd\u5426\u6301\u4e45\u4fdd\u6301\u4f18\u60e0\u8d39\u7387\u5e76\u652f\u6491\u4f01\u4e1a\u7ea7\u5b9a\u5236\u8bf7\u6c42\uff0c\u5c06\u662f\u5b83\u4ece\u4e2d\u578b\u73a9\u5bb6\u624b\u4e2d\u62a2\u6ee9\u7684\u5173\u952e\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\">Kelviq<\/span>\n                <\/div>\n<div class=\"comment-content\">Kelviq is the complete monetization platform for SaaS, AI, and digital products. It handles payments, global tax, subscriptions, usage-based billing, digital delivery, license keys, and compliance in one place, for 3.5% + 40\u00a2 per transaction.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m Sachin, co-founder of Kelviq.<\/p>\n<p>For the past few months, we&#8217;ve been building Kelviq, and we&#8217;re excited to finally share it with you.<\/p>\n<p>Kelviq helps SaaS, AI, and digital products sell globally without rebuilding billing infrastructure from scratch.<\/p>\n<p>It handles payments, checkout, global taxes, compliance, subscriptions, digital file delivery, license keys, usage-based billing, credits, feature access, and payouts in one place.<\/p>\n<p>We built this because we kept seeing the same problem through our other product, ParityDeals.<\/p>\n<p>Adding a payment gateway is easy. Building the full monetization layer around it is not.<\/p>\n<p>Once you start charging for features, seats, usage, credits, API calls, or AI tokens, you usually end up building a lot of custom infrastructure:<\/p>\n<ul>\n<li>\n<p>Webhook listeners to sync payment events into your database<\/p>\n<\/li>\n<li>\n<p>Subscription tables to track who has access to what<\/p>\n<\/li>\n<li>\n<p>Retry logic for missed or failed events<\/p>\n<\/li>\n<li>\n<p>Custom usage tracking<\/p>\n<\/li>\n<li>\n<p>Feature flags tied to pricing plans<\/p>\n<\/li>\n<li>\n<p>Scripts for upgrades, downgrades, prorations, and grandfathered users<\/p>\n<\/li>\n<\/ul>\n<p>Over time, pricing becomes tightly coupled with your codebase. Changing a plan, moving a feature, adding usage limits, or launching a new pricing model often requires engineering work, database changes, and a deployment.<\/p>\n<p>We wanted to make all of this much simpler. With Kelviq, you can:<\/p>\n<ul>\n<li>\n<p><strong>Get started in minutes:<\/strong> You don&#8217;t have to handle dozens of webhooks, build a database layer to track customers, manage subscription states, or hardcode feature access. Kelviq provides a single, unified system.<\/p>\n<\/li>\n<li>\n<p><strong>Handle Global Tax &amp; Compliance Automatically:<\/strong> As your Merchant of Record, Kelviq takes on the full liability for global sales tax (VAT, GST, etc.), fraud, and regulatory compliance. You can sell in 100+ countries without ever registering for a foreign tax ID.<\/p>\n<\/li>\n<li>\n<p><strong>Run any pricing model:<\/strong> Flat fee, usage, seats, tiers, volume, credits, pay-as-you-go, overage charges, or hybrids. Configure them in minutes.<\/p>\n<\/li>\n<li>\n<p><strong>Sell digital products with ease:<\/strong> Securely deliver files, e-books, or software on purchase and automatically generate license keys to validate customers.<\/p>\n<\/li>\n<li>\n<p><strong>Meter usage in real time:<\/strong> Count every API hit, data storage unit, or AI tokens in real time. Set soft or hard caps, pick reset cycles, send alerts, and handle overages with one call.<\/p>\n<\/li>\n<li>\n<p><strong>Control feature access:<\/strong> Define features per plan. Turn them on or off and check access in your app with one SDK call.<\/p>\n<\/li>\n<li>\n<p><strong>Localized pricing by country:<\/strong> Offer country-specific prices in 135+ currencies with VPN, proxy, and fraud protection built in. You can also set up promotions for specific countries.<\/p>\n<\/li>\n<li>\n<p><strong>Ship pricing changes without touching code:<\/strong> A\/B test plans, roll out changes, or update pricing in real time without redeploys.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Manage the full customer lifecycle:<\/strong> Handle upgrades, downgrades, migrations, overrides, and grandfathering without writing custom scripts.<\/p>\n<p><strong>We are also running a special founder offer right now:<\/strong><br \/>2.9% + 40\u00a2 per transaction for your first $5K in volume. After that, just 3.5% + 40\u00a2 per transaction.<\/p>\n<p>We&#8217;d love your feedback, questions, and suggestions.<\/p>\n<p>Thank you for checking out Kelviq \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>26<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sachinchoolur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sachinchoolur<\/a>&nbsp;love the product.. all the best Sachin.. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sachinchoolur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sachinchoolur<\/a>&nbsp;Many congratulations Sachin on launching Kelviq on Product Hunt! \ud83d\ude42 <\/p>\n<\/p>\n<p><strong>How I met the maker? <\/strong><\/p>\n<\/p>\n<p>I first discovered Sachin\u2019s work through his earlier products and have been following his journey since, we had re-connected last year via our mutual friend <a href=\"https:\/\/www.producthunt.com\/@harsh_jhunjhunuwala\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"harsh_jhunjhunuwala\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harsh_jhunjhunuwala<\/a> during the <a href=\"https:\/\/www.producthunt.com\/products\/paritydeals\/launches\/paritydeals-2\" target=\"_blank\" rel=\"noopener\">ParityDeals<\/a> launch. When he started building Kelviq it instantly caught my eye. <\/p>\n<\/p>\n<p><strong>What is Kelviq? <\/strong><\/p>\n<\/p>\n<p>Kelviq is a complete monetization platform for SaaS, AI, and digital products that bundles payments, checkout, global taxes, compliance, subscriptions, usage-based billing, digital delivery, license keys, credits, and feature access into one system. <\/p>\n<\/p>\n<p>Instead of stitching together a payment gateway, webhooks, custom billing logic, and tax tooling, you plug into Kelviq and get a unified platform plus a Merchant of Record that handles global tax and compliance for you. <\/p>\n<\/p>\n<p><strong>Why I endorse Kelviq? <\/strong><\/p>\n<\/p>\n<p>I endorse Kelviq because it lets founders launch serious billing in days instead of months and keep iterating on pricing without constant engineering work. <\/p>\n<\/p>\n<p>Support for flat, seat-based, usage-based, credit-based, and hybrid models along with real-time metering (API calls, AI tokens, etc.) and localized pricing in 135+ currencies makes it a powerful fit for modern SaaS and AI products that want to scale globally. <\/p>\n<\/p>\n<p>Give it a spin! \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>10<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sachinchoolur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sachinchoolur<\/a>&nbsp;solves huge problem monetising products<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alokvats\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alokvats<\/a> finally its coming out.. so happy for you guys. Kelviq fills such a big gap for us solopreneurs. Keep going \ud83d\ude80\ud83d\ude80\ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@a_nubhv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@a_nubhv<\/a>&nbsp;Thanks for the support. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch!<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@riya_jawandhiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@riya_jawandhiya<\/a>&nbsp;Thanks, Riya!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@riya_jawandhiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@riya_jawandhiya<\/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>Big fan of your work Sachin, congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@musharofchy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@musharofchy<\/a>&nbsp;Thanks Musharof!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Id use this over Stripe.<\/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 would use it for my next side project \u2764\ufe0f<\/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\/@prashant_mahajan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prashant_mahajan<\/a>&nbsp;Thanks, Prashant! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Wait, 3.5% includes tax compliance globally? That\u2019s the actual unlock. Most platforms make you DIY the worst part.<\/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>3.5% flat pricing is interesting curious how margins scale.<\/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\/@bruce_warren\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bruce_warren<\/a>&nbsp;Yeah, this is a special offer for our early customers.<\/p>\n<p>As volume grows, we&#8217;ll also have custom pricing for larger customers, but our goal is to keep Kelviq much more accessible than traditional MoR providers.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 \ud83d\ude4c <\/p>\n<p>Does Kelviq handle reverse-charge VAT for B2B sales within the EU automatically (valid VAT ID = no tax charged)?  <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@francesco2689\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@francesco2689<\/a>&nbsp;Yes Francesco, we do handle reverse-charge VAT for B2B sales. If the customer provides a valid VAT ID, no VAT is charged.<\/p>\n<p>Whether the VAT should be deducted from the gross amount or handled separately can also be configured at the settings level.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks neat. would try it for upcoming side projects! all the best <a href=\"https:\/\/www.producthunt.com\/@sachinchoolur\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sachinchoolur<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p> <a href=\"https:\/\/www.producthunt.com\/@neelptl2602\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@neelptl2602<\/a>&nbsp;Thank you Neel.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Cool stuff. Congrats on the launch. I hope Kelviq gets featured.<\/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\/@jotzilla\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jotzilla<\/a>&nbsp;Thanks for the support.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations with the launch Sachin &#8211; been following your and Kelviq&#8217;s journey. The speed at which you&#8217;re shipping things is really incredible! All the best \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@designerdada\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@designerdada<\/a>&nbsp;Thanks, Akash! Means a lot coming from you \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>THIS IS AWESOME!! need this for getoverlay.io<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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! As a founder dealing with stripe integration right now, the idea of having payments, tax, and compliance handled in one place is really appealing. How does migration work for teams already on Stripe?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tjclayton\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tjclayton<\/a>&nbsp;It&#8217;s a comparatively easy process with Stripe. We&#8217;d mainly need to review your current pricing structure and plan setup to ensure a smooth migration.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Let&#8217;s go Sachin!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Can this replace metronome?<\/div>\n<div class=\"comment-actions\">\n<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\/@feiyou_guo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@feiyou_guo<\/a>&nbsp;Yes, Kelviq has built in usage metering.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Being able to change pricing without digging through billing code sounds really nice \ud83d\ude02<\/p>\n<p>This stuff always gets messy once products start growing. Congrats on the launch!\ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@campritchard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@campritchard<\/a>&nbsp;Thanks, Cam!<\/p>\n<p>Pricing should be owned by the product,GTM team, not blocked by engineering tickets. <\/p>\n<p>That&#8217;s one of the main reasons we built Kelviq.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Curious how it handles Apple\/Google IAP alongside web payments most billing tools are built around web-first and mobile app billing is always an afterthought. Does it support App Store subscriptions?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@imad_elkhafi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@imad_elkhafi<\/a>&nbsp;Right now, Kelviq is focused on web payments and web-based subscriptions. We don&#8217;t directly support Apple\/Google in-app subscriptions yet.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I think your logo looks very familiar \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asti_pili\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asti_pili<\/a>&nbsp;Oops! Just noticed. Looks similar \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\">Great product! There is a way to migrate users, active subscriptions and license key from other MoR like LemonSqueezy or Paddle?<\/div>\n<div class=\"comment-actions\">\n<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\/@theviolacode\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@theviolacode<\/a>&nbsp;Thanks! Yes, we can help with migration.<\/p>\n<p>If your current provider supports PCI-compliant payment method migration, like Stripe or Paddle, we can migrate payment methods as well, so your customers don\u2019t have to re-enter their cards.<\/p>\n<p>We can also help migrate products, plans, customers, active subscriptions, discounts, files, and license keys from platforms like Lemon Squeezy or Paddle.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@devpura1993\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@devpura1993<\/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\">This looks awesome! Can we have a call with you guys to see if we can use it?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ilaiszp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ilaiszp<\/a>&nbsp;Hi Ilai,<\/p>\n<p>Sure, please grab a slot here: <a href=\"https:\/\/tidycal.com\/neravath\/15-minute-meeting\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/tidycal.com\/neravath\/15-minute-meeting<\/a><\/p>\n<p>Happy to walk you through the product and help you with the setup.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Handling global tax is often the biggest hurdle for early-stage SaaS expanding internationally. How does Kelviq handle tax remittance for specific regions like the EU (VAT) compared to US sales tax? Is the &#8216;digital delivery&#8217; feature integrated with the billing logic to automate access management upon payment?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rivra_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rivra_dev<\/a>&nbsp;<br \/>We&#8217;ve registered in EU for tax remittance, so we handle the VAT OSS filings and reverse charges ourselves. <\/p>\n<p>In the US, we manage the various state nexus thresholds and collect\/remit sales tax on behalf of our users.<\/p>\n<p>Regarding digital delivery: yes, the billing logic is tightly coupled. Once the payment is verified, the system triggers the delivery webhook, sends an email notification and grants access immediately, so there&#8217;s no manual &#8216;hand-off&#8217; needed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 \ud83d\ude80 The traction today is incredible. Curious \u2014 what was the unlock that pushed you past 200 upvotes in just a few hours? Trying to learn from the best today since my own launch is happening \ud83d\ude05<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@axlerodd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@axlerodd<\/a>&nbsp;Thank you \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is really cool \ud83d\ude0e <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@buildersps\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@buildersps<\/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>Congrats on the launch! Kelviq looks promising<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@manuarora\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manuarora<\/a>&nbsp;Thank you Manu.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious about the 3.5% + 40\u00a2 number \u2014 that&#8217;s a hard line in the sand vs. Stripe&#8217;s 2.9% + 30\u00a2, but you&#8217;re bundling sales-tax remittance and global compliance into the same blob. For SaaS founders the implicit framing matters: is Kelviq pricing as a flat replacement for Stripe + TaxJar + Paddle MoR, or is the AI\/usage-billing primitive the part you&#8217;d argue is worth a different cost basis?<\/p>\n<\/p>\n<p>In my world (project-finance modelling, where I run ModeLoop on the side), the cleanest valuation conversations always start by separating commodity-line items from differentiated ones. The bundling decision tends to be where founders either communicate or obscure unit economics. Where do you see customers landing on that vs. the underlying CPM\/CPM-equivalents?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cool, I use polar and migrate to stripe. how do you handle that kinda low cost? 3.5$ is most low MoR I&#8217;ve ever seen.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 is different form Kelviq and paypal?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Hey Sachin, congrats on the launch! Many Indian founders have been struggling with Paddle and Lemon Squeezy suddenly closing accounts or having strict entity requirements. Since Kelviq supports individuals, can you clarify how you handle payouts for Indian users (e.g., via Stripe Connect or local bank transfer) and if there are any specific compliance hurdles\/GST requirements we should be aware of to ensure account longevity?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/74MX3XTFNJVI5S\" class=\"app-title\">Open Vibe<\/a><\/p>\n<div class=\"one-liner\">Ship your SaaS with AI, without getting stuck<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">249<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Open Vibe \u5c06Claude Code\u7b49AI\u7f16\u7a0b\u4ee3\u7406\u8f6c\u53d8\u4e3aSaaS\u5bfc\u5e08\uff0c\u5728\u7528\u6237\u6784\u5efa\u771f\u5b9e\u5e94\u7528\u7684\u8fc7\u7a0b\u4e2d\uff0c\u540c\u6b65\u8bb2\u89e3\u8ba4\u8bc1\u3001\u652f\u4ed8\u3001\u90e8\u7f72\u7b49\u5173\u952e\u6982\u5ff5\uff0c\u89e3\u51b3\u201c\u95ed\u773c\u7f16\u7801\u201d\u5bfc\u81f4\u65e0\u6cd5\u7406\u89e3\u4e0e\u8c03\u8bd5\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\/756ab799-9c06-4fb9-b507-958e9a016810.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0b8119bf-db45-4415-aceb-af3b675abfeb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8d137fb1-8f41-4559-a1c5-2a5a8fecfa1d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8765fc5c-e15f-4023-80cb-9970461a89ee.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4746d1ff-f1c3-4426-b6f4-7a4637d3a3e0.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\/a4d6f0f3-20aa-4136-be0b-e3d6ad1e7581.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/ui0pMe7M00U\"><source src=\"https:\/\/youtu.be\/ui0pMe7M00U\" 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\">Education<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7a0b\u5b66\u4e60\u4f34\u4fa3<\/span><br \/>\n            <span class=\"tag\">SaaS\u6a21\u677f\u6559\u5b66<\/span><br \/>\n            <span class=\"tag\">Vibe Coding<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ea4\u4e92\u5f0f\u6559\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u7406\u89e3<\/span><br \/>\n            <span class=\"tag\">Git\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u811a\u624b\u67b6<\/span><br \/>\n            <span class=\"tag\">AI\u96c6\u6210\u5f15\u5bfc<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u730e\u4eba\u70ed\u95e8<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u89e3\u51b3\u201c\u95ed\u773c\u7f16\u7801\u201d\u540e\u65e0\u6cd5\u8c03\u8bd5\u7684\u75db\u70b9\u3002\u4e3b\u8981\u5173\u6ce8\u70b9\uff1a\u2460\u5982\u4f55\u5e73\u8861\u4e0a\u4e0b\u6587\u6559\u5b66\u4e0e\u7ed3\u6784\u5316\u8bfe\u7a0b\uff1b\u2461\u80fd\u5426\u8ffd\u8e2a\u5b66\u4e60\u8fdb\u5ea6\u907f\u514d\u91cd\u590d\uff1b\u2462\u5bf9\u66f4\u5927\u4ee3\u7801\u5e93\u7684\u9002\u7528\u6027\uff1b\u2463\u6709\u7528\u6237\u6307\u51fa\u5b9a\u4f4d\u5728\u201c\u5b66\u4e60\u201d\u4e0e\u201c\u907f\u514d\u5361\u4f4f\u201d\u95f4\u9700\u66f4\u6e05\u6670\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                Open Vibe\u5207\u5165\u4e86\u4e00\u4e2a\u6781\u5176\u7cbe\u51c6\u4e14\u65e5\u6e10\u5c16\u9510\u7684\u75db\u70b9\u2014\u2014\u201cAI\u8f85\u52a9\u7f16\u7a0b\u201d\u6cdb\u6ee5\u4e0b\u7684\u201c\u76f2\u98de\u201d\u56f0\u5883\u3002\u5f53\u524d\u5e02\u573a\u5145\u65a5\u7740\u201c10\u5206\u949f\u7528Cursor\u642d\u4e2aAI\u5e94\u7528\u201d\u7684\u901f\u6210\u6559\u7a0b\uff0c\u7528\u6237\u80fd\u5feb\u901f\u5806\u79ef\u4ee3\u7801\uff0c\u5374\u5bf9\u5e95\u5c42\u67b6\u6784\u3001HTTP\u534f\u8bae\u3001\u6570\u636e\u5e93\u4e8b\u52a1\u7b49\u6beb\u65e0\u6982\u5ff5\uff0c\u4e00\u65e6AI\u8f93\u51fa\u504f\u79bb\u9884\u671f\uff08\u8fd9\u662f\u5e38\u6001\uff09\uff0c\u9a6c\u4e0a\u9677\u5165\u201c\u63d0\u793a-\u4fee\u590d\u201d\u7684\u6b7b\u5faa\u73af\u3002Open Vibe\u7684\u89e3\u6cd5\u76f8\u5f53\u52a1\u5b9e\uff1a\u5b83\u6ca1\u6709\u9009\u62e9\u505a\u7a7a\u6cdb\u7684\u77e5\u8bc6\u56fe\u8c31\uff0c\u800c\u662f\u63d0\u4f9b\u4e00\u4e2a\u771f\u5b9e\u7684\u3001\u4e1a\u754c\u6807\u51c6\u7684SaaS\u811a\u624b\u67b6\uff08Open SaaS\uff09\uff0c\u7136\u540e\u8ba9AI\u4ee3\u7406\u5728\u7528\u6237\u52a8\u624b\u5b9a\u5236\u65f6\uff0c\u540c\u6b65\u4ee5\u52a8\u753b\u548c\u56fe\u89e3\u8bb2\u89e3\u6bcf\u4e2a\u5177\u4f53\u64cd\u4f5c\u80cc\u540e\u7684Why\u2014\u2014\u6bd4\u5982\u201c\u4e3a\u4ec0\u4e48\u8fd9\u91cc\u7528PostgreSQL\u800c\u975eMongoDB\uff1f\u201d\u201c\u4e3a\u4ec0\u4e48\u652f\u4ed8\u56de\u8c03\u9700\u8981\u5e42\u7b49\u6027\u8bbe\u8ba1\uff1f\u201d\u8fd9\u79cd\u60c5\u5883\u5316\u6559\u5b66\u6bd4\u4efb\u4f55\u8131\u79bb\u9879\u76ee\u7684\u6559\u7a0b\u90fd\u66f4\u6709\u9ecf\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u8ddd\u79bb\u6210\u4e3a\u201cAI\u65f6\u4ee3\u7684\u7f16\u7a0b\u6559\u7ec3\u201d\u4ecd\u6709\u660e\u663e\u5dee\u8ddd\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u5df2\u70b9\u51fa\u4e24\u4e2a\u5173\u952e\u77ed\u677f\uff1a\u4e00\u662f\u9700\u8981\u8fdb\u5ea6\u7ba1\u7406\uff0c\u9632\u6b62\u540c\u4e00\u4e2a\u77e5\u8bc6\u70b9\u53cd\u590d\u8bb2\u89e3\uff1b\u4e8c\u662f\u5bf9\u4e8e\u7528\u6237\u81ea\u5df1\u5f15\u5165\u7684\u66f4\u590d\u6742\u7684\u4ee3\u7801\u5e93\uff0c\u6559\u5b66\u6548\u679c\u5c1a\u672a\u9a8c\u8bc1\u3002\u6b64\u5916\uff0c\u5b9a\u4ef7\u6a21\u5f0f\u4e0e\u201c\u6559+\u5efa\u201d\u7684\u7ec4\u5408\u662f\u5426\u4f1a\u4f7f\u4ea7\u54c1\u9677\u5165\u201c\u6559\u7a0b\u5de5\u5177\u201d\u4e0e\u201c\u5f00\u53d1\u811a\u624b\u67b6\u201d\u7684\u5b9a\u4f4d\u6a21\u7cca\uff1f\u76ee\u524d\u6765\u770b\uff0c\u5b83\u66f4\u63a5\u8fd1\u4e00\u4e2a\u201c\u5e26\u6ce8\u91ca\u7684\u4ea4\u4e92\u5f0f\u542f\u52a8\u5957\u4ef6\u201d\uff0c\u800c\u975e\u901a\u7528\u5b66\u4e60\u5e73\u53f0\u3002\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\uff0c\u5b83\u8ba9\u201cAI\u8f85\u52a9\u5f00\u53d1\u201d\u4ece\u76f2\u4ece\u8f93\u51fa\u8f6c\u5411\u201c\u7406\u89e3\u540e\u590d\u7528\u201d\u2014\u2014\u8fd9\u5bf9\u63d0\u5347\u6574\u4e2aVibe Coding\u793e\u533a\u7684\u4ee3\u7801\u7d20\u8d28\u610f\u4e49\u91cd\u5927\uff0c\u4f46\u82e5\u8981\u6210\u4e3a\u4e3b\u6d41\u5de5\u5177\uff0c\u5fc5\u987b\u5728\u4e2a\u6027\u5316\u5b66\u4e60\u8def\u5f84\u548c\u51b7\u542f\u52a8\u5f15\u5bfc\u4e0a\u505a\u66f4\u591a\u6295\u5165\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Open Vibe<\/span>\n                <\/div>\n<div class=\"comment-content\">Build the skills of a pro coder while you ship a real SaaS app! Open Vibe turns Claude Code (or your agent of choice) into the ultimate SaaS tutor, teaching the most important concepts while you build.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Vibe coding blindly builds apps you don&#8217;t understand. <\/p>\n<p>Static tutorials teach with throwaway apps. <\/p>\n<\/p>\n<p>With Open Vibe your agent tutors you while you build and ship your SaaS using the tools and concepts of the pros.<\/p>\n<p>What Open Vibe does:<br \/>\ud83d\udee0\ufe0f Sets up your local development environment for agentic coding for you<br \/>\ud83d\ude0e Guides you through building full-stack apps (Auth, Payments, AI-integrations)<br \/>\ud83d\udcbb Explains complicated processes like Git, Deployments, Databases, HTTP, etc along with animated diagrams<br \/>\ud83e\uddd1\u200d\ud83c\udfeb Acts as your personalized tutors as you build and ship your own app ideas<\/p>\n<p>Who it\u2019s for:<br \/>\ud83e\uddd1\u200d\ud83d\udcbb Vibe Coders <br \/>\ud83c\udfd7\ufe0f Aspiring Founders\/Entrepreneurs <br \/>\ud83d\udd2c Learners experimenting with AI<\/p>\n<p>Quick links<br \/>Website: <a href=\"https:\/\/OpenVibe.sh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/OpenVibe.sh<\/a><br \/>GitHub: <a href=\"https:\/\/github.com\/wasp-lang\/ship-your-first-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/wasp-lang\/shi&#8230;<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The biggest problem with vibe coding right now isn&#8217;t that people can&#8217;t ship &#8211; it&#8217;s that they ship without understanding what they shipped. You get a working app and zero ability to debug, extend, or make architectural decisions when the AI gets confused. Curious about how it handles the teaching moments. Does it pause and explain concepts in context (like &#8220;here&#8217;s why we&#8217;re using this pattern&#8221;), or is it more of a structured curriculum that happens to use your project as the canvas? Those are very different learning experiences.<\/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\/@ben_gend\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ben_gend<\/a>&nbsp;it&#8217;s actually both approaches combined. We use Open SaaS, our free, open-source SaaS boilerplate template, and explain concepts in context as the user makes changes and customizes it to become their own SaaS.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 feels like a bridge between learning and doing finally.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bruce_warren\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bruce_warren<\/a>&nbsp;yep! learn and do at the same time \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on launch! Wasp is a wonderful framework and perfect for something like this. And, really cool to see a teaching tool!<\/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\/@campak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@campak<\/a>&nbsp;Thanks for your continued support, Cam!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Interesting. There was another app like this last week on product hunt.<\/p>\n<p>Does your app keep track of what the user learned and not repeat stuff?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;yeah Contral, I think it&#8217;s called. They take the IDE extension route and focus on any codebase. We provide the codebase (Open SaaS, our free, open-source SaaS boilerplate template) and build\/teach around that. And, yes, we keep a course progress JSON updated to track learner&#8217;s progress.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>super cool! Understanding the codebase is one of the biggest issues with vibe coding and it&#8217;s the reason why most people get stuck. I&#8217;d love to see how this looks on a bigger codebase<\/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\/@zvonimir_sabljic1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zvonimir_sabljic1<\/a>&nbsp;this is a cool idea! right now it runs on top of Open SaaS, our free, open-source SaaS template, so that&#8217;s already a pretty big codebase and it works great.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Tried it and it delivers. Biggest thing for me: instead of blindly approving every Claude Code suggestion, you&#8217;re walked through what&#8217;s actually happening and why it matters. Awesome launch, Vince. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@matija_tolic1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matija_tolic1<\/a>&nbsp;Awesome. We went people to feel confident about what they&#8217;re shipping, so that&#8217;s the idea!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Super excited to see Vinny shipping this! I think that having a tutorial embedded in the agent makes the whole experience so much more interactive. Plus, you can actually build your own thing while learning about all the web dev concepts you need to ship without getting stuck. Huge if true \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@matijash\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matijash<\/a>&nbsp;That&#8217;s the most exciting part for me, that you can start on your idea right away and learn as you build it, rather than going through a course and do cheap demo apps before you start on your own.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 was just looking for a product like this yesterday! (and honestly, briefly considered building it :P)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@robert_douglass\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@robert_douglass<\/a>&nbsp;awesome! i&#8217;d love your feedback if you get a chance to try it \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>I thing this is great! Learning even just the basics of web dev is a big help and will make it much easier to get further along with your app.<br \/>Btw I was a bit confused with the messaging because at one moment it is about not getting stuck, another it is about learning, I guess those are connected but also don&#8217;t have to be, so I am not sure what is this more about, I guess about learning, and not being stuck is just a consequence?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@martin_sosic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@martin_sosic<\/a>&nbsp;learn the system in context using your Agent as a tutor while you build so that you don&#8217;t get stuck in the prompt-fix loop that plagues so many vibe coders!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Putting two things together &#8211; vibe coding and learning how to develop and code is awesome. Congratulations on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vibor_cipan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vibor_cipan<\/a>&nbsp;That&#8217;s the idea. 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>The &#8220;getting stuck&#8221; problem is real. For me the bigger issue wasn&#8217;t technical it was showing up the next day after a bad session. I&#8217;ve been experimenting with extremely small daily logs (like, just one sentence about what I built or unblocked) and it&#8217;s been weirdly effective at keeping the streak going. Something about having to write even one line means you have to do at least one thing. Congrats on the launch the Claude Code integration angle is smart.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Well done <a href=\"https:\/\/www.producthunt.com\/@matijash\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"matijash\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matijash<\/a> \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">okay i thought it is just another saas template. but interactive part is really good. this has a lot of potential . one of those products which keeps on evolving. wondering how you are going to tackle the framework parts. especially with tech stack becoming polygot these days.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>&#8220;Without getting stuck&#8221; is doing a lot of work in that tagline what&#8217;s the most common place devs get stuck that this specifically solves? Architecture decisions, boilerplate, or something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\u201cWithout getting stuck\u201d is doing a lot of heavy lifting in that tagline. Every SAAS partner has lost a week to infra that had nothing to do with their actual product.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a fascinating concept for a &#8216;tutor&#8217; in the IDE. How does Open Vibe maintain the balance between giving the developer the &#8216;answer&#8217; and actually teaching them the underlying concepts? Does it support multiple LLMs besides Claude, or is it specifically optimized for Claude Code&#8217;s capabilities?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rivra_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rivra_dev<\/a>&nbsp;it&#8217;s a tutor in the terminal and its been tested extensively with Claude Code but should work with other terminal-based coding agents. It&#8217;s based on the Open SaaS boilerplate starter and walks through concepts there in context as the learner builds their app idea.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the landing page, we should have you doing our redesign.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sodic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sodic<\/a>&nbsp;i know, right?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks pretty sweet. The UI for visualising the data flow is the detail beginners need. It&#8217;s sometimes easy to get lost in the word soups that LLMs give you&#8230; Draw a picture for me and I&#8217;m happy. Good job Vinny!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mihovil_ilakovac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mihovil_ilakovac<\/a>&nbsp;help me help you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting approach to AI-assisted development.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@bilal_niaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bilal_niaz<\/a>&nbsp;appreciate 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>Been watching Vinny cook on this one! Just a bit of knowledge can go a very long way when vibecoding effectively, and Open Vibe gives you that, hands on.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@_cprecioso\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@_cprecioso<\/a>&nbsp;yep, understanding the system is more than enough to get very far with AI tools these days.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/2U7NQ3R7UBKMGD\" class=\"app-title\">Hyperswitch Prism<\/a><\/p>\n<div class=\"one-liner\">Library to plug-n-switch payment processors<\/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>Hyperswitch Prism\u662f\u4e00\u6b3e\u5f00\u6e90\u7684\u652f\u4ed8\u5904\u7406\u5668\u5207\u6362\u5e93\uff0c\u8ba9\u5f00\u53d1\u8005\u901a\u8fc7\u4e00\u6b21\u96c6\u6210\u5373\u53ef\u7075\u6d3b\u5207\u6362\u3001\u5197\u4f59\u5907\u4efd\u6216\u6309\u89c4\u5219\u8def\u7531\u4e0d\u540c\u652f\u4ed8\u7f51\u5173\uff0c\u907f\u514d\u88ab\u5355\u4e00\u4f9b\u5e94\u5546\u9501\u5b9a\uff0c\u89e3\u51b3\u652f\u4ed8\u96c6\u6210\u968f\u4e1a\u52a1\u589e\u957f\u800c\u53d8\u5f97\u590d\u6742\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\/8d5500c1-8ef7-428f-84c9-de617bd2ed22.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9111761f-7c40-459b-a79d-02a296de255f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4a6c711d-3464-40ad-9dfa-9e8ed7070f48.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/26496704-de3b-41ad-9488-2275ed720d94.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f7252fb-5f73-4967-a64f-67a88ab1f698.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\/64cb2739-7363-4f21-a0a6-68a7ed64dfe2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/dysrx-8DoMc\"><source src=\"https:\/\/youtu.be\/dysrx-8DoMc\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Fintech<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u652f\u4ed8\u5904\u7406\u5668\u5207\u6362<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u652f\u4ed8\u5e93<\/span><br \/>\n            <span class=\"tag\">\u591a\u652f\u4ed8\u7f51\u5173\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u652f\u4ed8\u62bd\u8c61\u5c42<\/span><br \/>\n            <span class=\"tag\">Stateless\u67b6\u6784<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Node\/Python\/Java\/Rust SDK<\/span><br \/>\n            <span class=\"tag\">\u652f\u4ed8\u5197\u4f59<\/span><br \/>\n            <span class=\"tag\">\u65e0\u72b6\u6001\u5e93<\/span><br \/>\n            <span class=\"tag\">\u652f\u4ed8\u8def\u7531\u89c4\u5219<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5bf9\u8be5\u5e93\u7684\u201c\u65e0\u72b6\u6001\u201d\u8bbe\u8ba1\u548c\u201c\u5355\u4e00\u96c6\u6210\u5c42\u201d\u7ed9\u4e88\u8ba4\u53ef\uff0c\u8ba4\u4e3a\u9002\u5408\u4e0d\u60f3\u91c7\u7528\u5b8c\u6574\u652f\u4ed8\u7f16\u6392\u5e73\u53f0\u7684\u56e2\u961f\u3002\u4e3b\u8981\u8bc9\u6c42\u5305\u62ec\uff1a\u8865\u5145\u5931\u8d25\u652f\u4ed8\u91cd\u8bd5\u4e0e\u5bf9\u8d26\u7684\u793a\u4f8b\uff1b\u8ffd\u52a0Golang SDK\uff1b\u6f84\u6e05\u8de8\u8bed\u8a00\u7edf\u4e00\u9519\u8bef\u5904\u7406\u7684\u5b9e\u73b0\uff1b\u4ee5\u53ca\u8bf4\u660e\u4e0d\u5b58\u50a8\u6570\u636e\u65f6\u5982\u4f55\u8ddf\u8e2a\u4e8b\u4ef6\u4e0e\u5bf9\u8d26\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                Hyperswitch Prism\u5728\u201c\u652f\u4ed8\u7f16\u6392\u5e73\u53f0\u201d\u548c\u201c\u88f8\u63a5\u5355\u4e00\u652f\u4ed8\u5904\u7406\u5668\u201d\u4e4b\u95f4\uff0c\u786c\u751f\u751f\u6495\u5f00\u4e86\u4e00\u4e2a\u5de7\u5999\u7684\u4e2d\u95f4\u5730\u5e26\u3002\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u53c8\u591a\u4e86\u4e00\u4e2a\u5f00\u6e90\u652f\u4ed8\u5e93\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u51fb\u4e2d\u4e86\u9ad8\u901f\u589e\u957f\u578b\u4f01\u4e1a\u7684\u7ed3\u6784\u6027\u75db\u70b9\uff1a\u5f53\u4e1a\u52a1\u4ece\u5355\u4e00\u5e02\u573a\u3001\u5355\u4e00\u652f\u4ed8\u5546\u5411\u591a\u533a\u57df\u3001\u591a\u7f51\u5173\u6f14\u8fdb\u65f6\uff0c\u96c6\u6210\u6210\u672c\u3001\u7ef4\u62a4\u5f00\u9500\u548c\u4f9b\u5e94\u5546\u9501\u5b9a\u98ce\u9669\u5448\u6307\u6570\u7ea7\u4e0a\u5347\u3002Prism\u7528\u201c\u65e0\u72b6\u6001+\u5355\u4e00\u63a5\u53e3\u201d\u7684\u6781\u7b80\u54f2\u5b66\uff0c\u628a\u6700\u810f\u6700\u7d2f\u7684\u7f51\u5173\u5dee\u5f02\u5c01\u88c5\u5728\u5e95\u5c42\uff0c\u8ba9\u4e1a\u52a1\u903b\u8f91\u5728\u4e0a\u5c42\u53ef\u4ee5\u50cf\u63d2\u62d4U\u76d8\u4e00\u6837\u66f4\u6362\u652f\u4ed8\u5904\u7406\u5668\u3002\u8fd9\u79cd\u8bbe\u8ba1\u65e2\u907f\u514d\u4e86\u90e8\u7f72\u5b8c\u6574\u652f\u4ed8\u7f16\u6392\u5e73\u53f0\uff08\u5982Juspay\u81ea\u5bb6\u7684Hyperswitch\uff09\u5e26\u6765\u7684\u81c3\u80bf\u548c\u57fa\u7840\u8bbe\u65bd\u5f00\u9500\uff0c\u53c8\u4fdd\u7559\u4e86\u201c\u540e\u671f\u5347\u7ea7\u201d\u7684\u8fc1\u79fb\u8def\u5f84\u3002\u4e0d\u8fc7\uff0c\u201c\u65e0\u72b6\u6001\u201d\u867d\u7136\u964d\u4f4e\u4e86\u63a5\u5165\u95e8\u69db\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u91cd\u8bd5\u3001\u5bf9\u8d26\u3001\u4e8b\u4ef6\u5b58\u50a8\u7b49\u5173\u952e\u652f\u4ed8\u573a\u666f\u4ecd\u9700\u8981\u56e2\u961f\u81ea\u884c\u642d\u5efa\u6216\u4f9d\u8d56\u5176\u4ed6\u7ec4\u4ef6\uff0c\u5bf9\u521a\u521a\u8d77\u6b65\u7684\u5355\u5904\u7406\u5668\u56e2\u961f\u6765\u8bf4\uff0cPrism\u53ef\u80fd\u663e\u5f97\u201c\u8fc7\u4e8e\u901a\u7528\u201d\u800c\u7f3a\u4e4f\u5f00\u7bb1\u5373\u7528\u7684\u4fbf\u5229\u3002\u7136\u800c\uff0c\u5bf9\u4e8e\u5df2\u7ecf\u611f\u53d7\u5230\u591a\u652f\u4ed8\u7f51\u5173\u4e4b\u75db\u3001\u53c8\u4e0d\u60f3\u88ab\u590d\u6742\u5e73\u53f0\u7ed1\u67b6\u7684\u4e2d\u578b\u56e2\u961f\uff0c\u8fd9\u51e0\u4e4e\u662f\u6700\u4f18\u7684\u201c\u9632\u5fa1\u6027\u96c6\u6210\u201d\u65b9\u6848\u2014\u2014\u4f60\u4e0d\u9700\u73b0\u5728\u5c31\u5f15\u5165\u7f16\u6392\u5de8\u517d\uff0c\u4f46\u4ee3\u7801\u7ed3\u6784\u4e2d\u5df2\u4e3a\u672a\u6765\u51c6\u5907\u597d\u4e86\u5207\u6362\u7684\u63a5\u53e3\u3002\u4ece\u793e\u533a\u53cd\u5e94\u770b\uff0c\u5bf9Golang\u548c\u5931\u8d25\u91cd\u8bd5\u7528\u4f8b\u7684\u5f3a\u70c8\u547c\u58f0\u4e5f\u63ed\u793a\u4e86\u5176\u5f53\u524d\u77ed\u677f\uff1a\u8981\u771f\u6b63\u6210\u4e3a\u201c\u652f\u4ed8\u6807\u51c6\u5c42\u201d\uff0c\u5fc5\u987b\u6709\u66f4\u4e30\u5bcc\u7684\u6700\u4f73\u5b9e\u8df5\u6837\u4f8b\u548c\u8bed\u8a00\u8986\u76d6\u3002\u4e00\u53e5\u8bdd\uff1aPrism\u662f\u652f\u4ed8\u9886\u57df\u7684\u201cTypeScript\u201d\u2014\u2014\u7ed9\u4f60\u63a5\u53e3\u5b89\u5168\u611f\uff0c\u4f46\u8fd0\u884c\u65f6\u8fd8\u5f97\u4f60\u81ea\u5df1\u6765\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\">Hyperswitch Prism<\/span>\n                <\/div>\n<div class=\"comment-content\">Prism is a stateless payments library that connects your app to multiple payment processors. You can integrate once and point to any payment processor; add fallbacks for redundancy, switch processors based on routing rules &#8211; all by swapping a few lines of code. No sign-up needed. No infra setup needed. Actively maintained within the Juspay Hyperswitch production environment. Apache-2.0 licensed, polyglot ready, with SDKs for Node, Python, Java and Rust.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello Product Hunters \ud83d\udc4b<\/p>\n<p>I\u2019m Jeeva from Juspay, the team behind Hyperswitch, the open-source payments platform with 42K+ GitHub stars.<\/p>\n<\/p>\n<p>Today, we\u2019re launching <strong>Prism<\/strong>: an open-source <strong>library<\/strong> that gives developers one common integration layer across payment processors like Stripe, Adyen, Braintree, Checkout, and others.<\/p>\n<\/p>\n<p>Most teams start with a single payment processors. That works well early on. But as the business grows, payments get more complex:<\/p>\n<\/p>\n<p><strong>Early growth<\/strong>: new markets need new processors, and customers expect local payment methods.<\/p>\n<p><strong>Scaling up<\/strong>: finance teams want pricing leverage, engineering teams need reliability, and maintaining payment processor integrations becomes ongoing work.<\/p>\n<\/p>\n<p>Prism helps teams avoid locking in to a single payment processors from the start.<\/p>\n<\/p>\n<p>With Prism, you get:<\/p>\n<ul>\n<li>\n<p>one schema across multiple payment processors<\/p>\n<\/li>\n<li>\n<p>a stateless integration layer<\/p>\n<\/li>\n<li>\n<p>no database and no stored PII<\/p>\n<\/li>\n<li>\n<p>SDKs for Node, Python, Java, and Rust<\/p>\n<\/li>\n<li>\n<p>open-source flexibility without infra setup or sales conversations<\/p>\n<\/li>\n<\/ul>\n<p>Our goal is simple: make payment processors integrations easier to build, maintain, and change over time.<\/p>\n<\/p>\n<p><strong>When did payments start getting operationally complex for your business?<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>20<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jeeva_ramachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jeeva_ramachandran<\/a>&nbsp;This is awesome<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jeeva_ramachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jeeva_ramachandran<\/a>&nbsp;This is great. Global integrations are need of the hour for businesses operating across global corridors.<br \/>Does this also helps abstract future integration complexity like enum changes, data drift, or evolving API behavior?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@jeeva_ramachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jeeva_ramachandran<\/a>&nbsp;Congratulations on the launch!<br \/>I think a lot of teams underestimate how quickly payments get complicated once you expand markets or start working with multiple processors. It stops being \u201cjust Stripe\u201d pretty fast.<\/p>\n<p>Really like the idea of having one common integration layer without getting locked into a single provider.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! I like the stateless approach &#8211; makes sense for teams that don\u2019t want a full payment orchestration platform yet. One thing I\u2019d look for in a business app is good examples around retries, idempotency, and status changes.<\/p>\n<\/p>\n<p>Do you have sample flows for failed payment -&gt; retry -&gt; reconciliation?<\/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\/@ihorperkovskyi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ihorperkovskyi<\/a>&nbsp;Thanks! Retries, idempotency, and reconciliation are handled at the application layer. The SDK focuses on providing the processors integration, while teams can implement their own retry logic, idempotency handling, and reconciliation flows based on their specific requirements.<\/p>\n<p>We don\u2019t provide built-in samples for these flows since the implementation usually varies from team to team.Prism is all about unification for payment processors<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch <a href=\"https:\/\/www.producthunt.com\/products\/hyperswitch-2\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"hyperswitch-2\" target=\"_blank\" rel=\"noopener\">@Juspay Hyperswitch<\/a> team!<br \/>This is exactly what we need. Please add golang sdk as well (our stack is on golang)<\/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\/@nikhil_mishra7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikhil_mishra7<\/a>&nbsp;Thanks for the support! <\/p>\n<p>Great to hear Hyperswitch-Prism fits your needs. We\u2019re actively working on adding new SDK&#8217;s and it\u2019s currently under development. Stay tuned \u2014 we\u2019ll be sharing updates soon<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>7<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Since it&#8217;s polyglot ready, do you provide unified SDKs that maintain consistent error handling across all supported languages, or is the logic primarily at the library level?<\/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\/@rivra_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rivra_dev<\/a>&nbsp;The SDKs provide unified error handling across all languages through language-specific wrappers generated from a single source of truth.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you handle tracking events and reconciliation if Prism itself doesn\u2019t store anything?<\/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>Hi <a href=\"https:\/\/www.producthunt.com\/@othman_katim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@othman_katim<\/a>&nbsp;Prism&#8217;s goal is to unify events, statuses, errors across payment processors. <br \/>The user of prism is expected to store the unified events, statuses and errors on the application.<\/p>\n<\/p>\n<p>Payment orchestration platforms are a stateful solutions which can unify as well as store events (which Juspay hyperswitch does). But Payment orchestration platforms may become an overkill for some businesses who just need the diversity layer. Hence Prism was intended to solve that problem.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>7<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The stateless approach here is pretty interesting. A lot of teams just want the flexibility layer without adopting a whole payment orchestration stack.<\/p>\n<p>Feels like a clean middle ground. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@campritchard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@campritchard<\/a>&nbsp;Thanks for the feedback and support.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Let\u2019s go!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The plug-n-switch primitive maps almost perfectly onto how project finance modelers handle module swaps \u2014 you don&#8217;t rewrite the model when the offtake structure shifts from PPA to merchant; you swap the revenue module while the rest of the workbook keeps integrating cleanly. Hyperswitch&#8217;s redundancy-and-routing layer is the same idea applied at the payments edge. The hard part in both worlds is contract surface: making the swap zero-rewrite means the interface has to anticipate every parameter the new module might want.<\/p>\n<\/p>\n<p>This is also the half of project-finance template design that&#8217;s painfully underrated. I host a small library of these on Eloquens (<a href=\"https:\/\/www.eloquens.com\/channel\/samir-asadov-cfa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.eloquens.com\/channel\/samir-asadov-cfa<\/a>) and the templates that get reused most aren&#8217;t the ones with the fanciest formulas \u2014 they&#8217;re the ones where the module boundaries hold up under change. Curious how you decided on what&#8217;s inside vs. outside the Prism interface contract \u2014 did you back-solve from the messiest real-world processor migration?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@samir_asadov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samir_asadov<\/a>&nbsp;Absolutely, the contract part is the most important to keep up with underlying diversity.<\/p>\n<\/p>\n<p>In the case of Prism&#8217;s interface boundary &#8211; we had the experience of building and running processor abstraction on Juspay hyperswitch payment orchestration platform for many years. It had integrations that evolved over time and we had a clear picture of what stays inside the module boundary. <\/p>\n<ul>\n<li>\n<p>Payment processor domain stays inside the interface(data transformations, error mappings, status mappings).<\/p>\n<\/li>\n<li>\n<p>Everything else stays outside the library (business logic to wire API calls, API credentials)<\/p>\n<\/li>\n<\/ul>\n<p>All the data transformations lies, processor endpoint stay inside the library.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DJ3HA5PIVDFYRP\" class=\"app-title\">Jotform Claude App<\/a><\/p>\n<div class=\"one-liner\">Build, edit, and analyze forms directly in Claude<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">174<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Jotform Claude App \u8ba9\u4f60\u7528\u81ea\u7136\u8bed\u8a00\u5bf9\u8bdd\u5728Claude\u5185\u76f4\u63a5\u6784\u5efa\u3001\u7f16\u8f91\u548c\u6d4b\u8bd5\u8868\u5355\uff0c\u65e0\u9700\u5207\u6362\u5de5\u5177\u6216\u624b\u52a8\u8bbe\u7f6e\uff0c\u5c06\u8868\u5355\u4ece\u201c\u586b\u8868\u201d\u53d8\u8eab\u4e3a\u201c\u5bf9\u8bdd\u201d\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\/ba85d9be-bcef-433a-b620-5ee0149b3dfd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/57b71aeb-618c-4a30-8fd1-8f660e0c8675.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/93130f2a-597e-4b36-9b78-7d9a9e18129b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3ba5364e-3f64-4392-9303-33822b6affc7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/413df41b-1dff-43c3-9bee-8641988a9aed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1f120eec-b785-4808-ab16-f970268ab30a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a3bbc0d6-8f53-4fbb-9687-1a2ca317093f.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\/3c42d484-e16c-44b8-ba8f-c0aa87691613.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/tqIwxuGDzlo\"><source src=\"https:\/\/youtu.be\/tqIwxuGDzlo\" 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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8868\u5355\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u5f0fSaaS<\/span><br \/>\n            <span class=\"tag\">Claude\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8868\u5355\u667a\u80fd\u5316<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u8c03\u7814<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">A\/B\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u4f53\u9a8c\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\u5173\u6ce8\u5bf9\u8bdd\u6784\u5efa\u7684\u6d41\u7545\u6027\u4e0e\u5b9e\u9645\u5de5\u4f5c\u6d41\u7684\u5951\u5408\u5ea6\uff0c\u5c24\u5176\u5e0c\u671b\u5b83\u80fd\u5904\u7406\u52a8\u6001\u4ea4\u4e92\u3001\u6d4b\u8bd5\u8fb9\u754c\u6761\u4ef6\uff08\u5982\u591a\u8bed\u8a00\u9a8c\u8bc1\uff09\uff0c\u5e76\u4fdd\u6301\u957f\u65f6\u95f4\u7f16\u8f91\u4e2d\u7684\u72b6\u6001\u8fde\u7eed\u6027\u3002\u90e8\u5206\u7528\u6237\u8d28\u7591\u5176\u662f\u5426\u53ea\u662f\u5206\u9500\u6e20\u9053\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5f3a\u8c03\u662f\u201cAI\u539f\u751f\u5de5\u4f5c\u6d41\u9700\u6c42\u201d\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Jotform Claude App\u4e0d\u662f\u201c\u8868\u5355\u751f\u6210\u5668+AI\u201d\u7684\u7f1d\u5408\u602a\uff0c\u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u5c06\u8868\u5355\u4ece\u201c\u89e6\u8fbe\u754c\u9762\u201d\u53d8\u6210\u201c\u5bf9\u8bdd\u754c\u9762\u201d\uff0c\u628a\u4f20\u7edf\u8868\u5355\u5de5\u5177\u4e2d\u6700\u62d6\u6c93\u7684\u6b7b\u5faa\u73af\uff08\u5efa\u2192\u6d4b\u2192\u6539\u2192\u518d\u6d4b\uff09\u538b\u7f29\u6210\u4e00\u53e5\u81ea\u7136\u8bed\u8a00\u6307\u4ee4\u3002\u4f46\u95ee\u9898\u4e5f\u968f\u4e4b\u66b4\u9732\uff1a\u8bc4\u8bba\u4e2d\u201c\u72b6\u6001\u8fde\u7eed\u6027\u201d\u7684\u8ffd\u95ee\u6233\u4e2d\u4e86\u81f4\u547d\u4f24\u2014\u2014\u5bf9\u8bdd\u8bb0\u5fc6\u5929\u7136\u4f1a\u968f\u7740\u957f\u5ea6\u8870\u51cf\uff0c\u800c\u8868\u5355\u903b\u8f91\u672c\u8eab\u662f\u56fe\u7ed3\u6784\u800c\u975e\u7ebf\u6027\u6587\u672c\uff0cClaude\u7684\u4e0a\u4e0b\u6587\u7a97\u53e3\u4e00\u65e6\u6ea2\u51fa\uff0c\u4f60\u6307\u671b\u7528\u6237\u91cd\u590d\u201c\u8bf7\u8bb0\u5f97\u90a3\u4e2aPhone\u5b57\u6bb5\u6709\u56fd\u5bb6\u7801\u9a8c\u8bc1\u201d\u5417\uff1f\u66f4\u9690\u853d\u7684\u98ce\u9669\u5728\u4e8e\uff0c\u7528\u6237\u4e60\u60ef\u88ab\u8bad\u7ec3\u7684\u8d8a\u201c\u50bb\u74dc\u201d\uff0c\u5c31\u8d8a\u96be\u56de\u5934\u9762\u5bf9Jotform\u539f\u672c\u590d\u6742\u7684\u540e\u53f0\u903b\u8f91\u7f16\u8f91\u5668\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5728\u7528\u201c\u4f53\u9a8c\u964d\u7ef4\u201d\u6362\u53d6\u201c\u4e0a\u624b\u901f\u5ea6\u201d\u3002\u5982\u679cJotform\u80fd\u8ba9Claude\u5728\u6bcf\u6b21\u5bf9\u8bdd\u540e\u53cd\u5199\u56de\u5e73\u53f0\u7684\u7ed3\u6784\u5316\u8868\u5355\u56fe\uff0c\u800c\u975e\u4ec5\u9760\u804a\u5929\u8bb0\u5f55\u515c\u5e95\uff0c\u90a3\u624d\u7b97\u771f\u6b63\u5b9e\u73b0\u4e86\u201cAI\u539f\u751f\u201d\u5bf9\u4f20\u7edfSaaS\u7684\u5347\u7ef4\u653b\u51fb\u3002\u5426\u5219\uff0c\u8fd9\u53ea\u80fd\u662f\u4e00\u4e2a\u6f02\u4eae\u7684\u5feb\u901f\u539f\u578b\u5de5\u5177\uff0c\u79bb\u6210\u4e3a\u4f01\u4e1a\u7ea7\u8868\u5355\u5de5\u4f5c\u6d41\u4e2d\u67a2\u8fd8\u6709\u4e00\u53e5\u8bdd\u7684\u8ddd\u79bb\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Jotform Claude App<\/span>\n                <\/div>\n<div class=\"comment-content\">Build, edit, and analyze forms directly inside Claude using simple conversations. Create forms, edit fields, add logic, search submissions, and get insights, all by describing what you want. No manual setup or switching tools.<\/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 happy to announce the Jotform Claude App! <\/p>\n<p>We built this to simplify how forms are created and managed.<\/p>\n<p>Usually, you have to build forms step by step, then switch to other views or tools to test them and understand the responses.<\/p>\n<p>With this, you can do all of that in one place by just describing what you need: create forms, edit them, run test submissions, and look at results.<\/p>\n<p>Would be great to hear how you end up using it.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;copy any design&#8221; angle is bold how does it handle dynamic or interaction-heavy sites? Curious if it captures animations and hover states or mostly static layout. <\/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>while the idea is nice, and jotform itself is great, I don&#8217;t realize how you come up with this need. <br \/>Were users asking for working directly in claude or is just a new distribution channel?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alxrda\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alxrda<\/a>&nbsp;Fair question, it\u2019s not just about Claude as a distribution channel.<\/p>\n<\/p>\n<p>We\u2019re seeing a shift where users increasingly want to interact with software conversationally instead of clicking through menus and setup steps. Forms are actually a perfect fit for that, since most people think in terms of outcomes, not configurations.<\/p>\n<\/p>\n<p>So the idea was less \u201cusers asked for Claude specifically\u201d and more \u201cusers want faster, AI-native workflows,\u201d and Claude is a great environment for that experience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Forms-in-a-chat-window is the right shape because the brittle part of form-building was never the fields \u2014 it was the loop: build, preview, find an edge case, dig back to the right field, repeat. Collapsing that into a conversation kills the tab-switching latency, and the implicit memory of the conversation context turns &#8220;add validation to the phone field&#8221; into a one-line ask instead of a five-click navigation.<\/p>\n<\/p>\n<p>Where I keep landing on these AI-in-existing-tool products is that the win shows up in the everyday flow, not in the marquee demo. I&#8217;ve been building a small AI-powered weekly meal-planning PWA called DishRoll on the side, and the same pattern holds: the value isn&#8217;t &#8220;generate a 7-day plan&#8221; (that&#8217;s a demo); it&#8217;s &#8220;swap Thursday for something high-protein after my workout shifted&#8221; mid-week. Curious how Jotform handles state continuity across a long-running form-build conversation \u2014 do you expose the form-graph back to the model after each edit, or rely on the chat history as the source of truth?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>yesterday i spent 30 mins on a multilingual contact form generating realistic test data. invalid Polish phone formats that pass length checks but fail country-code regex were what kept slipping through (libphonenumber catches it cleanly, but it&#8217;s overkill for a contact form). with conditional branches test-data setup eats half the session.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@webappski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@webappski<\/a>&nbsp;Honestly this is exactly the kind of workflow pain we wanted to reduce with the Claude App.<\/p>\n<\/p>\n<p>A lot of the time goes into testing edge cases, conditional logic, and realistic submissions rather than building the form itself. Being able to generate, edit, and test conversationally makes those iterations much faster.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BBOJCGGDUUYHRO\" class=\"app-title\">display.dev<\/a><\/p>\n<div class=\"one-liner\">Publish agent-generated HTML behind company auth<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">154<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>display.dev \u8ba9\u5f00\u53d1\u8005\u901a\u8fc7\u4e00\u6761\u547d\u4ee4\uff0c\u5c06AI\u667a\u80fd\u4f53\u751f\u6210\u7684HTML\/Markdown\u4ea7\u7269\u53d1\u5e03\u4e3a\u5e26\u6709\u4f01\u4e1a\u8eab\u4efd\u8ba4\u8bc1\uff08SSO\/OTP\uff09\u7684\u6c38\u4e45\u94fe\u63a5\uff0c\u89e3\u51b3\u4e86AI\u4ea7\u7269\u5728\u56e2\u961f\u5185\u5206\u4eab\u65f6\u201c\u622a\u56fe\u6216\u672c\u5730\u8fd0\u884c\u201d\u7684\u4f4e\u6548\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\/28407031-1018-4ee7-9540-2499028c9e5f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/166b814f-6515-4526-ae60-65842a4c84fd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/63004304-e5d3-4a6d-b423-6a4a4e7a9434.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1656d819-0d15-4fab-bdf0-20390a887d92.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3a307a5c-c502-42c8-a526-e52dbf30d5b2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5a00397e-4b2f-445b-b19d-7db8ae1c4eb5.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\/099adc9d-817d-4936-afa8-c3b82aed347c.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=9FCk3epwmaA\"><source src=\"https:\/\/www.youtube.com\/watch?v=9FCk3epwmaA\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ea7\u7269\u5206\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u8ba4\u8bc1<\/span><br \/>\n            <span class=\"tag\">SSO<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u53ef\u4ea4\u4e92\u5206\u4eab<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">HTML\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">DevTools<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u8be5\u5de5\u5177\u201c\u5b89\u5168\u53c8\u8f7b\u91cf\u201d\uff0c\u89e3\u51b3\u4e86AI\u4ea7\u7269\u7f3a\u4e4f\u7a33\u5b9aURL\u7684\u75db\u70b9\u3002\u4e3b\u8981\u5efa\u8bae\u548c\u7591\u95ee\u5305\u62ec\uff1a\u662f\u5426\u652f\u6301\u81ea\u5b9a\u4e49\u57df\u540d\u548c\u94fe\u63a5\u81ea\u52a8\u8fc7\u671f\uff1b\u80fd\u5426\u652f\u6301SAML\u7b49\u4f01\u4e1a\u7ea7\u8ba4\u8bc1\uff1b\u80fd\u5426\u4f20\u9012\u5df2\u767b\u5f55\u7528\u6237\u8eab\u4efd\u5b9e\u73b0\u6570\u636e\u4e2a\u6027\u5316\u3002\u5b98\u65b9\u56de\u590d\u79f0\u81ea\u5b9a\u4e49\u57df\u540d\u5373\u5c06\u63a8\u51fa\uff0c\u5220\u9664\u4ea7\u7269\u53ef\u624b\u52a8\u5b9e\u73b0\u201c\u8fc7\u671f\u201d\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                display.dev \u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u6b63\u5728\u5feb\u901f\u81a8\u80c0\u7684\u75db\u70b9\uff1aAI\u667a\u80fd\u4f53\u4ea7\u51fa\u7684\u8d28\u91cf\u8d8a\u9ad8\uff0c\u5176\u4ea4\u4ed8\u7269\uff08HTML\/Markdown\uff09\u7684\u4f20\u64ad\u4e0e\u534f\u4f5c\u5c31\u8d8a\u5c34\u5c2c\u3002\u4f20\u7edfSaaS\u601d\u7ef4\u4e0b\uff0c\u8981\u4e48\u5c06\u5176\u89c6\u4e3a\u201c\u9759\u6001\u6587\u4ef6\u201d\u4e22\u8fdb\u804a\u5929\u8f6f\u4ef6\uff0c\u8981\u4e48\u4e3a\u5176\u642d\u5efa\u4e00\u4e2a\u6602\u8d35\u7684\u5168\u6808\u5e94\u7528\u6765\u6258\u7ba1\u3002display.dev \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u4e0d\u505a\u590d\u6742\u7684\u201cweb\u5e94\u7528\u5e73\u53f0\u201d\uff0c\u53ea\u505a\u201cAI\u4ea7\u7269\u7684\u5206\u53d1\u7ba1\u9053\u201d\u3002\u5b83\u5c06AI\u7684\u8f93\u51fa\u89c6\u4e3a\u4e00\u79cd\u6587\u6863\u7c7b\u578b\u7684\u201c\u53d1\u5e03\u7269\u201d\uff0c\u5e76\u4e3a\u5176\u6346\u7ed1\u4e0a\u4f01\u4e1a\u6700\u5728\u610f\u7684\u8ba4\u8bc1\u3001\u5ba1\u8ba1\u3001\u5185\u8054\u8bc4\u8bba\u548c\u7248\u672c\u8fed\u4ee3\u80fd\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u5b9e\u73b0\uff08\u4e00\u6761\u547d\u4ee4\u53d1\u5e03\u6587\u4ef6\u4e0d\u65b0\u9c9c\uff09\uff0c\u800c\u5728\u4e8e\u201c\u4eea\u5f0f\u611f\u201d\u2014\u2014\u7ed9AI\u751f\u6210\u7684\u4e34\u65f6\u6027\u8f93\u51fa\u4e00\u4e2a\u6c38\u4e45\u3001\u5b89\u5168\u3001\u53ef\u56de\u6307\u7684URL\uff0c\u8fd9\u4ece\u6839\u672c\u4e0a\u6539\u53d8\u4e86\u56e2\u961f\u5bf9AI\u4ea7\u7269\u7684\u4f7f\u7528\u5fc3\u6001\uff1a\u4ece\u4e00\u4e2a\u4e00\u6b21\u6027\u804a\u5929\u54cd\u5e94\uff0c\u53d8\u4e3a\u4e00\u4e2a\u53ef\u5ba1\u9605\u3001\u53ef\u8fed\u4ee3\u3001\u53ef\u8ffd\u8e2a\u7684\u9879\u76ee\u8d44\u4ea7\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u5bf9\u201c\u81ea\u5b9a\u4e49\u57df\u540d\u201d\u548c\u201c\u8eab\u4efd\u4f20\u9012\u201d\u7684\u8ffd\u95ee\uff0c\u6070\u6070\u66b4\u9732\u4e86\u5f53\u524d\u4ea7\u54c1\u7684\u5c40\u9650\u6027\uff1a\u5b83\u4f9d\u7136\u662f\u4e00\u4e2a\u901a\u7528\u5e73\u53f0\uff0c\u800c\u975e\u6df1\u5ea6\u5d4c\u5165\u4f01\u4e1a\u5de5\u4f5c\u6d41\u7684\u201c\u767d\u6807\u201d\u670d\u52a1\u3002\u5982\u679c\u65e0\u6cd5\u8ba9\u7528\u6237\u5728\u4f01\u4e1a\u57df\u540d\u4e0b\u4ee5\u81ea\u6709\u54c1\u724c\u5448\u73b0\u8fd9\u4e9b\u4ea7\u7269\uff0c\u5e76\u5b9e\u73b0\u8eab\u4efd\u611f\u77e5\u7684\u4e2a\u6027\u5316\u6e32\u67d3\uff0c\u5b83\u6700\u7ec8\u53ef\u80fd\u6ca6\u4e3a\u4e00\u4e2a\u5c0f\u4f17\u7684\u201c\u5feb\u7167\u5de5\u5177\u201d\uff0c\u800c\u975e\u534f\u4f5c\u4e00\u7ea7\u5165\u53e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u5f53\u524d\u4f9d\u8d56\u8bfb\u8005\u624b\u52a8\u767b\u5f55\u8bc4\u8bba\u6765\u9a71\u52a8\u8fed\u4ee3\uff0c\u672c\u8d28\u4e0a\u8fd8\u662f\u201c\u4eba-\u4eba\u201d\u534f\u4f5c\uff0c\u800c\u6ca1\u6709\u771f\u6b63\u505a\u5230\u201c\u4eba-Agent\u201d\u95ed\u73af\u3002\u771f\u6b63\u7684\u4ea7\u54c1\u8dc3\u8fc1\u5e94\u5728\u201cAgent\u80fd\u6839\u636e\u7528\u6237\u7684\u6ce8\u91ca\u81ea\u52a8\u4fee\u6539\u5e76\u91cd\u65b0\u53d1\u5e03\u201d\uff0c\u800c\u975e\u4ec5\u201c\u8bfb\u53d6\u6ce8\u91ca\u201d\u3002\u5426\u5219\uff0c\u4e00\u65e6\u65b0\u9c9c\u671f\u8fc7\u53bb\uff0c\u5176\u201c\u5185\u8054\u8bc4\u8bba\u201d\u529f\u80fd\u5f88\u5bb9\u6613\u88abSlack\u6216\u98de\u4e66\u7684\u539f\u751f\u53cd\u9988\u66ff\u4ee3\u3002\u603b\u4f53\u800c\u8a00\uff0cdisplay.dev \u65b9\u5411\u6b63\u786e\uff0c\u4f46\u82e5\u6b62\u6b65\u4e8e\u201c\u4f18\u96c5\u7684\u6258\u7ba1\u201d\uff0c\u5176\u62a4\u57ce\u6cb3\u4e0d\u6df1\u3002\u771f\u6b63\u58c1\u5792\u5728\u4e8e\u80fd\u5426\u6210\u4e3aAI Agent\u534f\u4f5c\u7684\u6807\u51c6\u534f\u8bae\u5c42\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\">display.dev<\/span>\n                <\/div>\n<div class=\"comment-content\">display.dev is the easiest way to publish agent-generated artifacts behind company authentication. One command gives your HTML and Markdown files a permanent URL. Your colleagues sign in securely via OTP or Google\/Microsoft SSO, and drive iteration with in-line comments.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone!<\/p>\n<p>I&#8217;m Ott, co-founder of display.dev.<\/p>\n<p>A month ago @carlrannaberg came to me with a problem. In his constant use of Claude Code, his agents were building him beautiful HTML artifacts \u2013 spec sheets, interactive plans, reviews, etc. Sharing them with colleagues, however, was a mess \u2013 screenshots or PDFs to Slack, having others open HTMLs and run them on localhost \u2013&nbsp;nothing good really.<\/p>\n<p>The problem clicked immediately. Anyone building with agents long enough hits this wall.<\/p>\n<p>So we built display.dev \u2013 one command publishes any HTML or Markdown artifact behind your company&#8217;s auth. Your team signs in with Google, Microsoft or a one-time password. They see the artifact exactly as the agent built it. No static and inconvenient screenshots, no GitHub accounts, no $320\/month Vercel add-ons.<\/p>\n<p>Here\u2019s what makes it actually useful day to day:<\/p>\n<p>&gt; One command, one click or your agent does it for you \u2013 CLI, web app or MCP. Publishing happens wherever you already are \u2013 your terminal, your browser or inside Claude Code\/Cursor\/etc. You get back a permanent URL.<\/p>\n<p>&gt; Gated by default, public when you want \u2013 Google + Microsoft SSO or OTP. Everyone at your company gets in, nobody outside does. And if you want to share something with the public, simply change the visibility setting. <\/p>\n<p>&gt; Comments your agent can read \u2013 Teammates drop inline comments. You and your agent can read them, update the artifact and resolve the thread. The thing stays alive instead of dying as a one-shot output.<\/p>\n<p>&gt; Your published artifacts are natively agent-readable \u2013 agents can pull the content as markdown from any published link, so there&#8217;s no manual back-and-forth copy-pasting or importing-exporting. <\/p>\n<p>&gt; Stats and audit logs \u2013 View counts per artifact, plus audit logs of exactly who accessed what. Useful when you actually need to know if your exec opened the doc.<\/p>\n<p>&gt; Publish without an account \u2013&nbsp;agents can publish unauthenticated using \u201ccurl\u201d. The response is a public preview URL anyone can open and a single-use claim URL. Later, you can claim the URL for the organization, if you sign up or in. <\/p>\n<p>&gt; Unlimited viewers, flat price \u2013 No per-seat cliff when you share with your PM, exec and legal team on the same day. (Also, a free and a solo tier exist!).<\/p>\n<p>We&#8217;ve been using display.dev daily ourselves \u2013 privately sharing analysis docs and ideas that Claude has built, collaborating on things fast. It&#8217;s made a real difference to how we work.<\/p>\n<p>Happy to answer questions \u2013 on the product, the problem and alternative solutions!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like how this is both secure AND lightweight, a rare combination! Cool stuff!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@double_u_d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@double_u_d<\/a>&nbsp;thanks, Kirill! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a perfect utility for the current &#8216;coding agent&#8217; era. Being able to instantly host agent-generated artifacts behind SSO is much cleaner than passing around raw HTML files. Does <a href=\"http:\/\/display.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">display.dev<\/a> support custom domains for these permanent URLs, and is there an option to expire links automatically for temporary artifacts?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rivra_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rivra_dev<\/a>&nbsp;Thanks, Rivra! <\/p>\n<\/p>\n<p>I agree that it&#8217;s a much cleaner flow \u2013 so much easier to share a simple URL and collaborate within the artifact. <\/p>\n<p>On your questions: <br \/>&gt; Custom domains \u2013&nbsp;we&#8217;re introducing them shortly, they&#8217;re planned to come out in the next few weeks. Keep an eye out on our channels or page. <br \/>&gt; Automatic expiry \u2013&nbsp;not at the moment, but currently it&#8217;s as simple as telling your agent to delete it 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>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Awesome that someone finally built this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@andruspurde\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andruspurde<\/a>&nbsp;Appreciate the support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m curious about how <a href=\"http:\/\/display.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">display.dev<\/a> handles authentication for different enterprise setups. Is it using OAuth, SAML, or something else? Auth integration is often trickier than it first appears, especially with legacy systems in the mix.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The screenshot-or-PDF-to-Slack pain point is the right thing to fix \u2014 agent-generated artifacts only feel like artifacts when they have a stable URL someone can come back to. The SSO\/OTP gate is doing two jobs at once: keep strangers out, and (more subtly) tell the agent which audience it&#8217;s writing for, which I think is underrated.<\/p>\n<\/p>\n<p>I hit a related shape building PolyMind, a small alert tool that watches Polymarket and pings me when a position shifts in a market I care about. The artifact problem there is the same: an alert is only useful if it lives somewhere it can be revisited and annotated by the trader after the fact \u2014 a one-shot Slack ping is essentially fire-and-forget. Curious whether display.dev&#8217;s comment layer is intended to drive iteration on the artifact itself, or whether it&#8217;s more of an asynchronous review channel for humans to triangulate around what the agent produced.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Once the user is logged on, can their identity be passed so that when we fetch the data, we can customize it?<\/p>\n<p>PS: Please add a &#8220;Contact us&#8221; page \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jay_janarthanan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jay_janarthanan1<\/a>&nbsp;Can you explain in a little more detail what you mean about passing on the identity for customization?<\/p>\n<\/p>\n<p>We&#8217;ll make sure to add a contact us page &#8211; a very good point!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/33PH5UXSNNRJ7G\" class=\"app-title\">Free AI SEO Auditor<\/a><\/p>\n<div class=\"one-liner\">Audit your site for the AI search era. 100% Open Source<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">141<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u514d\u8d39\u5f00\u6e90\u5de5\u5177\uff0c30\u79d2\u5185\u4e3a\u4f60\u7684\u7f51\u9875\u6253\u51faAI\u641c\u7d22\u5f15\u64ce\uff08\u5982ChatGPT\u3001Claude\uff09\u7684\u53ef\u89c1\u6027\u5206\u6570\uff0c\u5e76\u7ed9\u51fa\u53ef\u76f4\u63a5\u590d\u5236\u7684\u4fee\u590d\u6307\u4ee4\uff0c\u89e3\u51b3\u4f20\u7edfSEO\u5de5\u5177\u4e0d\u8986\u76d6AI\u641c\u7d22\u573a\u666f\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\/bb3ac034-a806-45bf-8fce-842982869ef3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/78820250-8d0b-404b-aff3-1d16b04a4550.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/47103f10-c55b-4487-9052-e14f7f7b883a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SEO<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u641c\u7d22SEO<\/span><br \/>\n            <span class=\"tag\">GEO\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90SEO\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u53ef\u89c1\u6027\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">AI\u5f15\u7528\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">LLM\u5185\u5bb9\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u7ed3\u6784\u5316\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u65e0\u6ce8\u518c\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">Prompt\u4fee\u590d<\/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\u5de5\u5177\u5b9e\u7528\uff0c\u8bc4\u5206\u4e0eGoogle\u6536\u655b\u6027\u76f8\u5173\uff0c\u4f4e\u5206\u7f51\u7ad9\u5efa\u8bae\u5148\u4f18\u5316\u57fa\u7840SEO\u3002\u7528\u6237\u8be2\u95ee\u7ed3\u6784\u5316\u6570\u636e\u548c\u5206\u6790\u5f00\u9500\uff0c\u5efa\u8bae\u589e\u52a0\u5bfc\u51fa\u62a5\u544a\u529f\u80fd\u3002\u5f00\u53d1\u8005\u56de\u590d\u5f3a\u8c03\u5f00\u6e90\u548c\u4e3b\u4e1a\u52a1\u5206\u79bb\uff0c\u907f\u514d\u5546\u4e1a\u5316\u8def\u5f84\u6a21\u7cca\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                Free AI SEO Auditor\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u7684\u7126\u8651\u70b9\u2014\u2014\u5f53\u6d41\u91cf\u5165\u53e3\u4eceGoogle\u8f6c\u5411ChatGPT\uff0c\u4f20\u7edf\u7684SEO\u65b9\u6cd5\u8bba\u6b63\u5728\u5931\u6548\u3002\u4ea7\u54c1\u672c\u8eab\u5e76\u4e0d\u590d\u6742\uff1a\u901a\u8fc7\u6a21\u62dfLLM\u5bf9\u9875\u9762\u5185\u5bb9\u7684\u6293\u53d6\u548c\u89e3\u6790\u903b\u8f91\uff0c\u7ed9\u51fa\u4e00\u4e2a\u7b80\u5355\u7c97\u66b4\u7684\u201cAI\u53ef\u89c1\u6027\u5206\u6570\u201d\u548c\u53ef\u6267\u884c\u7684Fix Prompt\u3002\u8fd9\u79cd\u201c\u6253\u5206+\u76f4\u63a5\u53ef\u64cd\u4f5c\u201d\u7684\u8bbe\u8ba1\u6781\u5176\u9ad8\u6548\uff0c\u751a\u81f3\u8df3\u8fc7\u4e86\u4f20\u7edfSEO\u62a5\u544a\u5197\u957f\u7684\u5206\u6790\u73af\u8282\uff0c\u76f4\u63a5\u4e0eCursor\u7b49AI\u7f16\u7801\u5de5\u5177\u8054\u52a8\uff0c\u5f62\u6210\u201c\u5ba1\u8ba1-\u4fee\u590d\u201d\u95ed\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ece\u8bc4\u8bba\u533a\u7684\u53cd\u9988\u6765\u770b\uff0c\u7528\u6237\u6700\u5173\u5fc3\u7684\u201c\u7ed3\u6784\u5316\u6570\u636e\u201d\u548c\u201cSchema Markup\u201d\u6743\u91cd\u95ee\u9898\u5e76\u672a\u5f97\u5230\u660e\u786e\u89e3\u7b54\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u7528\u6237\u63d0\u51fa\u201c\u8c01\u5728\u4ed8token\u8d39\u7528\u201d\u76f4\u6307\u6838\u5fc3\u5546\u4e1a\u6a21\u5f0f\uff1a\u4e00\u65e6\u8c03\u7528\u91cf\u6fc0\u589e\uff0c\u514d\u8d39\u7b56\u7565\u5c06\u627f\u538b\u3002\u201c\u5f00\u6e90\u201d\u80fd\u62c9\u62e2\u793e\u533a\uff0c\u4f46\u201c\u514d\u8d39\u201d\u57df\u540d\u6697\u793a\u4e86\u5546\u4e1a\u8def\u5f84\u7684\u8106\u5f31\u6027\u2014\u2014\u5982\u679c\u6700\u7ec8\u8981\u9760\u6536\u8d39\u6216\u53d8\u76f8\u8ba2\u9605\uff0c\u7528\u6237\u7684\u6b63\u5411\u9884\u671f\u5c06\u53d7\u635f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u5b83\u7ed9\u51fa\u7684\u5206\u6570\u662f\u5426\u7cbe\u51c6\uff0c\u800c\u5728\u4e8e\u5b83\u5b9a\u4e49\u4e86\u4e00\u4e2a\u201cAI SEO\u201d\u7684\u8bc4\u4ef7\u6807\u5c3a\u3002\u5728\u8fd9\u4e2a\u65b0\u8d5b\u9053\u91cc\uff0c\u8c01\u5148\u5236\u5b9a\u6807\u51c6\uff0c\u8c01\u5c31\u638c\u63a7\u8bdd\u8bed\u6743\u3002\u73b0\u5728\u7684\u95ee\u9898\u53ea\u6709\u4e00\u4e2a\uff1a\u5728\u7528\u6237\u53d1\u73b0\u8fd9\u4e2a\u5206\u6570\u53ef\u4ee5\u7528\u66f4\u7c97\u7cd9\u7684\u65b9\u5f0f\uff08\u5982\u68c0\u67e5\u6b63\u6587\u957f\u5ea6\u548cllms.txt\uff09\u731c\u51fa\u6765\u4e4b\u524d\uff0c\u80fd\u5426\u5efa\u7acb\u8d77\u8db3\u591f\u7684\u4f9d\u8d56\u548c\u7f51\u7edc\u6548\u5e94\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\">Free AI SEO Auditor<\/span>\n                <\/div>\n<div class=\"comment-content\">Most SEO tools optimize for Google. This one scores you for the AI search era. Paste a URL \u2014 in ~30 seconds, get a 0\u2013100 visibility score showing how ChatGPT, Claude, and Perplexity see your page, plus a copy-paste fix prompt you can hand to Cursor or Claude Code. No signup. Fully open source.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH \ud83d\udc4b<\/p>\n<p>Every founder I talk to is asking the same thing: &#8220;is ChatGPT citing us?&#8221;<\/p>\n<p>Nobody has a clean way to find out. Traditional SEO tools score you on Google. The AI-visibility startups want $500\/mo and a sales call before they tell you anything.<\/p>\n<p>So we built the free, open-source version.<\/p>\n<p>Paste a URL \u2192 ~30 seconds later you get:<\/p>\n<p>\u2192 A 0\u2013100 visibility score for ChatGPT, Claude, and Perplexity<br \/>\n\u2192 A breakdown of what&#8217;s actually hurting your AI citations (llms.txt, schema, JS rendering, freshness, structure)<br \/>\n\u2192 A copy-paste fix prompt \u2014 hand it to Cursor or Claude Code, and the fixes ship themselves<\/p>\n<p>No signup. No sales call. Code&#8217;s on GitHub.<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, nice tool. <\/p>\n<p>I just tested it on my website <a href=\"http:\/\/maamria.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">maamria.com<\/a>.<\/p>\n<p>My site is still new, and Google Search Console is currently showing that only a few pages are indexed. I have around 75 pages not indexed, including many marked as &#8220;Discovered \u2013 currently not indexed&#8221;<\/p>\n<p>Your tool gave my site a score of 31\/100 and marked it as critical. It also detected things like very low visible content, only one heading, no external links, and no JSON-LD.<\/p>\n<\/p>\n<p>So my question is does this result look normal for a new website that Google has not fully indexed yet? And do you think the score from your tool matches what Google Search Console is showing?<\/p>\n<p>Also, from your point of view, what should I fix first to make the site easier for AI search engines like ChatGPT, Claude, and Perplexity to understand?<\/p>\n<p>Thanks, I\u2019m testing the tool and it looks useful.<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/49b1ba13-5c47-407d-9f8d-4f82d015d8d8.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p><\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c2e2f46a-6f8d-4eda-ae5d-f2c719703554.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p><\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@houssem_maamria\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@houssem_maamria<\/a>&nbsp;Honestly it&#8217;s just based on latest GEO\/AI SEO research, seems that having good SEO is still the main marker of taking off GEO wise so i wouldn&#8217;t worry about it way too much<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting tool. The recommendations actually feel useful and well-reasoned, not the usual &#8220;keep your title under 80 characters&#8221; type of advice. Picked up some new insights I hadn&#8217;t considered before.<\/p>\n<p>Special shoutout to the &#8220;Copy Fix Prompt&#8221; feature, that&#8217;s a genuinely clever idea. Makes it super easy to take the suggestions straight into your workflow.<\/p>\n<p>Nice work!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nowaffl\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nowaffl<\/a>&nbsp;happy to hear 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\">Do you support AEO?<\/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\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;Yeah, it does. ChatGPT\/Claude\/Perplexity visibility scoring is AEO under different naming \u2014 GEO and IEO label the exact same metric. The acronym choice is mostly tribal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;same thing yes! it&#8217;s also open source btw<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Yahia, congratulations on the launch!<\/p>\n<\/p>\n<p>I tried your tool on <a href=\"http:\/\/vaulternal.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">vaulternal.com<\/a> and got an 83\/100 &#8211; which is actually a pretty solid score. The main area that seems to need improvement (according to your tool) is the &#8220;Citation Surface Presence&#8221; metric, so I&#8217;ll take a closer look at that. You can see the audit here: <a href=\"https:\/\/www.freeaiseoaudit.com\/audit\/vaulternal.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.freeaiseoaudit.com\/audit\/vaulternal.com<\/a><\/p>\n<\/p>\n<p>Out of curiosity, are you planning to monetize the tool at some point? Having &#8220;free&#8221; in the domain name might make that a bit tricky down the road.<\/p>\n<\/p>\n<p>Good luck with the project!<\/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\/@val__greg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@val__greg<\/a>&nbsp;it&#8217;s an open source project built on <a href=\"https:\/\/context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">context.dev<\/a><\/p>\n<\/p>\n<p><a href=\"https:\/\/Context.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Context.dev<\/a> is actually my main business!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Bookmarking this \u2014 I&#8217;m literally in the middle of SEO auditing my own launch today. Will run it through. Congrats \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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@axlerodd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@axlerodd<\/a>&nbsp;Awesome, best of luck!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Tested Free AI SEO Auditor on <a href=\"http:\/\/CambrianEdge.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CambrianEdge.ai<\/a> and got a solid 93\/100.<\/p>\n<p>Really liked the concept overall, especially the \u201ccopy full prompt\u201d feature. Makes the workflow much smoother when you want to iterate quickly instead of rewriting things manually.<\/p>\n<p>One feature that could make this even more useful would be the ability to export\/download the report as an image or PDF. Feels like something teams would want to share internally or attach to audits.<\/p>\n<p>Great work on this, <a href=\"https:\/\/www.producthunt.com\/@yahia_bakour3\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yahia_bakour3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yahia_bakour3<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kabirsalunkhe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kabirsalunkhe<\/a>&nbsp;noted! awesome to hear<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is super relevant for us. We have 30+ programmatic landing pages (airport-specific) and we&#8217;ve been optimizing purely for google. Never thought about how AI search engines parse them. going to run our pages through this today. does the scoring weight structured data \/ schema markup heavily, or is it more about content signals?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Hey I just found out you website is pretty good and shows amazing resutls. <br \/>I just tested my website <a href=\"https:\/\/getdetach.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">getdetach.com<\/a> and it shows results that I really want for my site. Now I will improve my SEO and will again test it. <br \/>Thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Yahia, really glad I came across your tool \u2014 just gave it a spin on my site <a href=\"https:\/\/falcondrivelabs.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">falcondrivelabs<\/a>, which I know could use some SEO polishing. Curious to see the findings and recommended fixes.<\/p>\n<p>One quick general question: when a free tool runs AI-powered analysis, I always wonder \u2014 who&#8217;s footing the bill for the tokens?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is great timing \u2014 I&#8217;ve been thinking a lot about how AI search changes the game for niche tools like mine. I built YTubViral (14 AI tools for YouTube creators) and realized halfway through that optimizing for traditional Google SEO wasn&#8217;t enough anymore. Creators are starting to ask ChatGPT and Claude things like &#8220;best tool for YouTube titles&#8221; instead of searching Google.<\/p>\n<p>Quick question: does the audit cover structured data and schema markup, or is it more focused on content signals? That&#8217;s been the hardest part for me to get right.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>&#8220;AI search era&#8221; is the right framing most SEO audits are still optimized for traditional search and ignore how LLMs crawl and surface content. Does it check for things like llms.txt and structured data specifically?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I just tested my website <a href=\"https:\/\/Clearlist.me\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Clearlist.me<\/a> and it got 82 out of 100 and got really cool tips on how to even improve more. I do like how easy it is to just copy the recommendations and hand them to my agent. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/RZLH2GNVFC3VHF\" class=\"app-title\">Whale Starts<\/a><\/p>\n<div class=\"one-liner\">The website builder that can copy any design on the web<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">130<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Whale Starts \u662f\u4e00\u6b3e\u80fd\u591f\u4e00\u952e\u514b\u9686\u4efb\u610f\u7f51\u7ad9\u8bbe\u8ba1\u7684\u65e0\u4ee3\u7801\u5efa\u7ad9\u5de5\u5177\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u4ece\u73b0\u6709\u7f51\u9875\u4e2d\u590d\u5236\u5e03\u5c40\u5e76\u53ef\u89c6\u5316\u7f16\u8f91\uff0c\u7701\u53bb\u4ece\u96f6\u642d\u5efa\u7684\u65f6\u95f4\u548c\u7cbe\u529b\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e528afec-31b9-428a-a81c-ea9381a01900.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5ffa2748-3d4b-46e6-bd24-a79692e4db7f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8b6d7119-1b34-42d8-be94-a7f1eb38953b.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\">Website Builder<\/span><br \/>\n            <span class=\"tag\">Web Design<\/span><br \/>\n            <span class=\"tag\">UX Design<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u65e0\u4ee3\u7801\u5efa\u7ad9<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u514b\u9686<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">\u6a21\u677f\u590d\u5236<\/span><br \/>\n            <span class=\"tag\">\u5feb\u901f\u5efa\u7ad9<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u7a83\u53d6<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u8f6c\u6362<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u5f00\u53d1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8d5e\u8a89\u5176\u514b\u9686\u529f\u80fd\uff0c\u8ba4\u4e3a\u80fd\u5feb\u901f\u6d4b\u8bd5\u843d\u5730\u9875\uff1b\u4f46\u8d28\u7591\u5bf9\u590d\u6742\u52a8\u753b\u548c\u4ea4\u4e92\u7f51\u7ad9\u7684\u6293\u53d6\u6548\u679c\u3002\u521b\u59cb\u4eba\u627f\u8ba4\u590d\u6742\u52a8\u753b\u53ef\u80fd\u6709\u95ee\u9898\uff0c\u4f46\u591a\u6570\u60c5\u51b5\u53ef\u7528\u3002\u7528\u6237\u5efa\u8bae\u589e\u52a0\u62d6\u62fd\u7ec4\u4ef6\u3001\u4eceJoomla\/WordPress\u6216Figma\u8f6c\u6362\u7684\u529f\u80fd\uff0c\u5e76\u547c\u5401\u6539\u5584\u65b0\u624b\u7528\u6237\u5f15\u5bfc\u6d41\u7a0b\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Whale Starts \u5207\u5165\u4e86\u4e00\u4e2a\u5fae\u5999\u800c\u8bf1\u4eba\u7684\u9700\u6c42\u2014\u2014\u628a\u201c\u590d\u5236\u201d\u5305\u88c5\u6210\u201c\u6548\u7387\u201d\u3002\u5bf9\u521d\u521b\u56e2\u961f\u548c\u8425\u9500\u4eba\u5458\u800c\u8a00\uff0c\u80fd\u79d2\u7ea7\u514b\u9686\u7ade\u54c1\u6216\u7075\u611f\u7f51\u9875\uff0c\u786e\u5b9e\u80fd\u7701\u4e0b\u5927\u91cf\u8bbe\u8ba1\u7a3f\u6765\u56de\u6539\u7684\u6c9f\u901a\u6210\u672c\u3002\u4f46\u5176\u98ce\u9669\u540c\u6837\u523a\u773c\uff1a\u4ea7\u54c1\u9875\u4e0a\u90a3\u53e5\u201c\u5c0f\u5fc3\u7248\u6743\u201d\u7684\u63d0\u9192\uff0c\u6070\u6070\u66b4\u9732\u4e86\u6838\u5fc3\u529f\u80fd\u5728\u6cd5\u5f8b\u7070\u8272\u5730\u5e26\u7684\u5c34\u5c2c\u3002\u6280\u672f\u5b9e\u73b0\u4e0a\uff0c\u521b\u59cb\u4eba\u627f\u8ba4\u5bf9\u201c\u6781\u5ea6\u590d\u6742\u52a8\u753b\u201d\u53ef\u80fd\u5904\u7406\u4e0d\u4f73\uff0c\u8bf4\u660e\u5176\u722c\u53d6\u80fd\u529b\u5e76\u975e\u9ed1\u9b54\u6cd5\uff0c\u800c\u662f\u5bf9\u76f8\u5bf9\u6807\u51c6\u5316\u7684\u9759\u6001\u6216\u8f7b\u4ea4\u4e92\u9875\u9762\u7684\u9ad8\u6548\u8fd8\u539f\u2014\u2014\u8fd9\u5012\u662f\u8db3\u591f\u8986\u76d6\u5927\u591a\u6570\u843d\u5730\u9875\u3001\u516c\u53f8\u5b98\u7f51\u7684\u4f7f\u7528\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u7528\u6237\u53cd\u9988\u770b\uff0c\u5f53\u524d\u4ea7\u54c1\u66f4\u50cf\u662f\u201c\u534a\u6210\u54c1\u5f0f\u7684\u5feb\u6377\u5de5\u5177\u201d\uff1a\u7f3a\u4e4f\u6210\u719f\u7684\u65b0\u624b\u5f15\u5bfc\uff0c\u670d\u52a1\u5668\u9650\u5236\u5bfc\u81f4\u514b\u9686\u529f\u80fd\u4ec5\u5bf9\u201c\u7248\u4e3b\u201d\u5f00\u653e\uff0c\u751a\u81f3\u9700\u8981\u7528\u6237\u4e3b\u52a8\u8054\u7cfb\u7533\u8bf7\u3002\u8fd9\u79cd\u9650\u5236\u66b4\u9732\u4e86\u5176\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\u4ecd\u5904\u4e8e\u65e9\u671f\u9636\u6bb5\u3002\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u56e2\u961f\u5728\u8bc4\u8bba\u4e2d\u56de\u5e94\u201c\u82e5\u76ee\u6807\u7f51\u7ad9\u54cd\u5e94\u5f0f\u5e76\u6709\u70b9\u51fb\u4ea4\u4e92\uff0cWhale\u4f1a\u4e00\u5e76\u590d\u5236\u201d\uff0c\u8fd9\u6697\u793a\u5176\u89e3\u6790\u5f15\u64ce\u57fa\u4e8eDOM\u7ed3\u6784\u4e0eCSS\u5feb\u7167\u8fd8\u539f\uff0c\u800c\u975e\u7c7b\u4f3cSelenium\u7684\u9ad8\u7ea7\u81ea\u52a8\u5316\uff0c\u56e0\u6b64\u5bf9JavaScript\u91cd\u5ea6\u6e32\u67d3\u7684\u9875\u9762\uff08\u5982SPA\u3001WebGL\uff09\u51e0\u4e4e\u65e0\u80fd\u4e3a\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u4ef7\u503c\u5728\u4e8e\uff1a\u5b83\u53ef\u80fd\u6210\u4e3a\u975e\u6280\u672f\u4eba\u5458\u5728\u201c\u627e\u7075\u611f\u2192\u5feb\u901f\u8bd5\u9519\u2192\u5fae\u8c03\u4e0a\u7ebf\u201d\u8def\u7ebf\u4e0a\u7684\u6700\u77ed\u8def\u5f84\uff0c\u5c24\u5176\u9002\u5408\u90a3\u4e9b\u4e0d\u9700\u8981\u539f\u521b\u6027\u3001\u53ea\u6c42\u201c\u50cf\u67d0\u516c\u53f8\u5b98\u7f51\u4e00\u6837\u201d\u7684\u5c0f\u56e2\u961f\u3002\u4f46\u8981\u6210\u4e3a\u4e13\u4e1a\u751f\u4ea7\u529b\u5de5\u5177\uff0c\u8fd8\u9700\u89e3\u51b3\u5408\u89c4\u538b\u529b\u3001\u6027\u80fd\u74f6\u9888\u4e0e\u7f16\u8f91\u5668\u5b8c\u5584\u7684\u4e09\u89d2\u96be\u9898\u3002\u5426\u5219\uff0c\u5b83\u53ea\u4f1a\u505c\u7559\u5728\u201c\u6709\u70b9\u9177\u4f46\u4e0d\u6562\u771f\u7528\u201d\u7684Playground\u5c42\u9762\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Whale Starts<\/span>\n                <\/div>\n<div class=\"comment-content\">Whale Starts is a powerful website builder to design, clone, and launch sites with ease. Import any website, edit visually, and collaborate in real-time. just get your template URL from any website and whale will do the same so you can re-use it in fraction of seconds.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>no more ai slop, just build you nice website with no code !<\/p>\n<p>ask us anything you wants about whale, we are ready to answer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The \u201ccopy any design\u201d part is pretty wild \ud83d\ude02<\/p>\n<p>Can already see this being useful for quickly testing landing page ideas instead of rebuilding everything from scratch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@campritchard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@campritchard<\/a>&nbsp;exactly, in our startup, one client ask for for editable website, but find a problem with the cms, so we use strapi and set input for each params like text, color, images&#8230; but after this tool, we scrape that website and use whale instaid as cms<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;copy any design&#8221; angle is bold how does it handle dynamic or interaction-heavy sites? Curious if it captures animations and hover states or mostly static layout.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@imad_elkhafi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@imad_elkhafi<\/a>&nbsp;it all depond on the website, so if website have extermly complex animation could have some problem, but most of time it works, also if the scraped website is responsive have click action , whale will copy that too !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>it would be great to have drag and drop feature for a component, right?<\/p>\n<p>also, do you have a converter from joomla\/wp templates or to figma? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@maksym_shcherbakov1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maksym_shcherbakov1<\/a>&nbsp;yes sure we have dop and drag, feature, change direcly from component like any webiste builder, the only spice is the copy of other webistes, but for wordpress, to be honest we didn&#8217;t test on it but we will put on our workflow !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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! Good job. It may sound weird, but I didn&#8217;t get how to use the tool. Any plans to add user onboarding?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@lipkovskiy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lipkovskiy<\/a>&nbsp;thanks for asking, for now when you try to copy a design , you go to plugin and on search input you put the website you want to copy (be carful about copyright), but becasue of the limitaion of our server, we make it exclusive only for modirators , so if you want to have that feature contact Us, thx.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#8<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/YPKKHONMNXULCE\" class=\"app-title\">HeyNews<\/a><\/p>\n<div class=\"one-liner\">Your newsletter, your voice, ready to publish in 5 minutes<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">117<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>HeyNews\u662f\u4e00\u6b3eAI\u65b0\u95fb\u7b80\u62a5\u5199\u4f5c\u52a9\u624b\uff0c\u901a\u8fc7\u8bad\u7ec3\u7528\u6237\u5386\u53f2\u6587\u7ae0\u5e93\u548c\u76d1\u63a7\u5b9a\u5236\u6e90\uff0c\u57285\u5206\u949f\u5185\u751f\u6210\u4fdd\u7559\u4f5c\u8005\u4e2a\u4eba\u98ce\u683c\u7684\u53d1\u5e03\u7ea7\u8349\u7a3f\uff0c\u89e3\u51b3\u65b0\u95fb\u7b80\u62a5\u8fd0\u8425\u8005\u4ece\u4fe1\u606f\u7b5b\u9009\u5230\u4e2a\u6027\u5316\u5199\u4f5c\u7684\u8017\u65f6\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\/e76168cd-08c6-4b17-a354-9c06d66e5c09.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6e4fa0c4-fb31-4bb4-ac22-b42339c76abd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dca3bae3-b77b-4418-bd69-cb2e22af8ce4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e2ee24f5-bdce-4a73-babb-d152eb414d99.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/af5b3ea3-0dbb-4bcb-93a1-29062bfd7d3c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1888b036-fd49-48e3-a518-2e10934ed4b6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9a64df48-15b5-4b6b-b400-e717b6cff671.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\/1a365923-6a4b-4114-86b3-ccb56955cfee.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=w6f6d6YS2aA\"><source src=\"https:\/\/www.youtube.com\/watch?v=w6f6d6YS2aA\" 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\">Newsletters<\/span><br \/>\n            <span class=\"tag\">Writing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5199\u4f5c\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u65b0\u95fb\u7b80\u62a5\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u98ce\u683c\u6a21\u4eff<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">Beehiiv<\/span><br \/>\n            <span class=\"tag\">Kit<\/span><br \/>\n            <span class=\"tag\">Substack<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u6e90\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u8349\u7a3f\u751f\u6210<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u6700\u5173\u6ce8\u201c\u58f0\u97f3\u8bad\u7ec3\u201d\u7684\u771f\u5b9e\u6027\uff1a\u9700\u8981\u591a\u5c11\u7bc7\u5386\u53f2\u6587\u7ae0\u624d\u80fd\u51c6\u786e\u6a21\u4eff\u4f5c\u8005\u8bed\u6c14\uff08\u5b9e\u6d4b5\u7bc7\/\u683c\u5f0f\u8d77\uff09\u3002\u6838\u5fc3\u8d28\u7591\u5305\u62ec\uff1a\u80fd\u5426\u5904\u7406\u540c\u4e00\u683c\u5f0f\u5185\u6709\u610f\u53d8\u5316\u7684\u8bed\u8c03\uff08\u5982\u7d27\u6025\u901a\u77e5\u6216\u8d5e\u52a9\u5546\u5185\u5bb9\uff09\uff1f\u4ee5\u53ca\u6a21\u578b\u662f\u5426\u4f1a\u5e73\u5747\u5316\u6240\u6709\u98ce\u683c\u5bfc\u81f4\u5355\u8c03\uff1f\u7f16\u8f91\u4e3b\u5bfc\u6743\u8bbe\u8ba1\u83b7\u80af\u5b9a\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                HeyNews\u7684\u201c\u58f0\u97f3\u8bad\u7ec3\u201d\u662f\u771f\u6b63\u4e0e\u901a\u7528AI\u5de5\u5177\u62c9\u5f00\u5dee\u8ddd\u7684\u5200\u5203\u3002\u5b83\u4e0d\u518d\u8bd5\u56fe\u901a\u8fc7\u63d0\u793a\u8bcd\u53bb\u201c\u63cf\u8ff0\u201d\u4f60\u7684\u98ce\u683c\uff0c\u800c\u662f\u76f4\u63a5\u4ee5\u4f60\u7684\u5386\u53f2\u6587\u7ae0\u4e3a\u8bad\u7ec3\u6570\u636e\uff0c\u6355\u6349\u90a3\u4e9b\u8fde\u4f60\u81ea\u5df1\u90fd\u672a\u5bdf\u89c9\u7684\u57fa\u56e0\uff1a\u53e5\u5f0f\u8282\u594f\u3001\u7b7e\u540d\u5f0f\u7528\u6cd5\u3001\u751a\u81f3\u683c\u5f0f\u5316\u7684\u602a\u7656\u3002\u8fd9\u4e0d\u662f\u201c\u66f4\u50cf\u4eba\u7c7b\u201d\u7684\u751f\u6210\u5f0f\u516c\u5173\u8bdd\u672f\uff0c\u800c\u662f\u5b9e\u6253\u5b9e\u7684\u6280\u672f\u67b6\u6784\u9009\u62e9\u2014\u2014\u6bcf\u5957\u683c\u5f0f\uff08\u5982\u5468\u4e00\u6df1\u5ea6\u6587vs\u5468\u4e94\u95ee\u7b54\uff09\u72ec\u7acb\u8bad\u7ec3AI\u5199\u624b\uff0c\u907f\u514d\u4e86\u6df7\u5408\u683c\u5f0f\u5e26\u6765\u7684\u4fe1\u53f7\u7a00\u91ca\uff0c\u4f7f\u5f97\u6700\u4f4e\u4ec5\u97005\u7bc7\u5c31\u80fd\u5f00\u59cb\u6709\u6548\u5de5\u4f5c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u4ef7\u503c\u7684\u5149\u73af\u4e0b\uff0c\u6709\u4e24\u4e2a\u6838\u5fc3\u6311\u6218\u672a\u89e3\u3002\u5176\u4e00\uff0c\u521b\u59cb\u4eba\u5766\u8bda\u7684\u201c\u540c\u4e00\u683c\u5f0f\u5185\u6545\u610f\u53d8\u8c03\u201d\u4ecd\u65e0\u89e3\u2014\u2014\u5f53\u4f5c\u8005\u9700\u8981\u7d27\u6025\u901a\u77e5\u6216\u611f\u4eba\u544a\u522b\u65f6\uff0cAI\u53ea\u4f1a\u8f93\u51fa\u7edf\u8ba1\u5b66\u4e0a\u7684\u5e73\u5747\u8154\u8c03\uff0c\u6b64\u65f6\u53ea\u80fd\u9760\u624b\u52a8\u91cd\u5199\u800c\u975e\u5de5\u5177\u6539\u8fdb\u3002\u8fd9\u8bf4\u660e\u5b83\u7684\u4e0a\u9650\u662f\u201c\u9ad8\u6548\u751f\u4ea7\u529b\u7684\u6807\u51c6\u95f4\u62ff\u634f\u201d\uff0c\u800c\u975e\u201c\u521b\u610f\u8df3\u8131\u7684\u4e2a\u6027\u8868\u8fbe\u201d\u3002\u5176\u4e8c\uff0c\u65b0\u95fb\u7b80\u62a5\u884c\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u5e76\u975e\u4ec5\u662f\u5199\u4f5c\u2014\u2014\u9009\u9898\u5224\u65ad\u3001\u72ec\u7279\u89c2\u70b9\u3001\u5bf9\u8bfb\u8005\u60c5\u7eea\u7684\u6df1\u5c42\u611f\u77e5\u624d\u662f\u8ba2\u9605\u5236\u62a4\u57ce\u6cb3\uff0cHeyNews\u5728\u6e90\u8bc4\u5206\u548c\u7f16\u8f91\u5224\u65ad\u4e0a\u4ecd\u9ad8\u5ea6\u4f9d\u8d56\u4eba\uff0c\u8fd9\u610f\u5473\u7740\u672c\u8d28\u4e0a\u5b83\u4f9d\u7136\u662f\u201c\u4f53\u529b\u52b3\u52a8\u7684\u96c6\u7ea6\u5316\u201d\uff0c\u800c\u975e\u201c\u667a\u529b\u52b3\u52a8\u7684\u66ff\u4ee3\u5316\u201d\u3002\u8ba2\u9605\u95e8\u69db\uff08\u6708\u8d3999\u7f8e\u5143\u8d77\uff09\u4f5c\u4e3a\u9488\u5bf9\u4e13\u4e1a\u8fd0\u8425\u8005\u7684B2B\u5b9a\u4ef7\u5408\u7406\uff0c\u4f46\u5df2\u6392\u9664\u5927\u91cf\u4e2a\u4eba\u8bd5\u6c34\u8005\u3002\u957f\u671f\u6765\u770b\uff0c\u80fd\u5426\u901a\u8fc7\u884c\u4e1a\u5782\u76f4\u5316\uff08\u5982\u91d1\u878d\u5206\u6790\u6216\u5c0f\u4f17\u79d1\u6280\u9886\u57df\uff09\u6df1\u5316\u98ce\u683c\u9002\u914d\u7cbe\u5ea6\uff0c\u5c06\u662f\u51b3\u5b9a\u5176\u662f\u4ece\u5229\u5668\u8715\u53d8\u4e3a\u9886\u57df\u6807\u51c6\uff0c\u8fd8\u662f\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u9ad8\u7aef\u6a21\u677f\u5de5\u5177\u7684\u5173\u952e\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\">HeyNews<\/span>\n                <\/div>\n<div class=\"comment-content\">HeyNews learns from your newsletter archive, monitors your sources, and generates publish-ready drafts in your voice. Native Beehiiv &#038; Kit; archive imports from Substack or any newsletter with a public archive. 14-day trial, plans from $99\/mo. PH50 \u2192 50% off 12 months.<\/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 Cagri here, co-founder of HeyNews.<\/p>\n<p>We started HeyNews because we watched newsletter operators (including a few friends running 5-figure-MRR Beehiiv and Kit publications) lose 6 to 10 hours every week to the same loop: scan a hundred sources, pick the stories worth covering, draft something that sounds like them, ship it, repeat.<\/p>\n<p>Generic AI tools couldn&#8217;t do step 3. The drafts always sounded like AI.<\/p>\n<p>So we built HeyNews to handle the production layer. The part we&#8217;re proudest of is the voice training. You connect your newsletter (Beehiiv via API, Kit via OAuth, or any platform with a public archive: Substack, Ghost, Mailchimp, Medium), HeyNews reads your past issues, and the drafts come out sounding like you wrote them. Not &#8220;AI trying to sound human.&#8221; More like &#8220;your style, on a Tuesday morning when you have time to write.&#8221;<\/p>\n<p>What&#8217;s in v1:<\/p>\n<p>&#8211; \ud83c\udf99 AI Writers: They train on your past issues for tone, vocabulary, sentence patterns, and signature phrases. Different edition styles get different Writers, and each Writer improves with every send (we pull open and click data from your platform).<br \/>\n&#8211; \ud83d\udce1 Source curation: RSS, blogs, social profiles (X, LinkedIn, Instagram, TikTok), Reddit, and saved articles via a Chrome extension. Every story gets a relevance score against your audience.<br \/>\n&#8211; \u270f\ufe0f Compose: Smart Select picks the best stories per section. One-click style updates and revisions by chatting. Subject line and preview text suggestions.<br \/>\n&#8211; \u2699\ufe0f Automations: Schedule drafts on your cadence. Review-before-send only. We never auto-publish. You keep editorial judgment.<br \/>\n&#8211; \ud83d\udcca Analytics: Open rate, CTR, best-send-time heatmap, per-issue breakdown.<\/p>\n<p>Plans start at $99\/mo (Starter), with a 14-day trial OR 5 generated issues, whichever comes first. We ask for a card up front so the trial converts cleanly. Cancel any time before day 14 in two clicks, no charge.<\/p>\n<p>Special for Product Hunt today: code PH50 gets you 50% off for 12 months on any plan, monthly or yearly, including add-ons. So Starter ends up at $49.50\/mo for a year. Code is good through June 30.<\/p>\n<p>We used HeyNews ourselves for over a year before launching it publicly. 550+ issues across 10+ formats. This isn&#8217;t a beta. It&#8217;s how we&#8217;ve been publishing all along. We&#8217;ll be in the thread today, helping answer questions too.<\/p>\n<p>We would love to hear from anyone running a newsletter. What&#8217;s broken in your current workflow? Honest critiques are especially welcome. We&#8217;ll be here all day.<\/p><\/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\/@cagrisarigoz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cagrisarigoz<\/a>&nbsp;Congratulations! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Thrilled to see HeyNews live! To answer Cagri&#8217;s question from a content marketing perspective: the most &#8216;broken&#8217; part of current workflows is usually the friction between research and writing. You often lose your &#8216;voice&#8217; while juggling 20 different tabs. <\/p>\n<\/p>\n<p>I\u2019m particularly excited about how the platform avoids AI &#8216;hallucinations&#8217; by sticking to trusted RSS and social feeds. It\u2019s great to see a tool that keeps the editor in full control!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cagrisarigoz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cagrisarigoz<\/a>&nbsp;Voice training actually solving the &#8220;sounds like AI&#8221; problem is the most interesting part here. Every other tool gets the curation right but fumbles the draft. Curious how it handles niche technical newsletters where the tone is very specific \u2014 does it pick up on jargon and formatting quirks too?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a good one. Voice training angle is what separates this from the generic tools. Training on actual past issues allows to pick up jargon, quirks and sentence patterns. Looks like the right approach! To stress-test  &#8211; how it handles newsletters that deliberately vary their tone issue-to-issue? Does the model average out your style?<\/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\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Real edge case. The per-format AI Writer setup handles part of it: if the variation is structural (Monday deep-dive vs Friday Q&amp;A), each format gets its own Writer trained only on matching issues, and they stay separate. No averaging across them.<\/p>\n<\/p>\n<p>Where it actually struggles is intentional variation within the same format. Same newsletter, same template, but the operator deliberately shifts the tone of the issue. In that case, the AI Writer does converge on the central tendency. The workaround that works in practice is splitting systematic variation into separate formats so each gets its own AI Writer, but for mood-driven variation that isn&#8217;t easily labeled, it stays a real limitation.<\/p>\n<\/p>\n<p>One related point worth flagging: what gets averaged is tone, not topic. Source scoring is a separate system, so the mix of sources brought into any specific draft still shifts the result. <\/p>\n<\/p>\n<p>That partly compensates for the averaging on the voice side, but it&#8217;s a manual lever rather than something the model resolves on its own.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;in my voice&#8221; v. &#8220;more human&#8221; piece of the prompt is so key. Especially as we see more and more second and third human AI layers like Sinceerly and others start to pop up. Now it just needs the originality that the author brings to the table to be fully autonomous <\/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\/@joe_setpoint\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@joe_setpoint<\/a> indeed! This was our starting point as well. The exact question was: Should we create more &#8220;artificial&#8221; stuff when we can create unique content in the relevant author&#8217;s tone&amp;style? The answer was a resounding no, and here we are. \ud83d\ude0c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;learns from your archive&#8221; part is clever. I&#8217;ve seen so many newsletter tools that generate generic content \u2014 having it adapt to your voice is what makes it usable long-term.<\/p>\n<p>I&#8217;m curious about the learning curve. How many past issues does it need before the suggestions start feeling like &#8220;you&#8221;? I run a bilingual blog (Spanish\/English) for a YouTube creator tools platform and voice consistency across languages has been my biggest challenge.<\/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\/@ytubviral\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ytubviral\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ytubviral<\/a> Thanks! As my co-founder <a href=\"https:\/\/www.producthunt.com\/@cagrisarigoz\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"cagrisarigoz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cagrisarigoz<\/a> mentioned in one of his previous replies, 5 issues per format is the minimum amount we need to make it sound like you. But more is definitely better, so we use as many issues as possible.<\/p>\n<\/p>\n<p>You have an interesting challenge on your hands. I think we can manage to ensure voice consistency across languages, but the problem is that nobody on our team speaks Spanish, so it would be really challenging for us to test cross-language voice fidelity in this case. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Curious about the voice training minimum. how many past issues does the model need before the output actually sounds like you and not generic AI? most tools I&#8217;ve tested fall apart under ~20 examples<\/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\/@romain_delgado\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@romain_delgado<\/a>&nbsp;Our trials have shown that our voice matching works even with 3 past issues, but to create a sustainable and balanced outcome, we recommend to use more than 5 issues minimum. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@romain_delgado\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@romain_delgado<\/a>&nbsp;great question. ~5 issues from a single format is the practical floor for us. <\/p>\n<\/p>\n<p>That&#8217;s lower than the 20-example wall you&#8217;ve hit on other tools because of the architecture: we train a separate AI Writer per format rather than one Writer per publication, so each AI Writer only has to learn one cadence (Monday deep-dive vs Friday roundup, say) instead of disambiguating multiple cadences from one shared pool.<\/p>\n<\/p>\n<p>The reason most tools fall apart under 20 is usually that they&#8217;re trying to learn the operator&#8217;s voice across mixed-format examples. Five issues of &#8220;Monday deep-dive&#8221; together are more useful for that format than fifty issues of &#8220;everything you&#8217;ve ever shipped.&#8221; The signal isn&#8217;t diluted by formats with different rhythms.<\/p>\n<\/p>\n<p>More is better. There&#8217;s a noticeable gain going from 5 to 10. But the marginal return flattens fast. Operators we&#8217;ve onboarded with 20-30 issues per format don&#8217;t get a clearly better AI Writer than those onboarded with 6-8. What helps more after the floor is variety within the format (a mix of strong and average issues, not just the greatest hits), so the Writer sees what &#8220;normal for you&#8221; looks like, not just &#8220;best of you.&#8221;<\/p>\n<\/p>\n<p><strong>The Catch:<\/strong> it&#8217;s per format, not total. An operator with 100 issues across 5 wildly different formats is in worse shape on day one than an operator with 25 issues across a single format.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Concentrating a full day labor into about 5 minutes while keeping the operator&#8217;s voice intact for that price is something! Reach out to mete &#8221; at &#8221; heybe . ai for partnership opportunities with a great product like HeyNews! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;in your voice&#8221; part is what makes this interesting to me. I&#8217;ve tried AI draft tools before and the problem is always that they smooth out the rough edges that made my writing feel like <em>me<\/em>. Curious how HeyNews handles that does it pick up on style over time or is it more template-based? The Substack import is also a smart touch for people with an existing archive. Congrats on the launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sagar_kalra1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sagar_kalra1<\/a>, the &#8220;smoothing out rough edges&#8221; failure mode is the exact one we tried to design against. Most tools end up there because they generate against a style description (&#8220;write like Sagar&#8217;s newsletter, which is conversational and witty&#8221;) rather than against your actual writing. A description of your voice is a flattened version of it by definition.<\/p>\n<\/p>\n<p>What HeyNews does instead: the AI Writer trains on your past issues directly. The rough edges come through as data: signature phrases, sentence patterns that aren&#8217;t textbook-correct, the way you open sections, formatting quirks. Not as instructions, as patterns. That&#8217;s what survives generation.<\/p>\n<\/p>\n<p>On the &#8220;over time&#8221; question: it&#8217;s trained, not templated. The trained profile is refined after each send (performance data from your platform shifts weights on the scoring side, thereby choosing which stories surface). The voice side is more stable. Once it knows your voice, it knows it and rebuilds only if you retrain it on new issues.<\/p>\n<\/p>\n<p>Honest caveat: some voice tics still get smoothed, especially subtle rhythm choices that the model reads as noise until enough examples show otherwise. The operator review step is where those get re-added. A practical signal that voice training is working: a few issues in, you should be editing for content, not for &#8220;this doesn&#8217;t sound like me.&#8221; If you&#8217;re still doing the second kind of edit, something&#8217;s off.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 \u2014 the \u201creview-before-send only\u201d choice feels important. For newsletters, the hardest part isn\u2019t just generating words in a familiar style; it\u2019s preserving editorial judgment when a story should *not* sound like the last 20 issues.<\/p>\n<\/p>\n<p>Curious how you handle deliberate voice shifts: e.g. a more urgent issue, a more personal note, or a sponsor-heavy edition where the usual cadence needs to bend without becoming generic?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jim_jeffers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jim_jeffers<\/a>&nbsp;Jim, you&#8217;ve named the actual editorial judgment edge, and the honest answer is the AI Writer won&#8217;t solve it. That&#8217;s a design choice.<\/p>\n<\/p>\n<p>For your three cases concretely:<\/p>\n<ul>\n<li>\n<p><strong>Urgency:<\/strong> the system handles the baseline; the urgent-issue restructuring is operator work. We&#8217;ve thought about urgency-signaling on the source-scoring side (story age, cross-source overlap, breaking-news patterns), but right now the operator catches that, not the system.<\/p>\n<\/li>\n<li>\n<p><strong>Personal note:<\/strong> this is the case where I&#8217;d recommend writing the personal section from scratch and letting HeyNews assemble the rest of the issue around it. An AI Writer trained on regular issues will flatten a heartfelt anniversary or farewell. It shouldn&#8217;t try.<\/p>\n<\/li>\n<li>\n<p><strong>Sponsor-heavy editions:<\/strong> if they&#8217;re structurally different (more ad slots, a different opener, sponsor-led sections), they benefit from being their own format with their own AI Writer trained on past sponsored issues. If it&#8217;s the same template with one extra ad block, that&#8217;s a compose-time placement question, not a voice question.<\/p>\n<\/li>\n<\/ul>\n<p>The wider answer is the one you opened with: editorial judgment doesn&#8217;t transfer. The product&#8217;s job is to make the baseline cheap so the operator&#8217;s attention is free for the moments that need it. Review-before-send is the explicit rule precisely because of cases like these.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 watching Cagri and the team build this and it&#8217;s exciting to finally see it live. The detail that sold me: they used HeyNews to ship 550+ of their own issues before opening it up. That&#8217;s the kind of dogfooding that shows up in the product. Rooting for you all 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;step 3 sounds like AI&#8221; failure mode is the real wall for any voice-as-output product \u2014 generic LLMs produce competent-but-anonymous prose, and once a reader has caught that smell they can&#8217;t unsmell it. Training off the archive solves a different problem than prompt-engineering does: it makes the model write like a specific person rather than like &#8220;a knowledgeable newsletter writer in general,&#8221; which is the difference between something a reader subscribes to and something they unsubscribe from.<\/p>\n<\/p>\n<p>I hit a parallel problem on the audio side running ModeLoop, a small podcast on financial modeling. When I tried AI-generated show notes early on, listeners called them out almost immediately \u2014 not because they were wrong but because they didn&#8217;t sound like me. Eventually I stopped using them. Curious how you handle the cold-start problem here \u2014 how many archive issues does HeyNews need before the voice match feels native to a reader who knows the publication 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<\/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\/EZV4ALQI2A44AI\" class=\"app-title\">FileFlan<\/a><\/p>\n<div class=\"one-liner\">Instant private universal file sharing<\/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>FileFlan \u662f\u4e00\u6b3e\u65e0\u9700\u767b\u5f55\u3001\u8de8\u8bbe\u5907\u3001\u7aef\u5230\u7aef\u52a0\u5bc6\u7684\u70b9\u5bf9\u70b9\u6587\u4ef6\u5171\u4eab\u5de5\u5177\uff0c\u89e3\u51b3\u7528\u6237\u5728\u624b\u673a\u3001\u7535\u8111\u3001\u547d\u4ee4\u884c\u7ec8\u7aef\u7b49\u4e0d\u540c\u8bbe\u5907\u95f4\u5feb\u901f\u3001\u79c1\u5bc6\u4f20\u8f93\u6587\u4ef6\uff08\u542b\u6574\u4e2a\u6587\u4ef6\u5939\uff09\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/345dd6c9-23c2-4a55-804d-2ac7c5bd1379.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=W8n-sTca3AY\"><source src=\"https:\/\/www.youtube.com\/watch?v=W8n-sTca3AY\" 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\/65c3500b-d2e3-485a-94d1-3b6c06cae7b0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9619aaf-af56-4a88-9d82-2c4b1f5db979.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/da3e4282-4cba-438f-8396-641aafe26478.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Privacy<\/span><br \/>\n            <span class=\"tag\">Data<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6587\u4ef6\u4f20\u8f93<\/span><br \/>\n            <span class=\"tag\">\u70b9\u5bf9\u70b9<\/span><br \/>\n            <span class=\"tag\">\u7aef\u5230\u7aef\u52a0\u5bc6<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u96f6\u767b\u5f55<\/span><br \/>\n            <span class=\"tag\">\u5927\u6587\u4ef6\u4f20\u8f93<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u4e92\u4f20<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8d5e\u8d4f\u5176\u529f\u80fd\u5168\u9762\uff0c\u5c24\u5176\u6307\u51fa\u514d\u767b\u5f55\u3001\u8de8\u7f51\u7edc\u3001\u652f\u6301\u6587\u4ef6\u5939\u548c CLI \u7684\u4f18\u52bf\uff0c\u8ba4\u4e3a\u6bd4\u540c\u7c7b\u5de5\u5177\u66f4\u5b8c\u5584\u3002\u4f46\u5bf9\u5355\u6b21 1GB \u6587\u4ef6\u4e0a\u9650\u63d0\u51fa\u7591\u95ee\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u6d4f\u89c8\u5668\u6a21\u5f0f\u4e0b\u53d7\u9650\u4e8e RAM\uff0c\u4e14\u672a\u6765\u53ef\u80fd\u653e\u5bbd\u9650\u5236\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                FileFlan \u5207\u5165\u7684\u201c\u79c1\u5bc6\u8de8\u8bbe\u5907\u6587\u4ef6\u4f20\u8f93\u201d\u8d5b\u9053\u5e76\u4e0d\u65b0\u9c9c\u2014\u2014\u524d\u6709 PairDrop\u3001FilePizza\u3001WebWormhole \u7b49\u514d\u8d39\u7ade\u54c1\uff0c\u540e\u6709 AirDrop\u3001Nearby Share \u7b49\u7cfb\u7edf\u7ea7\u5de5\u5177\u3002\u4f46\u5b83\u7684\u5dee\u5f02\u5316\u5728\u4e8e\u201c\u5168\u90fd\u8981\u201d\uff1a\u628a\u96f6\u5b66\u4e60\u6210\u672c\u7684\u6d4f\u89c8\u5668\u62d6\u62fd\u3001\u80fd\u8dd1\u5728\u65e0 GUI \u8bbe\u5907\u4e0a\u7684 CLI\u3001\u5b8c\u6574\u7684\u6587\u4ef6\u5939\u6811\u652f\u6301\u3001\u4ee5\u53ca\u9ed8\u8ba4\u8de8\u7f51\u7edc\u7684 P2P \u52a0\u5bc6\u5168\u90e8\u6253\u5305\uff0c\u4e14\u575a\u6301\u96f6\u767b\u5f55\u3001\u96f6 Cookie\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5728\u201c\u5de5\u5177\u6027\u201d\u548c\u201c\u5947\u5ba2\u6027\u201d\u4e4b\u95f4\u627e\u5e73\u8861\u2014\u2014\u65e2\u8981\u6ee1\u8db3\u666e\u901a\u7528\u6237\u201c\u6253\u5f00\u5373\u7528\u201d\u7684\u4f4e\u95e8\u69db\uff0c\u53c8\u8981\u8986\u76d6\u5f00\u53d1\u8005\/\u8fd0\u7ef4\u4eba\u5458\u201cSSH \u91cc\u5c31\u80fd\u4f20\u201d\u7684\u786c\u6838\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c1GB \u7684\u5355\u6587\u4ef6\u4e0a\u9650\u5728\u5f53\u524d 4K \u89c6\u9891\u3001\u5927\u578b\u5b89\u88c5\u5305\u65e5\u76ca\u666e\u904d\u7684\u80cc\u666f\u4e0b\u7565\u663e\u4fdd\u5b88\uff0c\u5f00\u53d1\u8005\u89e3\u91ca\u4e3a\u6d4f\u89c8\u5668 RAM \u74f6\u9888\uff0c\u4f46\u82e5\u672a\u6765\u4e0d\u901a\u8fc7\u5206\u7247\u6216\u670d\u52a1\u5668\u4e2d\u8f6c\u65b9\u6848\u7a81\u7834\uff0c\u53ef\u80fd\u4f1a\u529d\u9000\u90e8\u5206\u91cd\u5ea6\u7528\u6237\u3002\u6b64\u5916\uff0c\u8be5\u9879\u76ee\u76ee\u524d\u6295\u7968\u6570\u521a\u8fc7\u767e\uff0c\u5c1a\u672a\u5f62\u6210\u5927\u89c4\u6a21\u793e\u533a\u9a8c\u8bc1\uff0c\u7a33\u5b9a\u6027\u3001\u4f20\u8f93\u901f\u5ea6\u3001\u8de8 NAT \u7a7f\u900f\u7684\u6210\u529f\u7387\u4ecd\u9700\u66f4\u591a\u5b9e\u6d4b\u6570\u636e\u652f\u6491\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u518d\u53d1\u660e\u4e00\u4e2a\u4f20\u6587\u4ef6\u65b9\u5f0f\u201d\uff0c\u800c\u5728\u4e8e\u5b9e\u73b0\u4e86\u201c\u9690\u79c1\u3001\u4fbf\u6377\u3001\u8de8\u7aef\u201d\u4e09\u8981\u7d20\u7684\u8f83\u4f4e\u6469\u64e6\u7ec4\u5408\u3002\u5982\u679c\u540e\u7eed\u80fd\u6301\u7eed\u4f18\u5316\u5927\u6587\u4ef6\u5904\u7406\u3001\u5e76\u4fdd\u6301\u5f00\u6e90\u900f\u660e\uff0c\u5b83\u5b8c\u5168\u6709\u6f5c\u529b\u6210\u4e3a\u9690\u79c1\u654f\u611f\u7528\u6237\u548c\u8de8\u5e73\u53f0\u5de5\u4f5c\u6d41\u4e2d\u7684\u9ed8\u8ba4\u9009\u62e9\u3002\u4f46\u4ec5\u9760\u201c\u514d\u8d39+\u96f6\u767b\u5f55\u201d\u5f88\u96be\u6784\u5efa\u62a4\u57ce\u6cb3\u2014\u2014\u540c\u7c7b\u5de5\u5177\u968f\u65f6\u53ef\u4ee5\u8ddf\u8fdb\u529f\u80fd\uff0c\u7ade\u4e89\u7126\u70b9\u6700\u7ec8\u4f1a\u843d\u5728\u4f20\u8f93\u53ef\u9760\u6027\u548c\u751f\u6001\u517c\u5bb9\u6027\u4e0a\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\">FileFlan<\/span>\n                <\/div>\n<div class=\"comment-content\">Phone browser to command line, Apple to Android, any device to any device. If it has a browser or a CLI, it works. P2P, end-to-end encrypted. No cookies, no logins, free.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">You&#8217;re probably thinking how this differs from similar free tools already online, like PairDrop, FilePizza and WebWormhole. Each one is lacking in ways others succeed, but FileFlan provides you the best of every world, and more. Including:<\/p>\n<p>\u2022 Send large files (up to 1GB each)<br \/>\n\u2022 Send entire folder trees in one go<br \/>\n\u2022 CLI mode, cross-compatible with browser mode<br \/>\n\u2022 Works across different networks by default<br \/>\n\u2022 A comprehensive set of privacy+security features<br \/>\n\u2022 A polished, robust user interface<br \/>\n\u2022 Zero learning curve<\/p>\n<p>If you have access to any two devices with network capability, you could start sharing files between them in ~1min. This includes devices with no GUI and virtual machines.<\/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>Nice!<\/p>\n<p>Why the 1GB limit?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@thomas_berg3 On browser mode, files are buffered into the RAM. If you permit overly large files it will just cause the browser to crash<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@rb81 Yeah it is, one for a future update<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/AXDXZOZXRSLSMH\" class=\"app-title\">TrackTalent<\/a><\/p>\n<div class=\"one-liner\">Track jobs, get matched, and land offers faster<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">103<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>TrackTalent \u662f\u4e00\u6b3e\u4e13\u4e3a\u5de5\u7a0b\u5e08\u6253\u9020\u7684\u6c42\u804c\u8ffd\u8e2a\u4e0e\u667a\u80fd\u5339\u914d\u5e73\u53f0\uff0c\u65e8\u5728\u89e3\u51b3\u6c42\u804c\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u6df7\u4e71\u3001\u6295\u9012\u4f4e\u6548\u3001\u7f3a\u4e4f\u5185\u63a8\u6e20\u9053\u7b49\u75db\u70b9\uff0c\u5e2e\u52a9\u7528\u6237\u4ece\u6295\u9012\u5230\u5f55\u7528\u5b9e\u73b0\u6d41\u7a0b\u5316\u7ba1\u7406\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e7234753-4dfb-437e-8207-24453f165428.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f69b66e9-2c35-4dd5-9713-7b1f62960ed2.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\">Hiring<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Career<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6c42\u804c\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u5de5\u7a0b\u5e08<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u804c\u4f4d\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u5185\u63a8<\/span><br \/>\n            <span class=\"tag\">\u6c42\u804c\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u793e\u533a\u9a71\u52a8<\/span><br \/>\n            <span class=\"tag\">\u804c\u573a\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u5019\u9009\u4eba\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\u666e\u904d\u8ba4\u53ef\u4ea7\u54c1\u89e3\u51b3\u4e86\u6c42\u804c\u6d41\u7a0b\u6df7\u4e71\u7684\u75db\u70b9\uff0c\u4f46\u63d0\u51fa\u4e24\u4e2a\u5173\u952e\u7591\u8651\uff1a\u4e00\u662f\u5982\u4f55\u5e73\u8861\u96c7\u4e3b\u53ef\u89c1\u5ea6\u4e0e\u5019\u9009\u4eba\u4fe1\u4efb\uff08\u907f\u514d\u201c\u76d1\u63a7\u611f\u201d\uff09\uff1b\u4e8c\u662f\u5c0f\u4f17\u6280\u672f\u6808\u7684\u5339\u914d\u6548\u679c\u3002\u6b64\u5916\uff0c\u6709\u7528\u6237\u8be2\u95ee\u662f\u5426\u6709\u81ea\u52a8\u8ddf\u8fdb\u63d0\u9192\u529f\u80fd\uff0c\u4ee5\u53ca\u76ee\u524d\u662f\u5426\u652f\u6301\u975e\u5de5\u7a0b\u5e08\u5c97\u4f4d\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                TrackTalent \u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u9762\u5411\u5019\u9009\u4eba\u7684\u201c\u9006\u5411ATS\u201d\uff0c\u7cbe\u51c6\u5207\u5165\u5de5\u7a0b\u5e08\u6c42\u804c\u7684\u6d41\u7a0b\u7ba1\u7406\u7a7a\u767d\u3002\u5176\u4ef7\u503c\u5728\u4e8e\u5c06\u539f\u672c\u5206\u6563\u5728Excel\u3001\u90ae\u4ef6\u3001\u62db\u8058\u7f51\u7ad9\u548c\u5185\u63a8\u4eba\u8109\u4e2d\u7684\u4fe1\u606f\u6d41\u6574\u5408\u4e3a\u7ed3\u6784\u5316\u7ba1\u9053\uff0c\u5e76\u901a\u8fc7\u793e\u533a\u8d21\u732e\u964d\u4f4e\u4fe1\u606f\u5dee\uff0c\u8fd9\u6bd4\u5355\u7eaf\u7684\u804c\u4f4d\u805a\u5408\u7ad9\u70b9\u66f4\u5177\u7ade\u4e89\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5b58\u5728\u660e\u663e\u7684\u8eab\u4efd\u6096\u8bba\uff1a\u5b83\u5f3a\u8c03\u201c\u4e0d\u4e3a\u96c7\u4e3b\u670d\u52a1\u201d\uff0c\u4f46\u667a\u80fd\u5339\u914d\u4e0e\u5185\u63a8\u6d41\u7a0b\u53c8\u9ad8\u5ea6\u4f9d\u8d56\u96c7\u4e3b\u7684\u63a5\u7eb3\u4e0e\u6570\u636e\u63a5\u5165\u3002\u82e5\u4ec5\u4f9d\u8d56\u793e\u533a\u8d21\u732e\uff0c\u804c\u4f4d\u5e93\u7684\u5e7f\u5ea6\u548c\u65f6\u6548\u6027\u96be\u4ee5\u5339\u654cLinkedIn\u7b49\u5e73\u53f0\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u76d1\u63a7\u611f\u201d\u7684\u62c5\u5fe7\u4e5f\u76f4\u6307\u8981\u5bb3\u2014\u2014\u4e00\u65e6\u5f15\u5165\u96c7\u4e3b\u89c6\u89d2\uff0c\u4ea7\u54c1\u6781\u6613\u6ca6\u4e3a\u7b80\u5386\u7b5b\u9009\u6f0f\u6597\u7684\u53e6\u4e00\u7aef\uff0c\u5931\u53bb\u201c\u4e3a\u5019\u9009\u4eba\u63d0\u6548\u201d\u7684\u521d\u5fc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u5176\u201cOuttalent\u201d\u79ef\u7d2f\u7684\u79c1\u57df\u6d41\u91cf\u4e0e\u8f85\u5bfc\u7ecf\u9a8c\u3002\u80fd\u5426\u5c06\u8fc7\u53bb\u5e2e\u52a9200+\u4eba\u62ff\u4e0bFAANG offer\u7684\u5b9e\u6218\u65b9\u6cd5\u8bba\uff08\u5982\u8ddf\u8fdb\u8282\u594f\u3001\u6295\u9012\u7b56\u7565\uff09\u8f6c\u5316\u4e3a\u5e73\u53f0\u7b97\u6cd5\uff0c\u800c\u975e\u7b80\u5355\u642c\u8fd0\u804c\u4f4d\uff0c\u51b3\u5b9a\u4e86\u5b83\u7a81\u7834\u5c0f\u4f17\u5de5\u5177\u5bbf\u547d\u3001\u6210\u4e3a\u4e0b\u4e00\u4ee3\u6c42\u804c\u57fa\u7840\u8bbe\u65bd\u7684\u53ef\u80fd\u3002\u76ee\u524d\u6765\u770b\uff0c\u5bf9\u975e\u52a0\u901f\u5668\u7528\u6237\u7684\u529f\u80fd\u5f00\u653e\u7a0b\u5ea6\u504f\u4f4e\uff0c\u82e5\u957f\u671f\u4f9d\u8d56\u201cFellowship\u201d\u9501\u4f4f\u6838\u5fc3\u4f53\u9a8c\uff0c\u6050\u5c06\u9650\u5236\u793e\u533a\u88c2\u53d8\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\">TrackTalent<\/span>\n                <\/div>\n<div class=\"comment-content\">TrackTalent is a job platform for engineers to track applications, discover high-quality roles, and get referred faster. It combines a structured pipeline, community-sourced opportunities, and intelligent matching to help you focus on the right jobs and move efficiently from application to offer.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Hey everyone<\/strong> \ud83d\udc4b<\/p>\n<p>We built <a href=\"https:\/\/tracktalent.outtalent.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>TrackTalent<\/strong><\/a><strong> <\/strong>because job hunting for engineers feels unnecessarily chaotic today.<\/p>\n<p>People track applications in spreadsheets, miss great opportunities, apply to hundreds of irrelevant jobs, and often never hear back. At the same time, referrals and insider knowledge are still one of the biggest advantages in tech hiring, but they\u2019re hard to access if you don\u2019t already have the network.<\/p>\n<p>At <a href=\"https:\/\/outtalent.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Outtalent<\/strong><\/a><strong>,<\/strong> we\u2019ve helped engineers land 200+ offers at companies like Google, Meta, Amazon, Stripe, and more. Along the way, we built internal tools to manage applications, referrals, opportunities, and interview pipelines more efficiently. Eventually we realized this needed to become its own platform.<\/p>\n<p><a href=\"https:\/\/tracktalent.outtalent.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>TrackTalent<\/strong><\/a> combines:<br \/>\u2022 application tracking<br \/>\u2022 intelligent job matching<br \/>\u2022 community sourced opportunities<br \/>\u2022 referral workflows<br \/>\u2022 a structured pipeline from application to offer<\/p>\n<p>The goal is simple: help engineers spend less time on chaos and more time on the right opportunities.<\/p>\n<p>Would love to hear your feedback, ideas, and thoughts \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Recruiting tools that don&#8217;t feel like surveillance are rare. Curious how you balance candidate trust with employer visibility. Solid launch \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\">Is this ATS for candidates? \ud83d\ude05<\/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\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;No, it&#8217;s not XD<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone. I\u2019m thrilled to share <a href=\"https:\/\/tracktalent.outtalent.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>TrackTalent<\/strong><\/a> with you &#8211; our job tracking platform!<\/p>\n<p>When I joined Outtalent, this was my very first project: built to provide our clients a smarter way to manage their job search end-to-end. Over the past year I\u2019ve continuously iterated on this platform &#8211; adding more features, better workflows and smarter automations aimed at actually helping our clients land jobs. Since launching it internally, the volume of our clients\u2019 job applications and successful referrals has grown tenfold, reflected in the offers they continue to land.<\/p>\n<\/p>\n<p>The team and I are now excited to share the platform with the public. You can use it to explore tech job listings and track your applications. If you <a href=\"https:\/\/outtalent.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">become part of our Fellowship accelerator program<\/a> &#8211; you will also get access to intelligent job matching, mentorship and referrals to the top tech companies (FAANG &amp; adjacent).<\/p>\n<\/p>\n<p>TrackTalent has been my baby since day one, and it&#8217;s exciting to finally see it fly. Hope it helps you land something great.<br \/>I\u2019m happy to answer any questions!<\/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! The job market for engineers is quite noisy right now, so a tool that helps centralize applications is very timely. Does TrackTalent offer automated &#8216;follow-up&#8217; reminders for applications that haven&#8217;t responded? Also, how does the &#8216;intelligent matching&#8217; handle niche tech stacks compared to broader roles?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Something similar for marketing doesn&#8217;t exist? \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;you can use this tool for any job applications! We plan to add listings for different industries in the future.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/5BVGOYMSA4SYFW\" class=\"app-title\">MiniCPM-V 4.6<\/a><\/p>\n<div class=\"one-liner\">Ultra-efficient 1.3B vision-language model for mobile<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">98<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>MiniCPM-V 4.6 \u662f\u4e00\u6b3e\u4e13\u4e3a\u624b\u673a\u548c\u6d88\u8d39\u7ea7\u786c\u4ef6\u8bbe\u8ba1\u76841.3B\u53c2\u6570\u591a\u6a21\u6001\u5927\u6a21\u578b\uff0c\u901a\u8fc7\u9ad8\u6548\u7684\u89c6\u89c9\u4ee4\u724c\u538b\u7f29\u6280\u672f\uff0c\u89e3\u51b3\u4e86\u5728\u8d44\u6e90\u53d7\u9650\u8bbe\u5907\u4e0a\u8fd0\u884c\u56fe\u50cf\u4e0e\u89c6\u9891\u7406\u89e3\u4efb\u52a1\u65f6\u6210\u672c\u9ad8\u3001\u901f\u5ea6\u6162\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5c7b5a7e-812a-4fe2-9ed8-5f5a78fdd36b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/97a33200-29bf-4985-b33a-35af70a3b097.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8093c3c0-8841-4ee0-99b4-ab486502994f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b93106a8-9b8d-4de0-a3db-919be65413f9.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\/eb3bec98-b69f-40d4-a141-0f66e8dfa5c6.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Ch5UG1FoysM\"><source src=\"https:\/\/www.youtube.com\/watch?v=Ch5UG1FoysM\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u591a\u6a21\u6001\u5927\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u7aefAI<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u7406\u89e3<\/span><br \/>\n            <span class=\"tag\">\u8fb9\u7f18\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u91cf\u5316\u538b\u7f29<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">iOS\/Android\/HarmonyOS<\/span><br \/>\n            <span class=\"tag\">1.3B\u53c2\u6570<\/span><br \/>\n            <span class=\"tag\">\u9ad8\u6548\u63a8\u7406<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u5173\u6ce8\u6a21\u578b\u5b9e\u9645\u5185\u5b58\u5360\u7528\uff0c\u4e00\u4f4d\u5f00\u53d1\u8005\u8be2\u95ee1.3B\u53c2\u6570\u572816\/8\/4\/1 bit\u91cf\u5316\u4e0b\u5177\u4f53\u5927\u5c0f\uff1b\u53d1\u8d77\u4eba\u56de\u5e94\u79f0\u8fd9\u662f\u201c\u6700\u5e72\u51c0\u7684\u9ad8\u6548\u73a9\u6cd5\u201d\uff0c\u4f46\u672a\u76f4\u63a5\u56de\u7b54\u91cf\u5316\u89c4\u6a21\u95ee\u9898\uff0c\u663e\u5f97\u56de\u907f\u6280\u672f\u7ec6\u8282\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                MiniCPM-V 4.6 \u7684\u5b9a\u4f4d\u7cbe\u51c6\u2014\u2014\u75281.3B\u53c2\u6570\u5728\u624b\u673a\u4e0a\u8dd1\u89c6\u89c9\u7406\u89e3\u3002\u4ece\u4ea7\u54c1\u89d2\u5ea6\u770b\uff0c\u5b83\u786e\u5b9e\u8e29\u4e2d\u4e86\u4e09\u4e2a\u75db\u70b9\uff1a\u9ad8\u5206\u8fa8\u7387\u56fe\u50cf\u7684\u9ad8\u6210\u672c\u3001\u89c6\u9891\u8f93\u5165\u7684\u8fde\u7eed\u6027\u8d1f\u62c5\u3001\u4ee5\u53ca\u79fb\u52a8\u7aef\u90e8\u7f72\u7684\u788e\u7247\u5316\u3002\u6df7\u54084x\/16x\u89c6\u89c9\u4ee4\u724c\u538b\u7f29\u662f\u6280\u672f\u4eae\u70b9\uff0c\u53f7\u79f0\u80fd\u8ba9\u201c\u91cd\u6d3b\u53d8\u8f7b\u201d\uff1b\u800c\u5bf9iOS\/Android\/HarmonyOS\u7684\u5168\u5e73\u53f0demo\u652f\u6301\uff0c\u52a0\u4e0aApache-2.0\u5f00\u653e\u4e0eOllama\/vLLM\u7b49\u6846\u67b6\u517c\u5bb9\uff0c\u8bf4\u660e\u56e2\u961f\u5728\u751f\u6001\u548c\u5f00\u53d1\u8005\u4f53\u9a8c\u4e0a\u4e0b\u4e86\u529f\u592b\uff0c\u8fd9\u662f\u52a1\u5b9e\u7684\u4e00\u9762\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4e0d\u5f97\u4e0d\u6307\u51fa\uff0c98\u7968\u7684\u70ed\u5ea6\u5728Product Hunt\u4e0a\u53ea\u80fd\u7b97\u4e2d\u7b49\uff0c\u8bc4\u8bba\u533a\u4ec5\u6709\u7684\u4e24\u6761\u4e92\u52a8\u66b4\u9732\u4e86\u95ee\u9898\u3002\u5f00\u53d1\u8005\u6700\u5173\u5fc3\u7684\u201c\u5185\u5b58\u5360\u7528\u201d\u6ca1\u6709\u88ab\u660e\u786e\u89e3\u7b54\u2014\u20141.3B\u53c2\u6570\u672c\u8eab\u53ea\u662f\u4e2a\u6570\u5b57\uff0c\u91cf\u5316\u7cbe\u5ea6\u51b3\u5b9a\u843d\u5730\u7684\u5b9e\u7528\u6027\u3002\u56de\u907f\u56de\u7b54\u6216\u662f\u56e2\u961f\u5c1a\u672a\u505a\u51fa\u7cbe\u7ec6\u91cf\u5316\u7248\u672c\uff0c\u800c1.3B\u7684\u5c3a\u5bf8\u5728\u79fb\u52a8\u7aef\u5982\u679c\u4ec5\u80fd\u8dd1FP16\uff0c\u5185\u5b58\u538b\u529b\u4f9d\u7136\u5de8\u5927\uff08\u7ea62.6GB\uff09\uff0c\u5bf9\u4e3b\u6d41\u624b\u673a\u5e76\u4e0d\u53cb\u597d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u4ea7\u54c1\u4ecb\u7ecd\u4e2d\u7684\u201c\u6e05\u6d01\u6548\u7387\u6e38\u620f\u201d\u4e00\u8bed\u6697\u793a\u8fd9\u662f\u7cfb\u5217\u4e2d\u6700\u7701\u6210\u672c\u7684\u7248\u672c\uff0c\u4f46\u4e5f\u53ef\u80fd\u610f\u5473\u7740\u727a\u7272\u4e86\u66f4\u5f3a\u7684\u89c6\u89c9\u7406\u89e3\u80fd\u529b\u3002\u5728\u8fb9\u7f18\u8ba1\u7b97\u573a\u666f\u4e2d\uff0c\u7a33\u5b9a\u6027\u3001\u91cf\u5316\u540e\u7684\u7cbe\u5ea6\u635f\u8017\u3001\u4ee5\u53ca\u89c6\u9891\u63a8\u7406\u7684\u5e27\u7387\u624d\u662f\u7528\u6237\u771f\u6b63\u5173\u5fc3\u7684\uff0c\u8fd9\u4e9b\u5728\u672c\u6b21\u53d1\u5e03\u4e2d\u7f3a\u4e4f\u6570\u636e\u652f\u6491\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u5728\u6b63\u786e\u65b9\u5411\u4e0a\u8fc8\u51fa\u534a\u6b65\u7684\u4ea7\u54c1\uff0c\u4f46\u8981\u6253\u52a8\u5f00\u53d1\u8005\u771f\u6b63\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u8fd8\u9700\u8981\u66f4\u900f\u660e\u7684\u6027\u80fd\u57fa\u51c6\u548c\u91cf\u5316\u9009\u62e9\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\">MiniCPM-V 4.6<\/span>\n                <\/div>\n<div class=\"comment-content\">MiniCPM-V 4.6 is an open MLLM for image and video understanding on phones and consumer hardware, with mixed 4x\/16x visual token compression, iOS\/Android\/HarmonyOS demos, and support for vLLM, SGLang, llama.cpp, and Ollama.<\/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>MiniCPM-V 4.6 is a <strong>1.3B<\/strong> open MLLM for image and video understanding, built for phones and consumer-grade hardware. It is the <em>smallest<\/em> <a href=\"https:\/\/github.com\/OpenBMB\/MiniCPM-V\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">MiniCPM-V<\/a> model to date, and probably the cleanest efficiency play in the series so far.<\/p>\n<p>Visual understanding can get expensive very quickly, especially with high-res images, video inputs, and on-device use cases. MiniCPM-V 4.6 focuses on making that workload lighter, faster, and more practical to deploy.<\/p>\n<p>It also has a pretty complete developer path: mobile demos across iOS, Android, and HarmonyOS, Apache-2.0 weights and code, quantized versions, and support for frameworks like <a href=\"https:\/\/docs.vllm.ai\/en\/latest\/api\/vllm\/model_executor\/models\/minicpmv\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">vLLM<\/a>, <a href=\"https:\/\/opensqz.github.io\/MiniCPM-V-CookBook\/site\/en\/v4.6\/deployment\/sglang.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">SGLang<\/a>, <a href=\"https:\/\/opensqz.github.io\/MiniCPM-V-CookBook\/site\/en\/v4.6\/deployment\/llamacpp.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">llama.cpp<\/a>, and <a href=\"https:\/\/opensqz.github.io\/MiniCPM-V-CookBook\/site\/en\/v4.6\/deployment\/ollama.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Ollama<\/a>.<\/p>\n<p>Small multimodal models are getting a lot more interesting when they are designed around real edge constraints!<\/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\/@zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a>&nbsp;Thank you for posting this. How large is the model in memory? It&#8217;s 1.3B parameters, is that 16 bit, 8 bit, 4 bit, or 1 bit?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/S7572PLDTD4T4E\" class=\"app-title\">Habitvs<\/a><\/p>\n<div class=\"one-liner\">An Apple Health companion that grows with your habits<\/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>Habitvs \u5c06 Apple Health \u7684\u5065\u5eb7\u6570\u636e\u8f6c\u5316\u4e3a\u4e00\u53ea\u540d\u4e3a Kova \u7684\u865a\u62df\u5ba0\u7269\uff0c\u901a\u8fc7\u5176\u60c5\u7eea\u72b6\u6001\u76f4\u89c2\u53cd\u6620\u7528\u6237\u7684\u7761\u7720\u3001\u6d3b\u52a8\u3001\u5fc3\u7387\u7b49\u771f\u5b9e\u8eab\u4f53\u72b6\u51b5\uff0c\u4ee5\u65e0\u538b\u529b\u3001\u53bb\u60e9\u7f5a\u5316\u7684\u65b9\u5f0f\u966a\u4f34\u7528\u6237\u5efa\u7acb\u5065\u5eb7\u4e60\u60ef\uff0c\u89e3\u51b3\u4f20\u7edf\u5065\u5eb7\u5e94\u7528\u201c\u6570\u5b57\u8bf4\u6559\u201d\u548c\u201c\u65ad\u7b7e\u7126\u8651\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/856bc7a3-15c3-4596-a714-cf52beaefa38.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c67d8ed5-08e5-4041-a397-a26a730c4445.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/39a74e46-086b-4f59-9b05-47eb63c6e744.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0979aaf5-de96-4966-9ae4-c452ac8be361.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/56a33084-b5db-481b-b688-7a37c3f211e0.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\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Lifestyle<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u865a\u62df\u5ba0\u7269<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u4e60\u60ef<\/span><br \/>\n            <span class=\"tag\">Apple Health<\/span><br \/>\n            <span class=\"tag\">\u5fc3\u7406\u5065\u5eb7<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u65e0\u538b\u529b\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u624b\u8868\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u50cf\u7d20\u827a\u672f<\/span><br \/>\n            <span class=\"tag\">AI \u4fe1\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u201c\u65e0\u5185\u759a\u611f\u201d\u4ea7\u54c1\u54f2\u5b66\uff0c\u5c24\u5176\u79f0\u8d5e\u9690\u79c1\u4fdd\u62a4\u3001\u624b\u8868\u5c0f\u7ec4\u4ef6\u548c\u201c\u6bcf\u5468\u4fe1\u201d\u529f\u80fd\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u4f18\u5316\u65b0\u624b\u5f15\u5bfc\uff0c\u89e3\u91ca\u80fd\u91cf\u6761\u542b\u4e49\uff1b\u5e0c\u671bKova\u5916\u89c2\u80fd\u968f\u6570\u636e\u52a8\u6001\u53d8\u5316\uff08\u5982\u773c\u888b\uff09\uff1b\u589e\u52a0\u4e92\u52a8\u6027\uff0c\u5982\u5c0f\u6e38\u620f\u3001\u60c5\u7eea\u5fbd\u7ae0\uff1b\u89e3\u9501\u9970\u54c1\u5e94\u66f4\u5177\u6536\u96c6\u6311\u6218\u6027\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Habitvs \u7784\u51c6\u4e86\u4e00\u4e2a\u7cbe\u51c6\u7684\u7f1d\u9699\u5e02\u573a\u2014\u2014\u7528\u201c\u60c5\u611f\u5316\u53cd\u9988\u201d\u5bf9\u6297\u201c\u91cf\u5316\u7126\u8651\u201d\u3002\u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5c06\u67af\u71e5\u7684\u5065\u5eb7\u6570\u636e\u8f6c\u5316\u4e3a\u5177\u8c61\u7684\u3001\u53ef\u5171\u60c5\u7684\u201c\u5ba0\u7269\u60c5\u7eea\u201d\uff0c\u4ee5\u6b64\u964d\u4f4e\u7528\u6237\u7684\u5fc3\u7406\u95e8\u69db\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u4e00\u79cd\u201c\u6e38\u620f\u5316\u201d\u7684\u964d\u7ef4\u6253\u51fb\uff0c\u4f46\u6bd4\u4fd7\u5957\u7684\u201c\u5347\u7ea7\u6253\u602a\u201d\u66f4\u9ad8\u7ea7\uff1a\u5b83\u8ba9\u7528\u6237\u5173\u5fc3\u7684\u662fKova\u800c\u4e0d\u662f\u6570\u636e\u672c\u8eab\uff0c\u4ece\u800c\u5b9e\u73b0\u4e86\u5065\u5eb7\u4e60\u60ef\u7684\u8f6f\u6027\u5f15\u5bfc\u3002\u4ece\u4ea7\u54c1\u8bbe\u8ba1\u770b\uff0c\u9690\u79c1\u662f\u7edd\u5bf9\u7684\u7ea2\u7ebf\uff0c\u82f9\u679c\u4e09\u5927\u6846\u67b6\uff08HealthKit\u3001SwiftUI\u3001Foundation Models\uff09\u7684\u7ed3\u5408\u786e\u4fdd\u4e86\u65e0\u7f1d\u4f53\u9a8c\u548c\u7528\u6237\u4fe1\u4efb\uff0c\u8fd9\u662f\u72ec\u7acb\u5f00\u53d1\u8005\u96be\u4ee5\u590d\u5236\u7684\u62a4\u57ce\u6cb3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u6279\u8bc4\u70b9\u5728\u4e8e\u5176\u201c\u6d45\u5c42\u4ea4\u4e92\u201d\u7684\u5c40\u9650\u6027\u3002\u76ee\u524dKova\u7684\u89d2\u8272\u66f4\u50cf\u4e00\u4e2a\u201c\u88ab\u52a8\u663e\u793a\u5668\u201d\uff0c\u7528\u6237\u7684\u53cd\u9988\u666e\u904d\u6307\u5411\u201c\u66f4\u6df1\u5ea6\u7684\u53cc\u5411\u5173\u7cfb\u201d\uff0c\u6bd4\u5982\u52a8\u6001\u5916\u89c2\u3001\u8ff7\u4f60\u6e38\u620f\u7b49\u3002\u8fd9\u4e9b\u9700\u6c42\u4e00\u65e6\u89c4\u6a21\u5316\uff0c\u5bf9\u7f8e\u672f\u548c\u52a8\u753b\u7684\u6295\u5165\u5c06\u6307\u6570\u7ea7\u589e\u957f\uff0c\u800c\u76ee\u524d94\u7968\u7684\u70ed\u5ea6\u8bf4\u660e\u5e02\u573a\u58f0\u91cf\u5c1a\u5c0f\u3002\u53e6\u4e00\u4e2a\u9690\u60a3\u662f\u201c\u6c89\u6eba\u201d\u95ee\u9898\uff1a\u5f53\u5065\u5eb7\u53d8\u5dee\u5bfc\u81f4Kova\u201c\u62c5\u5fe7\u201d\uff0c\u662f\u5426\u4f1a\u53cd\u5411\u52a0\u5267\u7528\u6237\u7684\u8d1f\u9762\u60c5\u7eea\uff1f\u5982\u679c\u4ea7\u54c1\u53ea\u8d1f\u8d23\u201c\u6620\u5c04\u201d\u800c\u4e0d\u63d0\u4f9b\u201c\u5e72\u9884\u8def\u5f84\u201d\uff08\u6bd4\u5982\u5065\u5eb7\u5efa\u8bae\uff09\uff0c\u957f\u671f\u6765\u770b\u4ecd\u662f\u4e00\u4e2a\u7535\u5b50\u5ba0\u7269\uff0c\u800c\u975e\u5065\u5eb7\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u8bc4\uff1a\u521b\u610f\u5de7\u5999\uff0c\u6267\u884c\u624e\u5b9e\uff0c\u4f46\u80fd\u5426\u4ece\u201c\u65b0\u9c9c\u611f\u201d\u8d70\u5411\u201c\u957f\u671f\u7c98\u6027\u201d\uff0c\u53d6\u51b3\u4e8e\u56e2\u961f\u80fd\u5426\u5c06\u6570\u636e\u53cd\u9988\u4ece\u5355\u5411\u5c55\u793a\u5347\u7ea7\u4e3a\u53cc\u5411\u53d9\u4e8b\uff0c\u5e76\u8c28\u614e\u5e73\u8861\u201c\u955c\u50cf\u5065\u5eb7\u201d\u4e0e\u201c\u4fc3\u8fdb\u5065\u5eb7\u201d\u4e4b\u95f4\u7684\u8fb9\u754c\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\">Habitvs<\/span>\n                <\/div>\n<div class=\"comment-content\">Habitvs turns Apple Health data into a virtual companion named Kova. Sleep, recovery, activity, and mindfulness shape how Kova feels and reacts each day.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt!<\/p>\n<p>I&#8217;m Igor, and today I&#8217;m launching Habitvs &#8211; a tiny virtual pet for iPhone and Apple Watch whose mood is shaped entirely by your real Apple Health data.<\/p>\n<p>Why I built it<br \/>Most health apps shout numbers at you. Rings. Charts. Streaks that punish you for one bad day. I wanted the opposite &#8211; something that just cares. So I built Kova, a pixel companion who quietly reacts to how you&#8217;re actually living. Move and sleep well, and Kova thrives. Burn out, and Kova gets a little worried.<\/p>\n<p>How it works<br \/>Kova has 5 moods &#8211; Lively, Rested, Balanced, Attentive, Concerned &#8211; driven by your activity rings, sleep, HRV, resting heart rate, mindfulness, daylight, and even wrist temperature. No goals to hit. No guilt trips. Just a small friend who mirrors your wellbeing.<\/p>\n<p>What&#8217;s inside<br \/>\u2022 Native iOS + watchOS apps (SwiftUI + HealthKit)<br \/>\u2022 Home Screen, Lock Screen, and Apple Watch complications &#8211; including a pixel-art &#8220;Retro&#8221; style<br \/>\u2022 A weekly letter Kova writes to you, generated on-device with Apple&#8217;s Foundation Models &#8211; nothing leaves your phone<br \/>\u2022 Streak system with a weekly &#8220;shield&#8221; so one missed day doesn&#8217;t break your momentum<br \/>\u2022 Milestones at 3, 7, 14, and 30 days &#8211; including a crown for Kova<br \/>\u2022 Customization: 7 colors, hats, glasses, bowties<\/p>\n<p>Privacy<br \/>Your health data never leaves the device. No accounts. No tracking. Ever.<\/p>\n<p>I&#8217;d love your honest feedback &#8211; what feels delightful, what feels missing, and what would make Kova feel more alive. This is just day one.<\/p>\n<p>Thanks for stopping by, and go check on Kova.<\/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\/@igorbmaciel94\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@igorbmaciel94<\/a>&nbsp;how did you decide which metrics like HRV and wrist temp make the biggest impact on mood without overwhelming the simple vibe?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 Igor! <\/p>\n<p>First off, I love the philosophy behind Habitvs. As someone with ADHD who appreciates a low-stakes way to stay mindful and active with some extra gratification from it, the idea of a virtual companion that mirrors your wellbeing rather than shouting numbers and guilt trips at you is so refreshing. The pixel-art complications are a nice touch.<\/p>\n<p>I spent a little time with my Kova today (I named mine Goofy!), and I want to share some creative input that I hope will provide you with some decent feedback.<\/p>\n<p><strong>Onboarding Experience<\/strong><\/p>\n<p>Feature Tour &#8211; I think the app could benefit from a more in-depth guided tour upon first opening. A step-by-step walkthrough with info blurbs highlighting specific features would help new users feel oriented right away<\/p>\n<p>Clarity on Stats &#8211; For example, I found myself wondering what exactly the energy bar represents at first <\/p>\n<p><strong>Deepening the Connection with Kova<\/strong><\/p>\n<p>Visual Evolution &#8211; I&#8217;m interested to see how Kova could change visually based on health data. Things like lack of sleep\/not meeting a sleep goal reflect with little eye bags or other features of fatigue. <\/p>\n<p>Moodlets &amp; Check-ins &#8211; Having small &#8220;moodlets&#8221; appear while the app is open or doing occasional mood check-ins with Kova would make the relationship feel more interactive and two-way if that is your goal<\/p>\n<p><strong>Gamification &amp; Customization <\/strong><\/p>\n<p>Activity-Based Rewards &#8211; I love the current customization, unlocking even more colors, hats, or accessories by hitting personal or app-based activity milestones would be a great motivator and gratifier. I think it would also increase the longevity of a user who may want to &#8220;collect&#8221; such items, especially if any were limited edition or only obtainable by specific goals and\/or activities<\/p>\n<p>Mini-Games &#8211; Adding small, health-related mini-games, like a 1-minute breathing exercise, brain<strong>&#8211;<\/strong>boosting games,  or a quick movement challenge, could give users more ways to interact with Kova during the day <\/p>\n<p><strong>Streaks<\/strong><\/p>\n<p>If you&#8217;re interested in leaning even further into the &#8220;no guilt&#8221; mindfulness vibe, consider a system that doesn&#8217;t just protect streaks but prioritizes rewarding momentum. Continuing to reward positive progress, even if a day is missed, keep the focus on the journey rather than just a number without eliminating it completely. You already lean into this with the weekly shield, a feature I really like! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@madison_r\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madison_r<\/a>&nbsp;Hi! Thank you so much for this &#8211; the depth of this feedback genuinely made my day, and &#8220;Goofy&#8221; is a 10\/10 name. \ud83d\ude4c<\/p>\n<p><\/p>\n<p>Let me go through your points, because a lot of them land really well:<\/p>\n<p><\/p>\n<p><strong>Onboarding &amp; clarity<\/strong><\/p>\n<p>You&#8217;re right &#8211; the energy bar isn&#8217;t self-explanatory and that&#8217;s on me. It&#8217;s actually <em>derived<\/em> from Kova&#8217;s mood (Lively 95% \u2192 Rested 78% \u2192 Balanced 60% \u2192 Attentive 35% \u2192 Concerned 12%), so it&#8217;s a reflection of how your day&#8217;s signals are tracking, not a separate metric. I&#8217;m going to add a short &#8220;what does this mean?&#8221; inline tooltip and rethink the onboarding to include a light guided tour. Step-by-step blurbs over the first session sounds like the right shape.<\/p>\n<p><\/p>\n<p><strong>Visual evolution of Kova<\/strong><\/p>\n<p>This is the direction I most want to push next. Right now Kova&#8217;s <em>mood<\/em> changes (expression, body color, movement) but the body itself doesn&#8217;t carry over fatigue\/recovery cues. Little eye bags after poor sleep, a slightly drained posture after a strain day &#8211; yes, exactly that. The signals are already being captured under the hood (sleep, HRV, RHR, wrist temperature, mindfulness, daylight), so this is mostly an art\/animation problem, not a data one.<\/p>\n<p><\/p>\n<p><strong>Moodlets &amp; check-ins<\/strong><\/p>\n<p>Love this. Kova already writes a weekly letter reflecting on the week, but small in-session moodlets &#8211; a quick &#8220;how are you feeling?&#8221; tap, or Kova reacting in the moment &#8211; would close the loop and make it feel two-way. Adding to the list.<\/p>\n<p><\/p>\n<p><strong>Activity-based rewards &amp; collectibility<\/strong><\/p>\n<p>Currently there are milestone rewards at 3\/7\/14\/30 days (bronze ring \u2192 silver \u2192 gold \u2192 crown), and the 30-day crown takes visual priority over any hat you&#8217;ve equipped. But you&#8217;re right that unlocking more colors\/hats\/accessories through <em>specific<\/em> goals &#8211; and especially time-limited or condition-specific items &#8211; would make customization feel earned instead of just available. This is a great direction.<\/p>\n<p><\/p>\n<p><strong>Mini-games<\/strong><\/p>\n<p>Honestly hadn&#8217;t planned for these, but a 1-minute breathing exercise with Kova feels very on-brand for the &#8220;no guilt&#8221; philosophy. Noted.<\/p>\n<p><\/p>\n<p><strong>Streaks &amp; momentum<\/strong><\/p>\n<p>Really glad you noticed the weekly shield &#8211; that was a deliberate choice. There&#8217;s also a quieter &#8220;Balanced Week&#8221; track running in parallel that rewards consistency at the <em>week<\/em> level rather than the day level, so a single missed day doesn&#8217;t erase the bigger pattern. I think you&#8217;re nudging me to surface that more prominently and lean further into momentum-over-streak-number framing. Agreed.<\/p>\n<p><\/p>\n<p>Thank you again &#8211; this is the kind of feedback that actually shapes a product. Going to sit with all of it. \ud83d\udc99<\/p>\n<p><\/p>\n<p>&#8211; Igor<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 on-device Foundation Models for the weekly letter is a smart call &#8211; that&#8217;s exactly the kind of feature that would feel creepy if it phoned home and delightful because it doesn&#8217;t. how did you decide which health signals to weight most heavily for Kova&#8217;s mood?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/K5JADMCX7VIB5I\" class=\"app-title\">knooth<\/a><\/p>\n<div class=\"one-liner\">Screen recording with AI-powered editing for Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">92<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>knooth\u662f\u4e00\u6b3e\u4e3aMac\u7528\u6237\u8bbe\u8ba1\u7684\u672c\u5730\u5316AI\u5c4f\u5e55\u5f55\u5236\u4e0e\u526a\u8f91\u5de5\u5177\uff0c\u65e8\u5728\u89e3\u51b3\u5f55\u5c4f\u3001\u7f16\u8f91\u3001\u97f3\u9891\u5904\u7406\u6d41\u7a0b\u5206\u6563\u3001\u6548\u7387\u4f4e\u4e0b\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/4a65b0b5-633b-4904-86a5-e6952fd86d21.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=lnokhdVJ2EE\"><source src=\"https:\/\/www.youtube.com\/watch?v=lnokhdVJ2EE\" 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\/79328356-1fda-49dc-8d35-ba7036af65a5.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\/41287295-a3dd-410d-b588-7fb72af76d09.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fadd0876-169a-4bd8-a0e4-6183748b3e74.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cfdc0b65-8c03-4963-9244-34da39bb1d6d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f32a091-4961-494a-bcdd-55898e75cb50.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/94f8be63-fc4e-4397-af95-57099bd58c78.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ce8992d6-653d-41c9-b240-6f71ca513d81.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cfb39bf4-20e9-456a-aaec-41ca688771f4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b68b7ccb-ee3d-4739-92fb-48b14b29dc7b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1872ae1e-8c16-4599-836a-c94de0b3f010.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Photo &#038; Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5c4f\u5e55\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">AI\u526a\u8f91<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5b57\u5e55<\/span><br \/>\n            <span class=\"tag\">\u97f3\u9891\u964d\u566a<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\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>\u5f00\u53d1\u8005\u81ea\u8ff0\u56e0\u5de5\u4f5c\u6d41\u788e\u7247\u5316\u800c\u5f00\u53d1\u6b64\u5e94\u7528\uff0c\u5e0c\u671b\u7b80\u5316\u6d41\u7a0b\uff1b\u7528\u6237\u8868\u793a\u5bf9\u81ea\u52a8\u526a\u8f91\u529f\u80fd\u671f\u5f85\uff0c\u613f\u610f\u8bd5\u7528\u5e76\u5206\u4eab\u53cd\u9988\u3002\u8bc4\u8bba\u6682\u65e0\u5177\u4f53\u95ee\u9898\u548c\u5efa\u8bae\uff0c\u6574\u4f53\u5448\u79ef\u6781\u8ba4\u53ef\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                knooth\u7684\u5e02\u573a\u5207\u5165\u70b9\u5f88\u806a\u660e\u2014\u2014\u5b83\u7784\u51c6\u4e86Mac\u7528\u6237\u201c\u5f55\u5c4f-\u526a\u8f91-\u97f3\u9891\u5904\u7406\u201d\u8fd9\u4e00\u788e\u7247\u5316\u75db\u70b9\uff0c\u5e76\u7528\u201c\u672c\u5730AI+\u9690\u79c1\u4f18\u5148\u201d\u4f5c\u4e3a\u5dee\u5f02\u5316\u5356\u70b9\u3002\u5f53\u524d92\u7968\u7684\u6210\u7ee9\u8bf4\u660e\u5b83\u786e\u5b9e\u5f15\u8d77\u4e86\u65e9\u671f\u7528\u6237\u7684\u5171\u9e23\uff0c\u5c24\u5176\u662f\u72ec\u7acb\u521b\u4f5c\u8005\u548c\u8f7b\u91cf\u5316\u89c6\u9891\u5236\u4f5c\u8005\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u6765\u770b\uff0c\u8fd9\u5e76\u975e\u98a0\u8986\u6027\u521b\u65b0\u3002\u878d\u5408\u5f55\u5c4f\u4e0e\u526a\u8f91\u5728Mac\u751f\u6001\u4e2d\u5df2\u6709\u8bf8\u5982ScreenFlow\u3001Loom\u7b49\u7ade\u54c1\uff0cAI\u5b57\u5e55\u3001\u97f3\u9891\u6e05\u7406\u7b49\u529f\u80fd\u4e5f\u9010\u6e10\u6210\u4e3a\u6807\u914d\u3002knooth\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u201c\u5168\u672c\u5730\u8fd0\u884c\u201d\u548c\u201c\u9690\u79c1\u4f18\u5148\u201d\uff0c\u8fd9\u80fd\u5438\u5f15\u5bf9\u6570\u636e\u5b89\u5168\u654f\u611f\u7684\u4ed8\u8d39\u7528\u6237\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u65e0\u6cd5\u5229\u7528\u4e91\u7aef\u7b97\u529b\u505a\u66f4\u590d\u6742\u7684AI\u5904\u7406\uff0c\u4f8b\u5982\u89c6\u9891\u98ce\u683c\u8fc1\u79fb\u3001\u667a\u80fd\u811a\u672c\u914d\u97f3\u7b49\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4ece\u7528\u6237\u8bc4\u8bba\u53ea\u8868\u73b0\u4e3a\u201c\u5f00\u53d1\u8005\u81ea\u8ff0+\u5355\u4e00\u53e5\u70b9\u8d5e\u201d\u6765\u770b\uff0c\u4ea7\u54c1\u53ef\u80fd\u5c1a\u5904\u4e8e\u6781\u65e9\u671f\uff0c\u7528\u6237\u6c60\u8f83\u5c0f\uff0c\u7f3a\u4e4f\u771f\u5b9e\u7684\u5927\u89c4\u6a21\u529f\u80fd\u53cd\u9988\u548cBug\u5bb9\u5fcd\u5ea6\u8003\u9a8c\u3002\u5f00\u53d1\u8005\u7684\u201c\u957f\u671f\u89c4\u5212\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u82e5\u4e0d\u80fd\u5728\u672a\u67652-3\u4e2a\u6708\u5185\u79ef\u7d2f\u51fa\u6ee1\u8db3\u4e13\u4e1a\u7528\u6237\u526a\u8f91\u903b\u8f91\uff08\u5982\u9010\u5e27\u8c03\u6574\u3001\u591a\u8f68\u5173\u952e\u5e27\u7cbe\u7ec6\u63a7\u5236\uff09\u7684\u786c\u6838\u80fd\u529b\uff0c\u5c31\u5f88\u5bb9\u6613\u6ca6\u4e3a\u201c\u4e00\u4e2a\u6709\u8da3\u7684\u73a9\u5177\u201d\u800c\u975e\u751f\u4ea7\u529b\u5de5\u5177\u3002\u5176\u771f\u6b63\u4ef7\u503c\uff0c\u53d6\u51b3\u4e8e\u672c\u5730AI\u80fd\u529b\u4e0e\u526a\u8f91\u6df1\u5ea6\u4e4b\u95f4\u7684\u5e73\u8861\u70b9\u80fd\u6253\u5f97\u591a\u51c6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">knooth<\/span>\n                <\/div>\n<div class=\"comment-content\">knooth is a screen recording and video editing app for macOS with AI-powered editing built in. Record your screen, camera, microphone, or even iPhone\/iPad screens directly from your Mac. Edit with a built-in timeline supporting video, audio, text, image, and shape layers. Add animations, transitions, AI captions, cursor auto zoom, filler word removal, audio cleanup, and fast exports. Everything runs locally on your Mac. No cloud uploads. Privacy first.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I built knooth because my screen recording workflow always felt fragmented.<\/p>\n<p>I would record in one app, edit in another, clean and mix audio somewhere else.<\/p>\n<p>knooth started as an attempt to simplify that workflow into one native Mac app.<\/p>\n<p>A huge thank you to everyone who tested early beta builds, shared feedback, reported bugs, and helped shape the app over the last few months \u2764\ufe0f<\/p>\n<p>This is just the beginning \u2014 I already have a long roadmap of features and improvements planned based on feedback from beta users.<\/p>\n<p>Would genuinely love your support, feedback, and ideas \ud83d\ude4c<\/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>Looks pretty cool im gonna try it.  Im creating a video for my new app i made and i really dont wanna do it manually, this looks very promising!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@andrewb23 Do share your feedback. Would be happy to add your feature request in the current roadmap<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SA6PGJ6UHFKM5H\" class=\"app-title\">Keeby for Windows<\/a><\/p>\n<div class=\"one-liner\">Satisfying mechanical keyboard sounds, now on Windows<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">91<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Keeby for Windows \u662f\u4e00\u6b3e\u8ba9\u666e\u901a\u952e\u76d8\u53d1\u51fa\u903c\u771f\u673a\u68b0\u952e\u76d8\u97f3\u6548\u7684\u684c\u9762\u5c0f\u5de5\u5177\uff0c\u901a\u8fc7\u7a7a\u95f4\u97f3\u9891\u548c\u4f4e\u5ef6\u8fdf\u5f15\u64ce\uff0c\u4e3a\u6253\u5b57\u7231\u597d\u8005\u63d0\u4f9b\u6c89\u6d78\u5f0f\u7684\u542c\u89c9\u53cd\u9988\u4e0e\u89c6\u89c9\u52a8\u6548\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\/72bb5447-fbda-49a5-9a31-b9dfd241f482.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=L62XUUemg1o\"><source src=\"https:\/\/www.youtube.com\/watch?v=L62XUUemg1o\" 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\/4a77d899-41b0-43f5-ae85-dc4ee8980652.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\">Windows<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u673a\u68b0\u952e\u76d8\u97f3\u6548<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u7cfb\u7edf\u6258\u76d8<\/span><br \/>\n            <span class=\"tag\">\u7a7a\u95f4\u97f3\u9891<\/span><br \/>\n            <span class=\"tag\">\u97f3\u9891\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u952e\u76d8\u81ea\u5b9a\u4e49<\/span><br \/>\n            <span class=\"tag\">Windows\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u97f3\u9891\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u6253\u5b57\u4f53\u9a8c<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1<\/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\u79f0\u8d5e\u5176\u8bbe\u8ba1\u51fa\u5f69\uff0c\u662f\u201c\u6109\u60a6\u4e14\u4e0d\u5fc5\u8981\u201d\u7684\u5b9e\u7528\u5c0f\u5de5\u5177\u3002\u6709\u4eba\u8be2\u95ee\u4e0e\u540c\u7c7b\u4ea7\u54c1Klack\u7684\u533a\u522b\u3002\u5f00\u53d1\u8005\u56de\u590d\u4e86Mac\u7248\u672c\u7528\u6237\u5bf9\u4e8eWindows\u7248\u7684\u9700\u6c42\uff0c\u5e76\u5f3a\u8c03\u91cd\u5199\u539f\u751f\u97f3\u9891\u5f15\u64ce\u4ee5\u4fdd\u6301\u4f4e\u5ef6\u8fdf\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                Keeby \u7cbe\u51c6\u51fb\u4e2d\u4e86\u4e24\u4e2a\u5c0f\u4f17\u4f46\u5fe0\u8bda\u7684\u7fa4\u4f53\uff1a\u5199\u5b57\u697c\u7684\u201c\u952e\u76d8\u58f0\u63a7\u201d\u548c\u8ffd\u6c42\u684c\u9762\u4eea\u5f0f\u611f\u7684\u6570\u5b57\u6e38\u6c11\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u201c\u5fc5\u8981\u201d\uff0c\u800c\u5728\u201c\u8da3\u5473\u201d\u4e0e\u201c\u6c1b\u56f4\u8425\u9020\u201d\u3002\u4ea7\u54c1\u8def\u5f84\u6e05\u6670\uff1a\u5148\u9a8c\u8bc1Mac\u7aef\u9700\u6c42\uff0c\u518d\u542c\u58f0Windows\u547c\u58f0\uff0c\u7528\u539f\u751f\u5f15\u64ce\u89e3\u51b3\u8de8\u5e73\u53f0\u97f3\u9891\u5ef6\u8fdf\u8fd9\u4e2a\u786c\u4f24\uff0c\u4f53\u73b0\u4e86\u5bf9\u6838\u5fc3\u4f53\u9a8c\u7684\u5c0a\u91cd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u6311\u6218\u540c\u6837\u660e\u663e\u3002\u7b2c\u4e00\uff0c\u529f\u80fd\u8fc7\u4e8e\u5355\u8584\u3002\u5b83\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u97f3\u6548\u76ae\u80a4\u201d+\u201c\u53ef\u89c6\u5316\u76ae\u80a4\u201d\u7684\u7ec4\u5408\uff0c\u53ef\u66ff\u4ee3\u6027\u6781\u5f3a\u2014\u2014Windows\u4e0a\u4e0d\u4e4f\u7c7b\u4f3c\u514d\u8d39\u6216\u5f00\u6e90\u5de5\u5177\uff0c\u4e14\u7528\u6237\u5bf9\u201cKlack\u201d\u7684\u63d0\u95ee\u76f4\u6307\u540c\u8d28\u5316\u7ade\u4e89\u6838\u5fc3\uff1a\u5dee\u5f02\u5316\u5728\u54ea\u91cc\uff1f\u7b2c\u4e8c\uff0c91\u7968\u7684Product Hunt\u70ed\u5ea6\u8868\u660e\u5b83\u5c1a\u672a\u7834\u5708\uff0c\u7f3a\u4e4f\u7206\u6b3e\u4f20\u64ad\u951a\u70b9\u3002\u5f00\u53d1\u8005\u58f0\u79f0\u201cfree to try\u201d\u4f46\u672a\u660e\u8bf4\u6536\u8d39\u6a21\u5f0f\uff0c\u8fd9\u6697\u793a\u4e86\u5546\u4e1a\u5316\u60ac\u5d16\uff1a\u8bd5\u73a9\u540e\uff0c\u7528\u6237\u4ed8\u8d39\u610f\u613f\u662f\u5426\u8db3\u4ee5\u6491\u8d77\u6301\u7eed\u7ef4\u62a4\uff1f\u7b2c\u4e09\uff0c\u4ece\u201cspatial audio\u201d\u5230\u201creactive visualizer\u201d\u7684\u63cf\u8ff0\uff0c\u66b4\u9732\u4e86\u5bf9\u786c\u4ef6\u751f\u6001\u4f9d\u8d56\u2014\u2014\u6ca1\u6709\u597d\u7684\u626c\u58f0\u5668\u6216\u8033\u673a\uff0c\u6548\u679c\u6253\u6298\uff1b\u4e14\u59cb\u7ec8\u65e0\u6cd5\u89e3\u51b3\u673a\u68b0\u952e\u76d8\u672c\u5c0a\u7528\u6237\u7684\u201c\u771f\u4eba\u4e0d\u5c51\u4e00\u987e\u201d\u5371\u673a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u9510\u8bc4\uff1aKeeby \u662f\u7801\u519c\u548c\u5185\u5bb9\u521b\u4f5c\u8005\u7684\u201c\u767d\u566a\u97f3\u201d\u2014\u2014\u6109\u60a6\u611f\u6781\u5f3a\uff0c\u4f46\u5fc3\u667a\u58c1\u5792\u6781\u4f4e\u3002\u5efa\u8bae\u5f00\u53d1\u8005\u8981\u4e48\u6df1\u5316\u4e0e\u4e3b\u6d41\u8f93\u5165\u6cd5\/\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u7684\u8054\u52a8\uff0c\u8981\u4e48\u7528\u793e\u533a\u5171\u521b\u7684\u201c\u58f0\u97f3\u76ae\u80a4\u201d\u690d\u5165\u521b\u610f\u4ed8\u8d39\u5899\uff0c\u5426\u5219\u7ec8\u7a76\u4f1a\u6ca6\u4e3aWindows\u83dc\u5355\u680f\u91cc\u53c8\u4e00\u4e2a\u4e0b\u8f7d\u540e\u5373\u9057\u5fd8\u7684\u7535\u5b50\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\">Keeby for Windows<\/span>\n                <\/div>\n<div class=\"comment-content\">Satisfying mechanical keyboard sounds for your Mac. Spatial audio, reactive visualizer, customizable switch profiles.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey \ud83d\udc4b<\/p>\n<p>I&#8217;m Adrian, indie dev from the Philippines. I made Keeby for Mac a while back, it&#8217;s a small app that makes your keyboard sound mechanical with spatial audio. A lot of folks asked for a Windows version, so I built one.<\/p>\n<p>Rewrote the audio engine natively so it stays low latency, runs from the system tray, free to try.<\/p>\n<p>If you give it a go, I&#8217;d love to know which switch profile you stick with.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eydiwowers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eydiwowers<\/a>&nbsp;This is one of those delightfully unnecessary products that people instantly <em>want<\/em> once they try it \ud83d\ude04 The native low-latency rewrite was probably the right call keyboard sound lag would kill the illusion immediately \u26a1<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>one of the best mac app i have in recent time (plus its designs are lit \ud83d\udd25)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, I love Klack &#8211; what&#8217;s the difference? Why should I consider to switch to Keeby? \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<\/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\/FBQEWECCZG4SKZ\" class=\"app-title\">DeepFrame<\/a><\/p>\n<div class=\"one-liner\">Serious security before public exposure<\/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>DeepFrame\u662f\u4e00\u4e2a\u65e0\u9700\u63d0\u4f9b\u6e90\u4ee3\u7801\u3001\u4ec5\u9700\u63d0\u4ea4\u5e94\u7528\u94fe\u63a5\u5373\u53ef\u8fdb\u884c\u6df1\u5ea6\u5b89\u5168\u6e17\u900f\u6d4b\u8bd5\u7684\u5e73\u53f0\uff0c\u65e8\u5728\u5e2e\u52a9\u5feb\u901f\u5f00\u53d1\u7684Web\u5e94\u7528\u5728\u516c\u5f00\u5c55\u793a\u524d\u53d1\u73b0\u5e76\u4fee\u590d\u9690\u85cf\u7684\u5b89\u5168\u6f0f\u6d1e\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\/df5a4922-fc16-41bf-bf63-1e4c93ed75d5.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\/b1d12e41-3d09-4e5c-aef7-cba5937c3d68.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6c519ca7-6f02-454b-a5cc-6656e81d9947.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8436772a-ecf8-4bad-a2cb-3642412d80ed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f0f19a39-8cef-47ab-a429-48b36b804351.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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Privacy<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5b89\u5168\u6e17\u900f\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">Web\u5e94\u7528\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u6f0f\u6d1e\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u521b\u4e1a\u516c\u53f8<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6cc4\u9732\u9632\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5168\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u6df1\u5ea6\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u5b89\u5168<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u76db\u8d5e\u65e0\u9700\u4ee3\u7801\u5e93\u5373\u53ef\u6d4b\u8bd5\uff0c\u964d\u4f4e\u4e86\u5b89\u5168\u95e8\u69db\u3002\u521b\u59cb\u4eba\u56de\u5e94\u5f3a\u8c03\uff0c\u6f0f\u6d1e\u5e38\u9690\u85cf\u5728\u4ee3\u7801\u4e4b\u5916\u3002\u6709\u7528\u6237\u63d0\u95ee\u53d1\u73b0\u8fc7\u54ea\u4e9b\u5173\u952e\u6f0f\u6d1e\uff0c\u4f46\u672a\u83b7\u5177\u4f53\u6848\u4f8b\u56de\u7b54\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                DeepFrame\u786e\u5b9e\u5207\u4e2d\u4e86\u5f53\u4e0bAI\u5e94\u7528\u521b\u4e1a\u6d6a\u6f6e\u4e2d\u7684\u4e00\u4e2a\u7ed3\u6784\u6027\u75db\u70b9\u2014\u2014\u901f\u5ea6\u4e0e\u5b89\u5168\u4e25\u91cd\u8131\u8282\u3002\u4e00\u65b9\u9762\uff0cAI\u7f16\u7801\u5de5\u5177\u8ba9\u5e94\u7528\u6784\u5efa\u53d8\u5f97\u524d\u6240\u672a\u6709\u7684\u5feb\uff0c\u4f46\u5b89\u5168\u610f\u8bc6\u7684\u6ede\u540e\u548c\u5bf9\u4ee3\u7801\u5ba1\u8ba1\u7684\u754f\u96be\u60c5\u7eea\uff0c\u4f7f\u5f97\u5927\u91cf\u521d\u521b\u4ea7\u54c1\u5982\u540c\u201c\u88f8\u5954\u201d\u4e0a\u7ebf\u3002DeepFrame\u201c\u65e0\u9700\u4ee3\u7801\u5e93\uff0c\u4ec5\u9700\u94fe\u63a5\u201d\u7684\u5207\u5165\u70b9\u6781\u5176\u7cbe\u51c6\uff0c\u5b83\u4e0d\u4ec5\u964d\u4f4e\u4e86\u6df1\u5ea6\u6e17\u900f\u6d4b\u8bd5\u7684\u8ba4\u77e5\u548c\u6267\u884c\u95e8\u69db\uff0c\u66f4\u5173\u952e\u7684\u662f\u89e6\u53ca\u4e86\u4e00\u4e2a\u8ba4\u77e5\u8bef\u533a\uff1a\u4ee3\u7801\u5ba1\u8ba1\u5e76\u975e\u5b89\u5168\u7684\u5168\u8c8c\uff0c\u8fd0\u884c\u65f6\u73af\u5883\u7684\u914d\u7f6e\u9519\u8bef\u3001API\u7aef\u70b9\u66b4\u9732\u3001\u7b2c\u4e09\u65b9\u96c6\u6210\u6f0f\u6d1e\u7b49\u201c\u770b\u4e0d\u89c1\u7684\u5751\u201d\u5f80\u5f80\u66f4\u81f4\u547d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u6cfc\u4e00\u76c6\u51b7\u6c34\u7684\u662f\uff0c\u201c\u6df1\u5ea6\u6e17\u900f\u6d4b\u8bd5\u201d\u4e0e\u201c\u81ea\u52a8\u5316\u626b\u63cf\u201d\u5b58\u5728\u672c\u8d28\u533a\u522b\u3002\u771f\u6b63\u7684\u201c\u6df1\u5ea6\u201d\u9700\u8981\u7ed3\u5408\u4e1a\u52a1\u903b\u8f91\u7684\u4eba\u5de5\u63a8\u7406\u548c\u590d\u6742\u653b\u51fb\u94fe\u6a21\u62df\uff0c\u800c\u4ec5\u51ed\u94fe\u63a5\u6388\u6743\uff0c\u5728\u7f3a\u4e4f\u4e1a\u52a1\u4e0a\u4e0b\u6587\u548c\u6838\u5fc3\u4ee3\u7801\u903b\u8f91\u7684\u60c5\u51b5\u4e0b\uff0c\u6240\u8c13\u7684\u201c\u6df1\u5ea6\u201d\u5f88\u5bb9\u6613\u9000\u5316\u4e3a\u9ed1\u76d2\u626b\u63cf\u7684\u9ad8\u7ea7\u7248\u672c\u3002\u521b\u59cb\u4eba\u5728\u56de\u5e16\u4e2d\u5f3a\u8c03\u201c\u6570\u636e\u6cc4\u9732\u3001\u79d8\u5bc6\u6cc4\u9732\u901a\u5e38\u4e0d\u5728\u4ee3\u7801\u91cc\u201d\uff0c\u8fd9\u8bda\u7136\u662f\u4e8b\u5b9e\uff0c\u4f46\u6b63\u56e0\u5982\u6b64\uff0c\u7eaf\u9ed1\u76d2\u7684\u68c0\u6d4b\u80fd\u529b\u5929\u7136\u53d7\u9650\u3002\u6b64\u5916\uff0c89\u7968\u7684\u4ea7\u54c1\u70ed\u5ea6\u4e5f\u8bf4\u660e\uff0c\u5e02\u573a\u66f4\u591a\u662f\u201c\u5c1d\u9c9c\u201d\u800c\u975e\u201c\u4fe1\u8d56\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                DeepFrame\u7684\u4ef7\u503c\u5728\u4e8e\u6210\u4e3a\u201c\u5b89\u5168\u626b\u76f2\u7684\u7b2c\u4e00\u7ad9\u201d\uff0c\u800c\u975e\u201c\u7eb5\u6df1\u9632\u5fa1\u7684\u6700\u540e\u4e00\u9053\u9632\u7ebf\u201d\u3002\u5982\u679c\u5b83\u80fd\u901a\u8fc7\u4f4e\u95e8\u69db\u6d4b\u8bd5\u6fc0\u53d1\u521b\u59cb\u4eba\u5bf9\u5b89\u5168\u7684\u91cd\u89c6\uff0c\u5e76\u987a\u52bf\u5f15\u5bfc\u4ed6\u4eec\u8fdb\u5165\u66f4\u4e13\u4e1a\u7684\u5ba1\u8ba1\u6d41\u7a0b\uff0c\u90a3\u5b83\u5c31\u662f\u4e00\u4e2a\u6781\u597d\u7684\u6f0f\u6597\u578b\u4ea7\u54c1\u3002\u4f46\u82e5\u5c06\u201c\u65e0\u4ee3\u7801\u201d\u4f5c\u4e3a\u957f\u671f\u62a4\u57ce\u6cb3\uff0c\u5219\u53ef\u80fd\u9677\u5165\u201c\u6d45\u5ea6\u626b\u63cf\u201d\u7684\u9677\u9631\uff0c\u6700\u7ec8\u6ca6\u4e3a\u5b89\u5168\u9886\u57df\u7684\u201c\u5b89\u6170\u5242\u201d\u3002\u5bf9\u4e8e\u771f\u6b63\u7684\u5173\u952e\u5e94\u7528\uff0c\u4e00\u4e2a\u4e0d\u80fd\u5ba1\u4ee3\u7801\u7684\u201c\u5b89\u5168\u5de5\u4f5c\u5ba4\u201d\uff0c\u6050\u6015\u8fd8\u4e0d\u591f\u201c\u4e25\u91cd\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\">DeepFrame<\/span>\n                <\/div>\n<div class=\"comment-content\">DeepFrame \u2014 a luxury security studio running authorized deep pentests for fast-moving web apps. Depth, clarity, retest.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Recently I saw friends and people with incredible stories losing a project they did with great effort because of data leaks and an unsafe app! This is happening more and more! and looking at the audience of founders who use AI to create apps, I feel that we already have a lot of demands to deal with, from creating the app, marketing, customer acquisition, etc., one of the pillars is a safe and scalable project! So it was based on this pain that we created DeepFrame, an agent system focused on security, from end to end to reveal the biggest points of security flaws in any application! and one of the biggest differences is that there is no code base required, just submit your product link and authorize the service.<\/p>\n<p>Visit <a href=\"https:\/\/deepframe.xyz\/startups\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/deepframe.xyz\/startups<\/a> to join the startup program and receive security support.<\/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\/@jonhvmp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonhvmp<\/a>&nbsp;What&#8217;s the #1 vulnerability you&#8217;ve caught early that saved a project from disaster?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The fact that no code base is required is a huge plus\u2014just submitting a link and authorizing the service makes deep pentesting feel way less intimidating for fast-moving startups.<\/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\/@bilal_niaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bilal_niaz<\/a>&nbsp;That was the main reason for continuing with DeepFrame. Imagine having to share a repository of your code. As a Software Engineer, I know that looking at the code makes it very easy to find these flaws, and people already use Claude Code; they can fix what they see! But security breaches you least expect, data exposure, leaked secrets, are usually not in your code. They might be, and we solve that problem. Imagine the damage if someone with malicious intent collected data from your user base? The process is so extensive that the company could fail. Yes, our services require links and authorization.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DSKBMPE4FTZ2HO\" class=\"app-title\">Whirr<\/a><\/p>\n<div class=\"one-liner\">Ambient agent activity in your notch<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">84<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Whirr \u662f\u4e00\u6b3e\u5728Mac\u5218\u6d77\u533a\u57df\u5b9e\u65f6\u663e\u793aAI\u4ee3\u7406\u8fd0\u884c\u72b6\u6001\u7684\u5c0f\u5de5\u5177\uff0c\u89e3\u51b3\u4e86\u7528\u6237\u9891\u7e41\u5207\u6362\u7a97\u53e3\u4ee5\u786e\u8ba4\u4ee3\u7406\u4efb\u52a1\u8fdb\u5ea6\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\/eecf797b-8067-4afd-b75e-d017ad98bc21.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5d6389f5-5db2-4f78-b7fe-31d2a1c26b91.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/59de288a-b638-49dc-aeff-3c3898117d05.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5a914e8e-536c-4afd-88ed-7d03f01a2bec.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\/fb1aba3c-6485-4a95-bb42-afee0ca5473b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/IWtBd7h0LeM\"><source src=\"https:\/\/youtu.be\/IWtBd7h0LeM\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u72b6\u6001\u6307\u793a\u5668<\/span><br \/>\n            <span class=\"tag\">Mac\u5218\u6d77<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7cfb\u7edf\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u7a97\u53e3\u7ba1\u7406<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u6838\u5fc3\u75db\u70b9\u662f\u201c\u9519\u8fc7\u4ee3\u7406\u54cd\u5e94\u201d\u548c\u201c\u9700\u8981\u786e\u8ba4\u4efb\u52a1\u662f\u5426\u6267\u884c\u201d\u3002\u521b\u4f5c\u8005\u4e3a\u89e3\u51b3\u8be5\u95ee\u9898\uff0c\u5229\u7528\u5218\u6d77\u533a3px\u7f51\u683c\u52a8\u753b\u5c55\u793a\u4ee3\u7406\u5b9e\u65f6\u72b6\u6001\uff0c\u4ea4\u4e92\u7b80\u6d01\u76f4\u89c2\u3002\u6b63\u9762\u8bc4\u4ef7\u96c6\u4e2d\u4e8e\u5916\u89c2\u201cslick\u201d\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Whirr\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u4e2a\u88ab\u5ffd\u89c6\u4f46\u9ad8\u9891\u7684\u573a\u666f\u2014\u2014\u5f53AI\u4ee3\u7406\u5f00\u59cb\u6267\u884c\u590d\u6742\u4efb\u52a1\uff08\u5982\u4ee3\u7801\u751f\u6210\u3001\u6570\u636e\u722c\u53d6\uff09\u65f6\uff0c\u7528\u6237\u5e76\u975e\u65e0\u4e8b\u53ef\u505a\uff0c\u800c\u662f\u9677\u5165\u201c\u9891\u7e41\u5207\u6362\u7a97\u53e3\u786e\u8ba4\u8fdb\u5ea6\u201d\u7684\u9690\u6027\u7126\u8651\u4e2d\u3002\u5b83\u5c06\u201c\u8fdb\u5ea6\u611f\u77e5\u201d\u4ece\u4e3b\u52a8\u67e5\u8be2\u53d8\u4e3a\u88ab\u52a8\u6ce8\u5165\uff0c\u672c\u8d28\u4e0a\u662f\u5c06AI\u4ee3\u7406\u7684\u201c\u5fc3\u8df3\u4fe1\u53f7\u201d\u89c6\u89c9\u5316\u6620\u5c04\u5230\u7cfb\u7edf\u7ea7\u7684\u6ce8\u610f\u529b\u76f2\u533a\uff08\u5218\u6d77\uff09\u3002\u8fd9\u4e2a\u60f3\u6cd5\u5f88\u806a\u660e\uff0c\u4f46\u5de7\u5999\u4e0d\u7b49\u4e8e\u6709\u4ef7\u503c\u3002\u76ee\u524d\u7248\u672c\u4ec5\u89e3\u51b3\u201c\u77e5\u6089\u72b6\u6001\u201d\u8fd9\u4e00\u6700\u6d45\u5c42\u9700\u6c42\uff0c\u5bf9\u201c\u5e72\u9884\u72b6\u6001\u201d\u6beb\u65e0\u6d89\u53ca\u3002\u7528\u6237\u771f\u6b63\u9700\u8981\u7684\u662f\uff1a\u80fd\u5728\u72b6\u6001\u5f02\u5e38\u65f6\u4e00\u952e\u6682\u505c\u3001\u91cd\u8dd1\uff0c\u751a\u81f3\u67e5\u770b\u6458\u8981\u65e5\u5fd7\u2014\u2014\u8fd9\u4e9b\u529f\u80fd\u624d\u6784\u6210\u95ed\u73af\u3002\u6b64\u5916\uff0c\u4ec5\u652f\u6301\u901a\u77e5\u680f\u533a\u57df\u9650\u5236\u4e86\u4fe1\u606f\u5bc6\u5ea6\uff0c\u5f53\u591a\u4e2a\u4ee3\u7406\u5e76\u884c\uff0c84\u4e2a\u6295\u7968\u53ea\u80fd\u8bc1\u660e\u201c\u6982\u5ff5\u7f8e\u597d\u201d\uff0c\u8981\u6210\u4e3a\u65e5\u5e38\u5de5\u4f5c\u6d41\u7684\u4e00\u73af\uff0cWhirr\u9700\u56de\u7b54\u4e00\u4e2a\u6838\u5fc3\u95ee\u9898\uff1a\u201c\u7528\u6237\u662f\u5e0c\u671b\u7528\u773c\u775b\u4f59\u5149\u779f\u4e00\u773c\u72b6\u6001\uff0c\u8fd8\u662f\u5e0c\u671b\u5728\u5218\u6d77\u5c31\u80fd\u4e0b\u8fbe\u4e0b\u4e00\u4e2a\u6307\u4ee4\uff1f\u201d\u5982\u679c\u5b9a\u4f4d\u53ea\u662f\u201c\u4f1a\u53d1\u5149\u7684\u706f\u201d\uff0c\u90a3\u4e48\u5b83\u5f88\u5feb\u4f1a\u88ab\u7cfb\u7edf\u81ea\u5e26\u7684\u6d3b\u52a8\u76d1\u89c6\u5668\u6216AI\u5e73\u53f0\u81ea\u8eab\u7684\u63a8\u9001\u6240\u66ff\u4ee3\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Whirr<\/span>\n                <\/div>\n<div class=\"comment-content\">See what your AI agent is doing without switching windows. Whirr shows live status under the notch.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I got tired of missing agent responses and having to make sure the agent was doing the task I asked it to do. This is the problem i wanted to solve. It started out with me finding these nice 3px grid loading animations and really wanted to do something with it, though they would look really good in the notch. Then i managed to add the live status from the agents.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this looks slick!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hot_town\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hot_town<\/a>&nbsp;Thank you Vinny!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DIQWATFSGWJZWB\" class=\"app-title\">Hopper<\/a><\/p>\n<div class=\"one-liner\">First agentic development environment for mainframe\/COBOL<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">84<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Hopper \u4e3a\u4ecd\u4f9d\u6258\u5927\u578b\u4e3b\u673a\/COBOL \u8fd0\u884c\u6838\u5fc3\u4e1a\u52a1\u7684\u94f6\u884c\u3001\u4fdd\u9669\u7b49\u673a\u6784\uff0c\u6253\u9020\u4e86\u9996\u4e2a\u96c6\u6210AI\u4ee3\u7406\u3001TN3270\u7ec8\u7aef\u53ca\u5de5\u4f5c\u6d41\u9762\u677f\u7684\u73b0\u4ee3\u5316\u5f00\u53d1\u73af\u5883\uff0c\u65e8\u5728\u89e3\u51b3\u8001\u65e7\u4e3b\u673a\u5f00\u53d1\u8c03\u8bd5\u6548\u7387\u4f4e\u3001\u7f3a\u4e4f\u667a\u80fd\u5316\u5de5\u5177\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\/3eb90c4e-5d29-4847-bb88-4d2a3b1228f3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3670af2b-d0cc-4fd1-a6dc-c827f4d83ca9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d3f50144-451b-49d0-9001-4e6e51cd5618.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/38b55ebf-0bd3-453d-b718-9138024c3f50.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\/f4060544-df63-455c-a3b2-b3524e9931ff.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=X5FVM6mYi70\"><source src=\"https:\/\/www.youtube.com\/watch?v=X5FVM6mYi70\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5927\u578b\u4e3b\u673a<\/span><br \/>\n            <span class=\"tag\">COBOL<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u5f0f\u5f00\u53d1\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">z\/OS<\/span><br \/>\n            <span class=\"tag\">\u73b0\u4ee3\u5316\u6539\u9020<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7801\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u7aef\u6a21\u62df\u5668<\/span><br \/>\n            <span class=\"tag\">\u9057\u7559\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5bf9COBOL\u9886\u57df\u51fa\u73b0AI\u4ee3\u7406\u611f\u5230\u60ca\u559c\u4e0e\u8ba4\u53ef\uff0c\u8bc4\u8bba\u7b80\u6d01\u6b63\u9762\uff08\u201c\u8fd9\u592a\u68d2\u4e86\u201d\uff09\uff0c\u76ee\u524d\u6709\u6548\u53cd\u9988\u96c6\u4e2d\u5728\u8868\u8fbe\u60ca\u5947\u4e0e\u652f\u6301\uff0c\u5c1a\u672a\u63d0\u51fa\u5177\u4f53\u7684\u4f7f\u7528\u95ee\u9898\u6216\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                Hopper\u7684\u5b9a\u4f4d\u7cbe\u51c6\u4e14\u5de7\u5999\u2014\u2014\u5b83\u6ca1\u6709\u8bd5\u56fe\u53bb\u201c\u6539\u9020\u201d\u6216\u201c\u91cd\u5199\u201dCOBOL\u4ee3\u7801\uff0c\u800c\u662f\u5728\u65e2\u6709\u7684\u5927\u578b\u4e3b\u673a\u8fd0\u884c\u8303\u5f0f\u4e0a\uff0c\u4e3a\u5f00\u53d1\u8005\u5f15\u5165\u4e86\u4e00\u4e2a\u5177\u5907\u4e0a\u4e0b\u6587\u611f\u77e5\u80fd\u529b\u7684AI\u4ee3\u7406\u3002\u8fd9\u907f\u5f00\u4e86\u201c\u7528AI\u53d6\u4ee3COBOL\u7a0b\u5e8f\u5458\u201d\u7684\u4f2a\u547d\u9898\uff0c\u8f6c\u800c\u805a\u7126\u4e8e\u201c\u7528AI\u5e2e\u52a9COBOL\u7a0b\u5e8f\u5458\u66f4\u9ad8\u6548\u5730\u5de5\u4f5c\u201d\u7684\u771f\u5b9e\u9700\u6c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5b9e\u9645\u4ef7\u503c\u770b\uff0cHopper\u76f4\u51fb\u4e86\u5927\u578b\u4e3b\u673a\u8fd0\u7ef4\u5f00\u53d1\u7684\u4e09\u4e2a\u75db\u70b9\uff1a\u4e00\u662f\u77e5\u8bc6\u58c1\u5792\uff0c\u7cbe\u901aJCL\u3001TSO\u548cCOBOL\u7684\u7a0b\u5e8f\u5458\u65e5\u76ca\u7a00\u7f3a\uff0cAI\u4ee3\u7406\u80fd\u591f\u90e8\u5206\u89e3\u91ca\u4f5c\u4e1a\u5931\u8d25\u539f\u56e0\u3001\u534f\u52a9\u7f16\u5199JCL\uff0c\u8fd9\u76f8\u5f53\u4e8e\u964d\u4f4e\u4e86\u5165\u95e8\u95e8\u69db\u5e76\u63d0\u5347\u4e86\u4e13\u5bb6\u6548\u7387\u3002\u4e8c\u662f\u8c03\u8bd5\u6548\u7387\u4f4e\u4e0b\uff0c\u8fc7\u53bb\u624b\u52a8\u67e5\u770bSPOOL\u8f93\u51fa\u3001\u5728\u4e0d\u540c\u6570\u636e\u96c6\u548c\u4f5c\u4e1a\u95f4\u5207\u6362\u6781\u4e3a\u8017\u65f6\uff0cHopper\u901a\u8fc7\u9762\u677f\u5316\u548cAI\u5bfc\u822a\uff0c\u80fd\u5c06\u6570\u5c0f\u65f6\u7684\u4efb\u52a1\u538b\u7f29\u5230\u6570\u5206\u949f\u3002\u4e09\u662f\u8bd5\u9519\u6210\u672c\u9ad8\uff0cAI\u8fdb\u884c\u6a21\u62df\u64cd\u4f5c\uff08\u5982\u63d0\u4ea4\u4f5c\u4e1a\u524d\u68c0\u67e5JCL\uff09\u80fd\u51cf\u5c11\u751f\u4ea7\u73af\u5883\u7684\u8bef\u64cd\u4f5c\u98ce\u9669\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u51b7\u9759\u770b\u5f85\u5176\u5c40\u9650\u6027\u3002\u9996\u5148\uff0c\u5927\u578b\u4e3b\u673a\u73af\u5883\u7684\u654f\u611f\u6027\u548c\u6743\u9650\u4e25\u683c\u63a7\u5236\uff0cAI\u201c\u5b89\u5168\u5730\u64cd\u4f5c\u201d\u4f9d\u8d56\u4e8e\u5e95\u5c42\u7684\u7cbe\u7ec6\u6743\u9650\u914d\u7f6e\u548c\u6c99\u7bb1\u673a\u5236\uff0c\u7a0d\u6709\u758f\u6f0f\u4fbf\u53ef\u80fd\u5f15\u53d1\u751f\u4ea7\u4e8b\u6545\u3002\u5176\u6b21\uff0cCOBOL\u7cfb\u7edf\u5f80\u5f80\u4f34\u968f\u7740\u6570\u5341\u5e74\u7684\u4e1a\u52a1\u903b\u8f91\u548c\u5386\u53f2\u503a\u52a1\uff0cAI\u5728\u89e3\u91ca\u590d\u6742\u3001\u9690\u6666\u7684\u9519\u8bef\u65f6\uff0c\u6df1\u5ea6\u4f9d\u8d56\u4e8e\u5bf9\u7279\u5b9a\u4e1a\u52a1\u9886\u57df\u7684\u7406\u89e3\uff0c\u800c\u975e\u5355\u7eaf\u7684\u8bed\u6cd5\u5206\u6790\uff0c\u8fd9\u53ef\u80fd\u662f\u5176\u51c6\u786e\u6027\u7684\u5929\u82b1\u677f\u3002\u6700\u540e\uff0c\u5f53\u524d\u4ec584\u4e2a\u6295\u7968\u548c\u96f6\u661f\u8bc4\u8bba\uff0c\u8bf4\u660e\u5176\u4ecd\u5904\u4e8e\u6781\u65e9\u671f\u9636\u6bb5\uff0c\u4ea7\u54c1\u6210\u719f\u5ea6\u548c\u793e\u533a\u8ba4\u53ef\u5ea6\u5c1a\u5f85\u9a8c\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Hopper\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u53bb\u78b0\u201cAI\u66ff\u4ee3\u4f60\u201d\u8fd9\u4e2a\u654f\u611f\u8bdd\u9898\uff0c\u800c\u662f\u4ee5\u201cAI\u8f85\u52a9\u4f60\u201d\u7684\u59ff\u6001\u5207\u5165\u4e86\u5e74\u4e45\u5931\u4fee\u5374\u6781\u5176\u7a33\u56fa\u7684\u5229\u57fa\u5e02\u573a\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u662f\u5f7b\u5e95\u53d8\u9769\u4e86COBOL\u5f00\u53d1\uff0c\u800c\u662f\u8bc1\u660e\u4e86\uff1a\u54ea\u6015\u662f\u6700\u201c\u53e4\u8001\u201d\u7684\u751f\u6001\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u7cbe\u7ec6\u5316\u7684AI\u5de5\u5177\u83b7\u5f97\u53ef\u89c1\u7684\u6548\u7387\u589e\u91cf\u3002\u4f46\u5bf9\u4e8e\u5ba2\u6237\u800c\u8a00\uff0c\u51b3\u7b56\u7684\u5173\u952e\u4e0d\u662f\u5b83\u6709\u591a\u70ab\uff0c\u800c\u662f\u5b83\u7684\u201c\u5931\u8bef\u7387\u201d\u662f\u5426\u80fd\u4f4e\u5230\u8ba9\u6838\u5fc3\u94f6\u884c\u7684\u8fd0\u7ef4\u603b\u76d1\u6562\u4e8e\u8bf4\u201c\u53ef\u4ee5\u5728\u751f\u4ea7\u73af\u5883\u8bd5\u7528\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Hopper<\/span>\n                <\/div>\n<div class=\"comment-content\">Hopper is the first agentic development environment for the mainframe. It&#8217;s Cursor for mainframes. It combines a real TN3270 terminal, mainframe-aware panels for datasets, jobs, members, and spool output, and an AI agent that can operate across z\/OS workflows. The agent can inspect datasets, read and edit PDS members, write JCL, submit jobs, parse JES output, explain failures, and help developers debug mainframe workflows faster. Hopper is available on Windows, Linux, and macOS.<\/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>Today we\u2019re launching <strong>Hopper<\/strong>, the first agentic development environment for mainframes.<\/p>\n<\/p>\n<p>Mainframes running on COBOL are the 60-year-old computing platforms that still quietly run much of the modern economy: banks, payments, insurance, airlines, government systems, and more.<\/p>\n<\/p>\n<p>But they were built for expert humans using terminal screens, function keys, batch jobs, datasets, and highly specific workflows, not AI agents.<\/p>\n<\/p>\n<p>Modern AI coding tools assume GitHub, shells, files, package managers, and test runners. Mainframes are a completely different computing paradigm.<\/p>\n<\/p>\n<p>Hopper combines a real mainframe terminal, context panels for datasets and jobs, and an AI agent that can safely operate across mainframe workflows.<\/p>\n<\/p>\n<p>Our goal is simple: bring AI agents to the legacy systems that still run the world without pretending they are modern codebases.<\/p>\n<\/p>\n<p><strong>You can request access to a mainframe on our page, and start playing with Hopper to see what an agentic mainframe environment feels like. <\/strong><\/p>\n<\/p>\n<p>Would love to hear any feedback or comments!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Never thought I would see a COBOL AI agent, this is awesome!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/GC45JEMSS53VS7\" class=\"app-title\">Vexilo<\/a><\/p>\n<div class=\"one-liner\">Claude Code planner w\/ 31 agents, 92 commands, + 121 skills<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">82<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Vexilo\u662f\u4e00\u6b3e\u9488\u5bf9Claude Code\u751f\u6001\u7684\u667a\u80fd\u7d22\u5f15\u4e0e\u5de5\u4f5c\u6d41\u7ba1\u7406\u5de5\u5177\uff0c\u5e2e\u7528\u6237\u7cfb\u7edf\u5316\u53d1\u73b0\u5e76\u8c03\u752891\u6761\u547d\u4ee4\u300131\u4e2a\u4e13\u4e1aAgent\u53ca121\u9879\u6280\u80fd\uff0c\u89e3\u51b3\u6b64\u524d\u56e0\u4fe1\u606f\u5206\u6563\u5bfc\u81f4\u7684\u4ee4\u724c\u6d6a\u8d39\u4e0e\u6548\u7387\u4f4e\u4e0b\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ca589674-9d98-4d23-bad3-1822ebcaa5ae.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/49997b36-9513-420e-9ab0-96a8ac767895.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5c31c9d7-f06c-4c36-85dc-1fe97c388e4c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/02f509ac-b42f-49a9-9e73-a3ba3cff8870.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8fd47164-9e15-4882-a9c0-3dfc9a424dae.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\/1b05a156-ea25-47d1-bf0b-e377f7f408db.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/kauG1ANO-nQ\"><source src=\"https:\/\/youtu.be\/kauG1ANO-nQ\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">Agent\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u63d0\u793a\u8bcd\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">CLAUDE.md<\/span><br \/>\n            <span class=\"tag\">\u4ee4\u724c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u53cc\u8bed\u7d22\u5f15<\/span><br \/>\n            <span class=\"tag\">PWA<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u5982\u4f55\u4e3a\u975e\u7f16\u7801\u8005\uff08\u5982\u8425\u9500\u4eba\u5458\uff09\u81ea\u52a8\u6784\u5efaCLAUDE.md\u4ee5\u89e6\u53d1\u5408\u9002Agent\uff0c\u907f\u514d\u624b\u52a8\u8c03\u4f18\u7684\u7e41\u7410\u3002\u8fd9\u66b4\u9732\u4e86\u4ea7\u54c1\u5728\u975e\u6280\u672f\u7528\u6237\u5f15\u5bfc\u4e0a\u7684\u6f5c\u5728\u7f3a\u53e3\uff0c\u4e5f\u8bf4\u660e\u6613\u7528\u6027\u662f\u4e0b\u4e00\u4e2a\u6218\u573a\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                Vexilo\u672c\u8d28\u4e0a\u662f\u5728\u505a\u4e00\u4ef6\u201c\u7ed9AI IDE\u653e\u8bf4\u660e\u4e66\u201d\u7684\u751f\u610f\u3002Claude Code\u751f\u6001\u7206\u53d1\u529b\u6781\u5f3a\uff0c\u4f46\u53d1\u73b0\u6210\u672c\u9ad8\u3001\u5de5\u5177\u6563\u843d\u5728Discord\u548cGitHub\u91cc\uff0cVexilo\u7528\u201c\u7d22\u5f15+Agent\u6a21\u677f+CLAUDE.md\u81ea\u52a8\u751f\u6210\u201d\u4e09\u677f\u65a7\uff0c\u786e\u5b9e\u5207\u4e2d\u4e86\u91cd\u5ea6\u7528\u6237\u7684\u5207\u80a4\u4e4b\u75db\u2014\u2014\u5f88\u591a\u4eba\u70e7\u4e863\u500d\u4ee4\u724c\u624d\u53d1\u73b0\u6709\/context\u6307\u4ee4\uff0c\u8fd9\u4e0d\u662f\u7b28\uff0c\u662f\u751f\u6001\u592a\u4e71\u3002\u4ea7\u54c1\u903b\u8f91\u6e05\u6670\uff0c\u5c24\u5176\u53cc\u8bed\u652f\u6301\u548cPWA\u79bb\u7ebf\u4f53\u9a8c\u3001\u4e00\u6b21\u6027\u4ed8\u8d39\u800c\u975e\u8ba2\u9605\uff0c\u5bf9\u5f00\u53d1\u8005\u7fa4\u4f53\u6709\u5929\u7136\u4eb2\u548c\u529b\u3002\u4f46\u5fc5\u987b\u6307\u51fa\u4e24\u4e2a\u9690\u5fe7\uff1a\u4e00\u662f\u62a4\u57ce\u6cb3\u504f\u6d45\uff0c\u8fd9\u4e9b\u547d\u4ee4\u548c\u6280\u80fd\u672c\u8eab\u662f\u516c\u5f00\u4fe1\u606f\uff0c\u672a\u6765Claude\u5b98\u65b9\u82e5\u81ea\u5df1\u505a\u4e2a\u5185\u7f6e\u76ee\u5f55\u6216LLM\u76f4\u63a5\u544a\u8bc9\u4f60\u8be5\u7528\u5565\uff0cVexilo\u7684\u4e2d\u95f4\u5c42\u4ef7\u503c\u5c31\u4f1a\u88ab\u7a00\u91ca\uff1b\u4e8c\u662f\u8bc4\u8bba\u4e2d\u5df2\u6709\u4eba\u95ee\u201c\u975e\u7f16\u7801\u8005\u600e\u4e48\u7528\u201d\uff0c\u8bf4\u660e\u4ea7\u54c1\u76ee\u524d\u9884\u8bbe\u7684\u4ecd\u662f\u5f00\u53d1\u8005\u8bed\u8a00\uff0c\u82e5\u60f3\u6269\u5c55\u5230\u8bbe\u8ba1\u5e08\u3001\u8425\u9500\u4eba\uff0c\u90a3\u5185\u5bb9\u7ec4\u7ec7\u548c\u89e6\u53d1\u903b\u8f91\u5c31\u8981\u91cd\u65b0\u8bbe\u8ba1\uff0c\u96be\u5ea6\u4e0d\u5c0f\u3002\u603b\u7684\u6765\u770b\uff0cVexilo\u662f\u4e00\u4e2a\u7cbe\u51c6\u7684\u201c\u751f\u6001\u8865\u4e01\u201d\uff0c\u73b0\u9636\u6bb5\u5f88\u6709\u7528\uff0c\u4f46\u5929\u82b1\u677f\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u4ece\u201c\u6c47\u603b\u5de5\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u5de5\u4f5c\u6d41\u5f15\u64ce\u201d\u3002\u5982\u679c\u4f60\u6bcf\u5929\u6ce1\u5728Claude Code\u91cc\uff0c\u8fd9\u5f20\u5730\u56fe\u503c\u4e00\u6b21\u4ed8\u8d39\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\">Vexilo<\/span>\n                <\/div>\n<div class=\"comment-content\">Most Claude Code users discover 10% of the ecosystem \u2014 by accident. You burn tokens because nobody told you \/context exists. Vexilo fixes that. \u2192 92 commands organized by use case \u2192 31 specialist agents (code-reviewer, tdd-guide, planner&#8230;) \u2192 121 skills by domain (frontend, backend, AI, devops) \u2192 ECC Superpowers workflow (160K+ \u2b50 GitHub) \u2192 Auto-generates CLAUDE.md instantly Bilingual EN\/\u4e2d\u6587 \u00b7 PWA \u00b7 One-time, no subscription.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I built Vexilo after a painful realization: I&#8217;d been using Claude Code for 2 months and burning 3x more tokens than necessary \u2014 because nobody told me \/context existed.<\/p>\n<p>Then I found \/aside. Then \/model haiku. Then 31 specialist agents I never knew about. Each discovery felt like &#8220;wait, this existed the whole time?&#8221;<\/p>\n<p>The Claude Code ecosystem is genuinely incredible \u2014 but the discoverability is brutal, especially for non-English speakers. There&#8217;s no central index. You find things by accident, through Discord comments and GitHub READMEs.<\/p>\n<p>So I built one.<\/p>\n<p>Vexilo maps the entire ecosystem \u2014 including Everything Claude Code (160K+ \u2b50), gstack, and UI\/UX Pro Max \u2014 into one bilingual interactive index, organized by what you&#8217;re actually building.<\/p>\n<p>The CLAUDE.md export is the part I&#8217;m most proud of: drop it in your project root, tell Claude to read it, and it automatically knows every tool available and when to use each one.<\/p>\n<p>Free preview at vexilo.app \u2014 happy to answer any questions!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@haostudio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haostudio<\/a>&nbsp;how does Vexilo recommend structuring <a href=\"http:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a> for non-coders (like marketers) to auto-trigger the right agents\/skills without prompt engineering headaches?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\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>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Alex, the maker behind Vexilo.<\/p>\n<p>Two months ago I started using Claude Code seriously and hit a wall immediately \u2014 not with the AI, but with discoverability. I kept finding powerful features by accident, months after I should have known they existed.<\/p>\n<p>\/context alone would have saved me hundreds of dollars in wasted tokens. I found it on week 6.<\/p>\n<p>So I spent 3 weeks mapping the entire ecosystem. What started as a personal doc became Vexilo \u2014 an interactive, bilingual index of everything Claude Code can actually do.<\/p>\n<p><strong>What makes it different:<\/strong><\/p>\n<ul>\n<li>\n<p>Organized by what you&#8217;re building, not alphabetically<\/p>\n<\/li>\n<li>\n<p>Auto-generates a <a href=\"http:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a> you drop into any project<\/p>\n<\/li>\n<li>\n<p>Works offline (PWA)<\/p>\n<\/li>\n<li>\n<p>One-time purchase, no subscription<\/p>\n<\/li>\n<\/ul>\n<p>Use code <strong>PRODUCTHUNT<\/strong> for $5 off today.<\/p>\n<p>Happy to answer any questions about Claude Code or how I built this. What&#8217;s the most useful Claude Code feature you discovered way too late? \ud83d\udc47<\/p>\n<\/p>\n<\/blockquote>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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\/6NXNKPIDPZC7A2\" class=\"app-title\">Seer Platform<\/a><\/p>\n<div class=\"one-liner\">The fastest way to go from idea to physical product<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">81<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Seer Platform\u662f\u4e00\u6b3e\u9762\u5411\u53d1\u660e\u8005\u4e0e\u786c\u4ef6\u521b\u5ba2\u7684AI\u9a71\u52a8\u5e73\u53f0\uff0c\u901a\u8fc7\u6574\u54083D\u8bbe\u8ba1\u3001\u56fa\u4ef6\u7f16\u5199\u3001\u5e02\u573a\u4e0e\u4e13\u5229\u7814\u7a76\u7b49\u5de5\u5177\uff0c\u89e3\u51b3\u4ece\u6982\u5ff5\u5230\u53ef\u5236\u9020\u539f\u578b\u8fc7\u7a0b\u4e2d\u6d41\u7a0b\u788e\u7247\u5316\u3001\u6280\u80fd\u95e8\u69db\u9ad8\u7684\u75db\u70b9\uff0c\u5b9e\u73b0\u201c\u60f3\u6cd5\u2192\u5b9e\u7269\u201d\u7684\u6700\u5feb\u8f6c\u5316\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\/4a3f0aec-86c0-4964-906f-4820cd7d87cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/118a40da-59bc-4e9a-ab2a-86d1602d8305.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7f60100f-6002-49b1-9b72-ff2fff33fba2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e3a3b54d-733e-4678-8541-c4594e2d1df7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6ca8cf16-ad2e-4600-ab31-cc18ad9a75a9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3fb16440-a0aa-467f-be7c-867502cecadf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9b8af481-b13c-4c48-a36a-e0f48a6db15e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e597447e-aca6-48a2-8612-1a74b95f5c94.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/11b68290-8297-4fab-b50a-3ddaf11f8fdd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d351f7f1-29ed-4819-aa20-8ed04eb638a3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eb2064a4-2587-446d-96fd-79988e11f103.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e9cb4be7-e825-47b6-b14c-bc0e0d18cf3c.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\">Hardware<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u786c\u4ef6\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">3D\u8bbe\u8ba1\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u539f\u578b\u5236\u9020<\/span><br \/>\n            <span class=\"tag\">\u521b\u5ba2\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e13\u5229\u7814\u7a76<\/span><br \/>\n            <span class=\"tag\">\u56fa\u4ef6\u7f16\u5199<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u7814\u53d1<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5236\u9020<\/span><br \/>\n            <span class=\"tag\">\u5b75\u5316\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">CAD\u81ea\u52a8\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u79ef\u6781\uff0c\u5f3a\u8c03\u5e73\u53f0\u89e3\u51b3\u4e86\u786c\u4ef6\u5f00\u53d1\u6d41\u7a0b\u7e41\u7410\u3001\u6280\u80fd\u8981\u6c42\u9ad8\u7684\u957f\u671f\u75db\u70b9\u3002\u6709\u6548\u8bc4\u8bba\u6307\u51fa\u5f53\u524d\u591a\u6570AI\u5e73\u53f0\u805a\u7126\u8f6f\u4ef6\uff0c\u800cSeer\u4e13\u6ce8\u786c\u4ef6\u201c\u4ece\u60f3\u6cd5\u5230\u539f\u578b\u5230\u751f\u4ea7\u201d\u5168\u94fe\u6761\uff0c\u5e76\u671f\u5f85\u793e\u533a\u5bf9AI\u539f\u751f\u786c\u4ef6\u521b\u9020\u672a\u6765\u7684\u770b\u6cd5\uff0c\u65e0\u8d1f\u9762\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                Seer Platform\u7684\u201c\u91ce\u5fc3\u201d\u4e0d\u6b62\u4e8e\u505a\u4e00\u4e2aAI\u8f85\u52a9\u8bbe\u8ba1\u5de5\u5177\uff0c\u5b83\u8bd5\u56fe\u6210\u4e3a\u786c\u4ef6\u521b\u65b0\u7684\u201c\u64cd\u4f5c\u7cfb\u7edf\u201d\u3002\u5728\u5f53\u524d\u201cvibe coding\u201d\u5e2d\u5377\u8f6f\u4ef6\u5708\u4e4b\u65f6\uff0cSeer\u63d0\u51fa\u7684\u201cvibe crafting\u201d\u6982\u5ff5\uff0c\u7cbe\u51c6\u5730\u6355\u6349\u5230\u4e86\u786c\u4ef6\u9886\u57df\u957f\u671f\u5b58\u5728\u7684\u201c\u521b\u610f\u65ad\u5c42\u201d\u2014\u2014\u5373\u62e5\u6709\u60f3\u6cd5\u7684\u4eba\u5f80\u5f80\u7f3a\u4e4f\u5c06\u5176\u8f6c\u5316\u4e3a\u53ef\u5236\u9020\u4ea7\u54c1\u7684\u5de5\u7a0b\u4e0e\u5236\u9020\u77e5\u8bc6\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5c06\u5de5\u4e1a\u8bbe\u8ba1\u3001\u56fa\u4ef6\u5f00\u53d1\u3001\u4f9b\u5e94\u94fe\u8c03\u7814\u3001\u4e13\u5229\u68c0\u7d22\u7b49\u9ad8\u5ea6\u4e13\u4e1a\u5316\u7684\u804c\u80fd\uff0c\u901a\u8fc7\u4e00\u4e2aAgent\uff08\u201cInvent\u201d\u6a21\u5f0f\uff09\u4e32\u8054\u6210\u95ed\u73af\uff0c\u5927\u5e45\u964d\u4f4e\u4e86\u786c\u4ef6\u521b\u65b0\u95e8\u69db\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u7280\u5229\u7684\u89c2\u5bdf\u5fc5\u987b\u6307\u51fa\u5176\u6f5c\u5728\u98ce\u9669\uff1a\u786c\u4ef6\u4ea7\u54c1\u7684\u6210\u8d25\u8fdc\u4e0d\u6b62\u4e8e\u8bbe\u8ba1\u51fa3D\u6a21\u578b\u548c\u751f\u6210\u56fa\u4ef6\u3002\u771f\u6b63\u7684\u786c\u4ef6\u75db\u70b9\u5728\u4e8e\u4f9b\u5e94\u94fe\u7ba1\u7406\u3001\u751f\u4ea7\u5de5\u827a\u628a\u63a7\u3001\u6210\u672c\u4f18\u5316\u4ee5\u53ca\u8ba4\u8bc1\u5408\u89c4\uff08\u5982FCC\u3001CE\uff09\u3002Seer\u76ee\u524d\u63d0\u4f9b\u7684BOM\u7ba1\u7406\u548c3D\u6253\u5370\u8ba2\u8d2d\u662f\u7b2c\u4e00\u6b65\uff0c\u4f46\u82e5\u65e0\u6cd5\u6df1\u5ea6\u6574\u5408\u548c\u52a8\u6001\u5b66\u4e60\u5404\u54c1\u7c7b\u7684\u751f\u4ea7know-how\u4e0e\u5931\u6548\u6a21\u5f0f\uff0c\u5176\u201c\u4ece\u6982\u5ff5\u5230\u5b8c\u6210\u201d\u7684\u627f\u8bfa\u53ef\u80fd\u4f1a\u5728\u8fdb\u5165\u91cf\u4ea7\u9636\u6bb5\u65f6\u906d\u9047\u6ed1\u94c1\u5362\u3002\u6b64\u5916\uff0cAI\u751f\u6210\u7684\u8bbe\u8ba1\u662f\u5426\u5177\u5907\u771f\u6b63\u7684\u53ef\u5236\u9020\u6027\u4e0e\u72ec\u521b\u6027\uff0c\u4ee5\u53ca\u5982\u4f55\u89c4\u907f\u751f\u6210\u5185\u5bb9\u4e0e\u73b0\u6709\u4e13\u5229\u7684\u6f5c\u5728\u51b2\u7a81\uff0c\u5c06\u662f\u51b3\u5b9a\u5176\u80fd\u5426\u4ece\u201c\u53d1\u70e7\u53cb\u73a9\u5177\u201d\u8fdb\u5316\u4e3a\u201c\u4e13\u4e1a\u5de5\u7a0b\u5e08\u52a9\u7406\u201d\u7684\u5173\u952e\u3002\u8fd9\u53f0\u201c\u786c\u4ef6Copilot\u201d\u7684\u60f3\u8c61\u7a7a\u95f4\u5de8\u5927\uff0c\u4f46\u4e0b\u534a\u573a\u7684\u8003\u9a8c\u624d\u771f\u6b63\u5f00\u59cb\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Seer Platform<\/span>\n                <\/div>\n<div class=\"comment-content\">Seer is built for inventors, offering an AI-powered framework to develop physical products. It can design 3D objects, generate orthographics, write firmware, and perform market and patent research. These tools work individually or through \u201cInvent\u201d mode\u2014an agent with product design\u2013level expertise that can take your idea from concept to completion using both creative and engineering intelligence. The output is ready-to-manufacture prototypes, and you can order 3d printing from within Seer.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Beyond happy that we\u2019re finally sharing Seer with everyone.<\/p>\n<p>As someone who has always been more into hardware than software, I\u2019ve spent years wanting to build useful physical things and constantly running into the same exhausting process around it all. And with deadlines and time pressure, you end up settling for less than what you originally imagined.<\/p>\n<p>That always felt wrong to me. Ideas are valuable. They shouldn\u2019t be abandoned just because the process of building them is too difficult or fragmented.<\/p>\n<p>So seeing Seer not only solve that frustration for us, but also help other inventors bring their ideas to life, has been incredibly meaningful.<\/p>\n<p>Really excited to hear what everyone thinks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>While most agentic platforms today are focused on automating software development, Seer is focused on something else entirely:<\/p>\n<p>Hardware.<\/p>\n<p>Seer is built for inventors, makers, and hardware visionaries who have ideas but lack the specialized skills needed to bring them to life \u2014 things like CAD design, circuit design, prototyping workflows, and manufacturing logistics.<\/p>\n<p>Our goal is simple:<\/p>\n<p>Remove the barriers between imagination and physical creation.<\/p>\n<p>With Seer, users can:<\/p>\n<p>\u2022 Generate hardware concepts<br \/>\u2022 Create CAD and electronics workflows<br \/>\u2022 Manage BOM sourcing and component ordering<br \/>\u2022 Access prototyping and manufacturing tools<br \/>\u2022 Perform market and patent research<br \/>\u2022 Prepare patent filing documentation<\/p>\n<p>And we don\u2019t stop at the prototype.<\/p>\n<p>We want to accompany inventors from idea \u2192 prototype \u2192 production \u2192 protection.<\/p>\n<p>Software had its \u201cvibe coding\u201d moment.<\/p>\n<p>We believe hardware\u2019s next step is:<\/p>\n<p>\u201cVibe crafting.\u201d<\/p>\n<p>Would love to hear what the Product Hunt community thinks about the future of AI-native hardware creation.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/N4KUQBHLIL3YM6\" class=\"app-title\">ContentPilots<\/a><\/p>\n<div class=\"one-liner\">Turn any video into endless Shorts &#038; Reels with AI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">80<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ContentPilots \u662f\u4e00\u6b3e AI \u89c6\u9891\u62c6\u89e3\u5de5\u5177\uff0c\u5e2e\u52a9\u5185\u5bb9\u521b\u4f5c\u8005\u5c06\u4e00\u6761\u957f\u89c6\u9891\u81ea\u52a8\u526a\u8f91\u6210\u591a\u6761\u9002\u914d\u77ed\u89c6\u9891\u5e73\u53f0\uff08YouTube Shorts\u3001TikTok\u3001Instagram Reels \u7b49\uff09\u7684\u7206\u6b3e\u7247\u6bb5\uff0c\u5e76\u81ea\u52a8\u751f\u6210\u6807\u9898\u3001\u6807\u7b7e\u3001\u6587\u6848\u548c\u8de8\u5e73\u53f0\u4e00\u952e\u53d1\u5e03\uff0c\u89e3\u51b3\u521b\u4f5c\u8005\u201c\u624b\u52a8\u62c6\u6761\u3001\u591a\u5e73\u53f0\u91cd\u590d\u52b3\u52a8\u3001\u6d41\u91cf\u83b7\u53d6\u6548\u7387\u4f4e\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f613ee9-caea-4744-ba3a-21287267ea51.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\/941664d9-c4c4-43f2-b49b-d1d0570f0367.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\/b9b4029d-22d7-438c-8d01-42bac74a912c.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\/9672fe52-8dea-4b7e-9b6b-a87cd34c7087.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\/32a5a7f2-9ef6-4952-9fbf-388d3b9bb780.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\/6cb5a400-f70a-4868-9779-fb1e3dc9b40b.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\/41e737db-3ac8-402c-93af-a670b0a09f5c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Social Media<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u89c6\u9891\u526a\u8f91<\/span><br \/>\n            <span class=\"tag\">\u77ed\u89c6\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u75c5\u6bd2\u5f0f\u4f20\u64ad<\/span><br \/>\n            <span class=\"tag\">\u591a\u5e73\u53f0\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u957f\u89c6\u9891\u62c6\u6761<\/span><br \/>\n            <span class=\"tag\">\u6587\u6848\u81ea\u52a8\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u7b80\u5316\u5de5\u4f5c\u6d41\u7684\u4ef7\u503c\uff0c\u4f46\u53cd\u9988\u96c6\u4e2d\u5728\uff1a1\uff09AI \u526a\u8f91\u7684\u51c6\u786e\u5ea6\u548c\u521b\u610f\u6027\u6709\u9650\uff0c\u5e38\u5207\u6389\u5173\u952e\u5185\u5bb9\uff1b2\uff09\u5bf9\u975e\u82f1\u6587\u89c6\u9891\u652f\u6301\u5dee\uff1b3\uff09\u5e0c\u671b\u589e\u52a0\u81ea\u5b9a\u4e49\u526a\u8f91\u8fb9\u754c\u548c\u66f4\u7cbe\u7ec6\u7684\u7f16\u8f91\u63a7\u5236\uff1b4\uff09\u90e8\u5206\u7528\u6237\u5efa\u8bae\u5e73\u53f0\u5e94\u8986\u76d6\u66f4\u591a\u5c0f\u4f17\u5782\u76f4\u9886\u57df\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                ContentPilots \u5207\u4e2d\u4e86\u5f53\u4e0b\u5185\u5bb9\u521b\u4f5c\u8005\u6700\u771f\u5b9e\u7684\u201c\u4f53\u529b\u6d3b\u201d\u75db\u70b9\u2014\u2014\u4ece\u957f\u89c6\u9891\u4e2d\u624b\u52a8\u627e\u9ad8\u5149\u65f6\u523b\u3001\u62c6\u6761\u3001\u6539\u683c\u5f0f\u3001\u5199\u6587\u6848\uff0c\u518d\u5230\u9010\u4e2a\u5e73\u53f0\u53d1\u5e03\uff0c\u8fd9\u51e0\u4e4e\u5360\u7528\u4e86\u521b\u4f5c\u8005\u4e00\u534a\u7684\u975e\u521b\u4f5c\u65f6\u95f4\u3002\u4ea7\u54c1\u5c06\u8fd9\u4e00\u94fe\u6761\u7528 AI \u81ea\u52a8\u5316\uff0c\u7406\u8bba\u4e0a\u80fd\u5927\u5e45\u63d0\u5347\u4ea7\u80fd\uff0c\u5c24\u5176\u9002\u5408\u65e5\u66f4\u578b\u521b\u4f5c\u8005\u548c MCN \u673a\u6784\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5766\u7387\u5730\u8bf4\uff0c\u5f53\u524d\u7248\u672c\u66f4\u50cf\u662f\u4e00\u4e2a\u201c\u7701\u529b\u6760\u6746\u201d\uff0c\u800c\u975e\u201c\u9020\u6d6a\u673a\u201d\u3002\u4ece\u7528\u6237\u53cd\u9988\u770b\uff0cAI \u7684\u62c6\u89e3\u903b\u8f91\u4ecd\u505c\u7559\u5728\u673a\u68b0\u5207\u5272\u548c\u4f4e\u5c42\u7ea7\u70ed\u5ea6\u9884\u6d4b\u4e0a\uff0c\u7f3a\u4e4f\u5bf9\u5185\u5bb9\u53d9\u4e8b\u3001\u60c5\u611f\u8282\u594f\u548c\u7528\u6237\u5fc3\u7406\u66f2\u7ebf\u7684\u6df1\u5ea6\u7406\u89e3\u3002\u5f53\u88ab\u5207\u6389\u7684\u6070\u597d\u662f\u57cb\u6897\u7684\u5173\u952e\u5e27\uff0c\u6216\u8005\u6807\u9898\u751f\u6210\u5145\u6ee1\u201c\u9707\u60ca\u4f53\u201d\u800c\u540c\u8d28\u5316\u4e25\u91cd\u65f6\uff0c\u5b83\u53cd\u800c\u4f1a\u62c9\u4f4e\u8d26\u53f7\u7684\u6574\u4f53\u8d28\u611f\u3002\u6b64\u5916\uff0c80 \u5f20\u6295\u7968\u7684\u6210\u7ee9\u5728 Product Hunt \u4e0a\u4e0d\u7b97\u60ca\u8273\uff0c\u8bf4\u660e\u4e13\u4e1a\u7528\u6237\u5bf9\u201c\u4e00\u4e2a\u7bee\u5b50\u88c5\u6ee1\u6240\u6709\u6e20\u9053\u201d\u7684\u81ea\u52a8\u53d1\u5e03\u7b56\u7565\u4ecd\u5b58\u8c28\u614e\u6001\u5ea6\u2014\u2014\u6bd5\u7adf\u6bcf\u4e2a\u5e73\u53f0\u7684\u7b97\u6cd5\u504f\u597d\u548c\u7528\u6237\u884c\u4e3a\u622a\u7136\u4e0d\u540c\uff0c\u4e00\u952e\u901a\u5403\u5f80\u5f80\u610f\u5473\u7740\u5728\u6bcf\u4e2a\u5e73\u53f0\u90fd\u505a\u4e0d\u5230\u6700\u4f18\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u526a\u4e86\u591a\u5c11\u6761\u201d\uff0c\u800c\u5728\u4e8e\u201c\u526a\u51fa\u4e86\u591a\u5c11\u6761\u6709\u6548\u64ad\u653e\u201d\u3002\u5982\u679c ContentPilots \u540e\u7eed\u80fd\u5f15\u5165\u57fa\u4e8e\u5e73\u53f0\u7b97\u6cd5\u53cd\u9988\u7684\u52a8\u6001\u8c03\u6574\u673a\u5236\uff08\u6bd4\u5982\u5b66\u4e60\u67d0\u4e2a\u8d26\u53f7\u5728 TikTok \u4e0a\u7684\u5b8c\u64ad\u7387\u504f\u597d\uff0c\u518d\u53cd\u5411\u4f18\u5316\u526a\u8f91\u7b56\u7565\uff09\uff0c\u5b83\u624d\u5177\u5907\u4ece\u5de5\u5177\u8fdb\u5316\u4e3a\u589e\u957f\u5f15\u64ce\u7684\u6f5c\u529b\u3002\u5426\u5219\uff0c\u5b83\u53ea\u662f\u5e2e\u521b\u4f5c\u8005\u4ece\u201c\u7d2f\u6b7b\u201d\u53d8\u6210\u201c\u5fd9\u6b7b\u201d\u7684\u52a0\u901f\u5668\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">ContentPilots<\/span>\n                <\/div>\n<div class=\"comment-content\">Upload one video and ContentPilots AI cuts it into countless viral Shorts, Reels &#038; TikToks \u2014 automatically. Writes your titles, tags, captions, and schedules everything to YouTube, TikTok, Instagram &#038; LinkedIn in one click.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-05-12 PH\u70ed\u699c | 2026-05-12 #1 Kelvi [&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-220","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/220","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=220"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/220\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}