디지털 인지검사 앱
특허 인지검사 3종을 게임 형태로 구현하고 AI 분석 결과를 시각화하는 디지털 인지검사 애플리케이션

사례 요약
고객사
주식회사 뉴테크마인드
분야
디지털 헬스케어, 인지 건강 관리
기간
2025년 6월 ~ 2025년 12월 (약 7개월)
고민
종이·대면 인지검사는 참여 장벽이 높고, 결과지를 받아도 일반 사용자가 해석하기 어려웠습니다
활용 기능
게임형 인지검사 3종, AI 분석 리포트, AI 상담, 사운드 케어, 구독 결제, 운영 관리자
성과
검사 결과를 60개 이상 지표로 시각화, 검사 이후의 케어까지 한 서비스에서 처리
1. 고객사 소개
- 이름: 주식회사 뉴테크마인드
- 분야: 인지검사 및 인지 건강 관리 서비스
- 보유 자산: 특허 인지검사 3종
- 과제: 보유한 검사 자산을 앱으로 옮기고, 검사 이후의 관리까지 이어지는 서비스로 확장
당사는 앱과 서버, 운영 관리자 시스템, 제휴 사업자 채널을 포함한 풀스택 개발을 담당했습니다.
2. 도입 배경
인지검사는 오랫동안 종이와 대면 진행에 의존해 왔습니다. 검사자가 옆에 앉아 문항을 읽어 주고, 응답을 기록하고, 채점 기준표와 대조해 점수를 냅니다. 검사받는 사람 입장에서는 시간과 장소를 맞춰야 하고, 결과지를 받아도 숫자의 의미를 스스로 해석하기 어렵습니다.
검사가 끝난 뒤가 비어 있다
더 큰 문제는 검사 이후입니다. 결과지를 받아 들고 "그래서 무엇을 해야 하는가"에 답을 얻는 사람은 많지 않습니다. 검사는 한 번의 이벤트로 끝나고, 다음 검사까지의 기간은 비어 있습니다. 검사 기관 입장에서도 마찬가지입니다. 검사를 마친 사람이 그 뒤에 어떤 상태인지 알 방법이 없으니 사후 관리를 설계할 수 없습니다.
검사에서 케어까지 잇기
주식회사 뉴테크마인드와 함께 2025년 6월부터 12월까지 이 과정 전체를 디지털로 옮겼습니다. 특허 인지검사 3종을 게임 형태로 다시 설계해 진입 장벽을 낮추고, 검사 결과는 AI가 분석해 60개 이상의 지표로 시각화합니다. 여기에 검사 이후를 채우는 기능으로 AI 상담과 사운드 케어, 인지 훈련 콘텐츠를 붙였습니다. 당사는 앱과 관리자 시스템, 서버를 포함한 풀스택 개발을 담당했습니다.
정리하면 세 가지가 목표였습니다. 검사를 쉽게 만들 것, 결과를 이해하게 만들 것, 그리고 검사 이후를 이어지게 만들 것입니다.
세 목표는 서로 얽혀 있습니다. 검사가 쉬워지면 검사 횟수가 늘고, 횟수가 늘면 시점 간 비교가 가능해져 결과의 의미가 분명해집니다. 결과가 분명해지면 다음에 할 일을 제안할 근거가 생기고, 그 제안을 따른 기록이 다시 다음 검사의 해석에 쓰입니다. 그래서 기능을 하나씩 떼어 만들지 않고, 검사에서 케어로 이어지는 하나의 흐름으로 설계했습니다.
기술적으로는 세 종류의 사용자를 한 시스템에서 다뤄야 한다는 점이 초기 설계의 제약이었습니다. 검사를 받는 일반 사용자, 서비스를 운영하는 관리자, 그리고 자기 고객에게 검사를 제공하는 제휴 사업자입니다. 세 사용자가 같은 데이터를 보되 보이는 범위와 조작 권한이 달라야 했습니다.
한 줄 요약 검사를 쉽게 만들고, 결과를 이해하게 만들고, 검사 이후를 이어지게 만드는 것이 목표였습니다.
3. 활용 기능
일반 사용자용 모바일 서비스, 운영자용 관리자 시스템, 제휴 사업자용 채널을 하나의 서비스 안에 구축했습니다. 세 채널이 같은 데이터베이스를 쓰되 접근 권한과 화면을 분리하는 구조입니다.
사용자 채널
사용자는 모바일에서 검사를 진행하고 결과 리포트를 받습니다. 리포트는 화면에서 바로 보거나 PDF로 저장할 수 있습니다. 검사 이후에는 AI 상담 대화, 사운드 기반 케어, 인지 훈련 콘텐츠를 이용하며, 이 기능들은 구독과 이용권으로 제공합니다.
검사 이력은 세션 단위로 저장합니다. 한 번의 검사가 세션이 되고, 그 안에 개별 결과와 분석이 붙습니다. 같은 사람이 여러 번 검사하면 세션이 쌓이므로 시점 간 비교가 가능합니다. 검사를 중간에 멈춘 경우도 세션 상태로 구분해, 다음에 이어서 진행하거나 처음부터 다시 시작할 수 있습니다.
검사 기관이 쓰던 채점 기준을 그대로 옮기는 일도 간단하지 않았습니다. 종이 검사에서는 검사자가 상황을 보고 판단하던 부분이 있는데, 디지털에서는 그 판단을 규칙으로 명시해야 합니다. 기준을 코드에 박아 두면 검토할 때마다 배포가 필요하므로, 판정에 쓰이는 값은 최대한 데이터로 분리했습니다.
운영자 채널
운영자는 관리자 화면에서 고객 현황, 검사 결과, 주문과 결제, 공지, 콘텐츠를 관리합니다. 분석 대시보드에서는 누적 검사 데이터를 지표별로 확인하고, 필요한 데이터는 엑셀로 내려받습니다. 매출 분석은 별도 영역으로 두어 기간별 집계를 제공합니다.
일별 통계는 조회할 때마다 계산하지 않고 집계 테이블에 미리 쌓습니다. 검사와 결제 데이터가 쌓일수록 실시간 집계는 느려지기 때문에, 하루 단위로 미리 계산해 두고 대시보드는 그 값을 읽습니다.
제휴 사업자 채널
검사와 콘텐츠를 자기 고객에게 제공하는 사업자를 위한 채널을 별도로 두었습니다. 사업자는 자신에게 속한 고객과 검사 결과를 확인하고, 사운드 콘텐츠 구성을 관리합니다. 발생한 매출은 정산 데이터로 따로 관리해, 운영자가 사업자별 정산 상태를 확인할 수 있습니다.
화면 구성
사용자 화면은 검사와 케어, 두 축으로 나눠 배치했습니다. 첫 화면에서는 진행할 검사와 최근 결과를 보여 주고, 검사를 마치면 곧바로 리포트로 이동합니다. 리포트 하단에는 결과와 연결된 케어 콘텐츠를 배치해, 결과를 확인한 흐름이 그대로 다음 행동으로 이어지게 했습니다. 그 밖에 상담, 사운드, 훈련, 구독과 결제, 알림, 프로필이 각각의 영역으로 존재합니다.
관리자 화면은 목록과 상세의 반복입니다. 고객, 검사 결과, 주문, 콘텐츠, 공지가 모두 같은 형태의 테이블로 제공되며, 필터와 정렬, 엑셀 내보내기를 공통으로 지원합니다. 운영자가 화면마다 다른 조작 방식을 익힐 필요가 없도록 테이블 컴포넌트를 공용화했습니다. 분석과 매출은 테이블이 아니라 지표 카드와 차트 중심으로 구성했습니다.
사업자 화면은 관리자 화면의 축소판입니다. 같은 컴포넌트를 쓰되 조회 범위를 자신에게 속한 고객으로 제한하고, 운영 설정처럼 전체에 영향을 주는 기능은 제외했습니다.
콘텐츠 관리
콘텐츠를 어떻게 구조화할지는 판매 방식과 직결됩니다. 파일 하나를 개별로 팔 것인지, 묶음으로 팔 것인지, 기간제로 열어 줄 것인지에 따라 필요한 데이터가 달라집니다. 세 방식을 모두 열어 두기 위해 콘텐츠와 묶음, 이용 권한을 분리했습니다.
사운드 콘텐츠는 단순 파일 목록이 아니라 태그와 패키지로 구조화했습니다. 콘텐츠마다 태그를 붙이고, 태그를 묶어 패키지를 만들고, 패키지를 구매하거나 구독하면 이용 권한이 생깁니다. 사용자가 실제로 무엇을 얼마나 들었는지는 재생 이력으로 남고, 이 이력을 기반으로 효과 분석과 재생 패턴 분석을 수행합니다.
진행 방식
7개월 동안 검사, 케어, 결제 순으로 범위를 넓혀 갔습니다. 먼저 검사와 결과 리포트를 완성해 서비스의 핵심을 확인하고, 그다음 상담과 사운드 케어를 붙였습니다. 결제와 정산은 앞의 기능이 자리 잡은 뒤에 얹었습니다. 결제 구조는 어떤 기능을 어떤 단위로 팔 것인지가 정해져야 설계할 수 있기 때문입니다.
관리자 화면은 각 기능이 완성될 때마다 함께 만들었습니다. 사용자 기능만 먼저 만들고 관리 도구를 나중에 붙이면, 개발 기간 내내 데이터베이스를 직접 열어 확인하게 됩니다. 기능과 관리 화면을 같은 주기로 만드는 편이 결과적으로 빨랐습니다.
주요 기능
게임화한 인지검사 3종
특허 인지검사 3종을 게임 형태로 구현했습니다. 문항을 읽고 답을 고르는 방식 대신 화면 안에서 수행하는 과제로 바꿔, 검사받는 사람이 검사라는 인식 없이 참여할 수 있게 했습니다. 응답 내용뿐 아니라 반응 시간과 수행 패턴도 함께 기록하기 때문에, 정답 여부만으로는 보이지 않는 정보까지 분석에 쓸 수 있습니다. 검사 진행 중에는 남은 과제와 시간을 표시해 사용자가 전체 분량을 가늠할 수 있게 했습니다.
AI 분석 기반 결과 리포트
수집한 응답 데이터를 AI가 분석해 60개 이상의 지표로 정리합니다. 결과는 원점수만 제시하지 않고 영역별 구분과 수준 구분을 함께 표시하며, 요약 문장을 덧붙입니다. 리포트는 화면 캡처가 아니라 문서로 생성하기 때문에 PDF로 내려받아 보관하거나 전달할 수 있습니다. 분석 요청과 응답은 로그로 남겨, 같은 데이터에 대해 다른 결과가 나왔을 때 추적할 수 있게 했습니다.
AI 상담과 크레딧 관리
검사 결과를 바탕으로 대화형 상담을 제공합니다. 텍스트 상담과 사운드 기반 상담을 나누어 지원하며, 대화는 세션 단위로 저장합니다. 이용량은 크레딧으로 관리해, 구독 등급에 따라 사용할 수 있는 분량을 조절합니다. 상담의 어조와 범위를 결정하는 프롬프트는 코드에 고정하지 않고 설정 데이터로 분리했습니다. 상담 기준이 바뀔 때 배포 없이 조정할 수 있어야 한다는 요구가 있었기 때문입니다.
사운드 케어와 효과 분석
사운드 콘텐츠를 사용자에게 배정하고, 재생 이력을 저장합니다. 이 이력으로 어떤 콘텐츠가 얼마나 재생되었는지, 어떤 시간대에 재생이 몰리는지를 분석합니다. 콘텐츠를 제공하는 데서 끝내지 않고 사용 데이터를 남겨 두었기 때문에, 이후에 효과를 검토할 근거가 생깁니다. 배정 방식은 개별 지정과 패키지 단위 제공을 모두 지원합니다.
구독 결제와 정기 과금
토스페이먼츠를 연동해 카드 등록, 구독 결제, 정기 과금, 환불을 처리합니다. 결제 수단 등록과 빌링 키 관리를 분리해, 결제 실패가 곧바로 구독 해지로 이어지지 않게 했습니다. 이용권은 종류별로 구분해 발급하고, 주문과 결제 상태를 별도 값으로 관리합니다. 결제는 성공했지만 이용권 지급이 실패하는 상황을 구분해 처리하기 위해서입니다.
검사 이력 비교
같은 사람이 여러 번 검사하면 세션이 쌓입니다. 이력 화면에서는 시점별 결과를 나란히 확인할 수 있어, 한 번의 점수가 아니라 변화의 방향을 볼 수 있습니다. 인지 상태는 단일 시점의 절댓값보다 시간에 따른 추이가 더 많은 정보를 담기 때문에, 처음부터 세션 단위로 저장하도록 설계했습니다.
알림과 공지
푸시 알림과 이메일을 함께 사용합니다. 시스템 알림과 고객 대상 알림을 구분해 저장하고, 공지는 별도 영역에서 관리합니다. 알림 종류를 나눠 둔 덕분에 마케팅 성격의 알림과 검사·결제 관련 알림을 다른 기준으로 발송할 수 있습니다.
운영 데이터 내보내기
관리자 화면의 주요 목록은 엑셀로 내려받을 수 있습니다. 검사 결과를 외부 기관에 전달하거나 자체 분석에 사용할 때 화면만으로는 부족하기 때문입니다. 리포트는 PDF, 목록 데이터는 엑셀로 나눠 제공합니다.
인지 훈련 콘텐츠
검사 결과를 확인한 뒤 이어서 수행할 수 있는 훈련 콘텐츠를 제공합니다. 검사와 같은 방식의 과제형 구성이라 사용자가 별도로 사용법을 익힐 필요가 없습니다. 훈련 기록도 활동 데이터로 남아, 검사 이력과 함께 조회할 수 있습니다.
고객 활동 기록
로그인, 검사 시작과 완료, 콘텐츠 재생, 결제처럼 의미 있는 행동을 활동 데이터로 남깁니다. 이 기록은 고객 상세 화면에서 시간순으로 확인할 수 있습니다. 문의가 들어왔을 때 "언제 무엇을 했는지"를 되묻지 않고 확인할 수 있고, 이탈 지점을 파악하는 데도 쓰입니다.
핵심 설계 검사·콘텐츠·결제를 독립된 갈래로 두고 고객을 통해 연결했습니다. 한 영역의 정책이 바뀌어도 다른 영역 구조를 건드리지 않습니다.
4. 성과
특허 인지검사 3종을 게임 형태로 옮기고, 검사 결과를 60개 이상의 AI 분석 지표로 시각화하는 서비스를 완성했습니다. 종이와 대면에 묶여 있던 검사를 모바일로 옮기면서, 검사 가능한 시간과 장소의 제약이 사라졌습니다.
검사 이후를 채우는 기능을 함께 만든 것이 이 프로젝트의 특징입니다. AI 상담, 사운드 케어, 인지 훈련이 검사 결과와 연결되어 있어, 사용자는 결과지를 받는 것으로 끝나지 않고 다음 행동으로 넘어갑니다. 재생 이력과 활동 기록이 남기 때문에 운영자도 검사 이후의 상태를 확인할 수 있습니다.
지표를 60개 이상으로 늘린 것도 의도가 있습니다. 지표가 적으면 점수 하나로 사람을 규정하게 되고, 그 점수가 조금만 흔들려도 결과 전체가 달라 보입니다. 영역을 나누고 지표를 세분하면 어느 부분이 강하고 어느 부분이 약한지가 드러나, 결과를 등급이 아니라 상태로 읽을 수 있습니다.
운영 측면에서는 검사·분석·상담·결제·정산을 하나의 서비스 안에서 처리합니다. 운영자는 별도 시스템을 오가지 않고 관리자 화면 한 곳에서 고객과 검사 데이터, 매출을 관리하며, 제휴 사업자는 자신의 고객 범위 안에서만 데이터를 봅니다.
데이터 구조 면에서는 검사, 콘텐츠, 결제를 독립된 갈래로 두고 고객을 통해 연결한 것이 이후 확장에 유리하게 작용했습니다. 검사 종류가 늘어도 결제 구조를 건드리지 않고, 판매 단위가 바뀌어도 검사 로직을 수정하지 않습니다. 기능이 계속 추가되는 서비스에서는 이 경계가 개발 속도를 좌우합니다.
검사 자체가 목적인 서비스가 아니라 인지 건강을 이어서 관리하는 서비스로 설계한 만큼, 이후 검사 종류가 늘거나 케어 콘텐츠가 추가되어도 같은 구조 위에서 확장할 수 있습니다.
2025년 6월부터 12월까지 약 7개월간 앱과 서버, 관리자 시스템, 사업자 채널을 모두 구축했습니다.
5. 기술 구성
Web / Mobile
Next.js App Router와 React, TypeScript로 구성했습니다. 사용자 모바일 화면, 관리자 화면, 사업자 화면을 하나의 코드베이스에서 라우트 그룹으로 나눴습니다. UI는 Tailwind CSS와 Radix UI 기반 컴포넌트로 만들고, 차트는 Tremor와 Recharts를 함께 사용합니다. 다국어는 next-intl과 i18next로 처리합니다.
AI
OpenAI API를 연동해 분석과 상담을 처리합니다. 프롬프트는 설정 데이터로 분리해 관리하며, 요청과 응답을 로그로 남깁니다. 분석 결과는 검사 세션에 연결해 저장하기 때문에, 같은 검사에 대해 어떤 분석이 언제 수행됐는지 확인할 수 있습니다.
Backend
Next.js API Routes 위에 도메인 API를 올렸습니다. 데이터베이스는 Prisma ORM과 PostgreSQL이며, 인증은 NextAuth.js를 사용합니다. 파일은 AWS S3에 저장하고 프리사인드 URL로 접근합니다. 이미지와 오디오, 다운로드는 프록시 라우트를 따로 두어, 저장소 주소를 클라이언트에 그대로 노출하지 않습니다. 주기 작업은 별도 라우트로 분리해 스케줄러가 호출합니다.
결제 / 알림
토스페이먼츠 결제·빌링 SDK, Firebase Admin 푸시 알림, Nodemailer 메일 발송을 사용합니다. 결제는 일반 결제와 정기 과금 흐름을 나눠 구현했습니다.
문서 / 데이터
jsPDF와 html2canvas로 리포트 PDF를 생성하고, pdf-parse로 문서를 파싱하며, xlsx로 데이터를 내보냅니다. 마크다운 렌더링을 지원해 AI가 생성한 서식 있는 텍스트를 그대로 표시합니다.
권한 분리
세 채널이 같은 데이터베이스를 쓰기 때문에, 조회 범위를 코드 곳곳에서 개별적으로 확인하면 언젠가 빠뜨리게 됩니다. 사용자 역할을 데이터로 관리하고, 사업자에 속한 고객 관계를 데이터 모델에 명시해 조회 시점에 범위가 자동으로 좁혀지도록 구성했습니다. 화면을 감추는 방식이 아니라 데이터 접근 자체를 제한하는 방식입니다.
데이터 모델
모델은 크게 다섯 갈래입니다. 사용자와 고객, 검사(세션·결과·분석), 콘텐츠(사운드·태그·패키지·배정·재생 이력), 결제(주문·이용권·구독·정산), 운영(통계·활동·알림·공지)입니다. 검사와 콘텐츠, 결제를 각각 독립된 갈래로 두고 고객을 통해 연결했기 때문에, 한 영역의 정책이 바뀌어도 다른 영역의 구조를 건드리지 않습니다.
구현하면서 다룬 문제
검사 데이터의 신뢰성. 게임형 검사는 사용자가 화면을 벗어나거나 앱을 전환하는 상황이 생깁니다. 이런 경우 반응 시간이 실제 수행 능력과 무관한 값으로 기록됩니다. 검사 세션에 상태를 두어 중단과 완료를 구분하고, 중단된 세션의 데이터를 분석 대상에서 어떻게 다룰지 정한 이유입니다.
AI 응답의 변동. 같은 입력을 줘도 생성 결과는 매번 조금씩 달라집니다. 분석 요청과 응답을 로그로 남겨, 문제가 된 결과를 나중에 확인할 수 있게 했습니다. 프롬프트를 설정 데이터로 분리한 것도 같은 맥락입니다. 문구를 고치려고 배포 절차를 밟아야 한다면 개선 주기가 배포 주기에 묶입니다.
결제와 권한 지급의 분리. 결제 성공과 이용권 지급은 다른 사건입니다. 하나의 처리로 묶으면 결제는 됐는데 권한이 없는 상태를 설명할 수 없습니다. 주문 상태와 결제 상태를 따로 두고, 정기 과금 실패가 즉시 해지로 이어지지 않도록 구성했습니다.
미디어 파일 접근. 사운드와 리포트 이미지를 저장소 주소로 직접 노출하면 링크만 알면 누구나 접근할 수 있습니다. 프록시 라우트를 거치게 해 권한을 확인한 뒤 파일을 전달하도록 했습니다.
통계 조회 속도. 검사와 결제 데이터가 쌓이면 대시보드 조회가 느려집니다. 일별 집계 테이블을 두고 주기 작업으로 미리 계산해, 화면은 집계된 값만 읽도록 분리했습니다.
6. 프로젝트 정보
| 항목 | 내용 |
|---|---|
| 사업명 | 디지털 인지검사 앱 개발 (AI 60+ 지표) |
| 담당 범위 | 풀스택 개발 (앱, 서버, 관리자, 사업자 채널) |
| 적용 기술 | Next.js, React, TypeScript, Prisma, PostgreSQL, OpenAI API, AWS S3, 토스페이먼츠, Firebase |
비슷한 프로젝트를 준비 중이신가요?
요구사항과 일정만 알려주시면 적합한 구성과 예상 범위를 정리해 드립니다.
댓글 0
첫 번째 댓글을 남겨보세요.