티스토리 뷰

코드스테이츠 소속으로 진행하는 마지막 개인 프로젝트에 대한 기록을 남겨본다.

무엇을 할까?

프로젝트를 여러 차례 진행하면서 기술적 실력 외에 나 자신에게 가장 큰 문제가 된다고 느낀 것은 ‘관심이 가는 기술은 있어도, 특별히 흥미를 가지고 있는 도메인이 없다’는 점이었다. 내 경우 데이터로 풀어볼 수 있는 어떤 분야든 조금씩은 관심이 있지만, 그렇기 때문에 가장 관심이 가는 딱 한 가지의 도메인을 정할 수 없었다. 이 말은 즉 어느 회사에 지원하고 싶은지 정해진 바가 없다는 뜻이기도 하다. 물론 내가 순수하게 재미를 느끼는 주제로 프로젝트를 진행하는 것도 좋지만 지금 나는 취업이 절실한 취준생의 신분이므로 비즈니스 차원에서 가치를 창출할 수 있고 나의 구직활동에도 도움이 되는 프로젝트를 우선해야 한다.

그래서 내가 중요하게 여기는 가치(정보 접근성의 편향 해소, 사회적 소수자의 평등 등)를 추구하거나, 최소한 중립적인 시각을 가지고 선입견 없이 참여할 수 있는 도메인이 무엇일지 생각해 보고, 이번 프로젝트의 주제는 그 도메인과 관련해 진행하기로 했다.

최종적으로는 섹션 2, 3에서 진행했던 프로젝트가 둘 다 식음료 관련이라는 데 착안하게 되었고 통일성을 유지할 수 있도록 대주제는 음식(식문화), 소주제는 채식으로 정했다. 또한 코치님께서 섹션 4 말미에 ‘데이터 사이언티스트 지망생도 웹앱을 구축해보는 게 도움이 된다’고 조언해주셨던 바가 있어, 기술적 주제는 flask를 주로 활용한 python development로, 가능하다면 ML(또는 DL)이 탑재한 웹 애플리케이션을 만들기로 했다.

💡
관심 주제 식문화 - 채식 주요 기술 web application development 언어 및 환경 python-flask(또는 django), SQL, bootstrap, heroku… 결과물 웹 애플리케이션

관심 주제와 주요 기술을 정했으니, 이하의 순서대로 기획을 구체화하고 개발을 진행해야 한다.

  • 문제 정의/방향 설정
  • 아이디어 구체화
  • 역할 분배, 가설 설정
  • 아이디어 구현/배포, 데이터 수집
  • 가설 검증, 학습

💡
문제 정의/방향 설정 채식을 시작하려는 사람들에게 접근성 높은(=쉽게 실천할 수 있는) 정보를 제공

앱의 이름은 시작하는 비건을 위하여: BEGAN으로 정했다. 이제 정확히 무슨 정보를 어떻게 제공할 것인지 생각할 차례다.

다음은 내가 주제와 관련해 떠올린 아이디어들의 목록이다.

  • 비건 레시피 공유/피드백 사이트 만개의레시피 사이트에서 ‘채식’ 키워드로 검색했을 때는 레시피가 약 170개 정도밖에 나오지 않았다. 레시피를 공유하는 사이트가 있으면 좋겠다고 생각했지만, 이미 있는 사이트를 두고 새로 만들어야 할 이유를 떠올리기 힘들었다. 또 레시피라는 데이터 특성상 업로드해야 하는 텍스트와 사진의 양이 많은 편이다.
  • 비건 한식 추천 사이트 후무스나 팔라펠 같은 낯선 음식 말고 한국인의 입맛에 맞는 비건 한식을 추천하는 애플리케이션을 생각해보았다. 그런데 문제는 쓸만한 데이터세트가 없다는 점. 물론 직접 만들 수도 있겠지만, 데이터세트를 직접 구축하고 추천 시스템을 구현해서 그것을 웹앱에 탑재하기까지에 2주는 너무 적은 시간이 아닐까?
  • 비건 가공식 모아보기 온라인으로 식품을 구매할 때 나의 첫 번째 선택지는 마켓컬리이고 네이버 오픈마켓에 입점해 있어 네이버페이를 쓸 수 있는 쇼핑몰을 추가로 이용하는데, 비건식의 경우 비건식만 판매하는 사이트가 따로 있는 경우가 많았다. 비건 대상 가공식을 한 페이지에서 모아볼 수 있으면 좋을 것 같은데… 구체화가 잘 되지 않는다.
  • 잡식을 대체할 수 있는 비건식 추천 사이트 쉽게 말해 ‘햄버거’를 좋아하는 사람에게는 대체육을 사용한 햄버거를, 닭가슴살 샐러드를 좋아하는 사람에게는 구운 버섯 샐러드를 추천해 주는 식으로 기존의 동물성 레시피를 대체할 수 있는 비건식을 추천해 주는 앱이다. 유용성으로 따지자면 제일 좋을 것 같은데 모델을 어떻게 구현해야 할지 도무지 알 수 없었다. 칵테일 추천 서비스를 만들 때는 성분을 기준으로 유사도를 계산하는 방식이었는데, 이번에는 추천의 기준이 무엇이냐는 질문에 대답하기 어려울 것 같았다. 하지만 일단 데이터세트는 구해두었다. (여기)

