이 글은 제가 사이드 프로젝트를 진행하면서 겪은 경험과 배운 점들을 공유하는 글입니다. 사이드 프로젝트에 대한 일반적인 내용은 개발자에게 사이드 프로젝트란을 참고해 주세요.
jQuery 시대의 SPA (Angular1, React)
jQuery에서 SPA의 세계로 변화하는 시대였기 때문에, 아래와 같은 서비스를 만들어야 했습니다.

저는 Angular1을 제안했지만, 사내에서 학습 비용이 든다는 이유로 jQuery 기반의 모듈 시스템을 만들게 되었습니다. (구현 비용이 더 높았다고 생각합니다.)
jQuery 기반의 모듈 시스템을 만들 때, 점심시간에 도시락을 먹으면서 Angular1이나 React 초기 버전(Class 컴포넌트)을 공부하고, 거기서 배운 개념 등을 사내에서 만드는 시스템에 적용하기도 했습니다.
React 공부
일본에 왔을 때도 아직 jQuery 시대였지만, 위의 서비스를 만들 때 이미 Angular나 React의 좋은 점을 느꼈기 때문에 더 공부하고 싶어졌습니다. 그래서 일본에 와서도 점심시간에 혼자 공부를 했습니다.
- 혼자 공부는 힘들다 ➡️ 다 같이 스터디
다만, 혼자 공부하면 모르는 부분이 있어도 질문할 수 없어서, 혼자 공부하기 어렵다고 생각해 사내 멤버들을 모아 함께 점심을 먹으면서 공부했습니다.
- 다 같이 공부도 힘들다 ➡️ 혼자 공부
하지만 시간이 맞지 않거나, 의욕이 떨어지거나, 제대로 공부해주는 멤버 수가 줄어들면서 오히려 저에게 악영향을 미치게 되었습니다. 그래서 스터디는 해산했습니다.
혼자 공부하기도 어렵고, 스터디 진행 방법도 어려우니 자신에게 맞는 방법을 찾는 것이 중요하다고 생각했습니다.
현재는 자료도 많고, YouTube나 ChatGPT, 커뮤니티도 잘 되어 있어서 이런 것들을 활용하면 더 쉽게 공부할 수 있다고 생각합니다.
React 기술을 깊이 있게 배우기 위해 시작한 React Native
React를 꽤 공부했지만, 회사에서는 아직 jQuery를 메인으로 사용하고 있어서 회사에서 React를 도입하기 어려운 상황이었습니다. (멤버 스터디 실패)
하지만 개인적으로는 프로덕트 레벨까지 스킬을 올리고 싶었고, 이후 이직할 때 React를 사용하는 회사에 가고 싶었습니다. 그러나 실제 개발에서 React를 사용한 경험이 없어서 걸림돌이었습니다.
이때는 아직 GitHub Pages 등이 없어서 프론트엔드 연습을 할 환경이 없었기 때문에, React Native로 앱을 개발하면서 React 기술을 향상시키기로 했습니다. (사이드 프로젝트를 생각했습니다. 이때는 이 용어도 몰랐습니다.)
앱을 생각한 이유는 앱 내에서 모든 처리를 하면 서버 비용 등이 들지 않을 것이라고 생각했기 때문입니다.
가장 처음 만든 앱은 제 아이를 위한 학습 앱이었습니다.

화면을 기획하고

Trello로 프로젝트 관리를 하고 (회사에서 Trello를 사용했기 때문에)

SketchApp으로 디자인을 했습니다. (회사에서 사용하는 툴. Figma는 아직 존재하지 않았습니다. 이 시대에는 혁신적인 툴이었습니다.)

그것을 실제로 React Native로 개발해서 배포까지 했습니다.
- 관심 있는 분은 블로그를 참고하세요: https://deku.posstree.com/en/blaboo/development-journal/
이것을 계기로 저의 사이드 프로젝트 인생이 시작되었습니다.
앱 개발은 3개월(매일 1~2시간, 주말에는 조금 더), 릴리스에 2개월(Apple 심사에서 많이 떨어졌습니다)이 걸렸습니다. 중간에 포기하려는 마음도 들었고, 이때, 애플의 개발자 등록비를 미리 내서, 이 돈이 아까워서라도 끝까지 해야겠다는 생각을 하게 만들었습니다.
처음 만든 앱이라 코드는 엉망이었고, 테스트 코드도 없었습니다. 현재는 Flutter로 리플레이스한 상태입니다. (현재도 정기적으로 라이브러리 버전을 업데이트하고 릴리스만 하는 상태입니다.)
배운 내용을 블로그로, 거기서 책 3권 출판
개발 블로그는 React Native로 앱을 개발하기 전부터 시작했습니다. 공부한 내용을 정리하기 위해서, 회사에서 업무를 하면서 배운 내용을 또 활용하기 위해서, 향후 사이드 프로젝트를 할 때 개발 내용을 공유하고 피드백을 받기 위해서였습니다.
공부한 내용, 또한 앱을 개발하면서 배운 내용을 정리했더니 초보자용으로 꽤 평판이 좋았던 것 같습니다. 그래서 출판사에서 연락이 와서 책을 3권 출판했습니다.



