JJ Creative 교육연구소 · HRD×AI 라운지 실전 01 · 2026-10-08

설치 없이 브라우저에서 —
웹 Claude Code로 «교육 현장 피드백 보드»
기획 → PRD → 개발 → 테스트 → GitHub → Supabase → Vercel, 커넥터로 연결해서

교육이 끝나면 학습자는 휴대폰으로 QR을 찍어 만족도 3개와 한 줄 소감을 남기고, 빔프로젝터 화면에는 평균 점수와 소감 카드가 실시간으로 올라오고, 담당자는 차수별 결과를 CSV로 받는 앱. 강사·HRD 담당자라면 한 번쯤 «이거 있으면 좋겠다» 했던 그 앱을, 브라우저 하나로 만들었습니다. 도구는 claude.ai/code — 웹 버전 Claude Code입니다. 내 컴퓨터에 아무것도 설치하지 않고, GitHub 저장소를 연결해 클라우드에서 일합니다. 그리고 claude.ai에 연결해 둔 Supabase 커넥터로 장부까지 직접 만들었습니다. «실전 02(Codex)»와 같은 여섯 단계지만, 다른 길(브라우저·Supabase·Vercel)로 갔고 다른 곳에서 막혔습니다. 그 막힌 곳까지 그대로 담았습니다.

읽는 법
① ~ ⑥여섯 단계실전 02와 같은 순서 — 비교하며 읽으면 좋습니다.
📷 실제 화면제 계정 그대로대화 목록·이름·저장소 목록은 잘라내거나 가렸습니다.
💬 Claude에게 말하기제가 넣은 문장 그대로주제만 바꿔 쓰세요.
완성품 먼저

QR 하나로 모이는 만족도와 소감

아래 화면은 실습 확인용으로 만든 가상 차수(«가나다전자(가상)·신임 팀장 코칭 리더십 2차»)와 가상 응답 4건입니다.

강사 실시간 보드 — 응답 인원 4명, 전체 평균 4.5, 교육 내용·강사·현업 적용도 막대, 소감 카드 4장
강사 실시간 보드(빔프로젝터용). 응답 인원, 전체 평균, 항목별 막대, 그리고 소감 카드가 2~3초마다 새로 올라옵니다. 부적절한 소감은 강사가 숨길 수 있습니다.
학습자 응답 화면 — 교육 내용·강사·현업 적용도 1~5점 버튼과 한 줄 소감 입력
학습자 화면 — 이름 없이 점수 3개 + 한 줄 소감(선택, 100자).
QR 화면 — QR 코드와 입장 코드 1765, 지금까지 0명 응답
QR 화면 — QR이 안 되는 사람을 위한 4자리 입장 코드도 크게. (이 화면은 강사 화면을 내 컴퓨터에서 띄워 찍어서 접속 주소가 내 컴퓨터로 나옵니다. 실제 배포에선 Vercel 주소가 나옵니다.)
작업실
웹 Claude Code브라우저에서, 클라우드 컴퓨터로
→
창고
GitHub저장소를 고르면 거기서 일함. 결과는 PR로 제안
→
장부
Supabase커넥터로 표·보안 함수·검사까지 Claude가
→
가게
Verceltraining-feedback-board.vercel.app
웹 Claude Code란

«내 컴퓨터 폴더» 대신 «GitHub 저장소»에서 일하는 Claude

💻 데스크톱 앱 (실전 02의 Codex와 같은 방식)

내 컴퓨터 폴더에서 일함. 컴퓨터에 깔린 명령 도구(gh·firebase·wrangler)를 대신 실행. 컴퓨터가 켜져 있어야 함.

☁️ 웹 버전 (이번 편)

claude.ai/code. GitHub 저장소를 고르면 클라우드 컴퓨터에서 그 저장소를 받아 일함. 설치 없음, 노트북을 덮어도 계속됨. 외부 서비스는 claude.ai 커넥터로 연결.
웹 Claude Code 첫 화면 — 저장소 선택 목록이 열린 상태, 저장소 이름은 흐리게
입력창 위 저장소 선택을 누르면 GitHub 저장소 목록이 뜹니다(제 다른 저장소 이름은 흐리게). 저는 미리 만들어 둔 빈 비공개 저장소 training-feedback-board를 골랐습니다.
준비물

Claude 유료 요금제, GitHub 계정(웹 Claude Code에서 처음 저장소를 고를 때 GitHub 연결을 허락), 그리고 claude.ai 설정의 커넥터에서 Supabase·Vercel을 연결해 두면 이번 편과 같은 흐름이 됩니다. 저장소는 «바이브 02»처럼 비공개로 미리 하나 만들어 두세요.

① 기획

«코드 쓰지 말고 질문부터» — Claude가 먼저 꺼낸 말

