[{"data":1,"prerenderedAt":199},["ShallowReactive",2],{"projects-zh-tw":3},[4,132,164],{"id":5,"title":6,"body":7,"description":97,"detail":98,"extension":99,"highlights":100,"icon":104,"iconLight":105,"kind":106,"links":107,"meta":116,"navigation":98,"order":117,"path":118,"period":119,"role":120,"seo":121,"stack":122,"status":127,"stem":128,"summary":129,"tagline":130,"__hash__":131},"projects_zh_tw\u002Fprojects\u002Fwiser-locker.md","Wiser Locker",{"type":8,"value":9,"toc":88},"minimark",[10,14,18,22,45,48,51,54,74,77],[11,12,13],"h2",{"id":13},"要解決的問題",[15,16,17],"p",{},"私人照片與影片需要被保護，但之後也要找得到。同一張照片常常同時屬於好幾個主題——旅行、家人、朋友——資料夾階層卻只能選一個。多數「保險箱」類 App 解決了隱私，卻忽略了整理。",[11,19,21],{"id":20},"wiser-locker-能做什麼","Wiser Locker 能做什麼",[23,24,25,33,39],"ul",{},[26,27,28,32],"li",{},[29,30,31],"strong",{},"在手機端加密。"," 照片與影片加密後儲存在裝置內，以生物辨識解鎖。",[26,34,35,38],{},[29,36,37],{},"用標籤，不用資料夾。"," 每個項目可以加上任意數量的標籤，並在篩選器中組合使用。",[26,40,41,44],{},[29,42,43],{},"已儲存的篩選器。"," 把常用的組合存起來，一鍵開啟。",[11,46,47],{"id":47},"我的角色",[15,49,50],{},"Wiser Locker 由我獨立完成：產品企劃、需求、UI\u002FUX、標籤與篩選器的資料設計、加密與金鑰處理、實作、效能改善、Google Play 上架，以及上架後的持續改進。",[11,52,53],{"id":53},"設計上的取捨",[23,55,56,62,68],{},[26,57,58,61],{},[29,59,60],{},"建立在成熟標準上的安全性。"," 結合媒體加密、加密資料庫、生物辨識與安全金鑰儲存，使用既有的密碼學函式庫，而不是自行發明演算法。App 內限制截圖。",[26,63,64,67],{},[29,65,66],{},"加密媒體也能流暢瀏覽。"," 把耗時處理移出 UI 主執行緒，搭配縮圖、分頁與延遲載入，讓大量媒體也能順暢操作。",[26,69,70,73],{},[29,71,72],{},"支撐彈性整理的資料模型。"," 標籤與已儲存篩選器存放在加密的 SQLite 資料庫中，任何項目都能以任意主題組合呈現。",[11,75,76],{"id":76},"狀態",[15,78,79,80,87],{},"Android 版已上架 Google Play，並持續維護。Wiser Locker 是獨立產品；",[81,82,86],"a",{"href":83,"rel":84},"https:\u002F\u002Fwww.forgerwise.com\u002F",[85],"nofollow","Forger Wise"," 是我個人開發 App 所使用的品牌名稱。",{"title":89,"searchDepth":90,"depth":90,"links":91},"",2,[92,93,94,95,96],{"id":13,"depth":90,"text":13},{"id":20,"depth":90,"text":21},{"id":47,"depth":90,"text":47},{"id":53,"depth":90,"text":53},{"id":76,"depth":90,"text":76},"Wiser Locker 是一款在手機端加密私人照片與影片，並以多重標籤與已儲存篩選器整理的 Android App，由王映傑（Ying Chieh Wang）獨立開發並上架 Google Play。",true,"md",[101,102,103],"媒體在手機端加密，並以生物辨識與安全金鑰儲存保護存取。","以多重標籤與已儲存篩選器取代單一資料夾階層，一張照片可以同時屬於「旅行」、「家人」與「朋友」。","以 Forger Wise 品牌上架 Google Play，並持續改善。","\u002Fimages\u002Fapps\u002Fwiser-locker\u002Fmark-light.png","\u002Fimages\u002Fapps\u002Fwiser-locker\u002Fmark-dark.png","產品・Android",[108,111,114],{"label":109,"href":110},"Google Play","wiserLockerPlay",{"label":112,"href":113},"wiserlocker.com","wiserLockerSite",{"label":86,"href":115},"forgerwise",{},1,"\u002Fprojects\u002Fwiser-locker","2025 年 2 月 – 現在","獨立開發——企劃、設計、開發與上架",{"title":6,"description":97},[123,124,125,126],"Flutter","Dart","SQLCipher","Android","已上架 Google Play","projects\u002Fwiser-locker","給想安全保存私人媒體、又希望之後能輕鬆找到的人使用的 Android App。","在手機端加密私人照片與影片，用標籤而不是資料夾來整理。","G9rBjYfHFgfHEhL0u0faDTVbN_hG1OanYAWM6in6u60",{"id":133,"title":134,"body":135,"description":139,"detail":140,"extension":99,"highlights":141,"icon":145,"iconLight":146,"kind":106,"links":147,"meta":153,"navigation":98,"order":90,"path":154,"period":155,"role":156,"seo":157,"stack":158,"status":127,"stem":160,"summary":161,"tagline":162,"__hash__":163},"projects_zh_tw\u002Fprojects\u002Ffoodlist.md","FoodList",{"type":8,"value":136,"toc":137},[],{"title":89,"searchDepth":90,"depth":90,"links":138},[],"FoodList 是一款家庭食材管理 App，透過追蹤食材與有效期限來減少家中的食物浪費，以 Flutter 獨立開發並上架 Google Play。",false,[142,143,144],"問題：全球約 60% 的食物浪費發生在家庭（UNEP《Food Waste Index Report 2024》），常見原因之一是忘記家中有哪些食材、錯過有效期限。","解方：登錄食材後，以綠、黃、紅三色標示「還有餘裕」「盡快使用」「已過期」，一眼就知道該先用哪些。","到期前以背景通知提醒；資料存在裝置內，可完全離線使用；支援多國語言。","\u002Fimages\u002Fapps\u002Ffoodlist\u002Ficon.png",null,[148,150],{"label":109,"href":149},"foodListPlay",{"label":151,"href":152},"GitHub","foodListGithub",{},"\u002Fprojects\u002Ffoodlist","2023 年 7 月 – 現在","獨立開發——企劃、設計、實作、上架與維護",{"title":134,"description":139},[123,124,159,126],"Hive","projects\u002Ffoodlist","家中的食物常因為忘記還有哪些食材、何時到期而被浪費。FoodList 是幫助家庭同時管理這兩件事的食材管理 App。","掌握家中食材與期限，減少食物浪費。","srckvSTyXWpQdxCosCSJjvfodn29aryJ7BD88aKONWY",{"id":165,"title":166,"body":167,"description":171,"detail":140,"extension":99,"highlights":172,"icon":146,"iconLight":146,"kind":175,"links":176,"meta":183,"navigation":98,"order":184,"path":185,"period":186,"role":187,"seo":188,"stack":189,"status":194,"stem":195,"summary":196,"tagline":197,"__hash__":198},"projects_zh_tw\u002Fprojects\u002Fbattlesnake.md","Battlesnake AI",{"type":8,"value":168,"toc":169},[],{"title":89,"searchDepth":90,"depth":90,"links":170},[],"在大阪大學 PBL 課程中開發的 Battlesnake 對戰 AI——單人賽使用 A* 搜尋，對戰使用強化學習。",[173,174],"Solo：提出並以 Python 實作 A* 路徑搜尋策略，在安全優先與食物優先模式間切換——課內第 3 名。","Duel：最初的蒙地卡羅方法效果不佳，團隊改採強化學習。我參考既有的開源實作，負責以 self-play 訓練與評估 PPO／A2C 模型，並串接到遊戲伺服器——課內第 1 名。","課程專案・AI",[177,180],{"label":178,"href":179},"GitHub（Duel）","battlesnakeDuelGithub",{"label":181,"href":182},"GitHub（Solo）","battlesnakeSoloGithub",{},3,"\u002Fprojects\u002Fbattlesnake","2023 年 10 月 – 2024 年 2 月","主要實作（Solo）；模型訓練、評估與 API 整合（Duel）",{"title":166,"description":171},[190,191,192,193],"Python","PyTorch","強化學習","A*","課內對戰賽第 1 名","projects\u002Fbattlesnake","大阪大學 PBL 課程的團隊專案，透過官方 Battlesnake API 與同學的 AI 對戰。","單人賽使用 A* 搜尋，一對一對戰使用強化學習的遊戲 AI。","Olke9eRhsZTygD6EaeGyqOUvoxIdySDl-WppP5AVyM4",1789832904068]