Edward Choi

Edward Choi님의 아티클

Edward Choi

Edward Choi

미리 쓰는 2023년 회고


회고를 작성하기에 앞서...

2022년에 감명깊게 읽었던 책 중 하나가 아마존의 일하는 방식에 대해 소개한 <Working Backwards>이다. 제목인 "Working Backwards"는 책에서 소개하는 6가지 주제 중 하나로, 고객 경험을 제품 개발과 출시의 출발점으로 삼으라는 방법론이다. 워킹 백워드의 주된 목적은 팀원들의 시각을 내부적 관점에서 고객 관점으로 전환하는 것이다. 때문에 모든 제품 개발 프로세스는 고객이 제품을 처음 접하는 상황을 가정하는 것에서 시작된다. 구체적인 실천 방안은 가장 먼저 제품 출시 보도자료를 작성하고 예상되는 질문에 대한 답변을 준비하는 것! 팀원들은 보도자료에 대한 구체적인 질문과 답변을 준비하는 과정에서 해당 제품이 정말 고객에게 매력적인지를 검증할 수 있다.


"그렇다면 2023년의 목표도 워킹 백워드 방식으로 작성할 수 있지 않을까?"

퍼블릭한 공간에 공개할 올해의 회고를 미리 작성하고 읽어봄으로써 우리 팀과 제품이 고객들에게 정말 매력적인지 자가점검할 수 있을 것 같아서 조금은 색다른 형식으로 올해의 목표를 세워볼 생각이다.



2023년 회고

2023년은 정말 많은 일이 있었던 한 해였다. 많은 고객들을 만나며 Furo에 대한 귀중한 피드백을 들을 수 있었고, 피드백을 바탕으로 Furo에 우선적으로 필요한 기능들을 하나씩 구현하다보니 벌써 한 해가 다 가버렸다. 나와 우리 팀 호패는, 그리고 Furo는 1년 전보다 얼마나 멀리 왔고, 앞으로 어떤 길을 걸어가야 할까? 크게 "제품 개발"과 "글쓰기", "개인의 삶" 이라는 주제에 대해 간단하게 회고를 작성해본다.


1. 제품 개발

Furo의 고객들이 원했던 것은 단순하다. 프로덕트에 필요한 기능을 더 적은 리소스로 구현하는 것. 22년까지 우리가 ”더 적은 리소스”에 집중했다면 2023년에는 “필요한 기능”에 집중하였다. 어떤 솔루션을 사용하여 시간과 비용을 절약할 수 있더라도 “필요한 기능”을 모두 구현할 수 없다면 해당 솔루션은 다시 찾지 않기 때문이다. 사실 우리의 경험으로만 비추어봐도 간단한 일이었다. 메일링 서비스인 스티비를 사용하고자 했을 때, Transactional Mail 기능에 약간의 아쉬움이 있어 채택하지 않았고, 결제 대행 서비스인 스텝페이를 사용하고자 했을 때에는 카드 등록과 정기결제 시작이 분리되어 있지 않다는 점 때문에 채택하지 않았다. 고객 입장에서는 서비스가 제공하는 기능의 다양성보다는 그들이 필요한 핵심 기능이 중요한 것이다.

“우리는 고객들이 필요한 핵심 기능을 제공하고 있을까?”

이러한 질문에서 출발하여 연초에 계획한 기능이 커스텀 유저 프로필, 커스텀 UI/UX, Backend API 제공, DB 마이그레이션 프로세스 구축, Multi tenancy였다.


커스텀 유저 프로필

우리는 항상, 입력할 사항이 많은 회원가입 페이지를 보며 “아 이러면 전환율이 떨어질 수 밖에 없지”, “여기서 다 떨어져 나가겠네”, “이런 서비스들이 왜 이렇게 많을까” 라고만 생각했었다. 하지만 프로덕트 메이커의 입장에서 그 정보들의 수집은 필수사항일 것이다. 그들을 우리의 고객으로 만드려면 적어도 우리가 그 정보를 입력받고 관리할 수 있도록 해야 했다. 이전에 Furo의 고객은 대시보드에서 유저 스키마를 커스터마이징 할 수 없었는데 연초에 대시보드를 업데이트하여 유저 스키마에 커스텀 필드를 추가하고 관리할 수 있도록 업데이트 하였다.


커스텀 UI/UX

커스텀 UI/UX 역시 많은 고객들에게 필요한 기능이었다. 다양한 사용자 인증 기능을 쉽고 빠르고 안전하게 구현하는 것은 고객 입장에서는 어디까지나 부차적인 사항이었다. 이전에는 Furo를 사용할 경우 로그인/회원가입 페이지의 UI/UX가 한 가지로 강제되었다. 하지만 절반 이상의 고객들은 프로덕트의 디자인 컨셉과 어울리도록 로그인/회원가입 페이지를 커스터마이징하고 싶어했다. 커스텀 UI/UX 기능을 개발하는 일은 오래 걸리기도 했지만 굉장히 힘든 작업이었다. 아무래도 작업 범위가 Furo에서 개발하는 대부분의 리포지토리에 영향을 주었고, builder를 만드는 프론트엔드 작업의 난이도가 높았기 때문이다. 하지만 설문조사 결과 커스텀 UI/UX 기능이 좋았다는 응답률이 높았고, 올해의 가장 잘 한 일 중 하나라고 생각된다.


Backend API 제공

Backend API 제공은 우리가 가장 먼저 착수한 작업 중 하나였다. 웹 애플리케이션 만큼이나 모바일 앱에서 Furo를 필요로 하는 시장의 요구가 많았는데, 작년까지의 Furo는 프론트엔드 SDK만 제공하고 있던 상황이었기 때문에 많은 잠재고객들을 잃고 있었던 것이다. 처음에는 모바일 SDK를 개발할까 고민했지만 기대효과 대비 너무 많은 공수의 투입이 예상되었다. 결국 우리는 대부분의 개발 환경에서 보편적으로 사용할 수 있는 REST API를 제공하기로 결정했다. 많은 고객들이 API 제공을 당연하게 여겨서인지 설문조사에서는 제공되는 API가 편리하다든가 하는 응답을 찾기는 어려웠다. 하지만 모바일 앱 기반의 프로덕트를 개발한다는 응답의 숫자를 본다면, Backend API의 제공은 진작에 했어야 하는 일이었다고 밖에 생각되지 않는다. 회사의 규모가 더 커지고 개발자가 채용된다면 더욱 편리하게 사용할 수 있는 모바일 SDK도 언어별로 지원할 수 있을 것이다. 빨리 그 시점을 맞이할 수 있도록 내년에도 화이팅해야겠다.🔥🔥🔥


