[1인개발] Walnut 암기어플 개발 후기 | 매거진에 참여하세요

프로젝트 회고
작성일 : 24.02.08

[1인개발] Walnut 암기어플 개발 후기

#Walnut어플 #암기어플 #에빙하우스이론 #간격효과이론 #학습카드 #외움못외움 #카드마켓 #검색엔진 #개발회고 #뇌새김

👉 본문을 50%이상을 읽으면 '여기까지다' 퀘스트가 완료됩니다(로그인 필수)

제품명

Walnut 암기어플

개발기간

-

월넛은 에빙하우스의 간격효과 이론에서 아이디어를 얻어 개발한, 암기를 도와주는 서비스입니다.

개발 회고

😀 자신과 팀소개를 부탁드립니다.

안녕하세요, 연결의 힘을 믿는 커넥티드입니다.
저와 함께하는 여러 backend 개발자와 frontend 개발자, devops 엔지니어들이 있지만,

월넛은 제가 아이디어부터 기획, 개발, 인프라 구축까지, 모두 혼자 개발한 어플리케이션입니다.



🤗 서비스 소개좀 해주세요~

월넛은 에빙하우스의 간격효과 이론에서 아이디어를 얻어 개발한, 암기를 도와주는 서비스입니다.

에빙하우스의 망각 곡선 많이 들어보셨지요? 아무 의미 없는, 임의의 단어를 암기한 후에 시간이 지남에 따라 얼마나 기억하고 있는지를 보여주는 그래프인데요,

대부분의 사람들은 암기 직후 빠르게 망각하기 시작합니다. 그러나 학습한 내용을 특정 시간 텀을 두고 반복해서 복습하면 망각속도가 늦어지는 것도 실험을 통해 증명했습니다.

이것이 간격효과 이론입니다.

시중에 학습카드 UI를 이용한 암기어플은 많이 있는데요, 복습시간 간격을 과학적으로 설정하여 암기를 도와주는 어플은 없었습니다.

그래서 '학습카드의 단순한 UI에, 에빙하우스의 간격효과 이론을 결합하여 서비스를 만들면 어떨까?'하는 생각이 들어 '월넛'을 개발하게 되었습니다.

월넛은 간격효과 이론에 근거해 복습 주기를 하루, 이틀, 5일, 10일, 30일로 설정했습니다. 영어 단어 암기를 예로 들어보겠습니다.

1. 새로운 영단어를 학습한다.
  1-1. 외웠다면 2번으로 넘어간다.
  2-1. 기억나지 않으면 학습 대상인 카드 더미에 이 영단어가 계속 남아있어, 계속 학습할 수 있다.
2. 하루가 지난 후, 학습 대상인 카드 더미에 1번에서 학습한 단어 카드가 나타난다.
  2-1. 외웠다면 3번으로 넘어간다.
  2-2. 기억나지 않으면 다시 1번으로 돌아간다.
3. 2번 시점에서 이틀이 지난 후, 학습 대상인 카드 더미에 1번에서 학습한 단어 카드가 나타난다.
  3-1. 외웠다면 4번으로 넘어간다.
  3-2. 기억나지 않으면 다시 1번으로 돌아간다.
4. 3번 시점에서 5일이 지난 후, 학습 대상인 카드 더미에 1번에서 학습한 단어 카드가 나타난다.
  4-1. 외웠다면 5번으로 넘어간다.
  4-2. 기억나지 않으면 다시 1번으로 돌아간다.
5. 4번 시점에서 10일이 지난 후, 학습 대상인 카드 더미에 1번에서 학습한 단어 카드가 나타난다.
  5-1. 외웠다면 6번으로 넘어간다.
  5-2. 기억나지 않으면 다시 1번으로 돌아간다.
6. 5번 시점에서 30일이 지난 후, 학습 대상인 카드 더미에 1번에서 학습한 단어 카드가 나타난다.
  6-1. 외웠다면 7번으로 넘어간다.
  6-2. 기억나지 않으면 다시 1번으로 돌아간다.
7. 1번에서 학습한 단어는 장기기억으로 전환되었기 때문에 잊어버리지 않을 것입니다! (학습 완료!)

즉, 아래와 같이 영단어 하나가 6개의 스테이지를 거쳐 사용자의 장기기억으로 전환됩니다.

스테이지 0 (학습 단계): 학습 대상인 카드 더미에 계속 나타나는 단계
스테이지 1: 학습 단계에서 외운 시점으로부터 하루가 지나야만 카드 더미에 나타나는 단계
스테이지 2: 스테이지 1에서 외운 시점으로부터 이틀이 지나야만 카드 더미에 나타나는 단계
스테이지 3: 스테이지 2에서 외운 시점으로부터 5일이 지나야만 카드 더미에 나타나는 단계
스테이지 4: 스테이지 3에서 외운 시점으로부터 10일이 지나야만 카드 더미에 나타나는 단계
스테이지 5: 스테이지 4에서 외운 시점으로부터 30일이 지나야만 카드 더미에 나타나는 단계
장기기억

Simple is the best. 학습 UI는 단순합니다. 학습 카드는 앞/뒷면이 있고, 유저가 직접 만들 수 있습니다.

학습 카드 하단에는 '외움'/'못외움' 버튼이 있어서 해당 단어가 어떤 스테이지로 넘어가게 될 지 결정합니다.(카드를 위/아래로 스와이프할 수도 있습니다)

