Show GN: 반품랩탑 - AI가 다나와 데이터와 오픈마켓 반품 특가를 매핑해 진짜 가성비 반품 노트북을 찾아주는 서...

2 hours ago 1

안녕하세요. 대형 오픈마켓에서 쏟아지는 반품 노트북을 볼 때마다, 실제 스펙을 정확히 확인하고 다나와의 최저가와 비교하는 데 큰 피로감을 느꼈습니다.

이를 해결하기 위해, 흩어진 상거래 플랫폼의 노트북 특가 정보와 다나와의 방대한 데이터베이스를 AI로 통합하고 가시화하는 '반품랩탑(Banpoom Laptop)'을 개발하게 되었습니다.

Link: https://banpoomlaptop.com

1. 사용 기술 스택 (Tech Stack)

프론트엔드부터 데이터 파이프라인까지 전체 구조를 새롭게 구축했습니다.

  • Frontend: Next.js 16 (App Router), React 19, Tailwind CSS v4, Zustand

  • Backend / Database: Node.js, Next API Routes, MongoDB (Aggregation Pipeline), Redis

  • Crawling / Pipeline: Python (curl_cffi), Puppeteer, PM2 (백그라운드 데몬)

  • AI / Data Matcher: OpenRouter API (Qwen 3.5), BM25 (유사도 검색 알고리즘)

2. 개발 과정의 주요 고난이도 point

이번 프로젝트를 구성하며 단순한 웹 개발을 넘어, 데이터 수집과 정제 파이프라인 구간에서 여러 어려운 과제들에 직면했습니다.

A. 비정형 데이터 정규화 및 이기종 플랫폼 간 크로스 매핑

가장 큰 난관은 '오픈마켓 반품 노트북의 제각각인 제목'과 '다나와의 복잡한 스펙명'을 매칭하는 일이었습니다. 표기법이 벤더마다 달라 일반 DB Join이나 정규식으로는 한계가 뚜렷했습니다.
이를 해결하기 위해 2-Step AI 파이프라인을 구축했습니다.

  1. BM25 텍스트 유사도 알고리즘을 사용해 방대한 다나와 DB에서 1차 후보 모델을 먼저 추출합니다.
  2. 검색된 후보군들을 Qwen 3.5 기반 LLM(대형 언어 모델) 컨텍스트 창에 넘겨 문맥을 해석하게 하고, 정확한 고유 파생 모델(pcode)을 찾아내도록 설계했습니다. 나아가 다나와의 긴 텍스트 스펙을 LLM이 실시간 JSON으로 구조화하는 작업까지 백그라운드 워커에 위임했습니다.

B. 고도화된 메인 랭킹 알고리즘 (Hidden Score) 추론 로직 적용

오픈마켓 데이터는 기본적으로 '할인율'이 가장 커 보이지만, 연식이 오래된 악성 재고가 많은 점이 문제였습니다.
이를 해결하기 위해 MongoDB의 Aggregation 파이프라인 내부에서 스코어 = 할인율 + (성능 수치 / 현재가) - 연식 페널티를 계산하는 '히든 스코어' 시스템을 심었습니다. 단순히 조건 필터링에서 끝나지 않고, 22년식 이전 모델은 -50점 페널티, 25~26년식 최신 모델은 +20점의 가중치를 부여해 상단 쉘프(Shelf)에 진짜 가성비 장비만 우선 노출되도록 처리했습니다.

3. 마무리

프론트엔드는 Zustand와 Next.js 파라미터 연동을 통해 수십 개의 다중 스펙 필터들(패널, 제조사, 무게, TGP 등)이 즉각적으로 매끄럽게 반응하도록 최적화 해두었습니다.
LLM을 단순 챗봇의 용도가 아닌, 백그라운드 파이프라인 안에서의 '비정형 데이터 정규화 파서' 및 '스마트 매처'로 본격 도입해 본 점이 엔지니어로서 가장 뜻깊은 경험이었습니다. 데이터 크롤링, AI 매칭, 혹은 Next 개발 환경 쪽에 관심 있으신 분들의 의견 교환이나 피드백 모두 환영합니다.

Read Entire Article