국가별 컴플라이언스 지원

글로벌 시장에 진출하고자 하는 고객들의 고민거리 중 하나는 개인정보에 대한 국가별 컴플라이언스였다. 예를 들어 중국 시장에 진출하고자하는 A사는 중국의 개인정보 보호법이 명시하는 동의 절차를 회원가입 프로세스에 추가해야 하고, 유럽에 진출하고자 하는 B사는 쿠키 수집에 대한 명시적인 동의 절차를 프로덕트의 홈 화면에 추가해 한다. 변호사의 도움을 받는다면 족히 수백에서 천 만원 이상의 수임료가 들어가는 일이다.

"만약 우리가 사용자의 개인정보 보호와 관련된 컴플라이언스를 지원한다면?"

본격적으로 착수한 것은 올해 2분기 부터였고, 현재 중국과 EU 가입국 진출을 위한 컴플라언스 기능을 설정할 수 있는 상태이다. 내년에는 동남아 시장 진출을 위한 컴플라이언스를 지원할 계획이다. 국가별 컴플라이언스 지원 기능은 쉽지 않은 일이었지만, 실제로 H사의 중국 진출시 Furo에서 컴플라이언스 작업을 지원하였고, 앞으로도 많은 고객의 고민을 덜어줄 생각에 뿌듯한 마음이다. 올해 우리 팀에게 가장 어려웠지만 보람있는 미션 중 하나가 아니었나 생각된다.

기업 경영에서 컴플라이언스(Compliance)는 법과 사회 규범에 대한 준수를 의미한다. 쉬운 예시로 GDPR( EU의 일반 일반 데이터 보호 규정)에서 기업이 사용자의 쿠키를 수집할 때 대해 명시적인 동의를 얻어야 함을 규정한 것을 들 수 있죠. (https://www.drupal.org/project/eu_cookie_compliance)


DB 마이그레이션 프로세스 구축

DB 마이그레이션 프로세스 구축과 가이드 제공은 기존에 이미 로그인 시스템이 있는 고객들을 Furo의 고객으로 만들 수 있는 초석이 되었다. 올 해 G사를 우리의 고객으로 만들 수 있어던 가장 큰 원동력은 상반기에 DB 마이그레이션 프로세스를 미리 만들어두었기 때문일 것이다. 아직까지 기존 유저 DB를 Furo로 이관한 고객은 10팀 정도이지만 내년에는 훨씬 더 많아질 것이라고 생각한다.


CSAP 인증 획득

CSAP 인증은 공공기관에 프로덕트를 납품하고자 하는 고객들을 위한 필수 사항이다. 공공기관에서 사용되는 소프트웨어는 CSAP 인증을 획득한 클라우드 서비스만 사용할 수 있기 때문이다. 하반기부터 본격적으로 준비한 결과 얼마 전 인증을 획득하였고, 이제부터는 드디어 B2G 시장을 타게팅하는 프로덕트의 짐을 덜어줄 수 있게 되었다. 공식적으로 Furo의 보안성을 인정받은 것 자체도 굉장히 뿌듯하다.

CSAP란, 클라우드 서비스 제공자가 제공하는 서비스에 대해 『 클라우드 컴퓨팅 발전 및 이용자 보호에 관한 법률 』 제 23조 제2항에 따라 정보보호 기준의 준수여부 확인을 인증기관이 평가·인증하여 이용자들이 안심하고 클라우드 서비스를 이용할 수 있도록 지원하는 제도이다. (설명 제공 : KISA)


2. 글쓰기

연초에 세웠던 목표 중 가장 꾸준히 지켰던 것을 하나만 고르라면 단연 글쓰기다. 적어도 일주일에 한 편을 글을 써서 디스콰이엇처럼 모두가 볼 수 있는 곳에 게시하는 것이 목표였는데, 개발 일이 바빴던 와중에도 꾸준하게 글을 쓴 스스로를 칭찬하고 싶다.😀 처음 글을 쓰기 시작한 것은 디스콰이엇의 메이커로그 챌린지에 참여하면서부터였다. 공개적인 공간에 글을 쓴다는 것에 대한 막연한 두려움이 있었는데, 강제로 일주일에 한 편씩 글을 쓰다보니 자신감도 생기고 글쓰기의 재미도 알게 된 것 같다. 또한 열심히 살아가는 챌린지 맴버들의 글들을 하나하나 읽어보는 것이 그 자체로 재미있고 스스로에게 자극이 되다보니 스스로도 좋은 글을 쓰고 싶다는 욕심이 생겼던 것 같다. 챌린지 맴버들과 챌린지를 제안해주신 디스콰이엇 팀원 분들에게는 고마운 마음뿐이다. 글쓰기는 앞으로도 계속 이어갈 생각이다.


3. 개인의 삶

운동

재작년에 이전 직장에서 스타트업으로 이직한 후 아쉬웠던 점을 하나만 바쁘다는 핑계로 운동을 게을리 하고 늘어나는 뱃살을 방치했던 것이다. 아쉽게도 현시점에 목표했던 75kg보다는 2kg이 더 나가는 상황이지만 그래도 84kg였던 것을 생각하면 나쁘지 않다고 생각한다. ( 라고 합리화해본다ㅎㅎ ) 그래도 날씨 좋을 때는 로드자전거로 출퇴근도 많이 했고, 좋아하는 실내 클라이밍도 일주일에 한 번은 하고 있으니 운동을 다시 습관화하는 것은 성공했다고 볼 수 있다. 내년에는 로드든 클라이밍이든 퍼포먼스를 올리는 것에 조금 더 욕심내볼 생각이다.


술 줄이기

술을 잘 마시는 편은 아니지만 굉장히 즐기는 편이다. 전형적으로 코로사 시국을 맞이하며 혼술을 즐기게 된 케이스인데, 재작년에 살이 많이 쪘던 것도 퇴근 후 위스키를 홀짝거렸던 것이 크게 한 몫하지 않았을까 싶다. 솔직히 말해서 연초에 다짐했던 주 2회를 꾸준하게 지키지는 못했는데, 그래도 운동하는 날이 많아지니 그 날에는 술을 안 마시게 되어서 요즘은 주 2회 정도 술을 마시고 있다. (몸이 건강해야 농부, 증류기 장인, 오크통 장인, 마스터 디스틸러의 노고와 천혜의 자연이 합작한 예술을 오래오래 즐길 수 있겠지...) 내녀에는 조금 더 노력해 보기로! 하핳



글을 마치며

약간은 장황한 글이 되었는데, 다시 읽어보니 정말 열심히 살아야겠다는 생각이 든다. 2023년 12월에 이 글을 다시 읽었을 때 자괴감이 아닌 뿌듯함을 느낄 수 있도록 모든 에너지를 집중해야겠다. 해가 바뀐지 9일이나 지나기는 했지만 메이커분들 모두 목표한 바를 이루셨으면 좋겠습니다. 화이팅!


끝으로, 모두들 목표한 바를 꾸준히 이어나가자는 의미에서 스모어데이로 생성한 이미지를 올려봅니다.

"검정색 헬멧을 쓴 남성이 빨간색 로드바이크를 타고 제주도 바닷가 자전거 길을 달린다 (날씨는 맑음)"

by 스모어데이








Furo IAM

로그인을 5분 만에 구현하는 IAM SaaS

15
6
Edward Choi

Edward Choi

결제기능 연동기 - 3부

안녕하세요! 호패에서 Furo(https://furo.one) 이것저것을 개발하는 에드입니다. 호패 팀은 최근 Furo에 결제 기능을 추가하였는데요, 그 과정을 5부작 메이커로그로 작성하고 있습니다!


3부에서는 결제 서비스를 리서치하고 선정했던 과정에 대해 소개해보겠습니다!


목차

1부 - 결제기능 도입 이유와 필요한 기능 정의
2부 - 결제기능 레퍼런스와 유저 스토리
3부 - 결제 서비스 리서치와 선정
4부 - 결제 기능 설계
5부 - 결제 기능 개발


자, 그럼 시작해보겠습니다.😄


지난화 요약

결제 시스템 리서치 포인트

  • 결제수단 등록 화면
  • 결제 내역 화면
  • 유료 플랜 적용 단위

다른 서비스의 결제 시스템 정리

  • Alchemy, Vercel, Stytch, Auth0 의 결제 시스템을 리서치

유저 스토리 정의

  • 리서치를 바탕으로 Furo에 필요한 유저 스토리 정의



결제 서비스 리서치 이전 고려사항

1) Furo의 결제 유형 - 비인증 정기결제

Furo는 구독형 플랜을 제공하고, 구독 플랜의 결제는 정기 결제 방식으로 이루어질 수 있어야 합니다. 이해를 돕기 위해 간단한 결제 시나리오를 설명드리면 아래와 같습니다.

  1. 사용자는 구독 플랜을 변경하는 시점이나 그 이전에 신용카드를 등록한다.
  2. 사용자가 구독 플랜을 변경하면 최초에는 해당 플랜의 기본 요금이 선불로 결제된다.
  3. 다음 달부터는 이전 한 달의 사용량 중 초과분에 대한 사용료와 다음 달 기본요금이 자동 결제된다.

신용카드는 한 번만 등록되고, 신용카드 결제 시점은 결제 시점과 다를 수 있으며, 이후의 결제는 신용카드 정보 입력 없이 정기적으로 이루어질 수 있어야 하는 것이죠.


신용카드를 등록하면 내부적으로는 카드사로부터 빌링키를 발급받습니다. 빌링키란 구독형 정기결제, 종량제 과금결제 등 원하는 시점에 재결제를 진행할 수 있는 결제용 암호화 키 입니다. 가맹점이 고객의 카드정보를 소유할 수 없기 때문에 카드사로부터 해당 카드에 대응하는 빌링키 발급 받아 저장하고, 원하는 시점에 해당 빌링키로 결제를 청구할 수 있죠. ( 설명제공 : 아임포트 )


2) Furo의 가격플랜 - 핸드폰 요금제의 선불 버전

