배경 Context
광고를 집행하려는 마케터는 적합한 광고상품을 찾기 위해 구글 검색에 많은 시간을 쏟고 있었습니다. 상품 정보 대부분이 매체사가 각자 배포하는 PDF 소개서 안에 있어, 비교하려면 소개서를 일일이 받아 열어봐야 했습니다. 매체마다 담는 항목과 표현이 달라 기준을 맞추기 어려웠고, 운영자 역시 소개서를 읽고 상품 정보를 손으로 옮겨 적어야 상품 하나가 등록되는 구조였습니다.



광고상품마켓

광고상품마켓
위픽업은 매체사가 배포하는 PDF 소개서에 갇혀 있던 광고상품 정보를 자동으로 수집해 상품 데이터로 바꾸고, 검색부터 견적·결제까지 한 곳에서 끝내는 광고상품마켓입니다. Puppeteer 크롤러가 매체사 홈페이지를 1시간마다 돌며 소개서 PDF를 모으면, PDF를 페이지 이미지로 쪼개 Gemini 비전 모델이 읽고 구조화된 상품 데이터로 변환합니다. 운영자는 백지에서 입력하는 대신 AI가 만든 초안을 검수해 발행합니다. 광고주·대행사·매체사·운영자 네 사용자군을 NestJS 백엔드 하나로 묶고, 위픽업·위픽레터·위픽부스터가 계정을 공유하는 통합 로그인까지 함께 구축했습니다.
위픽업은 매체사가 배포하는 PDF 소개서에 갇혀 있던 광고상품 정보를 자동으로 수집해 상품 데이터로 바꾸고, 검색부터 견적·결제까지 한 곳에서 끝내는 광고상품마켓입니다. Puppeteer 크롤러가 매체사 홈페이지를 1시간마다 돌며 소개서 PDF를 모으면, PDF를 페이지 이미지로 쪼개 Gemini 비전 모델이 읽고 구조화된 상품 데이터로 변환합니다. 운영자는 백지에서 입력하는 대신 AI가 만든 초안을 검수해 발행합니다. 광고주·대행사·매체사·운영자 네 사용자군을 NestJS 백엔드 하나로 묶고, 위픽업·위픽레터·위픽부스터가 계정을 공유하는 통합 로그인까지 함께 구축했습니다.


Problem
광고를 집행하려는 마케터는 적합한 광고상품을 찾기 위해 구글 검색에 많은 시간을 쏟고 있었습니다. 상품 정보 대부분이 매체사가 각자 배포하는 PDF 소개서 안에 있어, 비교하려면 소개서를 일일이 받아 열어봐야 했습니다. 매체마다 담는 항목과 표현이 달라 기준을 맞추기 어려웠고, 운영자 역시 소개서를 읽고 상품 정보를 손으로 옮겨 적어야 상품 하나가 등록되는 구조였습니다.
광고상품 정보가 비정형 PDF에 갇혀 있어 수집도 비교도 사람 손에 의존했습니다. 소개서를 자동으로 수집해 판매 가능한 상품 데이터로 바꾸고, 검색부터 거래까지 한 흐름으로 잇는 구조가 필요했습니다.
Problem
광고를 집행하려는 마케터는 적합한 광고상품을 찾기 위해 구글 검색에 많은 시간을 쏟고 있었습니다. 상품 정보 대부분이 매체사가 각자 배포하는 PDF 소개서 안에 있어, 비교하려면 소개서를 일일이 받아 열어봐야 했습니다. 매체마다 담는 항목과 표현이 달라 기준을 맞추기 어려웠고, 운영자 역시 소개서를 읽고 상품 정보를 손으로 옮겨 적어야 상품 하나가 등록되는 구조였습니다.
광고상품 정보가 비정형 PDF에 갇혀 있어 수집도 비교도 사람 손에 의존했습니다. 소개서를 자동으로 수집해 판매 가능한 상품 데이터로 바꾸고, 검색부터 거래까지 한 흐름으로 잇는 구조가 필요했습니다.
Solution & Key Features
Puppeteer 크롤러가 매체사 홈페이지를 1시간마다 돌며 광고 소개서 PDF를 찾아 모읍니다. 수집한 PDF는 페이지 이미지로 쪼개 Gemini 비전 모델이 읽고 매체유형·타겟·상품정보가 담긴 구조화 데이터로 되돌려줍니다. 응답 JSON이 깨지면 Claude가 복구하고, 같은 소개서는 MD5 해시로 걸러내 크론이 반복돼도 다시 처리하지 않습니다.


