30초 요약
먼저 세 줄로 정리하면
익명으로 고민을 게시하면 같은 경험이 있는 사람이 답변하는 익명 심리상담 서비스입니다. 답변자에게 자격을 요구하지 않는 대신 안전장치 세 가지를 두었고, 일대일 상담은 60분 경과 시 종료되며 기록을 남기지 않습니다. 2018년 8월 3개월간 개발하여 약 1년 운영하였습니다.
전제
답변자에게 자격을 요구하지 않는 구조
상담 서비스는 통상 자격증 보유자를 모집하는 일부터 시작합니다. 블루하트는 다른 방식을 택하였습니다.
답변 입력란에 본인의 경험에서 찾은 고민 해결 방법을 적어 달라는 안내문을 두었습니다. 자격이 아니라 경험을 요구합니다.
전제는 하나였습니다. 이야기를 들어 주는 것만으로도 도움이 된다는 것입니다. 직장 상사와의 관계로 지친 사람에게 필요한 것은 진단이 아니라 같은 일을 겪고 지나온 사람의 말인 경우가 많습니다.
전제를 받아들이면 서비스의 구조가 전부 달라집니다. 자격 확인 절차가 없어지는 대신 다른 것을 보장하여야 합니다.
설계
자격 확인을 대신하는 안전장치 세 가지

고민을 게시할 때 사람이 망설이는 이유는 대개 세 가지입니다. 신원 노출과 기록 보존과 종료 불가에 대한 우려입니다. 자격증 확인으로는 세 가지 가운데 하나도 해결되지 않습니다.
신원 비공개
가입 시 휴대전화 본인인증을 받습니다. 다만 인증 정보는 화면에 전혀 표출하지 않습니다.
두 가지 모두 필요하였습니다. 인증을 받지 않으면 문제 발생 시 확인할 방법이 없고, 인증 정보를 표출하면 아무도 글을 작성하지 않습니다. 서버는 보유하고 화면은 표출하지 않는 구조로 분리하였습니다.
대화 기록 미보존
상담 화면에 메시지를 보내면 이전 메시지는 삭제된다는 안내를 두었습니다.
통상 대화 앱은 기록 보존이 기능입니다. 블루하트는 반대로 설계하였습니다. 기록이 남는다고 생각하면 꺼내지 못하는 이야기가 있기 때문입니다.
종료 권한은 질문자에게
상담이 끝난 글에는 상담완료 표시가 붙습니다. 표시를 누르는 쪽은 답변자가 아니라 글을 게시한 사람입니다.
답변자가 종료를 정하면 질문자가 끝나지 않았는데 닫힐 수 있습니다. 누가 종료 권한을 갖는지가 블루하트에서는 기능이 아니라 태도입니다.
상담
60분 제한과 종료 시 상담방 폐쇄

상담방에 입장하면 60분부터 남은 시간이 줄어듭니다. 시간이 종료되면 상담방이 닫힙니다. 연장 기능은 운영 중에 추가하였습니다.
시간을 정해 두는 쪽이 양측 모두에게 편합니다. 답변자는 소요 시간을 모르는 상태로 시작하지 않아도 되고, 질문자는 미안해하며 종료할 필요가 없습니다. 종료 시점이 정해져 있으면 시작이 쉬워집니다.
닉네임은 오렌지나무, 야근대리, 별별별님처럼 뜻이 없는 이름입니다. 이름도 얼굴도 없이 한 시간 동안 한 사람의 이야기만 듣습니다.
화면
고민 게시와 경험자 답변 화면

분류를 증상이 아니라 관계 기준으로 나누었습니다. 직장과의 관계, 가족과의 관계, 사회생활.
우울이나 불안 같은 증상명으로 나누면 글을 게시하는 사람이 본인을 먼저 진단하여야 합니다. 대부분은 본인의 상태를 모르는 채 힘들어합니다. 아는 것은 누구와의 관계에서 힘든지뿐입니다. 그래서 관계 기준으로 분류하였습니다.

