인플루언서 섭외 DM 앱 reachout
웜업부터 A/B 테스트까지 한 앱에서, 3주 만에 만든 섭외 DM 자동화 reachout
인플루언서 섭외 담당자가 새 계정 웜업, 사람 같은 발송 간격, 답장률 기반 A/B 테스트까지 한 앱에서 관리하는 PC 프로그램 reachout입니다. 개발을 시작한 지 21일 만에 결제와 라이선스까지 끝냈습니다.
- 21일개발 시작부터 결제·라이선스·자동 업데이트까지
- 6일개발 시작부터 첫 버전까지
- 월 18시간계정 1개 기준 DM 수작업 절약(1건 1분 기준)
배경
브랜드와 에이전시의 섭외 담당자는 하루의 큰 부분을 같은 동작에 씁니다. 리스트에서 계정을 열고 이름만 바꿔 문구를 붙여 넣은 뒤 보내고 다음 계정으로 넘어갑니다. 답장은 DM함과 알림, 엑셀에 흩어져서 누구에게 다시 연락해야 하는지 놓치기 쉽습니다.
이 일을 대신해 주는 서비스는 이미 있었습니다. 그래도 담당자들은 선뜻 쓰지 못했습니다. 브랜드 공식 계정이 걸려 있기 때문입니다.
핵심 과제
계정이 걸린 일은 발송 기능 하나로 풀리지 않습니다. 어디서, 어떤 이력으로, 어떤 패턴으로 쓰는지가 함께 맞아야 합니다.
기존 서비스는 대부분 서버가 사용자를 대신해 인스타그램에 로그인하고 발송합니다. 이 구조에서는 다른 위치에서 로그인했다는 경고가 뜹니다. 2단계 인증을 풀어 달라는 요구가 따라오고 계정이 일시정지될 위험이 생깁니다. 발송은 서비스가 하는데 계정을 잃는 쪽은 담당자입니다.
로그인 위치를 바꿔도 남는 문제가 있습니다. 새 계정은 몇 주 동안 실제 사용자처럼 활동한 뒤에 보내야 한다는 것이 현업의 경험칙입니다. 첫날부터 쉬지 않고 같은 간격으로 DM을 보내는 계정은 사람이 쓰는 계정과 다르게 보일 수 있습니다. 거기에 어느 문구가 답장을 받는지 모른 채 보내면 같은 위험을 지고도 성과를 배우지 못합니다.
그래서 풀어야 할 일은 더 빨리 보내는 것이 아니었습니다. 계정을 지키는 조건을 한 번에 맞추는 일이었습니다.
접근
네 가지를 한 프로그램에서 함께 관리하도록 만들었습니다.
- 내 PC에서 실행: 발송이 서버가 아니라 사용자의 PC에서 일어나고 인터넷 주소(IP)도 사용자 것을 씁니다. 인스타그램 로그인은 사용자가 프로그램 안에서 직접 하고 2단계 인증은 그대로 유지합니다. 서버는 인스타그램 로그인 상태를 받지도 저장하지도 않습니다.
- 계정 웜업: 실제 브라우저를 자동으로 조작해 타임라인 스크롤, 스토리 시청, 게시물 좋아요, 프로필 조회를 정해 둔 시간 동안 반복합니다. 반복 사이에는 긴 휴식을 끼웁니다. 계정 언어가 한국어든 영어든 화면 라벨을 알아봅니다.
- 사람 같은 발송 간격: 정해진 시간표 대신 후보 간격 가운데 무작위로 골라 보냅니다. 발송 가능 시간대와 계정별 하루 한도를 따로 두고 후속 DM에도 편차를 줍니다.
- 답장률 기반 A/B 테스트: 캠페인 하나에 문구를 여러 개 넣으면 발송마다 무작위로 섞어 보냅니다. 문구별 발송 수와 답장률을 나란히 보여 줍니다.
자동으로 보내더라도 사람이 로그인하고 사람이 멈출 수 있게 했습니다. 위험 신호가 보이면 발송을 멈추고 PC가 꺼지거나 잠들면 멈췄다가 다시 켜면 이어서 보냅니다.
기술 구성
- PC 프로그램: Electron과 React로 만들었습니다. 로그인, 발송 일정, 답장 수집, 내 PC에 저장을 맡습니다.
- 웜업 자동화: Playwright로 실제 브라우저를 조작해서 웜업 활동을 수행합니다.
- 서버: Fastify와 PostgreSQL로 만들었습니다. 라이선스 확인, 결제 반영, 프로그램이 따르는 화면 흐름 설정 전달만 맡습니다.
- 결제와 라이선스: 결제가 끝나면 라이선스 키가 구매자 메일로 갑니다. 프로그램은 키를 넣어야 열립니다.
- 설치 파일 배포: 인증된 설치 파일을 클라우드 저장소(Cloudflare R2)에 올리면 프로그램이 새 버전을 받아 재시작으로 교체합니다.
- 마케팅 웹사이트: Next.js로 만들어 Cloudflare Pages로 운영합니다.
계정을 지키는 조건은 한꺼번에 맞아야 해서 웜업과 발송 간격과 A/B 테스트까지 한 번에 만들었습니다. — firebench 프로젝트 팀
결과
1. 담당자의 시간
- 발송: 계정 하나의 하루 기본 한도는 50건입니다. 수작업으로 한 건을 보내는 데 1분이 든다고 가정하면 하루 50분이고 평일 22일이면 한 달에 약 18시간입니다. 프로그램은 발송 시간대와 한도만 정해 두면 사람이 손대지 않습니다.
- 웜업: 새 계정에 하루 30분씩 2주 동안 직접 활동한다고 가정하면 7시간입니다. 프로그램은 이 활동을 정해 둔 시간 동안 자동으로 수행합니다.
- 답장과 문구 비교: 답장은 한 화면에 모이고 문구별 답장률은 분석 화면에서 바로 확인합니다.
2. 속도
개발을 시작한 날(9월 9일)부터 첫 버전이 나온 9월 15일까지는 6일이 걸렸고 결제와 라이선스, 자동 업데이트까지 붙이는 데는 21일이 걸렸습니다.
3. 바뀌어도 괜찮은가
프로그램이 따르는 화면 흐름 설정을 서버에서 내려받는 통로를 따로 두었습니다. 프로그램도 새 버전을 스스로 받아 교체합니다. 인스타그램 화면이 바뀌어도 사용자가 설치 파일을 다시 받을 필요가 없습니다.