제로서치 (Zero-Search)
매일 아침 1시간의 뉴스 검색을 5분 이메일 브리핑으로 — 자동화 발제 사이트의 첫 작품.
완전한 풀스택 자동화 앱을 어떻게 단계별로 만들었는지 정리했습니다.
"매일 반복되는 정보 수집"을 자동화하는 패턴. 외부 API 활용 + DB 연동 + AI 요약 + 이메일 발송까지 — 풀스택 자동화 앱의 표준 구조를 익힐 수 있습니다.
1. 배경 — 매일 아침의 낭비
"매일 아침 출근하면 네이버·다음·구글에 '스마트시티', '도시재생', '규제샌드박스' 같은 키워드를 반복 검색해요. 어제 봤던 기사와 중복되는 걸 눈으로 걸러내고, 새 기사만 모아서 정리하는 데 1시간이 가요. 그 시간이면 기사를 해석하고 전략을 세울 수 있는데."
문제의 본질
| 현재 (낭비) | 원하는 모습 |
|---|---|
| 여러 포털 돌아다니며 같은 키워드 반복 검색 | 한 곳에서 모든 키워드 결과 자동 수집 |
| 어제 본 기사를 눈으로 걸러냄 | 새 기사만 자동으로 필터링 |
| 제목만 봐서는 내용 파악 어려움 | AI가 3줄로 요약해서 보여줌 |
| 매일 아침 1시간 단순 검색에 낭비 | 5분 이메일 확인으로 끝, 나머지는 전략 업무에 |
2. 솔루션 진화 과정 — "직접 크롤링"에서 벗어나기
처음에는 "포털 사이트를 크롤링하는 앱"이라고 생각했어요. 하지만 곧 더 나은 방법을 찾았습니다.
3가지 방법 비교
| 방법 | 장점 | 단점 | 선택 |
|---|---|---|---|
| 방법 1. 직접 크롤링 | 가장 자유로움 | 법적 회색 지대, 사이트 구조 바뀌면 고장, 차단 위험 | ❌ |
| 방법 2. 뉴스 API | 합법, 안정적, 무료 한도 충분 | API 키 발급 필요 | ✅ 채택 |
| 방법 3. RSS 피드 | API 키 불필요, 완전 무료 | 모든 사이트가 RSS 제공 안 함, 본문 없음 | ✅ 보조 |
국내 뉴스: 네이버 뉴스 검색 API (일 25,000건 무료, 충분)
해외 뉴스: Google News RSS (무료·무제한, 키워드로 바로 호출)
이 조합으로 월 0원으로 글로벌 뉴스 모니터링 가능.
3. 기술 스택 — 풀스택 자동화
"매일 아침 자동 발송"이라는 요구사항이 기술 스택을 결정했어요.
| 역할 | 도구 | 왜 이걸? |
|---|---|---|
| 서버/API | Next.js 14 (App Router) | API Route로 백엔드 로직 통합 가능 |
| 배포 | Vercel (Hobby 무료) | GitHub 연동 자동 배포 |
| 자동 실행 | Vercel Cron Job | 매일 오전 7시 자동 호출 (무료 일 1회) |
| DB | Supabase | 중복 URL 저장 + 30일 보관 |
| 이메일 발송 | Resend | 무료 일 100건, 개발자 친화적 |
| AI 요약 | Claude API (Haiku) | 기사 건당 약 $0.001, 한국어 요약 품질 우수 |
| 국내 뉴스 | 네이버 뉴스 검색 API | 무료, 안정적, 한국 뉴스 커버리지 최고 |
| 해외 뉴스 | Google News RSS | 키 불필요, 무제한, 다국어 자동 |
Vercel·Supabase·Resend·네이버·Google → 모두 무료 한도 내
Claude API → 매일 50개 기사 요약 시 월 약 $1.50
총 월 운영비: $1.50 ≈ 2,000원
4. 데이터 흐름 — 매일 아침 일어나는 일
[Vercel Cron - 매일 07:00 KST]
↓
[API Route: /api/cron/news]
↓
1. 네이버 API + Google RSS 동시 호출
↓
2. Supabase에서 어제까지 본 URL 조회
↓
3. 새 기사만 필터링 (중복 제거)
↓
4. Claude API로 각 기사 3줄 요약
↓
5. Resend로 이메일 발송
↓
6. 발송된 URL을 Supabase에 저장
↓
[5분 후 받은편지함에 브리핑 도착] ☕
이메일 브리핑 구성
- 날짜 헤더 — "2026년 5월 18일 (월) 동향 브리핑"
- 키워드별 섹션 — 스마트시티, 도시재생, 규제샌드박스...
- 기사 카드 — 제목 + AI 3줄 요약 + 원문 링크
- "새 기사 0건"이면 발송 생략 — 인박스 노이즈 방지
5. DB 스키마 — 30일 보관 정책
중복 제거의 핵심은 "어제 본 URL"을 기억하는 것. 가장 단순한 테이블 하나로 해결.
왜 30일?
- 14일 미만: 가끔 다시 보는 기사가 "중복"으로 빠짐 → 너무 짧음
- 30일: 한 달 단위 모니터링에 적합 ✅
- 90일 이상: DB 용량만 차지, 실용성 없음
6. 진행 흐름 — 실제 수업에서는
| Phase | 활동 | 완료 기준 |
|---|---|---|
| Phase 1 | 네이버 API 연동 + 콘솔에 결과 출력 | 키워드 1개 검색 결과가 콘솔에 보임 |
| Phase 2 | Google RSS 연동 + Supabase로 중복 제거 | 같은 기사가 두 번째 실행에서 걸러짐 |
| Phase 3 | Claude API로 기사별 3줄 요약 | 요약이 한국어로 자연스럽게 나옴 |
| Phase 4 | Resend로 이메일 발송 | 본인 이메일로 브리핑 도착 |
| Phase 5 | Vercel Cron으로 매일 자동 실행 | 다음날 오전 7시에 자동 도착 |
7. Claude Code 시작 프롬프트 (실제 사용)
제로서치는 Claude Code로 만들었습니다. 첫 프롬프트는 이렇게:
중요한 결정 — "DB 없이 시작"
처음부터 모든 기능을 다 만들면 막힐 가능성이 높아요. 그래서 이런 순서로 진행했어요:
- v0.1: 더미 데이터로 UI만 — "검색 버튼 누르면 가짜 결과 표시"
- v0.2: 네이버 API만 연동 — 진짜 뉴스 가져오기 (DB 없음)
- v0.3: Supabase 연동 — 중복 제거 시작
- v0.4: Claude 요약 추가
- v1.0: 이메일 발송 + 자동화 완성
각 버전마다 "동작하는 무언가"가 있어서 의욕이 꺾이지 않음.
8. 본인 업무에 응용하려면
뉴스를 다른 정보원으로 바꾸면 같은 구조로 다양한 자동화 도구를 만들 수 있어요.
응용 아이디어 5가지
| 대체 도메인 | 활용 예 |
|---|---|
| RFP 모니터링 | 나라장터·G2B에서 우리 분야 입찰 공고 자동 수집 (실제 만든 작품) |
| 경쟁사 동향 | 경쟁사 블로그·뉴스룸·SNS 자동 수집 + AI 요약 |
| 학술 논문 알림 | 특정 키워드 새 논문 자동 알림 (Google Scholar RSS) |
| 법령·정책 변경 알림 | 국가법령정보센터 + 정부 부처 공고 자동 모니터링 |
| 업계 소식 큐레이션 | 뉴스레터 작성용 — 매주 자동 수집한 기사로 본인 뉴스레터 발행 |
본인 자동화 도구 만들 때 시작 프롬프트
9. 이 사례의 핵심 학습 인사이트
- "직접 만들기"의 함정 피하기 — 처음엔 크롤링부터 떠올렸지만, API/RSS로 가는 게 합법적이고 안정적. "이미 있는 도구를 조합하기"가 1순위
- Phase 5단계로 쪼개기 — 한 번에 다 만들면 막힘. 각 Phase마다 "동작하는 무언가"가 있어야 의욕 유지
- 무료 한도 활용 — Vercel + Supabase + Resend + 네이버 + Google → 모두 무료. 운영 비용은 Claude API만 월 $1.50
- 중복 제거가 진짜 가치 — "기사 모으기"는 RSS 리더로도 가능. "어제 본 거 빼고 새 기사만"이 차별화 핵심
- AI 요약이 시간을 압축 — 50개 기사 제목만 봐도 30분, 3줄 요약이 있으면 5분. "읽을지 말지" 판단 시간 단축이 핵심 가치