저장소 training-feedback-board가 선택된 상태에서 기획 요청 문장을 입력한 화면
위 빨간 네모가 고른 저장소, 아래가 첫 요청. 실전 02와 똑같이 «아직 코드는 쓰지 말고, 질문 5개 이내로».

Claude는 보기 번호를 붙인 질문 5개(몇 명이 언제, 어떻게 입장, 무엇을 묻고, 강사 화면은 어떻게, 결과는 어디에)를 냈고, 끝에 이런 표를 붙였습니다 — «지금 세션에 이미 연결된 것: Supabase MCP(응답 저장·실시간), Vercel MCP(배포), Canva MCP(QR 안내 슬라이드)». 설치할 것 없이 이미 손이 닿아 있다는 뜻입니다.

답변을 반영한 기획 정리 — 반영된 내용 목록과 아직 정할 것 3가지(강사 로그인 방식, 숨긴 소감의 CSV 포함, 소감 표시 방식)에 빨간 네모
번호로 답하자 기획을 정리하고, «아직 정할 것 3가지»를 추천안과 함께 물었습니다. «추천대로»라고만 답해도 되게 만들어 준 점이 초보에게 친절했습니다.
② 설계

PRD를 «제안(PR)»으로 — GitHub에 올라온 410줄

PRD 작성 완료 메시지 — Supabase 표는 아직 만들지 않음, fb_ 이름 겹침 없음 확인, PR 감시 시작, 아래 PRD.md +410 표시와 PR #1
«PRD.md를 만들었습니다». 그런데 main에 바로 넣지 않고 PR #1(«이렇게 바꾸면 어떨까요?» 제안서)로 올렸습니다. 쓰기 전에 Supabase 커넥터로 기존 프로젝트에 fb_ 이름 표가 없는지 미리 확인한 것도 보입니다.
PR(풀 리퀘스트)이 뭔가요

«창고(main)에 바로 넣지 말고, 옆에 따로 둔 수정본을 보고 합칠지 정하세요»라는 제안서입니다. 웹 Claude Code는 기본적으로 이렇게 일해서, 사람이 검토하고 «합치기(Merge)»를 누를 기회가 생깁니다. 이번엔 «다 만들면 main에 합쳐 주세요»라고 맡겨서 Claude가 직접 합쳤습니다. 자세한 건 «확장 05 · 팀으로 만들기».

③ 개발

«개발 시작» → 장부 만들고, 검사하고, 코드 쓰고, 또 검사

개발 진행 메시지 — Vercel·Supabase 연결 확인, DB 함수 적용, 서버 비밀 값 등록, DB 시험 16개 항목 모두 통과
Supabase 커넥터로 표 2개(fb_sessions·fb_responses)와 보안 함수를 직접 만들고, DB 시험 16개를 돌린 뒤 시험 데이터는 «원상복구»했습니다. 비밀 값을 화면에 출력하려다 보안 정책에 막히자, 방법을 바꿔 «출력 없이» 등록한 장면도 보입니다.
개발 진행 메시지 — E2E 테스트 22개 모두 통과, 응답 2.4초 내 반영, CSV 정상, 화면 디자인 스크린샷 확인, README 배포 가이드 작성
앱 코드를 쓴 뒤 화면 테스트 22개(로그인 → 차수 생성 → 응답 → 중복 차단 → 보드 반영 → CSV → 마감)를 통과. 화면을 스스로 캡처해 디자인을 확인하고, README에 배포 가이드까지 썼습니다.
Claude가 스스로 한 일쉬운 말
Supabase에 fb_ 표 2개 + 보안 함수장부를 만들고, «서버를 거쳐서만» 읽고 쓰게 잠금 (같은 책장의 다른 앱 100여 개 표와 섞이지 않게)
DB 시험 16개 → 원상복구장부 규칙이 제대로 막는지 시험하고, 시험 흔적은 지움
앱 코드 3,700여 줄학습자 화면·강사 콘솔·QR·실시간 보드·CSV
화면 테스트 22개실제 브라우저로 끝까지 눌러 보기
PR #1 → main 합치기창고에 정식으로 넣기
④ 사람이 한 일

Claude가 멈추고 부탁한 세 가지

실전 02의 Codex처럼, Claude도 «제 연결로는 여기까지입니다»라며 세 번 멈췄습니다. 이 부분이 «연결만 돼 있으면 다 된다»의 현실적인 경계입니다.