Furo의 가격플랜은 아직 확실히 정해지지 않았지만 핸드폰 요금제와 비슷하다고 볼 수 있습니다. 가격플랜별로 기본 요금과 기본 사용량 커버리지가 있고, 기본 사용량을 초과분에 대해서 추가적인 사용량을 청구하는 형태이죠. 단, 기본요금과 추가요금이 후불로 청구되는 핸드폰 요금과는 다르게, Furo의 경우 저번 달 추가 사용료와 이번 달 기본요금이 선불로 청구된다는 점이 차이가 있습니다. 즉, 매 달 다른 금액이 청구될 수 있어야 합니다.


3) 크레딧 시스템

Furo에는 크레딧 시스템이 존재하며, 크레딧은 유료 결제시 현금 대신 사용할 수 있습니다. 정기 결제가 이루어지더라도 크레딧이 들어온 달에는 크레딧 할인이 적용될 수 있어야 하는 것이죠! 이 때 크레딧을 사용하여 Furo의 유료플랜을 구독한 고객이 크레딧을 모두 소진한 다음 달에는 실제 결제가 요청되기 때문에 신용카드 등록은 실제 결제와 별개로 선행될 수 있어야 합니다.



결제 서비스 리서치

결론부터 말씀드리면 Furo는 아임포트를 사용하여 결제기능을 연동하기로 했습니다. 스텝페이와 토스페이먼츠를 먼저 고려하였지만 아임포트가 furo에서 원하는 기능을 구현하기에 용이했기 때문입니다.


스텝페이

가장 먼저 고려했던 서비스는 스텝페이였습니다. 스텝페이가 사용량 기반의 금액 청구 기능을 제공한다는 것을 이전부터 알고 있었기 때문에 특별한 이슈가 없으면 스텝페이를 사용할 예정이었죠. 하지만 스텝페이는 수많은 특장점에도 불구하고 Furo에서 사용하기에는 아쉬운 점이 있었기 때문에 최종적으로 다른 서비스를 고려하게 되었습니다.


스텝페이의 특장점

  • 구독 결제에 특장점이 있는 결제 서비스
  • 대시보드에 판매할 상품과 가격을 등록하여 온라인 쇼핑몰의 백오피스처럼 사용할 수 있음
  • 아예 홈쇼핑 사이트를 만들 수 있도록 웹사이트 빌더도 있다... 와우...
  • 상품과 가격에 대한 매우 상세한 설정이 가능
  • 고객 관리 기능도 있음


아쉬웠던 점

스텝페이에서 제공하는 API로는 신용카드 정보 입력과 최초 결제를 분리할 수 없었습니다.

