2019年,我開始收集各種關於我生活的數據。過去三年來,我每天追蹤超過100種不同的數據類型,範圍涵蓋健身與營養、社交生活、電腦使用以及天氣等。
這個專案的目標是回答關於我生活的各種問題。
自專案開始以來,我已收集約38萬筆數據,主要來源包括多種生活面向。
在開始收集數據後,我希望能將所學以視覺化方式呈現,因此建立了這個網站。最初域名whereisFelix.today(現改名為howisFelix.today)是朋友問我何時回紐約或舊金山時的玩笑回應,我會指向這個網站而非直接給出行程。如今,這個網站不僅顯示我的位置,更是我的生活全貌。
我挑選了48張圖表公開展示。為了隱私與避免資料外洩,這些圖表皆為特定日期的快照。
部分圖表使用第三方服務或應用製作,但大多數是我用plotly.js自製的視覺化程式碼生成。
以下是過去十年FxLifeSheet中數據條目的視覺化,以及數據來源。
當我心情標記為「快樂」與「興奮」的日子,生活中其他因素也會受到影響。
過去七年所有航班紀錄,透過Foursquare Swarm追蹤,並由JetLovers分析。
受到WaitButWhy的《Your Life in Weeks》啟發,我用Google Sheets視覺化我生命中的每一週,並註記當時所在城市/國家及重要事件。
每日平均步數由iPhone的Apple Health應用測量。由於智慧手錶在過去八年有變化,我決定不使用手錶數據。
這張圖清楚顯示我的體重與睡眠時靜息心率的關聯。靜息心率由Withings ScanWatch在睡眠時測量,代表心臟在靜止狀態下的負荷,數值越低越好。
我每天回答自己感覺健康的程度。圖中黃色代表稍感不適,紅色表示生病需在家休息,綠色則是充滿活力與健康。
喝超過四杯酒(代表聚會)的日子,生活中其他因素也會受到影響。
我的FxLifeSheet機器人每天四次詢問我當下的感受。
過去七年所有Foursquare Swarm打卡點在地圖上的視覺化,包括實際行程(飛行、駕車等)。
每次在特定城市的Foursquare Swarm打卡(如咖啡館、餐廳、機場、健身房)都被記錄為一筆資料。
每個城市的打卡次數按年份分組。
每個類別的打卡數量也被追蹤並累計多年。
過去十年每季的Foursquare Swarm打卡數量。2015年前我並未嚴肅使用Swarm,2015年第三季搬到舊金山後開始養成每訪問一個興趣點就打卡的習慣。
只顯示我多次打卡的區域地圖。
每年因封鎖措施而無法外出(餐廳、酒吧及非必要商店關閉)的天數。
COVID封鎖期間對我生活的影響,我將餐廳、健身房及非必要商店關閉的日子視為封鎖日。
每日酒精飲料攝取量,無數據日以白色顯示。
每根柱狀圖代表一個月,顯示該日酒精飲料數量,5代表5杯或以上。
每個綠色方塊代表一次健身房重量訓練,我盡量在旅行時購買日票進行訓練。
有固定作息(非旅行週)時,我會追蹤大部分餐點。秤重食物前我會先估計重量,藉此提升份量估算能力。
我去健身房的天數百分比。
我遵循規律的健美訓練計畫,三天分部訓練,並有增肌與減脂季節。
歷年體重變化,清楚顯示增肌與減脂階段。此圖只呈現近五年數據,近三年體重追蹤更頻繁。
我通常採取緩慢增肌與減脂策略,體重變化控制在合理速度,並追蹤飲食。
步行超過15,000步的日子(過去三年平均每日約9,200步)。
睡眠時間超過8.5小時的日子,生活中其他因素也會受到影響。
我在維也納家中使用Awair Element空氣品質監測器,覆蓋多個房間多日。
使用RescueTime追蹤電腦使用時間及活動類別。
每天回答「你覺得需要更多社交嗎?」問題,答案從「不需要」(5,淺綠)到「感到孤立」(0,深綠)。
夏季(6月21日至9月23日)對我生活的影響。
冬季(12月21日至3月20日)對我生活的影響。
過去四年我在各國停留天數百分比。
2017年底至2020年初,我以數位遊牧族身分生活,無固定住址,住過多個Airbnb或朋友短期租屋。
每月感冒症狀天數(深綠色[1]表示有症狀),症狀包括流鼻水、頭暈或輕微耳痛。
週末自然工作時間較少,外出、社交及拜訪家人時間較多。
根據當日所在位置(由Swarm打卡判定)的歷史天氣資料,無數據日以白色顯示。
過去七年所有航班的輻射曝露及二氧化碳排放量。
我發現每當在鄉下父母家童年房間過夜時,感覺更為精神飽滿。
Spotify追蹤所有互動,包括每首聽過的歌曲,以及是否完整播放或跳過。
自從建立instapipe.net後,我將所有Instagram限時動態存入自有資料庫。藍色區域顯示每月平均發佈數,綠色為季度平均,紫色為年度平均。
最高溫超過26攝氏度(78.8華氏度)日子,生活中其他因素也會受到影響。
GitHub開源貢獻視覺化,使用GitHub自帶的貢獻圖,僅計算對開源倉庫的程式碼提交。
每兩週追蹤一次投資與現金狀況,幫助我有效重新平衡投資組合,同時降低交易費用。
受Reddit理財社群啟發,我製作年度資金流動圖,清楚呈現收入、支出與儲蓄。以下圖表非我本人資料,僅為示例。
此專案為我個人量身打造,程式碼100%開源於KrauseFx/FxLifeSheet。專案包含三個部分:
一個基於時間戳的鍵值資料庫,使用Postgres,方便即時新增或刪除問題。
每筆資料包含時間戳、鍵與值。
專案初期我決定不直接將資料關聯至特定日期,因為旅行與時區問題複雜,目標是偵測趨勢。後來發現趨勢偵測只是數據應用的一部分,因此我寫了腳本將每筆資料正確對應日期。
我透過Telegram機器人每天多次手動回答問題,涵蓋健身、健康(如營養、運動、睡眠)及生活狀況(如心情、社交時間)。Telegram API的彈性讓我能自訂鍵盤與預設回覆。
此外,我可填寫特定日期區間的數值,如封鎖期間、增肌或減脂季節。
嘗試過多種視覺化工具後,我最終使用Ruby與JavaScript結合Plotly自製資料分析層。完整原始碼可見於KrauseFx/FxLifeSheet - visual_playground。
我曾發布多個iOS隱私專案。iOS錄音時顯示的綠色/橘色指示燈,就是我開發的!那為何要做這個專案?
當然可以自行建立類似系統,但FxLifeSheet設置較為複雜,需要工程技能與時間。部分功能與我個人生活相關,需修改程式碼。專案採MIT開源授權,歡迎自由使用與修改,但我不打算將其商業化或提供GitHub支援。
現實來說,若想開始量化自我,建議使用現成服務,並注意以下要點。
我一直對追蹤自我數據並視覺化充滿興趣。雖無法確切說明原因,但從小就喜歡問自己「我一生走了多少步?」、「我右轉比左轉多嗎?」等問題。
看過許多r/QuantifiedSelf相關文章,我喜歡視覺化效果,但不滿意多數方案是資料孤島(如獨立iOS應用、Gyroscope等),無法完全掌控數據與呈現方式。由於資料跨越多年,我不願依賴可能倒閉的初創公司或服務。此外,每人對數據視覺化與分析需求不同。
Apple本有機會透過Apple Health改善現況,但他們在API與Health App的實作上完全失敗。
我低估了持續追蹤天數的重要性:若想查詢在某城市走了多少步,會發現該城市的追蹤天數很少。再依季節或氣溫切割數據,因寒冷天氣自然少走路,最終有效天數非常有限。
總結我投入大量時間建立、擴展與分析此專案,主要結論是自行打造解決方案不划算。三年前開始時,我期待發現更多驚喜與有趣事實。雖然確實有些發現,且瀏覽這些圖表很有趣,但回頭看並不值得我投入數百小時。
我可能會繼續追蹤心情及少數關鍵指標,但會大幅減少投入時間。
我很高興當初建立了這個專案,讓我對生活有更深的認知。也很興奮能打造這個網站,向大眾展示部分成果。
2025年更新:我已停止收集數據與開發,但會維持此頁面運作。
我如何旅行?我以行李箱為家。
有想法或建議嗎?我很樂意聽取!