내부 검토용 · 외부 공유 금지

널리 AI CRM 재구축 설계서

사람 한 명을 중심으로 상담·수강·평가·오디션·영상·SNS가 모두 붙는 구조

이 문서가 그대로 버블클라우드에 전달할 데이터 명세서의 원본이 됩니다.

작성 2026-09-09 대상 NULLY 내부 상태 설계 검토 · 개발 미착수 기준 DB Supabase 운영본 실측
SECTION 01

한 장 요약

지금 널리는 사람 한 명의 정보가 여러 곳에 흩어져 있습니다.

구글 스프레드시트
21개 탭
상담·수강생·관심자·심사·수상자 영상
연결된 다른 시트
8개 문서
워크숍·티켓·체험수업·교육과정
운영 데이터베이스
20개 표
오디션·평가·의견서·열람 기록
그 밖
노션 · 드라이브
콘텐츠 캘린더 · 영상 원본

같은 사람이 각 표에 다른 이름 표기로 들어가 있어 연결이 끊깁니다.

그래서 이번 작업의 본질은 화면을 늘리는 것이 아닙니다. 사람을 하나의 ID로 묶고, 나머지 기록을 전부 그 ID에 매다는 것입니다.

확정된 방향

데이터는 이어받습니다. 사람 324명, 오디션 심사 508건, 평가의견서 172건, 열람·클릭 기록이 이미 쌓여 있습니다. 이것은 TIPS 과제의 씨앗 데이터이자 버블클라우드에 넘길 자산 자체입니다.

표 구조는 확장합니다. 사람 정보를 담은 persons 표를 Talent ID 마스터로 올리고, 그 위에 수강·영상·SNS 기록을 얹습니다.

화면은 처음부터 다시 짭니다. 현재 화면은 파일 하나에 2,070줄, 탭 8개가 들어 있습니다. 같은 이름표를 두 탭이 나눠 쓰다 생긴 사고가 이미 세 번 났고, 휴대폰에서는 화면이 통째로 깨집니다.

SECTION 02

설계 원칙 세 가지

원칙 1. 사람 정보는 한 곳에만 둔다

지금 같은 사람의 이름·전화·생년월일·틱톡·인스타가 persons, students, applicants 세 표에 각각 들어 있습니다.

2026년 8월에 「화면에는 주소가 맞게 보이는데 발송은 다른 주소로 나가는」 사고가 났습니다. 22건을 손으로 맞췄지만 원인 구조는 그대로 남아 있습니다.

이번에 정리합니다

사람 정보는 persons 한 곳에만 둡니다.

나머지 표는 그 사람을 가리키기만 하고, 이름과 연락처를 각자 복사해 갖지 않습니다.

화면을 새로 짜는 것보다 이 정리가 더 값어치 있습니다. 같은 사고가 반복될 구조를 없애는 일이기 때문입니다.

원칙 2. 숫자는 덮어쓰지 않고 쌓는다

팔로워 수를 매주 같은 칸에 덮어쓰면 오늘 숫자만 남습니다.

그러면 「이 학생이 널리에 온 뒤 얼마나 자랐는가」를 영원히 알 수 없습니다.

주차를 붙여 한 줄씩 쌓으면 성장 그래프가 저절로 나옵니다. TIPS 과제의 성과 추적 지표와도 직결되는 지점입니다.

원칙 3. 사람 이름은 골라 넣고, 적지 않는다

지금 운영 DB에 심사위원 이름이 Nam Kyung, 남경, NAMKYUNG, Kimi, 키미, KIMI 같은 식으로 17종 섞여 있습니다.

같은 사람인데 시스템은 다른 사람으로 셉니다. 베트남 이름은 성조 표기까지 갈려 더 심합니다.

영상 출연진, 수업 담당 강사, 심사위원은 모두 검색해서 고르는 방식으로 만듭니다. 손으로 적는 칸을 두지 않습니다.

SECTION 03

이미 있는 것과 새로 만들 것

운영 데이터베이스를 직접 열어 표 20개를 확인했습니다. 아래는 실측 결과입니다.

그대로 이어받는 것

계승persons사람 마스터 · 324명

Talent ID 마스터로 승격합니다.

반가운 발견이 있었습니다. 이 표에는 이미 틱톡·인스타·페이스북·잘로 칸이 있고, 보호자 이름·관계·연락처 칸까지 들어 있습니다.

새로 팔 필요 없이 칸 몇 개만 더하면 됩니다.

계승오디션 기록participations · evaluations · reports

회차 관리, 참가 기록, 심사 508건, 평가의견서 172건이 그대로 남습니다.