세부 아이디어를 정하지 못해 방바닥을 마구 구르다가 내가 채식 입문에 도전하면서 느꼈던 가장 큰 어려움이 무엇이었는지를 돌이켜보기로 했다.

나는 집밥보다 외식을 좋아하고 오프라인 모임도 자주 가진다. 그런데 외식을 할 때 채식이 제공되는 식당을 찾기가 어렵다. 대부분은 덩어리고기나 가공육조차 피할 수 없는 경우가 많았다(그렇다고 매번 스타벅스와 롯데리아 같은 체인점만 갈 수는 없는 노릇이다). 그렇다면, 지역별로 채식 메뉴가 제공되는 식당의 정보를 제공하는 웹 애플리케이션을 만들면 어떨까?

이렇게 생각해보니 이제 감이 왔다. 레시피 사이트의 구현 방식이 바로 떠오르지 않은 이유는 내가 집에서 요리를 잘 안 하기 때문이고, 비건 가공식 제품을 모아보는 사이트를 생각했을 때도 같은 문제를 겪은 건 새로 회원가입을 하는 정도의 귀찮음은 적당히 감수하고 주문해서 사먹을 수 있기 때문이었다. 하지만 밖에서 사 먹을 때는 채식 메뉴가 제공되는 식당이 적어 결국 육식을 선택하고 마는 경우가 많았다. 통장과 건강을 위해서라면 장기적으로는 집밥+도시락 조합을 선택하는 게 낫겠지만 어쨌든.

그래서 이 지점을 문제 상황과 가설로 설정해 보기로 했다.

💡
문제 상황 채식 메뉴가 제공되는 식당이 적고, 있어도 찾기 어렵다. 가설 채식주의자는 채식 메뉴가 제공되는 식당을 찾고 싶어할 것이다.

마침 서울시에서는 작년 1월부터 서울시 채식 메뉴 음식점 취급 현황을 제공하고 있었고, 이 데이터 형식을 참고해서 참여형 웹앱을 구축한다면 시작하는 채식주의자에게 도움이 되는 정보를 제공한다는 아이디어도, 유저가 데이터베이스 구축에 참여한다는 아이디어도 그대로 가져갈 수 있다. 야호!

💡
아이디어 구체화 유저가 참여하여 채식 메뉴가 제공되는 식당의 데이터베이스를 구축하고 공유하는 웹 애플리케이션 제작

찾아보니 채식식당지도를 제공하는 웹 페이지는 몇 군데 있었다. 도구마스터 채식식당지도, 부산 비건 지도 등. 다만 어떤 경우는 가시성이 떨어지고, 어떤 경우는 관리자가 수동으로 업데이트해야 하는 것이 불편하게 느껴졌다. 무엇보다 이 데이터를 한 곳에서 모아볼 수 있으면 좋을 것 같았다.

어떻게 할까?

내가 만들고자 하는 애플리케이션은 유저가 참여해 데이터베이스를 구축한다는 점이 핵심이다. 이를 위해 앱에 반드시 필요한 기능을 생각해 보았다.

  • 회원가입/로그인 기능 누가 무슨 데이터를 입력했는지 모아보기 위해서는 간단하게라도 회원가입이 필요하다. 회원에게는 이메일, 닉네임, 아이디, 패스워드를 필수적으로 입력받아야 할 것 같다.
  • 피드백 기능 유저의 참여 의욕을 고취하려면, 이 사이트 내에는 방문해본 식당에 별점을 주거나 ‘이 식당 없어졌어요’ 같은 짧은 피드백을 남기는 기능이 있어야 한다. 다만 구체적인 방식은 좀더 생각해봐야 할 듯.

이 데이터베이스가 잘 구축된다면, 이것을 활용해서 내가 진짜로 만들고 싶은 비건 메뉴 추천 시스템도 만들 수 있을 것 같다.

오늘(2/17 목) 중에 해야 할 일

  • 로그인 기능 구현
  • 앱의 전체적인 구조 기획
  • 기획서 완성, 제출


여담: 채식을 실천하겠다고 해놓고서 정작 인스타그램이나 블로그 외의 커뮤니티에 참여하지 않은 데 대해서도 약간 반성했다. 데이터 공부한다는 사람이 정보원에 접근하지 않고 소극적으로 굴고 있었다니!

'2021~2022 Codestates AI Bootcamp 08th' 카테고리의 다른 글

15일차: 3rd Sprint & Sprint Review  (0) 2021.10.05
일정  (0) 2021.09.15