스텝페이에서 제공하는 기본적인 결제 프로세스는 다음과 같습니다.

  1. 등록한 상품의 id로 정기 결제 주문 URL 생성
  2. 주문 URL을 통해 스텝페이에서 제공하는 결제창으로 리다이렉트
  3. 결제창에 신용카드 정보를 입력하고 결제 진행

이 경우 스텝페이에서 제공하는 결제창을 사용해야 하고, 최초 결제시 무조건 결제수단을 입력해야 하는 문제점이 있었습니다. 때문에 스텝페이 측에 문의하여 공식문서에서 제공하지 않는 결제 API에 대해 별도의 안내를 받았지만, 정기 결제 API에도 신용카드 정보가 필수 파라미터라서 Furo에서 원하는 방식의 결제 기능을 구현하기는 어렵다고 판단했습니다.


토스 페이먼츠

두 번째로 고려한 결제 서비스는 PG사인 토스 페이먼츠였습니다. 토스 페이먼츠에서 제공하는 API를 사용하면 신용카드의 등록과 정기 결제 요청을 분리할 수 있었기 때문에 별다른 이슈는 없었습니다. 스텝페이처럼 사용량 기반의 가격플랜 설정 기능을 제공하지는 않고, 결제 요청 배치도 직접 돌려야 했기 때문에 개발 공수는 훨씬 더 많이 들어갈 수 밖에 없었지만 Furo에서 필요로 하는 기능을 구현할 수 있을 거라고 판단되었죠.

PG는 Payment Gateway의 약자로, 각종 카드사, 은행, 통신사와 별도 계약을 하지 않고도 카드결제, 휴대폰 결제, 계좌 이체 등을 대행해주는 서비스를 의미합니다. 토스 페이먼츠는 PG사이고, 스텝페이나 아임포트는 다양한 PG사와의 중개를 포함한 통합 결제 플랫폼이라는 점에서 층위가 다른 서비스라고 볼 수 있습니다.


하지만 예상치 못한 문제가 있었습니다.

제가 기대하던 UI와는 조금 달랐던 것이죠.😅 하지만 어차피 API가 제공된다면 프론트엔드는 저희가 개발하면 되니까 큰 문제가 되지는 않았습니다. 그런데...

API가 제공되기는 했지만 당장 테스트를 해볼 수는 없었습니다. 사소하지만 결국 아임포트까지 가게 된 이유였죠. Furo도 사용자 경험의 세세한 부분까지 더 신경써야겠다고 느꼈던 순간이었습니다.


API를 테스트하기 어려웠던 것과는 별개로 토스페이먼츠의 문서는 결제 서비스를 처음 연동하는 저에게는 조금 어려웠습니다. 첫 눈에 보기에는 깔끔하게 잘 정리되어 있는 것처럼 보이지만 상세한 설명이 있지는 않기 때문이죠. 이러한 부분도 토스 페이먼츠를 사용하지 않게 된 이유 중 하나였습니다.



아임포트

아임포트는 이전에 단건 결제에 대해서 핸즈온을 한 적이 있었습니다. 처음 사용하는 사용자 입장에서 아임포트의 장단점은 명확합니다.


장점 : 사용자의 다양한 요구사항에 대비하여 다양한 기능들이 있다

단점 : 그 기능들을 잘 찾아서 사용하기 어렵다

  • Docs를 찾아 들어가기 어렵다.
  • 버튼이 상단 탭에 있을 것이라고 기대했지만 좌측 메뉴바의 하단에 위치한다.
  • Docs가 중간에 새롭게 개편된 것 같은데 뭔가 내용이 덜 자세해졌다.
  • https://chai-iamport.gitbook.io/iamport
  • 더 자세한 예전 Docs는 찾기가 어렵다.
  • https://docs.iamport.kr


Docs를 찾아서 보는데 약간의 어려움은 있었지만 아임포트는 Furo에 필요한 API도 제공하고 있었고, 실제 결제까지 테스트해볼 수 있도록 테스트 환경도 제공하고 있었습니다!🥰 또한 Docs에는 예시 코드와 함께 자세한 설명이 나와있어서 이후 실제로 구현을 할 때도 편했습니다.



3부 요약

Furo에 정기 결제 기능을 도입하기 위해서 스텝페이, 토스페이먼츠, 아임포트에 대해 리서치하였고 최종적으로 아임포트를 선정하여 적용하기로 결정하였다.



글을 마치며

3부에서는 여러 결제 서비스를 리서치하고 결정했던 과정에 대해 기록해보았습니다. 이미 몇 주가 지난 작업에 대해서 기억을 되살리려나 쉽지 않네요... 마치 개학 전 날 밀린 방학숙제를 하는 느낌이랄까요...😅 앞으로는 조금 더 짧은 분량으로 자주 글을 쓰는 연습을 해야 할 것 같습니다. 끝으로 요즘 재미있게 사용하고 있는 스모어데이로 생성한 그림을 하나 올려봅니다.

"늦게까지 일했더니 배고프다!" by 스모어데이


끝까지 읽어주셔서 정말 감사합니다!

다음 주에는 "4부 - 결제 기능 설계" 편으로 돌아오겠습니다!



Furo IAM

로그인을 5분 만에 구현하는 IAM SaaS

10
3
Edward Choi

Edward Choi

2023년 새해를 맞이하며

