Sign In
블로그 ✍️

월간 ProductHunt - 2023년 6월

Kidow
안녕하세요, 오늘은 새로운 플랫폼에서 인사드리게 되었네요.
오늘은 새 플랫폼으로 이사를 오게 된 이야기를 다루어 보려고 합니다.
2월부터 시작한 이 프로젝트가 어느새 500개가 넘는 제품을 사람들에게 전달하게 되었습니다.
처음엔 메일리로 시작을 했다가 개인 웹사이트로 이전을 했는데, 처음으로 슬랙과 노션 API를 통해 외부로 데이터를 전달하는 프로젝트를 하다 보니 엉성한 부분이 있었고 이를 다 바꾸고 새로 시작해야 하나 말아야 하나를 되게 고민을 많이 했습니다. 어떤 문제가 있었고 어떻게 바꾸었는지 얘기해보겠습니다.

신규 유입 및 SEO 문제

첫 번째로 가장 큰 문제는 유입이 없었다는 것이었습니다.
초창기 홍보 당시 사람들이 가입했던 것 이후로는 새로운 유저가 아예 들어오질 않았습니다. 그 이유로 저는 SEO를 들었는데요,
저는 이 프로젝트를 시작할 당시에 긱뉴스의 영향을 많이 받았습니다. 긱뉴스는 오래 운영되었기 때문에 유저가 많은 부분도 있지만 웹사이트 내에 링크가 있기 때문에 검색 엔진에 노출되면서 새로운 유저들이 계속해서 유입이 될 수 있는 구조인데, 저는 슬랙으로만 콘텐츠를 보내기 때문에 새로운 유저들이 들어올 수가 없었던 겁니다.
그래서 저도 콘텐츠 SEO를 하려고 했는데, 저는 보낸 데이터를 따로 데이터베이스에 저장하기 싫어서 노션 데이터베이스에 저장했기 때문에, 노션 API를 이용해서 콘텐츠를 가져오는 방식을 택해야 했습니다.
노션 데이터베이스
노션 데이터베이스로 SEO를 하는 것은 이론상 가능은 합니다. 한 번 저장한 콘텐츠는 변하지 않기 때문에 Next.js의 정적 페이지 증분 생성을 적용하면 계속해서 API를 호출할 필요는 없거든요.
그런데 여기서 문제가 생깁니다. 기존 데이터베이스는 칼럼이 이름과 태그, 생성일 뿐인데, 노션 API로 데이터를 호출하면 아래처럼 가져오게 됩니다.
{
  "object": "page",
  "id": "2f4a8dac-6d53-470b-991c-318e02cffacf",
  "created_time": "2023-06-22T04:17:00.000Z",
  "last_edited_time": "2023-06-22T04:17:00.000Z",
  "created_by": {
    "object": "user",
    "id": "dd4638ca-074d-4454-b367-57d73acc5cb4"
  },
  "last_edited_by": {
    "object": "user",
    "id": "dd4638ca-074d-4454-b367-57d73acc5cb4"
  },
  "cover": null,
  "icon": null,
  "parent": {
    "type": "database_id",
    "database_id": "[DATABASE_ID]"
  },
  "archived": false,
  "properties": {
    "태그": {
      "id": "OrwY",
      "type": "multi_select",
      "multi_select": [
        {
          "id": "77153172-fdb8-41b5-87c2-cb7ac1d768d4",
          "name": "Productivity",
          "color": "brown"
        },
        {
          "id": "92b186fb-82e0-4e5e-be1e-80b5b29fb249",
          "name": "Freelance",
          "color": "green"
        },
        {
          "id": "d766ea4f-d05e-45c6-99ad-fd9963d2d49e",
          "name": "SaaS",
          "color": "red"
        }
      ]
    },
    "생성 일시": {
      "id": "~QPX",
      "type": "created_time",
      "created_time": "2023-06-22T04:17:00.000Z"
    },
    "이름": {
      "id": "title",
      "type": "title",
      "title": [
        {
          "type": "text",
          "text": {
            "content": "CheckYa - 프리랜서 및 크리에이터를 위한 올인원 도구",
            "link": null
          },
          "annotations": {
            "bold": false,
            "italic": false,
            "strikethrough": false,
            "underline": false,
            "code": false,
            "color": "default"
          },
          "plain_text": "CheckYa - 프리랜서 및 크리에이터를 위한 올인원 도구",
          "href": null
        }
      ]
    }
  },
  "url": "https://www.notion.so/CheckYa-2f4a8dac6d53470b991c318e02cffacf",
  "public_url": "https://kidow.notion.site/CheckYa-2f4a8dac6d53470b991c318e02cffacf"
}
위 JSON 응답 값을 보시면, 이름과 태그, 생성 일시의 데이터만 가져올 뿐 페이지 안에 적은 내용을 가져오지 못합니다. 처음 저장 방식을 잘 못 선택한 바람에 SEO를 할 수가 없는 참사가 나버린 것이죠. 따라서 저장한 데이터를 전부 가져올 수 있는 방식으로 완전히 변경해야 했습니다. URL, 한 줄 소개 등의 데이터를 전부 속성값으로 전환하는 방식으로요.

