GH · DATA VISUALIZATION · 2026.05.21
Claude Code로 만드는
사업 공정 대시보드
GH 데이터 시각화 1일 워크숍 · 17명 · 4직군 분기
PRESENTER
김혜련 · artetlab
강의 교안
gh.artetlab.com
SPEAKER
강사 소개
김혜련 Kyra Kim
이노핏파트너스 프로젝트 교수 · artetlab 대표
저서
『당신의 첫 AI 직원』
서울경제경영출판사 · 2026.02
커뮤니티
GPTers 스터디장 (16~21기)
AI 자동화 커뮤니티 운영
주요 강의 이력
- · LG AX Camp for Leaders (임원교육)
- · LG U+ 리더 AI 업무자동화 심화 교육
- · 멀티캠퍼스 — n8n AI 자동화 실전
- · 세계일보 Vibe-coding 코칭
- · SKT Design Camp · Dify 교육 코칭
- · 한솔 HCLP AX MBA · KCH그룹 외 다수
OPENING · 1/2
배달 라이더는 30초 안에
3건을 동시에 결정한다.
남은 시간 · 주문 수 · 이동 경로가 지도 위에 실시간으로 그려져 있다. 한 화면의 대시보드.
픽업해야 할 가게 위치, 다음 배달지, 도로 정체 상황, 예상 시간 — 라이더는 이 모든 것을 한 화면에서 확인한다.
만약 이 정보가 카톡으로 왔다면? 30초 결정은 불가능하다.
OPENING · 2/2
그런데 우리는, 라이더보다 큰 결정을
라이더보다 나쁜 화면으로 한다.
라이더
만 원짜리 결정
실시간 대시보드 한 화면
30초 안에 판단
우리
억대 결정
PDF 보고서 30장
회의 잡혀야 판단
결정이 클수록 화면은 더 조악해진다 — 거꾸로 됐다.
오늘 그 역설을 뒤집는다.
오늘의 흐름
7시간, 5블록 대시보드 1개
데이터 시각화 4차 물결
왜 지금 우리 차례인가
보고서 vs 대시보드
의사결정 가능한 화면이란
오늘 만들 두 가지
Showcase + MVD 미리보기
환경 셋업 & 기초 다지기
Codex 한 줄 설치 + 터미널·마크다운·프롬프트
Plan 모드 기획
던지기 전에 종이에 그린다
직군별 데이터셋 4종
내 자리 찾기
단계적 빌드
KPI → 진행률 → 알림 → 차트 → 다듬기
인사이트 격상
룰 기반 자동 판정
운영
저장·공유·매주 갱신
마무리
Callback · Action Plan · 질문
CHAPTER 01
데이터 시각화
4차 물결.
60년 동안 진입 장벽이 단계적으로 낮아져 왔다.
이번 차례는 — 보고서만 받던 사람이 직접 만든다.
01. 4 물결 한 장
의사결정용 화면을 누가, 얼마 만에 만드는가
1차 — 종이 보고서
"보고서가 정리됐을 때쯤, 결정 시점은 이미 지나가 있다."
기획실 다수 / 주 1회
2차 — 엑셀
"컴퓨터로 할 일인가? 손으로 계산하면 빠른데."
개인 1인 / 차트는 부속물
3차 — BI 도구
BI = Business Intelligence
"그래봤자 IT부서가 한 달 걸려 만들어주는 거 아닌가."
분석가 전용 / 라이선스 비쌈
4차 — AI 대시보드
"AI가 그렇게 잘 한다고? 결국 사람이 더 빠르지."
1인 / 1일 / 1대시보드
매 물결마다 회의론자가 있었다. 그리고 매번 회의론자가 졌다.
02. 오늘의 가설
4차 물결의 의미는
"분석가가 똑똑해진 것"이 아니라,
지금까지 보고서만 받던 사람이
직접 만들 수 있게 된 것이다.
여러분이 그 첫 세대다. 그리고 오늘 시작한다.
CHAPTER 02
보고서를 보는 사람과
대시보드를 보는 사람은
같은 결정을 내릴 수 없다.
01. 비교표
정보량이 같아도, 배치가 다르면 결정의 속도와 질이 달라진다.
| 차원 | 보고서 (PDF/HWP) | 대시보드 |
|---|---|---|
| 읽는 시간 | 15~30분 | 30초 |
| 갱신 주기 | 주간/월간 | 실시간 또는 일간 |
| 의사결정 시점 | 회의가 잡혀야 함 | 그 자리에서 |
| 지연·이슈 발견 | 읽다가 발견 | 적색 배지로 바로 보임 |
| 만드는 사람 | 기획실 직원 다수 | 본인이 직접 |
02. MVD 정의
오늘 우리가 만드는 것 —
MVD
Minimum Viable Dashboard — 최소 의사결정 화면
완전한 BI 시스템이 아니다.
의사결정 1건을 받쳐줄 수 있는 최소 화면 한 장.
5블록(헤더·KPI 4·진행률 5·알림·차트 1)이 다 들어가면 그 자체로 충분하다.
→ 다음 회의에서 "우리 부서 MVD 한 장 만들어봤어요"라고 말할 때, MVD가 곧 워딩 무기가 된다.
03. 흔한 오해
예쁘면 좋은 대시보드인가
❌ 오해
"예쁜 디자인이 좋은 대시보드다"
예쁜 차트 10개를 늘어놓고 만족하기 쉬움.
✓ 진실
"차트 1개당 결정 1개를 못 쓰면 그 차트는 빼라"
예쁨은 부산물, 결정 가능성이 본질.
CHAPTER 03
오늘 만들 두 가지.
Showcase + MVD.
01. 두 가지를 본다
강사 시연 1개 + 여러분이 만들 1개
① SHOWCASE — 강사 시연 1분
GH 종합사업 대시보드 미니
참고자료(GH 종합사업관리시스템)를 1페이지로 압축한 버전.
의미: "1일에 만들 수 있는 최대치"의 좌표.
② MVD — 여러분 모두가 완성
5블록 미니 대시보드
17명이 동일한 골격을 만들고, 본인 직군 데이터로 채운다.
의미: 오늘의 약속 — 5블록 다 채우고 퇴근한다.
두 화면의 차이가 = 오늘의 학습 곡선
02. Showcase 화면 미리보기
하남교산 공공주택 종합 현황 — 1페이지 압축
예시 링크 ↗참고3 P.7 — GH 종합사업관리시스템 단순화 버전
03. MVD 5블록
모두 동일한 5블록 골격
헤더
이름·기준일·달성률
KPI 카드
직군별 핵심 4개
진행률 바
5개 단계·부서
알림 리스트
임계치 초과
메인 차트
간트·막대·도넛·라인
오늘의 약속
모두 1번부터 5번까지 다 채우고 퇴근한다. 시간 남으면 Showcase 블록(분야별 카드·간트·도넛)을 1~2개 얹어 본다.
CHAPTER 04
환경 셋업
& 기초 다지기.
설치 6개를 1개씩 하지 않는다. 무료 Codex에게 통합 프롬프트 1번 던지고, 결과만 확인한다.
그리고 본 게임 전에 — 터미널·마크다운·프롬프트 기본기를 짧게 다진다.
01. 도구 지도
우리가 깔 6개 도구가 하는 일
Codex 앱 (무료)
설치 명령 대신 실행해 줄 조수. 오늘의 시작점.
WSL2
Windows 안에 미니 리눅스(Ubuntu).
Node.js
Claude Code가 돌아갈 엔진.
Claude Code
대시보드를 시킬 도구. 오늘의 주인공.
VS Code
코드와 결과물을 보는 창.
Claude Code Extension
VS Code 안에서 Claude Code를 바로 실행·연동.
02. Step 1 — Codex 무료 설치
유일하게 손으로 하는 단계
왜: Claude Code는 유료 구독이 필요합니다. Codex는 무료 계정으로 시작 가능하고, 이후 복잡한 설치 명령을 한국어로 시키면 알아서 실행해 줍니다.
- 1openai.com에서 무료 계정 생성
- 2Windows용 Codex 데스크탑 앱 다운로드
- 3설치 → 로그인 → 첫 화면 "준비 완료" 확인
왜 Claude가 아니고 Codex?
Codex (OpenAI) — 무료 계정으로 시작 가능. 오늘은 설치 명령 실행용으로만.
Claude Code (Anthropic) — 유료 구독. 본 게임은 여기서 한다. Codex가 설치를 끝내준 다음 무대.
보안망 주의: 회사 보안팀에 사전 확인. 일반적으로 설치는 되지만 외부 로그인이 막힐 수 있음.
03. Step 2 — Codex에 통합 프롬프트 1회
한 번에 4개를 깐다 — WSL2 + Ubuntu + Node.js + Claude Code
Codex가 단계별로 명령을 실행하면서 성공·실패를 보고한다. 여러분은 화면을 본다.
04. 진행 확인 — 단계별 성공 표시
Codex가 알려주는 4개 체크포인트
WSL2 + Ubuntu 22.04 설치 완료
PowerShell에서 wsl -l -v → VERSION 2 확인
Ubuntu 초기 설정 + 재부팅
username·password 설정 (비밀번호 입력 시 화면 안 보임 = 정상)
nvm + Node.js LTS 설치
Ubuntu 터미널에서 node -v → v20.x 확인
Claude Code 설치 + 로그인
claude --version → 버전 출력 / 첫 claude 실행 시 브라우저 로그인
05. Step 3 — VS Code + Claude Code 확장 설치
VS Code부터 Claude Code 확장까지 — 터미널에서 끝낸다
왜: Windows에 기본 내장된 winget으로 설치하면 다운로드·실행·동의 클릭이 모두 자동. 확장도 같은 터미널에서 한 줄로.
확장은 GUI로도 수동 설치:
VS Code에서 Ctrl+Shift+X → "Claude Code" 검색 → Install 클릭.
Codex에 시키는 버전:
"winget으로 VS Code를 설치하고, code --version으로 버전 확인 후, Claude Code 확장(anthropic.claude-code)을 설치해줘."
06. Step 4 — 터미널 기본을 WSL로
VS Code에서 Ctrl+` 누르면 자동으로 Ubuntu가 뜨게
왜: 매번 PowerShell이 뜨고 wsl 입력하는 것을 없앤다. 한 번 설정으로 끝.
GUI 방법
- 1. VS Code에서 Ctrl+Shift+P
- 2. Terminal: Select Default Profile
- 3. Ubuntu (WSL) 선택
- 4. Ctrl+`로 확인
settings.json 직접 추가
07. 막힘 대응 — 1순위 규칙
어디서 막히든 Codex에게 한국어로 그대로 물어본다.
1순위
Codex에게 한국어로 물어본다 (90% 해결)
2순위
옆자리 짝꿍과 화면 비교 (5% 해결)
3순위
강사에게 손 들기 (나머지 5%)
08. 기초 다지기 — 터미널·경로
터미널은 무서운 게 아니다 — 단어 4개면 충분하다
터미널은 폴더 사이를 글자로 돌아다니는 곳일 뿐입니다. 마우스로 폴더를 더블클릭하는 걸 글자로 한다고 생각하면 됩니다.
pwd
지금 내가 어느 폴더에 있나? — 길 잃으면 제일 먼저.
ls
이 폴더 안에 뭐가 있나? 파일·폴더 목록 보기.
cd 폴더명
그 폴더 안으로 들어가기 (더블클릭).
cd ..
한 칸 위 폴더로 나가기 (뒤로가기).
경로 = 파일의 주소
~ 는 내 홈 폴더 (집 주소). 모든 길의 출발점.
예: ~/projects/dashboard/index.html = 홈 → projects → dashboard 안의 그 파일.
막히면 그냥 물어본다
"지금 내가 어느 폴더에 있는지, 만든 HTML 파일이 어디 저장됐는지 한국어로 알려줘" — Claude/Codex에게 그대로.
09. 기초 다지기 — 마크다운
마크다운 — 기호로 쓰는 글쓰기 언어
<h1>제목</h1> 대신 그냥 # 제목. Claude Code·Notion·Ghost·GitHub 등 거의 모든 도구가 마크다운을 씁니다. AI와 글을 주고받는 공용어입니다. 아래 8개만 알면 90%는 해결됩니다.
① 제목
#가 많을수록 작아짐 (최대 6개).
② 강조
→ 굵게, 기울임, 코드.
③ 목록
-는 순서 없음, 1.은 순서 있음.
④ 링크 · 이미지
이미지는 앞에 ! 하나 추가가 전부.
⑤ 코드 블록
백틱(`) 3개로 감싸고 언어 명시.
⑥ 표
|로 열 구분, 둘째 줄 ---이 헤더선.
⑦ 인용문
줄 앞에 > → 강조 인용 박스.
⑧ 구분선
--- 3개 이상 → 가로 구분선.
10. 기초 다지기 — 잘 쓰는 법 & AI에게 잘 시키기
잘 쓰는 팁 5가지, 그리고 AI에게 잘 받아내는 4요소
마크다운 잘 쓰는 팁 5
1. 빈 줄을 습관화 — 단락 사이 빈 줄이 없으면 줄바꿈이 무시됨.
2. 제목 계층 지키기 — # → ## → ### 순서, 건너뛰지 않기.
3. 코드엔 언어 명시 — 언어를 써야 문법 강조가 제대로 됨.
4. 나열은 표보다 목록 — 표는 비교할 때만, 단순 나열은 목록이 읽기 좋음.
5. 결과 확인 — VS Code 미리보기로 렌더링 결과를 보며 작성.
AI에게 잘 받아내는 4요소
❌ 막연하게: "마크다운으로 글 써줘" → 구조·길이·톤을 AI가 멋대로 결정.
① 플랫폼 — "Ghost 블로그에 올릴 마크다운으로"
② 구조 — "## 제목, ### 소제목 3개, 각 아래 bullet 3줄"
③ 대상·톤 — "비개발자 직장인 대상, 친근하고 실용적으로"
④ 포함 요소 — "코드 블록 1개와 비교 표 넣어줘"
마크다운은 기호로 쓰는 글쓰기 언어, AI에게 시킬 땐 플랫폼 + 구조 + 대상 + 톤을 함께 적으면 원하는 결과를 정확히 받습니다.
11. 안전하게 일 시키기 — 안전 울타리
Claude Code를 지정한 한 폴더 안에만 가둔다
왜: AI에게 일을 시키다 보면 "이 폴더 말고 저기도 봐줘"가 됩니다. 하지만 실수로 개인 문서·회사 파일·비밀번호·시스템 파일을 읽거나 바꾸면 안 됩니다. 그래서 작업할 폴더 하나만 정해 두고, 그 밖은 막습니다.
1겹 — 진짜 샌드박스 /sandbox
OS 레벨로 가두는 울타리. bash 명령과 거기서 깔리는 도구(npm 등)까지 전부 작업 폴더 밖으로 못 나가게 막습니다. WSL2에서는 bubblewrap이 담당.
2겹 — 권한 차단 permissions.deny
샌드박스가 못 막는 Claude의 파일 도구(Read·Edit·Write)를 막습니다. 위험 경로를 deny에 적으면 묻지도 않고 차단 — deny는 허용보다 먼저 적용돼 항상 이깁니다.
WSL에서 꼭 막아야 할 폴더
| 경로 | 무엇 | 왜 막나 |
|---|---|---|
| /mnt/c/** | ⭐ 윈도우 C드라이브 전체 | WSL에선 바탕화면·문서·다운로드가 전부 여기에 보입니다. (샌드박스는 이미 자동 차단) |
| /etc/** · /usr/** | 리눅스 시스템 파일 | 건드리면 우분투(OS) 자체가 고장날 수 있음. |
| ~/.ssh/** · ~/.aws/** | 서버 접속키·클라우드 인증정보 | 유출되면 보안 사고. 읽기조차 막습니다. |
| ~/.claude/** | Claude 로그인 정보 | 내 계정 인증 토큰 보호. |
12. 안전하게 일 시키기 — 폴더 먼저 만들고 설치
설치도 샌드박스답게 — 집(폴더)부터 정하고, 시스템은 안 건드린다
핵심 원칙 2가지
① 작업 폴더부터 만든다
일을 시작하기 전에 "집" 폴더를 먼저 만들고, 모든 작업을 그 안에서 합니다.
② 시스템 전역이 아니라 내 계정에 설치
Claude Code는 시스템 폴더(/usr, sudo 필요)가 아니라 내 홈(~) 아래에 설치됩니다. 시스템을 더럽히지 않고, 지울 땐 내 폴더만 지우면 끝.
순서
전역(시스템) 설치와 뭐가 다른가
| 시스템 전역 | 우리 방식 (사용자) | |
|---|---|---|
| 위치 | /usr/... | ~(내 홈) 아래 |
| 권한 | sudo 필요 | 불필요 |
| 지울 때 | 시스템에 흔적 | 내 폴더만 삭제 |
| 영향 범위 | PC 전체 | 내 계정에 한정 |
"-g면 전역 아니에요?" — 셋업 때 쓴 npm install -g의 -g는 '시스템 전체'가 아니라 nvm 안에서의 공용이라, 실제로는 내 계정 폴더(~) 안에 설치됩니다. 그래서 sudo가 필요 없었습니다.
13. 안전하게 일 시키기 — 진짜 샌드박스 /sandbox
WSL2를 OS 레벨로 가둔다 — /sandbox
권한(deny)은 Claude의 파일 도구만 막습니다. bash로 깔리는 도구·스크립트까지 통째로 가두려면 OS 레벨 샌드박스가 필요하고, 그게 /sandbox입니다. WSL2에서는 bubblewrap이 실제 울타리 역할을 합니다.
- 1필수 패키지 설치 (WSL2에서 한 번)
sudo apt-get install bubblewrap socat
→ WSL1은 불가. WSL2 필수. - 2Claude Code에서 /sandbox 입력
메뉴에서 모드 선택 (Auto-allow / Regular)
→ 의존성이 없으면 설치 안내가 뜸 - 3기본 동작
쓰기는 작업 폴더와 하위만, 그 밖을 건드리면 차단·알림
→ 모든 하위 프로세스(npm 등)에 적용
WSL 포인트: WSL2에선 /mnt/c(윈도우 드라이브)와 윈도우 프로그램 호출을 샌드박스가 자동 차단합니다. Ubuntu 24.04 이상은 bwrap용 AppArmor 프로파일을 1회 추가해야 할 수 있어요(막히면 Codex에게 그대로 물어보기).
14. 안전하게 일 시키기 — 권한 deny로 파일 도구까지
마지막 한 겹 — Read·Edit·Write 차단
/sandbox는 bash를 가두고, 이 permissions.deny는 Claude의 파일 도구(Read·Edit·Write)를 막습니다. 둘을 합쳐야 빈틈이 없습니다.
- 1같은 설정 파일에 deny 추가
같은 .claude/settings.json의 permissions.deny에 작성
→ 또는 아래 프롬프트로 Codex/Claude에게 시키기 - 2deny = 바깥 위험 경로 차단
윈도우 드라이브·시스템·비밀 폴더를 묻지도 않고 막음
→ deny는 허용보다 먼저 적용돼 항상 이김 - 3울타리 확인
"바탕화면 파일 하나 열어봐"라고 시켰을 때 거부하면 성공
주의: ~/**(홈 전체)처럼 너무 넓게 막으면 작업 폴더까지 같이 막혀버립니다. 바깥의 위험한 곳만 콕 집어 막으세요.
CHAPTER 05
Plan 모드 기획.
던지기 전에 종이에 그린다.
01. Plan 모드란
"Claude야 대시보드 만들어줘" 한 줄로 망하는 패턴 막기
❌ 일반 모드
"대시보드 만들어줘" → Claude가 바로 코드를 씁니다.
30분 코딩한 후 "내가 원하던 게 아니야"를 발견. 처음부터 다시.
✓ Plan 모드
"대시보드 만들어줘" → Claude가 먼저 계획을 제시하고 여러분 승인을 기다립니다.
잘못된 방향으로 30분 코딩하는 일이 사라집니다.
전환 키: Claude Code 화면에서 Shift+Tab → 하단에 "plan mode on" 표시.
02. Plan 모드 사용 흐름
한 번 켜고, 데이터·목적·사용자 3요소로 던진다
Plan 검토
읽어보고 빠진 거 있는지
수정 요청 (3~4회)
"이 부분만 바꿔서 다시"
승인 → 빌드
Tab 또는 "go"
03. 기획 4질문
Plan 모드 켜기 전, 종이에 답하기
WHO
누가 보는가
사장 / 팀장 / 실무자. 페르소나가 다르면 KPI 밀도와 화면 깊이가 달라진다.
WHAT
무엇을 보는가
핵심 KPI 5개 이내. 후보 10개 적었으면 5개 자른다. 잔여 5개는 별도 페이지.
WHEN
언제·얼마나 자주 보는가
일간(현장 점검) / 주간(공정 회의) / 월간(이사회 보고). 주기가 화면 밀도를 결정.
WHY
어떤 결정을 내리는가
"이 화면을 보고 무슨 결정?"을 한 문장으로 못 쓰면 빼라.
04. Plan → Build 흐름
사용자가 Tab 누르기 전까지 — Claude는 코드 쓰지 않는다
Plan 모드 ON"] --> B["② 3요소 프롬프트
데이터·목적·사용자"] B --> C["③ Claude:
progress.csv 읽기"] C --> D["④ Claude:
Plan 제시
(코드 없이)"] D --> E{"⑤ 사용자
검토"} E -->|이 부분만 수정| D E -->|Tab 승인| F["⑥ Claude:
dashboard.html 생성"] F --> G["⑦ 완료
+ 미리보기 안내"]
잘못된 방향으로 30분 코딩하는 일이 사라진다.
장점 — 순차 방식 대비
한 번에 일관된 구조로 나오고, 중간에 색·레이아웃 충돌(예: 라임 vs 블루)을 방지한다. 계획 단계에서 방향을 수정하는 비용이 싸다.
주의 — 빠지면 안 되는 것
요구사항이 빠지면 계획에도 빠진다. 디자인 규칙·검증 가드레일을 처음부터 넣는 것이 핵심 — 시행착오로 얻은 규칙을 미리 박아둔다.
CHAPTER 06
직군별 데이터셋 4종.
내 자리부터 찾는다.
01. 직군별 4종 (총 17명) — CSV 다운로드
강사가 준비한 샘플 CSV — 본인 부서에 가장 가까운 것을 다운로드
| 데이터셋 | 대상 직군 | KPI 4종 | 메인 차트 | 다운로드 |
|---|---|---|---|---|
| ① 사업 공정형 | A군 (6명) 사업단·주택건설·주택기획 | 총사업비·공정률·지연건수·세대수 | 분기 간트 | ⬇ progress.csv |
| ② 인허가·정책형 | B군 (3명) 도시기획·정비기획·임대주택 | 진행중·평균처리일·지연·완료율 | 단계별 칸반 막대 | ⬇ permit.csv |
| ③ 품질·안전형 | C군 (3명) 품질관리·안전관리 | 점검완료율·무사고일수·미시정·위험등급 | 월별 막대+합격률 라인 | ⬇ safety.csv |
| ④ 조직·운영형 | D군 (5명) 경영기획·인사·감사 | 예산집행률·교육이수율·채용·감사시정 | 월별 예산 라인+막대 | ⬇ org_kpi.csv |
① 작업 폴더 만들기
GH-progress 폴더 생성 → 그 안에 Docs 폴더 생성 → 다운받은 progress.csv를 Docs로 이동
② Claude Code 켜고 /init
GH-progress에서 Claude Code 실행 → /init 입력 → CLAUDE.md 자동 생성
02. 표준화 체크리스트 (5분)
Claude에 던지기 전 데이터 손질
1행은 헤더, 1셀은 1값
병합 셀 풀기, 빈 셀에 0 또는 NA
날짜는 YYYY-MM-DD 통일
"2026년 6월" → "2026-06-01"
금액 단위 통일 (억원으로)
"1,000,000,000원" → 10 (억원)
진행률은 0~100 숫자만
"75%" → 75 (% 기호는 분리)
개인정보·민감 식별번호는 더미로
실명·주민번호·내부 식별자는 익명화
CHAPTER 07
단계적 빌드.
5블록을 한 블록씩 쌓는다.
01. 5단계 개요
한 번에 완성 X — 한 블록씩 확인 → 다음 블록
KPI 카드 4종"] --> V1{브라우저
확인} V1 -->|OK| S2["Step 2
진행률 바 5개"] V1 -->|문제| S1 S2 --> V2{확인} V2 -->|OK| S3["Step 3
알림 리스트"] V2 -->|문제| S2 S3 --> V3{확인} V3 -->|OK| S4["Step 4
메인 차트"] V3 -->|문제| S3 S4 --> V4{확인} V4 -->|OK| S5["Step 5
색·폰트·인쇄"] V4 -->|문제| S4 S5 --> DONE["완성
dashboard.html"]
매 Step 끝에 브라우저로 확인 → 다음 Step. "다 만들고 한 번에 확인"은 금지. 무너졌을 때 어디가 깨졌는지 알 수 있어야 한다.
02. ① A군 사업 공정형 (개요)
사업관리 · 공정관리 (강사 라이브 시연 트랙)
예시 링크 ↗데이터: ⬇ progress.csv · 컬럼: 사업명, 블록명, 공정명, 계획률(%), 실적률(%), 사업비_억원, 집행률(%), 세대수, 기준월
STEP 1 · KPI 4종
① 총사업비 = SUM(사업비_억원)
② 평균 공정률 = AVG(실적률)
③ 지연 사업 = COUNT(계획률-실적률 ≥ 7%)
④ 총 세대수 = SUM(세대수)
STEP 2 · 진행률 바 5개
토지보상 → 기반시설 → 부지조성
→ 주택건설 → 주택공급
각 단계 평균 실적률(%)을 수평 바로
STEP 3 · 알림
(계획률 - 실적률) ≥ 7%
→ "지연 알림" 적색 배지 + 사업명
없으면 "이상 없음" 회색
STEP 4 · 메인 차트 (분기 간트)
레인 3개: 인허가·본단지·광역교통
기간: 2024 1분기 ~ 2027 4분기 (16분기)
막대 GH Medium Blue + 마일스톤 원
STEP 5 · 다듬기
GH CI 컬러 통일
#0091da · #004ea2 · #d8eef9
알림만 #ef4444
A4 가로 인쇄 가능
① A군 사업 공정형 · STEP 1 — KPI 카드 4종
데이터·컬럼·계산식·디자인까지 한 번에 명시
① A군 사업 공정형 · STEP 2 — 진행률 바 5개
사업 단계 흐름을 한눈에
① A군 사업 공정형 · STEP 3 — 알림 리스트
지연 사업을 자동으로 적색 표시
① A군 사업 공정형 · STEP 4 — 메인 차트 (분기 간트)
사업 공정형 ①의 메인 — 분기 간트
① A군 사업 공정형 · STEP 5 — 다듬기 (색상 역할 재정의)
블루는 강조에만, 본문·KPI 숫자는 검정
① A군 사업 공정형 · STEP 6 — Plan 모드로 한 방에 (심화)
단계별 빌드를 익혔다면, 이제 처음부터 통합 구현
03. ② B군 인허가·정책형 (개요)
도시기획 · 정비기획 · 임대주택 (3명)
데이터: ⬇ permit.csv · 컬럼: 인허가명, 유형, 접수일, 현재단계, 법정처리일, 담당부서, 보완요청횟수, 예상완료일, 상태
STEP 1 · KPI 4종
① 진행중 = COUNT(상태=진행중)
② 평균 처리일 = AVG(완료일-접수일)
③ 지연 = COUNT(오늘-접수일 > 법정처리일)
④ 완료율 = COUNT(완료)/전체
STEP 2 · 단계별 진행률 바
접수 → 심사 → 보완 → 승인 → 완료
각 단계별 건수와 비율(%)을 수평 바로
(현재단계 컬럼 기준 GROUP BY)
STEP 3 · 알림
법정처리일 D-7 이내 AND 단계=보완
→ "긴급 보완" 적색 배지 + 인허가명
보완요청횟수 3회 이상도 함께 표시
STEP 4 · 메인 차트
단계별 칸반 막대
X축: 접수·심사·보완·승인·완료
각 막대 위에 건수, GH Medium Blue
STEP 5 · 다듬기
GH CI 컬러 통일
#0091da · #004ea2 · #d8eef9
알림만 #ef4444
A4 가로 인쇄 가능
② B군 인허가·정책형 · STEP 1 — KPI 카드 4종
데이터·컬럼·계산식·디자인까지 한 번에 명시
② B군 인허가·정책형 · STEP 2 — 단계별 진행률 바
인허가 처리 흐름을 한눈에
② B군 인허가·정책형 · STEP 3 — 알림 리스트
법정처리일 임박·보완 반복을 자동 적색 표시
② B군 인허가·정책형 · STEP 4 — 메인 차트 (단계별 칸반 막대)
인허가·정책형 ②의 메인 — 단계별 칸반 막대
② B군 인허가·정책형 · STEP 5 — 다듬기 (색상 역할 재정의)
블루는 강조에만, 본문·KPI 숫자는 검정
② B군 인허가·정책형 · STEP 6 — Plan 모드로 한 방에 (심화)
단계별 빌드를 익혔다면, 이제 처음부터 통합 구현
04. ③ C군 품질·안전형 (개요)
품질관리 · 안전관리 (3명)
데이터: ⬇ safety.csv · 컬럼: 점검일, 현장명, 공종, 점검항목, 결과, 위험등급, 시정요구일, 시정완료일, 사고여부
STEP 1 · KPI 4종
① 점검완료율 = COUNT(점검완료)/계획건수
② 무사고일수 = TODAY-MAX(사고일)
③ 미시정 = COUNT(시정요구&NOT 시정완료)
④ 위험등급별 = COUNT(BY 위험등급)
STEP 2 · 시정 단계 바
시정요구 → 조치중 → 시정완료 → 재발방지
각 단계별 건수와 비율(%)
중대 등급은 별도 라벨 표시
STEP 3 · 알림 (2종)
⓵ 위험등급 중대 AND 시정 7일 초과
→ "안전 경고" 적색 배지
⓶ 사고여부=있음
→ "사고 발생" 최상단 적색
STEP 4 · 메인 차트 (콤보)
월별 점검 막대(좌축) + 합격률 라인(우축)
X축: 월(YYYY-MM)
막대 GH Medium Blue, 라인 Dark Blue
STEP 5 · 다듬기
GH CI 컬러 통일
#0091da · #004ea2 · #d8eef9
알림만 #ef4444
A4 가로 인쇄 가능
③ C군 품질·안전형 · STEP 1 — KPI 카드 4종
데이터·컬럼·계산식·디자인까지 한 번에 명시
③ C군 품질·안전형 · STEP 2 — 시정 단계 진행률 바
시정 조치 흐름을 한눈에
③ C군 품질·안전형 · STEP 3 — 알림 리스트 (2종)
중대 위험·사고를 자동 적색 표시
③ C군 품질·안전형 · STEP 4 — 메인 차트 (월별 콤보)
품질·안전형 ③의 메인 — 막대 + 라인 콤보
③ C군 품질·안전형 · STEP 5 — 다듬기 (색상 역할 재정의)
블루는 강조에만, 본문·KPI 숫자는 검정
③ C군 품질·안전형 · STEP 6 — Plan 모드로 한 방에 (심화)
단계별 빌드를 익혔다면, 이제 처음부터 통합 구현
05. ④ D군 조직·운영형 (개요)
경영기획 · 인사 · 감사 (5명)
데이터: ⬇ org_kpi.csv · 컬럼: 부서, KPI명, 월, 계획값, 실적값, 단위, 담당자, 마감일
STEP 1 · KPI 4종
① 예산집행률 = SUM(실적 WHERE KPI=예산)/SUM(계획)
② 교육이수율 (KPI=교육이수율 평균)
③ 채용 진행 = SUM(KPI=신규채용 실적)
④ 감사 시정 = SUM(KPI=감사 시정조치)
STEP 2 · 부서별 달성률 바
부서별 평균 달성률(실적/계획)을
수평 바 5개 (경영기획·인사A·인사B·청렴·…)
각 바 우측에 달성률(%) 표시
STEP 3 · 알림
월말 D-7 이내 AND 달성률 < 70%
→ "KPI 미달 위험" 황색 배지 + KPI명
마감일 지난 KPI는 적색
STEP 4 · 메인 차트 (콤보)
월별 예산 라인(계획·실적 2선) + 집행 막대(실적)
X축: 월(YYYY-MM)
라인 GH Dark Blue, 막대 Medium Blue
STEP 5 · 다듬기
GH CI 컬러 통일
#0091da · #004ea2 · #d8eef9
알림만 #ef4444
A4 가로 인쇄 가능
④ D군 조직·운영형 · STEP 1 — KPI 카드 4종
데이터·컬럼·계산식·디자인까지 한 번에 명시
④ D군 조직·운영형 · STEP 2 — 부서별 달성률 바
부서별 KPI 달성도를 한눈에
④ D군 조직·운영형 · STEP 3 — 알림 리스트
마감 임박·미달 KPI를 자동 표시
④ D군 조직·운영형 · STEP 4 — 메인 차트 (예산 콤보)
조직·운영형 ④의 메인 — 라인 + 막대 콤보
④ D군 조직·운영형 · STEP 5 — 다듬기 (색상 역할 재정의)
블루는 강조에만, 본문·KPI 숫자는 검정
④ D군 조직·운영형 · STEP 6 — Plan 모드로 한 방에 (심화)
단계별 빌드를 익혔다면, 이제 처음부터 통합 구현
CHAPTER 08
현황판 → 의사결정 화면.
룰을 박는다.
01. 직군별 룰 4종
사람이 매번 계산하지 않게, 화면이 직접 결정을 제시
| 직군 | 룰 (IF) | 표시 (THEN) |
|---|---|---|
| A 사업 공정 | 보상 ≥ 95% AND 문화재 ≥ 90% | 착공 가능 |
| B 인허가 | 법정처리일 D-7 이내 AND 단계=보완 | 긴급 보완 |
| C 품질·안전 | 위험등급 중대 AND 시정 7일 초과 | 안전 경고 |
| D 조직·운영 | 월말 D-7 AND 달성률 < 70% | KPI 미달 |
CHAPTER 09
만든 다음에 살아 있게.
저장·공유·갱신.
01. 저장·공유·매주 갱신
한 번 만들고 끝이 아니다 — 매주 30초로 갱신
저장
- • dashboard.html로 저장
- • 더블클릭 → Edge/Chrome에서 실행
- • 보안망 안에서도 로컬 파일은 작동
공유
- • HTML + CSV를 zip으로 묶기
- • 또는 PDF 인쇄 → 주간 보고 첨부
- • 스크린샷 → 카톡 공유
매주 갱신
- • 한 번만 이 프롬프트: "csv를 업로드하면 대시보드가 자동 업데이트되도록 코드를 수정해줘"
- • → 페이지에 CSV 업로드 버튼이 생긴다
- • 다음 주엔 새 CSV만 올리면 페이지가 즉시 다시 그려짐 (재실행·코딩 0)
보안 주의: 개인정보·내부 식별번호·실제 금액은 익명화·요약 후 업로드. 결과 HTML을 공유할 때는 원본 CSV는 분리해서 보관.
CHAPTER 10
마무리.
다시 라이더 화면 앞에서.
01. CLOSING · CALLBACK
처음 우리는 라이더 화면을 봤다.
"배달 라이더는 만 원짜리 결정을 실시간 대시보드 한 화면으로 한다. 우리는 억대 결정을 PDF 30장으로 한다. 결정이 클수록 화면은 더 조악해진다 — 거꾸로 됐다."
오늘 여러분이 만든 5블록 HTML 하나가, 그 뒤집힌 역설을 바로 세우는 첫 화면입니다.
02. ACTION PLAN
내일 출근해서 할 4가지
- 1
설치하라 — 오늘 셋업한 WSL2 + Claude Code 환경을 회사 PC에 그대로 옮긴다.
막히면 Codex에게 한국어로 물어본다.
- 2
다운로드하라 — 본인 직군 샘플 CSV 1개를 다시 열어 컬럼·KPI 계산식을 5분간 읽는다.
그 다음 본인 실데이터 1주일치를 같은 형식으로 정리한다.
- 3
스케치하라 — A4 한 장에 부서장이 보는 5블록 MVD를 손으로 그린다.
WHO·WHAT·WHEN·WHY 한 문장씩 적어둔다.
- 4
발행하라 — Plan 모드를 켜고 스케치 + CSV를 Claude Code에 던져 첫 HTML을 만든다.
이번 주 주간 보고에 첨부해 본다.
03. 마무리
세 가지 질문.
여러분 부서장이 지금 받는 보고는 라이더 화면입니까, PDF 30장입니까?
30초 안에 "다음 공정 진행 가능 여부"를 답할 수 있는 화면을 가지고 있습니까?
만약 옆 자리 동료가 그 화면을 먼저 만들어 가져온다면, 어떤 일이 벌어집니까?
04. KEY TAKEAWAYS
오늘 회사로 가져갈 것
MVD
최소 의사결정 화면 — 5블록 한 장. 다음 회의에서 "우리 부서 MVD"로 호출하라.
Plan 모드
Claude Code Shift+Tab. 코드 쓰기 전 설계부터 합의.
Codex 통합 프롬프트
WSL2 + Ubuntu + Node + Claude Code 한 번에. 설치 6번 → 명령 1번.
직군별 데이터셋 4종
A 사업공정 / B 인허가 / C 품질안전 / D 조직운영. 본인 자리부터.
단계적 빌드
KPI → 진행률 → 알림 → 차트 → 다듬기. 한 블록씩, 한 블록씩.
CSV 업로드 = 자동 갱신
"CSV 올리면 자동 갱신" 코드를 한 번 넣으면, 이후엔 새 CSV만 올려도 페이지가 즉시 다시 그려진다.
감사합니다. — 김혜련 · artetlab