핵심 요약
- 수면 장애를 겪는 한 개발자가 감각 문제로 스마트워치를 못 차자 온라인 활동 기록을 역추적해 수면 패턴을 시각화했습니다.
- 외출을 거의 안 하는 점을 이용해 디스코드, 트위터, AT프로토콜, 개인 서버 DB의 활동 공백을 수면 시간으로 간주해 데이터를 추출했습니다.
- 2021년부터 누적된 수십만 건의 SNS 타임스탬프를 Deno와 스크립트로 파싱해 정교한 수면 액토그램 그래프를 완성했습니다.
요약 스마트워치 없이 오직 자신의 온라인 활동 로그만을 역추적해 수면 패턴을 시각화한 한 해외 개발자의 독특한 프로젝트가 개발자 커뮤니티에서 소소하게 화제를 모았습니다.
글 작성자는 평소 수면 장애(수면위상증후군 등 비24시간 수면-각성 장애)를 앓고 있어 자신의 수면 패턴을 그래프로 그려보고 싶어 했습니다. 하지만 손목에 전해지는 감각적인 불편함 때문에 스마트워치나 웨어러블 밴드를 전혀 착용하지 못하는 체질이었습니다. 고민 끝에 작성자는 자신이 평소 외출을 거의 하지 않고 온라인에 상주한다는 점에 착안해, "내가 온라인에서 활동하지 않은 빈 시간(네거티브 스페이스)이 곧 잠자는 시간일 것"이라는 기발한 추론 방식을 도입했습니다.
데이터 수집을 위해 작성자는 Deno와 TypeScript 환경을 활용해 여러 플랫폼에 남겨진 개인 활동 기록을 긁어모았습니다. 가장 많은 데이터가 쌓여 있던 디스코드에서는 백업 zip 파일 속 `messages.json`에서 UTC 타임스탬프를 추출했고, 트위터(현 X)에서는 GDPR 데이터 아카이브 파일 내 JSONP 형태의 트윗 헤더를 파싱했습니다. 여기에 탈중앙화 소셜 네트워크인 AT Protocol(블루스카이 등)의 레포지토리 내 시간 기반 고유 키(TID)와, 직접 자체 호스팅 중인 아코마(Akkoma/마스토돈 호환) 인스턴스의 PostgreSQL 데이터베이스에서 생성 및 좋아요 활동 기록까지 전부 추출했습니다.
작성자는 이렇게 모은 타임스탬프 데이터를 기반으로 2021년 1월부터의 활동 공백을 시각화하는 액토그램(Actogram) SVG 그래프를 생성했습니다. 스마트 기기의 도움 없이도 '인터넷 중독자의 발자취'만으로 수면 사이클을 증명해 낸 괴짜 같은 집념이 네티즌들에게 유쾌한 반응을 얻고 있습니다.
Sponsored · 광고