iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
Build on Google AI

《30天打造喵語日誌:Gemini API × Vibe Coding 實戰》系列 第 7

Day 07:【週總結】第一週 AI 基礎建設小結:利用 AI 繪製《喵語日誌》三大核心畫面 Wireframe

  • 分享至 

  • xImage
  •  

從 AI 概念驗證走向產品雛形

不知不覺,已經來到第一週的最後一天了!

回顧這 6 天,我們從最初的貓咪 Persona 設計開始,一路完成了多模態圖片分析、JSON Schema、Structured Outputs,最後還把 Gemini API 串接到 Vite + React 前端。

一開始,《喵語日誌》還只是一個「想讓 AI 扮演貓咪陪伴者」的構想。到了 Day 06,我們已經可以讓使用者輸入生活近況,呼叫 Gemini 分析,再把結果渲染成一張真正的貓咪日誌卡片。

不過,如果要繼續往完整產品前進,除了 API 能正常運作之外,還需要先想清楚一件事:

使用者實際上要看到什麼畫面?又要如何操作這個產品?

因此今天暫時放下程式碼,先整理第一週的成果,再利用 AI UI 生成工具 v0,將《喵語日誌》的三大核心畫面快速做成 Wireframe,讓接下來的開發方向更清楚。

第一週成果回顧

這週主要完成了 4 個重要里程碑。

1. 定義貓咪 Persona 與互動語氣

我們先替 Gemini 設計了「喵喵」這個角色:

  • 溫柔的貓咪陪伴者
  • 能理解使用者的日常心情
  • 回應中加入蹭蹭、噗嚕等貓咪動作
  • 根據使用者的情緒給予安慰或陪伴

透過 System Instructions,原本比較制式的 AI 回應,開始有了比較一致的個性與語氣。

2. 完成多模態與結構化輸出

接著,我們讓 Gemini 不只理解文字,也能分析使用者上傳的照片。

例如看到晚餐照片時,可以歸納成「深夜美食」;看到筆電和文件時,可能判斷為「努力上班」。

接著再使用 Response Schema,將結果整理成固定的 JSON 欄位:

{
  "mood_score": 7,
  "lifestyle_label": "專案開發後的放鬆時光",
  "cat_response": "喵嗚~今天完成專案骨架已經很棒了!先好好休息一下,讓喵喵陪你放空,喵~"
}

Response Schema 的好處,是讓模型依照指定的欄位和型別輸出,比單純在 Prompt 裡要求「請回傳 JSON」更適合拿來和程式串接。

3. 建立前端專案骨架

在 Day 06,我們使用 Vite、React 和 TypeScript 建立前端專案,並將程式拆分成幾個主要區塊:

src/
├── components/
│   └── DiaryCard.tsx
├── services/
│   └── geminiService.ts
├── types/
│   └── diary.ts
├── App.tsx
└── main.tsx

這樣的結構讓 UI 元件、API 呼叫和資料型別各自分工,未來要增加月曆或成就頁面時,也比較容易維護。

另外,本週也練習了使用環境變數讀取 API Key。不過要特別提醒,Vite 中以 VITE_ 開頭的變數會被打包到前端程式碼,因此適合用於學習或 Demo,不代表真正隱藏了 API Key。

4. 完成 API 端到端串接

最後,我們引入 Google 官方的 @google/genai SDK,完成以下流程:

使用者輸入近況
↓
React 表單送出資料
↓
呼叫 Gemini API
↓
取得結構化 JSON
↓
更新 React State
↓
渲染貓咪日誌卡片

這代表《喵語日誌》的核心 AI 功能,已經從 AI Studio 裡的概念驗證,正式進入可以操作的前端原型階段。

利用 AI 生成三大核心畫面

完成 API 串接後,我開始思考下一個問題:

如果《喵語日誌》要變成一個完整產品,除了目前的輸入框和回應卡片,還需要哪些頁面?

這次我使用 v0 協助生成 UI 原型。它比較像是用文字描述需求,再產生前端介面草稿的工具,而不只是單純畫圖片。

我把前幾天整理好的資料欄位、使用者流程和產品想法,轉換成畫面需求,先快速確認版面配置和互動方向。

核心畫面一:日誌對話頁

第一個畫面是整個產品最主要的入口,也就是日誌對話頁。

設計重點

  • 顯示今天的日期
  • 提供生活近況文字輸入區
  • 讓使用者選擇大概的心情程度
  • 送出後顯示 Gemini 的分析結果
  • 以卡片呈現生活標籤、情緒指數和貓咪回應

https://ithelp.ithome.com.tw/upload/images/20260808/20178708pJ6dvbpLPM.png
▲《喵語日誌》日誌對話頁 Wireframe

這個頁面對應到我們 Day 06 已經完成的功能。
未來如果加入圖片上傳,就可以讓使用者一邊輸入文字、一邊上傳今天的照片,讓喵喵一起分析。

