技能
程式語言: Python, TypeScript/JavaScript, C++, Java, Assembly, Verilog
前端開發: React, Next.js, Tailwind, Electron
後端開發: FastAPI, SQLAlchemy, PostgreSQL, Redis, asyncio
AI / ML 部署: YOLOv8, TensorRT, ONNX, Triton, TensorFlow, OpenCV, MediaPipe
DevOps / 基礎設施: Docker, Prometheus, Grafana, Oracle Cloud ARM, Caddy, GitHub Actions, Cloudflare
精選專案
AI-Deployment-PipelinePython · FastAPI · asyncio · React · Ant Design
為 YOLOv8 系列模型打造的端到端部署平台:自動化 PT→ONNX→TensorRT 優化、多批次多精度效能評測,並以 Triton 推論服務與 Prometheus/Grafana 即時監控串起完整生命週期。
- 設計清晰分層的服務架構:FastAPI 非同步後端(轉換/推論/評測/Triton 各自獨立 service 與 router)+ React/Ant Design 前端 + NVIDIA 推論堆疊,職責邊界明確,易於擴充與除錯。
- 自動化模型優化管線:以 ultralytics 與 trtexec 完成 PT→ONNX→TensorRT 轉換,並對批次大小 1–32 × FP32/FP16 組合各做 100 次重複推論,同時量測 mAP50/mAP50-95 準確度與延遲、FPS、GPU 使用率、VRAM,並輸出平均值與標準差以評估穩定性。
lolhelperNext.js · React · TypeScript · Tailwind CSS · FastAPI
OP.GG 風格的英雄聯盟 Arena / Mayhem 統計平台,自建 Riot API 爬蟲與 Wilson 信心區間排行引擎。
- 自寫雙層滑動視窗 token bucket 速率限制器,同時管理 App 層(20/s + 100/120s)與 per-method × per-region 兩種 Riot 限速,BFS 爬蟲跨 4 個 region cluster 並行,單一 personal key 可達約 5 萬場/日。
- 以 Wilson 95% 信心區間下界作為排行指標,搭配百分位分級(S/A/B/C/D),解決『5/5=100% 勝率灌爆 800/1000=80%』的小樣本問題;設計取捨記錄於 ADR(對比 Bayesian shrinkage、min-sample 門檻等替代方案)。
Soulshard-HunterJavaScript · Node.js · Fastify · PostgreSQL · Docker
用原生 HTML5 Canvas、零依賴零建置打造的像素風 roguelike 生存遊戲,美術 100% 程式即時生成,並可選配雲端帳號與 1~3 人即時連線合作。
- 從零自製遊戲引擎:120 Hz 固定步主迴圈降低輸入延遲、自寫相機與世界↔螢幕座標轉換、純程式繪製的像素 sprite 系統(rasterise 後快取),全程零外部圖片素材、零前端框架、零建置流程。
- 伺服器權威排行榜:後端依 kills/stage/time/difficulty/reaper 重算分數並忽略客戶端宣稱值,搭配逐欄位上限與「依存活時間推算的合理性閘門」反作弊(如擊殺數受時間上限約束、無盡模式不可能觸發破關或死神),從源頭杜絕分數灌水。
Smart-Pedestrian-Navigation-via-Scene-Analysis-and-Traffic-Light-DetectionPython · TensorFlow 1.x · FC-DenseNet103 · OpenCV · MediaPipe
整合街景語意分割、手勢辨識與手機導航的輔助駕駛專題,在單一即時管線中判斷可行駛區域並做語音提示。
- 以 FC-DenseNet103 + InceptionV4 前端在 TensorFlow 1.x 上訓練街景語意分割,並採 CamVid 與自製補充資料集 1:1 混合,提升對在地街景的泛化能力;附帶資料集 label 顏色轉換工具讓兩套資料的標註對齊。
- 在分割結果上以 BFS 連通域分析計算路面區塊的形心與面積,判斷使用者是否站在可行駛區域,並把距離、轉向角與導引箭頭即時疊加回原畫面,而不是只輸出一張遮罩。
DiscordGuildKeeperPython · discord.py · FastAPI · SQLAlchemy · asyncio
規格驅動開發的私人公會 Discord 管家 Bot,以 milestone 漸進交付動畫/票券訂閱、Gemini 問答與頻道摘要,部署於 Oracle Cloud ARM 免費資源。
- 規格驅動開發:撰寫一份 v2.0 權威工程規格書,涵蓋系統架構、資料模型、技術選型理由、milestone 順序與每階段 Definition of Done,並明列反模式(如禁止 mock 冒充真實 API 通過、production image 必須 arm64),作為實作的單一真實來源。
- 嚴謹的應用生命週期:main.py 以明確的啟動/關閉順序協調 FastAPI(uvicorn 作為 asyncio task)、Discord client、DB engine 與 Redis,自行接管 SIGINT/SIGTERM,並在 DISCORD_TOKEN 缺席時退化為 API-only 模式讓健康檢查持續運作。
discord-auto-botPython · Playwright · asyncio · SQLite · cryptography (Fernet)
用 Playwright 驅動瀏覽器自動執行 Discord 斜線指令,內建 Kelly 投注、股票訊號、Rich 終端與零依賴 Web 儀表板雙介面的長時運行 asyncio 機器人。
- 以單一 asyncio event loop 並行 10 條排程 loop,所有送指令動作共用 command_lock 序列化,並用 channel_context 在獨立頻道間切換,避免不同指令的回應互相污染解析。
- 解決 Discord ephemeral 訊息累積不替換的解析難題:用 rfind + anchor 切片只解析「最新一則 ephemeral」,並自寫 DOM walk 把 emoji 的 <img> alt 接回 textContent,否則 slot 符號會全空。
cyclepactGodot 4 · C# · GDScript · Python · OpenAI API
用 Godot 4 打造的回合制收集養成 RPG,以資料驅動架構承載 500 隻精靈,並用 OpenAI Images API 自動化美術產線(開發中)。
- 資料驅動設計:500 隻精靈以 24 份地區 JSON(19 欄 schema)為權威來源,Godot autoload(MonsterDB)在執行時載入並建立 by_type/by_region/search 索引;圖鑑 Markdown 與遊戲內容皆由同一份 JSON 衍生,避免設定與程式各自漂移。
- 以 await 協程實作的回合制戰鬥狀態機:處理屬性相剋、Gen3+ 傷害與能力值公式、狀態異常/能力階級、自創「時間三系」機制(再行動、快照、無視防禦),以及盟約捕捉與換精靈;戰鬥中刻意隱藏屬性以提高難度。