AI.기반 캘린더 데이터 분석 시스템 구축 (구글 캘린더 - 구글 시트 - 루카 스튜디오 연동 feat. Apps Script)

🌱소개

창의성은 기존 요소를 새로운 방식으로 연결하는 능력이며, 이는 랜덤한 사고와 다양한 경험을 통해 촉진된다고 한다. 기록은 이러한 사고와 경험을 구조화하고 축적함으로써, 더 많은 연결의 기회를 만들어 문제 해결과 창의적 발상을 돕는단 생각이 들었다. 옵시디언으로 세컨드 브레인 구축을 위한 걸음마를 띄었고, 이번에는 Google Apps Script (GAS)를 활용해 Google 캘린더, Google 스프레드시트, Looker Studio를 연동한 "개인 일정 데이터 분석 및 시각화 시스템"을 구축하는 시도를 해보았다.

한국어 마케팅 깔때기의 다이어그램

  1. Google 캘린더 데이터 기록

    • 일정뿐만 아니라, 주요 일정의 '설명 추가'란에 해당 일정에 대한 소회 (느낌, 배움, 주요 내용)를 간단히 기록

    • 일정 분석 및 시각화를 위해 일관된 데이터 입력 포맷 유지

    • 카테고리 10개 설정 (운동, 배움, New (새로운 경험 시도), 독서, Meet-up 등) 및 각 카테고리별로 색상 코드 지정

      기록 형식 예

카테고리: [운동, 업무, 이동 등]  
내용: [상세 내용]  
감정: #행복 #만족 (해시태그 형식)  
키워드: #중요 #회의 #성장 등  
소회: [일정에 대한 생각이나 느낌]  

2. 구글 앱스 스크립트 활용한 연동, 자동화

  • Google Apps Script를 활용하여 일정 데이터를 Google 스프레드시트에 자동 저장

  • Google Calendar API 및 Sheets API 활성화

  • 일정 데이터 자동 저장을 위한 트리거 설정 (매일 실행)

  • Apps Script 프로젝트 생성 후 코드 적용

Google Apps Script를 사용하여 Google 캘린더의 일정 데이터를 Google 스프레드시트에 자동 저장하는 스크립트를 작성해줘.

✅ 스크립트 요구사항:
1. Google Calendar API 및 Google Sheets API를 활용할 것.
2. 특정 캘린더 ID(예: 'primary')에서 최근 30일 동안의 일정을 가져올 것.
3. 일정 데이터를 Google Sheets에 자동 저장할 것.
   - 시트명: "Calendar Data"
   - 컬럼: Date, Start Time, End Time, Title, Category, Description, Emotions, Tags, Calendar ID, Event ID, Color
4. 매일 새벽 3시에 자동 실행되도록 트리거 설정할 것.
5. 중복된 이벤트는 업데이트하고, 신규 이벤트는 자동 추가할 것.
6. Advanced Calendar API를 활용하여 캘린더 이벤트의 색상을 가져와 저장할 것.
7. Looker Studio에서 쉽게 분석할 수 있도록 데이터 포맷을 유지할 것.

📌 추가 기능:
- 일정 제목을 기반으로 자동 카테고리 분류 (예: "운동"이 포함되면 "운동" 카테고리)
- 일정 설명에서 해시태그(#)를 추출하여 "Tags" 컬럼에 저장
- 감정 태그(예: #행복, #스트레스)를 분석하여 "Emotions" 컬럼에 저장

📌 출력 형식:
1. Google Apps Script 코드 전체 제공
2. 코드 내부 주석 포함 (각 기능 설명)
3. 코드 실행 방법 및 트리거 설정 가이드 포함

3. 구글 시트 구조

  • 시트 이름: Calendar Data

  • 컬럼 구성: Date, Title, Category, Description, Emotions, Tags, Calendar ID, Event ID, Color

  • 일정이 추가될 때마다 자동으로 행 단위 입력

4. Looker Studio 기반 데이터 시각화

(아직 실제 생성은 못하고 claude를 활용해 시각화를 구상해본 상태임)

  • 카테고리별 시간 분배 (파이 차트, 바 차트)

  • 감정 트렌드 분석 (라인 차트)

  • 태그 클라우드 분석

  • 월별/주별 활동 패턴 히트맵

  • 카테고리 간 상관관계 매트릭스

검토/ 분석 가능한 항목

✅ "소요 시간 상위 3개 일정 유형" → 시간 투자 효율성 분석
✅ "가장 감정 변화가 큰 일정 유형" → 일정 유형별 감정 영향 분석
✅ "주간/월간 일정 증가율" → 일정 관리 습관 개선 여부 분석

*대시 보드에 포함된 내용은 가상 값으로 만들어봄

한국 웹 사이트의 대시 보드

결과와 배운 점

작업을 진행하면서 본래 목적을 벗어나 불필요한 복잡성이 추가되는 경향이 있었다. 어떤 프로젝트든 핵심 목적을 잊지 않고, 최대한 간편하고 직관적이며 보편적으로 활용 가능한 방법을 고민해야 한다.

ChatGPT와 Claude 모두 Google Apps Script 코드를 한 번에 완벽하게 제공하지 못했다. 코드를 다 읽고 이해하는 능력이 없는 나로서는, 지속적인 오류에 절망을 느끼기도 했지만... 에러 화면을 캡처하여 LLM에 피드백을 주고 step-by-step으로 인내심을 가지고 해결하는 방식 밖에 답이 없는 듯.

이번 프로젝트를 통해 일정 데이터를 단순한 기록이 아니라, 의미 있는 자산으로 바꾸는 과정을 실험해봤다. 단순히 스케줄을 정리하는 게 아니라, 시간 활용을 최적화하고 감정 패턴을 분석하면서 성장 전략까지 연결하는 방법을 탐색할 수 있으리라 생각된다.

✅ 시간 활용 패턴 분석을 통해 일정 최적화
✅ 주요 일정에서 감정 트렌드를 분석해 인사이트 도출
✅ 데이터 기반으로 일정 개선 방향을 정하고, 목표 달성을 체계적으로 설계할 수 있음

결론 및 앞으로의 계획

  • 일정 기록 방식을 더 체계화해서 데이터 활용도를 극대화할 필요가 있음

  • Looker Studio (또는 더 간편한 도구가 있다면 스위치도 가능) 시각화를 더 직관적으로 개선해서 행동 변화와 목표 달성에 실질적인 도움을 줄 수 있도록 만들 필요

  • 패턴 분석을 강화해서 시간 투자 대비 효과를 더 명확하게 측정하는 방향으로 발전

도움 받은 글 (옵션)

https://youtu.be/dod8UbOarJ4?si=8_PzgaTVmWmH9Kb7

https://youtu.be/JD9FqIwItCw?si=T7f0g54PAaFEar-y

https://youtu.be/ALsg9YxxDec?si=uvrGX8wL5kZIQ7E1

https://youtu.be/UcosBuIWaCo?si=8QyiyJTfRzwUUjWX

1
1개의 답글

👉 이 게시글도 읽어보세요