프론트엔드 부트캠프가 끝나고 노션과 메모장 등 여기저기 막 휘갈겨 쓴 기록물들을 정리해보니, 나만의 개인 프로젝트가 없었다!
팀 프로젝트를 많이 한 건 아니지만 그래도 적지 않았는데, 정작 온전히 나 혼자 기획하고 개발한 프로젝트가 존재하지 않았다.
그래서 이번에 처음부터 끝까지 나 혼자 만드는 프로젝트를 해보기로 했다.

우선, 나는 언어를 배우는 것을 좋아한다.
언어 공부는 인생에서 절대 손해 볼 일이 없다고 생각한다.
새로운 언어는 생각의 폭과 깊이를 확장해주는 도구이다.
특히, 특수 외국어를 전공하면서 느낀 것은 언어는 단어를 모르면 아무것도 할 수 없다는거다.
단어만 충분히 알고 있다면 문법이 조금 틀려도 의사소통을 할 수 있다. 언어는 기세다.
일단 나는 인도학과이다.
우리 학과를 졸업하려면 FLEX Hindi를 통과해야 한다.
그런데 여기서 문제는 전국에 FLEX Hindi 교재가 단 1권뿐이고, 체계적인 힌디어 단어장은 존재하지 않는다는 것이다. 앱 스토어에서도 힌디어 사전만 있고, 힌디어 단어장은 없었다.
그래서 FLEX를 준비하기 전에 ‘어떻게 공부하면 좋을까’ 지레 겁을 먹으며 막막했던 경험이 있다.
그리고 최근에 언어 교환 앱인 HelloTalk에 배우고 싶은 언어를 힌디어로 설정했더니, 한국어에 관심있는 인도인 44명에게 메시지를 받았다. 이를 통해 인도인 사용자 니즈가 존재함을 판단했다.

힌디어, 한국어 발음 제공 ✔️
힌디어는 자음/모음/반자음/결합자음이 많아서 영어 발음 표기만으로는 읽기 어렵다.
또한, 네이버 힌디 사전에 발음기호가 없는 경우도 있다.
실제로 FLEX 를 공부하며 나만의 단어장을 만들 때, 네이버 힌디 사전과 구글 힌디어 번역기 동시에 띄운 뒤 발음을 들으며 한글로 적었다. FLEX 공부 초반에는 하루종일 단어장만 만들었다.
그래서 사용자가 바로 읽고 말해보면서 외울 수 있도록 힌디어 발음을 한국어로 제공하고자 한다.
동의어, 반의어 필터링 ✔️
내가 생각했을 때 FLEX Hindi에서 가장 중요한 게 동의어·반의어 암기하는 것이다.
하지만 일반적인 단어장은 단어만 크게 보여지고, 관련 단어나 활용형 단어는 조그맣게 적혀 있어 쉽게 눈에 들어오지 않는다.
예를 들어, 나는 manage라는 단어만 읽고 manager나 management 같은 관련 단어는 잘 외워지지 않았다.

이 문제를 해결하기 위해 ‘긍정적인’·‘부정적인’과 같은 테마별로 단어를 묶어, 사용자가 테마별로 단어를 직관적으로 확인하며 학습할 수 있도록 하고자 한다.
사용자가 테마를 클릭하면 동의어를 먼저 보고, 반의어 보기 버튼을 누르면 반의어로 전환하는 기능을 제공한다.
퀴즈 모드 ✔️
나는 단어를 단시간에 가장 효율적으로 외우는 방법은 스펠링만 보거나 한글만 보고 뜻을 맞추는 것이라고 생각한다.
개개인마다 다르겠지만 어떤 단어는 2번만 봐도 쉽게 외워지는데 어떤 단어는 10번을 봐도 헷갈리는 단어가 있다.
대체로 나는 2번 봤을때 5초 안에 기억 안 나거나 유추도 안되는 단어는 집중 암기가 필요한 단어였기 때문에 형광색으로 표시하면서 다음에 볼때는 형광색으로 칠한 단어만 외웠다.
(아래 사진은 실제 내가 사용했던 나만의 힌디 단어장이다.)

퀴즈 모드는 한국어 또는 힌디어 퀴즈를 선택할 수 있고, 선택한 데이터만 퀴즈로 제공하고자 한다.
단어는 한 번에 한 개씩 보여주며, 선지는 선택 데이터와 반대로 제공 된다. 사용자는 선지 중 하나를 선택해 정답을 확인할 수 있다.
예를 들면 사용자가 한국어를 선택하면 힌디를 보여주고, 선지는 한국어로 보여준다.
이렇게 하면 단어와 뜻을 빠르게 연결할 수 있어, 많은 단어를 효율적으로 외울 수 있다.
이 프로젝트를 실제 서비스로 배포하고, 사용자를 받는다고 가정했을 때, 로그인 기능이 필요할까 고민했다.
결론적으로, 지금 단계에서는 필요 없다고 판단했다.
왜냐하면 어차피 시험장 들어가기 전까지 단어장에 있는 모든 단어를 외워야 하기 때문에, 북마크나 계정기반 기능의 우선순위가 높지 않다고 생각했다.
그래서 과감하게 MVP 범위에서는 로그인 기능을 제외하기로 했다.
| 우선순위 | 기능 | 상세 설명 |
|---|---|---|
| 1 | 단어 나열 | - 1개의 단어에 필요한 데이터: 한국어-영어 발음, 힌디어-한글 발음 - 단어는 day별로 나눠 하루에 50개씩 보여줌 |
| 2 | 동의어·반의어 필터링 | - 여러 개의 테마 제공 (예: 땅↔하늘, 처벌↔보상 등) - 테마 클릭 시 해당 테마의 동의어를 기본으로 보여줌 - 반의어 보기 버튼 클릭 시 해당 테마의 반의어를 보여줌 |
| 3 | 힌디어·한국어 필터링 | - 한국어 또는 힌디어 선택 가능 - 선택 시 데이터 필터링 적용 |
| 4 | 퀴즈 모드 | - 한국어 퀴즈 / 힌디어 퀴즈 선택 가능 - 선택한 데이터만 퀴즈로 제공 - 단어는 1개씩 보여주고, 선지는 선택 데이터의 반대로 제공 (예: 한국어 퀴즈 시 선지는 힌디어) - 선지 3개 제공 - 사용자는 선지 중 1개 선택하여 정답 확인 가능 |

SupabaseNext.js그동안 마감 기한에 쫓기며 프로젝트를 하다 보니, 방향보다는 속도가 우선시되는 경우가 많아서 늘 아쉬움이 남았다.
그래서 언젠가는 처음부터 끝까지 혼자 기획하고 개발하는 프로젝트를 꼭 해보고 싶었는데 드디어..! 이번에 시작할 수 있게 되었다.
앞으로 개발 과정을 꾸준히 기록하면서 부족했던 부분도 채워나가려고 한다.
그리고 꼭 기획한 기능들을 모두 구현해서 교수님께 보여드리고 싶다. 나자신 화이팅!
