2 min read

CHECKIN

CHECKIN

한 달에 한 번 개발자들이 모여 근황을 나누는 회고 모임을 운영하면서 만든 웹앱입니다. 모임에 필요한 것들을 한곳에 모았습니다.

만든 이유

회고 글이 노션, 티스토리, 개인 블로그로 흩어져 있어 모임 전에 링크를 찾아 하나씩 들어가야 했습니다. 일정 조율은 채팅으로 하다 보니 누가 언제 되는지가 대화에 묻혔습니다.

글은 한 화면에서 이어 읽고, 일정은 앱 안에서 정하도록 옮겼습니다.

주요 기능

  • 회고 글 자동 파싱 — 링크만 등록하면 본문을 마크다운으로 변환해 스냅샷으로 저장합니다. 노션은 비공식 API(notion-client), 일반 블로그는 HTML을 파싱해 Turndown으로 변환합니다. 원본이 사라지거나 비공개 되어도 읽을 수 있습니다.
  • 인앱 리더 뷰 — 저장한 마크다운을 앱 안에서 바로 읽습니다. 월별·작성자별 필터를 붙였습니다.
  • 일정 투표 — 캘린더에서 가능한 날짜와 시간대를 고르면 집계됩니다. 평일은 날짜 단위, 주말은 날짜×시간 단위로 따로 집계해 실제 조율에 쓸 수 있는 해상도를 맞췄습니다.
  • 반응·댓글 — 글과 댓글에 반응을 남기고, 목록에서 참여 신호를 확인합니다.
  • 회고 다이제스트 레터 — 그달의 회고와 댓글을 모아 메일로 보내는 절차를 스크립트로 자동화했습니다.
  • MCP 서버 — Claude Code나 Claude 데스크탑에서 회고 데이터를 자연어로 조회할 수 있는 MCP 서버를 함께 만들었습니다.

초대된 멤버만 가입할 수 있는 앱이라, 화이트리스트 테이블로 접근을 제어합니다.

기술 스택

  • React 19 + Vite + TypeScript, Tailwind CSS v4
  • Supabase — PostgreSQL, Google OAuth, Edge Functions(Deno)
  • Vercel 배포
  • release-please로 Conventional Commits 기반 버저닝·체인지로그·릴리즈를 자동화했습니다.