Haewon Kam
b4edbf5da7
docs: AI Discovery Build 2 핸드오버 (자동 채점기 P0, 태하 랜딩 미노출 확정)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
2026-08-31 16:25:29 +09:00
Haewon Kam
18740ca800
feat: AI Discovery 랜딩 /discovery 구현 (시안 ai_discovery_landing.html 기준)
...
- 신규 라우트 /discovery → DiscoveryLandingPage, 기존 /discovery/:id 리포트와 공존
- 섹션 9종: Hero(ABMR 루프 + AI 답변 목업) / Why Now / How It Works / Sample Report / 8주 로드맵 / 정직성 스트립 / 최종 CTA
- ABMR 루프는 Solution.tsx 다이어그램 구조 복제, AGDP → ABMR 워딩 교체
- 점수·등급·카테고리 %·항목 수 전부 scoreDiscovery 계산값 파생, JSX 수치 하드코딩 없음
(nextGradeTarget·scorePctColor 헬퍼를 discoveryScore에 추가)
- ScoreRing에 valueClassName·subLabel 옵션 prop 추가 (하위 호환)
- AI 답변 목업 "AEO / GEO 구축 후 목표 상태 예시" 라벨 유지, 연락처 o2oteam@o2o.kr 단일
- 시안 HTML·핸드오버 문서·POC 덱 산출물 포함
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
2026-08-31 16:17:25 +09:00
Haewon Kam
85d72e4cfb
fix: npm run lint(tsc --noEmit) 실제 0 에러 달성 — 기존 93건 정리
...
- tsconfig에 supabase 제외 (Deno 런타임 코드를 프론트 tsc+DOM lib로 검사하던 오류 79건)
- src/vite-env.d.ts 추가 (import.meta.env 타입 6건)
- @types/react 부재 환경의 JSX key 시임 4건 (ColorSwatchCard·WorkflowCard·EnvKeyRow·ApiCard)
- transformPlan latestPosts 타입 캐스트, transformReport unknown 경유 캐스트, MultiChannelInput trim 가드
- Office 임시 잠금 파일(~$*.pptx) 삭제 반영
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
2026-08-31 16:17:12 +09:00
Haewon Kam
58fb4a317d
docs: 태하 리포트 단일 HTML 내보내기 + export_html.py (링·진행바 점수 고정)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 11:51:50 +09:00
Haewon Kam
9ca5c593b8
docs: 태하 덱 표지 부제 한 줄로 정리, PDF 재생성
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 11:40:26 +09:00
Haewon Kam
6a38b19ddd
feat: 법무법인 태하 AI Discovery 케이스 (68점/B) + 기준표 업종 중립화 + 결과 레지스트리 분리
...
- 선정: 네이버 '마약 변호사' 파워링크 1위 광고주. 랜딩 taehadrug.com + 메인 taehalaw.com 실측
- 핵심 발견: 메인 도메인 가비아 WAF가 GPTBot·OAI-SearchBot 403 차단, 도메인 6개·전화번호 4종 엔티티 분산, canonical http://
- 기준표 D1/B2/B3/C7 라벨을 병의원·법률 공용으로 (강남언니/로톡, MedicalClinic/LegalService, Physician/Attorney)
- src/data/discoveryResults.ts 레지스트리 신설, /discovery/taeha
- INFINITH 덱 13장 + PDF
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 11:40:01 +09:00
Haewon Kam
65e6a19ec1
docs: 폰트 조정본 덱 PDF 재생성
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 11:27:28 +09:00
Haewon Kam
d04d5ae638
style: 덱 폰트 사이즈 규칙 전 슬라이드 적용 (리드 20, 항목 제목 24, 본문 16, KPI 라벨 20, 표 헤더·칩 16), in-place 편집
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 11:24:48 +09:00
Haewon Kam
99d770b75f
docs: Viewclinic 리포트 덱을 INFINITH Deck 규격(infinith-deck 스킬)으로 재생성
...
- 20×11.25in, F7F8FC/021341 플랫 배경, Pretendard + Playfair, 상태색 칩
- 빌드 스크립트 build_viewclinic_deck.py는 ~/.claude/skills/infinith-deck/scripts/ifd.py 사용
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 11:19:13 +09:00
Haewon Kam
978073dd0e
feat: 강남언니·GBP 공개 페이지 실측 반영 (D1=3, D2=2, D4=1, B7=0) → 48점/C, 덱·PDF 재생성
...
- 강남언니 hospitals/189: 후기 19,316·의료진 26·이벤트 52
- GBP 4.9(901) 소유자 게시 활성, 전화번호 미등록, 웹사이트 viewplasticsurgery.com
- 영문 별도 도메인 존재하나 hreflang 미연결
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 10:59:56 +09:00
Haewon Kam
d14a1ed51f
docs: Viewclinic AI Answer Readiness Report 덱 (PPTX 13장 + PDF), haewon_signature_deck 규격
...
- HTML 인쇄 방식 PDF는 폐기, PPTX에서 PDF 내보내기로 교체
- 빌드 스크립트 docs/reports/build_viewclinic_deck.py 동봉
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 10:54:16 +09:00
Haewon Kam
a3a1f68297
docs: Viewclinic AI Answer Readiness Report 정적 HTML + PDF 내보내기
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 10:46:43 +09:00
Haewon Kam
ef4d8218e9
feat: AI Discovery AEO/GEO 채점 기준표 v1.0 + /discovery/:id 리포트 (뷰성형외과 44점)
...
- 채점 기준표: 6 카테고리 36 항목 100점, 항목별 근거등급/통제/채점방식/howToCheck
- 집계: 미검증 항목 분모 제외, llms.txt 항목 제외
- 뷰성형외과 실측 결과 + 핵심 발견 5 + 액션 7 + 하지 않을 것 5
- DiscoveryReportPage: INFINITH 디자인 토큰, 본문 +2pt, 판정 배지/우선순위 +4pt 볼드, keep-all
- SeverityBadge className prop 추가
- Badge.tsx 복원 (PricingPage import 누락으로 빌드 깨져 있던 것)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 10:26:29 +09:00
Haewon Kam
d5f7f24e0a
feat: clinic registry DB + pipeline audit P0 fixes
...
## Clinic Registry
- data/clinic-registry/clinic_registry_working.csv — 91개 병원 채널 마스터 DB
- data/clinic-registry/INFINITH_Outbound_List.csv — BD팀 아웃바운드 리스트 (17컬럼)
- data/clinic-registry/update_csv.py — 안전 CSV 업데이트 스크립트 (빈 필드만 채움)
- data/clinic-registry/extract_place_ids.py — 네이버 플레이스 ID 추출기
- scripts/import-registry.ts — CSV → Supabase clinic_registry 테이블 임포트
- supabase/migrations/20260406_clinic_registry.sql — clinic_registry 테이블 스키마
## Pipeline P0 Bug Fixes (전수 감사 후)
- fix(collect-channel-data): 강남언니 rating 0-10 스케일 오변환 제거
- 기존: rating ≤ 5이면 ×2 → 4.8/10을 9.6/10으로 잘못 변환
- 수정: Firecrawl 프롬프트가 이미 0-10 지시 → rawValue 직접 신뢰
- fix(generate-report): Perplexity 단일 fetch → fetchWithRetry 교체
- maxRetries:2, backoffMs:[5000,15000], timeoutMs:90s
- 기존: 타임아웃/429 시 리포트 생성 전체 실패
- 수정: 자동 재시도로 일시적 API 오류 극복
## Docs
- docs/PIPELINE_IMPROVEMENT_PLAN.md — Sprint 0/1/2 완료 표시 + 전수 감사 결과 추가
- docs/REGISTRY_FUNCTIONAL_SPECS.md, DB_SCHEMA_V3.md 외 기획 문서 다수 추가
## New Components & Features
- supabase/functions/generate-content-plan, adjust-strategy — 콘텐츠 플랜/전략 조정
- src/components/plan/EditEntryModal, StrategyAdjustmentSection — 플랜 편집 UI
- supabase/functions/_shared/dataQuality, foundingYearExtractor, urlClassifier — 데이터 품질 유틸
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 09:33:25 +09:00
Haewon Kam
60cd055042
feat: real API integration + YouTube Data API v3 + progressive loading
...
- Replace mock useReport() with real Supabase API data pipeline
- Add transformReport.ts to map API responses to MarketingReport type
- Add useEnrichment() hook for background channel data enrichment
- Replace Apify YouTube scraper with YouTube Data API v3
- Add mergeEnrichment() for progressive data loading
- Add EmptyState component for graceful empty data handling
- Add socialHandles to generate-report metadata
- Graceful empty data in ClinicSnapshot, YouTube, Instagram, Facebook
- Add Supabase Edge Functions and DB migrations
- Add developer handoff documentation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:57:14 +09:00
fbdeme
c6e18b6a67
feat: 데이터 검증 페이지 + 병원 통합 프로필 데모 + 문서 정리
...
- /data-validation: Firecrawl API 실제 테스트 결과 시각화 페이지
(viewclinic.com, YouTube, Instagram, 강남언니 크롤링 검증)
- /clinic/🆔 김박사넷 스타일 병원 통합 프로필 데모 페이지
(의료진, 통합 평점, 시술 가격, 인증, 온라인 채널 통합)
- docs/datasets.md: 전체 데이터셋 정의서 (수집 소스, AI 생성, 의존 관계)
- docs/clinic-profile-platform.md: B2C 병원 프로필 플랫폼 기획서
- CLAUDE.md: 프로젝트 가이드 문서
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 15:57:53 +09:00
Haewon Kam
bbb7a0de60
feat: INFINITH Marketing Platform — Phase 1 MVP
...
Complete frontend reference implementation:
- Landing page (7 sections, responsive, animated)
- Marketing Intelligence Report (11 sections, VIEW Plastic Surgery demo)
- Marketing Execution Plan (8 sections, branding/channel/calendar)
- Content Studio wizard (channel → strategy → sound → generate)
- Channel Connect page (7 platform OAuth flows)
- Distribution page (YouTube publish flow)
- Performance Dashboard (KPI, funnel, heatmap, trends)
- PDF export (section-based, no mid-content splits)
- Design system (pastel palette, filled icons, Pretendard/Playfair)
- Page navigator (landing ↔ report ↔ plan)
- Asset upload (drag & drop, image/video/text)
Docs: PRD v2.0, DESIGN_SYSTEM.md, API_CONNECTORS.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:48:11 +09:00