[
  {
    "title": "BREAST MRI CLASSIFICATION",
    "subtitle": "碩士研究：2D 乳房 MRI 良性／惡性／正常三分類",
    "category": "AI & ML",
    "year": "2026",
    "accent": "#00ff9d",
    "tags": ["Python", "PyTorch", "Medical Imaging", "Small-sample Learning"],
    "description": "我的碩士研究。使用臨床的 2D 乳房 MRI 影像，訓練深度學習模型區分良性、惡性與正常三類。研究重點是在資料量有限的情況下，讓模型仍能穩定學到有判別力的特徵。",
    "challenge": "醫療影像資料少、類別不平衡，又無法隨意擴充；目前主要在處理如何避免過擬合，並做出可信的評估。研究進行中，希望未來能整理成期刊論文。",
    "metrics": [
      { "label": "Status", "value": "In progress" },
      { "label": "Type", "value": "Master's thesis" },
      { "label": "Classes", "value": "3" }
    ],
    "liveUrl": "",
    "githubUrl": ""
  },
  {
    "title": "SCHOLARLY",
    "subtitle": "為電子紙 Android 閱讀器打造的論文 PDF 閱讀 App",
    "category": "APPS",
    "year": "2026",
    "accent": "#00f0ff",
    "tags": ["Kotlin", "Android", "E-ink", "PDF Reflow", "OCR"],
    "description": "在 6 吋、7 吋的小型電子紙閱讀器上看論文 PDF 幾乎是折磨。Scholarly 用自己寫的 reflow 引擎，把雙欄論文重新排版成適合小螢幕的單欄文字，表格保持完整、內容跨頁接續；長按文字就能翻譯，點引用編號會彈出對應的參考文獻。",
    "challenge": "電子紙刷新慢、殘影明顯，所以拿掉了所有視窗動畫與捲動，改成整頁翻頁，並支援 Onyx 裝置的快速刷新。長按翻譯直接從 PDF 讀出文字，讀不到時（例如圖片裡的字）才改用 OCR，數學公式則略過不翻。",
    "metrics": [
      { "label": "Status", "value": "In progress" },
      { "label": "Platform", "value": "Android E-ink" },
      { "label": "Screens", "value": "6\"–7\"+" }
    ],
    "liveUrl": "",
    "githubUrl": ""
  },
  {
    "title": "MATFLEX",
    "subtitle": "像 ESPHome 一樣，用 YAML 做出 Matter over Thread 裝置",
    "category": "IOT",
    "year": "2026",
    "accent": "#ffb703",
    "tags": ["ESP32-C6", "ESP-IDF", "Matter", "Thread", "Python CLI"],
    "description": "現在想自己做一個 Matter over Thread 裝置，幾乎都得從頭寫 C++ 韌體。MatFlex 讓你用一份 YAML 或圖形介面描述感測器與開關，自動產生 ESP-IDF 韌體並在自己的電腦上編譯、燒錄；掃描 QR code 就能加入 Apple Home、Google Home 或 Home Assistant。",
    "challenge": "語法參考 ESPHome 的使用體驗，但沒有使用任何 ESPHome 原始碼，是獨立實作。難點在於把簡單的 YAML 描述對應到 Matter 的資料模型，並產生能在 ESP32-C6 上穩定運作的韌體。",
    "metrics": [
      { "label": "Status", "value": "In progress" },
      { "label": "Target", "value": "ESP32-C6" },
      { "label": "Works with", "value": "Apple · Google · HA" }
    ],
    "liveUrl": "",
    "githubUrl": ""
  },
  {
    "title": "3D MOVIES ON A PC MONITOR",
    "subtitle": "讓 120Hz 以上的電腦螢幕也能用 DLP-Link 眼鏡看 3D 電影",
    "category": "HARDWARE",
    "year": "2026",
    "accent": "#ff0055",
    "tags": ["C++", "Raspberry Pi Pico 2", "PIO", "Direct3D 11", "Qt", "FFmpeg"],
    "description": "DLP-Link 主動快門眼鏡原本只能搭配 DLP 投影機。這個專案用 Raspberry Pi Pico 2 加上一顆紅色 LED，在正確的時機發出 DLP-Link 同步脈衝，再搭配自己寫的 Windows 播放器，在 120Hz 以上的螢幕上左右眼交替顯示，讓沒有投影機的人也能看 3D 電影。",
    "challenge": "時間必須準到微秒：播放器回報每一次螢幕刷新，韌體用時鐘同步與軟體 PLL 預測下一次刷新，再用硬體計時器與 PIO 產生脈衝；另外用光感測器量測螢幕延遲並自動校正。韌體與播放器大部分功能已完成，但還沒有用實機眼鏡完整測試。",
    "metrics": [
      { "label": "Status", "value": "Prototype" },
      { "label": "Refresh", "value": "120 Hz+" },
      { "label": "Glasses test", "value": "Pending" }
    ],
    "liveUrl": "",
    "githubUrl": ""
  },
  {
    "title": "NOCT SMART ALARM",
    "subtitle": "要等你真的下床才會停的毫米波雷達鬧鐘＋智慧家庭面板",
    "category": "HARDWARE",
    "year": "2026",
    "accent": "#b026ff",
    "tags": ["ESP32-P4", "60 GHz mmWave", "LVGL", "Home Assistant", "Matter"],
    "description": "床頭鬧鐘結合 60GHz 毫米波雷達：雷達偵測人是否還在床上，鬧鐘會一直響到你真的下床為止；同時記錄睡眠狀態，並能在設定的喚醒時段內挑淺眠的時刻叫醒你。4 吋圓形觸控螢幕同時是 Home Assistant 與 Matter 智慧家庭的控制面板。",
    "challenge": "以 ESP32-P4 為核心，搭配負責 Wi-Fi／藍牙的 ESP32-C5、720×720 圓形 MIPI 螢幕與 LVGL 介面，外殼用 Fusion 360 設計。目前正在實機上逐一把螢幕、雷達與音訊點亮。",
    "metrics": [
      { "label": "Status", "value": "In progress" },
      { "label": "Sensor", "value": "60 GHz radar" },
      { "label": "Display", "value": "4\" round" }
    ],
    "liveUrl": "",
    "githubUrl": ""
  }
]
