[{"data":1,"prerenderedAt":22},["ShallowReactive",2],{"article-from-business-opportunity-to-pet-grooming-app":3},{"slug":4,"date":5,"read_time":6,"image":7,"cta":8,"zh":10,"en":16},"from-business-opportunity-to-pet-grooming-app","2026-11-02",18,"/tutorials/pawpilot/08-dashboard.png",{"link":9},"https://ai.xfeixie.com/",{"title":11,"tag":12,"excerpt":13,"keywords":14,"content":15},"从探索商机到发布应用：爪爪预约完整图文实战","应用生成实战","从宠物美容工作室的预约痛点出发，实操商机探索、需求确认、AI生成、业务验收与正式发布，附真实截图、可复制需求和可体验的成品。","AI生成应用,商机探索,宠物预约系统,飞写AI教程,零代码应用,应用商业化","\u003Cp>\u003Cstrong>跟着这篇教程，你会走完一次真实制作：探索商机、选择问题、整理需求、生成应用、检查业务、发布正式链接。\u003C/strong>我们用飞写 AI 做出「爪爪预约 PawPilot」——一个给小型宠物美容工作室管理预约与宠物档案的应用。\u003C/p>\n\u003Cp>本文以实际操作和成品截图为主，附可复制的需求。截图里的宠物、预约和经营记录都是虚构演示数据；服务标价不是实际收款。市场与定价仍需真实客户验证，生成应用不等于已经赚到钱。\u003C/p>\n\u003Cp>\u003Ca href=\"#result\">先看成品\u003C/a> · \u003Ca href=\"#opportunity\">探索商机\u003C/a> · \u003Ca href=\"#brief\">整理需求\u003C/a> · \u003Ca href=\"#generate\">生成应用\u003C/a> · \u003Ca href=\"#check\">检查业务\u003C/a> · \u003Ca href=\"#business\">商业化\u003C/a> · \u003Ca href=\"#publish\">发布\u003C/a> · \u003Ca href=\"#prompt\">复制需求\u003C/a>\u003C/p>\n\u003Ch2 id=\"result\">先看成品：从一笔预约到一次服务完成\u003C/h2>\n\u003Cp>店主在微信收到预约后，登记宠物、服务、美容师与时间；应用阻止重复排班，跟踪服务进度，并把完成记录汇入宠物历史和经营概览。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/08-dashboard.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"成品工作台：今日预约、服务状态与待办集中呈现。画面为演示数据。\">\u003Cimg src=\"/tutorials/pawpilot/08-dashboard.png\" alt=\"成品工作台：今日预约、服务状态与待办集中呈现。画面为演示数据。\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>成品工作台：今日预约、服务状态与待办集中呈现。画面为演示数据。\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/09-mobile.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"同一应用的手机布局，适合店主在服务间隙查看与登记。\">\u003Cimg src=\"/tutorials/pawpilot/09-mobile.png\" alt=\"同一应用的手机布局，适合店主在服务间隙查看与登记。\" width=\"390\" height=\"844\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>同一应用的手机布局，适合店主在服务间隙查看与登记。\u003C/figcaption>\u003C/figure>\n\u003Cp>\u003Ca href=\"https://ai.xfeixie.com/release/project_179355299225890131/\" target=\"_blank\" rel=\"noopener\">\u003Cstrong>打开本篇成品，体验爪爪预约 →\u003C/strong>\u003C/a>。本文所有截图都可点击查看原图。\u003C/p>\n\u003Cp>首版由\u003Cstrong>店主一个账号统一管理\u003C/strong>，小林和阿宁是排班对象，不是各自登录的员工账号。多人协作、自动微信通知、收银对账、AI 估时和 OCR 留到后续验证，先把一条日常流程做完整。\u003C/p>\n\u003Ch2 id=\"opportunity\">01｜从「不知道做什么」进入商机探索\u003C/h2>\n\u003Cp>打开 \u003Ca href=\"https://ai.xfeixie.com/\" target=\"_blank\" rel=\"noopener\">飞写 AI\u003C/a>，点击创建区域下方的\u003Cstrong>「不知道做什么？AI 帮你挖商机」\u003C/strong>。第一次进入可能先看到案例介绍，再继续进入探索。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/01-home.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"商机探索入口就在首页创建区域下方。\">\u003Cimg src=\"/tutorials/pawpilot/01-home.png\" alt=\"商机探索入口就在首页创建区域下方。\" width=\"1180\" height=\"337\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>商机探索入口就在首页创建区域下方。\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/02-explore-path.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"可以从自己的麻烦出发，也可以探索别人的抱怨；已知道领域时选「我自己打字说」。\">\u003Cimg src=\"/tutorials/pawpilot/02-explore-path.png\" alt=\"可以从自己的麻烦出发，也可以探索别人的抱怨；已知道领域时选「我自己打字说」。\" width=\"860\" height=\"332\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>可以从自己的麻烦出发，也可以探索别人的抱怨；已知道领域时选「我自己打字说」。\u003C/figcaption>\u003C/figure>\n\u003Cp>我们选了容易找到真实使用者的领域：小型宠物美容工作室。第一条消息这样写：\u003C/p>\n\u003Cpre>\u003Ccode>我想为 1–5 人的独立宠物美容工作室做一个应用。\n微信接单容易漏预约，洗护时长不同，宠物档案分散。\n请找可核验的需求线索与竞品，给出 3 个具体机会。\n每个方向说明：谁用、解决什么、现在怎么凑合、\n差异化是什么、如何找到前 5 位试用者。\n不要捏造市场规模、收入或用户评价。\u003C/code>\u003C/pre>\n\u003Cp>一个值得继续的方向，至少要能说清：\u003Cstrong>谁在什么时刻遇到什么麻烦，现在怎么解决，为什么可能愿意换工具。\u003C/strong>\u003C/p>\n\u003Ch2>02｜核对 AI 的建议，再选择首版方向\u003C/h2>\n\u003Cp>探索给出了排班提醒、防漏预约、宠物档案三个方向。我们没有把整段回答直接作为市场结论：初轮出现的市场规模、竞品价格与收入推算未逐项核实，所以不采用；「没有竞品」也没有依据。\u003C/p>\n\u003Cp>另外查阅 \u003Ca href=\"https://www.moego.pet/pet-grooming-software\" target=\"_blank\" rel=\"noopener\">MoeGo 官方产品页\u003C/a>与 \u003Ca href=\"https://www.gespet.com/zh/software-for-pet-businesses.php\" target=\"_blank\" rel=\"noopener\">GESpet 官方中文介绍\u003C/a>，可以确认现有产品已覆盖预约与宠物档案。这说明有人在服务这类工作流，不能证明我们的新应用已经有客户。GESpet 有中文页面，因此也不能照搬 AI 对竞品语言的概括。核验日期：2026 年 11 月 2 日。\u003C/p>\n\u003Cp>最终的产品假设是：\u003Cstrong>给小店一个容易上手的中文手机工具，把微信接单后的登记、排班和档案串起来。\u003C/strong>通过追问，把暂不做的功能去掉，再让 AI 输出可以直接使用的需求草稿。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/04-opportunity-draft.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"追问后得到的需求草稿。点击「用这个想法」，回填到创建区域。图中 AI 判断仍需核验，以本节核实结果为准。\">\u003Cimg src=\"/tutorials/pawpilot/04-opportunity-draft.png\" alt=\"追问后得到的需求草稿。点击「用这个想法」，回填到创建区域。图中 AI 判断仍需核验，以本节核实结果为准。\" width=\"860\" height=\"850\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>追问后得到的需求草稿。点击「用这个想法」，回填到创建区域。图中 AI 判断仍需核验，以本节核实结果为准。\u003C/figcaption>\u003C/figure>\n\u003Cp>接下来应找 5 位真实店主：请他们展示当前登记方法，讲一次最近的约重或漏单，让他们现场登记一笔虚构预约，记录耗时、卡点和缺少的关键字段。体验后再问什么条件下愿意付费。本文没有虚构已完成访谈或已获得付费客户。\u003C/p>\n\u003Ch2 id=\"brief\">03｜点击「用这个想法」，补齐可执行需求\u003C/h2>\n\u003Cp>草稿回填后，保留\u003Cstrong>「应用」\u003C/strong>类型，补齐业务规则和界面要求，再点\u003Cstrong>「开始生成 APP」\u003C/strong>。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/05-create-brief.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"创建前补充目标用户、业务流程、视觉、数据和验收要求。\">\u003Cimg src=\"/tutorials/pawpilot/05-create-brief.png\" alt=\"创建前补充目标用户、业务流程、视觉、数据和验收要求。\" width=\"1180\" height=\"337\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>创建前补充目标用户、业务流程、视觉、数据和验收要求。\u003C/figcaption>\u003C/figure>\n\u003Cp>本次重点补齐了四组信息：\u003C/p>\n\u003Cul>\u003Cli>\u003Cstrong>业务闭环：\u003C/strong>先建档再预约；同一美容师时段重叠要拦截；服务完成后进入历史与统计。\u003C/li>\u003Cli>\u003Cstrong>精美的具体标准：\u003C/strong>奶白与墨绿、统一线性图标、清楚的统计卡、桌面导航与手机布局、可理解的空态。\u003C/li>\u003Cli>\u003Cstrong>数据行为：\u003C/strong>演示与个人数据分开；个人记录云端保存；刷新保留；不同账号隔离。\u003C/li>\u003Cli>\u003Cstrong>商业边界：\u003C/strong>基础预约与档案免费，高级经营功能留会员入口；提醒先做复制文本，不伪装成已发送微信。\u003C/li>\u003C/ul>\n\u003Cp>「做得高端大气」难以验收。「手机不横向滚动、预约主按钮容易找到、弹窗头尾操作始终可见、统计能追溯到记录」更容易得到可判断的结果。\u003C/p>\n\u003Ch2 id=\"generate\">04｜确认关键选择，再开始开发\u003C/h2>\n\u003Cp>进入项目会话后，先回答确认问题。推荐项只是建议，要按首版目标选择。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/07-confirm-scope.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"需求确认卡记录使用方式、收费方式、免费额度与分享奖励。\">\u003Cimg src=\"/tutorials/pawpilot/07-confirm-scope.png\" alt=\"需求确认卡记录使用方式、收费方式、免费额度与分享奖励。\" width=\"494\" height=\"1477\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>需求确认卡记录使用方式、收费方式、免费额度与分享奖励。\u003C/figcaption>\u003C/figure>\n\u003Cp>本次选择：店主单账号；只做包月会员；高级经营导出每日免费 3 次；不做分享奖励。以 20 元/月作为案例会员设置，后续仍需真实试用验证，基础预约与档案不锁住。\u003C/p>\n\u003Cp>确认完点击\u003Cstrong>「确定，开始开发」\u003C/strong>，在会话里查看进度。生成时间取决于范围、模型和构建情况；如果出现新问题，继续回答。中断后也应回到同一项目继续，避免重复创建。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/06-generation.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"项目会话展示生成阶段；后续的修改与修复也在这里继续。\">\u003Cimg src=\"/tutorials/pawpilot/06-generation.png\" alt=\"项目会话展示生成阶段；后续的修改与修复也在这里继续。\" width=\"515\" height=\"182\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>项目会话展示生成阶段；后续的修改与修复也在这里继续。\u003C/figcaption>\u003C/figure>\n\u003Ch2 id=\"check\">05｜沿着一笔预约，检查应用是否真能用\u003C/h2>\n\u003Cp>先看整体，再动手完成一笔业务。使用虚构信息验收，公开截图不要放真实客户电话。\u003C/p>\n\u003Ch3>建宠物档案，再登记预约\u003C/h3>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/10-pets.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"宠物档案页提供搜索、主人称呼和注意事项，服务记录应能回到同一只宠物。\">\u003Cimg src=\"/tutorials/pawpilot/10-pets.png\" alt=\"宠物档案页提供搜索、主人称呼和注意事项，服务记录应能回到同一只宠物。\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>宠物档案页提供搜索、主人称呼和注意事项，服务记录应能回到同一只宠物。\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/11-booking.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"预约表单选择宠物、服务、美容师、开始时间与时长。\">\u003Cimg src=\"/tutorials/pawpilot/11-booking.png\" alt=\"预约表单选择宠物、服务、美容师、开始时间与时长。\" width=\"524\" height=\"1192\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>预约表单选择宠物、服务、美容师、开始时间与时长。\u003C/figcaption>\u003C/figure>\n\u003Cp>字段的价值在于让店主少问一次、少翻一次聊天。不要为了显得功能多，堆上首版不需要的信息。\u003C/p>\n\u003Ch3>故意撞一次时间\u003C/h3>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/12-conflict.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"实际制造同一美容师的重叠预约，检查是否被阻止保存。\">\u003Cimg src=\"/tutorials/pawpilot/12-conflict.png\" alt=\"实际制造同一美容师的重叠预约，检查是否被阻止保存。\" width=\"524\" height=\"1276\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>实际制造同一美容师的重叠预约，检查是否被阻止保存。\u003C/figcaption>\u003C/figure>\n\u003Cp>例如先登记 10:00–11:00，再尝试同一美容师 10:30–11:30，应被拦截；11:00 开始的相邻预约应允许。取消原预约后，时段应释放。编辑预约也要重新校验。\u003C/p>\n\u003Ch3>完成服务，再核对历史与统计\u003C/h3>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/13-calendar.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"预约列表按日期、状态等条件查看，状态随实际操作变化。\">\u003Cimg src=\"/tutorials/pawpilot/13-calendar.png\" alt=\"预约列表按日期、状态等条件查看，状态随实际操作变化。\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>预约列表按日期、状态等条件查看，状态随实际操作变化。\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/14-insights.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"经营概览由已完成记录计算；服务标价合计不等于支付到账或净利润。\">\u003Cimg src=\"/tutorials/pawpilot/14-insights.png\" alt=\"经营概览由已完成记录计算；服务标价合计不等于支付到账或净利润。\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>经营概览由已完成记录计算；服务标价合计不等于支付到账或净利润。\u003C/figcaption>\u003C/figure>\n\u003Cp>将同一预约从待到店推进到服务中、已完成，再检查宠物历史和经营数字。刷新个人工作室，确认记录保留。统计需要能追溯到预约，不能靠写死的漂亮数字。\u003C/p>\n\u003Cp>本案例已通过平台 68 项自测（0 失败）及独立 17 项业务规则复核。浏览器实测完成建档、预约、重叠拦截、刷新保留、开始与完成服务、档案历史与经营数字一致、不同测试账号隔离；CSV 已实际下载并核对内容。390px 手机布局和表单无横向溢出，保存按钮在视口内可见，桌面与手机深浅主题切换无页面异常。正式版 v1 已在未登录浏览器打开。\u003C/p>\n\u003Ch2 id=\"business\">06｜让商业化对应真实价值\u003C/h2>\n\u003Cp>店内洗护服务的示例标价（如 128 元、228 元）与本应用的会员费是两件事。前者是店主向顾客收取的服务价格，后者是应用提供管理能力的升级定价。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/15-plans.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"我的与方案页展示账号及会员入口，实际价格和权益以当前配置为准。\">\u003Cimg src=\"/tutorials/pawpilot/15-plans.png\" alt=\"我的与方案页展示账号及会员入口，实际价格和权益以当前配置为准。\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>我的与方案页展示账号及会员入口，实际价格和权益以当前配置为准。\u003C/figcaption>\u003C/figure>\n\u003Cp>首版让基础预约和档案先可用，再用高级经营导出、细分统计等能力提供升级理由。\u003Cstrong>20 元/月是案例定价，不是收入证明。\u003C/strong>核对页面和后台的价格、周期、免费额度；会员应由真实平台权益判断，不能点按钮就在本地变成已付费。\u003C/p>\n\u003Cp>会员价格、免费额度及权益接口已接入平台并通过配置与权益自测；测试账号的会员权益能正确影响高级功能展示。本次未发起真实微信或 PayPal 付款，也未做真机收银台、退款与到账验收。它们仍是正式向客户收费前要完成的检查，不能把页面上有价格当成已经收款。\u003C/p>\n\u003Ch2 id=\"publish\">07｜发布正式版，让第一位店主试一单\u003C/h2>\n\u003Cp>从项目的发布入口提交正式发布，查看审核、构建与结果。发布成功后，再用未登录浏览器和手机尺寸打开正式链接。测试版用于开发验收，对外文章使用正式版。\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/16-release.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"正式发布结果与对外访问入口。\">\u003Cimg src=\"/tutorials/pawpilot/16-release.png\" alt=\"正式发布结果与对外访问入口。\" width=\"520\" height=\"510\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>正式发布结果与对外访问入口。\u003C/figcaption>\u003C/figure>\n\u003Cp>\u003Ca href=\"https://ai.xfeixie.com/release/project_179355299225890131/\" target=\"_blank\" rel=\"noopener\">\u003Cstrong>体验本篇生成的爪爪预约 PawPilot →\u003C/strong>\u003C/a>\u003C/p>\n\u003Cp>邀请试用时可以说：「我做了一个微信接单后的排班小工具，想请你用一笔虚构预约试试，看看能否少翻聊天记录。能让我观察你登记一单吗？」本文没有自动向店主发送消息。\u003C/p>\n\u003Cp>记录三件事：能否独立完成一单，哪个步骤犹豫，什么理由让他愿意第二天继续用。先修掉阻碍使用的问题，再加新功能。在原会话里这样提修改更具体：\u003C/p>\n\u003Cpre>\u003Ccode>手机预约列表里，完成服务需要翻到卡片底部。\n请把主要状态按钮放在每条预约容易看到的位置，\n保留取消确认，并检查 390px 下没有遮挡。\u003C/code>\u003C/pre>\n\u003Ch2 id=\"prompt\">可复制的首版需求\u003C/h2>\n\u003Cp>下面是本次需求的整理版，替换行业、字段和服务规则即可复用。生成结果仍需逐项验收。\u003C/p>\n\u003Cp>\u003Ca href=\"/tutorials/pawpilot/requirements.txt\" download>下载本案例需求模板（TXT）\u003C/a>\u003C/p>\n\u003Cpre>\u003Ccode>为1-5人的独立宠物洗护工作室制作可实际使用的中文商业应用「爪爪预约 PawPilot」。定位：微信接单后的排班、宠物档案、服务进度与回访看板。不是宠物商城。请生成精美完整应用而非静态展示页。\n视觉：浅奶白底、墨绿品牌色、温润浅绿点缀、精致线性SVG图标、细边框、有节制的阴影、清晰大标题、留白、桌面左侧导航、手机底部导航；统一深浅主题和中英切换。不要emoji当图标，不用外网随机图片。首屏要像成熟SaaS：品牌、今日日期、欢迎语、预约数/待到店/服务中/已完成4个真实统计卡、当天时间轴与右侧待办。所有统计从当前数据计算，不要假收入/假增长百分比。\n模块：工作台、预约日历、宠物档案、服务项目、经营概览、我的与方案。桌面/390px移动端均精致易用。\n完整业务闭环：新增宠物档案（宠物名、种类、品种、主人称呼、可选联系电话、注意事项）；新增预约选宠物、服务、美容师（小林/阿宁）、日期时间、服务时长、价格、备注；对同一美容师同时间段的未取消预约阻止重叠（相邻时段允许，取消不占位）；状态待到店→服务中→已完成，可取消；完成后档案显示服务历史；筛选日期/状态/美容师与搜索宠物；编辑预约再次校验冲突；删除须明确确认。营业时间09:00-19:00，拒绝超出时段。联系人信息不出现在公开演示数据中。\n服务项目支持新增、编辑、停用，预置小型犬洗护60分钟128元、精致美容90分钟228元、猫咪洗护90分钟198元，这些都是示例服务价不是平台收费。经营概览按实际完成预约求和，并明确这是服务标价合计，非支付到账、非净利润；可以导出预约CSV（转义公式注入）。到店提醒只能生成并复制文本给店主手动微信发送，明确“复制提醒”，不要假装已发送短信/微信。\n数据：使用平台SDK真实登录、按当前用户云端持久化与隔离；刷新后保留；访客默认进入演示模式（明确“演示数据”，不写入用户云端），给6个虚构宠物与当天5条预约，演示操作仅影响本次会话，可切换“我的工作室”登录建立自己的空数据。演示数据与个人数据彻底分开，个人空态引导先建档再预约。不得为了截图使用开发者帐号验收；使用平台提供测试账号与跑手验证云端保存、刷新、用户隔离。若SDK当前登录模式不允许某行为请读模板示例后正确实现。\n商业化：我的与方案页展示平台SDK真实账号面板/现有商业化组件；基础价值为预约与档案，不人为锁死；会员方案卖高级经营导出（若平台支持会员权益则真实判断权益并调用平台收银台/权益，不自建假付款）；不支持的部分如实标为未开通，不做假成功。公开演示不要求付款；不要真实下单扣款。给“分享本应用”真实分享/复制链接。所有页面的按钮点了要真完成所述动作，错误就地显示，弹窗遮罩不关闭，头尾按钮固定可见。\n验收：创建档案→新增预约→冲突拦截→取消后释放时段→开始与完成→历史与经营数字一致→刷新保留→CSV导出→390px不横溢出；跑构建和平台自测，失败必须修复。开发完成提供真实已实现能力与未验证项。不要花时间装浏览器，使用平台共享工具。\u003C/code>\u003C/pre>\n\u003Ch2>常见问题\u003C/h2>\n\u003Ch3>需要先会写代码吗？\u003C/h3>\n\u003Cp>本篇通过商机探索、需求描述与项目会话推进。你最需要掌握的是描述业务、判断结果和提出具体修改。涉及真实经营时，仍要检查数据、权限与支付流程。\u003C/p>\n\u003Ch3>为什么不直接自动发微信？\u003C/h3>\n\u003Cp>自动消息需要真实渠道接入和发送结果验证。首版先提供明确的「复制提醒」，由店主确认后发送；接好渠道后再升级。\u003C/p>\n\u003Ch3>有竞品还能做吗？\u003C/h3>\n\u003Cp>要看具体人群的使用成本、迁移成本与未被满足的问题。本案例选择轻量操作体验作为假设，还需要真实店主试用；不能仅凭「有竞品」或「没有竞品」决定。\u003C/p>\n\u003Ch3>怎样才算完成，而不只是生成了页面？\u003C/h3>\n\u003Cp>正式链接能打开，真实身份能保存并读回数据，关键错误被拦截，手机操作顺畅，收费范围讲清楚，已验证与待验证项可查。再让真实用户完成一笔业务，才有下一轮改进的依据。\u003C/p>\n",{"title":17,"tag":18,"excerpt":19,"keywords":20,"content":21},"From Business Opportunity to Published App: A PawPilot Walkthrough","App Building Case Study","Follow a real grooming-studio app from opportunity exploration through requirements, generation, workflow checks and publication, with actual screenshots and a live result.","AI app builder,opportunity research,grooming appointment app,FeixieAI tutorial,app monetization","\u003Cp>\u003Cstrong>A real walkthrough from opportunity research to a published app.\u003C/strong> We use FeixieAI to choose a narrow problem, write an actionable brief, generate an application, check its workflow, and publish it. The example is PawPilot, an appointment and pet-record tool for a small grooming studio.\u003C/p>\n\u003Cp>Screenshots show the actual Chinese interface. Pet names, appointments and operating records are fictional demonstration data. Service prices are not actual payments. Demand and pricing still need validation with real customers.\u003C/p>\n\u003Cp>\u003Ca href=\"#result\">See the result\u003C/a> · \u003Ca href=\"#opportunity\">Explore\u003C/a> · \u003Ca href=\"#brief\">Write the brief\u003C/a> · \u003Ca href=\"#generate\">Generate\u003C/a> · \u003Ca href=\"#check\">Verify\u003C/a> · \u003Ca href=\"#business\">Monetization\u003C/a> · \u003Ca href=\"#publish\">Publish\u003C/a>\u003C/p>\n\u003Ch2 id=\"result\">The result: follow one booking through completion\u003C/h2>\n\u003Cp>The owner receives a booking in WeChat, records the pet, service, groomer and time, then tracks the appointment through completion. Conflicting bookings must be rejected. Completed services feed pet histories and the operating summary.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/08-dashboard.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The generated dashboard shows today&#x27;s appointments, service statuses and tasks. All customer activity is demonstration data.\">\u003Cimg src=\"/tutorials/pawpilot/08-dashboard.png\" alt=\"The generated dashboard shows today&#x27;s appointments, service statuses and tasks. All customer activity is demonstration data.\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The generated dashboard shows today&#x27;s appointments, service statuses and tasks. All customer activity is demonstration data.\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/09-mobile.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The same application at a phone viewport.\">\u003Cimg src=\"/tutorials/pawpilot/09-mobile.png\" alt=\"The same application at a phone viewport.\" width=\"390\" height=\"844\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The same application at a phone viewport.\u003C/figcaption>\u003C/figure>\n\u003Cp>\u003Ca href=\"https://ai.xfeixie.com/release/project_179355299225890131/\" target=\"_blank\" rel=\"noopener\">\u003Cstrong>Try the published PawPilot example →\u003C/strong>\u003C/a>. Click any screenshot to view its original size.\u003C/p>\n\u003Cp>The first release uses one owner account. Groomer names are scheduling resources, not separate employee accounts. Collaboration, automatic WeChat messaging, payment reconciliation, AI duration estimates and OCR are outside this version.\u003C/p>\n\u003Ch2 id=\"opportunity\">01 | Start with opportunity exploration\u003C/h2>\n\u003Cp>Open \u003Ca href=\"https://ai.xfeixie.com/\" target=\"_blank\" rel=\"noopener\">FeixieAI\u003C/a> and choose \u003Cstrong>「不知道做什么？AI 帮你挖商机」\u003C/strong> below the creation form. Continue past the introduction if shown.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/01-home.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The opportunity-exploration entry is below the creation form.\">\u003Cimg src=\"/tutorials/pawpilot/01-home.png\" alt=\"The opportunity-exploration entry is below the creation form.\" width=\"1180\" height=\"337\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The opportunity-exploration entry is below the creation form.\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/02-explore-path.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"Start with your own problem, investigate other people&#x27;s complaints, or type your own description.\">\u003Cimg src=\"/tutorials/pawpilot/02-explore-path.png\" alt=\"Start with your own problem, investigate other people&#x27;s complaints, or type your own description.\" width=\"860\" height=\"332\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>Start with your own problem, investigate other people&#x27;s complaints, or type your own description.\u003C/figcaption>\u003C/figure>\n\u003Cpre>\u003Ccode>I want to build an app for independent grooming studios with 1–5 people.\nBookings arrive in WeChat, service durations vary, and pet records are scattered.\nFind verifiable demand signals and competitors. Suggest three narrow opportunities.\nExplain the user, problem, current workaround, differentiation hypothesis,\nand how to find the first five testers. Do not invent market size or revenue.\u003C/code>\u003C/pre>\n\u003Cp>A useful opportunity identifies who encounters a problem, when it happens, how they cope today, and why they might switch.\u003C/p>\n\u003Ch2>02 | Verify the suggestions before choosing a direction\u003C/h2>\n\u003Cp>Exploration suggested scheduling, missed-booking prevention and pet records. We excluded unverified market-size estimates, competitor prices and revenue projections from its first answer. We also rejected the unsupported claim that there were no competitors.\u003C/p>\n\u003Cp>The official \u003Ca href=\"https://www.moego.pet/pet-grooming-software\" target=\"_blank\" rel=\"noopener\">MoeGo product page\u003C/a> and \u003Ca href=\"https://www.gespet.com/zh/software-for-pet-businesses.php\" target=\"_blank\" rel=\"noopener\">GESpet Chinese overview\u003C/a> confirm that existing products address appointment and pet-record workflows. This establishes a product category, not demand for our particular app. GESpet has a Chinese page, so the AI's generalization about competitors' languages is also unreliable. Checked November 2, 2026.\u003C/p>\n\u003Cp>Our hypothesis became a simpler Chinese mobile workflow for small studios that manually register appointments received in WeChat.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/04-opportunity-draft.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"A follow-up produces a reusable brief. “用这个想法” transfers it to the creation form. AI judgments still require the checks described above.\">\u003Cimg src=\"/tutorials/pawpilot/04-opportunity-draft.png\" alt=\"A follow-up produces a reusable brief. “用这个想法” transfers it to the creation form. AI judgments still require the checks described above.\" width=\"860\" height=\"850\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>A follow-up produces a reusable brief. “用这个想法” transfers it to the creation form. AI judgments still require the checks described above.\u003C/figcaption>\u003C/figure>\n\u003Cp>Find five actual owners. Observe their current method, ask about the last scheduling mistake, and watch them enter a fictional appointment. Record hesitation and missing fields. Ask about willingness to pay after the experience, without suggesting an answer. We do not claim these interviews or any sales have already happened.\u003C/p>\n\u003Ch2 id=\"brief\">03 | Write an executable brief\u003C/h2>\n\u003Cp>Choose \u003Cstrong>「用这个想法」\u003C/strong>, keep \u003Cstrong>「应用」\u003C/strong> selected, expand the brief, then choose \u003Cstrong>「开始生成 APP」\u003C/strong>.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/05-create-brief.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The creation brief specifies audience, workflow, visual direction, data behavior and acceptance checks.\">\u003Cimg src=\"/tutorials/pawpilot/05-create-brief.png\" alt=\"The creation brief specifies audience, workflow, visual direction, data behavior and acceptance checks.\" width=\"1180\" height=\"337\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The creation brief specifies audience, workflow, visual direction, data behavior and acceptance checks.\u003C/figcaption>\u003C/figure>\n\u003Cul>\u003Cli>\u003Cstrong>Workflow:\u003C/strong> create a pet record, book a service, reject overlaps for the same groomer, complete service, and update history.\u003C/li>\u003Cli>\u003Cstrong>Design:\u003C/strong> cream and forest green, consistent line icons, readable dashboard cards, desktop navigation and a usable phone layout.\u003C/li>\u003Cli>\u003Cstrong>Data:\u003C/strong> separate demonstration and personal records; persist personal data in the cloud and isolate accounts.\u003C/li>\u003Cli>\u003Cstrong>Commercial scope:\u003C/strong> keep core bookings and records free, offer an upgrade for advanced reporting, and copy reminder text rather than pretending to send messages.\u003C/li>\u003C/ul>\n\u003Cp>Clear hierarchy, useful empty states, no mobile overflow and accessible dialog actions are more useful criteria than “make it look premium.”\u003C/p>\n\u003Ch2 id=\"generate\">04 | Confirm the important decisions\u003C/h2>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/07-confirm-scope.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The confirmation card records account usage, monetization, free allowance and referral rewards.\">\u003Cimg src=\"/tutorials/pawpilot/07-confirm-scope.png\" alt=\"The confirmation card records account usage, monetization, free allowance and referral rewards.\" width=\"494\" height=\"1477\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The confirmation card records account usage, monetization, free allowance and referral rewards.\u003C/figcaption>\u003C/figure>\n\u003Cp>We selected one owner account, monthly membership, three free advanced-report exports per day and no referral reward. ¥20/month is an example membership configuration to validate later. Basic bookings and records remain available.\u003C/p>\n\u003Cp>Choose \u003Cstrong>「确定，开始开发」\u003C/strong> and follow progress in the project conversation. Answer further questions as needed. After an interruption, continue the existing project rather than creating a duplicate.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/06-generation.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The conversation retains generation progress and is also where later corrections are requested.\">\u003Cimg src=\"/tutorials/pawpilot/06-generation.png\" alt=\"The conversation retains generation progress and is also where later corrections are requested.\" width=\"515\" height=\"182\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The conversation retains generation progress and is also where later corrections are requested.\u003C/figcaption>\u003C/figure>\n\u003Ch2 id=\"check\">05 | Test a complete appointment\u003C/h2>\n\u003Cp>Use fictional information for acceptance and public screenshots.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/10-pets.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pet records provide searchable details, owner references and handling notes.\">\u003Cimg src=\"/tutorials/pawpilot/10-pets.png\" alt=\"Pet records provide searchable details, owner references and handling notes.\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>Pet records provide searchable details, owner references and handling notes.\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/11-booking.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The booking form selects the pet, service, groomer, time and duration.\">\u003Cimg src=\"/tutorials/pawpilot/11-booking.png\" alt=\"The booking form selects the pet, service, groomer, time and duration.\" width=\"524\" height=\"1192\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The booking form selects the pet, service, groomer, time and duration.\u003C/figcaption>\u003C/figure>\n\u003Cp>Fields should reduce repeated questions and searches through chat history. Do not add fields simply to make the app appear more complex.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/12-conflict.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"Deliberately create an overlapping appointment and check that saving is rejected.\">\u003Cimg src=\"/tutorials/pawpilot/12-conflict.png\" alt=\"Deliberately create an overlapping appointment and check that saving is rejected.\" width=\"524\" height=\"1276\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>Deliberately create an overlapping appointment and check that saving is rejected.\u003C/figcaption>\u003C/figure>\n\u003Cp>Create a 10:00–11:00 booking, then try 10:30–11:30 for the same groomer. It should fail. An adjacent 11:00 booking should work. Canceling the original should release its slot. Editing must apply the same rules.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/13-calendar.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The appointment view supports inspection by date and status.\">\u003Cimg src=\"/tutorials/pawpilot/13-calendar.png\" alt=\"The appointment view supports inspection by date and status.\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The appointment view supports inspection by date and status.\u003C/figcaption>\u003C/figure>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/14-insights.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"Operating totals come from completed records; service price totals are not payment received or profit.\">\u003Cimg src=\"/tutorials/pawpilot/14-insights.png\" alt=\"Operating totals come from completed records; service price totals are not payment received or profit.\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>Operating totals come from completed records; service price totals are not payment received or profit.\u003C/figcaption>\u003C/figure>\n\u003Cp>Move one booking from waiting through in progress to completed. Check the pet history and summary, then reload the personal workspace to verify persistence. Totals must be traceable to records.\u003C/p>\n\u003Cp>The case passed 68 platform self-tests with zero failures and 17 independent business-rule checks. Browser acceptance covered record creation, booking, overlap rejection, persistence after reload, service progression, matching history and totals, and isolation between test accounts. A CSV was downloaded and its contents checked. The 390px phone view and form had no horizontal overflow, and the save button remained within the viewport. Light/dark switching worked on desktop and mobile without page errors. Published v1 opened in a signed-out browser.\u003C/p>\n\u003Ch2 id=\"business\">06 | Connect the upgrade to useful value\u003C/h2>\n\u003Cp>Example grooming prices such as ¥128 and ¥228 are separate from the application's membership price.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/15-plans.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The account and plan page explains identity and membership. Current live configuration takes precedence over screenshots.\">\u003Cimg src=\"/tutorials/pawpilot/15-plans.png\" alt=\"The account and plan page explains identity and membership. Current live configuration takes precedence over screenshots.\" width=\"1440\" height=\"1000\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The account and plan page explains identity and membership. Current live configuration takes precedence over screenshots.\u003C/figcaption>\u003C/figure>\n\u003Cp>Let owners use the daily workflow first, then offer advanced exports and detailed reporting. \u003Cstrong>¥20/month is a pricing experiment, not evidence of revenue.\u003C/strong> Verify price, billing period and allowance against configuration. Membership must come from actual platform entitlements, not a browser-only flag.\u003C/p>\n\u003Cp>Pricing, free allowance and entitlements are integrated with the platform and covered by configuration and entitlement tests. A test account’s membership correctly enabled advanced features. No real WeChat or PayPal payment was made; real-device checkout, refunds and settlement remain unverified and must be checked before charging customers.\u003C/p>\n\u003Ch2 id=\"publish\">07 | Publish and observe a first-time user\u003C/h2>\n\u003Cp>Use the project publish entry and inspect review, build and publication results. Open the production link in a signed-out browser and at a phone viewport. Development previews are for acceptance; the article links to production.\u003C/p>\n\u003Cfigure>\u003Ca href=\"/tutorials/pawpilot/16-release.png\" target=\"_blank\" rel=\"noopener\" aria-label=\"The production publication result and access entry.\">\u003Cimg src=\"/tutorials/pawpilot/16-release.png\" alt=\"The production publication result and access entry.\" width=\"520\" height=\"510\" loading=\"lazy\" decoding=\"async\">\u003C/a>\u003Cfigcaption>The production publication result and access entry.\u003C/figcaption>\u003C/figure>\n\u003Cp>\u003Ca href=\"https://ai.xfeixie.com/release/project_179355299225890131/\" target=\"_blank\" rel=\"noopener\">\u003Cstrong>Try published PawPilot →\u003C/strong>\u003C/a>\u003C/p>\n\u003Cp>Invite an owner to enter one fictional order while you observe. Record whether they complete it unaided, where they hesitate, and what would make them return tomorrow. No outreach messages were sent for this tutorial.\u003C/p>\n\u003Cp>Request focused changes in the original conversation: “On a phone, the completion button is too far down the appointment card. Make it easy to find, preserve cancellation confirmation, and check the 390px layout.”\u003C/p>\n\u003Ch2>Reusable first-version prompt\u003C/h2>\n\u003Cpre>\u003Ccode>Build PawPilot for a small independent grooming studio. One owner manages\npet records, services, groomers and bookings. Use cream and forest green,\nconsistent SVG icons, responsive layouts and light/dark themes.\n\nCreate a pet record before booking. A booking selects a pet, service, groomer,\ntime, duration, price and notes. Reject overlapping active bookings for the\nsame groomer and appointments outside 09:00–19:00. Adjacent slots are valid.\nCanceled appointments release their slots. Recheck edits. Confirm deletion.\n\nTrack waiting → in progress → completed. Show service history per pet.\nCompute summaries from records. Distinguish price totals from money received.\nCopy reminder text for manual sending and support safe CSV export.\n\nSeparate fictional demonstration data from personal cloud records. Use platform\nlogin and per-user isolation. Reload must retain personal records. Personal\nworkspaces start empty. Use platform test identities, not the author account.\nKeep bookings and records free. Integrate real platform entitlements and checkout\nfor advanced reporting when available; explain anything not enabled.\nDo not make real purchases during acceptance.\n\nCheck record creation, booking, overlap rejection, cancellation and slot reuse,\nservice completion, history and totals, reload, export and the 390px layout.\nBuild, run self-tests, fix failures, and report verified and unverified behavior.\u003C/code>\u003C/pre>\n\u003Ch2>Common questions\u003C/h2>\n\u003Ch3>Do I need to write code?\u003C/h3>\n\u003Cp>This walkthrough uses exploration, plain-language requirements and the project conversation. You still need to understand the business process and inspect data access and payment behavior.\u003C/p>\n\u003Ch3>Why start with copied reminders?\u003C/h3>\n\u003Cp>Automatic messages need a working channel integration and verifiable delivery. A clearly labeled copy action provides useful behavior now.\u003C/p>\n\u003Ch3>What counts as finished?\u003C/h3>\n\u003Cp>A production link opens, the correct user can save and reload data, important errors are prevented, the phone layout works, paid features are explained, and verified and unverified items are documented. Observing a real user then guides the next improvement.\u003C/p>\n",1793556307927]