Category: famavia

글 하나로 네이버·티스토리·워드프레스·스레드·인스타·페이스북에 예약 발행하는 도구.

  • [파마비아] AI한테 ‘주제 추천해줘’ 했더니 블로그 운영 팁 10가지가 나온 이유

    블로그를 못 쓰는 진짜 이유는 글쓰기가 아니다

    재활용 기능을 만들어서 예전에 쓴 글을 다시 꺼내 쓸 수 있게 됐어요. 쌓여만 가던 글들이 다시 빛을 보게 된 건 좋았는데, 문제가 하나 남았습니다.

    새로 쓸 주제는 여전히 제 머릿속에서 나와야 한다는 거예요.

    블로그를 꾸준히 못 하는 이유가 ‘글쓰기가 어려워서’라고 생각하기 쉬운데, 실제로는 아니더라고요. 진짜 벽은 ‘오늘 뭘 쓰지?’에서 막히는 겁니다. 주제만 정해지면 쓰는 건 의외로 술술 나가거든요.

    AI한테 물어봤더니 ‘블로그 운영 팁 10가지’

    그래서 AI한테 물어봤어요. “주제 추천해줘.”

    결과는… 뻔했습니다. ‘블로그 운영 팁 10가지’, ‘SNS 마케팅 전략 5가지’, ‘초보자를 위한 콘텐츠 작성법’ 같은 거요. 틀린 말은 아닌데, 아무도 안 쓸 것 같은 주제들이었어요.

    왜 이렇게 나올까 생각해봤는데, AI는 제 블로그를 모르니까요. 그냥 ‘블로그 운영자’라는 일반적인 정보만 갖고 추천하니까 누구한테나 통할 법한, 그러니까 특색 없는 주제가 나오는 거죠.

    그럴 거면 차라리 없는 게 낫겠더라고요.

    마침 며칠 전에 조회수 데이터를 모아뒀다

    그런데 마침 며칠 전에 성과 데이터를 수집하는 기능을 붙여뒀어요. 제 글 중에서 뭐가 잘 됐는지 숫자로 남아 있었습니다.

    363회 읽힌 글, 317회 읽힌 글, 그리고 8회에 그친 글. 뭐가 반응이 좋았는지 명확하게 보였어요.

    그래서 생각했습니다. 이 데이터를 추천에 같이 넣으면 어떨까?

    잘 됐던 글의 결을 이어가되, 소재는 겹치지 않게

    추천 기능을 다시 만들 때 이렇게 바꿨어요.

    • 내 글 중에서 조회수가 높은 글의 내용을 AI한테 같이 보냄
    • “이 사람 글 중 이런 게 반응이 좋았다. 그 결을 이어가되 소재는 겹치지 않게 추천해줘”

    결과가 확 달라졌습니다.

    8개 뽑았는데 8개 다 제 글에서 이어진 주제가 나왔어요. 뻔한 일반론이 아니라, 제가 실제로 쓸 법한 소재들이었습니다. 화면에도 ‘참고한 내 글 · 363회 조회’처럼 근거를 같이 보여줬어요.

    왜냐면 추천을 믿을지 말지는 사용자가 판단할 수 있어야 하니까요. 근거 없는 추천은 아무리 그럴듯해도 그냥 넘기게 되거든요.

    버그도 하나 잡았다

    만들다가 버그를 하나 발견했어요. AI 응답에서 코드 표시를 걷어내는 코드가 ‘json’ 이라는 글자를 못 지우고 있었습니다. 그래서 결과 해석이 깨지고 있었어요.

    다른 기능에도 영향이 있을 수 있어서 바로 고쳤습니다. 이런 게 쌓이면 나중에 원인 찾기 어려워지거든요.

    배운 것: 근거가 보여야 추천이 쓰인다

    이번에 확실히 느낀 건, 추천은 ‘정확도’보다 ‘왜 이걸 추천했는지’가 보여야 쓰인다는 거예요.

    AI가 아무리 똑똑해도, 근거 없이 “이거 써보세요!” 하면 안 믿게 됩니다. 하지만 “당신 글 중에 이게 363회 읽혔고, 이런 결로 가면 좋을 것 같아요”라고 하면 귀 기울이게 되더라고요.

    서비스 만들 때도 마찬가지인 것 같아요. 기능이 뭘 하는지보다, 왜 그렇게 판단했는지를 보여주는 게 신뢰를 만드는 것 같습니다.

  • [파마비아] 내 글이 몇 번 읽혔는지 이제야 알았다

    글을 올리고 나면 그게 끝이었다

    발행 도구를 만들어놓고 한참을 썼어요. 버튼 하나로 여러 SNS에 글이 올라가니까 편하긴 했는데, 뭔가 이상했어요. 글을 올리면 그걸로 끝이더라고요.

    몇 명이 봤는지, 반응이 있었는지 알 방법이 없으니까 다시 콘솔에 들어올 이유가 없었어요. 그냥 올리고 끝. 그러다 보니 ‘이거 진짜 쓰는 사람 있나?’ 싶더라고요. 저조차도요.

    화면부터 만들지 않았다

    그래서 발행한 글이 얼마나 읽혔는지 모아서 보여주는 ‘성과 보기’ 기능을 만들기로 했어요. 근데 이번엔 순서를 바꿨어요.

    보통은 화면부터 만들잖아요. 예쁘게 그래프 그리고, 숫자 넣고. 그런데 그렇게 하면 나중에 ‘왜 숫자가 안 나오지?’ 하면서 헤매게 돼요. 그게 제일 허무하거든요.

    그래서 이번엔 각 SNS에서 실제로 어떤 숫자를 받을 수 있는지 먼저 찔러봤어요. 될지 안 될지 확인하고 만드는 거죠.

    SNS별로 확인한 것들

    • 스레드: 조회수·좋아요·답글까지 다 받을 수 있었어요. 생각보다 잘 줬어요.
    • 인스타그램: 조회·도달·저장까지 가능했어요. 도달이랑 조회가 다르다는 것도 처음 알았네요.
    • 페이스북: 인사이트를 보려면 별도 승인이 필요해서 지금은 안 돼요. 신청하면 되긴 한데, 일단은 보류했어요.
    • 네이버·워드프레스: 조회수를 주는 통로가 아예 없어요. 각 사이트 통계를 직접 봐야 해요.

    안 되는 건 안 되는 거라서, 화면에 그대로 ‘페이스북은 아직 지원 안 돼요’라고 적었어요. 감추는 것보다 낫더라고요.

    8월 21일 글이 363번 읽혔더라

    확인해보니 8월 21일에 올린 글이 363번 읽혔더라고요. 그동안 모르고 있었어요. 전체로는 840회.

    숫자가 크진 않아요. 솔직히 작아요. 근데 안 보이던 게 보이니까 다음에 뭘 쓸지 감이 잡히더라고요. ‘아, 이런 글은 좀 읽히는구나’ ‘이건 반응이 없네’ 이런 게 보여요.

    6시간마다 자동으로 갱신되고, 콘솔에서 기간별로(7일·30일·90일) 볼 수 있게 만들었어요. 매번 새로고침할 필요 없이 알아서 업데이트되니까 편해요.

    배운 것

    되는 걸 먼저 확인하고 만드는 게 순서예요. 화면을 예쁘게 만들어놓고 ‘데이터가 안 와요’라고 하면 의미가 없거든요.

    그리고 안 되는 걸 감추지 말고 왜 안 되는지 적는 것도 중요해요. 사용자는 ‘왜 안 돼?’ 하면서 헤매는 것보다, ‘아 이건 원래 안 되는구나’ 하고 넘어가는 게 낫거든요.

    작은 숫자지만 이제 내 글이 얼마나 읽혔는지 알아요. 그것만으로도 다시 콘솔에 들어올 이유가 생겼어요. 📊

  • [파마비아] 블로그에 쌓인 글, 그냥 두면 아깝잖아요

    블로그를 꾸준히 한다는 건

    블로그를 꾸준히 쓰려고 하는 분들의 진짜 고민은 ‘글 쓰는 시간’이 아니더라고요. 오히려 ‘오늘 뭘 쓰지?’가 훨씬 큰 병목이었어요. 소재가 떨어지는 거죠.

    그런데 막상 제 블로그를 돌아보니까 예전에 쓴 글이 수십 개씩 쌓여 있더라고요. 한 번 올리고 나면 그냥 잊히는 글들. 검색으로 들어오는 분들 말고는 아무도 다시 보지 않는 글들이요.

    이게 너무 아까웠어요. 한 글자 한 글자 공들여 쓴 건데, 한 번 발행하고 끝이라니.

    그래서 만든 ‘글 재활용’ 기능

    그래서 이미 올린 블로그 글을 SNS용으로 다시 쓰는 기능을 붙였어요. 아이디어는 간단했어요.

    • 블로그에서 예전 글 목록을 불러온다
    • 하나 고르면 채널별로 다시 써준다
    • 제가 평소 쓰던 말투를 학습해서 트위터는 짧게, 인스타는 카드 느낌으로

    핵심은 글 끝에 원문 주소가 자동으로 붙는다는 거예요. 이 기능을 만든 목적 자체가 ‘블로그로 다시 데려오기’니까요. SNS에 글만 뿌리고 돌아올 길이 없으면 의미가 없잖아요.

    콘텐츠를 더 만드는 것보다

    이걸 만들면서 든 생각이 있어요. 콘텐츠를 더 만드는 것보다 이미 만든 걸 더 쓰는 게 먼저다라는 거.

    블로그 글 하나를 쓰는 데 보통 한두 시간이 들어요. 주제 정하고, 자료 찾고, 문장 다듬고. 그렇게 공들여 쓴 글을 한 번만 쓰고 버리는 건 너무 아까운 일이더라고요.

    새로 쓰지 않아도 올릴 게 생긴다는 것

    이 기능을 쓰면서 제일 좋았던 건, 새로 쓰지 않아도 올릴 게 생긴다는 거예요. 예전에 쓴 글 중에 하나 골라서 몇 번 클릭하면, SNS에 올릴 글이 뚝딱 나와요.

    블로그 글 쓰는 게 부담스러운 날도 있잖아요. 그럴 때 이미 쓴 글 하나를 꺼내서 다시 손보는 거. 이게 생각보다 훨씬 편하더라고요. 😊

    그리고 또 하나. 옛날 글을 다시 보다 보면 ‘아, 이 주제로 또 써볼까?’ 하는 아이디어도 생겨요. 소재가 없어서 고민이었는데, 정작 소재는 제 블로그 안에 있었던 거죠.

    그게 이 기능의 전부예요

    거창한 건 아니에요. 그냥 이미 쓴 글을 한 번 더 쓸 수 있게 만든 거. 그게 이 기능의 전부예요.

    하지만 이게 생각보다 도움이 많이 됐어요. 블로그 꾸준히 하시는 분들한테도 분명 필요한 기능일 거라고 생각해요. 글은 한 번만 쓰고 버리기엔 너무 아까우니까요. 🙂

  • [파마비아] 가입은 했는데 아무도 안 돌아왔다 — 이유는 스크롤이었다

    서비스를 만들고 있으면 매일이 배움의 연속이에요. 오늘은 특히 허무하면서도 중요한 걸 배웠어요. 가입자가 늘어나는데 아무도 돌아오지 않는 이유, 알고 보니 정말 단순했거든요.

    📊 데이터가 보여준 이상한 패턴

    가입자 데이터를 들여다봤어요. ‘가입 시각’과 ‘마지막 접속 시각’이 똑같은 분들이 대부분이었어요. 글도 안 만들고, 채널도 연결 안 하고, 무료 크레딧만 받아가신 거죠. 첫 세션에서 아무것도 못 하고 나간 겁니다.

    직접 화면을 처음 온 사람처럼 밟아봤어요. 그랬더니 원인이 보이더라고요. 구글 로그인 버튼을 누르면 새 창이 열렸다가 돌아오는데, 돌아온 화면이 페이지 맨 위였어요. 정작 작업 화면(콘솔)은 한참 아래에 있었고요. 로그인이 됐는지 안 됐는지도 모르고 그냥 나간 거예요. 💦

    해결은 한 줄이었다

    고친 건 간단했어요. 로그인하면 자동으로 작업 화면으로 데려가는 거. 기능이 부족한 게 아니라 눈에 안 보였던 거였어요. 처음 오신 분들을 위해 3단계 안내도 추가했어요.

    • 채널 연결하기
    • 채널 없어도 일단 글 만들어보기
    • 네이버 블로그는 앱 필요하다는 안내

    ♻️ 블로그에 쌓인 글을 다시 쓰는 기능

    매일 막히는 건 ‘오늘 뭐 쓰지’잖아요. 그런데 블로그엔 이미 글이 쌓여 있어요. 예전 글을 SNS용으로 다시 쓸 수 있게 만들었어요.

    작동 방식은 이래요. 블로그에서 예전 글을 불러와 고르면, 제가 학습한 말투로 채널별로 다시 써드려요. 글 끝엔 원문 주소가 자동으로 붙고요. 목적 자체가 ‘블로그로 다시 보내기’니까요. 새로 쓰지 않아도 올릴 게 생기는 셈이에요.

    🔔 나만의 텔레그램 알림

    발행이 성공했는지, 실패했는지, 예약이 안 나갔는지 알려주는 알림을 각자 텔레그램으로 받을 수 있게 했어요. 봇 토큰만 넣으면 나머지는 자동이에요.

    그런데 만들다가 실수를 발견했어요. 봇을 등록 안 한 분들의 알림이 저한테 오고 있었더라고요. 😅 남의 글 제목이 제 채팅에 뜨는 거라 바로 막았습니다.

    👀 예약한 글, 미리 보기

    예전엔 예약 목록에 제목이랑 시각만 보였어요. 정작 어떤 내용이 나갈지는 발행되기 전까진 몰랐죠. 이제 눌러보면 최종 제목, 본문, 함께 올라갈 사진, SNS 글 원문까지 그대로 보여요.

    ✨ 오늘의 깨달음

    오늘은 ‘없던 걸 만든 날’이라기보다 ‘있는데 닿지 않던 걸 잇는 날’이었어요. 기능은 충분했는데 사용자가 그걸 못 봤던 거죠. 서비스를 만드는 건 결국 사람이 쓰는 길을 깔아주는 일이구나 싶었어요.

    1인으로 서비스 운영하면서 매일 배우고 고치고 있어요. 완벽하지 않아도 조금씩 나아지는 게 보이니까 재미있더라고요. 🙂

  • [파마비아] 잘 되던 기능이 사실은 운이었다 — SNS 자동 발행이 실패한 날

    오전엔 됐는데 오후엔 안 됐다 🤔

    오늘 오전에 SNS 자동 발행 기능 테스트를 했어요. 스레드랑 인스타그램에 예약 발행이 잘 되더라고요. ‘오, 완벽하네!’라고 생각하면서 다른 일을 했죠.

    그런데 오후에 똑같은 코드로 다시 발행을 시도했는데 갑자기 둘 다 실패했어요. 스레드는 ‘요청한 자원이 없다’는 에러를, 인스타그램은 ‘미디어 ID를 쓸 수 없다’는 메시지를 보냈죠. 뭐가 달라진 걸까요? 코드는 그대로인데요.

    문제는 ‘2단계 발행 구조’였다 📝

    원인을 찾아보니까 스레드와 인스타그램은 글을 올릴 때 두 단계를 거친다는 걸 제대로 이해 못 하고 있었더라고요.

    • 1단계: 먼저 ‘컨테이너’라는 걸 만들어요. 글 내용이랑 사진을 업로드하고 준비하는 단계죠.
    • 2단계: 컨테이너가 준비되면 그걸 실제로 게시해요.

    저는 1단계를 시작한 직후에 바로 2단계를 눌러버린 거예요. 그러니까 컨테이너가 아직 준비도 안 됐는데 ‘게시해!’라고 명령한 셈이죠. 당연히 실패할 수밖에요.

    그럼 오전엔 왜 됐을까? 🍀

    이게 핵심이에요. 오전에 성공한 건 제 실력이 아니라 그냥 타이밍이 좋았던 거였어요.

    스레드는 아예 대기 로직이 없었고, 인스타그램은 대기는 했지만 ‘준비 완료’ 직후에도 가끔 실패할 수 있다는 걸 몰라서 재시도 기능이 없었어요. 그러니까 서버가 빨리 처리해주면 성공하고, 조금만 느려도 실패하는 구조였던 거죠.

    성공률이 100%가 아니라 ‘대체로 성공’ 정도였던 건데, 사용자 입장에선 실패해도 모르니까 저도 문제를 몰랐던 거예요. 무서운 일이죠.

    어떻게 고쳤을까? 🔧

    이제 제대로 고쳤어요. 방법은 간단했어요.

    • 컨테이너를 만든 뒤 상태를 계속 확인해요.
    • 준비될 때까지 기다린 다음에 게시 버튼을 누르죠.
    • 그래도 실패하면? 몇 초 간격으로 최대 세 번까지 재시도해요.

    단, 토큰이 잘못됐거나 권한이 없는 것 같은 ‘진짜 실패’는 재시도하지 않아요. 그런 건 계속 시도해봤자 똑같이 실패하니까 바로 알림을 보내는 게 낫더라고요. 무의미한 재시도는 문제를 숨길 뿐이에요.

    배운 것 💡

    ‘되는 걸 봤다’와 ‘항상 된다’는 완전히 다른 말이에요. 특히 남의 서버를 거치는 기능은 성공하는 걸 한두 번 본 것만으로 검증했다고 착각하기 쉬워요.

    오늘처럼 타이밍 운으로 성공하는 경우도 있고, 서버 상태에 따라 결과가 달라지는 경우도 있죠. 한 번 성공했다고 안심하지 말고, 실패 상황도 꼭 가정해보고 대비해야 한다는 걸 다시 한번 느꼈어요.

    1인 개발자로 서비스 운영하다 보면 이런 일이 종종 생기더라고요. 여러분도 혹시 ‘잘 되고 있다고 믿는’ 기능이 있다면 한 번쯤 의심해보세요. 저처럼 운이 좋아서 된 건 아닌지요 😅