{"id":154,"date":"2026-03-08T11:19:02","date_gmt":"2026-03-08T03:19:02","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/03\/08\/2026-03-07\/"},"modified":"2026-03-08T11:19:02","modified_gmt":"2026-03-08T03:19:02","slug":"2026-03-07","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/03\/08\/2026-03-07\/","title":{"rendered":"PH\u70ed\u699c | 2026-03-07"},"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-03-07<\/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-03-07<\/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\/ZQ64PV4H5YAR5V\" class=\"app-title\">TestSprite 2.1<\/a><\/p>\n<div class=\"one-liner\">Agentic testing for the AI-native team.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">331<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>TestSprite 2.1 \u662f\u4e00\u6b3e\u9762\u5411AI\u539f\u751f\u56e2\u961f\u7684\u667a\u80fd\u6d4b\u8bd5\u4ee3\u7406\uff0c\u5b83\u901a\u8fc7MCP\u670d\u52a1\u5668\u8fde\u63a5IDE\uff0c\u5728AI\u751f\u6210\u4ee3\u7801\u540e\u81ea\u52a8\u521b\u5efa\u3001\u6267\u884c\u5b8c\u6574\u6d4b\u8bd5\u5957\u4ef6\u5e76\u53cd\u9988\u4fee\u590d\uff0c\u89e3\u51b3\u4e86AI\u7f16\u7801\u65f6\u4ee3\u4ee3\u7801\u4ea7\u51fa\u901f\u5ea6\u5feb\u4f46\u9a8c\u8bc1\u6ede\u540e\u3001\u8d28\u91cf\u65e0\u4fdd\u969c\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\/a66c777f-e80e-4f65-9508-5d4f70b1a595.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f2dbc135-7fdb-4deb-9513-e65c52012aac.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d2070266-b1aa-4dbe-a22d-1b8d3ff788db.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6a433920-6c1f-4962-ae9b-e5653e4c0b76.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bc873b00-c151-43c8-b535-93f8943eec1b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5d58fba4-69f7-4abb-8a0e-fa7a417139ac.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f1677505-63e4-4bcd-b69d-eb4534e1b44d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2d385542-3a43-4876-bba7-3631c29d0648.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\/5722eba8-daa4-4624-aa7c-3eb694606f9b.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=vov3fgl_91g\"><source src=\"https:\/\/www.youtube.com\/watch?v=vov3fgl_91g\" 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\u539f\u751f\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6d4b\u8bd5\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4ee3\u7801\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">MCP\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">CI\/CD\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u6d4b\u8bd5\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8fd0\u7ef4\u4e00\u4f53\u5316<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u5de5\u4f5c\u6d41<\/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\u4f5c\u4e3a\u201cAI\u4ee3\u7801\u9a8c\u8bc1\u7f3a\u5931\u5c42\u201d\u7684\u4ef7\u503c\uff0c\u8d5e\u8d4fMCP\u5de5\u4f5c\u6d41\u548cPR\u81ea\u52a8\u62e6\u622a\u3002\u4e3b\u8981\u95ee\u9898\/\u5efa\u8bae\u5305\u62ec\uff1a\u5bf9\u590d\u6742\u4ea4\u4e92\uff08\u5982\u62d6\u62fd\u3001\u753b\u5e03\uff09\u7684\u6d4b\u8bd5\u80fd\u529b\u3001\u8bed\u4e49\u4e0e\u529f\u80fd\u9a8c\u8bc1\u7684\u5dee\u5f02\u3001\u6d4b\u8bd5\u7a33\u5b9a\u6027\uff08\u8bef\u62a5\uff09\u5904\u7406\u3001\u4e0e\u4f20\u7edf\u6d4b\u8bd5\u6846\u67b6\u7684\u5171\u5b58\u5173\u7cfb\uff0c\u4ee5\u53ca\u5411\u66f4\u5e7f\u6cdb\u667a\u80fd\u4f53\u884c\u4e3a\u9a8c\u8bc1\u7684\u6f14\u8fdb\u53ef\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                TestSprite 2.1 \u7684\u5b9e\u8d28\uff0c\u5e76\u975e\u53c8\u4e00\u4e2a\u6d4b\u8bd5\u751f\u6210\u5de5\u5177\uff0c\u800c\u662f\u5bf9\u201cAI\u7f16\u7801\u667a\u80fd\u4f53\u201d\u751f\u6001\u7684\u5f3a\u5236\u6027\u7ea0\u9519\u4e0e\u5408\u89c4\u5c42\u3002\u5176\u771f\u6b63\u7684\u98a0\u8986\u6027\u5728\u4e8e\uff0c\u5b83\u8bd5\u56fe\u5c06\u201c\u9a8c\u8bc1\u201d\u8fd9\u4e00\u6ede\u540e\u3001\u88ab\u52a8\u7684\u4eba\u529b\u884c\u4e3a\uff0c\u8f6c\u5316\u4e3a\u4e00\u4e2a\u4e0e\u201c\u751f\u6210\u201d\u5e76\u884c\u7684\u3001\u81ea\u52a8\u5316\u7684\u667a\u80fd\u4f53\u95f4\u5bf9\u8bdd\u534f\u8bae\uff08MCP\uff09\u3002\u4ea7\u54c1\u806a\u660e\u5730\u6293\u4f4f\u4e86\u5f53\u524dAI\u7f16\u7a0b\u7684\u547d\u95e8\uff1a\u751f\u6210\u6613\uff0c\u9a8c\u8bc1\u96be\uff0c\u4fe1\u4efb\u7f3a\u3002\u901a\u8fc7\u5d4c\u5165IDE\u5e76\u4e0eCoding Agent\u76f4\u63a5\u901a\u4fe1\uff0c\u5b83\u628a\u6d4b\u8bd5\u4ece\u4e0b\u6e38\u8d28\u68c0\u73af\u8282\uff0c\u524d\u7f6e\u4e3a\u7f16\u7801\u8fc7\u7a0b\u7684\u5b9e\u65f6\u4f34\u968f\u7ea6\u675f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6df1\u5c42\u6311\u6218\u4e0e\u4ef7\u503c\u540c\u6837\u5c16\u9510\u3002\u9996\u5148\uff0c\u5176\u6d4b\u8bd5\u7684\u201c\u6b63\u786e\u6027\u201d\u672c\u8d28\u4e0a\u4ecd\u6e90\u4e8eAI\u5bf9\u89c4\u683c\u7684\u7406\u89e3\uff0c\u8fd9\u9677\u5165\u4e86\u201c\u7528AI\u9a8c\u8bc1AI\u201d\u7684\u5faa\u73af\u8bba\u8bc1\uff0c\u5c24\u5176\u5728\u8bed\u4e49\u548c\u7528\u6237\u4f53\u9a8c\u5c42\u9762\uff0c\u7f3a\u4e4f\u771f\u6b63\u7684\u201c\u5730\u9762\u771f\u76f8\u201d\u3002\u8bc4\u8bba\u4e2d\u63d0\u53ca\u7684\u201c\u8bed\u4e49Oracle\u95ee\u9898\u201d\u76f4\u6307\u8fd9\u4e00\u8f6f\u808b\u3002\u5176\u6b21\uff0c\u5ba3\u79f0\u7684\u201c\u65e0\u624b\u52a8\u5de5\u4f5c\u201d\u5728\u590d\u6742\u3001\u72b6\u6001\u5bc6\u96c6\u7684\u5e94\u7528\u4e2d\u6050\u96be\u5b9e\u73b0\uff0c\u5176\u89c6\u89c9\u7f16\u8f91\u5668\u66f4\u50cf\u662f\u5bf9AI\u751f\u6210\u4e0d\u5b8c\u7f8e\u7684\u8865\u6551\u63aa\u65bd\uff0c\u800c\u975e\u6839\u672c\u6d88\u9664\u3002\u6700\u540e\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u7ed1\u5b9a\u5728\u201cAI\u751f\u6210\u4ee3\u7801\u201d\u8fd9\u4e00\u7279\u5b9a\u8303\u5f0f\u4e0a\uff0c\u82e5\u672a\u6765AI\u7f16\u7801\u80fd\u529b\u7a81\u7834\u81f3\u80fd\u751f\u6210\u66f4\u53ef\u9760\u4ee3\u7801\uff0c\u6216\u5f00\u53d1\u8303\u5f0f\u8fc1\u79fb\uff0c\u5176\u201c\u7f3a\u5931\u5c42\u201d\u7684\u5b9a\u4f4d\u53ef\u80fd\u88ab\u52a8\u6447\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\uff0c\u5b83\u4e3a\u72c2\u70ed\u8ffd\u6c42AI\u7f16\u7801\u901f\u5ea6\u7684\u56e2\u961f\u63d0\u4f9b\u4e86\u4e00\u4e2a\u4e9f\u9700\u7684\u201c\u5b89\u5168\u9600\u201d\uff0c\u4ef7\u503c\u663e\u8457\u3002\u4f46\u5176\u957f\u671f\u62a4\u57ce\u6cb3\uff0c\u4e0d\u5728\u4e8e\u66f4\u5feb\u7684\u6d4b\u8bd5\u5f15\u64ce\uff0c\u800c\u5728\u4e8e\u80fd\u5426\u6784\u5efa\u8d77\u8d85\u8d8a\u4ee3\u7801\u8bed\u6cd5\u3001\u6df1\u5165\u4e1a\u52a1\u903b\u8f91\u4e0e\u7528\u6237\u4f53\u9a8c\u7684\u9a8c\u8bc1\u77e5\u8bc6\u4f53\u7cfb\uff0c\u4ece\u800c\u4ece\u201c\u6d4b\u8bd5\u751f\u6210\u4ee3\u7406\u201d\u8fdb\u5316\u4e3a\u201c\u8d28\u91cf\u89c4\u8303\u5b9e\u65bd\u5e73\u53f0\u201d\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u7279\u5b9a\u6280\u672f\u8fc7\u6e21\u671f\u7684\u4e34\u65f6\u89e3\u51b3\u65b9\u6848\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">TestSprite 2.1<\/span>\n                <\/div>\n<div class=\"comment-content\">Meet the missing layer of the agentic workflow. TestSprite MCP connects to your IDE and autonomously generates your entire test suite \u2014 no prompting or manual work. New in 2.1: a 4\u20135x faster testing engine that finishes in minutes, a visual test editor where you click any step to see a live snapshot and fix it instantly, and GitHub integration that auto-runs your full suite on every PR against a live preview deployment \u2014 then blocks the merge if anything fails. Your AI codes. We make it right.<\/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! I&#8217;m Yunhao, CEO and co-founder of TestSprite \ud83d\udc4b<\/p>\n<p>Thrilled to share what&#8217;s new in TestSprite 2.1!<\/p>\n<p>When we launched 2.0, the response blew us away. Thousands of teams told us the same thing: <em>&#8220;This is the missing piece \u2014 we were shipping AI-generated code and just hoping it worked.&#8221;<\/em> That feedback pushed us to go even further.<\/p>\n<p>2.1 is about making the MCP workflow faster, more precise, and enforcing it all the way to production.<\/p>\n<p><strong>\ud83d\udd0c Quick recap: TestSprite MCP<\/strong><\/p>\n<p>At the core of TestSprite is the MCP Server \u2014 it connects directly to your AI coding environment (like Cursor), reads your spec, and autonomously generates a complete test plan, writes all the test cases, executes them, and sends fix instructions back to your coding agent. AI validating AI \u2014 no manual testing, no prompting.<\/p>\n<p>2.1 builds on top of that with three major upgrades:<\/p>\n<p><strong>\u26a1 4\u20135x Faster Testing Engine<\/strong><\/p>\n<p>We rebuilt the AI testing engine from the ground up. What used to take 25 minutes now runs in about 5. Verification finally keeps up with the speed of AI code generation.<\/p>\n<p><strong>\ud83d\uddb1\ufe0f Visual Test Modification Interface<\/strong><\/p>\n<p>If the MCP generates a test step that&#8217;s slightly off, you no longer restart from scratch. Click into the step, see a live snapshot of exactly that moment in the test run, and fix it in seconds \u2014 swap the locator, change the interaction type, redirect the flow. Point and click. No code.<\/p>\n<p><strong>\ud83d\udd17 GitHub Integration \u2014 Automatic PR Testing<\/strong><\/p>\n<p>Once your MCP-generated tests are committed to your repo, the GitHub integration takes over. Connect via the TestSprite GitHub App (no workflow files needed) or GitHub Actions for custom CI\/CD pipelines. On every pull request, TestSprite automatically runs your full test suite against the preview deployment \u2014 on Vercel, Netlify, Render, Railway, <a href=\"http:\/\/Fly.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Fly.io<\/a> \u2014 and the TestSprite bot posts a detailed pass\/fail summary directly on the PR. Enable merge blocking to make sure failing code never reaches production.<\/p>\n<p>The full loop: MCP generates and validates your tests locally \u2192 GitHub enforces them on every merge. Automatically.<\/p>\n<p>If your team is building with AI, TestSprite 2.1 makes sure every PR is production-ready \u2014 without lifting a finger.<\/p>\n<p>Free tier available. Give it a try and let us know what you think! \ud83d\udc49 <a href=\"https:\/\/testsprite.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/testsprite.com<\/a><\/p>\n<p>Thank you for the incredible support since 1.0 \u2014 we&#8217;re building this with you, and we can&#8217;t wait to hear your feedback \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jiao_yunhao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jiao_yunhao<\/a>&nbsp; the MCP approach is clever \u2014 having it plug directly into Cursor\/IDE means zero context switching. curious about one thing tho: how does it handle tests for components with heavy user interaction? like drag-and-drop or canvas-based UIs. those always seem to break visual testing tools<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jiao_yunhao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jiao_yunhao<\/a>Hi Yunhao, congrats on the TestSprite 2.1 launch \u2014 the MCP workflow and automatic PR testing idea is really interesting.<\/p>\n<p>I\u2019m currently researching how founders monitor and improve their product\u2019s health as their teams increasingly rely on AI-generated code. I\u2019m speaking with a few founders and would really value your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few thoughts? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Agentic testing is significant for agentic collocation.happy that you guys made the testing engine working faster<\/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\/@frank_li13\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@frank_li13<\/a>&nbsp;Thank you so much for your support! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@frank_li13\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@frank_li13<\/a>&nbsp;Thank you for your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Excited to see <strong>TestSprite 2.1<\/strong> live on Product Hunt! \ud83d\ude80<\/p>\n<\/p>\n<p>Automating end-to-end testing is such a big pain point for many teams, and the idea of generating tests <strong>10x faster with an AI agent<\/strong> is really compelling. The visual editor for adjusting test flows in plain English is a nice touch too\u2014much easier than maintaining complex scripts. The new <strong>GitHub Actions integration<\/strong> also makes a lot of sense for CI workflows.<\/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\/@shawnie_shan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shawnie_shan<\/a>&nbsp;This is awesome! I love how simple it is to tweak test flows using plain text.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the 2.1 launch, <a href=\"https:\/\/www.producthunt.com\/@jiao_yunhao\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jiao_yunhao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jiao_yunhao<\/a> <a href=\"https:\/\/www.producthunt.com\/@rui_li6\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"rui_li6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rui_li6<\/a>  and team! \ud83d\ude80<\/p>\n<p>Really exciting to see the MCP workflow maturing\u2014especially the focus on the verification layer. As more teams ship AI-generated code, automated test generation + enforcement in the PR workflow feels less like a \u201cnice to have\u201d and more like a necessary safety net. The 4\u20135x speed improvement is particularly impressive since verification often becomes the bottleneck when coding agents get faster.<\/p>\n<p>One question I\u2019m curious about: how do you see TestSprite evolving as AI agents move from generating code to operating longer-running autonomous workflows? Do you envision MCP extending beyond code verification into broader agent behavior validation?<\/p>\n<p>Looking forward to trying 2.1 and seeing where you take this next. \ud83d\udc4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Strong launch \u2014 the MCP\u2192PR merge-blocking loop is exactly the part most teams miss. One thing I\u2019d love to see: a \u201cflake profile\u201d per repo (dynamic selectors, async data, auth redirects) so teams can separate true regressions from environment noise before blocking merges. If you already track this internally, exposing it in PR comments would be a killer differentiator for AI-native QA.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@danielsinewe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danielsinewe<\/a>&nbsp;Thanks for the great suggestion!&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">The idea of having an AI agent handle the full testing workflow is really compelling, especially as more teams rely on AI-generated code.<br \/>\n The faster testing engine and automatic pull request validation sound like they could remove a lot of friction from the QA process.<\/p>\n<p>I also like the focus on verifying code generated by coding agents rather than replacing existing testing tools.<\/p>\n<p>Curious whether teams are mainly using TestSprite alongside traditional frameworks like Playwright or if it\u2019s gradually replacing parts of that stack.<\/p>\n<p>Congrats on the launch.<\/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>Congratulations,  looks 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;Thank you for your support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8216;missing layer&#8217; framing is exactly right \u2014 the real unlock isn&#8217;t test generation speed, it&#8217;s closing the &#8216;AI codes but nobody validates it actually works&#8217; loop at the workflow level. The hardest part of AI-native testing is the semantic oracle problem: when AI generates code, the ground truth for &#8216;correct&#8217; is often fuzzy. Does TestSprite handle purely structural\/functional assertions (output matches expected), or does it also do semantic validation \u2014 e.g. &#8216;this UI flow still makes sense for the user&#8217;? That gap is where most AI testing pipelines quietly break down.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Great idea. Tools that focus on testing and debugging are going to be essential as AI-generated code keeps growing.<br \/>Great developers write code.<br \/>Elite developers debug reality.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Testing is the most boring part for me, but also the most valuable! It validates your core functionality; I love the idea \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks like you&#8217;re tackling a real issue with AI coding tools. Generating code is easy now, but validating that it actually works is still messy.<\/p>\n<p>Really like the idea of automatically generating tests and enforcing them in PRs. The visual test editor also seems like a smart addition instead of constantly rewriting tests.<\/p>\n<p>Curious if most teams use TestSprite mainly with AI coding tools like Cursor, or also in more traditional development workflows?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks good, but damn, I did the exact same thing 9 months ago: <a href=\"https:\/\/www.producthunt.com\/products\/testr-qa-solution-for-vibecoders\/launches\/testr\" target=\"_blank\" rel=\"noopener\">https:\/\/www.producthunt.com\/products\/testr-qa-solution-for-vibecoders\/launches\/testr<\/a> &#8211; it even had an MCP server.<\/p>\n<p>I have 0 clients, 1 comments, 8 upvotes. <\/p>\n<p>I guess its distribution issue? Sad still<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does TestSprite handle complex dependencies and state management when automatically generating and executing tests across both frontend and backend environments?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Definitely going to check this out.  The test generation can be a HUGE time saver.  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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,<\/p>\n<\/p>\n<p>right now Testsprite looks like an AI testing tool, but the stronger narrative might actually be <strong>AI verifying AI-generated code<\/strong>.<\/p>\n<\/p>\n<p>That framing could make the use case much clearer for teams building with AI coding agents.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 GitHub integration that auto-runs tests on every PR and blocks merges on failure is a game-changer for teams moving fast. That&#8217;s the exact guardrail most small teams skip because setting it up feels like overhead, and then they regret it in production.<\/p>\n<p>The visual test editor where you click a step to see a live snapshot is a really smart UX decision too. Debugging test failures has always been painful because you&#8217;re reading logs blind, this closes that loop nicely.<\/p>\n<p>Congrats on #1 today! Rooting for you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Do you folks support mobile apps?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 GitHub PR blocking is the feature that makes this actually useful in a real team environment \u2014 without that gate it&#8217;s just a nice to have that gets skipped when deadlines hit. Curious how it handles flaky tests that fail intermittently on the live preview environment due to timing or network issues rather than actual code problems. That&#8217;s the thing that erodes trust in automated test suites fastest \u2014 if it blocks a merge for a false positive once, developers start ignoring it permanently.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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&#8217;ve been testing my AI pipeline by hand, and honestly, I&#8217;m over it. 4 different providers, each returning slightly different JSON structures; writing test cases for each takes forever. Does TestSprite handle non-deterministic outputs well? That&#8217;s what always gets me with TubeSpark&#8217;s generation flows: the same prompt gives you different shapes every time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The MCP-to-GitHub loop is the real unlock here. Most teams I&#8217;ve seen still treat testing as a separate step after shipping, not something baked into the PR itself. The merge blocking on failed tests alone would save hours of debugging in production. Curious how the visual editor handles dynamic content that changes between test runs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 stop trusting agent loops when the test result and fix step drift apart. TestSprite MCP reading the spec, generating the test plan, then sending fix instructions back to the coding agent feels useful, especially if each round keeps a visible trace you can audit.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Have you implemented any sort of caching or parallelization strategies within the Testing Engine to mitigate the increased load and potential slowdowns that might occur when dealing with large-scale, complex AI-generated codebases?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/E644QNWPBKSI6T\" class=\"app-title\">Codex Security<\/a><\/p>\n<div class=\"one-liner\">Our application security agent<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">250<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Codex Security\u662f\u4e00\u6b3e\u5e94\u7528\u5b89\u5168\u4ee3\u7406\uff0c\u901a\u8fc7\u5728\u5f00\u53d1\u6d41\u7a0b\u4e2d\u81ea\u52a8\u53d1\u73b0\u3001\u9a8c\u8bc1\u6f0f\u6d1e\u5e76\u63d0\u4f9b\u53ef\u5ba1\u67e5\u7684\u4fee\u590d\u65b9\u6848\uff0c\u89e3\u51b3\u4e86\u5b89\u5168\u5de5\u5177\u8bef\u62a5\u7387\u9ad8\u3001\u4fee\u590d\u6d41\u7a0b\u7e41\u7410\u7684\u75db\u70b9\uff0c\u5e2e\u52a9\u5f00\u53d1\u56e2\u961f\u66f4\u9ad8\u6548\u5730\u4ea4\u4ed8\u5b89\u5168\u4ee3\u7801\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\/978ee703-edbf-4b42-b5b1-7b3c63040f8b.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=fy-N-HWRDdM\"><source src=\"https:\/\/www.youtube.com\/watch?v=fy-N-HWRDdM\" 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\/702e48a9-fddf-4113-86cf-e7a9cf1bacdc.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\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Development<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5e94\u7528\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5b89\u5168\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u6f0f\u6d1e\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u6f0f\u6d1e\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u4fee\u590d<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u5b89\u5168\u8fd0\u7ef4<\/span><br \/>\n            <span class=\"tag\">\u4f9d\u8d56\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u8bef\u62a5\u8fc7\u6ee4<\/span><br \/>\n            <span class=\"tag\">AI\u5b89\u5168\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5ba1\u8ba1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u9a8c\u8bc1\u6f0f\u6d1e\u3001\u51cf\u5c11\u8bef\u62a5\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u5c24\u5176\u5bf9\u5e94\u5bf9\u4f9b\u5e94\u94fe\u653b\u51fb\uff08\u5982npm\u540e\u5b89\u88c5\u653b\u51fb\uff09\u8868\u793a\u671f\u5f85\u3002\u540c\u65f6\u63d0\u51fa\u5173\u952e\u95ee\u9898\uff1a\u4ea7\u54c1\u662f\u5426\u8986\u76d6\u4f20\u9012\u6027\u4f9d\u8d56\u6f0f\u6d1e\uff1f\u4ee5\u53ca\u5728\u5927\u4ee3\u7801\u5e93\u4e2d\u5982\u4f55\u786e\u5b9a\u6f0f\u6d1e\u4f18\u5148\u7ea7\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Codex Security\u7684\u53d1\u5e03\uff0c\u770b\u4f3c\u5207\u5165\u4e86\u4e00\u4e2a\u62e5\u6324\u7684\u5e94\u7528\u5b89\u5168\u6d4b\u8bd5\u5e02\u573a\uff0c\u4f46\u5176\u771f\u6b63\u7684\u950b\u8292\u5728\u4e8e\u8bd5\u56fe\u7528\u201c\u9a8c\u8bc1\u201d\u548c\u201c\u4fee\u590d\u5efa\u8bae\u201d\u4e24\u628a\u624b\u672f\u5200\uff0c\u7cbe\u51c6\u5207\u9664\u5f53\u524d\u5b89\u5168\u5de5\u5177\u751f\u6001\u7684\u4e24\u5927\u80bf\u7624\uff1a\u566a\u97f3\u4e0e\u963b\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f20\u7edfSAST\/SCA\u5de5\u5177\u5e38\u56e0\u6d77\u91cf\u8bef\u62a5\u6ca6\u4e3a\u201c\u72fc\u6765\u4e86\u201d\u7684\u5236\u9020\u8005\uff0c\u5bfc\u81f4\u5f00\u53d1\u56e2\u961f\u4ea7\u751f\u8b66\u62a5\u75b2\u52b3\uff0c\u6700\u7ec8\u9009\u62e9\u5ffd\u89c6\u3002Codex\u5c06\u201c\u9a8c\u8bc1\u201d\u4f5c\u4e3a\u6838\u5fc3\u5356\u70b9\uff0c\u627f\u8bfa\u533a\u5206\u4fe1\u53f7\u4e0e\u566a\u97f3\uff0c\u8fd9\u76f4\u63a5\u56de\u5e94\u4e86\u5f00\u53d1\u8005\u6700\u6df1\u7684\u538c\u6076\u2014\u2014\u65e0\u6548\u544a\u8b66\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u4e8e\u53d1\u73b0\u66f4\u591a\u6f0f\u6d1e\uff0c\u800c\u5728\u4e8e\u53d1\u73b0\u66f4\u201c\u771f\u5b9e\u201d\u7684\u6f0f\u6d1e\u3002\u7136\u800c\uff0c\u8fd9\u5f15\u51fa\u4e86\u4e00\u4e2a\u66f4\u6df1\u5c42\u7684\u6280\u672f\u62f7\u95ee\uff1a\u5176\u9a8c\u8bc1\u673a\u5236\u662f\u4f9d\u8d56\u66f4\u7cbe\u51c6\u7684\u89c4\u5219\u3001\u52a8\u6001\u5206\u6790\uff0c\u8fd8\u662f\u7ed3\u5408\u4e86\u4e0a\u4e0b\u6587\uff08\u5982\u4ee3\u7801\u6267\u884c\u8def\u5f84\u3001\u4e1a\u52a1\u903b\u8f91\uff09\uff1f\u8fd9\u51b3\u5b9a\u4e86\u5b83\u80fd\u5426\u771f\u6b63\u8d85\u8d8a\u73b0\u6709\u65b9\u6848\uff0c\u8fd8\u662f\u4ec5\u505a\u4e86\u66f4\u597d\u7684\u8fc7\u6ee4\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6b21\uff0c\u4ece\u201c\u6807\u8bb0\u95ee\u9898\u201d\u5230\u201c\u63d0\u8bae\u4fee\u590d\u201d\uff0c\u4ea7\u54c1\u8bd5\u56fe\u5c06\u5b89\u5168\u5de6\u79fb\u7684\u7ec8\u70b9\u4ece\u201c\u53d1\u73b0\u201d\u63a8\u8fdb\u5230\u201c\u89e3\u51b3\u201d\u3002\u8fd9\u4e0d\u4ec5\u63d0\u5347\u4e86\u4fee\u590d\u6548\u7387\uff0c\u66f4\u5173\u952e\u7684\u662f\uff0c\u5b83\u6539\u53d8\u4e86\u5b89\u5168\u56e2\u961f\u4e0e\u5f00\u53d1\u56e2\u961f\u7684\u534f\u4f5c\u8303\u5f0f\u2014\u2014\u4ece\u63d0\u4ea4\u95ee\u9898\u6e05\u5355\u8f6c\u5411\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u8349\u6848\u3002\u8fd9\u80fd\u663e\u8457\u964d\u4f4e\u4fee\u590d\u7684\u8ba4\u77e5\u8d1f\u8377\u548c\u542f\u52a8\u963b\u529b\u3002\u4f46\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u4f18\u5148\u7ea7\u201d\u548c\u201c\u4f20\u9012\u6027\u4f9d\u8d56\u201d\u7684\u63d0\u95ee\uff0c\u6070\u6070\u70b9\u4e2d\u4e86\u5176\u5546\u4e1a\u5316\u7684\u547d\u95e8\u3002\u5728\u5e9e\u5927\u7684\u4f9d\u8d56\u6811\u4e2d\uff0c\u5982\u4f55\u7ed3\u5408\u6f0f\u6d1e\u53ef\u5229\u7528\u6027\u3001\u4e1a\u52a1\u5f71\u54cd\u548c\u4fee\u590d\u6210\u672c\u8fdb\u884c\u667a\u80fd\u6392\u5e8f\uff0c\u5e76\u63d0\u4f9b\u5207\u5b9e\u53ef\u884c\u7684\u5347\u7ea7\u6216\u4fee\u8865\u8def\u5f84\uff0c\u624d\u662f\u5176\u80fd\u5426\u5728\u5927\u578b\u590d\u6742\u9879\u76ee\u4e2d\u7ad9\u7a33\u811a\u8ddf\u7684\u5173\u952e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cCodex Security\u7684\u4ef7\u503c\u4e3b\u5f20\u6e05\u6670\u4e14\u5207\u4e2d\u8981\u5bb3\uff0c\u4f46\u5176\u6280\u672f\u6df1\u5ea6\u4e0e\u667a\u80fd\u5316\u6c34\u5e73\uff0c\u5c24\u5176\u662f\u5bf9\u73b0\u4ee3\u8f6f\u4ef6\u4f9b\u5e94\u94fe\uff08\u4f20\u9012\u4f9d\u8d56\uff09\u7684\u8986\u76d6\u4e0e\u7406\u89e3\u80fd\u529b\uff0c\u5c06\u662f\u51b3\u5b9a\u5176\u4ece\u201c\u53c8\u4e00\u4e2a\u5b89\u5168\u5de5\u5177\u201d\u5347\u7ef4\u4e3a\u201c\u5f00\u53d1\u6d41\u7a0b\u5fc5\u5907\u4ee3\u7406\u201d\u7684\u80dc\u8d1f\u624b\u3002\u5e02\u573a\u9700\u8981\u7684\u4e0d\u518d\u662f\u53e6\u4e00\u4e2a\u63a2\u6d4b\u5668\uff0c\u800c\u662f\u4e00\u4e2a\u80fd\u7406\u89e3\u4e0a\u4e0b\u6587\u3001\u505a\u51fa\u5224\u65ad\u5e76\u63a8\u52a8\u884c\u52a8\u7684\u667a\u80fd\u5b89\u5168\u4f19\u4f34\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\">Codex Security<\/span>\n                <\/div>\n<div class=\"comment-content\">An application security agent that helps you secure your codebase by finding vulnerabilities, validating them, and proposing fixes you can review and patch. Now, teams can focus on the vulnerabilities that matter and ship code faster.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>After dealing with those npm postinstall attacks lately, seeing an agent that actually validates findings is a massive relief. Most tools just spam false positives until you kill the notifications. Does this catch transitive dependency stuff too, or just first-party code?<\/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\">Security reviews are still one of the biggest bottlenecks in software development, so having an AI agent that can automatically find and validate vulnerabilities feels like a very practical step forward.<\/p>\n<p>I like the focus on suggesting fixes instead of just flagging issues. Curious how Codex Security prioritizes which vulnerabilities matter most in large codebases.<\/p>\n<p>Congrats on the launch.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DJX44CAUATRT3G\" class=\"app-title\">Copperlane<\/a><\/p>\n<div class=\"one-liner\">Turn hours of loan processing into seconds<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">241<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Copperlane\u662f\u4e00\u6b3eAI\u539f\u751f\u8d37\u6b3e\u53d1\u8d77\u7cfb\u7edf\uff0c\u5176AI\u4ee3\u7406Penny\u901a\u8fc7\u81ea\u52a8\u5316\u5b9a\u4ef7\u3001\u5f15\u5bfc\u501f\u6b3e\u4eba\u548c\u9a8c\u8bc1\u6587\u4ef6\uff0c\u5c06\u6570\u5c0f\u65f6\u7684\u8d37\u6b3e\u5904\u7406\u6d41\u7a0b\u7f29\u77ed\u81f3\u79d2\u7ea7\uff0c\u89e3\u51b3\u4e86\u8d37\u6b3e\u673a\u6784\u5728\u6587\u4ef6\u6536\u96c6\u3001\u5ba1\u6838\u548c\u7ea0\u9519\u73af\u8282\u4e2d\u6548\u7387\u4f4e\u4e0b\u3001\u6210\u672c\u9ad8\u6602\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\/19a2942e-1922-450d-9661-b7280930e5a3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6603647e-9713-4afd-8c65-c250b423cce0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2477a98e-a383-4579-baf2-abb2c775890a.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\/af235a67-c3f0-47b4-958c-468e4204bdab.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=wu8iVc0hCaY\"><source src=\"https:\/\/www.youtube.com\/watch?v=wu8iVc0hCaY\" 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\">Fintech<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Banking<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8d37\u6b3e\u53d1\u8d77\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">\u62b5\u62bc\u8d37\u6b3e\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u6d41\u7a0b\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u667a\u80fd\u5ba1\u6838<\/span><br \/>\n            <span class=\"tag\">\u91d1\u878d\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">YC W26<\/span><br \/>\n            <span class=\"tag\">\u964d\u672c\u589e\u6548<\/span><br \/>\n            <span class=\"tag\">\u5408\u89c4\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u534f\u540c<\/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\u8d37\u6b3e\u6587\u4ef6\u5904\u7406\u75db\u70b9\u7684\u4ef7\u503c\uff0c\u5173\u6ce8\u5176\u5904\u7406\u81ea\u96c7\u6536\u5165\u7b49\u590d\u6742\u573a\u666f\u7684\u80fd\u529b\u3001\u5408\u89c4\u6027\u53ca\u7cfb\u7edf\u53ef\u9760\u6027\u3002\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u4e8eAI\u5728\u975e\u6807\u6848\u4f8b\u4e2d\u7684\u8868\u73b0\u3001\u5982\u4f55\u907f\u514d\u5e7b\u89c9\u4ee5\u53ca\u5546\u4e1a\u8d37\u6b3e\u573a\u666f\u7684\u9002\u7528\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                Copperlane\u5ba3\u79f0\u201cAI\u4eba\u505a\u62b5\u62bc\u8d37\u6b3e\u201d\u800c\u975e\u201c\u62b5\u62bc\u8d37\u6b3e\u4eba\u505aAI\u201d\uff0c\u8fd9\u4e00\u5b9a\u4f4d\u76f4\u6307\u884c\u4e1a\u75db\u70b9\uff1a\u4f20\u7edf\u7cfb\u7edf\u9648\u65e7\uff0c\u800c\u65b0\u5174AI\u65b9\u6848\u53c8\u5e38\u56e0\u884c\u4e1a\u7406\u89e3\u80a4\u6d45\u800c\u9694\u9774\u6414\u75d2\u3002\u5176\u771f\u6b63\u4ef7\u503c\u6216\u8bb8\u4e0d\u5728\u4e8e\u201c\u79d2\u7ea7\u5904\u7406\u201d\u7684\u5b8f\u5927\u53d9\u4e8b\uff0c\u800c\u5728\u4e8e\u7528AI\u4ee3\u7406Penny\u5207\u5165\u201c\u6587\u4ef6\u6536\u96c6-\u521d\u5ba1\u201d\u8fd9\u4e00\u5177\u4f53\u4e14\u6e83\u70c2\u7684\u73af\u8282\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u62b5\u62bc\u8d37\u6b3e\u6d41\u7a0b\u7684\u74f6\u9888\u5e76\u975e\u8ba1\u7b97\uff0c\u800c\u662f\u534f\u8c03\u3002Penny\u626e\u6f14\u7684\u5b9e\u8d28\u662f\u4e00\u4e2a\u6c38\u4e0d\u75b2\u5026\u3001\u4e25\u683c\u5b88\u5e8f\u7684\u521d\u7ea7\u5ba1\u6838\u5458\u517c\u50ac\u529e\u52a9\u624b\uff0c\u5176\u6838\u5fc3\u80fd\u529b\u662f\u201c\u63d0\u524d\u53d1\u73b0\u4e0d\u4e00\u81f4\u201d\u5e76\u201c\u4e3b\u52a8\u8ffd\u7d22\u201d\u3002\u8fd9\u7784\u51c6\u4e86\u884c\u4e1a\u771f\u6b63\u7684\u6210\u672c\u9ed1\u6d1e\uff1a\u56e0\u6587\u4ef6\u7f3a\u5931\u3001\u4fe1\u606f\u77db\u76fe\u5bfc\u81f4\u7684\u6f2b\u957f\u62c9\u952f\u6218\u3002\u8bc4\u8bba\u4e2d\u53cd\u590d\u88ab\u8ffd\u95ee\u7684\u201c\u5982\u4f55\u5e94\u5bf9\u81ea\u96c7\u6536\u5165\u7b49\u590d\u6742\u60c5\u51b5\u201d\uff0c\u6070\u6070\u66b4\u9732\u4e86\u5e02\u573a\u5bf9\u5176\u7684\u6df1\u5c42\u671f\u5f85\u4e0e\u7591\u8651\u2014\u2014\u5b83\u662f\u5426\u53ea\u662f\u53c8\u4e00\u4e2a\u64c5\u957f\u5904\u7406\u6807\u51c6\u6d41\u6c34\u7ebf\u3001\u5374\u5728\u8fb9\u7f18\u6848\u4f8b\u4e2d\u5d29\u6e83\u7684\u81ea\u52a8\u5316\u73a9\u5177\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u56e2\u961f\u80cc\u666f\uff08\u62b5\u62bc\u8d37\u6b3e\u5bb6\u5ead\u51fa\u8eab+AI\u4e13\u4e1a\uff09\u6784\u6210\u4e86\u5176\u53ef\u4fe1\u5ea6\u7684\u53cc\u5203\u5251\u3002\u4f18\u52bf\u5728\u4e8e\u80fd\u7cbe\u51c6\u8bc6\u522b\u6d41\u7a0b\u4e2d\u7684\u201c\u6697\u7901\u201d\uff1b\u98ce\u9669\u5219\u5728\u4e8e\uff0c\u8fc7\u5ea6\u4f9d\u8d56\u5bb6\u65cf\u7ecf\u9a8c\u53ef\u80fd\u4f7f\u5176\u4ea7\u54c1\u9677\u5165\u53e6\u4e00\u79cd\u8def\u5f84\u4f9d\u8d56\uff0c\u96be\u4ee5\u62bd\u8c61\u51fa\u8d85\u8d8a\u7279\u5b9a\u673a\u6784\u5de5\u4f5c\u6d41\u7684\u901a\u7528\u903b\u8f91\u3002\u6b64\u5916\uff0c\u5176\u5f3a\u8c03\u201c\u4e0d\u4f9d\u8d56\u5f00\u653e\u5f0f\u751f\u6210\uff0c\u800c\u662f\u57fa\u4e8e\u6587\u6863\u8fdb\u884c\u53ef\u8ffd\u6eaf\u8f93\u51fa\u201d\uff0c\u8fd9\u662f\u5728\u91d1\u878d\u5408\u89c4\u9ad8\u538b\u4e0b\u7684\u660e\u667a\u9009\u62e9\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u5176AI\u80fd\u529b\u4e0a\u9650\u88ab\u4e25\u683c\u6846\u5b9a\u5728\u6587\u6863\u6bd4\u5bf9\u4e0e\u89c4\u5219\u6267\u884c\uff0c\u79bb\u771f\u6b63\u7684\u201c\u667a\u80fd\u51b3\u7b56\u201d\u5c1a\u6709\u8ddd\u79bb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff1a\u5f53\u6d77\u91cf\u7684\u3001\u5145\u6ee1\u77db\u76fe\u7684\u975e\u6807\u6587\u4ef6\u6d8c\u5165\u65f6\uff0cPenny\u7684\u201c\u6807\u8bb0\u201d\u662f\u5426\u4f1a\u53d8\u6210\u566a\u97f3\u7684\u653e\u5927\u5668\uff1f\u5b83\u80fd\u5426\u771f\u6b63\u7406\u89e3\u6536\u5165\u8bc1\u660e\u4e0e\u94f6\u884c\u6d41\u6c34\u4e4b\u95f4\u5fae\u5999\u7684\u3001\u5408\u4e4e\u60c5\u7406\u7684\u4e0d\u5339\u914d\uff1f\u5982\u679c\u5176\u8f93\u51fa\u4ecd\u9700\u4eba\u7c7b\u5b98\u5458\u6295\u5165\u5927\u91cf\u7cbe\u529b\u8fdb\u884c\u4e8c\u6b21\u5224\u65ad\uff0c\u90a3\u4e48\u6240\u8c13\u7684\u201c\u79d2\u7ea7\u201d\u5c31\u53ea\u662f\u6d41\u7a0b\u524d\u7aef\u7684\u865a\u5047\u7e41\u8363\u3002Copperlane\u7684\u4ef7\u503c\u5b9e\u73b0\uff0c\u4e0d\u53d6\u51b3\u4e8e\u5176AI\u6709\u591a\u201c\u667a\u80fd\u201d\uff0c\u800c\u53d6\u51b3\u4e8e\u5176\u89c4\u5219\u5f15\u64ce\u4e0e\u5de5\u4f5c\u6d41\u8bbe\u8ba1\u5bf9\u884c\u4e1a\u6df7\u6c8c\u73b0\u5b9e\u7684\u5305\u5bb9\u5ea6\u6709\u591a\u5f3a\u3002\u5b83\u53ef\u80fd\u65e0\u6cd5\u5f7b\u5e95\u53d6\u4ee3\u4eba\u7c7b\uff0c\u4f46\u6709\u671b\u6210\u4e3a\u8ba9\u4eba\u7c7b\u4ece\u6587\u6863\u6ce5\u6f6d\u4e2d\u62bd\u8eab\u7684\u7b2c\u4e00\u5757\u575a\u5b9e\u57ab\u811a\u77f3\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\">Copperlane<\/span>\n                <\/div>\n<div class=\"comment-content\">Copperlane is an AI-native loan origination system. Our AI agent, Penny, optimizes rate pricing, guides borrowers, and verifies documents &#8211; cutting loan processing time from hours to seconds.<\/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 PH! I\u2019m Brianna, co-founder of Copperlane (YC W26)!<\/strong><\/p>\n<p><strong>The Problem<\/strong><br \/>Lenders spend $11,800 to originate a mortgage, and the majority of that cost is burned during intake due to missing documents, back-and-forth, and costly errors. This manual process breaks down on almost every loan, across 8 million loans a year. <\/p>\n<p>Existing tools fall into two approaches:<\/p>\n<p>\u274c <strong>Legacy portals<\/strong> \u2013 These systems are decades old, and loan officers need to chase down borrowers for docs manually. <\/p>\n<p>\u274c <strong>AI built by older mortgage teams<\/strong> \u2013 Our competitors are all mortgage people trying to build AI. We\u2019re the only AI people learning about and building for mortgage. \ud83d\ude42 <\/p>\n<\/p>\n<p>My co-founder and I both come from mortgage families (Freddie, Fannie, FHA), so the space is personal to us and we built <a href=\"https:\/\/www.copperlane.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Copperlane<\/a> to fix it. <\/p>\n<\/p>\n<p><strong>How Copperlane is Different \ud83d\ude80<\/strong><br \/>Copperlane is an AI-native loan origination system powered by our agent, Penny, who behaves like a real loan officer.<\/p>\n<p>\ud83d\udd38 <strong>Penny handles intake proactively<\/strong> \u2013 She pulls borrower docs, reads them, and checks the borrower\u2019s loan eligibility.<br \/>\ud83d\udd38 <strong>Guides borrowers through the application<\/strong> \u2013 Penny answers questions and proactively helps borrowers complete the loan application correctly.<br \/>\ud83d\udd38 <strong>Proactively fixes issues<\/strong> \u2013 Is the borrower missing a paystub? Or reported conflicting income? Penny flags it immediately and follows up with the borrower.<br \/>\ud83d\udd38 <strong>Delivers clean files to lenders<\/strong> \u2013 Loan officers receive clear, organized files and can focus on bringing in new loans. <\/p>\n<\/p>\n<p><strong>Who this is for<\/strong><br \/>If you\u2019re a lender or loan officer dealing with slow intake, Penny helps you close loans faster without extra headcount.<\/p>\n<p><strong>\ud83d\udcce Get started today<\/strong><br \/>We\u2019d love to show you what Penny can do! You can book a demo at <a href=\"https:\/\/copperlane.cal.com\/demo\/30min\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here.<\/a><\/p>\n<p>Carpe Diem, <\/p>\n<p>\u2013 Brianna &amp; Athan<\/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\">@brianna_lin congratulations \ud83d\udc4f, amazing \ud83e\udd29<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@brianna_lin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brianna_lin<\/a>Hi Brianna, congrats on launching Copperlane, Penny sounds like a really smart way to tackle the messy mortgage intake process.<\/p>\n<p>I\u2019m currently researching how founders track and improve the operational health of complex SaaS products, especially ones powered by AI agents. I\u2019d love to hear your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@brianna_lin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brianna_lin<\/a>&nbsp;Hi Briana, indeed this was a long term waiting on filling the gaps from the underwriting side to handle complex paperwork. I am a business advisor and work with lots of lenders in SBA 7a and conventional loans. Is your model strictly for residential mortgages or can it be utilized for business or commercial properties?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats <a href=\"https:\/\/www.producthunt.com\/@athanzhang\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"athanzhang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@athanzhang<\/a> <a href=\"https:\/\/www.producthunt.com\/@brianna_lin\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"brianna_lin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brianna_lin<\/a> ! Great work!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@athanzhang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@athanzhang<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@cade_russell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cade_russell<\/a>&nbsp;Thanks Cade!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 pretty damn cool. How did you guys land on this 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gobhanu_korisepati\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gobhanu_korisepati<\/a>&nbsp;Thanks!! Athan and I&#8217;s parent both work in the mortgage space so we grew up around it and got to learn about it first hand from them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on the launch! This looks like a time and money saver!<\/div>\n<div class=\"comment-actions\">\n<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\/@chimwemwe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chimwemwe<\/a>&nbsp;Thanks!! Love to hear \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<h2><\/h2>\n<p>How does Penny handle complex or non-standard borrower scenarios, such as self-employment income or inconsistent documentation, while ensuring full compliance with mortgage lending regulations?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mordrag\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mordrag<\/a>&nbsp;Hey Denis! So Penny flags things like self-employment income or inconsistent docs early, asks the borrower for the right supporting documents, and organizes everything for the loan team so underwriting gets a clean\/compliant file.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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! i came from linkedin \ud83d\ude42 i was wondering whats the most exciting thing you\u2019re looking forward to regarding copperlane\u2019s launch?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@celinees\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@celinees<\/a>&nbsp;Just sharing it with other people! We love hearing what people have to say abt what we&#8217;re building and appreciate all the questions\/feedback.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The document verification piece is what catches my attention \u2014 that&#8217;s historically been the biggest bottleneck in loan processing, not the rate calculation. Curious how Penny handles edge cases like inconsistent income documentation for self-employed borrowers, that&#8217;s usually where automated systems fall apart and a human has to step back in. If you&#8217;ve solved that reliably this could be genuinely transformative for smaller lenders who can&#8217;t afford large underwriting teams.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@zerodarkhub\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zerodarkhub<\/a>&nbsp;Hey! Great question, so Penny flags inconsistencies across documents (like mismatched income signals) and surfaces them with clear explanations so loan officers can quickly review edge cases.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;AI people learning mortgage&#8221; vs &#8220;mortgage people trying to build AI&#8221; framing is sharp and honest. Having Penny proactively flag issues like missing paystubs instead of waiting for a loan officer to catch it manually is where the real time savings happen. Congrats on YC W26, Brianna and Athan.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@siddhant_khurana\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@siddhant_khurana<\/a>&nbsp;Appreciate that! That\u2019s exactly the idea behind Penny &#8212; catching issues like missing paystubs early and keeping the file clean so loan officers don\u2019t have to hunt through documents later.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats Brianna! It\u2019s really useful and smartly focused on one specific niche. All the best here!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank you, really appreciate it! We&#8217;re excited to keep building for the mortgage industry. \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>What usually kills these flows is the resend-this-doc loop. Copperlane looks strongest where it flags edge cases before underwriting, because W-2 auto-fill matters less than giving ops one clean place to clear missing docs and big deposits.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@piroune_balachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piroune_balachandran<\/a>&nbsp;Hey Piroune! Exactly, so the resend-this-doc loop is what slows everything down. Penny focuses on catching missing docs, big deposits, and inconsistencies early and giving ops one clean place to resolve them before underwriting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">The mortgage process is still incredibly manual, so this feels like a meaningful use of AI. Having an agent that can guide borrowers, verify documents, and move the process forward automatically could save a lot of time for loan teams.<\/p>\n<p>I\u2019m curious how Penny handles complex cases where financial documents don\u2019t perfectly match or need manual clarification.<\/p>\n<p>Congrats on the launch.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alamenigma\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alamenigma<\/a>&nbsp;Thanks so much! In those cases Penny flags inconsistencies and surfaces them clearly for the loan officer. Penny will also proactively chase after borrowers over SMS\/email\/phone.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 solves a real pain point. I am curious to know how your underlying system is going to manage the high amount of context so that it does not hallucinate. Amazing work!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vedantxn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vedantxn<\/a>&nbsp;Great question Vedant! Penny doesn\u2019t rely on open-ended generation. It grounds everything directly in the borrower\u2019s documents and structured loan data, so the outputs stay traceable and verifiable for the loan team.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Brianna, coming from mortgage families at Freddie, Fannie, and FHA, you must have seen this intake chaos up close for years. Was there a specific loan or moment where you watched the back and forth over missing docs drag on way too long and thought why is this still so broken?<\/div>\n<div class=\"comment-actions\">\n<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\/@vouchy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vouchy<\/a>&nbsp;I think seeing how the 2008 crisis affected so many families, and later watching loan files stall over missing docs, made it clear how broken the process still is. That&#8217;s what drove us \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DEZFMI42LNAWGI\" class=\"app-title\">FasterGH<\/a><\/p>\n<div class=\"one-liner\">Fast GitHub browsing experience<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">202<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>FasterGH\u662f\u4e00\u6b3e\u901a\u8fc7Convex\u5b9e\u65f6\u7f13\u5b58\u5c42\u63d0\u4f9b\u4f4e\u5ef6\u8fdf\u8bfb\u53d6\u7684GitHub\u955c\u50cf\u754c\u9762\uff0c\u5728\u5f00\u53d1\u8005\u65e5\u5e38\u6d4f\u89c8\u548c\u63a2\u7d22\u5927\u578b\u4ee3\u7801\u4ed3\u5e93\u65f6\uff0c\u89e3\u51b3\u4e86\u5b98\u65b9UI\u81c3\u80bf\u3001\u9875\u9762\u52a0\u8f7d\u7f13\u6162\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d2f507db-4f20-4df7-a542-8324ce1b0bbf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/013a3b03-a066-4c8c-85da-38ac1b37c3ec.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">GitHub\u955c\u50cf<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6027\u80fd\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u754c\u9762\u7b80\u5316<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u7f13\u5b58<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u6d4f\u89c8<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u52a0\u901f<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u7b80\u5316\u754c\u9762\u548c\u52a0\u901f\u6d4f\u89c8\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u8ba4\u4e3a\u5bf9\u65e5\u5e38\u5f00\u53d1\u6548\u7387\u63d0\u5347\u663e\u8457\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u4e8e\u5728\u590d\u6742\u573a\u666f\uff08\u5982\u5ba1\u67e5\u7ebf\u7a0b\u3001\u68c0\u67e5\u8fd0\u884c\u5806\u79ef\u65f6\uff09\u80fd\u5426\u4fdd\u6301\u901f\u5ea6\uff0c\u5e76\u5efa\u8bae\u589e\u52a0\u9ad8\u6548\u5bfc\u822a\u5927\u578b\u4ee3\u7801\u5e93\u7684\u5feb\u6377\u952e\u6216\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                FasterGH\u7684\u5b9a\u4f4d\u770b\u4f3c\u662f\u754c\u9762\u4f18\u5316\uff0c\u5b9e\u5219\u89e6\u53ca\u4e86\u5f00\u53d1\u8005\u5de5\u5177\u9886\u57df\u4e00\u4e2a\u6df1\u5c42\u77db\u76fe\uff1a\u529f\u80fd\u5b8c\u5907\u6027\u4e0e\u64cd\u4f5c\u6d41\u7545\u6027\u7684\u6c38\u6052\u535a\u5f08\u3002GitHub\u4f5c\u4e3a\u201c\u5355\u4e00\u4e8b\u5b9e\u6765\u6e90\u201d\u786e\u4fdd\u4e86\u6570\u636e\u6743\u5a01\u6027\uff0c\u800cConvex\u4f5c\u4e3a\u4f4e\u5ef6\u8fdf\u8bfb\u53d6\u6a21\u578b\uff0c\u672c\u8d28\u662f\u5728\u7528\u6237\u4f53\u9a8c\u5c42\u8fdb\u884c\u4e86\u4e00\u573a\u201c\u8bfb\u5199\u5206\u79bb\u201d\u7684\u67b6\u6784\u624b\u672f\u3002\u8fd9\u5e76\u975e\u7b80\u5355\u7684UI\u6362\u80a4\uff0c\u800c\u662f\u901a\u8fc7\u7f13\u5b58\u7b56\u7565\u5c06\u9ad8\u9891\u8bfb\u53d6\u8def\u5f84\u4eceGitHub API\u4e2d\u5265\u79bb\uff0c\u9488\u5bf9\u6027\u6253\u51fb\u4e86\u9875\u9762\u52a0\u8f7d\u5ef6\u8fdf\u8fd9\u4e00\u6838\u5fc3\u75fc\u75be\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u8003\u9a8c\u5e76\u975e\u5728\u9759\u6001\u9875\u9762\u6d4f\u89c8\uff0c\u800c\u5728\u4e8e\u52a8\u6001\u4ea4\u4e92\u573a\u666f\u3002\u5982\u8bc4\u8bba\u6240\u6307\uff0c\u5f53Review\u7ebf\u7a0b\u3001\u68c0\u67e5\u8fd0\u884c\u7b49\u52a8\u6001\u5185\u5bb9\u5806\u79ef\u65f6\uff0cGitHub\u7684\u81e0\u80bf\u611f\u624d\u771f\u6b63\u663e\u73b0\u3002FasterGH\u82e5\u4ec5\u7f13\u5b58\u521d\u59cb\u9875\u9762\u6570\u636e\uff0c\u800c\u672a\u80fd\u5c06\u4ee3\u7801\u5dee\u5f02\u3001\u8bc4\u8bba\u6d41\u3001CI\u72b6\u6001\u7b49\u5b9e\u65f6\u66f4\u65b0\u5185\u5bb9\u4e5f\u7eb3\u5165\u5176\u4f4e\u5ef6\u8fdf\u540c\u6b65\u4f53\u7cfb\uff0c\u5219\u5176\u201c\u52a0\u901f\u201d\u4f53\u9a8c\u5c06\u662f\u7247\u9762\u7684\u3001\u6613\u788e\u7684\u3002\u4ea7\u54c1\u7684\u957f\u671f\u4ef7\u503c\u53d6\u51b3\u4e8e\u5176\u7f13\u5b58\u7b56\u7565\u7684\u6df1\u5ea6\u4e0e\u5b9e\u65f6\u540c\u6b65\u7684\u667a\u80fd\u5ea6\u2014\u2014\u5b83\u80fd\u5426\u51c6\u786e\u9884\u5224\u5f00\u53d1\u8005\u7684\u6d4f\u89c8\u8def\u5f84\uff0c\u5e76\u5efa\u7acb\u76f8\u5e94\u7684\u7f13\u5b58\u9884\u70ed\u548c\u5931\u6548\u673a\u5236\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u5176\u53d1\u5c55\u8def\u5f84\u9762\u4e34\u4e00\u4e2a\u6218\u7565\u9009\u62e9\uff1a\u662f\u575a\u5b88\u201c\u7eaf\u51c0\u52a0\u901f\u5668\u201d\u7684\u5b9a\u4f4d\uff0c\u8fd8\u662f\u9010\u6b65\u6dfb\u52a0\u5bfc\u822a\u5feb\u6377\u952e\u3001\u4ee3\u7801\u5173\u7cfb\u53ef\u89c6\u5316\u7b49\u589e\u5f3a\u529f\u80fd\uff1f\u540e\u8005\u867d\u80fd\u63d0\u5347\u7c98\u6027\uff0c\u4f46\u4e5f\u53ef\u80fd\u91cd\u8e48\u201c\u529f\u80fd\u81a8\u80c0\u201d\u7684\u8986\u8f99\uff0c\u80cc\u79bb\u521d\u8877\u3002FasterGH\u7684\u4ef7\u503c\u6838\u5fc3\u5e94\u59cb\u7ec8\u951a\u5b9a\u5728\u201c\u65e0\u611f\u52a0\u901f\u201d\u2014\u2014\u8ba9\u5f00\u53d1\u8005\u611f\u89c9\u4e0d\u5230\u5b83\u7684\u5b58\u5728\uff0c\u53ea\u662f\u89c9\u5f97GitHub\u201c\u83ab\u540d\u201d\u53d8\u5feb\u4e86\u3002\u4efb\u4f55\u65b0\u589e\u529f\u80fd\u90fd\u5e94\u4ee5\u4e0d\u5f15\u5165\u989d\u5916\u5ef6\u8fdf\u4e3a\u524d\u63d0\u3002\u5426\u5219\uff0c\u5b83\u53ea\u4f1a\u6210\u4e3a\u53e6\u4e00\u4e2a\u9700\u8981\u88ab\u201c\u52a0\u901f\u201d\u7684\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">FasterGH<\/span>\n                <\/div>\n<div class=\"comment-content\">FasterGH is a fast GitHub mirror UI backed by Convex as a real-time cache\/sync layer. GitHub is the source of truth; Convex is the low-latency read model.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/products\/github\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"github\" target=\"_blank\" rel=\"noopener\">@GitHub<\/a> UI is cluttered. <a href=\"https:\/\/www.producthunt.com\/@rhyssullivan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"rhyssullivan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rhyssullivan<\/a> just made it simplifier and faster. LFG<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A read-optimized UI that never hits the GitHub API on page load makes FasterGH more than a visual cleanup. Does it keep that speed once review threads and check runs pile up? That is where GitHub usually starts to feel bloated.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">GitHub navigation can get slow when you\u2019re jumping across large repos, so a tool focused purely on making the browsing experience faster is a great idea.<\/p>\n<p>Improving something developers use every day can have a surprisingly big impact on productivity.<\/p>\n<p>Curious if FasterGH also adds shortcuts or features for navigating large codebases more efficiently.<\/p>\n<p>Congrats on the launch.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/F7EYLEJXM3YKD6\" class=\"app-title\">21st Agents SDK<\/a><\/p>\n<div class=\"one-liner\">SDK to add an Claude Code AI agent to your app<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">170<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u8fd9\u662f\u4e00\u4e2a\u5141\u8bb8\u5f00\u53d1\u8005\u7528TypeScript\u5feb\u901f\u5b9a\u4e49\u3001\u4e00\u952e\u90e8\u7f72\u5e76\u96c6\u6210\u751f\u4ea7\u7ea7\u804a\u5929UI\u7684SDK\uff0c\u89e3\u51b3\u4e86\u5728\u5e94\u7528\u4e2d\u96c6\u6210\u7c7b\u4f3cClaude Code\u7ea7\u522bAI\u667a\u80fd\u4f53\u65f6\uff0c\u9762\u4e34\u7684\u57fa\u7840\u8bbe\u65bd\u6784\u5efa\u590d\u6742\u3001\u5f00\u53d1\u5468\u671f\u957f\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/97b02022-d8ae-4168-a943-82e3c5f60c2e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0a33a305-a335-4f32-8c8f-96e8847093b0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9f5e1489-5964-4af8-bb8d-601ebe66992b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e367b074-1ff9-44f7-9250-e67676513621.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">SDK<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u667a\u80fd\u4f53SDK<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801AI\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">TypeScript\u5b9a\u4e49<\/span><br \/>\n            <span class=\"tag\">\u4e00\u952e\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u5c31\u7eeaUI<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">Y Combinator<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/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\u5f00\u53d1\u8005\u4f53\u9a8c\u548c\u964d\u4f4e\u96c6\u6210\u6469\u64e6\u7684\u4ef7\u503c\u3002\u4e3b\u8981\u53cd\u9988\u5305\u62ec\uff1a\u5efa\u8bae\u660e\u786e\u4ea7\u54c1\u5b9a\u4f4d\u4e3a\u201cAI\u4ea7\u54c1\u57fa\u7840\u8bbe\u65bd\u201d\uff1b\u8be2\u95ee\u591a\u667a\u80fd\u4f53\u8de8\u90e8\u7f72\u534f\u8c03\u80fd\u529b\uff1b\u5173\u6ce8\u56e2\u961f\u5b9a\u5236\u540e\u7684\u7248\u672c\u7ba1\u7406\uff1b\u597d\u5947\u4e3b\u8981\u5e94\u7528\u573a\u666f\u662f\u5185\u90e8\u5de5\u5177\u8fd8\u662f\u7528\u6237\u7aef\u4ea7\u54c1\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                21st Agents SDK \u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u6b63\u5728\u7206\u53d1\u7684\u5e02\u573a\u7f1d\u9699\uff1aAI\u667a\u80fd\u4f53\u4ece\u201c\u73a9\u5177\u201d\u8d70\u5411\u201c\u4ea7\u54c1\u201d\u7684\u5de5\u7a0b\u5316\u9e3f\u6c9f\u3002\u5176\u771f\u6b63\u4ef7\u503c\u5e76\u975e\u6280\u672f\u521b\u65b0\uff0c\u800c\u662f\u5de5\u7a0b\u6574\u5408\u3002\u5b83\u654f\u9510\u5730\u610f\u8bc6\u5230\uff0cAnthropic\u7b49\u6a21\u578b\u516c\u53f8\u5728\u6838\u5fc3\u63a8\u7406\u80fd\u529b\u4e0a\u5efa\u7acb\u7684\u58c1\u5792\uff0c\u5df2\u4f7f\u5f97\u5927\u591a\u6570\u56e2\u961f\u81ea\u7814\u667a\u80fd\u4f53\u201c\u57fa\u7840\u8bbe\u65bd\u201d\u53d8\u5f97\u4e0d\u7ecf\u6d4e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u806a\u660e\u5730\u505a\u4e86\u4e00\u4e2a\u201c\u51cf\u6cd5\u201d\uff1a\u4e0d\u518d\u9f13\u52b1\u5f00\u53d1\u8005\u91cd\u590d\u9020\u8f6e\u5b50\uff0c\u800c\u662f\u5c06Claude Code\u7b49\u9876\u7ea7\u6a21\u578b\u4f5c\u4e3a\u65e2\u5b9a\u5f15\u64ce\uff0c\u81ea\u8eab\u5219\u4e13\u6ce8\u4e8e\u5c01\u88c5\u6240\u6709\u8ba9\u5f15\u64ce\u80fd\u7a33\u5b9a\u3001\u53ef\u89c2\u6d4b\u3001\u6613\u7528\u63a5\u5165\u4ea7\u54c1\u7684\u201c\u5916\u58f3\u201d\u3002TypeScript\u5b9a\u4e49\u3001\u4e00\u952e\u90e8\u7f72\u3001\u5185\u7f6eUI\u548c\u53ef\u89c2\u6d4b\u6027\uff0c\u8fd9\u5957\u7ec4\u5408\u62f3\u7784\u51c6\u7684\u662fAI\u5e94\u7528\u5f00\u53d1\u8005\u6700\u73b0\u5b9e\u7684\u7126\u8651\u2014\u2014\u5982\u4f55\u5c06\u5b9e\u9a8c\u5ba4\u91cc\u60ca\u8273\u7684Demo\uff0c\u5feb\u901f\u3001\u53ef\u9760\u5730\u8f6c\u5316\u4e3a\u7528\u6237\u53ef\u7528\u7684\u529f\u80fd\uff0c\u800c\u4e0d\u9677\u5165\u8fd0\u7ef4\u6ce5\u6f6d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u6311\u6218\u4e5f\u540c\u6837\u660e\u663e\u3002\u9996\u5148\uff0c\u5b83\u6df1\u5ea6\u7ed1\u5b9aClaude\u6a21\u578b\uff0c\u6a21\u578b\u516c\u53f8\u7684\u6218\u7565\u53d8\u52a8\u6216\u5b9a\u4ef7\u8c03\u6574\u5c06\u662f\u5176\u6700\u5927\u7684\u7cfb\u7edf\u6027\u98ce\u9669\u3002\u5176\u6b21\uff0c\u5176\u5b9a\u4f4d\u4ecb\u4e8e\u201c\u7ec4\u4ef6\u5e93\u201d\u548c\u201cPaaS\u5e73\u53f0\u201d\u4e4b\u95f4\uff0c\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u57fa\u7840\u8bbe\u65bd\u201d\u7684\u5b9a\u4f4d\u5efa\u8bae\u4e00\u9488\u89c1\u8840\u3002\u82e5\u4f5c\u4e3a\u8f7b\u91cfSDK\uff0c\u672a\u6765\u5728\u590d\u6742\u4f01\u4e1a\u573a\u666f\u4e0b\u7684\u529f\u80fd\u6df1\u5ea6\u53ef\u80fd\u4e0d\u8db3\uff1b\u82e5\u5411\u91cd\u578b\u5e73\u53f0\u6f14\u8fdb\uff0c\u5219\u53ef\u80fd\u5931\u53bb\u5176\u201c\u7b80\u5355\u5feb\u901f\u201d\u7684\u6838\u5fc3\u5438\u5f15\u529b\u3002\u6700\u540e\uff0c\u667a\u80fd\u4f53\u751f\u6001\u6b63\u8d70\u5411\u591a\u667a\u80fd\u4f53\u534f\u4f5c\uff0c\u5f53\u524dSDK\u805a\u7126\u4e8e\u5355\u667a\u80fd\u4f53\u5d4c\u5165\uff0c\u8bc4\u8bba\u4e2d\u63d0\u53ca\u7684\u201c\u8de8\u667a\u80fd\u4f53\u534f\u8c03\u201d\u95ee\u9898\uff0c\u5c06\u662f\u5176\u80fd\u5426\u652f\u6491\u4e0b\u4e00\u4ee3AI\u5e94\u7528\u7684\u5173\u952e\u8003\u9a8c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u5728\u6b63\u786e\u65f6\u673a\u51fa\u73b0\u7684\u3001\u89e3\u51b3\u771f\u95ee\u9898\u7684\u4ea7\u54c1\u3002\u5b83\u4e0d\u521b\u9020\u65b0\u8303\u5f0f\uff0c\u800c\u662f\u81f4\u529b\u4e8e\u8ba9\u9876\u7ea7\u8303\u5f0f\u5f97\u4ee5\u666e\u53ca\uff0c\u5176\u6210\u8d25\u5c06\u53d6\u51b3\u4e8e\u5728\u201c\u5c01\u88c5\u590d\u6742\u5ea6\u201d\u4e0e\u201c\u4fdd\u6301\u7075\u6d3b\u6027\u201d\u4e4b\u95f4\u7684\u7cbe\u5999\u5e73\u8861\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\">21st Agents SDK<\/span>\n                <\/div>\n<div class=\"comment-content\">21st Agents SDK is the fastest way to add an AI agent to your app. Define your agent in TypeScript, deploy in one command, and embed a production-ready chat UI with Built-in streaming, session management, usage billing, and observability \u2014 so you can focus on what makes your agent unique, not infrastructure. Backed by Y Combinator (W26).<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! Serafim &amp; Sergey here, co-founders of 21st.dev (YC W26).<\/p>\n<p>Last year we built 21st.dev \u2014 a platform that 1.4M+ developers now use to<br \/>\nbuild UI for their AI apps and agents. Along the way we built our own AI<br \/>\ndeveloper tools and agentic applications. They were loved by tens of<br \/>\nthousands of developers and gained strong open-source support (14K+ GitHub stars).<\/p>\n<p>Like many teams, we started by building our own agents from scratch.<\/p>\n<p>Then Claude Code arrived. Its reasoning, context handling, and developer<br \/>\nworkflows were far ahead of anything we had built ourselves. It became<br \/>\nobvious: if your product isn&#8217;t powered by something like Claude Code,<br \/>\nyour agent will always feel limited.<\/p>\n<p>But bringing that level of capability into your product is not simple.<br \/>\nYou still have to build the agent UI, sandbox execution infrastructure,<br \/>\nstreaming systems, observability \u2014 an entire platform just to run the agent.<\/p>\n<p>So we built 21st Agents SDK.<\/p>\n<p>The agent execution layer for modern AI products:<\/p>\n<p>\u2192 Define in TypeScript \u2014 agent({ model: &#8216;claude-sonnet-4-6&#8217;, tools: {&#8230;} }). That&#8217;s your entire agent definition.<br \/>\n\u2192 One-command deploy \u2014 npx @21st-agents\/cli deploy. Sandboxed cloud execution, managed for you.<br \/>\n\u2192 Drop-in React UI \u2014  \u2014 production-ready chat with streaming, tool execution rendering, and theming.<br \/>\n\u2192 Built-in observability \u2014 Session replay, tool call traces, error tracking.<br \/>\n\u2192 Your code stays in your codebase. Full control. Infrastructure just works.<\/p>\n<p>Stop rebuilding agent infrastructure. Start building better AI products.<\/p>\n<p>What are you building? Drop a comment \u2014 we&#8217;d love to help you scope it out.<\/p>\n<p>Docs: 21st.dev\/agents\/docs<br \/>\nWebsite: 21st.dev\/agents<\/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\/@21st\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@21st<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@serafimcloud\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@serafimcloud<\/a>  I&#8217;ve been working on the other end of this \u2014 getting agent instances to discover and talk to each other across machines, not embedding them into apps. So it&#8217;s cool to see someone tackling the deployment side. One thing I keep running into though: once you have multiple agents across different deployments, how do they find each other? Does your SDK handle any of that coordination, or is that out of scope?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>One thing stood out: it\u2019s positioned as a component registry, but the product actually looks closer to <strong>AI product infrastructure<\/strong> (ui + agents + sdk)<\/p>\n<\/p>\n<p>Framing it that way might resonate more with teams building AI apps<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Had a few shadcn installs turn into local forks fast. 21st pulling components, blocks, and hooks into one stack feels useful, and a really clear diff or version flow would make that npx shadcn path hold up once teams start customizing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">The developer experience here looks really well thought out. Being able to define an agent in TypeScript and deploy it quickly with built-in UI and infrastructure could remove a lot of friction for teams experimenting with agent features.<\/p>\n<p>I like that things like session management and observability are already handled so developers can focus on the actual agent logic.<\/p>\n<p>Curious if teams are mostly using this to build internal tools first or embedding agents directly into user-facing apps.<\/p>\n<p>Congrats on the launch.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DXVAKTERMMJYXF\" class=\"app-title\">Variant<\/a><\/p>\n<div class=\"one-liner\">Endless designs for your ideas, just scroll.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">125<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Variant\u662f\u4e00\u6b3e\u901a\u8fc7\u201c\u5237\u201d\u800c\u975e\u201c\u5199\u201d\u6765\u751f\u6210\u65e0\u9650\u8bbe\u8ba1\u65b9\u6848\u7684AI\u5de5\u5177\uff0c\u5728\u9879\u76ee\u65e9\u671f\u6216\u7f3a\u4e4f\u660e\u786e\u8bbe\u8ba1\u8bed\u8a00\u65f6\uff0c\u5e2e\u52a9\u7528\u6237\u901a\u8fc7\u76f4\u89c2\u6d4f\u89c8\u5feb\u901f\u63a2\u7d22\u548c\u786e\u7acb\u8bbe\u8ba1\u98ce\u683c\u65b9\u5411\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u8bbe\u8ba1\u5de5\u5177\u4f9d\u8d56\u7cbe\u51c6\u63cf\u8ff0\u3001\u7075\u611f\u67af\u7aed\u548c\u8bd5\u9519\u6210\u672c\u9ad8\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 single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aeb15e63-b9e0-484f-a64d-51c303f44b2f.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>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7075\u611f\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u63a2\u7d22<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u65b9\u5411<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u98ce\u683c\u8fc1\u79fb<\/span><br \/>\n            <span class=\"tag\">\u65e0\u63d0\u793a\u8bcd\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5373\u65f6\u6e32\u67d3<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u539f\u578b<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u201c\u5c55\u793a\u800c\u975e\u8bb2\u8ff0\u201d\u7684\u6838\u5fc3\u7406\u5ff5\uff0c\u8ba4\u4e3a\u5176\u5728\u9879\u76ee\u65e9\u671f\u63a2\u7d22\u9636\u6bb5\u4ef7\u503c\u7a81\u51fa\u3002\u4e3b\u8981\u95ee\u9898\u96c6\u4e2d\u4e8e\uff1a\u751f\u6210\u5185\u5bb9\u52a0\u8f7d\u663e\u793a\u5f02\u5e38\uff1b\u5982\u4f55\u5904\u7406\u6709\u4e25\u683c\u7ea6\u675f\uff08\u5982\u73b0\u6709\u54c1\u724c\u7cfb\u7edf\uff09\u7684\u8bbe\u8ba1\u9700\u6c42\uff1b\u4ee5\u53ca\u7f3a\u4e4f\u5feb\u901f\u7b5b\u9009\u3001\u56fa\u5b9a\u548c\u5bfc\u51fa\u65b9\u6848\u7684\u201c\u9489\u9009\u5bf9\u6bd4\u201d\u5de5\u4f5c\u6d41\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                Variant\u7684\u201c\u53cd\u63d0\u793a\u8bcd\u201d\u54f2\u5b66\uff0c\u6233\u4e2d\u4e86\u5f53\u524dAIGC\u5de5\u5177\u7684\u6838\u5fc3\u69fd\u70b9\uff1a\u5c06\u521b\u9020\u6027\u7684\u201c\u611f\u89c9\u201d\u7ffb\u8bd1\u6210\u7cbe\u51c6\u7684\u201c\u6307\u4ee4\u201d\u672c\u8eab\uff0c\u5c31\u662f\u4e00\u79cd\u9ad8\u95e8\u69db\u7684\u521b\u4f5c\u3002\u5b83\u8bd5\u56fe\u56de\u5f52\u4eba\u7c7b\u66f4\u672c\u80fd\u7684\u89c6\u89c9\u7b5b\u9009\u6a21\u5f0f\uff0c\u5c06AI\u5b9a\u4f4d\u4e3a\u4e00\u4f4d\u4e0d\u77e5\u75b2\u5026\u3001\u7075\u611f\u55b7\u6d8c\u7684\u201c\u521b\u610f\u603b\u76d1\u201d\uff0c\u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u964d\u4f4e\u7075\u611f\u63a2\u7d22\u7684\u542f\u52a8\u6210\u672c\u548c\u8ba4\u77e5\u8d1f\u8377\uff0c\u5c24\u5176\u670d\u52a1\u4e8e\u201c\u6211\u4e0d\u77e5\u9053\u8981\u4ec0\u4e48\uff0c\u4f46\u770b\u5230\u5c31\u77e5\u9053\u201d\u7684\u6a21\u7cca\u524d\u671f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u8d28\u7591\u540c\u6837\u5c16\u9510\uff0c\u63ed\u793a\u4e86\u5176\u4f5c\u4e3a\u201c\u63a2\u7d22\u578b\u201d\u5de5\u5177\u7684\u5929\u7136\u8fb9\u754c\u3002\u8bc4\u8bba\u4e2d\u53cd\u590d\u51fa\u73b0\u7684\u201c\u5982\u4f55\u5e94\u5bf9\u5df2\u6709\u54c1\u724c\u7ea6\u675f\u201d\u7684\u95ee\u9898\uff0c\u76f4\u6307\u5176\u5f53\u524d\u53ef\u80fd\u66f4\u64c5\u957f\u201c\u53d1\u6563\u201d\u800c\u975e\u201c\u6536\u655b\u201d\uff0c\u66f4\u9002\u7528\u4e8e\u201c\u4ece0\u52301\u201d\u7684\u98ce\u683c\u63a2\u7d22\uff0c\u800c\u975e\u201c\u4ece1\u5230N\u201d\u7684\u7cfb\u7edf\u5316\u5ef6\u5c55\u3002\u8fd9\u6697\u793a\u4e86\u5176\u4f5c\u4e3a\u4e13\u4e1a\u5de5\u4f5c\u6d41\u4e2d\u201c\u524d\u7aef\u7075\u611f\u63d2\u4ef6\u201d\u7684\u5b9a\u4f4d\uff0c\u800c\u975e\u8986\u76d6\u5168\u6d41\u7a0b\u7684\u751f\u4ea7\u529b\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u6761\u5173\u4e8e\u201c\u9489\u9009\u4e0e\u5bf9\u6bd4\u201d\u529f\u80fd\u7684\u5efa\u8bae\u5219\u66f4\u4e3a\u81f4\u547d\u3002\u65e0\u6b62\u5883\u7684\u9009\u9879\u7011\u5e03\u6d41\u82e5\u7f3a\u4e4f\u6709\u6548\u7684\u6355\u6349\u3001\u5bf9\u6bd4\u548c\u6df1\u5316\u673a\u5236\uff0c\u6781\u6613\u5bfc\u81f4\u7528\u6237\u9677\u5165\u201c\u6ed1\u52a8\u9ebb\u75f9\u201d\uff0c\u6700\u7ec8\u4e00\u65e0\u6240\u83b7\u3002\u8fd9\u4e0d\u4ec5\u662f\u529f\u80fd\u7f3a\u5931\uff0c\u66f4\u662f\u4ea7\u54c1\u903b\u8f91\u662f\u5426\u95ed\u73af\u7684\u5173\u952e\u8003\u9a8c\u3002Variant\u7684\u806a\u660e\u5728\u4e8e\u5207\u6362\u4e86\u8f93\u5165\u65b9\u5f0f\uff0c\u4f46\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\u5982\u4f55\u6784\u5efa\u4e00\u4e2a\u9ad8\u6548\u7684\u8f93\u51fa\u6f0f\u6597\uff0c\u5c06\u6f2b\u65e0\u76ee\u7684\u7684\u201c\u5237\u201d\u8f6c\u5316\u4e3a\u53ef\u51b3\u7b56\u3001\u53ef\u6267\u884c\u7684\u201c\u9009\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u7248\u672c\u50cf\u4e00\u628a\u950b\u5229\u7684\u6982\u5ff5\u5315\u9996\uff0c\u5212\u5f00\u4e86\u65b0\u7684\u4ea4\u4e92\u53ef\u80fd\uff0c\u4f46\u5176\u5200\u80cc\u7684\u539a\u5ea6\u2014\u2014\u5728\u5904\u7406\u7ea6\u675f\u6027\u4efb\u52a1\u3001\u96c6\u6210\u81f3\u751f\u4ea7\u73af\u8282\u7684\u6df1\u5ea6\u2014\u2014\u5c06\u51b3\u5b9a\u5b83\u6700\u7ec8\u662f\u4e00\u628a\u73a9\u5177\u5315\u9996\uff0c\u8fd8\u662f\u4e00\u67c4\u80fd\u5d4c\u5165\u4e13\u4e1a\u5de5\u4f5c\u6d41\u7684\u5b9e\u7528\u519b\u5200\u3002\u5b83\u7684\u6210\u529f\uff0c\u53d6\u51b3\u4e8e\u80fd\u5426\u4ece\u201c\u4ee4\u4eba\u60ca\u8273\u7684\u7075\u611f\u6cc9\u773c\u201d\uff0c\u8fdb\u5316\u6210\u201c\u53ef\u4fe1\u8d56\u7684\u8bbe\u8ba1\u7cfb\u7edf\u4f19\u4f34\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\">Variant<\/span>\n                <\/div>\n<div class=\"comment-content\">Most tools make you explain what you want. Variant just shows you. It\u2019s like working with a creative director that never runs out of options. A tool that lets you absorb the vibe of anything you point it at and apply it to your designs<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is very handy for vibe coding and I imagine there will be many others like this around going forwards. Great job!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great idea! On my screen a lot of the scrolling boxes are empty. Is that just a loading issue on my end, or is it just that way as more and more content gets populated?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does this tool handle constrained briefs and existing brand systems when generating variations, rather than just open-ended exploration?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the &#8220;show don&#8217;t tell&#8221; angle here \u2014 most design tools are still stuck in the prompt-and-pray loop, so just scrolling through generated directions feels like a much more natural way to find a vibe. I could see this being especially powerful early in a project when you don&#8217;t yet have the vocabulary to describe what you want. Curious how it handles more constrained briefs though, like when you already have a brand system and just need variations within it rather than truly open-ended exploration.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>very promising, with improved performance, it could be my go-to for inspiration !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Variant turning idea generation into scroll instead of prompt rewrite is smart. A pin and compare flow would make it stick, because endless options only help if you can narrow fast and carry one direction into HTML or React cleanly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 can we design with it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thats interesting. What dod you use to build 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<\/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\/IE2R2WSRUQDWSA\" class=\"app-title\">LTX Desktop<\/a><\/p>\n<div class=\"one-liner\">Local open-source LTX video editor optimized for GPUs<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">118<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>LTX Desktop\u662f\u4e00\u6b3e\u5b8c\u5168\u672c\u5730\u8fd0\u884c\u3001\u5f00\u6e90\u7684\u975e\u7ebf\u6027\u89c6\u9891\u7f16\u8f91\u5668\uff0c\u96c6\u6210\u4e86\u8bbe\u5907\u7aefAI\u751f\u6210\u529f\u80fd\uff0c\u4e3a\u521b\u4f5c\u8005\u63d0\u4f9b\u4e86\u514d\u4e91\u4f9d\u8d56\u3001\u65e0\u6309\u6b21\u4ed8\u8d39\u7684\u514d\u8d39\u89c6\u9891\u521b\u4f5c\u4e0e\u5b9e\u9a8c\u5e73\u53f0\uff0c\u89e3\u51b3\u4e86\u4e91\u7aefAI\u670d\u52a1\u6210\u672c\u9ad8\u548c\u6570\u636e\u9690\u79c1\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\/e4f75f2f-152e-419a-9734-97d70db345c8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/716dc3e0-d6ed-4e18-b8ff-25e4b9a3caa2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/23048af5-8420-4733-840b-62e7f266378b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3c43fa5f-30eb-49bd-817b-4e3d0fb8d827.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\/4edd247c-4c9e-4987-8419-eb68da78b0e3.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=nL3Efak3FnI\"><source src=\"https:\/\/www.youtube.com\/watch?v=nL3Efak3FnI\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u672c\u5730AI\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u975e\u7ebf\u6027\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u5907\u7aefAI\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">GPU\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u514d\u4e91\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">LTX\u5f15\u64ce\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u89c6\u9891\u7f16\u8f91\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">NVIDIA GPU\u652f\u6301<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u5176\u5b8c\u5168\u672c\u5730\u3001\u514d\u8d39\u5f00\u6e90\u7684\u6a21\u5f0f\u3002\u4e3b\u8981\u7591\u95ee\u548c\u5efa\u8bae\u96c6\u4e2d\u5728\u786c\u4ef6\u95e8\u69db\uff08\u5c24\u5176\u662f32GB\u4ee5\u4e0bGPU\u7684\u53ef\u884c\u6027\uff09\u3001\u660e\u786e\u7684\u82f9\u679c\u8bbe\u5907\u517c\u5bb9\u6027\u8bf4\u660e\u3001\u63a8\u8350\u7684\u6700\u4f4eGPU\u89c4\u683c\uff0c\u4ee5\u53ca\u9762\u5411\u5f00\u53d1\u8005\u7684SDK\/API\u80fd\u529b\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                LTX Desktop\u7684\u4eae\u76f8\uff0c\u4e0e\u5176\u8bf4\u662f\u4e00\u6b3e\u9769\u547d\u6027\u7684\u89c6\u9891\u7f16\u8f91\u8f6f\u4ef6\uff0c\u4e0d\u5982\u8bf4\u662f\u4e00\u6b21\u5bf9\u201cAI\u6c11\u4e3b\u5316\u201d\u4e0e\u201c\u672c\u5730\u5316\u8ba1\u7b97\u201d\u8fb9\u754c\u7684\u538b\u529b\u6d4b\u8bd5\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u5728\u4e8e\u7f16\u8f91\u529f\u80fd\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u5c06\u201c\u5b8c\u5168\u672c\u5730\u8fd0\u884c\u7684\u5f00\u6e90AI\u5f15\u64ce\u201d\u4e0e\u975e\u7ebf\u6027\u7f16\u8f91\u5668\uff08NLE\uff09\u6346\u7ed1\uff0c\u8bd5\u56fe\u6784\u5efa\u4e00\u4e2a\u6570\u636e\u4e0d\u51fa\u6237\u3001\u4f7f\u7528\u65e0\u8d26\u5355\u7684\u521b\u4f5c\u4e4c\u6258\u90a6\u3002\u8fd9\u7cbe\u51c6\u51fb\u4e2d\u4e86\u5f53\u524d\u521b\u4f5c\u8005\u5bf9\u4e91\u7aefAI\u670d\u52a1\u6210\u672c\u4e0d\u53ef\u63a7\u548c\u6570\u636e\u9690\u79c1\u7684\u6df1\u5c42\u7126\u8651\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u6700\u7280\u5229\u7684\u77db\u76fe\u4e5f\u7531\u6b64\u6d6e\u73b0\u3002\u8bc4\u8bba\u533a\u7684\u7126\u70b9\u51e0\u4e4e\u5168\u90e8\u96c6\u4e2d\u5728\u786c\u4ef6\u95e8\u69db\u4e0a\uff0c\u8fd9\u7edd\u975e\u5076\u7136\u3002\u672c\u5730AI\u8ba1\u7b97\u7684\u201c\u81ea\u7531\u201d\u662f\u4ee5\u6781\u9ad8\u7684\u786c\u4ef6\u5165\u573a\u5238\u4e3a\u4ee3\u4ef7\u7684\uff0c\u5c24\u5176\u662f\u5927\u5bb9\u91cf\u663e\u5b58\u3002\u5b98\u65b9\u56de\u590d\uff08\u901a\u8fc7\u7528\u6237\u8f6c\u8ff0\uff09\u5766\u627f\u91cf\u5316\u4f1a\u5bfc\u81f4\u8d28\u91cf\u4e25\u91cd\u4e0b\u964d\uff0c\u8fd9\u65e0\u5f02\u4e8e\u627f\u8ba4\uff1a\u5728\u73b0\u6709\u6280\u672f\u6761\u4ef6\u4e0b\uff0c\u5176\u5ba3\u79f0\u7684\u201c\u81ea\u7531\u201d\u4e0e\u201c\u9ad8\u6027\u80fd\u201d\u5bf9\u4e3b\u6d41\u521b\u4f5c\u8005\u7fa4\u4f53\u800c\u8a00\u662f\u9c7c\u4e0e\u718a\u638c\u3002\u5b83\u5c06\u7528\u6237\u6e05\u6670\u5730\u5206\u5272\u4e3a\u4e24\u7c7b\uff1a\u62e5\u6709\u9876\u7ea7\u786c\u4ef6\u7684\u6781\u5ba2\/\u4e13\u4e1a\u521b\u4f5c\u8005\uff0c\u548c\u5e7f\u5927\u53d7\u786c\u4ef6\u6240\u56f0\u7684\u666e\u901a\u7528\u6237\u3002\u4ea7\u54c1\u56e0\u6b64\u9677\u5165\u4e00\u4e2a\u5c34\u5c2c\u5b9a\u4f4d\uff1a\u4f5c\u4e3a\u201c\u6f14\u793a\u201d\uff0c\u5b83\u8bc1\u660e\u4e86LTX\u5f15\u64ce\u7684\u80fd\u529b\uff1b\u4f46\u4f5c\u4e3a\u201c\u65e5\u7528\u54c1\u201d\uff0c\u5176\u786c\u4ef6\u8981\u6c42\u53ef\u80fd\u5c06\u5176\u7981\u9522\u5728\u5c0f\u4f17\u5708\u5c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u201c\u5f00\u6e90NLE+\u672c\u5730AI\u201d\u7684\u7ec4\u5408\uff0c\u5176\u957f\u671f\u60f3\u8c61\u529b\u5728\u4e8e\u751f\u6001\u3002\u4f46\u5f53\u524d\u7248\u672c\u66f4\u50cf\u4e00\u4e2a\u5f15\u64ce\u7684\u6280\u672f\u5c55\u793a\u8f66\u3002\u82e5\u4e0d\u80fd\u63d0\u4f9b\u5f3a\u5927\u4e14\u6613\u7528\u7684SDK\/API\uff0c\u5438\u5f15\u5f00\u53d1\u8005\u57fa\u4e8e\u6b64\u5f15\u64ce\u6784\u5efa\u66f4\u5782\u76f4\u3001\u66f4\u9ad8\u6548\u7684\u5de5\u5177\uff0c\u90a3\u4e48\u5b83\u5f88\u96be\u4ece\u201c\u4e00\u4e2a\u6709\u8da3\u7684\u96c6\u6210demo\u201d\u8fdb\u5316\u4e3a\u201c\u4e00\u4e2a\u5bcc\u6709\u751f\u547d\u529b\u7684\u5e73\u53f0\u201d\u3002\u5b83\u7684\u771f\u6b63\u6210\u529f\uff0c\u5c06\u4e0d\u53d6\u51b3\u4e8e\u81ea\u8eab\u529f\u80fd\u591a\u5f3a\u5927\uff0c\u800c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u964d\u4f4e\u5f00\u53d1\u8005\u5728\u89c6\u9891AI\u9886\u57df\u521b\u65b0\u7684\u95e8\u69db\uff0c\u4ece\u800c\u5728\u672c\u5730\u50ac\u751f\u51fa\u4e91\u670d\u52a1\u4e4b\u5916\u7684\u53e6\u4e00\u6761\u5de5\u5177\u94fe\u3002\u8fd9\u6761\u8def\u524d\u666f\u5e7f\u9614\uff0c\u4f46\u9053\u963b\u4e14\u957f\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">LTX Desktop<\/span>\n                <\/div>\n<div class=\"comment-content\">LTX Desktop combines a full non-linear video editor with on-device AI generation. Free, open-source, runs locally on your machine. Powered by LTX-2.3.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love that this runs fully local with no per-generation pricing. The open-source NLE + on-device AI combo is exactly what creators need to experiment freely without worrying about cloud costs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>How are you thinking about LTX Desktop on sub-32GB GPUs, especially now that the pitch is fully local and open source? That support path feels like the difference between a cool demo and a real daily tool for a much bigger group of creators.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@piroune_balachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piroune_balachandran<\/a>&nbsp;I&#8217;m not associated with the original poster. As someone working with these models day in day out, It is just physically not possible, they need that much VRAM to work. The quantization of these moments just deteriorates the quality big time, making them unsable and unusable. At least not for now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Hunters, I am excited to hunt <strong>LTX Desktop<\/strong> today! \ud83d\ude80<\/p>\n<\/p>\n<p>If an engine is truly powerful, it should enable real products to be built on top of it \u2014 and that\u2019s exactly the idea behind <strong>LTX-2.3<\/strong>.<\/p>\n<\/p>\n<p><strong>LTX Desktop<\/strong> is a fully local, open-source video editor running directly on the LTX engine, optimized for NVIDIA GPUs and compatible hardware. That means:<\/p>\n<p>\u2022 No mandatory cloud dependency<br \/>\u2022 No per-generation pricing<br \/>\u2022 Your data stays on your own device<\/p>\n<\/p>\n<p>The engine is the hard part \u2014 the interface shouldn\u2019t be. And now it\u2019s yours, free.<\/p>\n<p>LTX Desktop is a great demonstration of what the LTX engine can already power, and more importantly, what developers and creators can build with it.<\/p>\n<\/p>\n<p>Curious to hear what the community thinks and what you would build on top of this engine. \ud83d\udc47<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 on-device AI generation with no per-gen pricing is compelling, but curious about the minimum hardware sweet spot for smooth workflows, What&#8217;s the min GPU spec you&#8217;d recommend for this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>There is an increasing population of users with Apple devices with those specs and your listing mentions &#8220;runs locally on your machine&#8221; Apple(MacOS) Excluding. You may want to mention that.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4a5a20ff-9a47-4e9e-a083-aeaa8b39d82b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What specific SDK or API capabilities does the LTX-2.3 engine provide for developers who want to build their own specialized video tools or integrate the engine into existing creative workflows?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/PQFC7XTRIUVCUV\" class=\"app-title\">Thinking Line<\/a><\/p>\n<div class=\"one-liner\">AI-powered doodle video and vector generator<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">109<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3eAI\u9a71\u52a8\u7684\u6d82\u9e26\u89c6\u9891\u4e0e\u77e2\u91cf\u56fe\u751f\u6210\u5de5\u5177\uff0c\u5e2e\u52a9\u521b\u4f5c\u8005\u3001\u6559\u80b2\u8005\u548c\u8425\u9500\u4eba\u5458\u5c06\u60f3\u6cd5\u5feb\u901f\u8f6c\u5316\u4e3a\u98ce\u683c\u7edf\u4e00\u3001\u53ef\u7f16\u8f91\u7684\u89c6\u89c9\u5185\u5bb9\uff0c\u89e3\u51b3\u4e86\u624b\u52a8\u5236\u4f5c\u8017\u65f6\u4e14\u9700\u4e13\u4e1a\u8bbe\u8ba1\u6280\u80fd\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\/52ebc4cd-eed4-45dd-95f3-ec92ca32fe82.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aa8d5223-ad23-46cb-86d1-7cf604015ca2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/084f47e0-b825-45df-882f-b0fc6f33be48.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c3f04c11-78bd-4036-8bbc-7dd6634df6f6.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\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7ed8\u56fe<\/span><br \/>\n            <span class=\"tag\">\u77e2\u91cf\u56fe\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u6d82\u9e26\u89c6\u9891<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u521b\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6559\u80b2\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">SVG\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u53d9\u4e8b<\/span><br \/>\n            <span class=\"tag\">AI\u89c6\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5feb\u901f\u539f\u578b<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u521b\u610f\u4e0e\u6559\u80b2\u3001\u8425\u9500\u573a\u666f\u7684\u6f5c\u529b\uff0c\u6838\u5fc3\u5173\u5207\u5728\u4e8e\u751f\u6210\u5185\u5bb9\u7684\u53ef\u7f16\u8f91\u6027\u4e0e\u54c1\u724c\u9002\u914d\u5ea6\uff0c\u8be2\u95ee\u77e2\u91cf\u56fe\u5c42\u7ea7\u3001\u98ce\u683c\u4e00\u81f4\u6027\u53ca\u62bd\u8c61\u6982\u5ff5\u53ef\u89c6\u5316\u80fd\u529b\u3002\u56e2\u961f\u56de\u590d\u6b63\u5f00\u53d1\u201c\u5de5\u4f5c\u5ba4\u201d\u529f\u80fd\u4ee5\u589e\u5f3a\u624b\u52a8\u7f16\u8f91\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Thinking Line\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u5728\u201c\u771f\u5b9e\u611f\u201d\u6e32\u67d3\u7684\u7ea2\u6d77\u91cc\u4e0eMidjourney\u7b49\u5de8\u5934\u8089\u640f\uff0c\u800c\u662f\u7cbe\u51c6\u5207\u5165\u201c\u624b\u7ed8\u98ce\u683c\u201d\u8fd9\u4e00\u7ec6\u5206\u8d5b\u9053\u3002\u8fd9\u79cd\u770b\u4f3c\u4e0d\u5b8c\u7f8e\u7684\u6d82\u9e26\u98ce\u683c\uff0c\u6070\u6070\u662f\u5176\u62a4\u57ce\u6cb3\u2014\u2014\u5b83\u4f20\u9012\u51fa\u4eb2\u5207\u3001\u624b\u5de5\u611f\u548c\u6613\u4e8e\u7406\u89e3\u7684\u4fe1\u53f7\uff0c\u5929\u7136\u9002\u5408\u6559\u80b2\u3001\u793e\u4ea4\u8425\u9500\u7b49\u9700\u8981\u964d\u4f4e\u7528\u6237\u8ba4\u77e5\u95e8\u69db\u7684\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u9762\u4e34\u7684\u6838\u5fc3\u77db\u76fe\uff0c\u5728\u4e8e\u201cAI\u751f\u6210\u901f\u5ea6\u201d\u4e0e\u201c\u4e13\u4e1a\u7f16\u8f91\u53ef\u63a7\u6027\u201d\u4e4b\u95f4\u7684\u6495\u88c2\u3002\u4ece\u8bc4\u8bba\u53ef\u770b\u51fa\uff0c\u65e9\u671f\u7528\u6237\uff08\u5c24\u5176\u662f\u4e13\u4e1a\u521b\u4f5c\u8005\uff09\u7684\u5174\u594b\u70b9\u4e0e\u7591\u8651\u90fd\u805a\u7126\u4e8e\u6b64\uff1a\u4ed6\u4eec\u9700\u8981\u7684\u5e76\u975e\u4e00\u6b21\u6027\u5feb\u6d88\u7d20\u6750\uff0c\u800c\u662f\u80fd\u878d\u5165\u5de5\u4f5c\u6d41\u3001\u53ef\u6df1\u5ea6\u8c03\u6574\u7684\u54c1\u724c\u5316\u8d44\u4ea7\u3002\u4ea7\u54c1\u56e2\u961f\u4ee5\u201c\u5de5\u4f5c\u5ba4\uff08Beta\uff09\u201d\u4f5c\u4e3a\u56de\u5e94\uff0c\u65b9\u5411\u6b63\u786e\u4f46\u6311\u6218\u5de8\u5927\u3002\u8fd9\u610f\u5473\u4ea7\u54c1\u9700\u4ece\u201c\u6709\u8da3\u7684AI\u73a9\u5177\u201d\u5411\u201c\u751f\u4ea7\u529b\u5de5\u5177\u201d\u8270\u96be\u8dc3\u8fc1\uff0c\u5176\u77e2\u91cf\u56fe\u5c42\u7684\u903b\u8f91\u662f\u5426\u771f\u6b63\u7b26\u5408\u8bbe\u8ba1\u5e08\u4e60\u60ef\uff0c\u5c06\u51b3\u5b9a\u5176\u5929\u82b1\u677f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u673a\u9047\uff0c\u6216\u8bb8\u5982\u67d0\u6761\u8bc4\u8bba\u6240\u8a00\uff0c\u5728\u4e8e\u201cAI\u9a71\u52a8\u53d9\u4e8b\u201d\u3002\u5f53\u524d\u4ea7\u54c1\u5b9a\u4f4d\u4ecd\u662f\u201c\u7d20\u6750\u751f\u6210\u5668\u201d\uff0c\u82e5\u80fd\u5185\u7f6e\u53d9\u4e8b\u6846\u67b6\uff08\u5982\u5f15\u5bfc\u7528\u6237\u6784\u5efa\u201c\u95ee\u9898-\u8f6c\u6298-\u89e3\u51b3\u65b9\u6848\u201d\u7684\u89c6\u9891\u811a\u672c\uff09\uff0c\u5e76\u8ba9\u89c6\u89c9\u5143\u7d20\u667a\u80fd\u8ddf\u968f\u53d9\u4e8b\u8282\u594f\uff0c\u5b83\u5c06\u4ece\u5de5\u5177\u5347\u7ea7\u4e3a\u201c\u521b\u610f\u526f\u9a7e\u201d\uff0c\u4ef7\u503c\u5c06\u500d\u589e\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u88ab\u66f4\u5f3a\u5927\u7684AIGC\u6a21\u578b\u529f\u80fd\u8986\u76d6\u7684\u201c\u5c0f\u529f\u80fd\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\">Thinking Line<\/span>\n                <\/div>\n<div class=\"comment-content\">AI-powered image vectorization and doodle creation. Turn prompts into editable SVGs and engaging explainer videos with Thinking Line.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey!!<\/p>\n<p>We\u2019re excited to launch Thinking Line<\/p>\n<p>Thinking Line helps you create doodle-style videos and editable vectors with AI. The goal is to make it much faster to go from an idea, prompt, or visual input to content that actually looks hand-drawn, explainable, and usable.<\/p>\n<p>We built it for creators, marketers, educators, and teams who want a simpler way to turn concepts into engaging visual storytelling without spending hours designing everything manually.<\/p>\n<p>With Thinking Line, you can:<\/p>\n<p>* generate doodle-style visuals<br \/>\n* create editable vector outputs<br \/>\n* turn ideas into explainer-style creative assets faster<\/p>\n<p>We\u2019d love your feedback on the product, the outputs, and where you think this could be most useful.<\/p>\n<p>Thanks for checking us out today \ud83d\ude4c<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hritvik_gupta1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hritvik_gupta1<\/a> Hi! Congrats on launching Thinking Line, the idea of generating doodle-style visuals and editable vectors with AI sounds really useful for quick visual storytelling.<\/p>\n<p>I\u2019m currently researching how founders build and scale creative SaaS tools and how they track product health and user value early on. I\u2019d love to hear your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I checked out the demo and really liked it. The idea is very cool. I can easily imagine something like this being used in schools to explain concepts in a much more engaging way<\/p>\n<p>Good luck with the launch!<\/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>Doodle explainer videos are a solid format for breaking down complex topics but they usually require a designer or a studio. How much can the output from Thinking Line be adjusted to match a specific topic and brand?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@klara_minarikova\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@klara_minarikova<\/a>&nbsp;We are currently developing the Studio, which is now available in beta on the platform. One shot creation and prompt based editing are already working well. For more advanced manual editing features, we are actively building the Studio and will release additional capabilities soon. Please stay tuned. 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>Getting doodle video and vector export to stay in the same style is the hard part here. Does Thinking Line keep strokes and scene pieces editable after generation, or is the first win speed? That edit loop is what would make it useful beyond one-off assets.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@piroune_balachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piroune_balachandran<\/a>&nbsp;Yes, we are currently working on the studio which is now beta version and you can find on the platform after logging in. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\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, does this actually mean you can doodle stuff on a paper\/screen and it can transform it into some semi good looking sketches with straight lines and all that?<\/div>\n<div class=\"comment-actions\">\n<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\/@nair0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nair0<\/a>&nbsp;Yes, it can. You can doodle on paper or screen and Thinking Line can help transform that into cleaner, better looking sketches with more structured lines. We\u2019re also actively improving the editing and studio experience so the outputs become even more controllable and polished over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It looks fantastic! Congratulations and best of luck with the project! I truly adore the concept and the finished video! Just so you know, the pricing section&#8217;s &#8220;Get Started&#8221; button is broken<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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<h2><\/h2>\n<p>How does Thinking Line ensure that the generated doodle-style vectors maintain clean, layered paths for seamless editing in professional design software?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The use case for explainer videos and SVG generation from prompts is really compelling, especially for content creators and educators who need visual assets fast without design skills.<\/p>\n<p>The doodle style is a smart differentiator too. It&#8217;s warm and approachable in a way that polished AI renders aren&#8217;t, and that actually makes it better for social content and tutorials.<\/p>\n<p>Would love to know: how does it handle more abstract or conceptual prompts where there isn&#8217;t an obvious visual metaphor? That&#8217;s usually where text-to-visual tools struggle the most.<\/p>\n<p>Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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>Interesting concept<\/p>\n<\/p>\n<p>One observation: the product looks positioned as a doodle generator, but the bigger opportunity might actually be <strong>AI for explainer storytelling<\/strong><\/p>\n<\/p>\n<p>That framing could make the use case much clearer<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/4WKB47PLZN3ZAA\" class=\"app-title\">Tailwind Form Builder<\/a><\/p>\n<div class=\"one-liner\">Create responsive HTML forms in minutes. No login required.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">99<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u65e0\u9700\u767b\u5f55\u3001\u5728\u6d4f\u89c8\u5668\u5185\u5373\u53ef\u64cd\u4f5c\u7684\u62d6\u653e\u5f0f\u8868\u5355\u6784\u5efa\u5de5\u5177\uff0c\u53ef\u5feb\u901f\u751f\u6210\u54cd\u5e94\u5f0f\u3001\u7eafTailwind CSS\u4ee3\u7801\uff0c\u89e3\u51b3\u4e86\u5f00\u53d1\u8005\u5728\u539f\u578b\u8bbe\u8ba1\u548c\u9759\u6001\u9875\u9762\u4e2d\u91cd\u590d\u7f16\u5199\u8868\u5355\u6837\u5f0f\u3001\u8ffd\u6c42\u9ad8\u6548\u4e0e\u4ee3\u7801\u6d01\u7656\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\/1e62064d-4747-42a2-bdb2-747be48d6c9f.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/_EUYgHCtxLk\"><source src=\"https:\/\/youtu.be\/_EUYgHCtxLk\" 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\/7d62647f-e4cd-4bf4-821b-e8f998afdb2c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/23699e6a-4945-4979-9764-0d0d62306506.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3b727c58-360d-4292-8cfc-0d99ca458c8c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5484ece3-57b0-4209-854d-6b4b254e5d5d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8868\u5355\u6784\u5efa\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Tailwind CSS<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u539f\u578b\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">React<\/span><br \/>\n            <span class=\"tag\">Vue<\/span><br \/>\n            <span class=\"tag\">\u65e0\u540e\u7aef<\/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\u514d\u767b\u5f55\u548c\u5e72\u51c0\u4ee3\u7801\u8f93\u51fa\u7684\u5b9a\u4f4d\u3002\u6838\u5fc3\u53cd\u9988\u805a\u7126\u4e8e\u529f\u80fd\u589e\u5f3a\uff1a\u5efa\u8bae\u589e\u52a0\u8868\u5355\u9a8c\u8bc1\u4ee3\u7801\u751f\u6210\u3001\u66f4\u591a\u5b57\u6bb5\u7c7b\u578b\u548c\u4e3b\u9898\u6837\u5f0f\u3002\u540c\u65f6\uff0c\u7528\u6237\u8ba8\u8bba\u4e86\u5176\u4e0eGoogle Sheets\u96c6\u6210\u7684\u5546\u4e1a\u5316\u8def\u5f84\uff0c\u5e76\u63d0\u53ca\u4e86\u5783\u573e\u90ae\u4ef6\u63a7\u5236\u7b49\u5b9e\u9645\u90e8\u7f72\u9700\u6c42\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                \u4ea7\u54c1\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u5ffd\u89c6\u7684\u7f1d\u9699\u5e02\u573a\uff1a\u670d\u52a1\u4e8e\u6709\u5ba1\u7f8e\u548c\u6548\u7387\u8ffd\u6c42\u7684\u5f00\u53d1\u8005\uff0c\u800c\u975e\u7eaf\u7cb9\u7684\u65e0\u4ee3\u7801\u7528\u6237\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u201c\u521b\u5efa\u8868\u5355\u201d\u2014\u2014\u5e02\u9762\u4e0a\u5df2\u6709\u592a\u591a\u6b64\u7c7b\u5de5\u5177\u2014\u2014\u800c\u5728\u4e8e\u5145\u5f53\u201cTailwind CSS \u8868\u5355\u6837\u5f0f\u7ffb\u8bd1\u673a\u201d\u3002\u5b83\u5c06\u5f00\u53d1\u8005\u4ece\u673a\u68b0\u7684\u3001\u91cd\u590d\u6027\u7684\u7c7b\u540d\u5806\u780c\u4e2d\u89e3\u653e\u51fa\u6765\uff0c\u901a\u8fc7\u53ef\u89c6\u5316\u64cd\u4f5c\u76f4\u63a5\u8f93\u51fa\u7b26\u5408Tailwind CSS\u54f2\u5b66\u548c\u9879\u76ee\u89c4\u8303\u7684\u5e72\u51c0\u4ee3\u7801\uff0c\u5b9e\u73b0\u4e86\u8bbe\u8ba1\u5230\u4ee3\u7801\u7684\u201c\u65e0\u635f\u8f6c\u6362\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u201c\u65e0\u767b\u5f55\u3001\u65e0\u5b58\u50a8\u3001\u7eaf\u524d\u7aef\u201d\u7684\u6781\u7b80\u4e3b\u4e49\u8bbe\u8ba1\uff0c\u662f\u4ea7\u54c1\u7b56\u7565\u7684\u4eae\u70b9\uff0c\u4e5f\u662f\u5176\u6700\u5927\u7684\u98ce\u9669\u70b9\u3002\u8fd9\u6781\u5927\u5730\u964d\u4f4e\u4e86\u7528\u6237\u5c1d\u8bd5\u95e8\u69db\uff0c\u5b8c\u7f8e\u5339\u914d\u5176\u201c\u5373\u7528\u5373\u8d70\u201d\u7684\u5de5\u5177\u5b9a\u4f4d\uff0c\u8fc5\u901f\u5efa\u7acb\u6280\u672f\u4eba\u7fa4\u7684\u597d\u611f\u3002\u7136\u800c\uff0c\u8fd9\u4e5f\u51e0\u4e4e\u5c01\u6b7b\u4e86\u4f20\u7edf\u7684SaaS\u5546\u4e1a\u6a21\u5f0f\uff0c\u4f7f\u5176\u4e0d\u5f97\u4e0d\u4f9d\u9644\u4e8e\u4e3a\u5176\u5bfc\u6d41\u7684\u8d5e\u52a9\u9879\u76ee\uff08Sheetmonkey.io\uff09\u3002\u8fd9\u79cd\u6a21\u5f0f\u80fd\u5426\u6301\u7eed\u652f\u6491\u4ea7\u54c1\u8fed\u4ee3\uff0c\u5b58\u6709\u7591\u95ee\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u7684\u671f\u5f85\u5df2\u8d85\u8d8a\u201c\u6837\u5f0f\u751f\u6210\u201d\uff0c\u5411\u201c\u529f\u80fd\u751f\u6210\u201d\uff08\u5982\u9a8c\u8bc1\u903b\u8f91\uff09\u5ef6\u4f38\u3002\u8fd9\u63ed\u793a\u4e86\u4ea7\u54c1\u7684\u6df1\u5c42\u77db\u76fe\uff1a\u662f\u4fdd\u6301\u8f7b\u91cf\u3001\u4e13\u6ce8\u7684\u4ee3\u7801\u98ce\u683c\u5de5\u5177\uff0c\u8fd8\u662f\u5411\u529f\u80fd\u66f4\u590d\u6742\u7684\u8868\u5355\u89e3\u51b3\u65b9\u6848\u6f14\u8fdb\uff1f\u540e\u8005\u5c06\u4f7f\u5176\u76f4\u63a5\u4e0e\u66f4\u91cd\u91cf\u7ea7\u7684\u5bf9\u624b\u7ade\u4e89\uff0c\u5e76\u53ef\u80fd\u80cc\u79bb\u5176\u7b80\u6d01\u7684\u521d\u5fc3\u3002\u4ea7\u54c1\u7684\u771f\u6b63\u6311\u6218\u5728\u4e8e\uff0c\u5982\u4f55\u5728\u6dfb\u52a0\u5b9e\u7528\u529f\u80fd\u7684\u540c\u65f6\uff0c\u4e0d\u7834\u574f\u5176\u5f15\u4ee5\u4e3a\u50b2\u7684\u201c\u65e0BS\u201d\u4f53\u9a8c\u548c\u4ee3\u7801\u8f93\u51fa\u7684\u7eaf\u7cb9\u6027\u3002\u5b83\u7684\u6210\u529f\uff0c\u53d6\u51b3\u4e8e\u80fd\u5426\u5728\u5f00\u53d1\u8005\u5de5\u5177\u7684\u201c\u4e13\u201d\u4e0e\u201c\u5168\u201d\u4e4b\u95f4\uff0c\u627e\u5230\u90a3\u6761\u7cbe\u5999\u7684\u5e73\u8861\u7ebf\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\">Tailwind Form Builder<\/span>\n                <\/div>\n<div class=\"comment-content\">A free form builder that outputs pure Tailwind CSS to embed in my site or app? You better believe it! Create beautiful, responsive HTML forms in minutes with our free drag-and-drop form builder. Built for Tailwind CSS, export clean code for HTML, React, or Vue. No platform lock-in, no iframes to embed. No signup or login required.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt!,<\/p>\n<p>I&#8217;m Levi, and I&#8217;m excited to share Tailwind Form Builder with you today!                                                                                                                                                                                                      <\/p>\n<p>As a developer who loves Tailwind CSS, I found myself repeatedly writing the same form code over and over. Copy-pasting old forms, tweaking classes, adjusting spacing&#8230; it was tedious. I wanted a visual way to quickly prototype forms with Tailwind&#8217;s styling, then grab clean code and move on.<\/p>\n<p>So I built this tool \u2014 and made it completely free and open source.<\/p>\n<p>No BS, just build:<\/p>\n<p>  &#8211; No signup, no account, no paywall<br \/>\n  &#8211; No data stored \u2014 everything happens in your browser<br \/>\n  &#8211; Drag &amp; drop fields, customize styles, export clean code<br \/>\n  &#8211; Works with HTML, React, or Vue<br \/>\n  &#8211; Multiple Tailwind themes (Default, Simple, Underline, Solid)<br \/>\n  &#8211; Dark mode preview<br \/>\n  &#8211; Compound fields (Name, Address) included<\/p>\n<p>Who it&#8217;s for<\/p>\n<p>If you&#8217;ve ever thought &#8220;I just need a quick contact form&#8221; or &#8220;I wish I could visualize this form before writing code,&#8221; this is for you. Perfect for:<\/p>\n<p>&#8211; Prototyping form UIs quickly<br \/>\n&#8211; Learning Tailwind form patterns<br \/>\n&#8211; Generating starter code for production projects<br \/>\n&#8211; Building forms without fighting with CSS<\/p>\n<p>Built with<\/p>\n<p>Next.js 16, React 19, Tailwind CSS 4, @dnd-kit for drag &amp; drop, and a lot of coffee.<\/p>\n<p>I&#8217;d love your feedback on:<\/p>\n<p>1. What other field types would you want?<br \/>\n2. Should I add form validation code generation?<br \/>\n3. Any Tailwind themes or styling options you&#8217;d like to see?<\/p>\n<p>A note on monetization<\/p>\n<p>This project is sponsored by <a href=\"https:\/\/sheetmonkey.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/sheetmonkey.io<\/a> (my other project) \u2014 it connects forms to Google Sheets. If you build a form with this tool and need an easy way to handle submissions without backend code, check it out!<\/p>\n<p>Thanks for checking this out! Star it on GitHub if you find it useful, and feel free to contribute \u2014 PRs welcome! \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Unique endpoints that push form data straight into Google Sheets make sense for Webflow and Carrd. What would make this really stick for lead gen is built in spam control and source capture, so the sheet stays usable once real traffic starts.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@piroune_balachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piroune_balachandran<\/a>&nbsp;100%. We do actually have Akismet spam control and you can do source capture with hidden fields. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>No login required + clean Tailwind CSS output is such a smart positioning decision. The number of times I&#8217;ve needed a quick form for a landing page or static site and didn&#8217;t want to set up a backend or deal with an embedded third-party widget is genuinely too many.<\/p>\n<p>Supporting React and Vue export alongside plain HTML gives this real legs for developer use cases too, not just no-code folks.<\/p>\n<p>One question: does it support custom validation rules or is it purely visual\/structural for now?<\/p>\n<p>Solid launch, congrats!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting concept<\/p>\n<\/p>\n<p>One thing that stood out: the product is described as a spreadsheet API, but the stronger angle might actually be <strong>rapid backend for prototypes and internal tools<\/strong>.<\/p>\n<\/p>\n<p>That positioning might resonate more with developers.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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\/3F5TDFI3UXGFJB\" class=\"app-title\">NotchPad<\/a><\/p>\n<div class=\"one-liner\">The secure notepad and clipboard manager for your Mac.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">96<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>NotchPad\u662f\u4e00\u6b3e\u5e38\u9a7bMacBook Pro\u201c\u5218\u6d77\u201d\u533a\u57df\u7684\u52a0\u5bc6\u8bb0\u4e8b\u672c\u4e0e\u526a\u8d34\u677f\u7ba1\u7406\u5de5\u5177\uff0c\u901a\u8fc7\u70b9\u51fb\u5218\u6d77\u5feb\u901f\u547c\u51fa\uff0c\u89e3\u51b3\u4e86\u7528\u6237\u9891\u7e41\u5207\u6362\u7a97\u53e3\u3001\u6253\u65ad\u5de5\u4f5c\u6d41\u4ee5\u8bb0\u5f55\u4e34\u65f6\u4fe1\u606f\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\/25413f73-b96e-45f0-9a35-d99226877964.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a5dfcdab-4f15-44cf-80f1-91afd2385b8d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f92ab5a-99f4-4f91-bdb7-f8d1c5551023.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8f453e75-729a-428f-b4b3-f61abd0b6439.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4758ca5a-e598-4800-a5d5-9bd61438fc01.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\/43e672c5-8bfb-401d-9c61-37de43739170.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Z3LgO9f1u04\"><source src=\"https:\/\/youtu.be\/Z3LgO9f1u04\" 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\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u4e8b\u672c<\/span><br \/>\n            <span class=\"tag\">\u526a\u8d34\u677f\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u7247\u6bb5<\/span><br \/>\n            <span class=\"tag\">macOS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u5218\u6d77\u5c4f\u5229\u7528<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u52a0\u5bc6<\/span><br \/>\n            <span class=\"tag\">\u4e70\u65ad\u5236<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u7cfb\u7edf\u96c6\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\u666e\u904d\u8d5e\u8d4f\u5176\u521b\u610f\u548c\u8bbe\u8ba1\u7406\u5ff5\u3002\u4e3b\u8981\u53cd\u9988\u96c6\u4e2d\u5728\u529f\u80fd\u7ec6\u8282\u7684\u5b8c\u5584\u4e0a\uff0c\u6838\u5fc3\u5173\u5207\u662f\u526a\u8d34\u677f\u5386\u53f2\u8bb0\u5f55\u7684\u5b89\u5168\u6027\uff08\u5982\u5bf9\u5bc6\u7801\u7ba1\u7406\u5668\u5185\u5bb9\u7684\u81ea\u52a8\u8bc6\u522b\u4e0e\u4fdd\u62a4\uff09\u548c\u81ea\u52a8\u8fc7\u671f\u7b56\u7565\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u5df2\u90e8\u5206\u5b9e\u73b0\u5e76\u4f1a\u6839\u636e\u7528\u6237\u53cd\u9988\u8c03\u6574\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                NotchPad\u7684\u4ef7\u503c\u8fdc\u4e0d\u6b62\u4e8e\u201c\u53c8\u4e00\u4e2a\u8bb0\u4e8b\u672c\u201d\uff0c\u5176\u6838\u5fc3\u5728\u4e8e\u5bf9\u786c\u4ef6\u7f3a\u9677\u7684\u521b\u9020\u6027\u8f6c\u5316\u548c\u5bf9\u201c\u77ac\u65f6\u8bb0\u5f55\u201d\u573a\u666f\u7684\u7cbe\u51c6\u72d9\u51fb\u3002\u5b83\u5c06\u5907\u53d7\u4e89\u8bae\u7684MacBook Pro\u5218\u6d77\u4ece\u4e00\u4e2a\u89c6\u89c9\u969c\u788d\uff0c\u91cd\u65b0\u5b9a\u4e49\u4e3a\u53ef\u4ea4\u4e92\u7684\u3001\u96f6\u4fb5\u5165\u6027\u7684\u5feb\u901f\u5165\u53e3\uff0c\u8fd9\u672c\u8eab\u5c31\u662f\u4e00\u6b21\u6781\u5177\u6d1e\u5bdf\u529b\u7684\u8bbe\u8ba1\u53cd\u51fb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u5b9a\u4f4d\u6e05\u6670\u4e14\u5201\u94bb\uff1a\u670d\u52a1\u4e8e\u90a3\u4e9b\u88ab\u9891\u7e41Alt+Tab\u6253\u65ad\u6df1\u5ea6\u5de5\u4f5c\u6d41\u7684\u4e13\u4e1a\u4eba\u58eb\u3002\u5176\u201c\u4e00\u952e\u547c\u51fa\uff0c\u5373\u7528\u5373\u8d70\u201d\u7684\u6a21\u5f0f\uff0c\u5b8c\u7f8e\u5951\u5408\u4e86\u8bb0\u5f55\u4e34\u65f6\u7075\u611f\u3001\u6682\u5b58\u526a\u8d34\u677f\u5185\u5bb9\u3001\u5feb\u901f\u7c98\u8d34\u4ee3\u7801\u7247\u6bb5\u7b49\u9ad8\u9891\u788e\u7247\u5316\u9700\u6c42\u3002AES-256\u52a0\u5bc6\u4e0e\u4e3b\u6d41\u5bc6\u7801\u7ba1\u7406\u5668\u96c6\u6210\uff0c\u5219\u662f\u5bf9\u201c\u672c\u5730\u5316\u201d\u5b89\u5168\u627f\u8bfa\u7684\u52a1\u5b9e\u52a0\u56fa\uff0c\u65e8\u5728\u6253\u6d88\u7528\u6237\u5bf9\u5e38\u9a7b\u526a\u8d34\u677f\u7ba1\u7406\u5668\u7684\u6700\u5927\u987e\u8651\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5929\u82b1\u677f\u4e5f\u663e\u800c\u6613\u89c1\u3002\u9996\u5148\uff0c\u786c\u4ef6\u4f9d\u8d56\u6027\u5f3a\uff0c\u76ee\u6807\u7528\u6237\u7fa4\u88ab\u4e25\u683c\u9650\u5b9a\u5728\u5e26\u6709\u5218\u6d77\u7684MacBook Pro\u7528\u6237\uff0c\u5e02\u573a\u57fa\u672c\u76d8\u6709\u9650\u3002\u5176\u6b21\uff0c\u4f5c\u4e3a\u4e70\u65ad\u5236\u5de5\u5177\uff0c\u5176\u529f\u80fd\u6df1\u5ea6\uff08\u5982\u526a\u8d34\u677f\u7ba1\u7406\u7684\u667a\u80fd\u5206\u7c7b\u3001\u8de8\u8bbe\u5907\u540c\u6b65\u3001\u66f4\u5f3a\u5927\u7684\u7247\u6bb5\u5e93\u7ba1\u7406\uff09\u80fd\u5426\u6301\u7eed\u8fdb\u5316\uff0c\u662f\u5bf9\u72ec\u7acb\u5f00\u53d1\u8005\u957f\u671f\u6295\u5165\u7684\u8003\u9a8c\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u5bf9\u5b89\u5168\u673a\u5236\u7684\u6df1\u5165\u8ffd\u95ee\uff0c\u4e5f\u63ed\u793a\u4e86\u5de5\u5177\u7c7b\u5e94\u7528\u4e00\u65e6\u6d89\u53ca\u7cfb\u7edf\u5e95\u5c42\u548c\u654f\u611f\u4fe1\u606f\uff0c\u7528\u6237\u4fe1\u4efb\u7684\u5efa\u7acb\u8fdc\u6bd4\u529f\u80fd\u70ab\u6280\u66f4\u4e3a\u91cd\u8981\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cNotchPad\u662f\u4e00\u6b3e\u201c\u5c0f\u800c\u7f8e\u201d\u7684\u5178\u8303\uff0c\u5c55\u73b0\u4e86\u9876\u7ea7\u72ec\u7acb\u5f00\u53d1\u8005\u5bf9\u7279\u5b9a\u5e73\u53f0\u3001\u7279\u5b9a\u786c\u4ef6\u7684\u6df1\u5ea6\u7406\u89e3\u548c\u573a\u666f\u5fae\u521b\u65b0\u80fd\u529b\u3002\u4f46\u5b83\u66f4\u50cf\u662f\u4e00\u4e2a\u4f18\u96c5\u7684\u201c\u4e13\u4e1a\u8865\u5145\u5de5\u5177\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u98a0\u8986\u6027\u7684\u201c\u6838\u5fc3\u751f\u4ea7\u529b\u5e73\u53f0\u201d\u3002\u5176\u6210\u529f\u4e0e\u5426\uff0c\u5c06\u53d6\u51b3\u4e8e\u5728\u6838\u5fc3\u573a\u666f\u505a\u5230\u6781\u81f4\u4f53\u9a8c\u7684\u540c\u65f6\uff0c\u80fd\u5426\u5728\u6709\u9650\u7684\u7528\u6237\u7fa4\u4f53\u4e2d\u6784\u5efa\u8db3\u591f\u7262\u56fa\u7684\u53e3\u7891\u548c\u751f\u6001\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">NotchPad<\/span>\n                <\/div>\n<div class=\"comment-content\">NotchPad lives inside your MacBook Pro notch. Click it and start typing. No window switching, no alt+tab, no losing focus. It&#8217;s a notepad, clipboard manager, and snippets tool that&#8217;s always one click away. AES-256 encryption with 1Password, Bitwarden and Touch ID support. Everything stays local on your Mac. Free 15-day trial, then $9.99 one-time purchase, no subscription.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone \ud83d\udc4b I&#8217;m Oncel, I designed and built NotchPad over a weekend.<\/p>\n<p>Two things bugged me for a long time. Every notes app on Mac needs its own window and an alt+tab to get to and the MacBook Pro notch just sits there doing nothing.<\/p>\n<p>So I put a notes app inside it. It also does clipboard history and code snippets with syntax highlighting. Everything is encrypted and stays on your machine, nothing touches a server.<\/p>\n<p>I&#8217;m an experienced multi-disciplinary designer and solo indie dev so I&#8217;d love to hear what you think. Feedback, feature requests, roast it, whatever. Happy to answer any questions.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve got to say, I love the creativity. When I get a macbook again i&#8217;ll hopefully remember it but bookmarked for now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How are you thinking about app exclusions and auto-expiry for NotchPad&#8217;s clipboard history, especially around password managers and one time codes? That part decides whether a local, encrypted utility feels safe enough to leave running all day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@piroune_balachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piroune_balachandran<\/a>&nbsp;Clipboard items decay over time, controllable by user and adjustable. Also \u2018sensitive\u2019 items from password managers such as 1password, Passwords, Bitwarden get auto detected and secured with Apple ID. User experience and feedback will decide the future of the clipboard manager feature. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on launch \ud83d\ude80<br \/>Curious how you\u2019re managing internal workflows as traction picks up?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chibenishere\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chibenishere<\/a>&nbsp;Thanks! it&#8217;s just me so the workflow is pretty simple. Build, ship, repeat \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<\/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\/PC7BT6K6VZLUCU\" class=\"app-title\">Olmo Hybrid<\/a><\/p>\n<div class=\"one-liner\">7B open model mixing transformers and linear RNNs<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">96<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Olmo Hybrid \u662f\u4e00\u6b3e\u7ed3\u5408Transformer\u6ce8\u610f\u529b\u4e0e\u7ebf\u6027RNN\u5c42\u76847B\u5f00\u6e90\u6df7\u5408\u6a21\u578b\uff0c\u5728\u4fdd\u6301\u540c\u7b49\u6a21\u578b\u5927\u5c0f\u548c\u8bad\u7ec3\u901f\u5ea6\u4e0b\uff0c\u4ee5\u66f4\u5c11\u7684\u6570\u636e\u91cf\u8fbe\u5230\u540c\u7b49\u7cbe\u5ea6\uff0c\u5c24\u5176\u64c5\u957f\u957f\u4e0a\u4e0b\u6587\u4efb\u52a1\uff0c\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u4e86\u66f4\u9ad8\u6548\u3001\u53ef\u672c\u5730\u90e8\u7f72\u7684\u8f7b\u91cf\u7ea7AI\u6a21\u578b\u9009\u62e9\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\/096ef5da-7659-4e23-a209-1f911bd20428.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\/a95c27b2-fcda-4291-8edd-f7e49c61cb16.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b57db4d8-7721-4f10-a79d-31576776e6a7.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\/7c4e7917-ab45-4bac-9a88-3f04eed04fe4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1c8433d6-606d-48a0-a7e7-bae9a67cf94e.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\/c4685706-746c-48c7-9b84-90998bb1ae65.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90AI\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u6df7\u5408\u795e\u7ecf\u7f51\u7edc\u67b6\u6784<\/span><br \/>\n            <span class=\"tag\">Transformer<\/span><br \/>\n            <span class=\"tag\">\u7ebf\u6027RNN<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u7ea7\u8bed\u8a00\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u957f\u4e0a\u4e0b\u6587\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">WebGPU<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u6548\u7387\u63d0\u5347<\/span><br \/>\n            <span class=\"tag\">Allen AI\u7814\u7a76\u6240<\/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\u6765\u81ea\u4ea7\u54c1\u56e2\u961f\uff0c\u5f3a\u8c03\u8be5\u6a21\u578b\u5728\u516c\u5e73\u5bf9\u6bd4\u4e2d\u9996\u6b21\u8d85\u8d8a\u7eafTransformer\u57fa\u7ebf\uff0c\u4ee5\u4e00\u534a\u6570\u636e\u91cf\u8fbe\u5230\u540c\u7b49\u7cbe\u5ea6\uff0c\u5728\u957f\u4e0a\u4e0b\u6587\u8bc4\u4f30\u4e2d\u8868\u73b0\u7a81\u51fa\uff0c\u652f\u6301\u672c\u5730\u6d4f\u89c8\u5668WebGPU\u8fd0\u884c\u3002\u65e0\u7528\u6237\u95ee\u9898\u53cd\u9988\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                Olmo Hybrid \u8868\u9762\u4e0a\u662f\u4e00\u6b21\u67b6\u6784\u521b\u65b0\uff0c\u5c06Transformer\u6ce8\u610f\u529b\u4e0e\u7ebf\u6027RNN\u4ee53:1\u6bd4\u4f8b\u6df7\u5408\uff0c\u4f46\u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u5bf9\u5f53\u524d\u5927\u6a21\u578b\u53d1\u5c55\u8def\u5f84\u7684\u201c\u964d\u672c\u589e\u6548\u201d\u5f0f\u6311\u6218\u3002\u5728\u884c\u4e1a\u75af\u72c2\u5806\u53c2\u6570\u3001\u5377\u6570\u636e\u91cf\u7684\u80cc\u666f\u4e0b\uff0c\u5b83\u7528\u201c49% fewer tokens\u201d\u8fbe\u5230\u540c\u7b49MMLU\u7cbe\u5ea6\u7684\u6570\u636e\u6548\u7387\u5ba3\u8a00\uff0c\u76f4\u6307\u5f53\u524d\u5927\u6a21\u578b\u8bad\u7ec3\u7684\u6210\u672c\u75db\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u79cd\u201c\u6df7\u5408\u67b6\u6784\u201d\u5e76\u975e\u65b0\u6982\u5ff5\uff0c\u5176\u6210\u529f\u5173\u952e\u5728\u4e8eGated DeltaNet\u4e0e\u6ce8\u610f\u529b\u7684\u5177\u4f53\u878d\u5408\u65b9\u5f0f\u80fd\u5426\u5f62\u6210\u7a33\u5b9a\u4f18\u52bf\u3002\u4ea7\u54c1\u5f3a\u8c03\u201c\u516c\u5e73\u6bd4\u8f83\u201d\u548c\u201c\u76f8\u540c\u8bad\u7ec3\u901f\u5ea6\u201d\uff0c\u8bd5\u56fe\u6253\u6d88\u4e1a\u754c\u5bf9\u6df7\u5408\u67b6\u6784\u8bad\u7ec3\u590d\u6742\u5ea6\u7684\u987e\u8651\uff0c\u4f46\u8bc4\u8bba\u4ec5\u6765\u81ea\u56e2\u961f\u81ea\u8eab\uff0c\u7f3a\u4e4f\u7b2c\u4e09\u65b9\u57fa\u51c6\u9a8c\u8bc1\uff0c\u7279\u522b\u662f\u5b9e\u9645\u5e94\u7528\u573a\u666f\u4e2d\u7684\u6cdb\u5316\u80fd\u529b\u5b58\u7591\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u5173\u6ce8\u7684\u662f\u5176\u201c\u5168\u6a21\u578b\u6d4f\u89c8\u5668\u672c\u5730\u8fd0\u884c\u201d\u7279\u6027\uff0c\u8fd9\u5f97\u76ca\u4e8e7B\u89c4\u6a21\u4e0e\u67b6\u6784\u4f18\u5316\uff0c\u5c06\u9ad8\u6027\u80fd\u6a21\u578b\u63a8\u5411\u8fb9\u7f18\u8ba1\u7b97\u573a\u666f\u3002\u4f46\u8fd9\u4e5f\u66b4\u9732\u4e86\u5176\u5b9a\u4f4d\u77db\u76fe\uff1a\u4f5c\u4e3a\u7814\u7a76\u673a\u6784\u51fa\u54c1\uff0c\u5b83\u65e2\u60f3\u5c55\u793a\u67b6\u6784\u7a81\u7834\uff0c\u53c8\u5f3a\u8c03\u90e8\u7f72\u4fbf\u5229\u6027\uff0c\u53ef\u80fd\u5206\u6563\u6280\u672f\u7126\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\u5f00\u6e90\u540e\uff0c\u793e\u533a\u80fd\u5426\u5728\u5176\u201c\u8d85\u7ea7\u5e72\u51c0\u7684\u6743\u91cd\u201d\u57fa\u7840\u4e0a\uff0c\u6784\u5efa\u51fa\u8d85\u8d8a\u7eafTransformer\u7684\u751f\u6001\u5de5\u5177\u94fe\u3002\u5982\u679c\u53ea\u662f\u7eb8\u9762\u6307\u6807\u9886\u5148\uff0c\u800c\u5f00\u53d1\u8005\u4f53\u9a8c\u6216\u5fae\u8c03\u6548\u679c\u4e0d\u4f73\uff0c\u5b83\u53ef\u80fd\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u201c\u5b9e\u9a8c\u5ba4\u4f18\u80dc\u8005\u201d\u3002\u5728Llama\u4e3b\u5bfc\u7684\u5f00\u6e90\u751f\u6001\u4e2d\uff0cOlmo Hybrid\u9700\u8981\u8bc1\u660e\u5176\u6df7\u5408\u67b6\u6784\u4e0d\u4ec5\u7701\u6570\u636e\uff0c\u66f4\u80fd\u5f00\u542fTransformer\u4e4b\u5916\u7684\u65b0\u53ef\u80fd\u6027\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Olmo Hybrid<\/span>\n                <\/div>\n<div class=\"comment-content\">Olmo Hybrid is a fully open 7B model that combines transformer attention with linear RNN layers. Utilizing a 3:1 pattern of Gated DeltaNet to attention, it matches the accuracy of Olmo 3 on MMLU while using 49% fewer tokens.<\/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>AI2\u2019s new Olmo Hybrid is the first hybrid 7B that clearly beats a pure transformer baseline (<a href=\"https:\/\/www.producthunt.com\/products\/allen-institute-of-artificial-intelligence\/launches\/olmo-3\" target=\"_blank\" rel=\"noopener\">Olmo 3<\/a>) in a fair fight.<\/p>\n<p>Same size as Olmo 3, trains at the same speed, but matches its accuracy with half the data and crushes long-context evals. The 3:1 RNN+attention mix just works.<\/p>\n<p>Super clean weights on <a href=\"https:\/\/huggingface.co\/collections\/allenai\/olmo-hybrid\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">HF<\/a>. And you can even run the full model 100% locally in your browser on <a href=\"https:\/\/huggingface.co\/spaces\/webml-community\/Olmo-Hybrid-WebGPU\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">WebGPU<\/a>!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/67YUJTYVPKWBUR\" class=\"app-title\">GetBeel<\/a><\/p>\n<div class=\"one-liner\">Let AI collect invoices and do reconciliation in automatic<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">93<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>GetBeel\u662f\u4e00\u6b3e\u5229\u7528AI\u81ea\u52a8\u4ece\u90ae\u7bb1\uff08\u5982Gmail\uff09\u4e2d\u63d0\u53d6\u53d1\u7968\u5e76\u8fdb\u884c\u5bf9\u8d26\u7684\u5de5\u5177\uff0c\u89e3\u51b3\u4e86\u4f01\u4e1a\u4e3b\u548c\u8d22\u52a1\u4eba\u5458\u6bcf\u6708\u624b\u52a8\u6536\u96c6\u3001\u6574\u7406\u591a\u4f9b\u5e94\u5546\u53d1\u7968\u7684\u7e41\u7410\u75db\u70b9\uff0c\u7279\u522b\u9002\u7528\u4e8e\u9700\u5904\u7406\u5927\u91cfSaaS\u8ba2\u9605\u5f00\u652f\u548c\u7b26\u5408\u7279\u5b9a\u56fd\u5bb6\uff08\u5982\u610f\u5927\u5229\uff09\u7535\u5b50\u53d1\u7968\u6cd5\u89c4\u7684\u573a\u666f\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8d44322a-ffc0-4b67-8618-cc7c4d7ba199.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\/6c14feb8-2479-4dba-a5b2-a235f6aae69f.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\/41eed187-4660-4e5e-8a9b-1872beef3a5f.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\/0324bd01-f7d3-4e6f-b4ca-6cc4de0488e2.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\/73562e9e-4ffc-4433-96b9-ebdf8fc4992e.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Finance<\/span><br \/>\n            <span class=\"tag\">Accounting<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u53d1\u7968\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u8d22\u52a1\u5bf9\u8d26<\/span><br \/>\n            <span class=\"tag\">AI\u6570\u636e\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u8d39\u7528\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">SaaS\u652f\u51fa\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u610f\u5927\u5229\u7535\u5b50\u53d1\u7968<\/span><br \/>\n            <span class=\"tag\">\u94f6\u884c\u5bf9\u8d26<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u4e2d\u5c0f\u4f01\u4e1a\u8d22\u52a1<\/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\u8ba4\u53ef\u5176\u89e3\u51b3\u201c\u53d1\u7968\u72e9\u730e\u201d\u666e\u904d\u75db\u70b9\u7684\u4ef7\u503c\u3002\u5173\u6ce8\u70b9\u5305\u62ec\uff1a\u662f\u5426\u652f\u6301Outlook\u7b49\u66f4\u591a\u90ae\u7bb1\uff1bAI\u5339\u914d\u4ea4\u6613\u7684\u5177\u4f53\u903b\u8f91\uff1b\u4ea7\u54c1\u5b9a\u4f4d\u662f\u4f1a\u8ba1\u81ea\u52a8\u5316\u5de5\u5177\u8fd8\u662f\u9762\u5411\u521b\u59cb\u4eba\u7684\u8d22\u52a1\u53ef\u89c6\u5316\u5c42\u3002\u521b\u59cb\u4eba\u4eb2\u81ea\u56de\u590d\uff0c\u900f\u9732\u5df2\u652f\u6301Outlook\uff0c\u5e76\u89e3\u91ca\u4e86AI\u5bf9\u8d26\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                GetBeel\u770b\u4f3c\u5207\u5165\u4e86\u4e00\u4e2a\u7ec6\u5206\u5de5\u5177\u5e02\u573a\u2014\u2014\u53d1\u7968\u6536\u96c6\u4e0e\u5bf9\u8d26\uff0c\u4f46\u5176\u771f\u6b63\u7684\u950b\u8292\u5728\u4e8e\u5b83\u65e0\u610f\u4e2d\u89e6\u53ca\u4e86\u4e2d\u5c0f\u4f01\u4e1a\u8d22\u52a1\u8fd0\u8425\u7684\u201c\u6697\u7269\u8d28\u201d\uff1a\u79bb\u6563\u652f\u51fa\u7684\u53ef\u89c6\u5316\u4e0e\u7ba1\u7406\u5931\u63a7\u3002\u4ea7\u54c1\u4ece\u521b\u59cb\u4eba\u81ea\u8eab\u75db\u70b9\u51fa\u53d1\uff0c\u7528AI\u66ff\u4ee3\u4eba\u5de5\u4ece\u90ae\u4ef6\u6d77\u6d0b\u4e2d\u6253\u635e\u53d1\u7968\uff0c\u8fd9\u4e00\u6b65\u5df2\u8282\u7701\u5927\u91cf\u673a\u68b0\u52b3\u52a8\u3002\u4f46\u5176\u66f4\u6df1\u5c42\u4ef7\u503c\u5728\u4e8e\uff0c\u901a\u8fc7\u81ea\u52a8\u5316\u6536\u96c6\uff0c\u5b83\u5929\u7136\u6c47\u805a\u4e86\u4f01\u4e1a\u5168\u90e8\u7684\u8ba2\u9605\u548c\u4f9b\u5e94\u5546\u652f\u51fa\u6570\u636e\uff0c\u4ece\u800c\u88ab\u52a8\u5730\u6784\u5efa\u4e86\u4e00\u4e2a\u5b9e\u65f6\u3001\u771f\u5b9e\u7684\u8d39\u7528\u5206\u6790\u4eea\u8868\u76d8\u3002\u8fd9\u4f7f\u5176\u4ece\u4e00\u4e2a\u201c\u5408\u89c4\u4e0e\u5bf9\u8d26\u5de5\u5177\u201d\u6084\u7136\u5347\u7ea7\u4e3a\u201c\u8d22\u52a1\u5065\u5eb7\u76d1\u63a7\u7cfb\u7edf\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8bc4\u8bba\u4e2d\u7528\u6237\u654f\u9510\u5730\u6307\u51fa\u4e86\u8fd9\u4e00\u70b9\uff1a\u5176\u6700\u5f3a\u5356\u70b9\u53ef\u80fd\u5e76\u975e\u53d1\u7968\u63d0\u53d6\u672c\u8eab\uff0c\u800c\u662f\u201c\u81ea\u52a8\u5316\u6708\u672b\u8d22\u52a1\u8fd0\u8425\u201d\u548c\u201c\u8d22\u52a1\u53ef\u89c6\u5316\u5c42\u201d\u3002\u8fd9\u63ed\u793a\u4e86\u4ea7\u54c1\u7684\u8fdb\u5316\u6f5c\u529b\u3002\u5f53\u524d\u7248\u672c\u4ee5\u610f\u5927\u5229\u5e02\u573a\u7684\u5f3a\u5236\u6027\u7535\u5b50\u53d1\u7968\uff08XML\uff09\u751f\u6210\u4f5c\u4e3a\u5dee\u5f02\u5316\u58c1\u5792\uff0c\u663e\u793a\u4e86\u5176\u4ece\u89e3\u51b3\u901a\u7528\u75db\u70b9\u5411\u653b\u514b\u7279\u5b9a\u533a\u57df\u5408\u89c4\u96be\u9898\u4e0b\u6c89\u7684\u80fd\u529b\uff0c\u8fd9\u79cd\u201c\u901a\u7528\u5e73\u53f0+\u533a\u57df\u5408\u89c4\u6a21\u5757\u201d\u7684\u7b56\u7565\u53ef\u80fd\u6210\u4e3a\u5176\u6269\u5f20\u8def\u5f84\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u6311\u6218\u540c\u6837\u660e\u663e\u3002\u5176\u6838\u5fc3\u4f9d\u8d56\u90ae\u4ef6\u89e3\u6790\uff0c\u9762\u5bf9\u53d1\u7968\u683c\u5f0f\u590d\u6742\u591a\u53d8\u3001\u975e\u90ae\u4ef6\u6e20\u9053\u53d1\u7968\u7b49\u60c5\u51b5\uff0cAI\u7684\u51c6\u786e\u7387\u4e0e\u8986\u76d6\u7387\u5c06\u7ecf\u53d7\u957f\u671f\u8003\u9a8c\u3002\u6b64\u5916\uff0c\u82e5\u5b9a\u4f4d\u4e3a\u201c\u8d22\u52a1\u53ef\u89c6\u5316\u5c42\u201d\uff0c\u5219\u5c06\u76f4\u9762\u4e0e\u66f4\u6210\u719f\u7684\u8bb0\u8d26\u8f6f\u4ef6\u3001\u652f\u51fa\u7ba1\u7406\u5e73\u53f0\u7684\u7ade\u4e89\uff0c\u9700\u8981\u6784\u5efa\u66f4\u5f3a\u5927\u7684\u5206\u6790\u6d1e\u5bdf\u548c\u96c6\u6210\u80fd\u529b\u3002\u603b\u4f53\u800c\u8a00\uff0cGetBeel\u7cbe\u51c6\u5730\u523a\u4e2d\u4e86\u4e00\u4e2a\u88ab\u8bb8\u591a\u7efc\u5408\u8d22\u52a1\u8f6f\u4ef6\u5ffd\u89c6\u7684\u201c\u524d\u54e8\u75db\u70b9\u201d\uff0c\u5e76\u4ee5\u6b64\u4e3a\u6293\u624b\uff0c\u6709\u671b\u5411\u66f4\u5e7f\u9614\u7684\u8d22\u52a1\u8fd0\u8425\u81ea\u52a8\u5316\u9886\u57df\u6e17\u900f\u3002\u5176\u6210\u529f\u4e0e\u5426\uff0c\u5c06\u53d6\u51b3\u4e8e\u80fd\u5426\u5c06\u201c\u88ab\u52a8\u6536\u96c6\u201d\u7684\u4f18\u52bf\uff0c\u8f6c\u5316\u4e3a\u201c\u4e3b\u52a8\u6d1e\u5bdf\u201d\u7684\u4e0d\u53ef\u66ff\u4ee3\u6027\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">GetBeel<\/span>\n                <\/div>\n<div class=\"comment-content\">Every invoicing tool helps you send invoices. Getbeel solves the opposite: collecting the ones in your inbox. Connect Gmail and AI extracts every invoice automatically. No rules, works across all vendors. What else it does: \ud83c\udfe6 Bank reconciliation \ud83c\uddee\ud83c\uddf9 Autofattura XML for foreign suppliers \u26a1 Stripe to fattura elettronica via SDI \ud83d\udd04 Auto-retry on SDI rejections \ud83d\udcca Spend analytics \ud83d\udc69\u200d\ud83d\udcbc Accountant access<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The spend analytics caught my attention more than the invoice collection itself \u2014 so many companies only find out what they are actually paying when someone sits down and goes through bank statements. Does GetBeel work only with Gmail or are you planning Outlook too?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@klara_minarikova\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@klara_minarikova<\/a>&nbsp;thanks! right now is working also with outlook and other mail providers too<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is pretty cool. Anytime I used e.g. Pliant, I had to do things manually, which took time. <\/p>\n<p>How does it pair invoices with the right transactions? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;thanks! <\/p>\n<p>we are following an ai workflow, where we follow different steps, getting the bank data, the currency exchange of the day, etc&#8230; <\/p>\n<p>i can go deeper if you want : )<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\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;Hey Nika! <br \/>Getbeel automates the entire process: for every transaction, the invoice is matched automatically. You don&#8217;t have to do anything. You&#8217;ll still be notified in case an invoice is missing because it hasn&#8217;t arrived in your email. If you&#8217;d like more information, you can reach me at <a href=\"mailto:maria@theformulaai.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">maria@theformulaai.com<\/a> \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\">Two and a half days.<\/p>\n<p>That&#8217;s how long I spent last month downloading invoices from Gmail. Not building product. Not talking to users. Just opening emails, saving PDFs, renaming them, and forwarding them to my accountant.<\/p>\n<p>I&#8217;m Borja. I run an AI company from Milan. We pay for AWS, Vercel, OpenAI, Figma, Stripe, and probably 20 more tools I&#8217;d have to check my bank account to remember. Every single one sends an invoice to a different inbox every month.<\/p>\n<p>I tried about ten invoicing tools. They all solve the wrong problem. They help you send invoices. My problem was the opposite: the invoices are already in my inbox, I just need to get them out.<\/p>\n<p>So I built Getbeel.<\/p>\n<p>Connect Gmail. AI finds every invoice automatically. No rules to set up, works across all vendors, goes back through your inbox history so you don&#8217;t lose the months before you signed up.<\/p>\n<p>Then it got specific to my situation. In Italy, every time you pay a foreign supplier you owe the government a self-invoice in XML. For every payment. I forgot Google Ads for two months last year. Found out at tax time when my accountant told me those costs weren&#8217;t deductible. Getbeel generates those automatically now.<\/p>\n<p>The part I never planned: once every invoice lives in one place, you get spend data for free. Found out we were still paying for a design tool nobody had opened since September.<\/p>\n<p>I didn&#8217;t set out to build an invoicing company. I got fed up doing the same thing by hand every month and couldn&#8217;t believe nobody had solved it.<\/p>\n<p>If you run a company and waste time on the monthly invoice hunt, I built this for you. <\/p>\n<p>Would love to hear how you handle them : )<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is great idea! The &#8220;invoice hunting&#8221; problem is surprisingly universal \u2013 especially for small teams using dozens of tools. \ud83e\udd2f Do you see GetBeel staying primarily an automation tool for accountants, or evolving into more of a financial visibility layer for founders?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Right now Getbeel reads like an invoice extraction tool, but the stronger angle might actually be <strong>automating month-end financial ops for startups<\/strong><\/p>\n<\/p>\n<p>that framing could make the value clearer for founders<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Tried wiring this kind of flow once, and the ugly part wasn&#8217;t extraction. Getbeel tying Gmail capture to exact, fuzzy, and unmatched bank statement review feels right, because accountants trust the exception queue, not the happy path.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@piroune_balachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piroune_balachandran<\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@piroune_balachandran\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@piroune_balachandran<\/a>&nbsp;Hey Piroune. I really appreciate both the extraction part (it saves me so much time) and the reconciliation part (so I can make sure I haven&#8217;t missed any invoices). Also, in Italy, accountants have to self-invoice their foreign suppliers&#8217; invoices due to electronic invoicing requirements, and Getbeel also solves the problem of having to generate those XML files \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KIUYZ3ETWJEWDM\" class=\"app-title\">Shadow<\/a><\/p>\n<div class=\"one-liner\">Your Wingman for Smarter Conversations<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">43<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Shadow\u662f\u4e00\u6b3e\u5b9e\u65f6AI\u901a\u8bdd\u52a9\u624b\uff0c\u5728\u91cd\u8981\u4f1a\u8bae\u3001\u8c08\u5224\u7b49\u9ad8\u538b\u529b\u901a\u8bdd\u573a\u666f\u4e2d\uff0c\u901a\u8fc7\u5b9e\u65f6\u503e\u542c\u3001\u524d\u77bb\u6027\u601d\u8003\u5e76\u63d0\u4f9b\u7cbe\u51c6\u63d0\u793a\uff0c\u89e3\u51b3\u7528\u6237\u56e0\u7d27\u5f20\u6216\u4fe1\u606f\u8fc7\u8f7d\u800c\u9057\u5fd8\u5173\u952e\u95ee\u9898\u3001\u9057\u6f0f\u7ec6\u8282\u3001\u7f3a\u4e4f\u6e05\u6670\u540e\u7eed\u884c\u52a8\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\/b05892c0-2848-4125-a4fa-d8e841c74310.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\/133726ac-5786-47a7-9348-c7f7b4f283ce.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\/12571c46-97a7-4f2e-a8d6-9b86437d0730.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\/5d3dcca1-d5bc-4647-b8b1-09466f5653e9.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/c22752da-c89c-48f2-83cb-c63b6717378e.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/kc7l6DizPYo\"><source src=\"https:\/\/youtu.be\/kc7l6DizPYo\" 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\">Meetings<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5b9e\u65f6\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f1a\u8bae<\/span><br \/>\n            <span class=\"tag\">\u901a\u8bdd\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u63d0\u793a<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9ad8\u7ba1\u6c9f\u901a<\/span><br \/>\n            <span class=\"tag\">\u6218\u7565\u901a\u8bdd<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u8f85\u52a9<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u5b9e\u65f6\u901a\u8bdd\u52a9\u624b\u201d\u7684\u5b9a\u4f4d\uff0c\u8ba4\u4e3a\u5176\u89e3\u51b3\u4e86\u73b0\u6709\u5de5\u5177\u53ea\u5173\u6ce8\u4f1a\u524d\/\u4f1a\u540e\u8bb0\u5f55\u7684\u7a7a\u767d\u3002\u4e3b\u8981\u53cd\u9988\u5305\u62ec\uff1a\u8be2\u95ee\u5b9a\u4ef7\uff08\u5df2\u516c\u5e03Pro\u7248$79\/\u6708\/\u7528\u6237\uff09\u3001\u5efa\u8bae\u589e\u52a0\u591a\u8bed\u8a00\u652f\u6301\u3001\u5173\u6ce8\u4f01\u4e1a\u7ea7\u5e94\u7528\u53ef\u80fd\u3002\u5f00\u53d1\u8005\u56de\u5e94\u5c06\u5148\u805a\u7126\u6838\u5fc3\u4ea7\u54c1\uff0c\u8d70PLG\u8def\u7ebf\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                Shadow\u5207\u5165\u7684\u662f\u4e00\u4e2a\u7cbe\u5de7\u4e14\u9ad8\u98ce\u9669\u7684\u5e02\u573a\u7f1d\u9699\u3002\u5b83\u907f\u5f00\u4e86\u5df2\u6210\u7ea2\u6d77\u7684\u4f1a\u8bae\u8f6c\u5f55\u4e0e\u603b\u7ed3\u8d5b\u9053\uff0c\u8f6c\u800c\u805a\u7126\u4e8e\u201c\u901a\u8bdd\u8fdb\u884c\u65f6\u201d\u8fd9\u4e00\u51b3\u7b56\u538b\u529b\u6700\u5927\u3001\u4fe1\u606f\u635f\u8017\u6700\u4e25\u91cd\u7684\u5b9e\u65f6\u5e72\u9884\u73af\u8282\u3002\u5176\u5ba3\u79f0\u7684\u4ef7\u503c\u2014\u2014\u201c\u8ba9\u4f60\u5728\u6bcf\u6b21\u901a\u8bdd\u4e2d\u90fd\u542c\u8d77\u6765\u806a\u660e\u5f97\u79bb\u8c31\u201d\u2014\u2014\u76f4\u6307\u77e5\u8bc6\u5de5\u4f5c\u8005\u5728\u9ad8\u538b\u5bf9\u8bdd\u4e2d\u7684\u8868\u73b0\u7126\u8651\u4e0e\u80fd\u529b\u74f6\u9888\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u6311\u6218\u4e0e\u4ef7\u503c\u540c\u6837\u9c9c\u660e\u3002\u7b2c\u4e00\uff0c\u6280\u672f\u53ef\u9760\u6027\u662f\u751f\u547d\u7ebf\u3002\u5b9e\u65f6\u8bed\u97f3\u8f6c\u5199\u7684\u51c6\u786e\u6027\u3001\u4f4e\u5ef6\u8fdf\u63d0\u793a\u7684\u65f6\u673a\u3001\u4e0a\u4e0b\u6587\u7406\u89e3\u7684\u6df1\u5ea6\uff0c\u4efb\u4f55\u4e00\u73af\u7684\u5fae\u5c0f\u5931\u8bef\u90fd\u53ef\u80fd\u5728\u5173\u952e\u5bf9\u8bdd\u4e2d\u9020\u6210\u707e\u96be\u6027\u5e72\u6270\uff0c\u8fd9\u8981\u6c42\u4ea7\u54c1\u5177\u5907\u8fd1\u4e4e\u519b\u5de5\u7ea7\u7684\u7a33\u5b9a\u6027\u3002\u7b2c\u4e8c\uff0c\u4ef7\u503c\u611f\u77e5\u4e0e\u9690\u79c1\u987e\u8651\u7684\u6096\u8bba\u3002\u4ea7\u54c1\u8d8a\u201c\u9690\u5f62\u201d\u4e14\u6709\u6548\uff0c\u7528\u6237\u8d8a\u4f9d\u8d56\uff1b\u4f46\u4e00\u4e2a\u6301\u7eed\u76d1\u542c\u6240\u6709\u901a\u8bdd\u7684\u201c\u8033\u7554\u5e7d\u7075\u201d\uff0c\u5fc5\u7136\u5f15\u53d1\u4e25\u91cd\u7684\u6570\u636e\u5b89\u5168\u4e0e\u9690\u79c1\u62f7\u95ee\uff0c\u5c24\u5176\u9488\u5bf9\u5176\u76ee\u6807\u5ba2\u6237\uff08\u9ad8\u7ba1\u3001\u6218\u7565\u5c42\uff09\u3002\u7b2c\u4e09\uff0c\u5546\u4e1a\u6a21\u5f0f\u4e0e\u5e02\u573a\u5b9a\u4f4d\u7684\u5f20\u529b\u3002$79\/\u6708\u7684\u9ad8\u5b9a\u4ef7\u660e\u786e\u6307\u5411\u9ad8\u7aef\u4e13\u4e1a\u7528\u6237\uff0c\u4f46\u8fd9\u90e8\u5206\u7528\u6237\u6070\u6070\u6700\u6311\u5254\u3001\u6700\u4fdd\u5b88\uff0c\u4e14\u5df2\u6709\u6210\u719f\u7684\u4eba\u529b\u52a9\u7406\uff08\u5982\u771f\u5b9e\u52a9\u7406\uff09\u89e3\u51b3\u65b9\u6848\u3002AI\u5982\u4f55\u8bc1\u660e\u5176\u4ef7\u503c\u8d85\u8d8a\u6216\u5ab2\u7f8e\u4eba\u7c7b\u52a9\u7406\uff0c\u662f\u4e00\u9053\u5fc5\u7b54\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0cShadow\u8d29\u5356\u7684\u662f\u4e00\u79cd\u201c\u8ba4\u77e5\u589e\u5f3a\u201d\u4e0e\u201c\u8868\u73b0\u4fdd\u9669\u201d\u3002\u5b83\u4e0d\u751f\u4ea7\u77e5\u8bc6\uff0c\u800c\u662f\u4f18\u5316\u77e5\u8bc6\u7684\u5b9e\u65f6\u63d0\u53d6\u4e0e\u5e94\u7528\u3002\u5982\u679c\u6210\u529f\uff0c\u5b83\u5c06\u6210\u4e3a\u6570\u5b57\u65f6\u4ee3\u4e13\u4e1a\u6c9f\u901a\u7684\u201c\u9632\u62b1\u6b7b\u5236\u52a8\u7cfb\u7edf\u201d\uff1b\u82e5\u5931\u8d25\uff0c\u5219\u53ea\u662f\u53e6\u4e00\u4e2a\u56e0\u65e0\u6cd5\u627f\u53d7\u771f\u5b9e\u573a\u666f\u538b\u529b\u800c\u6ca6\u4e3a\u73a9\u5177\u7684AI\u6982\u5ff5\u3002\u5176\u6210\u8d25\u4e0d\u5728\u4e8eAI\u662f\u5426\u806a\u660e\uff0c\u800c\u5728\u4e8e\u80fd\u5426\u5728\u4eba\u7c7b\u6700\u590d\u6742\u3001\u6700\u975e\u7ed3\u6784\u5316\u7684\u793e\u4ea4\u4e92\u52a8\u2014\u2014\u5bf9\u8bdd\u4e2d\uff0c\u505a\u5230\u6781\u81f4\u53ef\u9760\u4e0e\u65e0\u611f\u878d\u5165\u3002\u8fd9\u662f\u4e00\u573a\u8c6a\u8d4c\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Shadow<\/span>\n                <\/div>\n<div class=\"comment-content\">Every superhero has a voice in their ear. Shadow has yours covered. Shadow listens, thinks ahead, and slips you the right prompts while you&#8217;re on the call, Just you, sounding ridiculously smart on every single call.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone, excited to launch on Product Hunt today! \ud83d\udc4b<\/p>\n<p>We built Shadow because high-stakes calls punish you for being \u201cmostly prepared.\u201d Even when you know your stuff, you still:<br \/>\n&#8211; Forget the one critical question mid-call<br \/>\n&#8211; Lose key details across messy notes + docs<br \/>\n&#8211; Finish with \u201cgood chat\u201d but weak follow-through<\/p>\n<p>Shadow is a real-time wingman: It helps you take calls smartly, so your time in the call is leveraged productively. Shadow is build for the conversation in the moment, helping you ask better questions and leave with clear outcomes.<\/p>\n<p>Would love feedback on:<br \/>\n&#8211; If Shadow could do one thing perfectly for you, what should it be?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@shubham16180\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham16180<\/a>&nbsp;Hi! Congrats on launching Shadow \u2014 the idea of a real-time wingman for important calls is really compelling. High-stakes conversations definitely need better support than scattered notes.<\/p>\n<p>I\u2019m currently researching how founders manage and improve the operational health of their SaaS products and workflows. I\u2019d really value your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the idea of having a real-time AI wingman during calls.<\/p>\n<p>High-stakes conversations are exactly where people forget key questions or lose context. This feels like a very practical use of AI. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Appreciate it<a href=\"https:\/\/www.producthunt.com\/@kshitij_mishra4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kshitij_mishra4<\/a>! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The positioning as a \u201cwingman for conversations\u201d is great.<\/p>\n<p>Calls are often where the most important decisions happen, and having contextual prompts in the moment could make a huge difference. Nice work on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>That&#8217;s the thought <a href=\"https:\/\/www.producthunt.com\/@kate_ramakaieva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kate_ramakaieva<\/a>!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Huge congratulations on the launch of Shadow! <\/p>\n<\/p>\n<p>\u200bThe &#8216;AI Winman&#8217; concept is such a refreshing and highly personalized take on meeting tech. While most tools focus on what happened before\/after the call, having an assistant that provides real-time nudges and intelligent suggestions during the conversation is a massive step forward. It really feels like having a digital partner in the room helping you stay on track and hit your goals in the moment.<\/p>\n<\/p>\n<p>\u200bLove the focus on making conversations smarter rather than just documenting them. Can&#8217;t wait to see how this evolves, definitely a game-changer for anyone who wants to level up their communication! <\/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\/@vivekanandba\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vivekanandba<\/a>&nbsp;That&#8217;s the whole idea Vivek!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Just checked this out and the core idea makes a lot of sense, tools I use now kick in after the meeting with summaries and transcripts. Great that you&#8217;re tackling the harder problem of  helping during the conversation itself.<\/p>\n<p>Congrats to the team on the launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grege_rodrigues\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grege_rodrigues<\/a>&nbsp;Thanks for your thoughtful comment \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>This will be incredibly useful for scheduling multiple meetings and will save a significant amount of time. I definitely want to start using this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Multi lingual support is a great 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thisiskp_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thisiskp_<\/a>&nbsp;Yup!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great idea! What&#8217;s the pricing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey<a href=\"https:\/\/www.producthunt.com\/@byalexai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@byalexai<\/a>&nbsp;<br \/>&#8211; Sharing with a free version right now.<br \/>&#8211; Pro plan will be priced at 79$ \/ user \/ mon<br \/>&#8211; Enterprise plan (TBD)<\/p>\n<p>This will specifically be <strong>targeted<\/strong> towards <strong>high-stakes conversations<\/strong> for people at <strong>strategic\/executive levels.<\/strong><\/p>\n<\/p>\n<p>Let me know what specifically interested you in the product?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I tried it for my meetings, it&#8217;s giving really good results. <\/p>\n<\/p>\n<p>The fact check is specifically helpful for me.<\/p>\n<\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@shubham16180\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"shubham16180\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham16180<\/a> <a href=\"https:\/\/www.producthunt.com\/@mayank_gupta40\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"mayank_gupta40\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mayank_gupta40<\/a> Are you also going to launch it for enterprises or is going to be for the personal use only ?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nikha_garg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikha_garg<\/a>&nbsp;Thanks Nikha for your feedback. As of now we&#8217;re focussed on improving core of the product, so will keep it prosumer focussed before we go deeper into an industry. We&#8217;re thinking of PLG route for the same. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 can already imagine this quietly running in the background of all our team syncs \ud83d\ude04<\/p>\n<p>Kudos on the launch <a href=\"https:\/\/www.producthunt.com\/@shubham16180\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"shubham16180\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shubham16180<\/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>Thanks<a href=\"https:\/\/www.producthunt.com\/@ajaykumar1018\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajaykumar1018<\/a>. Glad it will be helpful to your team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone, excited to launch Shadow today.<\/p>\n<p>We built Shadow because <strong>important conversations often go wrong in small ways: you forget one critical question, miss context in the moment, or leave the call without a clear next step.<\/strong><\/p>\n<p>Shadow acts like a real-time wingman during conversations. It helps you stay sharp while the call is happening, so you can ask better questions, capture what matters, and walk away with clearer outcomes.<\/p>\n<p>We\u2019re especially looking for feedback on this:<br \/><strong>What is the one thing Shadow should do extremely well for you during a call?<\/strong><\/p>\n<p>If you try it out, I\u2019d love to hear where it felt useful and where it broke.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Helping during the conversation is where the real leverage is \ud83d\udcaf<\/div>\n<div class=\"comment-actions\">\n<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\/@manuelabarcenas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manuelabarcenas<\/a>&nbsp;Thanks Manuela for appreciating this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/QQUFVUOJTUSRJQ\" class=\"app-title\">TicketX<\/a><\/p>\n<div class=\"one-liner\">Buy Cheap Concert &#038; Sports Tickets with No Fees<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">20<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>TicketX\u662f\u4e00\u4e2a\u4e3b\u6253\u201c\u65e0\u9690\u85cf\u8d39\u7528\u201d\u7684\u7968\u52a1\u5e02\u573a\uff0c\u5728\u7528\u6237\u8d2d\u4e70\u7f8e\u56fd\u3001\u52a0\u62ff\u5927\u548c\u65e5\u672c\u7684\u97f3\u4e50\u4f1a\u53ca\u4f53\u80b2\u8d5b\u4e8b\u95e8\u7968\u65f6\uff0c\u89e3\u51b3\u4e86\u7ed3\u8d26\u73af\u8282\u4ef7\u683c\u4e0d\u900f\u660e\u3001\u906d\u9047\u610f\u5916\u9644\u52a0\u8d39\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\/3425083b-07d1-4e52-ada7-9460f44b18c5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cd2450a1-5fd6-4777-a307-71fd579bb90a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/265b4a66-8a6a-4751-b3f9-06e3fa549d04.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\">Events<\/span><br \/>\n            <span class=\"tag\">Ticketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7968\u52a1\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u4e8c\u7ea7\u5e02\u573a<\/span><br \/>\n            <span class=\"tag\">\u4ef7\u683c\u900f\u660e<\/span><br \/>\n            <span class=\"tag\">\u65e0\u9690\u85cf\u8d39\u7528<\/span><br \/>\n            <span class=\"tag\">\u6f14\u5531\u4f1a\u95e8\u7968<\/span><br \/>\n            <span class=\"tag\">\u4f53\u80b2\u8d5b\u4e8b\u95e8\u7968<\/span><br \/>\n            <span class=\"tag\">\u65e5\u672c\u7968\u52a1<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5883\u8d2d\u7968<\/span><br \/>\n            <span class=\"tag\">\u5e02\u573a\u5dee\u5f02\u5316<\/span><br \/>\n            <span class=\"tag\">\u6d88\u8d39\u8005\u6743\u76ca<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u5176\u4ef7\u683c\u900f\u660e\u6a21\u5f0f\u548c\u72ec\u7279\u7684\u65e5\u672c\u7968\u52a1\u8d44\u6e90\uff0c\u8ba4\u4e3a\u8fd9\u89e3\u51b3\u4e86\u8d2d\u7968\u7684\u6838\u5fc3\u75db\u70b9\u3002\u6709\u6548\u63d0\u95ee\u96c6\u4e2d\u5728\u672a\u6765\u662f\u5426\u4f1a\u62d3\u5c55\u5176\u4ed6\u5730\u533a\u548c\u6d3b\u52a8\u7c7b\u522b\uff0c\u4ee5\u53ca\u5e73\u53f0\u5982\u4f55\u5efa\u7acb\u548c\u7ef4\u62a4\u7528\u6237\u4fe1\u4efb\u3002\u6709\u7528\u6237\u660e\u786e\u8868\u793a\u4f1a\u56e0\u80fd\u4fbf\u6377\u8d2d\u4e70\u65e5\u672c\u68d2\u7403\u7968\u800c\u5411\u670b\u53cb\u63a8\u8350\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                TicketX\u5207\u5165\u7684\u662f\u4e00\u4e2a\u53e4\u8001\u800c\u987d\u56fa\u7684\u75db\u70b9\uff1a\u7968\u52a1\u5e02\u573a\u7684\u201c\u5783\u573e\u8d39\u201d\u3002\u5176\u201c\u6240\u89c1\u5373\u6240\u5f97\u201d\u7684\u5b9a\u4ef7\u7b56\u7565\uff0c\u770b\u4f3c\u7b80\u5355\u7684\u529f\u80fd\u56de\u5f52\uff0c\u5b9e\u5219\u662f\u9488\u5bf9\u884c\u4e1a\u6f5c\u89c4\u5219\u7684\u6b63\u9762\u6311\u6218\u3002\u8fd9\u5e76\u975e\u6280\u672f\u521b\u65b0\uff0c\u800c\u662f\u5546\u4e1a\u4f26\u7406\u548c\u7528\u6237\u4f53\u9a8c\u8bbe\u8ba1\u7684\u56de\u5f52\uff0c\u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u8bd5\u56fe\u91cd\u5efa\u6781\u5ea6\u8106\u5f31\u7684\u6d88\u8d39\u8005\u4fe1\u4efb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u6a21\u5f0f\u9762\u4e34\u53cc\u91cd\u62f7\u95ee\u3002\u5176\u4e00\uff0c\u53ef\u6301\u7eed\u6027\u3002\u5f53\u201c\u65e0\u9690\u85cf\u8d39\u7528\u201d\u6210\u4e3a\u6838\u5fc3\u5356\u70b9\uff0c\u610f\u5473\u7740\u5e73\u53f0\u653e\u5f03\u4e86\u4f20\u7edf\u7968\u52a1\u5de8\u5927\u7684\u7070\u8272\u5229\u6da6\u6c60\uff08\u670d\u52a1\u8d39\u3001\u5904\u7406\u8d39\u3001\u914d\u9001\u8d39\u7b49\uff09\uff0c\u5176\u8425\u6536\u6a21\u578b\u5fc5\u987b\u53e6\u5bfb\u4ed6\u8def\u2014\u2014\u53ef\u80fd\u662f\u66f4\u9ad8\u7684\u7968\u9762\u6ea2\u4ef7\u5206\u6210\uff0c\u6216\u8f6c\u5411\u5176\u4ed6\u589e\u503c\u670d\u52a1\u3002\u5728\u4f9b\u5e94\u5546\u4e3b\u5bfc\u7684\u7968\u6e90\u9762\u524d\uff0c\u8fd9\u79cd\u201c\u900f\u660e\u201d\u627f\u8bfa\u80fd\u575a\u6301\u591a\u4e45\uff0c\u5c06\u8003\u9a8c\u5176\u8bae\u4ef7\u80fd\u529b\u4e0e\u6218\u7565\u5b9a\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4e8c\uff0c\u5dee\u5f02\u5316\u58c1\u5792\u3002\u4ef7\u683c\u900f\u660e\u6781\u6613\u88ab\u6a21\u4eff\uff0c\u5e76\u975e\u957f\u4e45\u62a4\u57ce\u6cb3\u3002\u5176\u5ba3\u79f0\u7684\u7b2c\u4e8c\u4e2a\u4f18\u52bf\u2014\u2014\u201c\u5f3a\u5927\u7684\u65e5\u672c\u7968\u52a1\u8d44\u6e90\u201d\uff0c\u53cd\u800c\u66f4\u503c\u5f97\u73a9\u5473\u3002\u8fd9\u63ed\u793a\u4e86\u5176\u672c\u8d28\uff1a\u5f88\u53ef\u80fd\u662f\u65e5\u672c\u5927\u578b\u7968\u52a1\u8f6c\u552e\u5e73\u53f0\u7684\u56fd\u9645\u5206\u9500\u524d\u7aef\u6216\u6218\u7565\u5b75\u5316\u9879\u76ee\u3002\u8fd9\u65e2\u662f\u4f18\u52bf\u4e5f\u662f\u5c40\u9650\u3002\u4f18\u52bf\u5728\u4e8e\u62e5\u6709\u7a33\u5b9a\u7684\u7a00\u7f3a\u7968\u6e90\uff0c\u7279\u522b\u662f\u5728\u5168\u7403\u7c89\u4e1d\u8ffd\u6367\u7684\u65e5\u672c\u6f14\u827a\u53ca\u4f53\u80b2\u8d5b\u4e8b\u9886\u57df\uff0c\u5f62\u6210\u4e86\u72ec\u7279\u7684\u4f9b\u7ed9\u58c1\u5792\u3002\u5c40\u9650\u5219\u5728\u4e8e\uff0c\u5176\u57fa\u56e0\u53ef\u80fd\u66f4\u504f\u5411\u4e8e\u4e00\u4e2a\u201c\u6e20\u9053\u201d\u800c\u975e\u201c\u5e73\u53f0\u201d\uff0c\u5728\u62d3\u5c55\u5317\u7f8e\u7b49\u6210\u719f\u5e02\u573a\u65f6\uff0c\u5c06\u76f4\u9762StubHub\u3001Ticketmaster\u7b49\u5de8\u5934\u7684\u78be\u538b\uff0c\u5176\u65e5\u672c\u8d44\u6e90\u5728\u975e\u65e5\u672c\u5e02\u573a\u5438\u5f15\u529b\u6709\u9650\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u56e0\u6b64\uff0cTicketX\u7684\u771f\u5b9e\u6545\u4e8b\u53ef\u80fd\u4e0d\u662f\u8981\u6210\u4e3a\u5168\u7403\u7968\u52a1\u5de8\u5934\uff0c\u800c\u662f\u6210\u4e3a\u4e00\u4e2a\u201c\u5782\u76f4\u8de8\u5883\u7968\u52a1\u4e13\u5bb6\u201d\uff0c\u7279\u522b\u662f\u5728\u65e5\u672c\u6587\u5316\u5185\u5bb9\u8f93\u51fa\u7684\u6d6a\u6f6e\u4e0b\uff0c\u7cbe\u51c6\u670d\u52a1\u4e8e\u5168\u7403\u7684\u65e5\u672c\u6587\u5316\u6d88\u8d39\u9700\u6c42\u3002\u5b83\u7684\u6210\u529f\u4e0e\u5426\uff0c\u4e0d\u5728\u4e8e\u80fd\u5426\u6d88\u706d\u9690\u85cf\u8d39\u7528\uff0c\u800c\u5728\u4e8e\u80fd\u5426\u5c06\u201c\u53ef\u4fe1\u8d56\u7684\u65e5\u672c\u7968\u52a1\u5165\u53e3\u201d\u8fd9\u4e00\u5fc3\u667a\u7262\u7262\u690d\u5165\u56fd\u9645\u6d88\u8d39\u8005\u5fc3\u4e2d\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u8c28\u614e\u6784\u5efa\u5176\u5546\u4e1a\u6a21\u5f0f\u3002\u5f53\u524d\u7684\u4f4e\u6295\u7968\u6570\uff0820\uff09\u4e5f\u53cd\u6620\u51fa\uff0c\u5728Product Hunt\u8fd9\u7c7b\u6cdb\u79d1\u6280\u793e\u533a\uff0c\u5176\u5782\u76f4\u5c5e\u6027\u53ef\u80fd\u5c1a\u672a\u6fc0\u8d77\u5e7f\u6cdb\u5171\u9e23\uff0c\u771f\u6b63\u7684\u6218\u573a\u5e94\u5728\u7c89\u4e1d\u793e\u7fa4\u4e4b\u4e2d\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\">TicketX<\/span>\n                <\/div>\n<div class=\"comment-content\">TicketX is a no hidden fee ticket marketplace for concerts and sports in the US, Canada, and Japan. We believe fans shouldn\u2019t be surprised by hidden fees at checkout. That\u2019s why TicketX shows all-in prices upfront. In addition, what makes us different is our strong access to Japanese tickets because we\u2019re backed by one of the largest ticket resale platforms in Japan.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really excited to launch TicketX on Product Hunt today \ud83c\udf9f\ufe0f<\/p>\n<p>Hidden fees at checkout are one of the most frustrating parts of buying tickets, which is why we built TicketX to show the all-in price upfront.<\/p>\n<p>We\u2019d love to hear your thoughts and feedback. Thanks so much for the support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi, Product Hunt \ud83d\udc4b<\/p>\n<p>We\u2019re excited to finally share TicketX with you today!<\/p>\n<p># Motivation<br \/>Buying tickets online often feels frustrating. You find what looks like a great deal, only to be surprised by hidden fees at checkout. On top of that, it\u2019s especially hard to find tickets for Japanese concerts and sports events on global resale platforms.<br \/>We wanted to fix both problems.<\/p>\n<p># What makes TicketX different<br \/>TicketX is a no-hidden-fee ticket marketplace for concerts and sports across the US, Canada, and Japan. What you see is what you pay. No last-minute add-ons \ud83e\udd1d<\/p>\n<p>We\u2019re also backed by one of the largest ticket resale platforms in Japan, which allows us to offer a wider selection of Japanese tickets, including events that are often hard to find outside Japan \ud83c\uddef\ud83c\uddf5<\/p>\n<p># We\u2019d love your feedback<br \/>TicketX is still evolving, and we\u2019d love to hear your thoughts.<br \/>What\u2019s the most frustrating part of buying tickets today?<\/p>\n<p>If you read this far, I have a gift for you:<\/p>\n<p>\ud83c\udf81 Coupon<\/p>\n<p>\ud83c\udf9f\ufe0fUse <strong>PH10OFF<\/strong> for <strong>10% OFF<\/strong> \u2014 valid until March 31st, 2026!<\/p>\n<p>Thank you!<br \/>TicketX<\/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\/@tomohiro_tanaka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomohiro_tanaka<\/a>&nbsp;<\/p>\n<p>Congrats on the launch! \ud83c\udf89<\/p>\n<\/p>\n<p>Transparent pricing is a huge win \u2014 hidden fees are the worst part of ticket marketplaces.<\/p>\n<\/p>\n<p>The integration with Japanese ticket supply is especially interesting. That\u2019s usually very hard for international fans to access.<\/p>\n<\/p>\n<p>Curious: are you planning to expand to other regions or event categories 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tomohiro_tanaka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomohiro_tanaka<\/a>&nbsp;<\/p>\n<p>Congrats on the launch! \ud83d\ude80<\/p>\n<p>As a huge baseball fan, I love that you&#8217;re focusing on Japanese sports! Getting NPB (Nippon Professional Baseball) tickets from outside Japan has always been such a hassle. The transparency with &#8220;no hidden fees&#8221; makes it even better.<\/p>\n<p>Definitely recommending this to my friends planning a trip to Japan! \ud83c\uddef\ud83c\uddf5\u26be\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tomohiro_tanaka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tomohiro_tanaka<\/a>&nbsp;Hi! Congrats on launching TicketX, the <strong>no hidden fee<\/strong> approach is refreshing, especially in a space where checkout surprises are common. The access to Japanese events is also a really interesting angle.<\/p>\n<p>I\u2019m currently researching how founders track and improve the health of marketplace products and user trust in their platforms. I\u2019d love to hear your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/23ZJKXHTOGUGPL\" class=\"app-title\">Gwal &#8211; AI Agents on Mobile<\/a><\/p>\n<div class=\"one-liner\">Army of AI Agents in your pocket.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">19<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Gwal\u662f\u4e00\u6b3e\u79fb\u52a8\u7aefAI\u667a\u80fd\u4f53\u5e73\u53f0\uff0c\u5141\u8bb8\u7528\u6237\u4ece\u624b\u673a\u5feb\u901f\u521b\u5efa\u3001\u90e8\u7f72\u548c\u7ba1\u7406\u591a\u4e2a\u53ef\u5b9a\u5236\u3001\u53ef\u534f\u4f5c\u7684AI\u667a\u80fd\u4f53\uff0c\u65e8\u5728\u5c06\u624b\u673a\u53d8\u4e3a\u4e2a\u4ebaAI\u5de5\u4f5c\u961f\u7684\u6307\u6325\u4e2d\u5fc3\uff0c\u89e3\u51b3\u7528\u6237\u5728\u79fb\u52a8\u573a\u666f\u4e0b\u9700\u8981\u7075\u6d3b\u3001\u96c6\u6210\u5316AI\u52a9\u7406\u80fd\u529b\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ec96ba87-7f45-48e7-980c-2f93c267164e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4efa8c64-9472-4dc6-aef1-43786a085e96.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4fb611df-d94a-4f11-9a75-415533ce68b0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/42a118c8-632a-4311-9416-c44436496fa9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c42b8593-9c35-4752-a923-4b3e24a1e107.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3bf947f8-0351-4d8e-a011-25f2dd54990e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/616bb8d2-4ab6-43e3-bd43-2dfe69f0b6fd.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\/d56cd5ec-671a-4cc5-8758-5e44d5b5801f.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/aC-HyrmrGnM?feature=share\"><source src=\"https:\/\/youtube.com\/shorts\/aC-HyrmrGnM?feature=share\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Task Management<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u667a\u80fd\u4f53\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u7aef\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4e91\u7aef\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u6280\u80fd\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u5b9a\u5236<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI workforce<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4eba\u4eb2\u81ea\u4ecb\u7ecd\u4ea7\u54c1\u7406\u5ff5\uff0c\u5f3a\u8c03\u5176\u79fb\u52a8\u4f18\u5148\u548c\u591a\u667a\u80fd\u4f53\u534f\u4f5c\u7684\u5dee\u5f02\u5316\u5b9a\u4f4d\u3002\u6709\u7528\u6237\u8be2\u95ee\u5176\u4e0e\u7ade\u54c1\uff08\u5982OpenClaw\uff09\u7684\u76f8\u4f3c\u6027\uff0c\u521b\u59cb\u4eba\u56de\u590d\u6f84\u6e05Gwal\u66f4\u4fa7\u91cd\u4e8e\u79fb\u52a8\u7aef\u548c\u4f5c\u4e3a\u591a\u667a\u80fd\u4f53\u7684\u4e91\u7aef\u6307\u6325\u4e2d\u5fc3\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                Gwal\u63d0\u51fa\u7684\u201c\u53e3\u888b\u91cc\u7684AI\u519b\u56e2\u201d\u6982\u5ff5\uff0c\u7cbe\u51c6\u5207\u4e2d\u4e86\u5f53\u524dAI Agent\u9886\u57df\u4e00\u4e2a\u663e\u8457\u7684\u7a7a\u767d\uff1a\u771f\u6b63\u7684\u79fb\u52a8\u539f\u751f\u4e0e\u7528\u6237\u4fa7\u96c6\u4e2d\u7ba1\u63a7\u3002\u5f53\u524d\u591a\u6570AI Agent\u5de5\u5177\u6216\u4f9d\u9644\u4e8eDiscord\u7b49\u804a\u5929\u5e73\u53f0\uff0c\u6216\u5c40\u9650\u4e8e\u5f00\u53d1\u73af\u5883\uff0c\u5b9e\u8d28\u662f\u5c06\u7528\u6237\u201c\u62c9\u5165\u201dAI\u7684\u8fd0\u4f5c\u573a\u666f\u3002Gwal\u53cd\u5176\u9053\u800c\u884c\uff0c\u8bd5\u56fe\u5c06AI\u7684\u8c03\u5ea6\u6743\u771f\u6b63\u4ea4\u8fd8\u5230\u7528\u6237\u6700\u8d34\u8eab\u3001\u6700\u5373\u65f6\u7684\u8bbe\u5907\u2014\u2014\u624b\u673a\u4e0a\uff0c\u8fd9\u662f\u4e00\u4e2a\u503c\u5f97\u80af\u5b9a\u7684\u573a\u666f\u6d1e\u5bdf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5ba3\u79f0\u7684\u4ef7\u503c\u9762\u4e34\u591a\u91cd\u8003\u9a8c\u3002\u9996\u5148\uff0c\u201c\u5728\u624b\u673a\u4e0a\u7ba1\u7406\u201d\u4e0e\u201c\u7528\u624b\u673a\u521b\u9020\u201d\u5b58\u5728\u5de8\u5927\u4f53\u9a8c\u9e3f\u6c9f\u3002\u5728\u72ed\u5c0f\u5c4f\u5e55\u4e0a\u8fdb\u884c\u667a\u80fd\u4f53\u7684\u590d\u6742\u5b9a\u5236\u3001\u6280\u80fd\u7f16\u6392\u4e0e\u5de5\u4f5c\u6d41\u8bbe\u8ba1\uff0c\u5176\u64cd\u4f5c\u6548\u7387\u548c\u4f53\u9a8c\u80fd\u5426\u5ab2\u7f8e\u751a\u81f3\u8d85\u8d8a\u684c\u9762\u7aef\uff0c\u662f\u4e00\u4e2a\u5de8\u5927\u7684\u4ea7\u54c1\u8bbe\u8ba1\u6311\u6218\u3002\u5176\u6b21\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u201c\u591a\u667a\u80fd\u4f53\u534f\u4f5c\u201d\u76ee\u524d\u4ecd\u662f\u4e00\u4e2a\u613f\u666f\u6027\u529f\u80fd\uff0c\u8bc4\u8bba\u4e2d\u5e76\u672a\u5c55\u793a\u5177\u4f53\u7528\u4f8b\u3002\u5982\u4f55\u8ba9\u667a\u80fd\u4f53\u95f4\u5b9e\u73b0\u7a33\u5b9a\u3001\u53ef\u9760\u3001\u6709\u4ef7\u503c\u7684\u534f\u4f5c\uff0c\u800c\u975e\u7b80\u5355\u7684\u4efb\u52a1\u63a5\u529b\uff0c\u662f\u6280\u672f\u4e0a\u7684\u6df1\u6c34\u533a\u3002\u6700\u540e\uff0c\u96c6\u62108000+\u6280\u80fd\u66f4\u50cf\u662f\u4e00\u4e2a\u8425\u9500\u6570\u5b57\uff0c\u5173\u952e\u4e0d\u5728\u4e8e\u6570\u91cf\uff0c\u800c\u5728\u4e8e\u4e0e\u79fb\u52a8\u573a\u666f\u6df1\u5ea6\u7ed3\u5408\u7684\u9ad8\u9891\u3001\u521a\u9700\u6280\u80fd\u6709\u591a\u5c11\uff0c\u4ee5\u53ca\u8fde\u63a5\u8fd9\u4e9bAPI\u7684\u5b89\u5168\u548c\u6613\u7528\u6027\u80fd\u5426\u7ecf\u5f97\u8d77\u666e\u901a\u7528\u6237\u7684\u8003\u9a8c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cGwal\u5c55\u793a\u4e86\u4e00\u4e2a\u8bf1\u4eba\u7684\u672a\u6765\u56fe\u666f\uff1a\u624b\u673a\u4f5c\u4e3a\u4e2a\u4eba\u6570\u5b57\u4e16\u754c\u7684AI\u4e2d\u63a7\u53f0\u3002\u4f46\u5176\u4ece\u201c\u79fb\u52a8\u90e8\u7f72\u7ba1\u7406\u5668\u201d\u5230\u201c\u667a\u80fd\u534f\u4f5c\u7f51\u7edc\u201d\u7684\u98de\u8dc3\uff0c\u8fd8\u9700\u5728\u4ea4\u4e92\u8bbe\u8ba1\u3001\u534f\u4f5c\u903b\u8f91\u548c\u573a\u666f\u6df1\u8015\u4e0a\u62ff\u51fa\u66f4\u624e\u5b9e\u7684\u89e3\u51b3\u65b9\u6848\u3002\u5f53\u524d\u7248\u672c\u66f4\u50cf\u662f\u4e00\u4e2a\u79fb\u52a8\u53cb\u597d\u7684Agent\u90e8\u7f72\u95e8\u6237\uff0c\u5176\u5ba3\u79f0\u7684\u201c\u519b\u56e2\u201d\u4f5c\u6218\u80fd\u529b\uff0c\u4ecd\u6709\u5f85\u5b9e\u6218\u68c0\u9a8c\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\">Gwal &#8211; AI Agents on Mobile<\/span>\n                <\/div>\n<div class=\"comment-content\">Gwal lets you create, deploy and manage customized (multiple) AI agents directly from your phone. Create custom agents with unique avatars, personalities, and tasks, then deploy them to the cloud in seconds. Your agents stay persistent and can collaborate with each other to complete complex workflows. Extend them with 8000+ plug-and-play skills, securely connect APIs using encrypted environment variables, and manage everything from your mobile. Your personal AI workforce, right in your pocket<\/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 Govind, the founder of gwal.ai.<\/p>\n<p>Most AI agent tools today are built for desktops, dev environments, or Discord\/Telegram bots. But the device people actually live on is their phone.<\/p>\n<p>So I started building gwal.ai \u2014 a mobile-first platform for deploying and managing AI agents.<\/p>\n<p>Instead of a single assistant, gwal.ai lets you create a network of specialized agents that can collaborate with each other.<\/p>\n<p>You can customize each agent with its own:<\/p>\n<p>\u2022 avatar<br \/>\n\u2022 personality (\u201csoul\u201d)<br \/>\n\u2022 tasks and capabilities<br \/>\n\u2022 AI provider<br \/>\n\u2022 skills from an ecosystem of 8000+ integrations<\/p>\n<p>Then deploy them to the cloud in about a minute, and manage everything directly from your phone.<\/p>\n<p>The vision is simple:<br \/>\nyour phone becomes the control center for your personal AI workforce.<\/p>\n<p>This is just the beginning \u2014 I\u2019m working on a lot of exciting updates around agent collaboration, mobile workflows, and deeper customization.<\/p>\n<p>Would love to hear your thoughts and what kinds of agents you\u2019d want to build \ud83d\ude4c<\/p>\n<p>Follow Gwal on X (Twitter):<br \/>\n&#8211; <a href=\"https:\/\/x.com\/gwal_ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/x.com\/gwal_ai<\/a><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It looks interesting! Is it similar to OpenClaw but for mobile or something more specific?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alexeyglukharev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexeyglukharev<\/a>&nbsp; Kind of! The idea is similar in spirit to OpenClaw, but gwal is <strong>mobile-first and built around managing multiple specialized agents<\/strong>.<\/p>\n<p>Your phone becomes the command center where you deploy and coordinate your AI team running in the cloud.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/VNVKTPV7JHGOE7\" class=\"app-title\">Deforge<\/a><\/p>\n<div class=\"one-liner\">Canva for AI Agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">18<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Deforge\u662f\u4e00\u6b3e\u65e0\u4ee3\u7801AI\u667a\u80fd\u4f53\u6784\u5efa\u5e73\u53f0\uff0c\u901a\u8fc7\u201c\u5bf9\u8bdd\u5f0f\u6784\u5efa\u201d\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u9700\u6c42\uff0c\u81ea\u52a8\u751f\u6210\u5de5\u4f5c\u6d41\uff0c\u89e3\u51b3\u4e86\u975e\u6280\u672f\u7528\u6237\u5728\u521b\u5efa\u590d\u6742AI\u4ee3\u7406\u65f6\u9762\u4e34\u7684\u9ad8\u95e8\u69db\u548c\u914d\u7f6e\u7e41\u7410\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\/eff90f41-f746-44db-be84-04e19c3e3d33.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\/83ac9568-fff8-4701-bf62-b8a6ab8de711.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\/feadc7df-6082-4d47-a24e-0cb30d073da2.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\/f90b78cc-ae4f-4a07-b41b-bc38fc440d2e.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\/93a45283-05e2-4da5-bca3-db08dc271045.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\/d8495095-2d0c-4782-b358-0b41d49ca216.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/6831dbf4-57ad-461e-8ce2-8ea4276731ac.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/a_MlMoJ_5EE\"><source src=\"https:\/\/youtu.be\/a_MlMoJ_5EE\" 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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u65e0\u4ee3\u7801\u5f00\u53d1\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u4f53\u6784\u5efa<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u5f0f\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u578b\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u5e94\u7528\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u90e8\u7f72<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u6709\u6548\u8bc4\u8bba\u4e3b\u8981\u4e3a\u521b\u59cb\u4eba\u53d1\u5e03\u7684\u4ea7\u54c1\u66f4\u65b0\u516c\u544a\u3002\u91cd\u70b9\u4ecb\u7ecd\u4e86\u201c\u5bf9\u8bdd\u6784\u5efa\u201d\u3001UI\/UX\u91cd\u6784\u3001\u67b6\u6784\u5347\u7ea7\u4e0e\u591a\u6a21\u578b\u652f\u6301\u56db\u5927\u6838\u5fc3\u66f4\u65b0\uff0c\u65e8\u5728\u89e3\u51b3\u65e9\u671f\u7248\u672c\u4e2d\u201c\u65e0\u4ee3\u7801\u4ecd\u663e\u590d\u6742\u201d\u7684\u7528\u6237\u75db\u70b9\uff0c\u5e76\u79ef\u6781\u9080\u8bf7\u793e\u533a\u53cd\u9988\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                Deforge\u4ee5\u201cAI\u667a\u80fd\u4f53\u7684Canva\u201d\u4e3a\u6807\u8bed\uff0c\u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u7b80\u5355\u5730\u63d0\u4f9b\u4e00\u4e2a\u53ef\u89c6\u5316\u62d6\u62fd\u754c\u9762\u2014\u2014\u8fd9\u5df2\u662f\u7ea2\u6d77\uff0c\u800c\u5728\u4e8e\u5176\u6fc0\u8fdb\u5730\u8bd5\u56fe\u7528\u201cChat to Build\u201d\u5c06\u81ea\u7136\u8bed\u8a00\u76f4\u63a5\u7f16\u8bd1\u4e3a\u53ef\u6267\u884c\u7684\u667a\u80fd\u4f53\u903b\u8f91\u3002\u8fd9\u6b65\u68cb\u82e5\u8d70\u5f97\u624e\u5b9e\uff0c\u5c06\u628a\u667a\u80fd\u4f53\u6784\u5efa\u4ece\u201c\u56fe\u5f62\u5316\u914d\u7f6e\u201d\u65f6\u4ee3\u63a8\u5411\u201c\u610f\u56fe\u9a71\u52a8\u201d\u65f6\u4ee3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6311\u6218\u540c\u6837\u5c16\u9510\u3002\u9996\u5148\uff0c\u201c\u7528\u804a\u5929\u6784\u5efa\u590d\u6742\u903b\u8f91\u201d\u672c\u8eab\u662f\u4e2a\u201c\u6a21\u7cca\u9700\u6c42\u5de5\u7a0b\u201d\u7684AI\u96be\u9898\uff0c\u63cf\u8ff0\u4e0e\u9884\u671f\u7ed3\u679c\u7684\u504f\u5dee\u5982\u4f55\u7cbe\u7ec6\u8c03\u6574\uff1f\u5e73\u53f0\u4ecd\u9700\u66b4\u9732\u5e95\u5c42\u8282\u70b9\u4f9b\u9ad8\u7ea7\u7528\u6237\u8c03\u8bd5\uff0c\u8fd9\u4e0e\u5176\u201c\u53bb\u590d\u6742\u5316\u201d\u7684\u521d\u8877\u6784\u6210\u5185\u5728\u77db\u76fe\u3002\u5176\u6b21\uff0c\u5176\u4ef7\u503c\u9ad8\u5ea6\u4f9d\u8d56\u4e8e\u5bf9\u6d77\u91cf\u7b2c\u4e09\u65b9\u5de5\u5177\u548c\u6570\u636e\u7684\u6df1\u5ea6\u96c6\u6210\u80fd\u529b\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u751f\u6001\u6218\u4e89\uff0c\u800c\u975e\u5355\u7eaf\u7684\u4ea7\u54c1\u4f18\u52a3\u3002\u6700\u540e\uff0c\u201c\u591a\u6a21\u578b\u5207\u6362\u201d\u542c\u8d77\u6765\u7f8e\u597d\uff0c\u4f46\u5b9e\u9645\u9700\u8981\u7528\u6237\u5177\u5907\u5bf9\u5404\u6a21\u578b\u80fd\u529b\u8fb9\u754c\u7684\u6df1\u523b\u8ba4\u77e5\uff0c\u5426\u5219\u53ea\u662f\u589e\u52a0\u4e86\u9009\u62e9\u8d1f\u62c5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u7248\u672c\u66f4\u50cf\u662f\u4e00\u4e2a\u5ba3\u8a00\uff0c\u5c55\u793a\u4e86\u7528\u81ea\u7136\u8bed\u8a00\u4f5c\u4e3a\u6700\u9ad8\u7ea7\u7f16\u7a0b\u8bed\u8a00\u7684\u672a\u6765\u56fe\u666f\u3002\u4f46\u80fd\u5426\u4ece\u201c\u6f14\u793a\u60ca\u8273\u201d\u8d70\u5230\u201c\u7a33\u5b9a\u53ef\u9760\u7684\u751f\u4ea7\u529b\u5de5\u5177\u201d\uff0c\u53d6\u51b3\u4e8e\u5176AI\u7406\u89e3\u903b\u8f91\u7684\u6df1\u5ea6\u3001\u5de5\u4f5c\u6d41\u8c03\u8bd5\u7684\u7cbe\u7ec6\u5ea6\u4ee5\u53ca\u751f\u6001\u6784\u5efa\u7684\u901f\u5ea6\u3002\u5728AI\u667a\u80fd\u4f53\u5e73\u53f0\u6df7\u6218\u4e2d\uff0c\u5b83\u9009\u62e9\u4e86\u4e00\u6761\u6700\u5177\u98a0\u8986\u6027\u4f46\u4e5f\u6700\u8270\u9669\u7684\u9053\u8def\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\">Deforge<\/span>\n                <\/div>\n<div class=\"comment-content\">Deforge.io is a no-code platform that enables users to visually or conversationally build and deploy AI agents. Its unique \u201cChat to Build\u201d feature allows users to describe agent logic in natural language chats, which automatically generates workflows, nodes, prompts, and connections for quick setup.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Anoy, and I\u2019m back with the team to show you how we\u2019ve completely reimagined Deforge.<\/p>\n<p>When we first launched, our goal was to make AI agent building accessible. But since then, we\u2019ve listened to thousands of you and realized that even &#8220;no-code&#8221; can sometimes feel like &#8220;too much work.&#8221; You shouldn&#8217;t have to be a logic expert to build a genius agent.<\/p>\n<p>Today, we\u2019re launching the new and evolved Deforge, featuring a massive architecture overhaul and a UI that feels more like a conversation than a configuration panel.<\/p>\n<p>What\u2019s New in this Version:<\/p>\n<p>1. Chat to Build \ud83d\udcac: Don&#8217;t want to drag nodes? Just tell Deforge what you want. &#8220;Build me an agent that tracks AI news on Reddit and Slacks me a summary every morning.&#8221; Our AI will architect the logic for you instantly.<\/p>\n<p>2. Total UI\/UX Redesign \u2728: We\u2019ve stripped away the clutter. The new interface is faster, cleaner, and built for speed, making it easier than ever to visualize your agent&#8217;s &#8220;brain.&#8221;<\/p>\n<p>3. Major Architecture Update \ud83c\udfd7\ufe0f: Under the hood, we\u2019ve rebuilt our core to be more robust. Agents now run faster, handle more complex multi-step workflows, and integrate more deeply with your data.<\/p>\n<p>4. Enhanced Multi-Model Support \ud83e\udd16: Switch between GPT-5, Claude 4.6, and Gemini 3.1 on the fly within a single workflow to get the best performance for every specific task.<\/p>\n<p>The team (Shamba, Gautam, and myself) will be here all day. We\u2019ve poured our hearts into this update and can\u2019t wait to hear your thoughts.<\/p>\n<p>What\u2019s the first agent you\u2019re going to build?<\/p>\n<p>Check it out and let us know: <a href=\"https:\/\/deforge.io\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/deforge.io\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>16<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/PH4RHZ6NPEOQ47\" class=\"app-title\">Thyonix<\/a><\/p>\n<div class=\"one-liner\">Show up with the website. Close the deal.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">11<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Thyonix \u662f\u4e00\u6b3e\u4e3a\u7f51\u9875\u8bbe\u8ba1\u673a\u6784\u548c\u81ea\u7531\u804c\u4e1a\u8005\u6253\u9020\u7684\u9500\u552e\u5de5\u5177\uff0c\u901a\u8fc7AI\u81ea\u52a8\u4e3a\u5c1a\u65e0\u7f51\u7ad9\u7684\u672c\u571f\u4f01\u4e1a\u751f\u6210\u53ef\u5de5\u4f5c\u7684\u6f14\u793a\u7f51\u7ad9\u5e76\u4e3b\u52a8\u53d1\u9001\u4e2a\u6027\u5316\u9500\u552e\u63d0\u6848\uff0c\u5728\u521d\u6b21\u63a5\u89e6\u524d\u5c31\u89e3\u51b3\u5ba2\u6237\u201c\u65e0\u6cd5\u53ef\u89c6\u5316\u6700\u7ec8\u6210\u679c\u201d\u7684\u6838\u5fc3\u987e\u8651\uff0c\u4ece\u800c\u5927\u5e45\u63d0\u9ad8\u6210\u4ea4\u7387\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\/74cb4455-5b40-49e3-865a-ac1b8dc718c5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eed6d368-09d1-49df-a023-ac3413d05844.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2c3a8563-87c4-49a8-afe9-b7d04d3dfb8f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fa737ffe-593b-4ee5-91d0-33da7dc974f1.gif?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/cbaa177d-e81c-4294-a2f8-36bc85874a5b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/_iymCPk3A4M\"><source src=\"https:\/\/youtu.be\/_iymCPk3A4M\" 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\">Freelance<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Web Design<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5efa\u7ad9<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6f5c\u5728\u5ba2\u6237\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u8bbe\u8ba1\u673a\u6784<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7531\u804c\u4e1a\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">B2B\u9500\u552e<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f01\u4e1a\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u63d0\u6848\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u4e3b\u8981\u96c6\u4e2d\u4e8e\u4ea7\u54c1\u6982\u5ff5\u7684\u8d5e\u8d4f\uff08\u89e3\u51b3\u53ef\u89c6\u5316\u75db\u70b9\u3001\u6d41\u7a0b\u5de7\u5999\uff09\u548c\u529f\u80fd\u7ec6\u8282\u7684\u786e\u8ba4\uff08\u751f\u6210\u7684\u662f\u5426\u4e3a\u53ef\u5de5\u4f5c\u7684\u771f\u5b9e\u7f51\u7ad9\uff09\u3002\u5f00\u53d1\u8005\u56de\u590d\u6f84\u6e05\u5176\u751f\u6210\u7684\u662f\u529f\u80fd\u5b8c\u6574\u7684\u843d\u5730\u9875\uff0c\u53ef\u7ed1\u5b9a\u57df\u540d\u548c\u5bfc\u51fa\u4ee3\u7801\u3002\u53e6\u6709\u7528\u6237\u5bfb\u6c42\u5173\u4e8e\u65e9\u671fSaaS\u4ea7\u54c1\u5065\u5eb7\u5ea6\u8ffd\u8e2a\u7684\u4ea4\u6d41\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                Thyonix \u7684\u672c\u8d28\u5e76\u975e\u4e00\u4e2a\u98a0\u8986\u6027\u7684\u5efa\u7ad9\u5de5\u5177\uff0c\u800c\u662f\u4e00\u4e2a\u7cbe\u51c6\u7684\u201c\u9500\u552e\u6760\u6746\u201d\u548c\u201c\u7126\u8651\u7f13\u89e3\u5668\u201d\u3002\u5b83\u5de7\u5999\u5730\u7ed5\u8fc7\u4e86\u4f20\u7edf\u7f51\u9875\u8bbe\u8ba1\u9500\u552e\u6d41\u7a0b\u4e2d\u6700\u8106\u5f31\u7684\u4e00\u73af\u2014\u2014\u5ba2\u6237\u56e0\u60f3\u8c61\u6210\u672c\u8fc7\u9ad8\u800c\u5728\u63d0\u6848\u9636\u6bb5\u6d41\u5931\u3002\u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8eAI\u751f\u6210\u7f51\u7ad9\u7684\u6280\u672f\u6df1\u5ea6\uff08\u8fd9\u5df2\u662f\u7ea2\u6d77\uff09\uff0c\u800c\u5728\u4e8e\u5c06\u201c\u5efa\u7ad9\u201d\u8fd9\u4e00\u4ea4\u4ed8\u52a8\u4f5c\uff0c\u524d\u7f6e\u4e3a\u201c\u83b7\u5ba2\u201d\u7684\u7834\u51b0\u5229\u5668\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u903b\u8f91\u7280\u5229\u5730\u6293\u4f4f\u4e86B\u7aef\u9500\u552e\u7684\u4eba\u6027\u5f31\u70b9\uff1a\u5f53\u7ade\u4e89\u5bf9\u624b\u8fd8\u5728\u64b0\u5199\u5343\u7bc7\u4e00\u5f8b\u7684\u51b7\u90ae\u4ef6\u65f6\uff0cThyonix\u7528\u6237\u5df2\u643a\u4e00\u4e2a\u91cf\u8eab\u5b9a\u5236\u7684\u3001\u53ef\u4ea4\u4e92\u7684\u89e3\u51b3\u65b9\u6848\u767b\u573a\u3002\u8fd9\u77ac\u95f4\u5c06\u9500\u552e\u5bf9\u8bdd\u4ece\u62bd\u8c61\u7684\u201c\u6211\u80fd\u4e3a\u4f60\u505a\u4ec0\u4e48\u201d\u8f6c\u53d8\u4e3a\u5177\u4f53\u7684\u201c\u8fd9\u5c31\u662f\u4e3a\u4f60\u505a\u7684\u201d\uff0c\u6781\u5927\u63d0\u5347\u4e86\u5ba2\u6237\u7684\u6295\u5165\u5ea6\u548c\u4fe1\u4efb\u611f\uff0c\u5c06\u9500\u552e\u4eba\u5458\u7684\u89d2\u8272\u4ece\u201c\u8bf4\u670d\u8005\u201d\u8f6c\u53d8\u4e3a\u201c\u786e\u8ba4\u8005\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u5b58\u5728\u660e\u663e\u7684\u201c\u81ea\u566c\u201d\u98ce\u9669\u4e0e\u5929\u82b1\u677f\u3002\u9996\u5148\uff0c\u5b83\u9ad8\u6548\u6316\u6398\u7684\u662f\u201c\u65e0\u7f51\u7ad9\u672c\u5730\u4f01\u4e1a\u201d\u8fd9\u4e00\u5b58\u91cf\u4e14\u5feb\u901f\u840e\u7f29\u7684\u5e02\u573a\u3002\u5176\u6b21\uff0c\u5176\u6210\u529f\u53ef\u80fd\u52a0\u901f\u8be5\u5e02\u573a\u7684\u67af\u7aed\u3002\u66f4\u5173\u952e\u7684\u6311\u6218\u5728\u4e8e\u4ef7\u503c\u6c89\u6dc0\uff1a\u5982\u679c\u751f\u6210\u7684\u7f51\u7ad9\u8d28\u91cf\u8db3\u591f\u9ad8\u3001\u4ea4\u4ed8\u8db3\u591f\u5feb\uff0c\u5ba2\u6237\u4e3a\u4f55\u8fd8\u8981\u652f\u4ed8\u9ad8\u4ef7\u8058\u8bf7\u540e\u7eed\u7684\u5b9a\u5236\u670d\u52a1\uff1f\u8fd9\u53ef\u80fd\u4f1a\u5c06\u7f51\u9875\u8bbe\u8ba1\u670d\u52a1\u201c\u5546\u54c1\u5316\u201d\uff0c\u4e0e\u4f7f\u7528\u8be5\u5de5\u5177\u7684\u673a\u6784\u5229\u76ca\u4ea7\u751f\u6f5c\u5728\u51b2\u7a81\u3002\u6b64\u5916\uff0c\u51b7\u63a5\u89e6\u4e2d\u53d1\u9001\u5df2\u5b8c\u6210\u7684\u7f51\u7ad9\uff0c\u53ef\u80fd\u5f15\u53d1\u5173\u4e8e\u77e5\u8bc6\u4ea7\u6743\u548c\u6570\u636e\u4f7f\u7528\u7684\u6cd5\u5f8b\u6a21\u7cca\u5730\u5e26\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cThyonix \u662f\u9500\u552e\u6d41\u7a0b\u4e2d\u4e00\u4e2a\u6781\u5177\u5de7\u601d\u7684\u201c\u7279\u6d1b\u4f0a\u6728\u9a6c\u201d\uff0c\u77ed\u671f\u5185\u80fd\u4e3a\u9500\u552e\u7aef\u5e26\u6765\u663e\u8457\u8f6c\u5316\u63d0\u5347\u3002\u4f46\u957f\u671f\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u662f\u4e00\u5242\u5f3a\u6548\u4f46\u836f\u6548\u671f\u6709\u9650\u7684\u201c\u5174\u594b\u5242\u201d\uff0c\u800c\u975e\u53ef\u6301\u7eed\u7684\u7ade\u4e89\u58c1\u5792\u3002\u5b83\u7684\u672a\u6765\u53d6\u51b3\u4e8e\u80fd\u5426\u4ece\u201c\u9500\u552e\u5165\u53e3\u5de5\u5177\u201d\u6df1\u5316\u4e3a\u8d2f\u7a7f\u6574\u4e2a\u670d\u52a1\u4ea4\u4ed8\u7684\u201c\u534f\u4f5c\u4e0e\u7ba1\u7406\u5e73\u53f0\u201d\uff0c\u5426\u5219\u4e00\u65e6\u5e02\u573a\u6559\u80b2\u5b8c\u6210\u6216\u7ade\u54c1\u6a21\u4eff\uff0c\u5176\u4f18\u52bf\u5c06\u8fc5\u901f\u6d88\u6563\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\">Thyonix<\/span>\n                <\/div>\n<div class=\"comment-content\">Thyonix finds local businesses without websites, builds them a stunning working website in minutes, and sends a personalized pitch \u2014 before your competitors even write their cold email. Built for web agencies and freelancers who are done losing deals to hesitation.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Hey Product Hunt!<\/strong> \ud83d\udc4b<\/p>\n<p>I got ghosted after spending 10 hours building a mockup. That was the last time.<\/p>\n<p>The #1 reason web design deals die isn&#8217;t price \u2014 it&#8217;s that clients can&#8217;t visualize what they&#8217;re buying. So I built <strong>Thyonix<\/strong> to solve that in a completely different way:<\/p>\n<p><strong>Here&#8217;s what it does in ~5 minutes:<\/strong><\/p>\n<p>\ud83d\udd0d Finds businesses in your city that don&#8217;t have a website yet<\/p>\n<p>\u26a1 Builds them a custom AI demo site automatically<\/p>\n<p>\ud83d\udce9 Sends a personalized pitch via email or WhatsApp with their site attached<\/p>\n<p>You show up to the conversation with the website already built. The deal practically closes itself.<\/p>\n<p><strong>In our beta:<\/strong><\/p>\n<ol>\n<li>\n<p>100+ sites generated<\/p>\n<\/li>\n<li>\n<p>10+ agencies and freelancers using it<\/p>\n<\/li>\n<li>\n<p>Deals closing in under 24 hours<\/p>\n<\/li>\n<\/ol>\n<p><strong>Try it<\/strong>: generate a free demo site for any local business in your city. Takes 3 minutes. You&#8217;ll immediately get why this works.<\/p>\n<p>Would love your feedback \u2014 what would make this a no-brainer for your workflow? \ud83d\udc47<\/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\/@filu12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@filu12<\/a>&nbsp;congrats on your launch!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@filu12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@filu12<\/a>&nbsp;Hi! Congrats on launching Thyonix, generating a demo site before the first conversation is a really clever way to remove the \u201ccan\u2019t visualize it\u201d problem in web design sales.<\/p>\n<p>I\u2019m currently researching how founders track and improve the health and growth of early-stage SaaS products. I\u2019d love to hear your perspective on this.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Really cool idea! So it builds a preview for the client or is an actual working website as well?<\/div>\n<div class=\"comment-actions\">\n<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\/@edgeghost\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@edgeghost<\/a>&nbsp;Thanks Adam! It actually builds a working website! a landing page that you can use ( add custom domain, export, see code etc). And, you can also send the website to the client. you can make it public link.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Loved the flow, congratulations on PH launch! kudos to the team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@vibhavy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vibhavy<\/a>&nbsp;Thanks a lot! glad you like it!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/C57TOLLPZEADIS\" class=\"app-title\">Tablex<\/a><\/p>\n<div class=\"one-liner\">Solve &#8220;who should seat where at my wedding&#8221; with drag-n-drop<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">8<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tablex\u662f\u4e00\u6b3e\u901a\u8fc7\u53ef\u89c6\u5316\u62d6\u62fd\u5e03\u5c40\u5de5\u5177\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u5a5a\u793c\u3001\u4f1a\u8bae\u7b49\u793e\u4ea4\u6d3b\u52a8\u573a\u666f\u4e2d\uff0c\u9ad8\u6548\u89e3\u51b3\u5ea7\u4f4d\u5b89\u6392\u96be\u9898\uff0c\u907f\u514d\u4eba\u9645\u51b2\u7a81\u4e0e\u89c4\u5212\u6df7\u4e71\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\/0c481b62-55ee-466c-9517-5ddb8533eb95.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/30969d5c-7e7f-4318-933f-18ea874aa3b2.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\">Events<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6d3b\u52a8\u7b56\u5212\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5ea7\u4f4d\u56fe\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u62d6\u653e<\/span><br \/>\n            <span class=\"tag\">\u5a5a\u793c\u89c4\u5212<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u6d3b\u52a8<\/span><br \/>\n            <span class=\"tag\">\u573a\u5730\u5e03\u5c40<\/span><br \/>\n            <span class=\"tag\">SaaS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u75db\u70b9\u89e3\u51b3<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4eba\u5206\u4eab\u4e86\u4ea7\u54c1\u6e90\u4e8e\u670b\u53cb\u5a5a\u793c\u6392\u5ea7\u7684\u75db\u82e6\u7ecf\u5386\u3002\u4e00\u6761\u6709\u6548\u8bc4\u8bba\u8be2\u95ee\u662f\u5426\u652f\u6301\u7528\u989c\u8272\u6807\u8bb0\u5bbe\u5ba2\u6216\u684c\u5b50\u4ee5\u66f4\u597d\u533a\u9694\u5173\u7cfb\uff0c\u8fd9\u4ee3\u8868\u4e86\u5bf9\u66f4\u7cbe\u7ec6\u4eba\u7fa4\u7ba1\u7406\u529f\u80fd\u7684\u9700\u6c42\u3002\u53e6\u4e00\u6761\u8bc4\u8bba\u5219\u8868\u8fbe\u4e86\u5408\u4f5c\u8bbf\u8c08\u7684\u9080\u8bf7\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Tablex\u7784\u51c6\u4e86\u4e00\u4e2a\u6781\u5176\u7ecf\u5178\u4e14\u9ad8\u9891\u7684\u75db\u70b9\u2014\u2014\u201c\u5ea7\u4f4d\u653f\u6cbb\u201d\uff0c\u8fd9\u8fdc\u975e\u4e00\u4e2a\u7b80\u5355\u7684\u6392\u5217\u7ec4\u5408\u95ee\u9898\uff0c\u800c\u662f\u6d89\u53ca\u4eba\u60c5\u4e16\u6545\u3001\u5173\u7cfb\u4eb2\u758f\u4e0e\u6d3b\u52a8\u6d41\u7a0b\u7ba1\u7406\u7684\u5fae\u578b\u793e\u4f1a\u5de5\u7a0b\u3002\u4ea7\u54c1\u5c06\u975e\u7ed3\u6784\u5316\u7684\u3001\u5145\u6ee1\u60c5\u611f\u538b\u529b\u7684\u51b3\u7b56\u8fc7\u7a0b\uff08\u8d34\u7eb8\u6761\u3001\u5435\u67b6\uff09\uff0c\u8f6c\u5316\u4e3a\u7ed3\u6784\u5316\u7684\u3001\u53ef\u89c6\u5316\u7684\u62d6\u62fd\u64cd\u4f5c\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5b9e\u73b0\u4e86\u201c\u51b3\u7b56\u7684\u53ef\u89c6\u5316\u4e0e\u5373\u65f6\u53cd\u9988\u201d\uff0c\u4ece\u800c\u964d\u4f4e\u4e86\u534f\u8c03\u7684\u5fc3\u7406\u6210\u672c\u548c\u6c9f\u901a\u6210\u672c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6311\u6218\u540c\u6837\u6e05\u6670\u3002\u9996\u5148\uff0c\u529f\u80fd\u5c42\u9762\u770b\u4f3c\u7b80\u5355\uff0c\u6781\u6613\u88ab\u6a21\u4eff\u6216\u6574\u5408\u3002\u5927\u578b\u6d3b\u52a8\u7ba1\u7406\u5e73\u53f0\u6216\u751a\u81f3Canva\u7b49\u8bbe\u8ba1\u5de5\u5177\uff0c\u5b8c\u5168\u53ef\u80fd\u901a\u8fc7\u4e00\u4e2a\u529f\u80fd\u6a21\u5757\u5c31\u8986\u76d6\u5176\u573a\u666f\u3002\u5176\u6b21\uff0c\u5e02\u573a\u5929\u82b1\u677f\u660e\u663e\u3002\u5a5a\u793c\u573a\u666f\u867d\u75db\u4f46\u4f4e\u9891\uff0c\u7528\u6237\u751f\u547d\u5468\u671f\u77ed\uff1b\u62d3\u5c55\u81f3\u4f01\u4e1a\u4f1a\u8bae\u5e02\u573a\uff0c\u5219\u9700\u9762\u5bf9\u66f4\u590d\u6742\u7684\u6d41\u7a0b\u96c6\u6210\uff08\u5982\u62a5\u540d\u3001\u7b7e\u5230\uff09\u4e0e\u91c7\u8d2d\u6d41\u7a0b\uff0c\u5de5\u5177\u5c5e\u6027\u6050\u96be\u652f\u6491\u66f4\u9ad8\u6ea2\u4ef7\u3002\u5f53\u524d\u201c\u989c\u8272\u6807\u8bb0\u201d\u7684\u7528\u6237\u5efa\u8bae\uff0c\u6070\u6070\u66b4\u9732\u4e86\u5176\u4ece\u201c\u5ea7\u4f4d\u6446\u653e\u201d\u5de5\u5177\u5411\u201c\u5173\u7cfb\u7ba1\u7406\u201d\u5e73\u53f0\u5347\u7ea7\u7684\u6f5c\u5728\u8def\u5f84\uff0c\u4f46\u8fd9\u9700\u8981\u66f4\u6df1\u7684\u6570\u636e\u7ed3\u6784\u548c\u5bf9\u4eba\u9645\u5173\u7cfb\u7684\u62bd\u8c61\u80fd\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u521b\u59cb\u4eba\u201c\u4e3a\u670b\u53cb\u89e3\u51b3\u95ee\u9898\u201d\u7684\u6545\u4e8b\u5f88\u771f\u8bda\uff0c\u4f46\u4ea7\u54c1\u82e5\u60f3\u8d70\u8fdc\uff0c\u5fc5\u987b\u8d85\u8d8a\u201c\u66f4\u597d\u7528\u7684\u62d6\u62fd\u753b\u5e03\u201d\u8fd9\u4e00\u5b9a\u4f4d\u3002\u5176\u771f\u6b63\u7684\u58c1\u5792\u6216\u8bb8\u5728\u4e8e\uff1a\u901a\u8fc7\u79ef\u7d2f\u5927\u91cf\u533f\u540d\u5e03\u5c40\u6570\u636e\uff0c\u5f62\u6210\u5173\u4e8e\u201c\u5982\u4f55\u907f\u514d\u793e\u4ea4\u707e\u96be\u201d\u7684\u6d1e\u5bdf\u4e0e\u6a21\u677f\uff0c\u751a\u81f3\u6210\u4e3a\u6d3b\u52a8\u793e\u4ea4\u52a8\u529b\u5b66\u7684\u4e8b\u5b9e\u6807\u51c6\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u4e00\u4e2a\u5728\u7279\u5b9a\u65f6\u523b\u88ab\u611f\u6fc0\u3001\u4f46\u96be\u4ee5\u5f62\u6210\u6301\u4e45\u54c1\u724c\u5fe0\u8bda\u7684\u201c\u6b62\u75db\u836f\u201d\u578b\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Tablex<\/span>\n                <\/div>\n<div class=\"comment-content\">\ud83d\udc70 Your wedding seating chart shouldn&#8217;t require a PhD in family politics. Tablex gives you a visual canvas to drag and drop tables, chairs, dance floors, and stages &#8211; so you can see exactly who&#8217;s sitting where before the big day. Round tables, rectangles, labeled seats, the works. Keep the feuding aunties apart and the single friends together. Works for conferences, galas, and any event where seating drama is real.<\/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>I&#8217;m Eric and I built Tablex because I watched my friend spend an entire weekend rearranging names on sticky notes for her wedding seating chart. She ended up in tears twice, arguing with her partner multiple times &#8211; over seating \ud83e\udd2f<\/p>\n<p>That felt like a problem a simple drag-and-drop tool could solve. So I built one. <\/p>\n<p>With Tablex you get a visual canvas where you place round tables, rectangle tables, chairs, dance floors, bars, stages \u2014 basically your entire venue layout. Label every seat, move things around in seconds, and actually see your floor plan instead of staring at a spreadsheet.<\/p>\n<p>It&#8217;s built for weddings first, but it works for any event \u2014 conferences, galas,<br \/>\ndinners, you name it.<\/p>\n<p>I&#8217;d love to hear:<br \/>\n&#8211; What was your worst seating arrangement experience?<br \/>\n&#8211; Any features you&#8217;d want to see next?<\/p>\n<p>Happy to answer any questions! \ud83e\ude91<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@eric_bae\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@eric_bae<\/a>&nbsp;Hi Eric, congrats on launching Tablex, turning the chaotic seating planning process into a visual drag-and-drop experience sounds like a huge relief for event organizers.<\/p>\n<p>I\u2019m currently researching how founders build and improve niche SaaS products and track their product\u2019s health as they grow. I\u2019d love to hear your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the &#8216;family politics&#8217; angle\u2014seating drama is definitely a real thing! Does Tablex allow us to color-code guests or tables to help visually separate those &#8216;feuding aunties&#8217;?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/KUZHTUFJ7QYM3N\" class=\"app-title\">Caloris: AI Calorie Tracker<\/a><\/p>\n<div class=\"one-liner\">Snap a photo. Know exactly what you ate. Track it all.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">8<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u901a\u8fc7AI\u62cd\u7167\u5373\u65f6\u8bc6\u522b\u98df\u7269\u5e76\u5206\u6790\u70ed\u91cf\u4e0e\u8425\u517b\u7d20\u7684\u5de5\u5177\uff0c\u5728\u7528\u6237\u9700\u8981\u5feb\u901f\u8bb0\u5f55\u996e\u98df\u7684\u573a\u666f\u4e0b\uff0c\u89e3\u51b3\u4e86\u4f20\u7edf\u5361\u8def\u91cc\u8bb0\u5f55\u5e94\u7528\u64cd\u4f5c\u7e41\u7410\u3001\u8017\u65f6\u8fc7\u957f\u5bfc\u81f4\u7528\u6237\u96be\u4ee5\u575a\u6301\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\/68c045b6-19e3-4217-bad2-66dee3fa2bb8.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\/b56b4d80-3729-492d-995d-d6f42f8f8d12.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\/93363966-3667-456d-a3c3-0ca8c75511d3.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\/29a7f153-0e36-48d7-8a89-ed4bf7848d7d.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\/e725e226-8244-4c21-a48d-15005cd1c321.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\/f13837a9-309f-41b6-ab17-fbdb948a6273.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\/05f8cf81-75f1-4c54-9309-888d141ff219.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\/33050b9b-cfc7-48b0-a4af-253aec27857f.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5065\u5eb7\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u5361\u8def\u91cc\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u8425\u517b\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u98df\u7269\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u996e\u98df\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5065\u8eab\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u5065\u5eb7<\/span><br \/>\n            <span class=\"tag\">\u56fe\u50cf\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u76f8\u673a\u4f18\u5148\u3001\u964d\u4f4e\u8bb0\u5f55\u6469\u64e6\u7684\u7406\u5ff5\uff0c\u5e76\u8ba4\u53ef\u5176\u5bf9\u5bb6\u5e38\u83dc\u3001\u6df7\u5408\u9910\u98df\u7684\u8bc6\u522b\u80fd\u529b\u3002\u4e3b\u8981\u53cd\u9988\u805a\u7126\u4e8eAI\u4f30\u7b97\u7684\u900f\u660e\u5ea6\u4e0e\u4fe1\u4efb\u5ea6\u95ee\u9898\uff0c\u5efa\u8bae\u5c55\u793a\u4f30\u7b97\u4f9d\u636e\uff08\u5982\u6210\u5206\u3001\u4efd\u91cf\u5047\u8bbe\uff09\u5e76\u63d0\u4f9b\u4fbf\u6377\u7684\u4fee\u6b63\u6d41\u7a0b\uff0c\u4ee5\u589e\u5f3a\u7528\u6237\u4fe1\u5fc3\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                Caloris\u5207\u5165\u4e86\u4e00\u4e2a\u7ecf\u5178\u56f0\u5883\uff1a\u5065\u5eb7\u8ffd\u8e2a\u7684\u96c4\u5fc3\u603b\u8d25\u7ed9\u8bb0\u5f55\u8fc7\u7a0b\u7684\u7e41\u7410\u3002\u5176\u4ef7\u503c\u6838\u5fc3\u5e76\u975eAI\u8bc6\u522b\u7684\u6280\u672f\u70ab\u6280\uff0c\u800c\u662f\u5c06\u201c\u8bb0\u5f55\u201d\u8fd9\u4e00\u6700\u5927\u7528\u6237\u6210\u672c\uff0c\u4ece\u4e3b\u52a8\u7684\u3001\u8017\u65f6\u7684\u201c\u641c\u7d22\u4e0e\u8f93\u5165\u201d\u8f6c\u53d8\u4e3a\u88ab\u52a8\u7684\u201c\u62cd\u7167\u4e0e\u786e\u8ba4\u201d\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u4ea4\u4e92\u8303\u5f0f\u7684\u9769\u65b0\uff0c\u76f4\u51fb\u7528\u6237\u653e\u5f03\u7684\u6838\u5fc3\u2014\u2014\u610f\u5fd7\u529b\u635f\u8017\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u4ecb\u7ecd\u4e2d\u201cSnap, confirm, done\u201d\u7684\u7406\u60f3\u6d41\u7a0b\uff0c\u5728\u5b9e\u9645\u4e2d\u53ef\u80fd\u9762\u4e34\u4e09\u91cd\u6311\u6218\u3002\u9996\u5148\uff0c\u662fAI\u8bc6\u522b\u7684\u51c6\u786e\u6027\u4e0e\u4fe1\u4efb\u5371\u673a\u3002\u8bc4\u8bba\u4e2d\u5df2\u6307\u51fa\uff0c\u7f3a\u4e4f\u4f30\u7b97\u4f9d\u636e\u7684\u201c\u9ed1\u7bb1\u201d\u8f93\u51fa\uff0c\u96be\u4ee5\u8bf4\u670d\u5bf9\u6570\u636e\u654f\u611f\u7684\u6838\u5fc3\u7528\u6237\uff08\u5982\u5065\u8eab\u8005\uff09\u3002\u5176\u6b21\uff0c\u662f\u573a\u666f\u590d\u6742\u6027\u3002\u8bc6\u522b\u4e00\u76d8\u6210\u5206\u6e05\u6670\u7684\u6c99\u62c9\u4e0e\u4e00\u76d8\u5496\u55b1\u70e9\u996d\u7684\u96be\u5ea6\u5929\u5dee\u5730\u522b\uff0c\u540e\u8005\u6d89\u53ca\u590d\u6742\u7684\u6df7\u5408\u4e0e\u906e\u6321\uff0c\u5f53\u524d\u6280\u672f\u80fd\u5426\u7a33\u5b9a\u5e94\u5bf9\u5b58\u7591\u3002\u6700\u540e\uff0c\u662f\u5546\u4e1a\u6a21\u5f0f\u4e0e\u7528\u6237\u5b9a\u4f4d\u7684\u6f5c\u5728\u77db\u76fe\u3002\u5ba3\u79f0\u201c\u4e3a\u666e\u901a\u4eba\u800c\u975e\u5065\u8eab\u72c2\u70ed\u8005\u8bbe\u8ba1\u201d\u5e76\u57fa\u7840\u529f\u80fd\u514d\u8d39\uff0c\u56fa\u7136\u5229\u4e8e\u83b7\u5ba2\uff0c\u4f46\u6700\u9700\u8981\u7cbe\u51c6\u6570\u636e\u7684\u6070\u6070\u662f\u201c\u72c2\u70ed\u8005\u201d\u3002\u82e5\u4e3a\u666e\u53ca\u6027\u727a\u7272\u7cbe\u5ea6\uff0c\u53ef\u80fd\u5931\u53bb\u9ad8\u4ef7\u503c\u7528\u6237\uff1b\u82e5\u8ffd\u6c42\u7cbe\u5ea6\uff0c\u5219\u6280\u672f\u6210\u672c\u4e0e\u201c\u514d\u8d39\u57fa\u7840\u529f\u80fd\u201d\u6a21\u5f0f\u53ef\u80fd\u4ea7\u751f\u51b2\u7a81\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u7684\u673a\u4f1a\u5728\u4e8e\uff0c\u5229\u7528\u6781\u4f4e\u7684\u8bb0\u5f55\u95e8\u69db\uff0c\u5438\u5f15\u6d77\u91cf\u8f7b\u5ea6\u7528\u6237\u5f62\u6210\u996e\u98df\u8bb0\u5f55\u4e60\u60ef\uff0c\u6784\u5efa\u72ec\u7279\u7684\u3001\u57fa\u4e8e\u771f\u5b9e\u9910\u98df\u56fe\u50cf\u7684\u6570\u636e\u5e93\u3002\u8fd9\u6216\u8bb8\u6bd4\u5355\u7eaf\u6210\u4e3a\u4e00\u4e2a\u8ffd\u8e2a\u5de5\u5177\u66f4\u5177\u957f\u671f\u60f3\u8c61\u7a7a\u95f4\u3002\u4f46\u5f53\u4e0b\uff0c\u5b83\u5fc5\u987b\u9996\u5148\u5728\u201c\u4fbf\u6377\u201d\u4e0e\u201c\u53ef\u4fe1\u201d\u4e4b\u95f4\uff0c\u627e\u5230\u4e00\u4e2a\u575a\u5b9e\u7684\u5e73\u8861\u70b9\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Caloris: AI Calorie Tracker<\/span>\n                <\/div>\n<div class=\"comment-content\">Most calorie apps fail because logging takes too long. Caloris fixes that. Point your camera at any meal and get an instant calorie and macro breakdown. No manual searching, no guessing. Snap, confirm, done. Built for real people \u2014 not just gym obsessives. Whether you track macros, or just want to eat better, Caloris makes it effortless. &#8211; AI food scanner \u2014 any meal, any dish &#8211; Macro tracker for protein, carbs, fats &#8211; Personalized calorie targets &#8211; Barcode scanner for packaged foods<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Nouman, a solo developer, and today I&#8217;m launching Caloris \u2014 the calorie tracker I always wished existed.<\/p>\n<p>The problem I kept hitting with every other app: logging a meal takes 2-3 minutes of searching, scrolling, and guessing portion sizes. I&#8217;d give up within a week every single time.<\/p>\n<p>So I built Caloris around one core idea \u2014 your camera does the work, not you.<\/p>\n<p>Point it at your plate \u2192 AI reads the meal \u2192 calories and macros logged in seconds. That&#8217;s it.<\/p>\n<p>What makes Caloris different from MyFitnessPal or Lose It:<\/p>\n<p>\u2192 AI food scanner built around real meals, not just barcodes<br \/>\n\u2192 Works for home-cooked dishes, restaurant plates, mixed meals<br \/>\n\u2192 Intermittent fasting tracker built in \u2014 not bolted on<br \/>\n\u2192 Onboarding takes under 2 minutes, targets set from day one<br \/>\n\u2192 Core features completely free \u2014 no paywall on the basics<\/p>\n<p>I&#8217;ve been building this solo for the past several months and today is day one in the wild.<\/p>\n<p>Would love your honest feedback \u2014 what features would make this your go-to tracker? <\/p>\n<p>Download free on Google Play \ud83d\udc47<br \/>\n<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.caloris.calorietracker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/play.google.com\/store\/ap&#8230;<\/a><\/p>\n<p>Ask me anything! \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@noumanbinsabir\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@noumanbinsabir<\/a>&nbsp;Hi Nouman, congrats on launching Caloris, the AI-powered food scanner sounds like a game-changer for logging real meals quickly. Love that it works for home-cooked and mixed dishes too!<\/p>\n<p>I\u2019m currently researching how founders build and improve the health and adoption of consumer SaaS products. I\u2019d really value your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\/@noumanbinsabir\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@noumanbinsabir<\/a>&nbsp;Congrats on the launch! I really like the idea of removing friction from calorie logging. Using the camera as the main interaction feels very natural for this kind of product.<\/p>\n<p>From a UX perspective I&#8217;m also curious about the transparency of the AI estimation. Many people still log meals manually because they want to trust the numbers.<\/p>\n<p>It could be interesting to show how the estimate was calculated, for example ingredient breakdown or portion assumptions, so users feel more confident about the result.<\/p>\n<p>Also curious how the correction flow works if the AI estimate is slightly off, for example the dish or the portion size. Being able to quickly adjust the result seems really important for trust<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Solo dev shipping a complete AI food scanner is impressive. The camera-first approach is right, logging meals manually is exactly why most people quit tracking within a week. Curious how it handles Indian food where one plate has 5 different items mixed together. Congrats on the launch, Nouman.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/D7WDWNRAGAP5RG\" class=\"app-title\">IndieStack<\/a><\/p>\n<div class=\"one-liner\">Your AI wastes tokens rebuilding things that already exist.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">8<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>IndieStack\u662f\u4e00\u4e2a\u4e3aAI\u5f00\u53d1\u5de5\u5177\u63d0\u4f9b\u73b0\u6709\u72ec\u7acb\u5f00\u53d1\u8005\u89e3\u51b3\u65b9\u6848\u7d22\u5f15\u7684MCP\u670d\u52a1\u5668\uff0c\u65e8\u5728\u963b\u6b62AI\u91cd\u590d\u201c\u9020\u8f6e\u5b50\u201d\uff0c\u5728AI\u8f85\u52a9\u7f16\u7a0b\u573a\u666f\u4e0b\u89e3\u51b3\u8d44\u6e90\u6d6a\u8d39\u4e0e\u4f18\u79c0\u72ec\u7acb\u9879\u76ee\u88ab\u57cb\u6ca1\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\/4133e10a-90af-4c61-8599-6569b8653ee0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fd179b7b-0feb-41ad-9ecd-cd8f302f4983.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aa80cf50-0b15-40fd-913c-e24000eb8cb5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f42099d8-219b-42db-bbad-3771cdb94236.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\/bda0367c-09e0-4465-aed1-c461ebc3945b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/kb03bJf7awA?si=UzjikypZyAqakoHe\"><source src=\"https:\/\/youtu.be\/kb03bJf7awA?si=UzjikypZyAqakoHe\" 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\">AI\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u590d\u7528<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span><br \/>\n            <span class=\"tag\">\u9879\u76ee\u53d1\u73b0<\/span><br \/>\n            <span class=\"tag\">\u9632\u91cd\u590d\u5efa\u8bbe<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u7d22\u5f15<\/span><br \/>\n            <span class=\"tag\">\u8d44\u6e90\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\u80af\u5b9a\u5176\u201c\u907f\u514d\u91cd\u590d\u9020\u8f6e\u5b50\u201d\u7684\u6838\u5fc3\u4ef7\u503c\uff0c\u8ba4\u4e3a\u80fd\u6316\u6398\u72ec\u7acb\u9879\u76ee\u7684\u9690\u85cf\u4ef7\u503c\u3002\u6709\u7528\u6237\u8be2\u95ee\u4ea7\u54c1\u7ec6\u8282\u5e76\u5bfb\u6c42\u5408\u4f5c\u4ea4\u6d41\u3002\u5f00\u53d1\u8005\u4e92\u52a8\u79ef\u6781\uff0c\u9080\u8bf7\u7528\u6237\u5206\u4eab\u4f5c\u54c1\u4ee5\u589e\u52a0\u53ef\u89c1\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                IndieStack\u7784\u51c6\u4e86\u4e00\u4e2a\u5728AI\u4ee3\u7801\u751f\u6210\u65f6\u4ee3\u65e5\u76ca\u5c16\u9510\u7684\u77db\u76fe\uff1aAI\u7684\u201c\u65e0\u77e5\u201d\u6d6a\u8d39\u4e0e\u4eba\u7c7b\u5f00\u53d1\u8005\u7684\u201c\u9690\u5f62\u201d\u521b\u9020\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u7a81\u7834\uff0c\u800c\u662f\u5145\u5f53\u4e00\u4e2a\u201c\u7ffb\u8bd1\u5c42\u201d\u548c\u201c\u8bb0\u5fc6\u4f53\u201d\u2014\u2014\u901a\u8fc7MCP\u534f\u8bae\uff0c\u5c06\u6563\u843d\u5728GitHub\u4e0a\u90a3\u4e9b\u4f4e\u661f\u4f46\u9ad8\u8d28\u91cf\u7684\u72ec\u7acb\u9879\u76ee\uff0c\u8f6c\u5316\u4e3a\u7ed3\u6784\u5316\u3001\u53ef\u88abAI\u667a\u80fd\u4f53\u7406\u89e3\u548c\u5f15\u7528\u7684\u77e5\u8bc6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u903b\u8f91\u7280\u5229\u5730\u6233\u7834\u4e86\u5f53\u524dAI\u7f16\u7a0b\u7684\u4e24\u4e2a\u5e7b\u89c9\uff1a\u4e00\u662fAI\u80fd\u65e0\u4e2d\u751f\u6709\u5730\u521b\u9020\u6700\u4f18\u89e3\uff0c\u4e8c\u662f\u5f00\u6e90\u751f\u6001\u7684\u53ef\u89c1\u5ea6\u7b49\u540c\u4e8e\u4ee3\u7801\u8d28\u91cf\u3002\u5b83\u8bd5\u56fe\u5c06\u5f00\u53d1\u4ece\u201c\u751f\u6210\u4e00\u5207\u201d\u62c9\u56de\u201c\u68c0\u7d22\u4f18\u5148\u201d\u7684\u7406\u6027\u8f68\u9053\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5bf9\u5f53\u524dAI\u8f85\u52a9\u7f16\u7a0b\u5de5\u5177\u201c\u91cd\u751f\u6210\u3001\u8f7b\u68c0\u7d22\u201d\u67b6\u6784\u7f3a\u9677\u7684\u4e00\u6b21\u8865\u4e01\u5f0f\u4fee\u6b63\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5546\u4e1a\u6a21\u5f0f\u548c\u53ef\u6301\u7eed\u6027\u9762\u4e34\u4e25\u5cfb\u62f7\u95ee\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7531\u5b66\u751f\u4e3b\u5bfc\u3001\u76ee\u524d\u514d\u8d39\u7684\u9879\u76ee\uff0c\u5982\u4f55\u6301\u7eed\u7ef4\u62a4\u548c\u9a8c\u8bc1\u8fd1800\u4e2a\u5e76\u4e0d\u65ad\u589e\u957f\u7684\u201c\u72ec\u7acb\u521b\u4f5c\u201d\u7684\u8d28\u91cf\u4e0e\u5b89\u5168\u6027\uff1f\u5982\u4f55\u5b9a\u4e49\u201c\u6709\u7528\u201d\u5e76\u9632\u6b62\u5217\u8868\u6ca6\u4e3a\u5783\u573e\u9879\u76ee\u7684\u805a\u96c6\u5730\uff1f\u66f4\u6df1\u5c42\u7684\u6311\u6218\u5728\u4e8e\uff0c\u5b83\u9700\u8981\u8bf4\u670dAI\u5de5\u5177\u63d0\u4f9b\u5546\uff08\u5982Cursor\u3001Claude\uff09\u5c06\u5176\u6df1\u5ea6\u96c6\u6210\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u4e00\u4e2a\u53ef\u9009\u7684\u63d2\u4ef6\u3002\u5426\u5219\uff0c\u5b83\u6781\u6613\u6ca6\u4e3a\u53e6\u4e00\u4e2a\u9700\u8981\u4eba\u5de5\u4e3b\u52a8\u67e5\u8be2\u7684\u201c\u5c0f\u4f17\u76ee\u5f55\u201d\uff0c\u5e76\u672a\u4ece\u6839\u672c\u4e0a\u6539\u53d8AI\u7684\u9ed8\u8ba4\u884c\u4e3a\u6a21\u5f0f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u7684\u771f\u6b63\u524d\u666f\uff0c\u6216\u8bb8\u4e0d\u5728\u4e8e\u6210\u4e3a\u4e00\u4e2a\u72ec\u7acb\u7684\u6210\u529f\u4ea7\u54c1\uff0c\u800c\u5728\u4e8e\u5176\u7406\u5ff5\u88ab\u4e3b\u6d41AI\u7f16\u7801\u5de5\u5177\u5438\u6536\uff0c\u5185\u5316\u4e3a\u201c\u751f\u6210\u524d\u68c0\u7d22\u201d\u7684\u6807\u51c6\u6d41\u7a0b\u3002\u5728\u6b64\u4e4b\u524d\uff0cIndieStack\u66f4\u50cf\u4e00\u4e2a\u5145\u6ee1\u7406\u60f3\u4e3b\u4e49\u7684\u793e\u4f1a\u5b9e\u9a8c\uff0c\u9a8c\u8bc1\u201c\u4eba\u7c7b\u667a\u6167\u7ed3\u6676\u4f18\u5148\u4e8e\u673a\u5668\u91cd\u590d\u52b3\u52a8\u201d\u8fd9\u4e00\u547d\u9898\uff0c\u5728AI\u65f6\u4ee3\u662f\u5426\u8fd8\u80fd\u6210\u7acb\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">IndieStack<\/span>\n                <\/div>\n<div class=\"comment-content\">Your AI rebuilds auth, payments, and analytics from scratch \u2014 things indie creators already built. Those creations sit on GitHub with 12 stars, invisible to AI agents. IndieStack fixes both sides. 793 indie creations \u2014 dev tools, games, newsletters, and more \u2014 with an MCP server. Your AI searches what exists before building from scratch. Built something? List it so everyone&#8217;s AI finds it. No AI required \u2014 browse and discover at indiestack.ai. Built by two uni students in Cardiff.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH! We&#8217;re Pat and Ed \u2014 two uni students in Cardiff (zoology and teaching, not CS).<\/p>\n<p>Our issue: AI keeps rebuilding auth, billing, analytics, even flashcard apps from scratch \u2014 things indie creators already solved. Meanwhile, those indie creations sit on GitHub with 12 stars, invisible to the AI agents that could be recommending them.<\/p>\n<p>IndieStack fixes both sides: 793 indie creations (and growing!) with an MCP server. Your AI searches what exists before building from scratch. And if you&#8217;ve built something useful \u2014 a CLI tool, a library, a game, a SaaS \u2014 list it so everyone&#8217;s AI can find it instead of reinventing it.<\/p>\n<p>`claude mcp add indiestack &#8212; uvx &#8211;from indiestack indiestack-mcp`<br \/>\nor `{&#8220;command&#8221;: &#8220;uvx&#8221;, &#8220;args&#8221;: [&#8220;&#8211;from&#8221;, &#8220;indiestack&#8221;, &#8220;indiestack-mcp&#8221;]}` for Cursor\/Windsurf.<\/p>\n<p>Full story: indiestack.ai\/what-is-indiestack<\/p>\n<p>What have you built that deserves more visibility?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@sir_oat really cool tool for productivity! Why reinvent the wheel, right?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@sir_oat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sir_oat<\/a>&nbsp;Hi Pat and Ed, congrats on launching IndieStack, the idea of helping AI discover existing indie tools before rebuilding them from scratch is really interesting. It feels like a great way to surface a lot of hidden value from indie builders.<\/p>\n<p>I\u2019m currently researching how founders track and improve the health and visibility of their products in the AI ecosystem. I\u2019d really value your perspective.<\/p>\n<p>Would you be open to a quick <strong>3\u20135 minute chat<\/strong> or sharing a few insights? It would really help my research.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Excited to have everyone on board <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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<\/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-03-07 PH\u70ed\u699c | 2026-03-07 #1 TestS [&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-154","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/154","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=154"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/154\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}