안녕하세요! 호패에서 Furo(https://furo.one) 의 이것저것을 개발하는 에드입니다.


다사다난했던 2022년이 가고 2023년 새해가 밝았네요. 2022년에는 대기업에서 스타트업으로 이직을 하고, 4개월 만에 피버팅을 경험하고, 새로운 만남과 이별이 많았던 해였습니다. 이런저런 일이 많았어서 그런지 한 해가 다 가버린게 얼떨떨하네요. 아쉬운 일도 많았고, 조금 더 잘 할 수 있었지 않나 싶지만 큰 결정에 있어서 후회는 없었던 것 같습니다.


모두 새해에는 건강 챙기시고요, 일말의 후회는 있더라도 좌절하지 않는 한 해가 되셨으면 좋겠습니다!





Furo IAM

로그인을 5분 만에 구현하는 IAM SaaS

6
1
Edward Choi

Edward Choi

결제기능 연동기 - 2부

안녕하세요! 호패에서 Furo(https://furo.one) 의 이것저것을 개발하는 에드입니다.

호패 팀은 2022년의 마지막 스프린트 목표를 결제 기능 연동으로 정했는데요, 그 과정을 5부작 메이커로그로 작성하고 있습니다!

1부에서는 지금 당장 Furo에 결제 기능을 도입하기로 한 이유와 필요한 기능에 대해 정리해보았습니다!🔥🔥 2부에서는 실제로 결제 기능을 구현하기에 앞서 다른 프로덕트들의 결제기능을 리서치을 리서치하고 Furo 고객의 유저 스토리를 정의했던 과정을 소개해보려 합니다!


목차

1부 - 결제기능 도입 이유와 필요한 기능 정의
2부 - 결제기능 레퍼런스와 유저 스토리
3부 - 결제 대행 서비스 리서치와 선정
4부 - 결제 기능 설계
5부 - 결제 기능 개발


자, 그럼 시작해보겠습니다! 😋


지난화 요약

결제기능이 필요한 이유

  • 유료 고객이 생기기 시작했고, 앞으로 유료로 전환하는 고객에 대응하기 위하여

필요한 기능

  • 신용카드 등록
  • 정기 결제
  • 고객 프로젝트의 사용량 집계 시스템
  • 크레딧 시스템


결제기능 레퍼런스 리서치

모방은 창조의 어머니라고 했나요.😀 전체적인 결제 플로우를 그리기에 앞서 평소 잘 이용해오거나 참고하던 서비스들의 정기결제 시스템을 리서치하였습니다.


리서치의 주요 포인트

1) 결제수단 등록 화면 진입 플로우

  • 보통 어떤 식으로 결제수단 등록 화면에 진입하게 될까?


2) 결제수단 등록 화면 구성

  • 결제수단 등록 화면에 결제 수단 등록 버튼만 있지는 않을 것 같지는 않은데 어떤 정보들과 기능으로 화면을 구성해야 할까?


3) 결제내역 화면 구성

  • 상품 이름, 금액, 결제일... 또 어떤 정보를 어떤 UI로 보여주어야 할까?


4) 신용카드 등록 UX

  • 신용카드 등록에는 어떤 정보가 필요하지?
  • 신용카드를 등록했다가 도중에 정보를 삭제하면?
  • 신용카드는 보통 여러 개 등록해서 쓸 수 있나?
  • 여러 개 등록하면 대표 카드 지정도 해야겠네?
  • 등등...


5) 유료 플랜 적용 단위

  • 유료 플랜을 어떤 단위로 적용해야 할까? (팀, 워크스페이스, 프로젝트, ...)
결제 시스템을 만들 때 까다로운 부분 중 하나는 "유료 플랜을 어떤 단위에 적용할 것인가" 하는 문제입니다. 초기 SaaS의 경우 팀 기능이 없는 경우가 많기는 하지만, 기능의 성숙도가 높아지면 프로젝트는 [ 팀 > 워크스페이스 > 프로젝트 ] 의 계층구조로 관리되며, 사용자는 여러 팀에 속할 수 있게 되죠. 그렇다면 유료플랜은 어느 단위에 적용되는 것이 좋을까요? 결론부터 말씀드리면 일반적으로는 '팀'입니다. 팀은 회사 전체나 개발 부서 전체를 고려한 계층이기 때문입니다. (Team이라는 용어 대신 Organization이라고 명명하는 경우도 많죠) Furo는 아직 팀과 팀원을 관리할 수 있는 기능 없지만 내부적으로 팀을 만들고 관리할 수 있도록 DB 스키마를 구성해두었습니다. 때문에 실제 결제를 할 때 어떤 UX로 팀에 유료플랜을 적용하는지 파악하는 것이 이번 리서치의 중요한 포인트 중 하나였습니다!



리서치 내용 와이어프레임으로 정리

Alchemy

Alchemy는 Dapp을 개발할 때 직접 블록체인 노드를 운영하지 않고도 블록체인 네트워크와 통신할 수 있도록 엔드포인트를 제공하는 서비스(Web3 Provider)죠! 블록체인과 Dapp 개발에 익숙하지 않은 독자라면 이해가 어려울 수 있지만 본편의 주제를 고려하여 자세한 설명은 생략하는 점 양해 부탁드리겠습니다.😅

Alchemy의 경우 요청수 기반으로 요금을 청구합니다. 저희 Furo는 MAU 기반의 사용료 청구를 고려하고 있었기에 Alchemy를 참고하였습니다.


특징

  • 개인 설정에서 결제 페이지로 이동한다.
  • 결제 페이지에서 현재 적용되고 있는 구독 플랜과 다른 구독 플랜의 정보를 비교할 수 있다.
  • 먼저 신용카드를 등록해야만 다른 구독 플랜으로 변경할 수 있다.
  • 청구서 페이지가 별도로 존재한다.
  • 요청 수에 따른 예상 비용 추정할 있는 cost estimator가 있다.
  • 구독 플랜은 팀 단위로 적용되지만, 사용자는 하나의 팀에만 속할 수 있기 때문에 팀을 선택하여 결제를 하는 UI는 없다.
  • 다른 사용자를 초대하고 크레딧을 얻을 수 있으며, 이 크레딧을 결제 금액 대신 지불할 수 있다.



Vercel

Vercel은 프론트엔드 어플리케이션을 호스팅해주는 서비스입니다. 데이터를 저장할 필요 없는 싱글페이지 애플리케이션을 호스팅하고, 관리하는데 최적화되어 있죠.

Vercel 가격 정책의 특징은 팀원 수 기반의 기본 요금을 선불로 청구하고 과 네트워크 대역폭 등 사용량 기반의 추가 요금을 후불로 청구한다는 점입니다(usage-based meter with flat price). Furo가 고려중인 가격 정책이 거의 정확히 이러한 형태이기 때문에 Vercel도 많이 참고하였습니다.


특징

  • 유료 플랜을 무료로 2주 체험할 수 있다.
  • 사용자는 여러 개의 팀에 속할 수 있으며, 구독플랜은 팀 별로 적용된다.
  • 팀원수, 네트워크 대역폭 사용량 등 기본 구독료 이외의 추가 사용료를 지불해야 한다.
  • 유료플랜 전환 즉시 선불로 결제가 발생하며, 추가 사용료에 대하서는 이후에 청구된다. (아마 다음 달에 합산하여 청구되는 것으로 추정된다)
  • 청구서에서는 추가 사용료를 항목별로 계산하여 보여준다.
  • 유료 플랜 전환시 신용카드가 등록되어 있지 않으면 카드를 등록하는 UI를 보여준다.