앱 통합 방식 문제

두 번째로 답답했던 문제는 슬랙과 노션 연동 방식이었습니다. 슬랙은 Incoming Webhook 방식, 노션은 템플릿없이 연동하고 있었는데, 둘 다 비효율적입니다. 처음엔 몰랐지만 지금은 이렇게 할 필요가 업었습니다.
슬랙의 Incoming Webhook 방식은 특정 채널이나 개인 DM에 초점을 맞추고 메시지를 보내는 방식인데, 일반 채널과 DM 채널이 가져오는 로직도 다르고, 처음이다 보니 그것도 몰라서 알아내느라고 시간을 무지하게 잡아먹었습니다.
인커밍 방식을 사용하지 않으면 다음과 같이 앱의 메시지 탭에서 메시지를 수신할 수 있습니다. 인커밍 방식과 똑같이 채팅 및 스레드를 달 수 있기 때문에 더 명확하고 간단합니다. (이걸 몰라서 시간 낭비를 했습니다...)
노션의 경우는 위에서 언급했던 것처럼 데이터베이스 칼럼 구조도 변경했지만 연동 과정에서 사전 정의된 템플릿을 제공할 수가 있습니다. (이것도 처음에 몰랐습니다.)
노션 페이지에서 공유 - 게시 - 템플릿 복제 허용을 체크하고 링크를 복사한 뒤
Notion API 통합에서 Notion 템플릿 URL을 넣으면
연동 과정에서 개발자가 제공한 템플릿을 복제할 수 있습니다.
이렇게 하면 유저에게 직접 데이터베이스를 구성하도록 하지 않아도 됩니다.

소통 문제

마지막으로 소통이 불가능한 구조입니다. 이메일을 포함한 개인 정보를 받지 않고 운영하는 방식이 유저의 부담을 덜 수 있어서 좋다고 처음엔 생각했었는데, 이메일까지 받지 않고 운영하다보니 그냥 콘텐츠를 보내기만 하고 돌아오는 호응이 아무 것도 없는 느낌이라 뭔가 잘못되었다는 생각이 들더라구요. 최소한 이메일은 받아야하는구나라는 것을 비로소 느꼈습니다.
이걸 어떻게 바꿔야할까라는 생각을 많이 했습니다. 새로 바꾸는 프로젝트에서는 최소한 오픈된 소통 창구가 필요했거든요.
그러다가 프로덕트헌트에서 발견했던 제품이 바로 이 슬래시페이지였습니다. 채널과 페이지 두 가지로 한 번에 웹사이트를 구성할 수 있는 이 제품은 꽤 창의적이었습니다. 한 마디로 노션과 슬랙이 합쳐진 모습같았죠.
무려 1000개가 넘는 업보트를 받은 화제의 프로젝트
커뮤니티와 블로그를 같이 구성할 수 있는 이 프로젝트를 알게 되고 나서 새롭게 재단장할 필요성을 확실하게 느꼈습니다. 이 프로덕트를 몰랐으면 아마 개고생했을 겁니다. 역시나 프로덕트헌트를 자주 들여다 봐야하는 이유겠죠? 🤗
지금까지 읽어주셔서 감사합니다.
daily-producthunt
Subscribe to 'daily-producthunt'
Subscribe to my site to be the first to receive notifications and emails about the latest updates, including new posts.
Join Slashpage and subscribe to 'daily-producthunt'!
Subscribe
👍👍🏼
6