Claude 메시지 — Vercel에서 저장소를 Import해서 배포해 주세요(제 연결로는 프로젝트를 만들 권한이 없음), Supabase SQL Editor에서 차수 삭제 함수 SQL을 실행해 주세요
«Vercel에서 Import해 주세요 — 제 연결로는 프로젝트를 만들 권한이 없어 막혔습니다». 이 웹 환경의 Vercel 커넥터는 읽기 전용이었습니다.
멈춘 곳왜어떻게 했나
1. Vercel 프로젝트 만들기커넥터가 읽기 권한만 있음Vercel 화면에서 Import → Deploy (아래 화면). «바이브 02»와 같은 동작
2. 환경 변수 6개 넣기역시 쓰기 권한 없음. Claude는 «Vercel 화면에 붙여 넣으라»고 값을 대화에 보여 줌대화에 노출된 값은 쓰지 않고, 내 컴퓨터의 Vercel 명령 도구로 새 비밀 값을 만들어 등록(«바이브 04» 원칙)
3. 삭제 함수 SQL 실행«delete»가 들어간 명령은 사람 승인이 필요한데, 웹 화면에 승인 창이 뜨지 않음Supabase SQL Editor에 붙여 넣고 Run → 경고 확인 → 실행
Vercel New Project 화면 — training-feedback-board 저장소 Import, 프레임워크 Next.js 자동 인식, Deploy 버튼
Vercel → Add New → Project → training-feedback-board 옆 Import. Next.js로 자동 인식, 바로 Deploy.
Vercel Congratulations 화면 — 새 프로젝트 배포 완료, 미리보기 썸네일
«Congratulations!» — 첫 배포 완료. 이때는 아직 열쇠(환경 변수)가 없어 장부와 연결되기 전입니다.
Supabase SQL Editor 경고 — Potential issue detected, This query includes destructive operations, Cancel과 Run query 버튼
Supabase의 «파괴적인 명령이 들어 있습니다» 경고. 이번 SQL은 «삭제 기능을 정의»하는 것이라 지금 지워지는 데이터는 없어서 Run query. 무엇을 지우는지 모르는 SQL이면 Cancel하고 AI에게 먼저 물어보세요.
Vercel Environment Variables 화면 — DEVICE_KEY_SALT, SESSION_SECRET, ADMIN_PASSWORD, FB_SERVER_SECRET, SUPABASE_ANON_KEY, SUPABASE_URL이 Preview와 Production에 등록, 값은 보이지 않음
등록된 열쇠 6개. 이름만 보이고 값은 보이지 않습니다. 열쇠를 넣은 뒤엔 재배포(Redeploy)해야 적용됩니다.
AI가 대화에 비밀 값을 보여 줬다면

이번에 Claude는 «이 대화에만 나오니 공유하지 마세요»라며 비밀 값과 체험용 강사 비밀번호를 대화에 적었습니다. 대화 화면은 캡처·공유되기 쉽습니다. 그래서 저는 그 값을 쓰지 않고 새 값으로 바꿔 넣었습니다(Supabase 쪽 비밀 값도 함께 교체). 대화에 비밀 값이 나왔다면 «노출된 것으로 보고 바꾼다»가 안전한 습관입니다.

⑤ 배포·확인

실제 주소에서 — 학습자 4명, 보드 4.5점

Claude 확인 메시지 — 조회 API 정상, 서버 비밀 값 일치, 차수 삭제 함수 생성 확인, 강사 로그인 화면 정상, 틀린 비밀번호 거부는 이 환경에서 직접 확인하지 못함
Claude가 배포 주소에서 확인한 것과 확인하지 못한 것을 나눠 보고했습니다. «틀린 비밀번호 거부는 이 환경에서 직접 확인하지 못했다, 10초만 직접 봐 달라» — 모르는 걸 아는 척하지 않는 보고가 좋았습니다.
학습자 제출 완료 화면 — 소중한 의견 감사합니다
실제 배포 주소(/j/1765)에서 가상 학습자 4명이 응답 → «소중한 의견 감사합니다».
강사 로그인 화면 — 틀린 비밀번호 입력 후 비밀번호가 올바르지 않습니다 안내
Claude가 부탁한 마지막 확인. 배포 주소에서 일부러 틀린 값을 넣으니 «비밀번호가 올바르지 않습니다». ✅
GitHub PR #1 화면 — 교육 현장 피드백 보드 v1: PRD + 앱 구현, Merged, 요약·주요 내용·확인 항목, Generated with Claude Code
GitHub에 남은 PR #1 — 무엇을 만들고 무엇을 확인했는지 Claude가 정리해 두고 «Merged». 나중에 다른 사람이 봐도 이 앱이 어떻게 만들어졌는지 알 수 있는 기록입니다.
Codex와 비교

실전 01(웹 Claude Code) vs 실전 02(Codex 데스크톱)

실전 01 · 웹 Claude Code실전 02 · Codex 데스크톱
일하는 곳브라우저(클라우드), GitHub 저장소내 컴퓨터 폴더
외부 서비스 손claude.ai 커넥터(Supabase 쓰기 가능, Vercel 읽기 전용)컴퓨터의 명령 도구(gh·firebase·wrangler)
GitHub에 넣는 방식PR(제안서) → 합치기바로 main에 올리기
사람이 한 일Vercel Import, 환경 변수, 삭제 SQL 실행Firebase 이메일 로그인 켜기, Cloudflare 승인
스스로 한 검사DB 16개 + 화면 22개권한 21개 + 화면 검사(총 54개)
잘 맞는 사람설치가 막힌 회사 PC, 이동 중에도 이어서내 PC에서 여러 서비스를 한 번에
공통 교훈 세 가지