의견서 열람·클릭 기록도 유지합니다.

계승운영 표staff · consultations · budgets · audit_logs

직원 계정과 권한, 상담 기록, 예산, 조작 이력을 유지합니다.

상담 기록에는 시트에만 있던 항목 몇 가지를 더합니다.

손봄media_assets영상·사진 자산

표는 이미 있지만 지금 구조로는 부족합니다.

담당자와 진행 단계 칸이 없고, 성과 숫자가 한 칸에 뭉쳐 있어 주차별로 쌓을 수 없습니다.

아래 콘텐츠 표 세 개로 나눠 다시 세웁니다.

정리students · applicants사람 정보 중복 보유

표를 지우지는 않습니다. 지원서 원본과 메일 유입 기록이라는 고유한 맥락이 있습니다.

다만 이름·전화·생년월일처럼 사람을 설명하는 칸은 persons 한 곳으로 모으고, 여기서는 가리키기만 합니다.

새로 만드는 표

신규consents동의 기록

동의를 네 갈래로 나눠 각각 기록합니다. 참가·심사 / 한국 이전 / 마케팅 / 초상권입니다.

보호자 서명 여부, 서명한 문서 파일, 동의받은 시각, 동의서 판 번호를 함께 남깁니다.

새 법은 동의를 받았다는 사실을 사업자가 증명하게 하므로, 기록 자체가 방어 수단입니다.

신규classes · enrollments반 · 수강

반 정보와 수강 등록을 나눕니다.

수강에는 재원·휴원·퇴원 상태, 수강권 종류, 결제 금액, 납부일을 넣습니다.

할인율과 할인 사유 칸을 반드시 둡니다. 현장에서 50% 할인이 이미 나가고 있는데 어떤 기준이었는지 남는 곳이 없습니다.

신규lesson_notes수업 평가

지금 시트에서는 한 칸에 줄바꿈으로 평가를 계속 쌓고 계십니다.

이것을 한 번의 평가가 한 줄이 되게 쪼갭니다.

그래야 강사별 집계, 기간별 조회, 특정 학생의 성장 흐름이 나옵니다.

신규sns_accounts · sns_snapshots학생 SNS

계정 정보와 주차별 숫자를 나눕니다.

숫자는 주 1회 입력하며 팔로워·좋아요·게시물 수를 주차와 함께 쌓습니다.

같은 주에 두 번 넣으면 덮어쓰도록 잠급니다.

신규contents영상 제작

최승연 이사님 표의 칸을 그대로 옮깁니다.

영상 제목, 담당자, 플랫폼, 촬영일, 진행 단계, 완료 계획일, 실제 완료일, 업로드 날짜, 업로드 링크, 원본 보관 링크입니다.

아카데미와 오피셜은 표를 둘로 나누지 않고 채널 칸 하나로 구분합니다. 양식이 같은데 표가 둘이면 합계를 낼 때마다 두 번 일해야 합니다.

신규content_casts출연진 연결

영상 하나에 학생 여러 명이 붙고, 한 학생이 여러 영상에 나오는 관계를 담습니다.

이 표가 Talent ID와 영상을 잇는 유일한 고리입니다.

이름을 손으로 적지 않고 Talent ID를 골라 넣습니다.

신규content_metrics영상 성과

지금 시트에는 성과 칸이 하나도 없습니다. 업로드 링크까지만 있고 그 뒤가 비어 있습니다.

영상별 조회수·좋아요·댓글을 주차와 함께 쌓습니다.

이 표가 있어야 「널리 계정에서의 좋아요 수」가 나옵니다.

신규messages발신 기록

잘로·전화·메일로 누가 언제 무슨 얘기를 했는지 남깁니다.

자동 발송은 이번 범위가 아니며, 사람이 보낸 것을 기록만 합니다.

대시보드가 읽는 곳

이사님이 말씀하신 정렬 축은 모두 계산해서 나오는 값입니다.

등급, 팔로워 수, 좋아요 수, 널리 계정 좋아요 수, 수강 기간, 나이, 성별, 오디션 평가 점수입니다.

이 값들을 매번 여러 표를 뒤져 계산하면 화면이 느려지고, 계산식이 화면마다 달라집니다.

계산해 둔 자리를 하나 만들고 모든 화면이 그곳만 읽게 합니다.

널리 계정 좋아요는 아카데미와 오피셜을 합산합니다. 화면에서는 합계와 채널별을 함께 보여드려 어느 쪽으로든 보실 수 있게 합니다.

SECTION 04

화면 일곱 개

1. 대시보드임직원 전체

지금 몇 명의 Talent가 널리에서 활동 중인지 한눈에 봅니다.