核心畫面二:情緒月曆頁

第二個畫面是情緒月曆。

既然每次日誌都有一個 mood_score,我們就可以把這些分數放到月曆上,用顏色呈現每天的情緒狀態。

設計重點

  • 以月曆方式顯示每日紀錄
  • 使用不同顏色代表不同情緒分數
  • 顯示本月累積紀錄天數
  • 顯示平均情緒分數
  • 點擊日期後,可以查看當天的完整日誌

例如:
分數 1~3:偏低落的冷色系。
分數 4~6:中性的暖色系。
分數 7~10:比較明亮的開心色系。

https://ithelp.ithome.com.tw/upload/images/20260808/20178708jTk3RNB2sB.png
▲《喵語日誌》情緒月曆頁 Wireframe

這個頁面就是把 API 回傳的資料進一步視覺化。
原本只是一個 mood_score: 7,經過月曆設計後,就可以變成使用者看得懂的長期情緒趨勢。

當然,這裡的情緒分數只是 AI 根據文字或照片做出的生活紀錄分類,不能當成心理或醫療診斷。它比較適合用來幫助使用者回顧自己的生活狀態。

核心畫面三:成就與親密度頁

第三個畫面是成就與親密度頁。

如果每天都只是寫日誌,使用者可能很快就失去動力。因此我想加入一些輕量的遊戲化設計,讓使用者有持續記錄的理由。

設計重點

  • 顯示喵喵親密度等級
  • 顯示目前累積經驗值 XP
  • 顯示連續記錄天數
  • 顯示已解鎖的貓咪徽章
  • 顯示尚未解鎖的成就

可以設計成以下類型的徽章:

  • 初次相遇:完成第一篇日誌
  • 連續陪伴:連續記錄 3 天
  • 深夜樹洞:在晚上完成日誌
  • 美食偵探:多次上傳食物照片
  • 持續陪伴:連續記錄 7 天

https://ithelp.ithome.com.tw/upload/images/20260808/20178708agXKwyk8Yi.png
▲ 圖三:《喵語日誌》成就與親密度頁 Wireframe

這些功能不一定要第一版就全部完成,但先把畫面和資料需求想清楚,後面開發時就比較不會一直修改架構。

這次原型設計的收穫

1. 先確認畫面,再開始寫程式

這次先使用 AI 生成 Wireframe,雖然畫面還不是最終版本,但至少可以提前確認:

  • 使用者從哪裡開始操作
  • API 回應要放在哪裡
  • 哪些資料適合用卡片呈現
  • 月曆和成就頁需要哪些資料

這樣可以在還沒寫大量 CSS 之前,先快速驗證產品方向。

2. Schema 也能反過來幫助 UI 設計

這次最有趣的地方是,API Schema 不只是後端格式而已,也可以直接影響 UI 設計。
例如:

interface CatDiaryResponse {
  mood_score: number;
  lifestyle_label: string;
  cat_response: string;
}

看到這三個欄位後,就可以很自然地對應出:

  • mood_score → 情緒指數或月曆色塊
  • lifestyle_label → 日誌卡片標籤
  • cat_response → 貓咪陪伴語錄

也就是說,先定義資料,再根據資料設計畫面,可以讓前後端更容易對接。

3. Wireframe 不是最終成品

這次使用 v0 產生的畫面,主要是用來確認產品方向,不代表最後一定要完全照著做。

實際開發時,還是要根據以下條件調整:

  • 真實 API 回應內容
  • 手機版和桌面版的排版
  • 使用者操作是否直覺
  • LocalStorage 或資料庫如何保存紀錄
  • 顏色、字體和動畫是否影響閱讀

所以我會把這次的結果視為產品藍圖,而不是直接交付的最終 UI。

結語

第一週的 AI 基礎建設順利打好地基!我們從貓咪 Persona 與多模態分析出發,透過 JSON Schema 完成結構化輸出,並成功建立 Vite + React 前端骨架與 Gemini API 的端到端串接,最後繪製出《喵語日誌》三大核心畫面的產品原型。核心 AI 能力與產品藍圖已正式到位!

下一週我們將正式解鎖 Vibe Coding 模式!借助 AI 助理的力量,把 Wireframe 轉化為真正可操作的介面,陸續加入 Tailwind CSS 視覺樣式、動畫互動、LocalStorage 本機儲存與 RWD 響應式切換。

第一週我們準備好了 AI 的靈魂與骨架,第二週就要讓《喵語日誌》長出外觀與生命力了。準備好開始 Vibe Coding 了嗎?喵~


上一篇
Day 06:【前端實作】Vite + React 骨架建置與 Gemini API 結構化串接全紀錄
下一篇
Day 08:【Vibe Coding】用自然語言下 Prompt,一秒生成對話視窗 UI
系列文
《30天打造喵語日誌:Gemini API × Vibe Coding 實戰》19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言