학습 카드를 만들다보니, 직접 만들기 귀찮을 수 있겠더군요. 이런 유저들을 위해, 카드 마켓 기능도 제공합니다.

저희 서비스에서 무료로 올려놓은 카드 패키지들도 있고, 다른 유저가 만들어서 업로드한 카드 패키지들을 다운받아 학습할 수도 있습니다.

(물론 다운 받은 패키지들에 암기해야 할 카드들을 추가하거나 삭제할 수도 있습니다.)

카드 패키지에 리뷰도 남길 수 있고, 그 리뷰에 댓글과 대댓글도 남길 수 있습니다.

같은 패키지로 여러 사람이 학습할 수 있다보니, 커뮤니티도 형성될 것으로 기대합니다.

(커뮤니티 기능은 추후에 출시할 예정입니다.)

학습을 위한 여러가지 편의 기능도 제공합니다.

다운받은 패키지들이 너무 많다면 학습하고 싶은 패키지들만 선택해서 학습할 수도 있고, 학습 시간을 알려주는 push 알람도 설정할 수 있습니다.

요즘 학생들은 핸드폰 말고도 패드도 있죠? 마치 하나의 기기에서 학습하는 것처럼, 학습 카드와 학습 진척도 등을 다른 기기와 동기화하는 기능도 제공합니다.


🤝 팀원분들은 어떻게 만나셨나요?


월넛은 저 혼자 개발하지만, 앞서 말씀드린 것처럼 저는 여러 동료들과 함께하고 있습니다.

저와 동료들은 극한의 어려움을 함께 이겨내며 쌓아온 전우애로 인연을 계속 이어나가고 있습니다.


😱 개발은 어떻게 진행이 됬나요?

이제 월넛에 사용한 기술에 대해 설명해드리겠습니다.

단순해보이지만 많은 기술이 녹아들어가있습니다. 월넛 백엔드 서버는 api server, background job server로 이루어져 있는데요,

제가 k8s나 aws ecs 등 docker container로 서비스를 구축한 경험이 많기 때문에 월넛 서버 또한 container로 배포하였습니다.

제가 예전에 한 회사에서 채팅 서비스를 개발(현재까지 잘 운영되고 있습니다)한 경험이 있어서

앱 문의사항을 실시간 채팅 서비스로 만들면 좋을것 같아 채팅을 적용하였습니다.

이 채팅 기능은, 추후 커뮤니티 기능이 출시될 때, 1:1 또는 그룹채팅도 가능하도록 개발하였습니다.

유저가 '카드 마켓'에서 카드 패키지를 검색할 때, 다양한 검색 조건을 응답 지연 없이 처리하기 위해 search engine을 도입하였습니다.

카드 패키지에 포함된 카드가 많은 경우(10000개 이상)에도 일정한 응답속도를 제공합니다.

학습카드가 영단어인 경우, 텍스트를 음성으로 변환하는 text to speech 기술을 도입하여, 단어의 뜻뿐만 아니라 발음도 학습할 수 있도록 도와줍니다.
빠른 시일 내에 일본어 tts도 제공할 예정입니다.

앱은 cross platform에 대응하기 위해 flutter로 개발하였습니다.

저는 평소에 개발할 때 제품을 만들어내는 것 자체에만 집중하지 않고, 흥미로운 기술들을 적용해보면서 제가 가진 역량을 최대한 활용하려고 노력합니다.

월넛을 개발할 때도 마찬가지였습니다. 앱 문의사항 기능을 쌩뚱맞게 채팅으로 개발한 것도 이런 이유입니다. ㅎㅎ



[카드 학습 화면 입니다.]

[카드 마켓 화면입니다.]

  

[내가 보유한 카드패키지 리스트 화면입니다.]

[세팅화면입니다.]


👍 재미있었던 것은 무엇이었나요?

제가 backend 개발자이다보니 frontend 개발에는 아무래도 경험이 없었는데요,

월넛을 개발하며 frontend 기술에 대해서 많이 학습할 수 있었고, 흥미도 많이 생겼습니다.

하지만 디자인은 너무 어려워요. ㅠㅠ

👎 아쉽거나 어려웠던 점은 무엇이었나요?

저는 예술적 감각이 전혀 없는 사람이라서, 앱 디자인 하는데 너무 힘들었습니다.

처음에는 여러 서비스들을 참고해서 화면을 만들다보니 앱의 디자인이 너무 구렸었는데요,

지인 찬스로 디자이너 한 분을 소개 받아 지금의 월넛이 탄생하게 되었습니다. ㅎㅎ


기존에 제가 디자인했던 부분을 많이 덜어내고 새로운 디자인을 입히느라 좀 고통이 있었습니다만,

전문가의 손길을 거쳐 좀더 완성도 있는 앱이 되었습니다.

💯 앞으로의 계획을 알려주세요

현재는 월넛 서비스가 카드 학습에만 초점이 맞춰져있는데요,

사용자들이 서로 '연결'되어 각자 학습 노하우를 공유하거나 의견을 자유롭게 나눌 수 있는 커뮤니티 기능을 제공할 예정입니다.

그리고 지금은 런칭 초기 단계라서 유저가 거의 없는 상태이긴합니다만, 여러 사용자들에게 도움이 될 수 있도록 많은 기능을 패치할 예정입니다.

개발팀 정보

커넥티드