Stytch

Stytch는 Furo와 거의 동일한 서비스라고 할 수 있습니다. 프론트엔드 SDK나 백엔드 API를 이용하여 쉽고 빠르고 안전하게 사용자 인증 기능을 구현할 수 있도록 하는 서비스죠. Furo에서 많이 참고하는 서비스들 중 하나이기도 합니다.

Stytch는 '고객에게 전달하려는 가치' 라는 차원에서 Furo가 가장 방향성이 같은 서비스입니다. 로그인/회원가입 단계에서 고객의 사용자 전환율을 높이고 고객과 함께 성장하겠다는 가치는 MAU 기반의 사용료가 청구되는 가격 정책에 잘 반영되어 있다고 볼 수 있죠.


특징

  • MAU 기반의 과금 정책을 사용한다.
  • 유료 구독 플랜을 사용하려면 무조건 세일즈 팀에 연락해야 한다.
  • 구독 플랜은 하나의 워크스페이스 단위로 적용된다. (팀 단위로 적용되는 것과 사실상 동일하다)
  • Alchemy처럼 사용자는 하나의 팀에만 속할 수 있다.
  • 청구서 페이지가 따로 없고 결제페이지 하단에 청구서 목록 정보가 함께 있다.




Auth0

Auth0 역시 Furo와 거의 동일한 서비스로, 사용자 인증 분야의 공룡기업이라고 할 수 있습니다. 2014년에 시드 투자를 받았고, 현재는 7조 가치의 회사가 되었죠.

Furo를 처음 기획할 때부터 많이 참고하였던 서비스이고, MAU 기반의 가격 정책을 사용한다는 점에서 확인하고 넘어갈 필요가 있었습니다.


특징

  • MAU 기반의 가격 정책을 사용한다.
  • 다른 서비스들보다 상대적으로 세분화되어 있는 네 가지 구독 플랜을 제공한다.
  • Alchemy와 유사하게 결제 페이지에서 구독 플랜별 특징을 비교할 수 있다.
  • 팀(Auth0에서는 Organization)이 아닌 Tenant(하나의 환경설정이 적용되는 컨테이너 - 지역, 등등... ) 단위로 구독플랜이 적용된다.



정리

다른 서비스들의 결제 UI / UX를 와이어프레임으로 정리해봤습니다. 이를 바탕으로 정리한 Furo 결제시스템의 대략적인 유저스토리와 와이어프레임은 다음과 같습니다.


요약

  • 구독 플랜은 팀 단위로 적용된다.
  • 유료 구독 플랜의 요금은 기본요금과 MAU, Email 전송량 등에 의해 계산되는 추가 금액으로 구성된다.
  • 사용자는 결제 페이지에서 현재 MAU와 Email 전송량 등 리소스 사용량과 예상 결제 금액을 볼 수 있다.
  • 사용자가 유료 플랜을 구독하기 위해서는 신용카드를 먼저 등록해야 한다.
  • 신용카드는 여러 개 등록할 수 있으며, 그 중 대표카드를 지정할 수 있다.
  • 사용자는 신용카드를 결제수단으로 등록할 수 있다.
  • 사용자는 등록한 신용카드로 유료 플랜을 정기결제할 수 있다.
  • 사용자는 Furo에서 지급하는 크레딧을 사용하여 정기결제 비용을 지불할 수 있다.
  • 사용자가 유료 플랜을 구독하면 그 달의 기본 요금을 선불로 지불하고 그 달의 MAU, Email 전송량 등에 의해 계산된 추가 사용요금은 다음 달에 합산되어 청구된다.
  • 사용자는 그 달의 기본요금, 사용량, 할인 내역등이 포함된 청구서 목록과 청구서 상세 내역을 볼 수 있다.


2부 요약

결제 시스템 리서치 포인트

  • 결제수단 등록 화면
  • 결제 내역 화면
  • 유료 플랜 적용 단위

다른 서비스의 결제 시스템 정리

  • Alchemy, Vercel, Stytch, Auth0 의 결제 시스템을 리서치

유저 스토리 정의

  • 리서치를 바탕으로 Furo에 필요한 유저 스토리 정의



글을 마치며

2부에서는 Furo에 결제시스템을 도입하기 위해 리서치를 하고 유저스토리를 정의했던 과정을 기록해보았습니다! 평소엔 눈여겨보지 않았던 결제 시스템을 알아보는 일 자체가 꽤나 흥미롭고 재미있었던 기억이 나네요. 그런데 돌이켜보면 이 때 와이어프레임과 유저스토리를 더 명확하게 작성했어야 했었습니다. 이후 시스템의 아키텍처와 DB스키나, API 스펙을 설계하는 과정에서 팀원들이 생각하고 있는 유저 스토리와 화면 구성이 모두 조금씩 달라서 혼선이 많았거든요... 🤣🤣🤣 앞으로는 리서치 자체보다는 리서치 이후에 팀원들 모두가 같은 방향으로 달릴 수 있도록 명확한 형태의 산출물을 정리하는 데에 더 힘을 써야겠다는 생각을 해봅니다.


끝까지 읽어주셔서 정말 감사합니다!

다음주에는 "3부 - 결제 대행 서비스 리서치와 선정" 으로 돌아오겠습니다!


















Furo IAM

로그인을 5분 만에 구현하는 IAM SaaS

8
0
Edward Choi

Edward Choi

결제 기능 연동기 - 1부