매체마다 제각각이던 소개 자료를 AI가 Q&A형 리포트인 위픽Q로 정리하고 운영자가 다듬어, 마케터가 같은 기준으로 매체를 비교할 수 있게 했습니다. 상세 화면에서 소개서 다운로드·견적 문의·스크랩이 바로 이어지고, 공유는 로그로 집계해 어떤 상품이 실제로 퍼지는지 확인합니다.


AI가 소개서에서 추출한 태그와 매체유형·업종·광고목적을 그대로 검색 필터로 씁니다. 키워드는 상품명뿐 아니라 매체소개·콘텐츠리포트·추출태그까지 훑고, 결과는 특가상품·광고상품·광고사례 세 탭으로 나뉘어 소개서 갱신순·인기순으로 정렬됩니다. 필터 선택지는 운영자가 코드 수정 없이 사전 테이블에서 바꿉니다.


운영자가 직접 편성하는 큐레이션으로 「2030에게 반응 좋은 광고상품」처럼 목적에 맞춰 상품을 묶어 보여줍니다. 기간 한정 특가는 할인율과 남은 기간을 함께 노출하고, 노출 순서와 공개 상태까지 어드민에서 조정합니다.


관심상품과 소개서 다운로드·견적 문의를 모아보기에 쌓아두고 그대로 주문서로 넘어가 카드·가상계좌로 결제합니다. 외부 견적 시스템과 연동해 견적서 상태 변경이 웹훅으로 주문에 반영되고, 문의는 CRM에 리드로 자동 생성됩니다. 세금계산서와 사업자 인증까지 붙인 B2B 거래 플로우입니다.


Solution & Key Features
Puppeteer 크롤러가 매체사 홈페이지를 1시간마다 돌며 광고 소개서 PDF를 찾아 모읍니다. 수집한 PDF는 페이지 이미지로 쪼개 Gemini 비전 모델이 읽고 매체유형·타겟·상품정보가 담긴 구조화 데이터로 되돌려줍니다. 응답 JSON이 깨지면 Claude가 복구하고, 같은 소개서는 MD5 해시로 걸러내 크론이 반복돼도 다시 처리하지 않습니다.


매체마다 제각각이던 소개 자료를 AI가 Q&A형 리포트인 위픽Q로 정리하고 운영자가 다듬어, 마케터가 같은 기준으로 매체를 비교할 수 있게 했습니다. 상세 화면에서 소개서 다운로드·견적 문의·스크랩이 바로 이어지고, 공유는 로그로 집계해 어떤 상품이 실제로 퍼지는지 확인합니다.


AI가 소개서에서 추출한 태그와 매체유형·업종·광고목적을 그대로 검색 필터로 씁니다. 키워드는 상품명뿐 아니라 매체소개·콘텐츠리포트·추출태그까지 훑고, 결과는 특가상품·광고상품·광고사례 세 탭으로 나뉘어 소개서 갱신순·인기순으로 정렬됩니다. 필터 선택지는 운영자가 코드 수정 없이 사전 테이블에서 바꿉니다.


운영자가 직접 편성하는 큐레이션으로 「2030에게 반응 좋은 광고상품」처럼 목적에 맞춰 상품을 묶어 보여줍니다. 기간 한정 특가는 할인율과 남은 기간을 함께 노출하고, 노출 순서와 공개 상태까지 어드민에서 조정합니다.


관심상품과 소개서 다운로드·견적 문의를 모아보기에 쌓아두고 그대로 주문서로 넘어가 카드·가상계좌로 결제합니다. 외부 견적 시스템과 연동해 견적서 상태 변경이 웹훅으로 주문에 반영되고, 문의는 CRM에 리드로 자동 생성됩니다. 세금계산서와 사업자 인증까지 붙인 B2B 거래 플로우입니다.

