Work 作品 About 關於 Creative 創作 Contact 聯絡

This case study is password protected.

Incorrect password.

All Work全部作品
Product Design Civic Tech PWA AI Collaboration AI Built ✦ In Progress 進行中

FLARE

A community safety PWA that delivers real-time ICE enforcement alerts to protect immigrant communities — built as a web app so no government can remove it from an app store. 一款社區安全漸進式網頁應用程式,即時傳遞移民執法警報,保護移民社群 — 以網頁形式建造,確保任何政府無法將其從應用程式商店下架。

Role角色
Solo Designer & Product Director 獨立設計師與產品總監
Built With建造工具
Cursor AI (Claude)
Timeline時間
Feb 16 – Mar 2026
Stack
Next.js · TypeScript · Tailwind v4 · Leaflet.js · PWA
Why This Exists 為什麼要做這個
"For many immigrant communities in the US, knowing where ICE is active isn't paranoia — it's survival. I wanted to build the tool I'd want my family to have." 「對於美國許多移民社群來說,了解移民執法局的活動位置不是偏執 — 而是生存之道。我想建造一個我希望自己家人能擁有的工具。」
📡

Real-time awareness 即時感知

Live map aggregating alerts from ICEout.org, StopICE.net, and community reports — filtered to the user's location. 即時地圖整合來自 ICEout.org、StopICE.net 及社群通報的警報 — 依用戶位置篩選。

🛡️

Know your rights, fast 快速了解你的權利

Emergency-first legal guide in 6 languages. When approached by ICE, the first screen shows exactly what to say and do. 6 種語言的緊急優先法律指南。被移民執法局接觸時,第一個畫面直接顯示該說什麼、該做什麼。

🔒

Privacy by design 設計即隱私

Anonymous mode is always on — no accounts, no user data stored. A PWA that can't be pulled from any app store. 匿名模式永遠開啟 — 無需帳號,不儲存用戶資料。無法被任何應用程式商店下架的網頁應用程式。

Status: In progress. 狀態:進行中。 Final QA and language polish underway. Next step: outreach to civil organizations — ICEout.org, Stop ICE network, immigrant rights coalitions — to explore data partnership and distribution. 最終品質檢測與語言潤飾進行中。下一步:聯繫公民組織 — ICEout.org、Stop ICE network、移民權利聯盟 — 探討資料夥伴關係與推廣合作。

The App 應用程式
FLARE Radar map view with ICE activity alerts
Radar — live map 雷達 — 即時地圖
FLARE news feed with live ICE alerts
Feed — news & alerts 動態 — 新聞與警報
FLARE settings with dark mode and 6 languages
Settings — 6 languages 設定 — 6 種語言
FLARE Seattle view with Safe status
Seattle — safe status 西雅圖 — 安全狀態
How It Was Built 建造過程

FLARE was built entirely by one designer — no engineers. Using Cursor AI (powered by Claude), I directed every technical decision through natural-language prompts, over 22+ AI sessions spanning 3 weeks. I had the product vision; Cursor had the code. FLARE 完全由一位設計師建造 — 沒有工程師。透過 Cursor AI(由 Claude 驅動),我在 3 週內透過超過 22 個 AI 工作階段,以自然語言指引每一個技術決策。我有產品願景;Cursor 負責程式碼。

01
Bootstrap & Vision 啟動與願景
Feb 16–18

Initial Next.js scaffolding, first components, SSR fix for react-leaflet ("window is not defined"). Defined the 9-point product vision: alert levels, multi-language, PWA-first, government-proof. 初始 Next.js 架構搭建、第一批元件、修復 react-leaflet 的 SSR 問題(「window is not defined」)。定義 9 點產品願景:警報等級、多語言、PWA 優先、防政府干預。

02
Major Redesign 大型重設計
Feb 19

Full UI overhaul in one day. Defined the "Tactical HUD" design language: 5-level alert system, 4-tab nav → 3-tab nav, dark/light modes, React Context state management. Created a full HTML prototype with 4 screens and tab switching. 一天完成全面 UI 改版。定義「戰術抬頭顯示器」設計語言:5 級警報系統、4 個頁籤 → 3 個頁籤、深/淺色模式、React Context 狀態管理。建立含 4 個畫面與頁籤切換的完整 HTML 原型。

03–04
UX Refinement & Privacy Audit UX 精煉與隱私審查
Feb 19–20

13 CSS tweaks synced from browser to code. Navigation restructured (Settings → hamburger menu). City-name search via Nominatim API. Privacy audit found git commit history contained real name — added .gitignore rules, deleted exposed history files. 13 個從瀏覽器同步至程式碼的 CSS 調整。導航結構重組(設定 → 漢堡選單)。透過 Nominatim API 支援城市名稱搜尋。隱私審查發現 git 提交紀錄包含真實姓名 — 新增 .gitignore 規則,刪除已暴露的歷史檔案。

