RFQ Tracker
● Internal · AWS-only · Multi-industry B2B

전 세계 RFQ를 검증된 바이어 리드로 바꾸는 아웃바운드 엔진

7개 B2B 소싱 사이트에서 RFQ를 지속 수집하고, AI로 분류·중복 제거·연락처 검증을 거쳐 영업 담당(VA)에게 일 600~1,000건의 고품질 리드를 테이블로 제공합니다. inbound 영업을 proactive lead engine으로 전환하는 내부 플랫폼.

Next.js 16.2 React 19.2 Python 3.12 AWS CDK v2 Aurora + pgvector Claude · Gemini
7
B2B 소싱 소스
600–1K
일일 리드 목표
<60s
이메일 enrich 응답
$700
월 비용 하드 캡
Input Sources

입력 소스 — 7개 B2B 소싱 사이트

각 사이트는 봇 차단 방식이 달라 소스별 전용 스크레이핑 전략을 사용합니다. DynamoDB 기반 Circuit Breaker가 소스별로 동작해 5회 연속 실패 시 자동 비활성화하고, 6시간마다 쿠키를 리프레시합니다.

소스수집 전략수집 방식특이사항상태
Made-in-Chinacurl_cffi목록 + 상세 페이지Chrome 146 TLS 임퍼소네이션Phase 1
TradeWheelcurl_cffi목록 + 상세 페이지표준 HTTP 수집Phase 1
EC21curl_cffi목록 + 상세 페이지표준 HTTP 수집Phase 1
BeauteTradePatchright헤드리스 브라우저 + 쿠키6시간 쿠키 리프레시 · Secrets Manager 저장Phase 1
TradeKeysitemapsitemap + 상세 페이지대량 백필 (월 100K 캡)Phase 1
BeautySourcingsupplier acct공급사 계정 로그인계정 승인 대기 중Phase 4
Go4WorldCamoufox · KR IPFargate Spot 브라우저AWS WAF 우회 · 한국 ISP 고정 IP 필요Phase 4
curl_cffi — Chrome TLS 핑거프린트 위장 Patchright — 쿠키 인증 사이트 Camoufox — WAF 차단 사이트 (Fargate) Decodo — 레지덴셜 / KR 고정 프록시
Data Flow

수집부터 검증까지, 5단계 파이프라인

EventBridge 크론으로 시작해 Aurora pgvector에 적재되기까지, 각 단계가 독립적으로 동작하며 자동 복구·중복 제거·비용 게이트를 갖춥니다.

[ 7개 소스 ]
     │  EventBridge Scheduler (소스별 cron · 5분 flex window)
     ▼
Lambda / Fargate 스크레이퍼  ── curl_cffi · Patchright · Camoufox
     │  Circuit Breaker (DynamoDB · 5회 실패 시 차단)SQS Standard ──► raw HTML → S3 (CMK 암호화 · 30일 후 Glacier)
     │
     ▼
Step Functions — Distributed Map  (소스별 DAG 병렬)
     ├─ ① Normalize   raw HTML → title·country·quantity·description
     ├─ ② Embed       Gemini embedding → halfvec(1536)
     └─ ③ Dedup       pgvector cosine + SQS FIFO + advisory lock
     ▼
Aurora Serverless v2 + pgvector 0.8  ── UNIQUE(source, url) ON CONFLICT
     │
     ├──► ④ Classifier  Haiku 4.5 · Batch API (15분 cron submitter→poller)
     │        is_beauty = high / medium / low / no   (배치 50% 비용 절감)
     │
     └──► ⑤ Research Agent  VA "Find email" 클릭 (Server Action)
              Sonnet 4.6 오케스트레이터 → Haiku 4.5 워커 병렬 (extended thinking)
              tools: serper_search · web_fetch · verify_email · submit_finding
              Reoon → ZeroBounce 검증 → enrichments INSERT (citation 필수)
              │
              ▼  Postgres NOTIFY → SSE
       Next.js VA 워크스페이스  ── <60초 내 검증된 이메일·전화·도메인 표시
1

수집 (Ingestion)

Made-in-China·TradeWheel·EC21·BeauteTrade·TradeKey 등 소스별 스크레이퍼가 크론으로 RFQ를 긁어옵니다. Chrome TLS 임퍼소네이션과 헤드리스 브라우저로 봇 차단을 우회하고, 소스별 Circuit Breaker가 연속 실패 시 자동 비활성화.

curl_cffiPatchrightCamoufox · FargateEventBridge
2

정규화 & 임베딩