앱만 제작하지 않은 이유는 검색으로 유입되는 사람 때문입니다. 힘든 사람이 가장 먼저 하는 일은 앱 설치가 아니라 검색입니다. 설치 없이 바로 읽을 수 있어야 했습니다.
개발 사양
개발 사양과 사용 기술
2018년 8월
개발에 3개월이 소요되었고, 이후 약 1년 운영하였습니다.
안드로이드 네이티브
웹사이트와 동시에 출시하였습니다.
Node.js · 웹과 실시간 대화 모두
게시판 서버와 실시간 대화 서버를 같은 언어로 구축하였습니다. 이유는 개발 속도였습니다. 한 사람이 서버와 앱을 함께 개발하는 구성이라 전환 비용을 줄여야 했습니다.
MySQL
회원과 게시글과 답글을 저장합니다. 상담 대화는 저장하지 않습니다.
휴대전화 본인인증
인증은 받되 화면에는 표출하지 않습니다.
60분 제한 · 종료 시 방 닫힘
운영 중에 연장 기능을 추가하였습니다.
운영
개발보다 오래 걸린 이용자 확보
개발에는 3개월이 소요되었습니다. 이후 운영에 든 시간이 훨씬 길었습니다.
심리 상담에 관심이 있을 만한 사람들에게 메일을 개별 발송하였습니다. 관련 커뮤니티에 서비스를 등록하였고, 블로그에 후기를 게시하였습니다. 대규모 광고 없이 이용자를 한 사람씩 늘렸습니다.
약 1년을 운영하면서 안드로이드 스토어 심리·상담 분류에서 2위까지 올랐고, 현재는 운영하지 않습니다.
운영을 통해 확인한 사항
블루하트에서 가장 많이 수정한 것은 기능이 아니라 사람이 머무는 조건이었습니다. 연장 기능도 같은 과정에서 나왔습니다. 60분이 부족하다는 의견이 나온 뒤에 추가한 것입니다.
그리고 답변자가 먼저 지칩니다. 고민을 읽고 본인의 경험을 적는 일은 무보수로 계속할 수 있는 일이 아닙니다. 이용자를 모으는 일보다 답변자를 유지하는 일이 어려웠습니다.
개발만 하였다면 확인할 수 없는 사항입니다.
그래서
업종이 달라도 적용되는 원칙
상담 서비스 사례이지만 아래 세 가지는 어느 업종에나 적용됩니다.
서버 보유 정보와 화면 표출 정보의 분리
본인인증은 받되 화면에는 표출하지 않았습니다. 확인은 필요하지만 노출하면 안 되는 정보는 어느 서비스에나 있습니다. 수집 여부가 아니라 표출 범위를 정하는 문제입니다.
기록을 남기지 않는 것도 기능
대화 기록은 통상 보존이 기본입니다. 그러나 기록이 남는다고 생각하면 사용하지 않게 되는 서비스가 있습니다. 보존 범위는 기술이 아니라 서비스가 다루는 내용으로 정합니다.
종료 권한의 위치가 서비스의 태도를 결정
종료 버튼을 답변자가 갖는지 질문자가 갖는지는 기능 목록에서는 한 줄 차이입니다. 그러나 이용자가 느끼는 것은 전혀 다릅니다. 기획에서 정하지 않으면 개발이 편한 쪽으로 정해지는 항목입니다.
출시 이후까지 함께 협의합니다
블루하트는 흐름소프트가 개발하고 직접 운영한 서비스입니다. 이용자를 모으고, 반응을 확인하고, 수정하고, 종료하는 단계까지 수행하였습니다.
만들고자 하는 서비스 내용 접수
정리된 문서가 없어도 됩니다. 누가 사용할 서비스인지부터 확인합니다.
이용자가 망설이는 지점 공동 검토
블루하트에서 서비스의 구조를 정한 지점이 바로 해당 단계였습니다. 기능 추가보다 망설이는 이유를 없애는 것이 우선인 경우가 많습니다.
출시 이후 계획 공동 검토
홍보 방법과 초기 이용자 확보 경로를 함께 검토합니다. 개발 일정과 별개의 사항이 아닙니다.
함께 볼 만한 글
소개팅 앱 개발 사례
해당 사례에서도 누구를 어떻게 표출할지가 첫 과제였습니다.
모임 관리 앱 개발 사례
해당 사례에서도 받을 회원과 받지 않을 회원을 구분하였습니다.
요구사항 정의 가이드
넣을 기능과 뺄 기능을 정리하는 방법을 설명합니다.
자주 묻는 질문
의뢰와 일정
심리상담 앱 개발 비용은 어떻게 산정합니까
게시판, 채팅, 본인인증, 관리자 기능 같은 범위와 웹·앱 플랫폼 수를 기준으로 산정합니다. 범위를 정리한 뒤 견적서로 안내합니다.
개발 기간은 얼마나 걸립니까
범위에 따라 다릅니다. 본 사례는 기획 1명, 디자인 1명, 개발 1명이 3개월 만에 웹사이트와 안드로이드 앱을 함께 출시하였습니다.
자료를 보내기 전에 NDA를 먼저 체결할 수 있습니까
가능합니다. 비밀유지계약을 먼저 체결한 뒤 자료와 견적의뢰서를 받아 검토합니다.
기획서가 없어도 의뢰할 수 있습니까
가능합니다. 누가 쓰는 서비스인지와 필요한 기능부터 정리하여 요구사항 명세서와 기능정의서, 기획서로 만듭니다.
익명과 개인정보
익명 상담 앱에서도 본인인증을 받을 수 있습니까
가능합니다. 본 사례는 가입할 때 휴대폰 본인인증을 받고, 화면에는 닉네임만 표출하였습니다.
상담 대화를 저장하지 않게 만들 수 있습니까
가능합니다. 본 사례는 새 메시지를 보내면 이전 메시지가 지워지도록 하고, 상담 대화는 서버에 저장하지 않았습니다.
개인정보 없이 이용 통계만 수집할 수 있습니까
가능합니다. 이용 횟수와 이용자 수 같은 통계만 모으도록 수집 항목을 설계합니다.
근로자지원프로그램(EAP)처럼 직원만 쓰는 심리상담 앱도 만들 수 있습니까
가능합니다. 직원 인증이나 초대 방식으로 이용 대상을 제한하는 방안을 함께 검토합니다.
상담 기능
1:1 실시간 채팅 상담은 어떻게 구현합니까
본 사례는 게시판과 별도로 Node.js 소켓서버를 두어 실시간 채팅을 처리하였습니다.
상담 시간을 제한할 수 있습니까
가능합니다. 본 사례는 60분이 지나면 대화방이 닫히도록 하고, 운영 중 연장 기능을 추가하였습니다.
답변은 누가 합니까
본 사례는 모집한 전문가와 같은 경험이 있는 이용자가 함께 답하였습니다. 전문가 답글에는 상담가 이름표를 붙였습니다.
상담이 끝났다는 표시는 누가 합니까
본 사례는 글을 올린 사람이 상담완료를 표시하도록 하였습니다.
익명 게시판의 고민 글은 어떻게 분류하였습니까
직장과의 관계, 가족과의 관계, 사회생활처럼 관계를 기준으로 분류하였습니다.
AI 심리상담이나 심리검사 기능도 넣을 수 있습니까
범위에 따라 검토합니다. 원하시는 기능 목록을 받아 구현 방식과 일정을 함께 안내합니다.
플랫폼과 운영
웹과 앱을 함께 만들 수 있습니까
가능합니다. 본 사례는 같은 서버를 쓰는 웹사이트와 안드로이드 앱을 동시에 출시하였습니다.
iOS 앱도 만들 수 있습니까
가능합니다. 범위와 일정에 맞추어 안드로이드와 iOS를 함께 또는 차례로 개발합니다.
출시 후 이용자 확보도 함께 검토합니까
본 사례는 이메일, 관련 커뮤니티, 블로그로 이용자를 모아 약 1년 운영하였습니다. 기획 단계에서 출시 이후 계획을 함께 검토합니다.
완료 후에도 관리해 줍니까
유지보수 계약으로 기능 개선과 오류 수정을 지원합니다.