Claude Code Naver Review Pipeline 1시간 완성

Claude Code Naver Review Pipeline 1시간 완성

Claude Code Naver Review Pipeline 1시간 완성

스마트스토어 악성 리뷰와 칭찬을 한눈에 보는 방법

오늘 만들 것
스마트스토어 악성 리뷰와 칭찬을 한눈에 보는 방법

스마트스토어를 운영하다 보면 리뷰가 쌓이는 건 반갑지만, 솔직히 수십 개씩 읽다 보면 눈이 핑핑 돌더라구요. 어떤 상품에서 문제가 자주 생기는지, 고객들이 진짜 좋아하는 포인트가 뭔지 일일이 확인하는 것도 꽤 고역이구요. 그래서 오늘은 리뷰 데이터를 한 번에 정리해서 긍정과 부정 비율, 그리고 자주 나오는 키워드를 한눈에 보여주는 대시보드를 만들어 보려고 합니다. 저번 편에서 만든 마진 계산기와 같이 두면, 내 숍의 상태를 훨씬 더 또렷하게 볼 수 있을 거예요.

필요한 도구는 딱 하나만 있으면 됩니다

필요한 도구는 딱 하나만 있으면 됩니다

준비물은 거창하게 여러 개 챙길 필요 없구요. Claude Code 하나만 깔려 있으면 됩니다. 터미널 환경이 낯설어도 그냥 제가 알려드리는 프롬프트를 그대로 복사해서 넣으면 되니까 걱정하지 마세요. 코드를 한 줄도 몰라도 5분 만에 그럴싸한 대시보드가 브라우저에 뜨는 걸 보게 되실 겁니다.
리뷰 분석기 한 단계씩 조립하기

리뷰 분석기 한 단계씩 조립하기

우선 큰 틀부터 잡아놓고 기능을 하나씩 붙여나가야 꼬이지 않거든요. 천천히 따라와 보세요.

1
CSV 파일 불러오기와 기본 틀 잡기

우리가 가지고 있는 네이버 스마트스토어 리뷰 CSV 파일을 브라우저에서 읽을 수 있는 뼈대부터 만들어야 합니다. 먼저 Claude Code에 아래 프롬프트를 던져서 `index.html` 파일을 하나 뽑아내세요.

AI에게 보낸 프롬프트
Create a single HTML file named index.html for a Naver SmartStore review analysis dashboard. It should have a clean file input that accepts a CSV file, parses the CSV containing columns 'Date', 'Rating', and 'Content', and displays the raw reviews in a table below. Keep it simple and use standard styling for now.

이렇게 시키는 이유는 처음부터 디자인이나 고급 분석까지 한꺼번에 요구하면 AI가 코드를 작성하다가 꼬이거나 멈추는 일이 잦기 때문입니다. 일단 파일이 제대로 읽히고 표가 잘 나오는지부터 눈으로 확인하는 게 순서입니다. 실행하면 폴더에 `index.html` 파일이 만들어질 텐데요, 브라우저로 열어서 리뷰가 잘 뜨는지 한번 넣어보세요.

2
Chart.js로 평점 분포 한눈에 그리기

데이터가 로딩되는 걸 확인했으니 이제 평점 분석을 시각화해 줄 그래프를 얹을 차례입니다. 다시 Claude Code를 켜고 다음 명령어를 쳐줍니다.

AI에게 보낸 프롬프트
Modify the index.html to integrate Chart.js. When a CSV is uploaded, calculate the distribution of ratings (from 1 to 5 stars) and display a horizontal bar chart of rating counts. Also, add a summary card that shows the average rating and the total number of reviews.

이렇게 하면 Chart.js 라이브러리가 자동으로 추가되구요, CSV 파일이 들어오는 순간 1점부터 5점까지 개수를 싹 세서 막대그래프로 보여줍니다. 평균 별점도 소수점 둘째 자리까지 딱 계산해서 카드에 박아주는데, 이 화면만 봐도 내 상품의 평점 상태가 어떤지 바로 파악할 수 있더라구요.

3
주요 키워드 추출 기능과 디자인 입히기

마지막으로 어떤 단어가 제일 많이 나왔는지 주요 키워드를 뽑고, 화면을 밤에 봐도 눈이 덜 피곤한 다크 모드 스타일로 세련되게 바꿔보겠습니다.