Step Functions Distributed Map이 raw HTML을 표준 RFQ 구조로 정규화하고, Gemini로 1536차원 halfvec 임베딩을 생성합니다.

Step Functionsgemini-embedding-001halfvec(1536)
3

중복 제거 (Dedup)

pgvector 코사인 유사도로 동일 RFQ를 탐지하고, SQS FIFO + Postgres advisory lock으로 소스별 직렬화해 race를 방지합니다. 같은 바이어의 여러 RFQ는 buyer cluster로 묶어 중복 메일 발송을 차단.

pgvector cosineSQS FIFOadvisory lock
4

AI 분류 (Classifier)

Claude Haiku 4.5가 Anthropic Batch API로 RFQ가 대상 산업군에 해당하는지 high/medium/low/no로 분류합니다. 배치 처리로 50% 비용 절감, 15분 크론 submitter/poller 구조로 디커플링.

Haiku 4.5Batch API · 50%↓
5

연구 에이전트 (Enrichment)

VA가 "Find email"을 누르면 Sonnet 4.6 오케스트레이터가 Haiku 워커를 병렬로 띄워 Serper 검색·web_fetch로 의사결정자 이메일·전화·도메인을 찾고, Reoon→ZeroBounce로 검증해 60초 안에 SSE로 화면에 푸시합니다.

Sonnet 4.6 orchestratorSerperZeroBounceSSE LISTEN/NOTIFY
Capabilities

핵심 기능

스크레이핑·AI·운영을 하나의 모노레포로 묶어, 데이터 품질과 비용을 동시에 관리합니다.

🛰️

멀티소스 스크레이핑

7개 B2B 소싱 사이트를 소스별 어댑터로 수집. WAF·쿠키·sitemap 등 각 사이트 특성에 맞춘 전략과 6시간 쿠키 리프레시.

🧠

2단계 AI 파이프라인

Stage-1 Haiku 분류기 + Stage-2 Sonnet/Haiku 연구 에이전트. extended thinking과 인용(citation) 기반으로 검증 가능한 결과만 저장.

✉️

이메일 검증 캐스케이드

Reoon 사전 필터 → ZeroBounce 본검증으로 catch-all·role·invalid 상태를 구분. 도메인별 30일 캐시 + 반송 피드백으로 품질 유지.

실시간 VA 워크스페이스

canonical RFQ 테이블 + Saved Views 탭, Cmd-K 팔레트, j/k/e/c 키보드 단축키. 우측 패러렐 라우트 Sheet로 enrichment 상세 확인.

🔁

셀프 힐링 & DR

셀렉터가 깨지면 Opus 4.7이 CSS 셀렉터를 자동 패치. S3 raw HTML 리플레이로 재해 복구, drift canary가 필드별 null rate를 감시.

🛡️

비용·보안 가드레일

Cost Anomaly $700/월 하드 컷오프 + killswitch Lambda, CloudWatch 이메일 마스킹, Google Workspace OIDC(hd 강제), KMS CMK 암호화.

Monorepo

아키텍처 — 3개 워크스페이스, 하나의 Aurora

웹·워커·인프라가 독립적으로 배포되며 단일 Aurora Postgres를 공유합니다. (pnpm 11 모노레포)

apps/web Next.js · TS
  • App Router · RSC · Server Actions
  • VA 리드 테이블 · TanStack Table/Virtual
  • Drizzle ORM · RDS Proxy 경유
  • Auth.js v5 · Google OIDC
  • SSE 실시간 enrichment 푸시
  • App Runner 배포 · WAFv2
apps/workers Python · uv
  • 소스별 스크레이퍼 7종
  • Haiku 분류기 · Batch API
  • Gemini 임베더 · asyncpg
  • Sonnet+Haiku 연구 에이전트
  • 셀프 힐러 · Opus 4.7
  • Lambda(SnapStart) · Fargate Spot
infra AWS CDK v2
  • Network · Data · Secrets
  • Aurora Serverless v2 · scale-to-zero
  • RDS Proxy · S3(CMK) · ECR
  • EventBridge · Step Functions · SQS
  • Observability · Cost Anomaly
  • Secrets Manager + SSM
Tech Stack

2026 최신 스택

프론트·백엔드·AI·인프라 모두 현행 최신 버전 기준.

Frontend

Next.js16.2 · Turbopack
React19.2 · Compiler
StylingTailwind 4 · Base UI
DataTanStack Query/Table
AuthAuth.js v5
ValidationZod 4 · nuqs

