DB 설계부터 운영 기획까지
어찌어찌 작고 소중한 앱을 하나 런칭했다.
'출시'가 목표였기에, 하나의 기능으로만.
그 기능 하나는 사람을 사로잡기 충분하지 않다.
런칭한 지 한 달, 19명이 다운로드 받았지만 다시 찾아오지는 않는다.
냉장고에 저장한 음식을 기록하면,
언제까지 섭취하는 게 좋고, 언제는 폐기해야 하는지 알림을 주는 기능이었다.
내가 필요해서 시작된 앱인 만큼,
지금 개발하고 있는 다음 기능은..
'남은 음식으로 해 먹을 수 있는 요리 제공받기'.
유저의 냉장고 음식과 레시피를 연결해줘야 한다.
그림으로 먼저 그려보자면..
이걸 구현하기 위해서 내가 해야 할 일
1. 위의 흐름이 데이터베이스 상으로 어떤 모습일지 설계한다.
2. 레시피 데이터를 쌓는다. (단, 데이터 분류가 애초부터 잘 되어있는 아이로 수집..!)
3. 앱에 있는 음식 DB랑 연결 짓는다.
우선 나는 DB로 Firebase를 사용 중이다.
이 관계를 어떻게 Firebase에 녹여야 할지 GPT(유료)에게 물어봤다.
워낙 여러 번에 걸쳐 GPT를 때렸기 때문에..
하나의 프롬프트는 아니지만..!
다음에는 아래 포맷과 예시를 입력해서 설계할 수 있을 듯하다.
너는 Firebase 설계자야. {내 서비스 의도 + 사용 흐름 + 활용할 데이터 항목(ex. 요리명, 재료명, 재료 분량..) + 현재 연결해야 하는 데이터 항목(ex. 음식명)}을 기반으로 Firebase 설계도를 트리구조로 정리해 줘.
MVP로 유튜브에서 보기 좋게 정리된 콘텐츠를 크롤링해보기로 했다.
작업의 흐름을 아주 간단하게 보자면 이렇다..!
그리고 그 작업 단계를 쪼개면..!
1. Jupyter 다운로드
2. 크롤링할 유튜브 계정 선정
3. 크롤링할 내용의 위치 파악 (ex. 숏츠 > 댓글 > 고정댓글)
4. 수집할 데이터 항목과 형식 정의 (ex. 레시피-텍스트, 재료-텍스트, 재료 별 양-숫자...)
5. 계정 링크와 위치를 GPT에게 넣고, Jupyter 크롤링 코드 요청
6. 실행
이 과정은 인스타 릴스로 한 번 다루기도 했다.
(나름 계정 안에서 최고 스크랩 수..)
https://www.instagram.com/p/DS5Er0LgdNf/
https://www.instagram.com/p/DS5Er0LgdNf/
사실 위의 단계에서 매개체가 되는 항목을 잘 잡았다면,
'연결' 자체는 문제없다..!
유사도 계산 로직을 기반으로, 가장 가까운 값끼리 자동 매칭된다.
(물론 이 로직도 GPT와 함께 짠다..)
하지만 역시나 100% 일치는 아니기 때문에, '검수' 작업이 핵심..!
나에게만 보이는 개발자 모드로, 데이터를 업로드하고 검수하는 페이지를 만들었다.
그리고 아래처럼 운영진 입장에서 최대한 편리하게 작업 중이다.
자, 이렇게 검수하고 최종 레시피 데이터를 등록하면 끝인데..!!
정확도가 100% 아닌 이상,
검수에 들어가는 '단순 노동 + 시간 비용'이 높다.
분명 작게 시작하고자 딱 34개의 레시피만 넣었다.
그런데..
검수해야 하는 값들은 약 300개..
이럴 가치가 있는 작업일까? 사람들에게 먹힐까?
만약 먹힌다면.. 앞으로 운영 지속성을 위해 어떤 방법이 최선일까..?
최대한 비효율적이지만 마무리를 하고
다음 대안을 적용해 볼 예정이다.
지금 생각해 봤을 때,
어쨌든 나는 100% 정확도의 기술을 제공할 수 없다.
결국 고객이 어느 정도 마무리를 봐야 하는데..
고객이 '용이'해질 때는 그만한 '애정/의욕'이 생길 때다.
현재 서비스 타깃인 대왕 P(= 나)는
기본 제공되는 정보로는 딱히 실행에 옮기지 않는다.
내가 실행에 옮기는 순간은,
결국 '내가 선택한 매력적인 콘텐츠'일 때.
그리고 그게 '필요'할 때.
이걸 힌트로 다음 작업을 진행해보고자 한다.