안녕하세요! 호패에서 Furo(https://furo.one)에서 이것저것을 개발하는 에드입니다.

호패 팀은 올해의 마지막 스프린트의 목표를 결제 기능 연동으로 정했습니다. 간단할 줄 알았지만 고민할 거리가 많은 결제 기능! 그 과정을 짧은 분량으로 나누어 5부작 메이커로그로 작성하려 합니다.


목차

1부 - 결제기능 도입 이유와 필요한 기능 정의
2부 - 결제기능 레퍼런스와 유저 스토리
3부 - 결제 대행 서비스 리서치와 선정
4부 - 결제 기능 설계
5부 - 결제 기능 개발



자 그럼, 시작해보겠습니다! 😋


결제기능을 도입하게 된 이유

유료 고객의 등장과 앞으로의 유료 전환에 대응

2022년 4분기부터 Furo에도 유료 고객이 생기기 시작했습니다. 기존 무료 고객이 유료로 전환되거나 먼저 연락을 주신 경우는 아니었습니다. 하지만 Furo가 현재 제공하는 가치와 미래에 제공할 가치를 미리 구매하고자 하는 수요를 확인 할 수 있었고, 이에 미리 대비할 필요가 있었습니다!


K - 비대면 바우처 플랫폼 사업 지원

우리나라 중소기업 지원 사업중에 K-비대면 바우처 플랫폼 사업이라는 것이 있어요! 간단하게 설명하면, 비대면 서비스를 제공하는 기업의 제품 금액을 정부에서 70퍼센트 지원해주고, 수요기업은 30퍼센트만 부담할 수 있도록 하는 사업이예요. 고객들이 필요하지만 가격 때문에 망설이던 서비스를 70% 할인된 금액에 사용할 수 있는 기회인 셈이죠. 저희 팀도 비대면 바우처로 구매한 HR 솔루션 Flex를 정말 잘 사용하고 있답니다!


hthttps://www.k-voucher.kr/page/businessIntro실 결제 기능이 비대면 바우처 사업에 지원하기 위한 필수조건은 아니예요. 결제와 정산은 모두 K-비대면 바우처 플랫폼에서 이루어지기 때문에 필요한 시스템은 결제보다는 크레딧 지급과 차감이죠. 하지만 만약 크레딧을 모두 소모한다면 그 때는 서비스를 유료화해야 하기 때문에 결제 기능을 함께 만들기로 했습니다. 😄


회사의 성장 전략을 Product-Led Growth로!

Hopae의 성장 전략은 Product-Led Growth 입니다. 영업/마케팅으로 고객을 찾아가기보다는 고객들이 가장 필요로 하는 기능을 잘 만들어서 직접 찾아오게 만들겠다는 것이죠. 이 경우 별도의 컨텍을 통해서 계약을 하는 방식에 앞서 결제 기능이 있어야 합니다. 찾아온 고객들이 Free Plan으로 Furo의 필수적인 기능들을 잘 사용하다가 언젠가 MAU가 폭풍 상승하여 Pro Plan이 필요해지면 결제를 할 수 있어야 하니까요. 아, 고객의 MAU가 상승하는 것과 Pro Plan이 필요한 것이 무슨 상관이냐고요? Furo는 고객의 MAU 기반의 과금 정책을 적용할 예정이기 때문이죠! 고객의 성장이 곧 Furo의 성장이기 때문에 팀 맴버들은 고객들의 프로덕트와 성장에 항상 관심을 기울이고 있답니다! 👀🦻🤚


다른 이유들

이밖에도 "돈을 내고 사겠다는 고객이 있는데 결제 기능을 진작 만들었어야 하는 게 아닌가?", "결제 기능을 빨리 만들면 비용을 지불하고서라도 우리 프로덕트를 사용할 핵심 고객을 찾는데 도움이 되지 않을까?" 등 다양한 이유가 있기는 합니다. 😀😀😀


결제 서비스 연동 이유와 시기에 대해 되는시간 팀에서 작성해주신 메이커 로그가 있더라고요. 참고하시면 좋을 것 같습니다!

참고 : 되는시간 팀 - SaaS 유료화 경험 공유 (hthttps://disquiet.io/@whattime-jay/makerlog/3397



우리에게 필요한 기능

그렇다면 구체적으로 Furo는 어떤 결제 기능과 관련 시스템이 필요할까요?


신용카드 등록 & 정기 결제

Furo는 고객사들의 회원 정보를 안전하게 관리하고 다양한 인증 기능을 제공하는 B2B SaaS 입니다. 이러한 서비스들은 보통 특정 가격플랜을 구독하고 달마다 사용료를 지불하게 하는 경우가 많습니다. 또한 사용자는 최초에 한 번만 신용카드 정보를 등록하고, 결제는 자동으로 되는것이 우리에게 익숙한 사용자 경험이겠죠!

참고 : Vercel의 가격 플랜



사용량 집계 시스템

Furo는 고객의 사용자 전환율과 MAU를 향상시키는데 항상 집중하고 있어요.😆 때문에 사용료도 고객의 MAU를 기반으로 책정하려고 합니다. 또한 인증과정에서 Email이 전송되는 경우 저희 팀에 비용이 발생하기 때문에 이부분도 수집을 해야 하겠죠! 만약 추후에 SMS Passcode 인증이 도입되면 전송된 SMS도 집계가 되어야 하기 때문에 다양한 사용량을 집계할 수 있는 시스템이 필요합니다.

참고 : Vercel의 사용량 집계 화면



크레딧 시스템

위에서도 언급했듯이, 비대면 바우처 플랫폼의 공급업체가 되기 위해서는 크레딧 시스템이 있어야 합니다. 뿐만 아니라 앞으로 Furo에서 진행할 대학생, 초기 스타트업 대상의 다양한 이벤트를 위해서도 크레딧 기능은 필요하겠죠! 😁



1부 요약

결제기능이 필요한 이유

  • 유료 고객이 생기기 시작했고, 앞으로 유료로 전환하는 고객에 대응하기 위하여

필요한 기능

  • 신용카드 등록
  • 정기 결제
  • 고객 프로젝트의 사용량 집계 시스템
  • 크레딧 시스템



글을 마치며

원래 하루를 마무리하며 메이커 로그를 조금씩 작성해서 일주일에 2~3편 정도 쓰려고 했는데 주말 숙제가 되어버렸네요... 평일에 일도 하시면서 메이커로그도 작성하시는 분들 정말 존경합니다. 👍👍👍


곧 "2부 - 결제기능 레퍼런스와 유저 스토리" 로 돌아오겠습니다!

Furo IAM

로그인을 5분 만에 구현하는 IAM SaaS

8
2
Edward Choi

Edward Choi

[Furo] 이메일 매직링크 기능 업데이트


안녕하세요! Hopae에서 Furo(https://furo.one)의 이것저것을 개발하는 에드입니다. 😀

Furo는 메이커님들의 서비스에서 회원가입/로그인 및 다양한 인증 기능을 쉽고 빠르게 적용할 수 있도록 돕는 Low-code SaaS입니다. 오늘은 최근에 추가된 이메일 매직링크 기능 업데이트 소식을 전해드리러 왔습니다!


업데이트 내용

  • 대시보드에서 이메일 매직링크 로그인을 활성화할 수 있습니다.
  • 입력받은 사용자 이메일로 회원가입/로그인 링크를 전송할 수 있습니다.
  • 사용자는 입력한 이메일로 전송된 매직링크를 통해 회원가입/로그인을 할 수 있습니다.


이메일을 통한 간편하고 안전한 인증

매직링크는 패스워드 방식보다 사용성이 좋고, 안전합니다! 패스워드 도난 방지를 위해 "영문 대소문자, 숫자, 특수문자로 구성된 8~15자리"와 같은 규칙을 적용하면서 사용자들이 불편하지 않을까 걱정되셨죠? 이제 사용자들은 평소 자주 사용하는 이메일을 사용하여 쉽고 빠르고 안전하게 메이커님들의 서비스를 경험할 수 있어요!


깨알같은 디테일

Furo는 메일함에 접속하는 과정조차 간단하게 하기 위해 신경 썼습니다. 사용자들이 많이 사용하는 구글, 네이버, 카카오 메일의 경우 메일 클라이언트에 접속하는 버튼이 자동 생성!


대시보드를 통한 간단한 설정

별도의 이메일 서비스를 사용할 필요 없이 대시보드에서 버튼 클릭 한 번으로 10초만에 매직링크 기능을 활성화할 수 있어요!


>>>>>>> 앗, 이건 우리 서비스에 꼭 필요한 기능이잖아!? 샘플 프로젝트로 매직링크 적용해보기 <<<<<<<


매직링크에 대해 살짝만 알아볼까요?


매직링크?

매직링크라는 말을 들어보셨나요? 매직링크는 패스워드를 사용하지 않는(Passwordless) 인증방식에서 사용자의 이메일이나 SMS 등으로 보내주는 접속 링크를 뜻합니다. Medium, Slack, Notion 등 우리에게 익숙한 해외 서비스들도 회원가입/로그인 프로세스에서 사용하고 있죠!

Passwordless란, 패스워드를 사용하지 않는 인증방식으로, 사용자의 이메일로 일회용 접속 링크(매직링크)를 전송하거나 이메일, SMS, 모바일 애플리케이션으로 일회용 인증코드(OTP)를 전송하는 인증방식을 통칭합니다.


그래서 매직링크가 패스워드보다 좋은 이유가 뭐죠?

보안 리스크 감소!

서비스를 운영하는 입장에서 사용자의 패스워드를 데이터베이스에 저장하고 관리하는 일은 언제나 부담스럽죠. 서비스의 보안성을 높은 수준으로 유지한다고 하더라도 사용자가 같은 이메일/패스워드를 다른 서비스에서 사용할 수도 있잖아요? 매직링크를 사용하면 비밀번호 사용으로 발생하는 보안 리스크를 줄일 수 있는거죠. 😁


더 나은 사용자 경험!

매직링크 로그인은 서비스에 새로 가입하거나 오랜만에 접속하는 사용자 입장에서 정말 편해요. 만약 자주 사용하는 서비스라면 항상 입력하던 패스워드를 입력하는 것이 더 편하긴 하죠. 하지만 매번 같은 패스워드를 처음 가입하는 서비스에도 사용하는 것 자체가 불안한 일이잖아요? 또, 항상 사용하던 패스워드가 규칙에 맞지 않는다면? 가까운 시일 내에 패스워드 찾기를 할 일이 있겠죠. 생각만 해도 귀찮네요.

매직링크를 적용하면 이런 경험을 할 일이 없어요. 사용자는 평소 자주 사용하는 이메일로 전송된 링크를 클릭하여 로그인할 뿐이죠~👍


전환율 개선!

사용자들이 일단 회원가입은 할 확률이 높아져요! 서비스를 개발하고 운영하는 메이커들에게 사용자 전환율을 높이는 것은 아주 중요해요. 그 중에서도 사용자 경험이 시작되는 회원가입/로그인 단계에서의 전환율은 초기 서비스들이 특히 신경써야 할 부분이죠. 사용자가 이 단계를 매끄럽게 넘어가지 못하면 서비스의 핵심 기능은 구경도 못 한 채 부정적인 인식만 갖고 돌아설 수도 있으니까요. 매직링크는 메이커들이 열심히 만든 서비스를 사용자들이 쉽고 빠르게 만날 수 있도록 도와줄 거예요. 🚀🚀🚀


이메일 본인인증은 덤!

별도의 이메일 본인인증을 도입할 필요가 없어요! 사용자가 회원가입을 해도 그 사용자가 중복되지 않았는지, 실제로 존재하는 이메일을 입력했는지 알기 위해서는 본인인증을 해야 하죠. 하지만 매직링크로 로그인 했다면? 이미 사용자는 본인 소유의 이메일을 인증한 셈이 됩니다!


글을 마치며

스타트업으로 이직하고 Furo를 개발하며 다른 초기 서비스들도 관심있게 보고 있습니다. 재미있는 아이디어들이 많아서 항상 놀랍고, 작은 규모의 팀들이 완성도 높은 제품을 만들어나가는 과정을 지켜보며 감탄하기도 합니다. 우리도 저분들처럼 더 치열하게 고민하고 디테일에 신경써야지 하는 생각을 매일 하게 되네요. 그렇게 서비스들을 구경하다보면 회원가입 프로세스를 조금 바꿔드리고 싶다는 생각이 많이 들 때가 있습니다. 사소한 부분이라고 생각될 수도 있지만 가입도 안하고 이탈하는 사용자들이 꽤나 많거든요. 이 글을 읽으시는 분들도 다들 경험이 있으실거예요.


거주지 정보가 필요한 기능을 이용하지 않을 수도 있는데 왜 거주지가 회원가입을 위한 필수 입력값일까?
구매는 아직 할 생각이 없는데, 벌써 결제수단을 등록해야 하네...
서비스부터 보고 싶은데, 긴 설문조사에 응하지 않으면 가입이 안되네... 설문조사는 조금만 나중으로 미뤄도 되지 않았을까?


마치 저 넘어의 풍경이 좋다고 들어서 한 번 가보고 싶은데 진입로가 너무 좁고 울퉁불퉁해서 가볼까 말까 고민되는 것과 같았습니다. 우리 팀이 다른 더 훌륭한 팀들을 도와 진입로를 잘 닦아 놓으면 지금보다 많은 사용자들이 좋은 서비스들을 접할 수 있지 않을까 하는 생각입니다.


감사합니다.

다음 업데이트 소식도 기대해주세요!😁




P.s. Furo에 추가되었으면 하는 기능이 있으신가요? Hellonext 보드(https://furo.hellonext.co/)에 메이커님들의 소중한 의견을 남겨주시면 적극적으로 검토하겠습니다!

7
1