Workers (Python)

RuntimePython 3.12 · uv
HTTP/TLScurl_cffi · httpx
Parsingselectolax · lxml
DBasyncpg · pgvector
AIanthropic · google-genai
Qualityruff · pyright · pytest

AI Models

분류Claude Haiku 4.5
연구 오케스트레이터Claude Sonnet 4.6
셀프 힐러Claude Opus 4.7
임베딩gemini-embedding-001
검색Serper.dev
이메일 검증Reoon → ZeroBounce

AWS Infra

DBAurora SLS v2 · PG18
ComputeLambda Graviton · Fargate
OrchestrationStep Functions · SQS
Web hostApp Runner · WAFv2
SecretsSecrets Mgr · SSM
Cost cap$700/mo killswitch
Live on AWS · ap-northeast-2 (Seoul)

실제 배포 현황

AWS 계정 793175550504 서울 리전에서 프로덕션 가동 중. 아래는 실제 배포된 리소스를 전수 조회(2026-06-22)한 결과로, PLAN 문서 대비 멀티산업·멀티리전으로 크게 확장되어 있습니다.

50
Lambda 함수
61
EventBridge 스케줄
17
SQS 큐 (DLQ 포함)
5
S3 버킷
서비스배포 상태세부
Lambda50개 가동Python 워커=컨테이너이미지·ARM64 / 웹·JS=nodejs22.x
Aurora Serverless v2availableaurora-postgresql 17.7 · 0–16 ACU · scale-to-zero · rfq-aurora-prod
Step FunctionsSTANDARDrfq-scrape-workflow-prod
SQS17개scrape·classifier·dedupe(FIFO)·research·match·campaign + DLQ
EventBridge Scheduler61개소스별 크론 (5min~weekly·monthly)
DynamoDB1개rfq-web-tag-cache-prod
S35개corpus-data · exports · web-assets · web-cache · web-cf-logs
웹 호스팅Lambda + CloudFrontrfq-web-server-prod(nodejs22·arm64) + CloudFront + WAFv2 (App Runner 아님)
Secrets / SSMSecrets Mgr 2 · SSM ~19db-creds·oauth-google / anthropic·gemini·serper·capsolver·millionverifier 등
RDS Proxy미배포현재 직접 연결 (PLAN의 Proxy 미사용)

PLAN 문서 대비 실제 진화

🌏

멀티리전 소스 확장

뷰티 7종을 넘어 Alibaba·ExportersIndia·GlobalBuyers·TradeKorea와 일본(Rakuten·Yahoo·Cosme·CITE), 규제 DB(KR MFDS·China NMPA·US FDA·Malaysia NPRA·Taiwan TFDA·BPOM)까지 수집.

🧮

분류·임베딩 다변화

Claude Haiku Batch 분류기에 더해 Qwen 분류기·임베더(rfq-qwen-classify·rfq-gemini-embed) 병행. self-heal은 Opus(rfq-selfheal-opus)로 가동.

검증·우회 스택 교체

이메일 검증은 ZeroBounce 대신 MillionVerifier. 캡차는 Capsolver, 프록시는 Webshare로 운영 — 실전 안티봇 대응에 맞춰 조정.

Build Phases

빌드 로드맵

각 페이즈는 검증 게이트를 통과해야 다음으로 넘어갑니다.

Phase 0
Day 1–2

Foundation — Next.js 16 + Aurora + Google 로그인, CDK 스택, KMS·Drizzle 마이그레이션, CSP·rate-limit, 비용 killswitch.

✓ Hojin 로그인 성공 · 외부 도메인 거절
Phase 1
Day 3–5

Ingestion — 5개 소스 스크레이퍼, Circuit Breaker, 쿠키 리프레시, /sources 페이지, 24시간 실증 수집.

✓ 24h 후 1,000+ rows · DLQ 없음
Phase 2
Day 6–8

AI Pipeline — Batch 분류기, Distributed Map(정규화→임베딩→dedup), 연구 에이전트 + SSE, buyer cluster.

✓ "Find email" 클릭 60초 내 검증 이메일
Phase 3
Day 9–10

Polish & Ops — 셀프 힐러, DR 리플레이, CSV 내보내기+감사, Saved Views·Cmd-K, RUNBOOK·LIA 문서.

✓ Clean clone → 배포+로그인 < 2h
Phase 4+
Deferred

Expansion — BeautySourcing·Go4World 소스, Smartlead/Instantly 아웃리치 연동, 한국어 UI, 멀티테넌트 제품화.