📝 한줄 요약
Pipeline 1(메모→옵시디언)에 이어, 오늘은 Google Calendar 연동까지 추가했다. 이제 메모에 일정을 써두기만 하면 단축키 하나로 옵시디언 저장과 캘린더 등록이 동시에 처리된다.
바쁘시면 이것만 읽어도 돼요:
Claude Code + 9개 인터뷰 질문 → Google Calendar API 연동까지 AI가 설계하고 구현
기존 Pipeline 1 코드 그대로 유지한 채 기능만 확장 — 덮어쓰거나 꼬이지 않음
Ollama 1번 호출로 MD 변환 + 일정 감지 동시 처리 (AI가 먼저 최적화 제안)
OAuth 같은 어려운 인증도 AI가 알아서 처리 — "credentials.json 있어요"만 답하면 됐음
파이프라인은 한 번에 다 만들려 하지 말고 1단계 검증 → 2단계 추가 방식이 맞다
워크플로가 완성된 느낌: 메모 → 옵시디언 → 구글 캘린더, 전부 단축키 하나
🎯 이런 분들께 도움돼요
통화나 미팅 후 메모는 하는데, 캘린더 옮기는 걸 자꾸 까먹어서 일정을 놓치는 분
자동화를 단계적으로 쌓아가고 싶은데 어디서부터 시작해야 할지 모르는 분
Google Calendar API 같은 외부 서비스 연동이 어렵게 느껴지는 비개발자
Pipeline 1 사례글을 읽고 "나도 2단계까지 해보고 싶다"고 생각한 분
😫 문제 상황 (Before)
통화가 끝나면 바로 메모장을 열어 적는다. "4월 15일 오후 3시, 병원 예약", "다음 주 금요일 팀 회의" — 이런 내용들이 메모 사이에 섞여 있다.
문제는 그 다음이다. 캘린더에 따로 옮겨야 하는데, 메모를 쓰고 나면 그 자체로 일단락된 느낌이 들어서 캘린더 등록은 나중으로 미룬다. 그리고 잊는다. 메모가 옵시디언에 저장되더라도 일정은 여전히 머릿속이나 메모 구석에 묻혀 있다.
Pipeline 1로 메모→옵시디언 저장이 자동화됐을 때 바로 이 생각이 들었다. "일정이 포함된 메모라면, 저장할 때 캘린더까지 한 번에 처리할 수 있지 않을까?"
🛠️ 사용한 도구
도구: Claude Code (CLI)
로컬 AI: Ollama
gpt-oss:20b— 메모 구조화 + 일정 감지 동시 처리연동 서비스: Google Calendar API (OAuth 2.0)
특이사항: 기존 Pipeline 1 코드(
notepad_to_obsidian.py) 위에 기능을 추가하는 방식
🔧 작업 과정
인터뷰 9개 — "credentials.json 있어요" 한 마디로 OAuth를 넘어가다
파이프라인 설계는 늘 인터뷰부터 시작된다. Claude Code가 질문을 하나씩 던진다.
캘린더는 어떤 서비스를 사용하고 계신가요?Google Calendar API 인증 설정이 되 어 있나요?
credentials.json 또는 서비스 계정 키가 있으신가요?솔직히 OAuth는 개발자들도 까다로워하는 부분이다. 그런데 AI가 "있어요/없어요" 단 하나만 물어봤다. "있어요"라고 답하고 파일 경로를 알려줬더니, 그 다음은 AI가 전부 처리했다. 인증 흐름 설계, 토큰 저장, 만료 시 자동 갱신 — 이런 것들을 내가 알 필요가 없었다.
9개 질문이 끝났을 때 요구사항이 완전히 정리돼 있었다.
일정 감지: AI가 판단해서, 시간 없으면 종일 일정
복수 일정: 첫 번째만 등록
등록 알림: 이벤트 제목 + 날짜 팝업
일정 없을 때: 조용히 MD 저장만
기존 코드를 건드리지 않고 기능만 추가하다
여기서 한 가지 걱정이 있었다. Pipeline 1이 잘 작동하고 있는데, 여기에 새 기능을 추가하다가 망가지면 어떡하지?
Claude Code는 기존 구조를 그대로 유지하면서 필요한 함수만 추가하는 방식으로 설계했다.
2단계 해보자. 1단계에 더해서 메모장 내용에 날짜, 일정, 일시 등이 있는 경우,
해당 내용을 캘린더에 간단하게 기입해주는 자동화를 구현해보고 싶어.AI가 한 것:
Google Calendar 관련 패키지를 먼저 설치 확인 후 없으면 자동 설치
기존 Ollama 프롬프트에 일정 감지 항목만 추가 — 호출 횟수는 그대로 1번 유지
parse_schedule(),get_calendar_service(),create_calendar_event()3개 함수 신규 추가handle()함수 마지막 부분에만 캘린더 로직 연결
Pipeline 1의 동작은 손대지 않았다. 일정이 없는 메모라면 기존과 완전히 똑같이 작동한다.
"AI가 먼저 최적화를 제안했다"
인상적이었던 순간이 있다. 일정 감지를 위해 Ollama를 따로 한 번 더 호출할 것 같았는데, AI가 먼저 이렇게 설계했다.
Ollama 호출 1번으로 MD 변환 + 일정 감지를 동시에 처리합니다. 속도 최적화를 위해 프롬프트에 일정 감지 항목을 포함시켰습니다.
내가 요청하지 않았는데 AI가 먼저 효율을 고려한 것이다. 메모가 길어질수록, 일정이 자주 포함될수록 이 차이는 더 커진다.
단계별로 쌓는 것이 맞다
이번 작업을 하면서 확신이 생긴 것이 있다. Pipeline 1을 먼저 완성하고 검증한 뒤 Pipeline 2를 추가한 것이 옳았다.
만약 처음부터 "메모→옵시디언+캘린더 동시 자동화"를 한 번에 만들려 했다면? 어디서 문제가 생겼는지 찾기 훨씬 어려웠을 것이다. 1단계가 작동한다는 확신이 있으니까 2단계에서 생기는 문제만 집중해서 볼 수 있다.
✅ 결과 (After)
Before vs After
항목
Before
After
메모 속 일정 처리
수동으로 캘린더 앱 열어서
따로 입력
단축키 하나로 자동 감지 + 등록
일정 누락
위험
높음 (옮기는 걸 자주 까먹음)
없음 (메모 저장과 동시에 처리)
외부 서비스
연동
직접 구현하려면 OAuth 공부
필요
AI에게 credentials 경로만 알려주면 끝
워크플로
완성도
메모→옵시디언만 자동화
메모→옵시디언→캘린더
전체 자동화
결과물
중국어가 표시된 창의 스크린샷
Ctrl+Shift+S입력 시:일정 포함 메모 → Obsidian MD 저장 + Google Calendar 이벤트 자동 생성
일정 없는 메모 → Obsidian MD 저장만 (기존과 동일)