등급·팔로워·좋아요·수강기간·나이·성별·오디션 점수로 정렬합니다.

이름이나 Talent ID 번호로 검색하고, 줄을 누르면 개별 페이지로 갑니다.

2. Talent ID 개별 페이지한 사람의 전부

프로필과 동의서 상태, 수강 이력, 수업 평가 흐름, 오디션 점수와 심사평이 한 곳에 모입니다.

SNS 팔로워 추이 그래프, 출연한 영상 목록, 널리 계정 기준 누적 좋아요가 함께 나옵니다.

잘로 바로 열기 버튼과 대화 기록 칸을 둡니다.

3. 등록·수정Talent ID 발급

이름·나이·생년월일·사진·SNS·이메일·연락처를 받습니다.

보호자 서명을 받은 동의서를 올리는 자리를 함께 둡니다.

만 16세 미만이면 보호자 동의 없이는 저장되지 않게 막습니다.

4. 수업 평가 입력선생님용 · 휴대폰 우선

학생을 검색해 누르고 오늘 수업 평가를 씁니다.

선생님은 수업 끝나고 그 자리에서 폰으로 넣습니다. 그래서 이 화면은 휴대폰 기준으로 먼저 만듭니다.

지난 평가가 아래에 시간 순으로 쌓여 보입니다.

5. 주간 지표 입력주 1회 · 전용 화면

학생 SNS 숫자와 널리 계정 영상 성과를 한 화면에서 한 번에 채웁니다.

개별 페이지를 한 명씩 열어 넣는 방식은 30명만 돼도 실무에서 무너집니다.

목록을 세로로 세우고 숫자 칸만 채워 저장합니다. 지난주 값과 증감을 옆에 붙여 오타를 바로 잡습니다.

6. 콘텐츠 아카이브제작 진행 관리

최승연 이사님 표를 그대로 옮긴 화면입니다.

진행 단계로 걸러 보고, 완료 계획일이 지난 것을 표시합니다.

출연진은 Talent ID를 검색해 붙입니다.

7. 오디션 심사 입력나중에

이사님 판단으로 순서를 뒤로 미룹니다.

화면은 따로 두되 데이터는 같은 곳에 쌓습니다. 심사 점수와 심사평이 Talent ID에 그대로 붙습니다.

착수 시 요건은 이미 정해져 있습니다. 점수는 버튼으로 고르고, 총점은 자동 합산하며, 참가번호는 명단에서 고르고, 누가 썼는지 반드시 남깁니다.

SECTION 05

개발 순서와 확인 방법

각 단계마다 무엇을 보고 됐다고 판단하는지를 함께 적었습니다. 이것이 없으면 「완료」라는 말이 서로 다른 뜻이 됩니다.

표 구조 확장과 시트 옮기기

새 표를 만들고 시트 네 벌을 옮깁니다. 상담리스트, 수강생, 수강 관심자, 영상 링크입니다.

확인 옮기기 전후 건수가 일치할 것. 같은 사람이 두 줄로 갈라지지 않았을 것. 옮기기 전 상태를 파일로 남겨둘 것.

Talent ID 등록·수정과 개별 페이지

사람을 넣고 고치고 볼 수 있게 합니다. 동의서 업로드를 함께 붙입니다.

확인 새 사람을 넣고 다시 불러와 값이 그대로일 것. 미성년자를 보호자 동의 없이 저장하면 막힐 것. 저장 실패 시 성공했다고 표시되지 않을 것.

선생님 수업 평가 입력

휴대폰 화면 기준으로 먼저 만듭니다.

확인 폭 390 화면에서 좌우로 밀리지 않을 것. 선생님 계정으로 실제 로그인해 저장까지 해볼 것.

주간 지표 입력 화면

학생 SNS와 콘텐츠 성과를 한 화면에서 넣습니다.

확인 같은 주에 두 번 넣어도 줄이 늘지 않고 갱신될 것. 지난주 대비 증감이 맞게 나올 것.

콘텐츠 아카이브

제작 진행표와 출연진 연결을 만듭니다.

확인 영상에 학생을 붙인 뒤, 그 학생 개별 페이지에 해당 영상이 나타날 것.

대시보드 정렬과 검색

여덟 가지 정렬 축과 검색을 붙입니다.

확인 각 정렬 축의 맨 위와 맨 아래 값을 직접 계산해 대조할 것. 화면이 뜨는 데 걸리는 시간을 잴 것.

오디션 심사 입력

다음 오디션 일정이 잡히면 착수합니다.

확인 현장 인터넷이 끊긴 상태에서 입력하고, 연결된 뒤 반영되는지 볼 것.