AI에게 보낸 프롬프트
Update the index.html to add a keyword extraction section. Parse the 'Content' column of the reviews, filter out common Korean postpositions (은, 는, 이, 가, 을, 를, 에, 의), count the most frequent words (longer than 2 characters), and display the top 10 keywords as pill-shaped tags. Apply a premium dark mode design using Inter font, subtle glassmorphism cards, and smooth hover animations.

단어를 쪼갤 때 은, 는, 이, 가 같은 쓸데없는 조사는 제외해 달라고 한 게 포인트입니다. 이렇게 해야 진짜 고객이 쓴 중요한 단어들만 걸러져서 나옵니다. 보라색과 검은색 톤이 섞인 트렌디한 디자인까지 싹 입혀지는데, 솔직히 웬만한 상용 툴 부럽지 않은 대시보드가 순식간에 완성되더라구요.

이거 만들다가 에러 나면 여기 보세요

바이브 코딩으로 뚝딱 조립하다 보면 이상한 구석에서 막히기 마련인데요, 대표적인 경우 몇 가지만 모았습니다.

문제 1: CSV 파일을 업로드했는데 표에 아무것도 안 나옵니다.
원인은 스마트스토어에서 내려받은 CSV 파일의 첫 줄, 그러니까 헤더에 적힌 열 이름이 대시보드가 찾는 'Date', 'Rating', 'Content'와 다르기 때문인데요, 한글로 '등록일', '평점', '리뷰상세내용'처럼 되어 있는 경우가 많습니다. 해결을 위해서는 CSV 파일을 텍스트 에디터로 열어서 첫 행의 이름을 영어로 고쳐주거나, Claude Code에게 한글 헤더도 지원하도록 `index.html`의 파싱 로직을 고쳐달라고 추가로 요청하시면 됩니다.

문제 2: 키워드 분석 태그에 쓸모없는 한 글자짜리 단어만 가득합니다.
원인은 리뷰 본문에서 단어를 쪼갤 때 글자 수 제한을 두지 않아서 '잘', '더', '안' 같은 의미 없는 글자들이 빈도수 1위를 먹었기 때문인데요, 로직이 단순할수록 이런 잡음이 많이 낍니다. 해결을 하려면 프롬프트에 적었던 대로 글자 수 조건을 2글자 이상으로 명확히 걸어두었는지 코드 내부의 `filter` 함수를 다시 확인하고, 필요하다면 제외할 불용어 목록을 자바스크립트 배열에 추가해 주면 깔끔하게 정리됩니다.

문제 3: 파일 크기가 좀 큰 CSV를 넣었더니 브라우저가 버벅거립니다.
원인은 수천 건의 리뷰 데이터를 한 번에 HTML 테이블로 전부 렌더링하면서 웹 브라우저의 메모리가 부담을 받았기 때문인데요, DOM 요소가 많아지면 생기는 현상입니다. 해결을 위해 테이블 표시 부분에 페이징 처리, 그러니까 한 페이지에 10개나 20개씩 끊어 보는 방식을 넣도록 코드를 짜 달라고 하거나, 차트 연산과 키워드 추출 로직만 남기고 상세 테이블은 상위 50개만 보여주도록 조절하면 브라우저가 다시 쾌적하게 돌아갈 겁니다.

다음에는 이런 기능도 얹어볼 수 있겠네요

한 걸음 더

여기까지 만들고 나면 내 스마트스토어의 주간 리뷰 흐름이 손바닥 보듯 훤해질 텐데요. 여기에 OpenAI API나 Claude API 같은 백엔드 파이프라인을 얹어준다면, 1점이나 2점짜리 악성 리뷰가 들어왔을 때 사장님 텔레그램이나 디스코드로 즉시 경고 알림을 보내주는 실시간 모니터링 경보망으로도 확장할 수 있습니다. 다음번에는 이 데이터를 서버랑 연동해서 진짜 무인으로 돌아가게 자동화하는 단계를 보여드릴게요.

관련 검색어

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 네이버 스마트스토어 사용법
  • 🔍 네이버 스마트스토어 비교
  • 🔍 리뷰 분석 사용법
  • 🔍 리뷰 분석 비교

댓글 쓰기

다음 이전