책 작성은 3개월(매일 1~2시간, 주말에는 조금 더) 정도 걸렸습니다. 블로그에 이미 쓴 것이 꽤 있어서 그것을 정리하고 조금 더 내용을 추가하는 정도였습니다.
일본도 마찬가지인지 모르겠지만, 한국에서는 책 1권 팔리면 10~12%가 돌아오기 때문에 돈이 되지는 않았습니다. 자기 만족과 인지도가 조금 올라간 성과가 있었습니다. (지금도 커뮤니티를 통해서 몇몇 개발자분들께서 가끔 연락을 주시기도 합니다.)
배운 기술을 회사로
소속되어 있던 회사의 모회사에서 그룹 회사 이동이 결정되어 Line 챗봇으로 보고서를 만드는 회사로 이동하게 되었습니다. 거기서는 Line 챗봇과 IBM의 Watson을 사용해서 챗봇을 만드는 새로운 세계였기 때문에 즐겁게 일했습니다. 개인적으로는 사이드 프로젝트로 일본어 학습 앱을 만들고 있었습니다.
React Native로 앱을 개발하는 것에도 자신감이 붙어서, 회사에서 해결하고자 하는 문제를 내가 풀 수 잇다는 생각에, 새로운 아이디어를 생각해서 React와 Electron, React Native를 프로토타입을 만들었고, 그게 좋은 평가를 받아서 같이 제품으로 이어지게 되었습니다.

회사가 가진 문제를 적절히 해결한다는 것을 높이 평가받아 서비스화하게 되었습니다. 이렇게 사이드 프로젝트를 업무에 가져올 수도 있다고 생각합니다.
(개발은 2개월 정도 걸렸고, 회사 시간 1시간과 개인 시간 1시간을 만들어 완성했습니다.)
사이드 프로젝트를 포트폴리오로 사용하여 이직, 부업
사이드 프로젝트로 앱을 만든 것, 직접 만든 것을 회사에서 서비스화한 것을 포트폴리오로 사용해서 연봉을 꽤 올려서 이직했습니다. (약 2배)
또한, 지인에게 의뢰를 받아 앱을 만들어 주기도 했습니다.
- React Native로 앱 개발
또, 일본에서 생활하면서 일본어 공부를 위해 만든 일본어 단어 학습 앱을 개발하여고 현재도 운영중에 있습니다.
현재는 월급정도 수입이 발생하고 있네요.
이렇듯 사이드 프로젝트를 잘 활용하면 경제적인 효과를 얻을 수 있습니다.
일본어 단어 학습 앱을 만들면서 배운 것

일본어 단어 앱은 지금 약 3만 명이 사용하고 있는 것 같습니다. (DAU 2,000~3,000)
처음에는 DAU가 1~10(1은 저입니다) 정도였습니다. 매일 접속자 수를 보는 것이 취미였습니다. (1명 늘어나면 정말 기뻤습니다.)
디자인
사람이 급격히 늘어난 시기가 있는데, 제 나름의 결론은 디자인이었습니다.

회사에서 디자이너에서 프론트엔드 개발자가 되고 싶은 사람이 꽤 있어서 그분들과 스터디를 할 때, Neumorphism이라는 디자인을 알게 되어 개인적으로 그 디자인에 빠져서 디자인을 바꿨습니다.

현재는 다음과 같은 디자인입니다.