모든 단계에 공통으로 적용하는 것

화면을 바꾸면 데스크탑 1440과 휴대폰 390 두 가지로 실제 화면을 찍어 확인합니다.

저장 버튼은 서버가 몇 줄이 바뀌었는지 확인한 뒤에만 성공을 표시합니다. 8월에 0줄이 바뀌었는데 「저장 완료」가 뜬 사고가 있었습니다.

운영 화면에 올리기 전에 개발용 주소에서 먼저 확인합니다.

SECTION 06

개인정보에 관해 지키기로 한 것

베트남 개인정보보호법이 2026년 1월 1일부터 시행 중입니다. 법률 91/2025와 시행령 356/2025입니다.

동의를 네 갈래로 나눕니다

참가·심사, 한국 이전, 마케팅, 초상권입니다.

목적별로 따로 받아야 하고, 미리 체크해 두는 방식은 금지됩니다.

만 16세 미만은 보호자가 동의하고, 만 7세 이상 아이의 사진·영상 공개는 본인과 보호자 양쪽 동의가 필요합니다.

버블클라우드에 주는 범위

베트남에서 모은 개인정보를 한국 기관이 열어보면 국외이전에 해당합니다.

최초 이전일부터 60일 안에 공안부에 영향평가서를 내야 하고, 위반 과징금은 직전연도 매출액의 5%입니다.

그래서 개발에는 세 가지만 전달합니다.

표 구조 명세서, 가명 처리한 샘플 데이터, 개발 전용 별도 데이터베이스입니다.

운영 데이터베이스의 실제 개인정보 접근은 계약 체결과 절차 이행 뒤입니다.

이 구조로 가면 개발은 지금 바로 시작할 수 있습니다. 개발자에게 학생 실명은 필요하지 않습니다.

확인이 필요한 것

현재 운영 데이터베이스는 싱가포르 지역에 있습니다.

클라우드 지역이 국외이전에 해당하는지는 해석이 갈릴 수 있는 지점입니다. 제가 단정할 수 없습니다.

현지 법률 자문에서 한 번 확인받는 것을 권합니다. 지금은 이 사실을 기록해 두고, 답이 나오면 그때 옮기거나 절차를 밟습니다.

미리 옮기는 것은 권하지 않습니다. 확인 전에 움직이면 헛일이 될 수 있습니다.

SECTION 07

이번 범위에서 뺀 것

잘로 자동 발송

이사님 결정으로 제외합니다.

개별 페이지에서 잘로를 바로 여는 버튼과 대화 내용을 남기는 칸까지만 만듭니다.

공식 계정 개설과 템플릿 발송은 나중에 필요해지면 그 자리에 끼웁니다.

SNS 자동 수집

주 1회 사람이 넣는 방식으로 시작합니다.

확인해 보니 틱톡은 학생이 권한을 승인하면 팔로워 수와 좋아요 총합을 정식으로 줍니다.

인스타그램도 되지만 학생 계정이 프로페셔널이어야 합니다.

숫자를 넣는 자리를 먼저 만들어 두면, 나중에 자동 수집을 붙일 때 화면은 그대로 두고 값을 채우는 쪽만 바꾸면 됩니다.

오디션 심사 화면

다음 오디션 일정이 아직 멀어 뒤로 미룹니다.

다만 데이터가 붙을 자리는 이번에 함께 만들어 둡니다.

SECTION 08

결정이 필요한 것

진행 단계 변경

영상 진행율을 퍼센트 대신 네 단계 선택으로 바꾸기로 했습니다.

70%와 80%의 차이는 적는 사람마다 다르지만 단계는 갈리지 않습니다.

최승연 이사님 표를 바꾸는 셈이라 그분께 설명이 필요합니다. 이사님이 하실지, 제가 문서로 정리해 드릴지 알려주십시오.

동의서 새 양식

새로 작성하시겠다고 하셨습니다.

제가 새 법 기준으로 네 갈래 초안을 잡아 별건으로 올리겠습니다.

한국어와 베트남어를 함께 만들고, 보호자 서명란을 넣습니다.

영상 시트 접근

최승연 이사님 문서가 아직 열리지 않습니다.

화면 밖 오른쪽에 칸이 더 있을 수 있어 캡처만으로는 확실하지 않습니다.

jkim@nullli.com을 뷰어로 넣어 주시면 다시 확인하겠습니다.

데이터베이스 지역

싱가포르 지역 보관에 대한 현지 법률 확인이 필요합니다.

지금 결정하지 않아도 개발은 진행됩니다. 다만 기록해 둡니다.