Day:292 NEXT
第 292 天的年度檢討:從 Ingrelens 與 cosGlint 的基礎建設到架構解耦,LLM 與後端分離、Orchestrator 上線;經歷 11 月大流量的佇列塞車與 48 小時救火,補齊觀測與調度。cosGlint 的使用者已超過兩千,內建 13k+ 商品,1.3.0 也推出了全方位部位檢測。
主題索引
介面、文案和使用體驗的調整
第 292 天的年度檢討:從 Ingrelens 與 cosGlint 的基礎建設到架構解耦,LLM 與後端分離、Orchestrator 上線;經歷 11 月大流量的佇列塞車與 48 小時救火,補齊觀測與調度。cosGlint 的使用者已超過兩千,內建 13k+ 商品,1.3.0 也推出了全方位部位檢測。
從 Termdock 首秀經驗出發,結合 Product Hunt 官方指南與 Tally、Wisp 案例,整理上線前準備、素材、當天互動與發布後成效追蹤。
cosGlint 1.2.4 上線:Findskin 核心演算法重新設計、膚質細分至 10 種,搭配全新相機介面與「計算權重」報告,讓拍照更順、結果更準。Ingrelens 提供 AI 成分解讀、膚況檢測與個人化保養建議,協助判斷產品是否合適。
cosGlint 的回饋介面:點一下分數,30 秒後自動送出,想補充的人也能寫文字或撤回。這篇記錄我如何用倒數、動畫和 A/B 測試,讓兩種需求放在同一個流程裡。
回看 2025 年 OpenAI 宣布放寬成年人內容的計畫,區分原始訊息、產品判斷與實際可用範圍;補上個人化指示和內容權限應分開管理的做法。
把高溫、濕度、風速、UV 指數轉成可執行的日常保養:從保養品分析到成分分析,cosGlint 以可被解釋的訊號給出白天防曬、夜間修護、隔日預防的具體指引。
Termdock 是以終端為核心的開發環境,整合多工作區、多終端、AST 深度搜尋和檔案/Prompt 管理,也提供 Git 輔助與智慧拖放,減少開發時的視窗切換。
回顧 cosGlint 第 209 天的成分分析與產品規劃,補上 Day 234、1.2.4 膚質演算法及相機介面的後續更新。
保留 API key 外洩事件,更新 Gemini 預付計費與 OpenAI 支出上限,說明後端代理、配額、限流和停機責任。
保留 cosGlint 2025 Android 封測心得與填答,補上個人帳號適用範圍、12 人連續 opt-in 14 天及公開資料規則。
回看 2025 年 GPT-5 上線與 GPT-4o 回歸爭議,討論選擇權、互動偏好與產品語氣設計;補上 2026 年自訂指示和事實邊界的做法。
這週從 SEO、Dockerfile/Supervisor、狀態管理、Tiptap + AI 到 環境變數,每天都有新坑。與其把它們當救火,我選擇把舊債系統性轉成投資,讓產品的基礎更穩。 * SEO不是小事。重新設計 JSON‑LD 和 metadata,短期流量未必動,但可
這週幾乎都在跟 LLM 微服務搏鬥:調整彈性、金鑰池、供應商切換、逃生門與 fallback 機制,再整合 Sentry 與 Redis 限流。這些改動使用者不一定看得到,但對穩定性與後續擴充很關鍵。 本週進展 * LLM 微服務成功從 Ingrelens 主專案抽離,架
保留 Google 解除綁定的開發經過,補上站內 session、OAuth scope、access/refresh token 與登入同意撤銷的差異。
昨天猶豫了半天要不要接 Microsoft Clarity,今天早上看了幾段 session 錄影,心裡總算鬆一口氣。問題一目了然:搜尋輸入體驗太糟。輸入法組字的時機一錯,搜尋建議就瘋狂跳,整段流程像在考驗使用者耐心。 第一件事,我把搜尋輸入的 debounce 重寫:組字期間
今天把幾件拖很久的事一次處理掉,專案也順了不少。 先把不用的 sitemap.ts 和相關邏輯清掉。本來以為是單純刪檔,結果測試掛了:有個測試竟然跟 sitemap 的產生邏輯耦合在一起。把測試拆乾淨、舊案例順手整理後,CI 回到綠燈。像清掉房間的舊雜物,空出腦袋。 真正影響
軟刪除這件小事,背後的細節卻不小 原本只想補一個產品刪除 API。硬刪除直覺又乾脆,但總會有人手滑、客服就會來敲門。最後還是加了 deletedAt 欄位,用軟刪除留個回頭路。 一做下去才發現沒那麼單純:所有產品查詢都要顧到「未刪除」的狀態,沒有 WHERE deletedA
圖片輪播的坑,比我想的深得多。昨天把 .gitignore 的怪事整理完,今天回到產品開發,開始做待辦清單裡的圖片輪播。原本估半小時的小元件,結果一做就發現邊界狀況一堆。 先是圖片 URL 的檢查,避免破圖。寫到載入狀態才真正頭痛:使用者網路慢,圖片還沒載好,輪播就先動,體驗直
本來計畫把時間放在核心功能的優化,結果一打開產品分析服務的介面,先被一堆不一致的中文用詞刺了一下。看似微小的「上傳」「提交」「新增」差異,卻會讓品牌商覺得產品不夠專業,也影響他們的信任。想到我們的客群特別在乎質感,我還是把今天的重心從新功能挪開,展開一場用語清掃。 原本只想改幾
AI 分類越做越複雜,是在挖坑還是填坑? 這幾天把重心放在兩件事:產品分類的 AI 自動化,以及安全檢查服務的重構。原本以為只是把 API 接上、模型升級一下,結果一路從資料結構、路由、紀錄,到架構設計全被牽出來重整。 先談分類。 起手式很直接:把產品名稱與描述丟給模型,取
這週又走進熟悉的重構循環:API 架構、頭像 URL 的 timestamp 快取、副作用處理、訪客帳號暱稱同步,以及 FindSkin 的命名與流程一致性。每個小改動都牽出更大的設計問題,讓人不免自嘲「又在自找麻煩」。但冷靜看,這些牽動其實都指向同一件事:早期設計沒有把未來使用
記錄 FindSkin 當時的命名、問卷與介面整理,補上 cosGlint 1.2.4 演算法與 10 種膚質分類的後續文章。
今天的開發原本很單純:做一個訪客帳號。實作後卻發現,難的是讓它用起來一致、可信。這一整天的折返,讓我更確定:產品的差異,往往來自那些使用者不會主動說出口、卻一直感受到的細節。 一、身分與名稱要一致。一開始我以為 localStorage 放個暱稱就好。等到遇到「訪客是否能轉成正
今天原本只打算把產品頁改成 client-side component,改善 SSR 時卡卡的效能與 UX。結果一碰到 loading 與 error 處理,才發現 API 根本沒涵蓋這些情境,只好連同整包一起重整。有人會問:「真的有必要動 API?用戶會在意嗎?」我很確定,這種
API 重構後的幾點實話:技術債、產品判斷與下一步 這週把 Ingrelens 的幾個老問題一次整起來:API 架構統一、環境變數管理自動化、會員系統與帳號刪除流程重構,還把 HTTP 全面升級到 HTTPS。Dockerfile 重新整理、部署腳本補上該有的保險,過去半年累積
今天幾乎都在跟會員系統纏鬥。Ingrelens 一開始只是做「註冊、登入」這種基本功能,結果一路長出資料更新、密碼修改、guest 升級成正式會員……每加一個需求,整體邏輯就再複雜一點。 先處理 email 驗證。以前的流程只是寄信、點連結,直到要支援 guest 升級與 em
游標分頁、環境變數與 API 統一大作戰:把炸彈拆完,才有力氣往前走 有些技術債務不會自己消失,換個環境就原形畢露。這兩天我乾脆把 API URL 的處理邏輯整個抽出來,用環境變數統一管理,再加上 trim,免得前後多了空白符號害人抓狂。順手把散落各處的 console.log
這兩天主要在補技術債、梳理架構,過程當然少不了自我懷疑,但也總算把幾個老問題處理好了。 先是 Dockerfile。昨晚就覺得哪裡怪,早上看 deployment log 才確認:前端 CORS 一直叫,後端 API 的 domain whitelist 根本沒吃到。追了半天發
成分搜尋與 API 整合的兩天修補:從資料庫到前端的連鎖反應 這兩天主要在處理兩件事:把成分搜尋做對、把 API 整合拉回穩定。結果一路從資料庫 schema、ORM、到前端路由和狀態管理,全都被牽出來重整了一遍。 先說成分搜尋。之前後端只有陽春 CRUD,前端要找成分時不是
延續昨天的 AI 整合反思,我原本只想讓產品分析結果更好讀。沒想到下去動了一個顯示細節,整個渲染邏輯就像多米諾骨牌一樣一路倒下:從前端元件、狀態流到資料處理方式,都得重新整理。雖然頭疼,但結果讓我滿意。 先從「觀察互動」著手。我加了一個專門顯示成分的區塊,原本擔心資訊太細,使用
條碼掃描初步跑起來了,但影像前處理比預期花時間。這週的反省是先讓功能上線,再根據使用資料調整;下週優先處理弱光環境下掃描太慢的問題。
讓掃描更可靠,也把產品管理功能做紮實
這次把「AI 模型切換」端點併入產品分析 API,讓功能回到穩定、準確的分析。也處理 OpenAI 模型更新的封裝,補上 FastAPI middleware 與錯誤處理;下週要做完整的整合測試,也確認前後端能搭配運作,並用監控與快速還原先前版本的機制降低風險。
第 292 天的年度檢討:從 Ingrelens 與 cosGlint 的基礎建設到架構解耦,LLM 與後端分離、Orchestrator 上線;經歷 11 月大流量的佇列塞車與 48 小時救火,補齊觀測與調度。cosGlint 的使用者已超過兩千,內建 13k+ 商品,1.3.0 也推出了全方位部位檢測。
從 Termdock 首秀經驗出發,結合 Product Hunt 官方指南與 Tally、Wisp 案例,整理上線前準備、素材、當天互動與發布後成效追蹤。
cosGlint 1.2.4 上線:Findskin 核心演算法重新設計、膚質細分至 10 種,搭配全新相機介面與「計算權重」報告,讓拍照更順、結果更準。Ingrelens 提供 AI 成分解讀、膚況檢測與個人化保養建議,協助判斷產品是否合適。
cosGlint 的回饋介面:點一下分數,30 秒後自動送出,想補充的人也能寫文字或撤回。這篇記錄我如何用倒數、動畫和 A/B 測試,讓兩種需求放在同一個流程裡。
回看 2025 年 OpenAI 宣布放寬成年人內容的計畫,區分原始訊息、產品判斷與實際可用範圍;補上個人化指示和內容權限應分開管理的做法。
把高溫、濕度、風速、UV 指數轉成可執行的日常保養:從保養品分析到成分分析,cosGlint 以可被解釋的訊號給出白天防曬、夜間修護、隔日預防的具體指引。
Termdock 是以終端為核心的開發環境,整合多工作區、多終端、AST 深度搜尋和檔案/Prompt 管理,也提供 Git 輔助與智慧拖放,減少開發時的視窗切換。
回顧 cosGlint 第 209 天的成分分析與產品規劃,補上 Day 234、1.2.4 膚質演算法及相機介面的後續更新。
保留 API key 外洩事件,更新 Gemini 預付計費與 OpenAI 支出上限,說明後端代理、配額、限流和停機責任。
保留 cosGlint 2025 Android 封測心得與填答,補上個人帳號適用範圍、12 人連續 opt-in 14 天及公開資料規則。
回看 2025 年 GPT-5 上線與 GPT-4o 回歸爭議,討論選擇權、互動偏好與產品語氣設計;補上 2026 年自訂指示和事實邊界的做法。
這週從 SEO、Dockerfile/Supervisor、狀態管理、Tiptap + AI 到 環境變數,每天都有新坑。與其把它們當救火,我選擇把舊債系統性轉成投資,讓產品的基礎更穩。 * SEO不是小事。重新設計 JSON‑LD 和 metadata,短期流量未必動,但可
這週幾乎都在跟 LLM 微服務搏鬥:調整彈性、金鑰池、供應商切換、逃生門與 fallback 機制,再整合 Sentry 與 Redis 限流。這些改動使用者不一定看得到,但對穩定性與後續擴充很關鍵。 本週進展 * LLM 微服務成功從 Ingrelens 主專案抽離,架
保留 Google 解除綁定的開發經過,補上站內 session、OAuth scope、access/refresh token 與登入同意撤銷的差異。
昨天猶豫了半天要不要接 Microsoft Clarity,今天早上看了幾段 session 錄影,心裡總算鬆一口氣。問題一目了然:搜尋輸入體驗太糟。輸入法組字的時機一錯,搜尋建議就瘋狂跳,整段流程像在考驗使用者耐心。 第一件事,我把搜尋輸入的 debounce 重寫:組字期間
今天把幾件拖很久的事一次處理掉,專案也順了不少。 先把不用的 sitemap.ts 和相關邏輯清掉。本來以為是單純刪檔,結果測試掛了:有個測試竟然跟 sitemap 的產生邏輯耦合在一起。把測試拆乾淨、舊案例順手整理後,CI 回到綠燈。像清掉房間的舊雜物,空出腦袋。 真正影響
軟刪除這件小事,背後的細節卻不小 原本只想補一個產品刪除 API。硬刪除直覺又乾脆,但總會有人手滑、客服就會來敲門。最後還是加了 deletedAt 欄位,用軟刪除留個回頭路。 一做下去才發現沒那麼單純:所有產品查詢都要顧到「未刪除」的狀態,沒有 WHERE deletedA
圖片輪播的坑,比我想的深得多。昨天把 .gitignore 的怪事整理完,今天回到產品開發,開始做待辦清單裡的圖片輪播。原本估半小時的小元件,結果一做就發現邊界狀況一堆。 先是圖片 URL 的檢查,避免破圖。寫到載入狀態才真正頭痛:使用者網路慢,圖片還沒載好,輪播就先動,體驗直
本來計畫把時間放在核心功能的優化,結果一打開產品分析服務的介面,先被一堆不一致的中文用詞刺了一下。看似微小的「上傳」「提交」「新增」差異,卻會讓品牌商覺得產品不夠專業,也影響他們的信任。想到我們的客群特別在乎質感,我還是把今天的重心從新功能挪開,展開一場用語清掃。 原本只想改幾
AI 分類越做越複雜,是在挖坑還是填坑? 這幾天把重心放在兩件事:產品分類的 AI 自動化,以及安全檢查服務的重構。原本以為只是把 API 接上、模型升級一下,結果一路從資料結構、路由、紀錄,到架構設計全被牽出來重整。 先談分類。 起手式很直接:把產品名稱與描述丟給模型,取
這週又走進熟悉的重構循環:API 架構、頭像 URL 的 timestamp 快取、副作用處理、訪客帳號暱稱同步,以及 FindSkin 的命名與流程一致性。每個小改動都牽出更大的設計問題,讓人不免自嘲「又在自找麻煩」。但冷靜看,這些牽動其實都指向同一件事:早期設計沒有把未來使用
記錄 FindSkin 當時的命名、問卷與介面整理,補上 cosGlint 1.2.4 演算法與 10 種膚質分類的後續文章。
今天的開發原本很單純:做一個訪客帳號。實作後卻發現,難的是讓它用起來一致、可信。這一整天的折返,讓我更確定:產品的差異,往往來自那些使用者不會主動說出口、卻一直感受到的細節。 一、身分與名稱要一致。一開始我以為 localStorage 放個暱稱就好。等到遇到「訪客是否能轉成正
今天原本只打算把產品頁改成 client-side component,改善 SSR 時卡卡的效能與 UX。結果一碰到 loading 與 error 處理,才發現 API 根本沒涵蓋這些情境,只好連同整包一起重整。有人會問:「真的有必要動 API?用戶會在意嗎?」我很確定,這種
API 重構後的幾點實話:技術債、產品判斷與下一步 這週把 Ingrelens 的幾個老問題一次整起來:API 架構統一、環境變數管理自動化、會員系統與帳號刪除流程重構,還把 HTTP 全面升級到 HTTPS。Dockerfile 重新整理、部署腳本補上該有的保險,過去半年累積
今天幾乎都在跟會員系統纏鬥。Ingrelens 一開始只是做「註冊、登入」這種基本功能,結果一路長出資料更新、密碼修改、guest 升級成正式會員……每加一個需求,整體邏輯就再複雜一點。 先處理 email 驗證。以前的流程只是寄信、點連結,直到要支援 guest 升級與 em
游標分頁、環境變數與 API 統一大作戰:把炸彈拆完,才有力氣往前走 有些技術債務不會自己消失,換個環境就原形畢露。這兩天我乾脆把 API URL 的處理邏輯整個抽出來,用環境變數統一管理,再加上 trim,免得前後多了空白符號害人抓狂。順手把散落各處的 console.log
這兩天主要在補技術債、梳理架構,過程當然少不了自我懷疑,但也總算把幾個老問題處理好了。 先是 Dockerfile。昨晚就覺得哪裡怪,早上看 deployment log 才確認:前端 CORS 一直叫,後端 API 的 domain whitelist 根本沒吃到。追了半天發
成分搜尋與 API 整合的兩天修補:從資料庫到前端的連鎖反應 這兩天主要在處理兩件事:把成分搜尋做對、把 API 整合拉回穩定。結果一路從資料庫 schema、ORM、到前端路由和狀態管理,全都被牽出來重整了一遍。 先說成分搜尋。之前後端只有陽春 CRUD,前端要找成分時不是
延續昨天的 AI 整合反思,我原本只想讓產品分析結果更好讀。沒想到下去動了一個顯示細節,整個渲染邏輯就像多米諾骨牌一樣一路倒下:從前端元件、狀態流到資料處理方式,都得重新整理。雖然頭疼,但結果讓我滿意。 先從「觀察互動」著手。我加了一個專門顯示成分的區塊,原本擔心資訊太細,使用
條碼掃描初步跑起來了,但影像前處理比預期花時間。這週的反省是先讓功能上線,再根據使用資料調整;下週優先處理弱光環境下掃描太慢的問題。
讓掃描更可靠,也把產品管理功能做紮實
這次把「AI 模型切換」端點併入產品分析 API,讓功能回到穩定、準確的分析。也處理 OpenAI 模型更新的封裝,補上 FastAPI middleware 與錯誤處理;下週要做完整的整合測試,也確認前後端能搭配運作,並用監控與快速還原先前版本的機制降低風險。