본문으로 건너뛰기
강홍재/ James
← Work
EMBA2026 · Solo Builder· Started(First Commit date)

Cohort Connect

대학원 동기 코호트 운영을 한 도메인에 묶은 웹앱 - 학교 도메인 OAuth로 동기만 들어오고, 수요조사·공지·익명 피드백·비상연락망·모임방을 한 곳에서.

  • Next.js 15
  • Supabase
  • Cloudflare Workers
스크린샷
  • 공개 랜딩 - 학교 계정 로그인 필요, 계정 설정에 약 2-3분 소요라는 안내를 미리 노출

  • 로그인 - @g.skku.edu 계정으로만 진입 가능, 콜백 처리 중 "연결 중..." 상태로 페이지가 멈춰 보이지 않게

  • 로그인 후 홈 - 공지사항·로그인 가이드·익명 피드백 진입을 한 화면에. 상단 nav로 서베이·비상연락망·모임방·익명 피드백·내 정보를 노출

  • 네트워킹 수요조사 - 기본 정보(이름·출생연도·소속 조·한 줄 소개·직무/산업) + 모임 선호 지역(칩) + 관심사를 한 폼에서 수집, "이전 응답 불러옴 / 수정 후 재제출 가능" 안내

  • 익명 피드백 - 운영·커뮤니케이션·비용/회비·네트워킹·기타 카테고리, "제출 내용은 로그인 정보와 연결되지 않음·IP·기기 정보 미수집·운영진은 피드백 내용만 확인" 약속을 화면에 명시

Problem

오프라인 모임에서 동기들이 만나도 "무슨 일을 하시는지"부터 매번 다시 물어보고, 운영진은 그 정보를 카톡·구글폼·엑셀로 따로 모았다 흩었다 하면서 시간을 쓴다. 모임이 진행될수록 "같은 정보를 다시 모으는" 비용이 쌓이는데, 정작 그 정보로 만들 수 있는 모임 단위(소그룹·관심 영역)는 잘 보이지 않는다.

Context

SKKU EMBA 119기 동기 그룹 대상 내부 사용(운영진 본인 포함). 학기 초에 "누구와 무엇을 같이 하면 좋을지"를 한 번에 잡지 못하면 그 학기 내내 비효율로 간다는 학습에서 시작.

Users

같은 기수 안에서 "비슷한 관심사·직무·지역"으로 작은 모임을 찾고 싶은 원우, 그리고 모임 단위를 디자인해야 하는 운영진.

Hypothesis

학교 계정으로만 들어올 수 있는 한 도메인에 (1) 수요조사 (2) 공지·익명 피드백 (3) 비상연락망 (4) 모임방을 모아두면, 운영진이 카톡·구글폼·엑셀을 오가지 않아도 "누가 어디서 무엇에 관심 있는지"가 운영 가능한 형태로 정리된다.

What I did
  • @g.skku.edu 도메인 한정 Google OAuth - 동기만 들어올 수 있는 보안 경계
  • 네트워킹 수요조사 - 기본 정보·관심사·모임 선호 지역·직무/산업을 한 폼에서 수집, 이전 응답 불러와 수정 후 재제출 가능
  • 공지사항·로그인 가이드 - 로그인 후 첫 화면에 운영 정보와 사용 안내를 통합
  • 익명 피드백 - 운영·커뮤니케이션·비용/회비·네트워킹·기타 카테고리, 로그인 정보·IP·기기 정보와 완전 분리
  • 비상연락망·모임방·내 정보 - 동기들이 자기 정보를 직접 관리하는 영역
  • 운영자 화이트리스트(ADMIN_EMAILS) + Supabase RLS - DB 레벨에서 "운영진 vs 원우" 접근 권한 분리
  • Next.js 15 → Cloudflare Workers(OpenNext 어댑터) 배포 - 운영비를 학기 단위로 거의 0에 가깝게
Product decisions
  • @g.skku.edu 도메인 제한 OAuth - "이 사이트에 누가 들어왔는지"의 신뢰가 네트워킹 데이터 입력률을 결정한다
  • 익명 피드백 화면에 "로그인 정보와 연결되지 않음·IP·기기 정보 미수집·운영진은 피드백 내용만 확인" 세 약속을 명시 - 익명성이 실제로 작동한다는 확신이 있어야 첫 글이 들어온다
  • 권한 모델을 RLS로 DB까지 내려보냄 - 프런트엔드 실수가 곧 데이터 노출이 되지 않게 한 겹 더
  • 운영진도 동기 - 운영 화면을 따로 만들지 않고 원우 화면 위에 "관리" 액션을 얹어 한 도메인 안에서 같이 운영
  • 랜딩에 "계정 설정에 2-3분 소요" 명시 - 첫 진입의 마찰을 "고장"이 아니라 "예상된 절차"로 받아들이게
Metrics

SKKU EMBA 119기 내부 운영 중, 운영 도메인 skkuemba119.org. 사용자 수치는 미공개. 수요조사 응답 저장과 운영자 대시보드(집계·엑셀 다운로드)는 다음 마일스톤.

Result / Learning

코호트 운영을 "카톡·구글폼·엑셀로 분산"에서 "한 도메인으로 모음"으로 옮긴 첫 라운드. 다음 라운드에서 응답 저장과 운영자 대시보드가 완성되면 "동기 운영" 도구가 다른 학회·커뮤니티로 일반화 가능한지 판단.

Outlook

동기 그룹 내부 사용. 코호트 네트워킹 도구로 일반화 가능성은 보류.

QA 관점이 제품 판단에 기여한 부분

권한 모델을 "있는지"가 아니라 "잘못 노출되는 경우가 있는지"의 시점으로 검증. RLS 정책을 자동화 테스트로 회귀 방지하고, 익명 피드백처럼 "절대 추적되지 않아야 하는" 경로는 코드뿐 아니라 DB 스키마 분리까지 가서 약속이 흔들리지 않게.

Tech stack
  • Next.js 15
  • TypeScript
  • Tailwind
  • Supabase
  • Postgres
  • Supabase Auth
  • Supabase RLS
  • Cloudflare Workers
  • OpenNext
  • Wrangler