AI 콘텐츠 큐레이션 서비스 개발기 (1) : 비개발자가 5일만에 만든 수집-선별-발송 어드민 구축

한국 앱 스크린샷

RSS, X, YouTube API 기반으로 콘텐츠를 자동 수집하고
AI가 팀원별로 맞춤 선별해서 Slack으로 발송하는 큐레이션 어드민을 5일 만에 만들었습니다.

🛠️ 사용한 도구

  • Claude Code (Cursor 확장)

  • Claude Opus 4.5

  • 개발 기간: 5일


❗️ AX를 잘하기위해 '콘텐츠'가 할 수 있는 역할은?


AX를 가장 잘하는 조직이 되기위해 가장 중요한 것 중 하나는
내 업무에 맞는 '좋은 AX 사례'를 빠르게 습득하고 실제로 적용해보는 것일텐데요.
지피터스의 콘텐츠를 담당하고있는 제가 기여할 수 있는 부분은
팀원들에게 맞춤형으로 콘텐츠를 전달하는 것이었습니다!


효율적인 콘텐츠 전달 방법을 고민하다.

초기에 콘텐츠의 퀄리티를 지키기위해 1. RSS 기반 소스+ 수동 수집 2. 인간지능 선별 처럼
인간 지능이 많이 필요한 프로세스를 거치다보니 여러 소스를 돌아다녀야 해서 번거로움,
좋은 글을 발견할 때마다 Slack에 공유하는 방식이라 비정기적 등 병목이 생기는 이슈들이 발생했어요.

그러다가 AI를 적극 활용해 콘텐츠 소스를 수집하고 선별하고 팀원들에게 발송하는 모든 업무를
모두 소화하는 어드민
을 만들면 이러한 병목을 줄일 수 있지않을 것이라고 생각했어요.
큐레이팅에 드는 시간을 아낄뿐더러 콘텐츠의 품질까지 제어할 수 있지않을까가 출발이었습니다.


타겟 서비스를 생각하고 빌드하면 더 쉬워요!

다양한 이미지를 보여주는 웹페이지의 스크린샷


처음에는 다양한 소스를 수집하는 것을 목표로했는데요.
이때는 'inoreader'라는 뉴스 애그리게이터 서비스를 타겟으로 소스 수집단계부터 구현했습니다.
확실히 타겟하는 서비스가 있으니 기획하는 입장에서도 UI 구현의 속도가 훨씬 빨라졌어요.

데이터베이스 연결은 정보만 주면 끝

비개발자 입장에서 DB 설계나 연결이 괜히 벽이 느껴지는 부분이 있었는데요 .. 하지만 역시

DB 연결할게 postgresql이야. 정보를 주면 될까?

PostgreSQL 데이터베이스 정보를 알려주니까 Claude가 알아서 연결하고, 필요한 테이블 구조까지 설계했습니다. 호스트, 데이터베이스명, 스키마명만 알려줬더니 6개 테이블(소스, 콘텐츠, 사용자, 할당, 발송 기록, 피드백)을 만들어줬어요. Postgresql MCP



RSS, X, YouTube 수집 - 각각 다른 방식으로

콘텐츠 소스마다 수집 방식이 달랐습니다.

  • RSS는 피드 URL만 등록하면 자동으로 긁어옵니다.

[RSS 피드 URL 목록 제공] VentureBeat AI, TechCrunch, AI News, Geek News, Reddit, TLDR, MarkTechPost...
  • X/Twitter, Youtube는 API를 사용했습니다. 하지만 고민이 있었어요.

근데 사실 트위터나 유투브에는 너무 글과 콘텐츠가 많은데 퀄리티 체크를 어떻게하지?

이렇게 물어보니 Claude가 인터렉션, 최신성, 반응 등의 지표를 시반으로 콘텐츠 품질 필터링 로직을 추가해줬습니다. 계속해서 소스를 관리하기위해 수동으로 키워드나 RSS 피드를 추가해도 수집 가능하게 구현해두었어요!



AI 요약- Gemini API 연동

한국어 앱 스크린샷

수집한 콘텐츠를 일일이 읽을 수 없으니 AI가 요약해주는 기능을 추가했습니다.

요약이 나왔으면 좋겠는데 내 구글 API는 이거야. Gemini 3.0 flash를 활용해서 카드에 핵심 내용을 요약한 버전을 불렛 2~3개로 정리해서 보여줘

이제 각 콘텐츠 카드에 핵심 내용이 2-3줄로 정리되어 나옵니다.



AI가 팀원들에 맞게 큐레이션하는 콘텐츠


팀원마다 직무(마케팅, 개발, PM 등)와 기술 수준(비개발 ~ 시스템/배포)이 다릅니다.
이걸 AI가 보고 각자에게 맞는 콘텐츠를 골라주는 게 핵심이었어요.
우선은 단순한 로직으로 매칭하기로했습니다.