05–06
Core Features & Design System 核心功能與設計系統
Feb 20–24

Custom SVG map markers colored by alert level. Push notifications via service worker. Know Your Rights redesigned for emergency use — English script always visible regardless of language setting. Fonts locked: DM Sans + IBM Plex Mono. Alert names changed from tactical jargon to plain language (Safe / Caution / Warning / Danger). 依警報等級上色的自訂 SVG 地圖標記。透過 service worker 推送通知。「了解你的權利」針對緊急情境重新設計 — 無論語言設定,英文腳本始終可見。字型確定:DM Sans + IBM Plex Mono。警報名稱從戰術術語改為日常語言(安全/注意/警告/危險)。

07–08
Map UX & Architecture Pivot 地圖 UX 與架構轉型
Feb 25–26

Fully collapsible BottomSheet with drag gestures. Map default: NYC → Seattle. v.2 pivot: FLARE became a read-only aggregator (removed Signal tab) pulling from external ICE alert systems — more trustworthy data, less infrastructure risk. 帶拖曳手勢的全可收合底部卡片。地圖預設:紐約 → 西雅圖。v.2 轉型:FLARE 成為唯讀聚合器(移除 Signal 頁籤),從外部移民執法警報系統拉取資料 — 更可信的數據,更低的基礎設施風險。

09–10
Live Data & Final Polish 即時資料與最終打磨
Feb 26–Mar 2026

Connected 3 live sources: ICEout.org (REST API), StopICE.net (XML scraping), Google News RSS. Zero mock data policy — if the API is down, the app shows an empty state. HTTPS for mobile development via mkcert. 6-language QA across all components. 連接 3 個即時資料來源:ICEout.org(REST API)、StopICE.net(XML 爬取)、Google News RSS。零假資料政策 — 若 API 中斷,應用程式顯示空狀態。透過 mkcert 為行動裝置開發設置 HTTPS。所有元件的 6 語言品質檢測。

Key Design Decisions 關鍵設計決策
"use the flag of Taiwan" 「使用台灣的旗子」
Traditional Chinese 🇹🇼, not Simplified 🇨🇳 — a precision call that matters to the community this app serves. 繁體中文 🇹🇼,而非簡體中文 🇨🇳 — 對這款應用程式服務的社群而言,這是一個至關重要的精準選擇。
"so government can't force it down" 「這樣政府就無法強制下架」
PWA over native app. No App Store, no Play Store, no single point of removal. Installable directly from the browser. 選擇 PWA 而非原生應用程式。不依賴 App Store 或 Play Store,消除單一下架風險。可直接從瀏覽器安裝。
"user might click in emergency" 「用戶可能在緊急情況下點擊」
Know Your Rights redesigned for trauma situations: first screen shows 5 bullets, then English script phrases for communicating with ICE agents even if English isn't your first language. 「了解你的權利」針對創傷情境重新設計:第一個畫面顯示 5 個要點,接著是與移民執法人員溝通的英文腳本,即使英文不是你的母語也能使用。
"never use fake information" 「永遠不要使用假資訊」
Zero mock data policy across the entire app. Every alert shown is from a live source. Empty state over false reassurance. 全應用程式零假資料政策。每一個顯示的警報都來自即時資料來源。寧可顯示空狀態,也不給予虛假安慰。
"把發送訊號功能先拿掉" 「把發送訊號功能先拿掉」
v.2 pivot to read-only aggregator. Removed user reporting — pulled only from verified external organizations. Simpler trust model, lower legal exposure. v.2 轉型為唯讀聚合器。移除用戶通報功能 — 僅從經驗證的外部組織拉取資料。更簡單的信任模型,更低的法律風險。
3 wks
Build time 建造時間
6
Languages supported 支援語言
3
Live data sources 即時資料來源
22+
AI sessions AI 工作階段
What's Next 接下來
Final QA & language polish 最終品質檢測與語言潤飾

Completing edge case testing across 6 languages and all alert states. 完成 6 種語言和所有警報狀態的邊界情況測試。

Civil organization outreach 聯繫公民組織

Reaching out to ICEout.org, Stop ICE network, and local immigrant rights coalitions for partnership and distribution support. 聯繫 ICEout.org、Stop ICE network 及當地移民權利聯盟,尋求夥伴關係與推廣支持。

User testing with community organizations 與社區組織進行用戶測試

Testing with communities most affected — to ensure the app works under stress, in multiple languages, on older devices. 與受影響最深的社群進行測試 — 確保應用程式在壓力下、多語言環境、舊設備上都能正常運作。