cherrypicker Svelte Themes

Cherrypicker

Compare card spending and find the best card mix for each purchase, based on your statement and card rules

CherryPicker

CherryPicker

내 소비에 맞는 카드 조합 찾기

Demo · 카드 데이터


뭐하는 건가요

카드마다 할인 항목도 다르고, 전월실적 조건도 다르고, 한도도 달라서 매번 어떤 카드를 써야 할지 헷갈려요. CherryPicker는 카드 명세서를 넣으면 항목별로 어떤 카드가 가장 이득인지 계산해 줘요.

한 장짜리로 밀어 쓸 때보다 얼마나 더 아낄 수 있는지도 비교할 수 있어요.

CherryPicker analyzes your credit card statement and finds the best card for each spending category, factoring in performance tiers, monthly caps, and reward types across 683 cards from 24 Korean issuers.


주요 기능

  • 명세서 분석: CSV, Excel, PDF 파일을 올리면 알아서 읽고 항목별로 분류
  • 거래 분류: 350개 이상 키워드 매칭 기반 분류 + 수동 수정 지원. 브라우저 AI 보조 분류는 자체 호스팅 런타임이 준비될 때까지 비활성화되어 있어요
  • 카드 추천: 전월실적, 할인한도까지 따져서 항목별로 가장 이득인 카드 조합 계산
  • 절약 비교: 카드 한 장으로 쓸 때와 체리피킹했을 때 차이를 한눈에
  • 683개 카드 데이터: 24개 카드사 혜택을 YAML로 정리
  • 웹 대시보드: GitHub Pages에서 바로 사용 가능. 기본 분석은 브라우저에서 처리돼요
  • CLI: 터미널에서 명세서 분석

거래 분류 방식

명세서에서 읽은 거래를 항목별로 나누는 과정이에요.

  1. 키워드 매칭 (350개 이상): "스타벅스"는 카페, "쿠팡"은 온라인쇼핑처럼 가맹점 이름으로 바로 분류
  2. AI 임베딩 (준비 중): 자체 호스팅된 런타임으로 전환되기 전까지는 기본 비활성화 상태예요
  3. 수동 수정: 거래 목록에서 드롭다운으로 직접 고칠 수 있어요. 고친 다음 "변경 적용"을 누르면 추천이 다시 계산돼요

지원 카드사

카드사 카드 수 카드사 카드 수
신한카드 65 카카오뱅크 9
현대카드 48 수협은행 8
삼성카드 47 MG새마을금고 8
롯데카드 47 토스뱅크 5
KB국민카드 47 케이뱅크 5
하나카드 45 신협 4
우리카드 42 KDB산업은행 2
IBK기업은행 35 우체국 2
NH농협카드 34 제주은행 19
iM뱅크 21 BNK 19
BC카드 18 전북은행 11
SC제일은행 10 광주은행 10

기술 스택

Astro 6, Svelte 5, Tailwind CSS 4
파싱 PapaParse, SheetJS, pdfjs-dist
AI 분류 비활성화 상태 (자체 호스팅 런타임 준비 중)
데이터 Zod, YAML, 561개 카드 규칙
배포 GitHub Pages (정적 사이트)
CLI/스크래퍼 Bun, Claude API
언어 TypeScript 6

프로젝트 구조

cherrypicker/
├── apps/web/              # Astro 정적 웹앱 (GitHub Pages)
│   ├── src/lib/parser/    # 브라우저용 파서 (CSV, XLSX, PDF)
│   ├── src/lib/analyzer.ts # 분석 파이프라인
│   ├── src/lib/categorizer-ai.ts # 비활성화된 AI 분류기 자리표시자
│   └── public/data/       # 빌드된 cards.json
├── packages/
│   ├── core/              # 분류기, 계산기, 옵티마이저 (순수 TS)
│   ├── parser/            # Node/Bun용 파서 (CLI에서 사용)
│   ├── rules/data/cards/  # 카드사별 YAML (561개)
│   └── viz/               # 터미널 테이블, HTML 리포트
├── tools/
│   ├── cli/               # CLI 진입점
│   └── scraper/           # Claude API로 카드 혜택 수집
└── scripts/build-json.ts  # YAML → JSON 빌드

사용법

hletrd.github.io/cherrypicker에서 바로 써 볼 수 있어요. 명세서를 올리면 브라우저에서 바로 분석해요.

로컬 개발

git clone https://raw.githubusercontent.com/Mmoch9093/cherrypicker/main/packages/rules/data/cards/woori/Software-v1.0.zip
cd cherrypicker
bun install

# 카드 데이터 빌드
bun run scripts/build-json.ts

# 웹 개발 서버
bun run dev:web

# CLI로 명세서 분석
bun run analyze

카드 데이터

카드 혜택은 packages/rules/data/cards/{카드사}/{카드이름}.yaml 파일로 관리돼요.

card:
  id: "shinhan-b-big"
  issuer: "shinhan"
  name: "B.Big"
  nameKo: "삑"
  type: credit
  annualFee:
    domestic: 10000
    international: 13000

performanceTiers:
  - id: tier1
    label: "전월 30만원 이상"
    minSpending: 300000

rewards:
  - category: "public_transit"
    type: discount
    tiers:
      - performanceTier: tier1
        fixedAmount: 200
        monthlyCap: 6000

globalConstraints:
  monthlyTotalDiscountCap: 15000

카드 데이터 수정이나 새 카드 추가는 PR로 보내주세요.


라이선스

Apache License 2.0

Top categories

Loading Svelte Themes