가져오는 콘텐츠를 각 직무와 난이도에 맞게 할당해야해. 콘텐츠와 사용자를 매칭시키는거지. 사용자 프로필에 직무와 기술 수준을 명시했으니 수집한 콘텐츠도 동일한 기준으로 분류해서 매칭해줘

Gemini API를 활용해서 콘텐츠와 사용자 프로필을 매칭하는 방식을 구현했습니다.


매일 오전 9시에 자동으로 콘텐츠를 수집하고, 9시 30분에 AI가 각 팀원에게 3개씩 할당합니다.
물론 수동으로 팀원에게 직접 할당할 수도 있어요.

자동으로 수집, 할당, DB 정리 이게 처음에 잘 구현이 안되어서 원인을 파악해보니
Vercel에서 Cron job (크롱 잡??????) 설정이 안되어있더군요.

Cron Job 디버깅 - 가장 헤맸던 부분

자동화의 핵심인 Cron Job이 제대로 안 돌아가서 여러 번 수정했습니다. (ㅋㅋ)

cron은 잘 실행되는 것 같은데 소스 수집은 왜 6시간에 한번 자동으로 안돌아?

CRON_Secret은 어디서 확인해?

지금 이 시간이 잘 맞는건가??? 혹시 UTC 기준이니??


Vercel의 Cron 설정, 환경변수, 시간대(UTC vs KST) 등을 여러 번 확인하고 수정했어요.
결국 수집(9:00) → 할당(9:30)으로 시간을 조정해서 해결했습니다.

이 부분이 가장 디버깅에 시간이 걸렸는데, Claude도 환경 설정 문제는 바로 맞추기 어려운 것 같습니다.
직접 로그를 확인하면서 하나씩 잡아나갔어요.



Slack 발송 - 멘션까지 자동으로

한국어가 포함된 한국어 앱 스크린샷

할당된 콘텐츠를 Slack으로 보내는 기능을 만들었습니다.

내가 발송을 누르면 슬랙의 채널로 발송이 되는 슬랙봇을 연결하고싶은데 어떤 방식으로 작업해야할까?

Slackbot - 스크린샷 썸네일


Slack 앱 만드는 것부터 Claude가 차근차근 안내해줬어요.
이제 슬랙봇같은 건 정말 20분이면 뚝-딱 만드는 시대 ..
참고로 지피터스에는 콘텐츠 소스를 수집하는 수집이와 맞춤형 콘텐츠를 전달하는 콕집이
이렇게 2마리의 슬랙애니멀(?)봇이 있습니다..


팁이 있다면 슬랙봇은 귀엽고 호출이 직관적일 수록 내부에서 원활하게 사용되는 것 같아요 (꿀팁)



❗️Before vs After

항목

Before

After

콘텐츠 수집

X,유투브 콘텐츠 수동 수집

자동 수집 (6시간마다)

팀원 공유

비정기적, 전체 동일

매일 자동, 개인 맞춤

큐레이션 시간

발견할 때마다 수동

거의 0 (승인 클릭만)

결과물

  • 웹 기반 큐레이션 어드민 (전체 피드 + 팀원별 피드 + 드래그앤드롭)

  • 멀티소스 자동 수집 (RSS 10개+, X, YouTube)

  • AI 요약 + AI 매칭

  • Slack 자동 발송 (@멘션 포함)

  • Vercel Cron으로 완전 자동화




💬 이 과정에서 배운 AI 활용 팁

효과적이었던 것

  1. PRD/스펙을 먼저 정리: 내가 원하는 걸 문서로 정리해두면 Claude가 맥락을 이해하고 일관되게 작업함. 이게 가장 중요했음

  2. UI부터 보면서 수정: 눈에 보이는 결과물을 먼저 만들고 피드백하는 게 방향 잡기 좋음

  3. 작게 시작해서 점점 키우기: 처음부터 완벽한 기획 없이도, 하나씩 기능을 붙여나가는 게 가능

이렇게 하면 안 돼요

  1. 환경 설정은 꼼꼼히 확인: Cron Job이나 외부 API 연동은 환경변수, 시간대 등 디테일을 놓치기 쉬움. Claude도 이건 바로 못 맞춤

  2. 한 번에 너무 많이 요청 X: 복잡한 기능은 단계별로 나눠서 요청하는 게 결과물 품질이 좋음



❗️앞으로의 계획

  • 팀원분들의 개인 피드를 만들어 진도율 체크 및 피드백 수집 기능 추가: 팀원들이 콘텐츠가 유용했는지 반응을 남기면, AI 매칭 정확도를 높이는 데 활용할 예정 (1차로 구현은 완료!)

  • 4개의 서브 에이전트(수집-추출-배분-요약)로 CLI 환경에서 작업할 수 있게 구현: 현재는 단순히 LLM이 로직 기반으로 매칭해서 서버에서 모든 걸 끝낸다면 앞으로는 4개의 서브 에이전트가 알아서 해당 작업을 끝낼 수 있게 구현해볼 예정입니다.

2
8개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.