① «코드 쓰지 말고 질문부터»로 시작하면 둘 다 좋은 기획을 끌어낸다 ② «내가 눌러야 할 게 있으면 멈추고 알려줘»가 있으면 둘 다 정직하게 멈춘다 ③ 연결이 «읽기만»인지 «쓰기까지»인지에 따라 사람 몫이 달라진다 — 도구보다 연결 권한이 자동화 범위를 정합니다.

Claude에게 말하기

제가 넣은 문장 그대로

CC-01 💬 웹 Claude Code

① 기획

저장소를 고른 뒤 첫 마디
나는 기업교육 강사이자 HRD 담당자야. 교육이 끝날 때 학습자들이 휴대폰으로 만족도와 한 줄 소감을 남기고, 강사 화면에는 결과가 실시간으로 모이는 «교육 현장 피드백 보드»를 만들고 싶어. 아직 코드는 쓰지 말고 기획부터 같이 다듬자. 누가 언제 어떻게 쓰는지, 꼭 필요한 기능과 나중에 해도 되는 기능을 나눌 수 있게 나한테 질문을 5개 이내로 쉽게 해줘. 나는 개발자가 아니야.
CC-02 💬 웹 Claude Code

② PRD — 기존 Supabase 프로젝트에 앞머리로

기획 답변 뒤
이제 개발자에게 넘겨도 될 수준의 PRD(요구사항 문서)를 이 저장소에 PRD.md 로 만들어 주세요.
- 목적, 사용자와 권한, 화면 목록, 데이터 구조, 첫 버전 범위와 나중 범위, 완료 기준
- 사용할 서비스: 코드 저장은 이 GitHub 저장소, 데이터는 Supabase, 배포는 Vercel
- Supabase는 새 프로젝트를 만들지 말고, 내 기존 프로젝트에 이 앱 전용 표를 fb_ 로 시작하는 이름으로 만들어 주세요
- 초보자도 읽을 수 있게 쉬운 말로, 다 쓰면 핵심만 5줄로 요약해 주세요
아직 앱 코드는 만들지 마세요.
CC-03 💬 웹 Claude Code

③ 개발부터 배포까지

PRD 검토 뒤
개발 시작해 주세요.
- Supabase 표는 PRD대로 만들고, 보안 규칙(RLS)도 켜 주세요
- 비밀 값은 GitHub에 올리지 말고 Vercel 환경 변수에만 넣어 주세요. 비밀 값을 이 대화에 그대로 적지는 말아 주세요
- 다 만들면 PR을 main에 합치고, Vercel 프로젝트를 만들어 이 저장소를 연결해서 배포까지 해 주세요
- 배포 주소에서 학습자 화면과 강사 로그인이 실제로 되는지 확인해 주세요
- 제가 직접 눌러야 하는 게 있으면 멈추고 알려 주세요
요령 실습 때 넣은 문장에 «비밀 값을 이 대화에 그대로 적지는 말아 주세요» 한 줄을 더해 두었습니다. 실습에선 이 줄이 없어서 Claude가 비밀 값을 대화에 적었고, 그 값을 버리고 새로 만들어야 했습니다.
다음 편

바이브 코딩 실전

편내용
실전 01 · 웹 Claude Code (지금 글)브라우저에서 — 피드백 보드를 GitHub + Supabase + Vercel로
실전 02 · Codex내 컴퓨터에서 — 온보딩 체크리스트를 GitHub + Firebase + Cloudflare로
이 글을 만든 방법

2026년 10월 8일 저녁 웹 Claude Code(Opus 5.5) 한 세션에서 진행하며 Aside 브라우저로 찍었습니다. 앱 데이터는 가상 차수·가상 응답입니다. 화면의 대화 목록·이름·저장소 목록은 잘라내거나 가렸고, 비밀 값과 강사 비밀번호는 싣지 않았습니다(대화에 노출된 값은 교체). 강사 보드·QR 화면은 같은 장부에 연결된 앱을 제 컴퓨터에서 띄워 찍었습니다. 체험용 주소는 실습 확인 뒤 정리될 수 있습니다.

JJ Creative 교육연구소 · HRD×AI 라운지 실전 01 · 확인일 2026-10-08
전재현 소장 · jjh@jjcreative.co.kr · 010-8448-2354 · jjcreative.co.kr
참고: Claude Code · Supabase 문서 · Vercel 문서
이 자료의 활용을 원하시면 문의해 주세요.