(학습 시스템은 동일) 이 디자인으로 바꾼 후부터 사용자가 꽤 늘기 시작했습니다. (매일 0~1명 ➡️ 10~100명. 검색은 상위였지만, 역시 디자인 때문에 다운로드까지 이어지지 않았다고 생각합니다.)
디자인이 중요하다는 것을 느꼈습니다. (디자인 변경 후, 원래대로 돌려달라는 사용자도 있었으니 그렇게 나쁘지… 않았다고 생각합니다.)
다크 모드는 사용자의 요청으로, 색상을 바꾸는 기능도 사용자의 요청으로 넣었고, 지금도 꽤 높은 평가를 받고 있습니다. (이것도 사용자가 늘어나는 계기가 되었습니다.)
비즈니스 모델로 광고는 힘들다
처음부터 앱에 광고를 넣었지만, 수익에는 도움이 되지 않습니다. (처음에는 1~10원 정도. 그래도 기뻤습니다.)
만약 광고로 비즈니스를 생각하고 있는 분이 있다면, 다시 생각해 보는 것이 좋다고 생각합니다.
결제 시스템은 의외로 사용한다
4000원 정도의 구독 결제를 넣었습니다. 아내도 ‘누가 그런 것에 돈을 내겠어’라고 할 정도로 저도 솔직히 기대하지 않았습니다. 넣은 이유는 제가 광고 없이 앱을 사용하고 싶어서 넣었습니다. 하지만 의외로 많은 사람들이 결제를 해주고 있습니다.
프리미엄 비즈니스 모델은 의외로 효과가 있다고 생각합니다.
최고의 마케팅은 프로덕트 개발
특별히 광고는 하지 않고, 돈보다 사용자가 사용하기 쉬운 앱을 개발하는 것만 진행하고 있습니다. 이걸로 엄청난 부자가 되는게 목적이 아니기 때문에, 최대한 저렴하게 제공하려고 노력하고 있고, 제 공부에 도움이 되도록 기능 개발을 충실히 하고 있습니다.
역시 사용자들도 이런 부분을 알아주시는지 앱 소개를 많이 해주고 계십니다.


이렇듯 제품을 잘 만들면, 제품 자체가 스스로 광고가 된다고 생각합니다.
한마디의 중요성
사용자의 리뷰에 답변할 때, “다른 사람에게 추천해 주세요”라는 말을 남기고 있습니다. (별 5개를 준 사용자에게만)
사용자가 그 말을 읽고, 실제로 행동은 하지 않지만, 무의식에 남아서 일본어 이야기나 공부 이야기가 나오면 떠올려서 추천해 주게 됩니다.
또한, 블로그를 쓰는 사람들은 앞서 소개한 이미지들처럼 블로그를 쓰는 계기가 됩니다.
말 한마디는 정말 큰 힘을 가지고 있는거 같습니다.
실패한 프로젝트
물론 실패한 프로젝트도 있습니다.
- 만화가가 되고 싶었던 회사 동료와 함께 아이들을 위한 그림책 앱을 만들었습니다. 사용자가 없는 상태와 작가 등록이 번거로워서 유지보수를 그만뒀습니다. 처음으로 다른 사람과 함께 콜라보한 소중한 앱입니다. (다시 연락해서 만들지도)

- 한국인 지인과 펫 기반 매칭 앱을 기획하고 진행했습니다. (저는 서버 사이드의 Python을 공부하고 싶어서 이 프로젝트에서는 백엔드를 담당) 하지만 배포까지 가지 못했습니다. 상대방이 의욕을 잃어서 중단되었습니다.

- 전 직장에서 함께 일했던 슬로바키아인이 일본인과 결혼하고 귀국했는데, 아내를 위해 만들어 보자고 해서 시작된 프로젝트입니다. 이쪽도 상대방이 의욕을 잃어서 중단되었습니다. (개인적으로는 할지도)

사이드 프로젝트는 계속된다
실패도 많지만, 그래도 계속 사이드 프로젝트를 진행하려고 노력하고 있습니다. 이번에도 지인과 함께 일본 비자 신청을 좀 더 손쉽게 할 수 있는 방법을 고민하다가 사이드 프로젝트를 시작했습니다.
이 프로젝트가 얼마나 갈지는 모르겠지만, 계속 사이드 프로젝트를 진행하면서 개발자로서 성장해 나가려고 합니다.
이렇게 계속 사이드 프로젝트를 진행할 수 있는 건, 운영 유지비를 최소한으로 하고 있다는 것과 한번 맛본 성공의 경험(단어 앱)때문인 것 같습니다.
사이드 프로젝트에 대한 일반적인 내용이 궁금하시다면 개발자에게 사이드 프로젝트란을 참고해 주세요.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku가 개발한 앱을 한번 사용해보세요.Deku가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.














![[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통](https://img1c.coupangcdn.com/image/affiliate/banner/7cba8cb0601eebaf88a17a0c3cf65a63@2x.jpg)