FitGuru: LLM 기반 개인 맞춤형 피트니스 코칭 서비스

프로젝트 개요

기간

2024.12.1~2024.12.2

설명

이 프로젝트는 연세대학교 공학대학원 ‘SW AI 시장지향 실무설계’ 과목의 개인 프로젝트로 진행되었습니다. 저는 LLM 기반 개인 맞춤형 피트니스 코칭 서비스 FitGuru를 MVP 형태로 구현했습니다.

FitGuru는 사용자가 기록한 운동·식단 로그를 기반으로 LLM 프롬프트에 동적으로 반영하여 아래와 같은 기능을 제공합니다.

  • 개인별 운동 루틴 추천
  • 식단 상담
  • 체성분 분석

빠른 프로토타이핑을 위해 Google App Script로 CRUD API와 Gemini 연동 로직을 작성하고, React 웹 앱을 개발하여 Netlify에 배포했습니다. 단 하루 만에 전체 MVP 아키텍처를 구성해볼 수 있었던 프로젝트였습니다.

인원

1명

담당 역할 및 사용 기술

  • React 웹 프론트엔드 개발 및 Netlify 배포
  • Google App Script로 백엔드 API 및 Gemini API 연동
  • 프롬프트 엔지니어링을 통한 운동/식단 추천 기능 구현

기술 스택: React, Google App Script, Google Gemini API (LLM), Netlify

저장소

https://github.com/younginshin115/yonsei_fitguru

프로젝트 배경

이 프로젝트는 연세대학교 공학대학원 ‘SW AI 시장지향 실무설계’ 수업의 과제로 진행했습니다. 이 수업의 목표는 “일상에서 느끼는 불편함을 해결하는 서비스를 기획하면 시장에서도 분명 반응이 있을 것이다.”라고 가정하고 그 가설을 검증하기 위해 MVP 서비스를 구현한 뒤 시장의 실제 반응을 확인하는 것이었습니다.

저는 이 과정에서 제가 겪고있던 불편함을 떠올렸고, 그 불편함을 해결하는 것을 과제의 방향으로 삼았습니다. 저는 그 당시 개인적으로 PT를 받아보고 싶었지만 비용적인 부담 때문에 쉽사리 결정할 수 없었습니다. 추가적인 시장조사를 통해 저와 같은 사람이 많다는 것을 알게 되었고, ‘개인 맞춤형 운동·식단 상담 서비스에 대한 수요는 분명 존재하지만 접근성은 낮다’라는 가설을 세울 수 있었습니다. 이에 ‘내가 PT 트레이너에게 기대하는 핵심 기능을 LLM을 활용해 구현하면 어떨까?’라는 방향으로 FitGuru 프로젝트를 시작작하게 되었습니다.

제가 PT 서비스에 기대했던 핵심 기능은 다음과 같았습니다.

  • 운동 기록 기반 운동 플랜 추천
  • 식단 관련 질문 상담 (예: 이건 먹어도 되나요?)
  • 체성분 데이터를 활용한 맞춤형 상담

서비스 소개

FitGuru는 사용자가 기록한 운동·식단 로그를 기반으로 LLM이 맞춤형 코칭을 제공하는 서비스입니다. 주요 기능은 세 가지로 나눌 수 있습니다.

💪 운동 기록 & 루틴 추천

사용자는 일 단위로 운동 기록을 남길 수 있습니다. 운동 부위, 종류, 횟수, 무게까지 상세하게 입력할 수 있습니다. 이렇게 기록된 최근 1주의 데이터를 기반으로 AI가 맞춤형 루틴을 추천해줍니다. 추천 결과에는 세트 수, 중량 변화, 주의할 점까지 포함되어 있어 사용자가 꾸준히 성장할 수 있도록 돕습니다.

🥗 식단 상담

식단에 대한 궁금증을 입력하면, LLM이 즉각적으로 답변해줍니다. 단순히 해당 음식이 다이어트에 도움이 되는 것 뿐만 아니라, 대체할 수 있는 음식이나 다이어트 팁도 함께 공유합니다.

📊 체성분 상담

체성분 데이터(예: 체지방률, 근육량 등)를 기반으로 다이어트 전략이나 운동·식단 방향을 조언해줍니다. 예를 들어 체지방률이 높다면 감량 위주의 전략을, 근육량이 부족하다면 근력 운동 위주의 전략을 제안하는 식입니다. 다만 이번에는 MVP를 빠르게 구현하는 데 집중했기 때문에 이 기능은 제외되었습니다.

프로젝트 구조

FitGuru는 MVP 프로젝트였기 때문에, 복잡한 아키텍처 대신 “최대한 빠르게 구현할 수 있는 구조”에 집중했습니다.

구성 요소 사용 기술 비고
DB Google Spreadsheet 사용자 정보와 운동·식단 기록 저장용
API 서버 Google App Script CRUD + Gemini API 연동
프론트엔드 React Netlify로 배포
LLM Google Gemini API (무료 티어) 프롬프트 엔지니어링 기반 응답

사용자가 남긴 운동/식단 로그는 Google 스프레드시트에 저장되고, Google App Script API를 통해 Gemini 프롬프트에 동적으로 반영됩니다. React 웹앱은 Netlify를 통해 간단히 배포해 누구나 접근 가능한 형태로 구성했습니다.

무엇보다도 이 구조의 가장 큰 장점은 돈이 들지 않았다는 점입니다. Google Spreadsheet, Google App Script, Netlify, Gemini API 무료 티어를 활용했기 때문에 별도의 비용 없이 개발할 수 있었습니다. 또한 복잡한 설정이나 인프라 구축 과정을 모두 생략할 수 있었기에, 아이디어 발상에서 실제 동작하는 MVP 구현까지 단 하루 만에 완성할 수 있었습니다.

결론 및 향후 발전 방향

이번 FitGuru 프로젝트는 개인적인 경험에서 출발해, LLM을 활용한 개인 맞춤형 피트니스 코칭 서비스를 빠르게 MVP로 구현해본 사례입니다. React + Google App Script + Gemini API + Netlify 조합으로 하루 만에 프로토타입을 완성하면서, 아이디어를 실제 서비스로 구체화하는 경험을 할 수 있었습니다.

아직 MVP 단계라 운동 기록 및 루틴 추천, 간단한 식단 상담 정도만 지원하지만, 기회가 있다면 아래와 같은 기능을 확장해보고 싶습니다.

  • 기존에 개발했던 알고먹조 프로젝트와 연동해 식단 기록 및 맞춤형 추천 기능 강화
  • 체성분 상담 기능을 구현해 데이터 기반 맞춤형 관리 서비스로 발전

이번 프로젝트를 진행하면서 아이디어를 빠른 시간 안에 서비스 형태로 구현하고 직접 피드백을 받아보니, 단순히 아이디어를 논의하는 것과는 전혀 다른 경험이었습니다. 구현 과정을 거치며 아이디어를 어떻게 구체화해야 하는지 감을 잡을 수 있었고, 시간 제약 속에서 꼭 필요한 기능만 남기는 훈련도 할 수 있었습니다.

특히 실무에서는 아이디어 회의가 자주 열리지만, 논의가 길어져 실제 구현 일정이 늦어지는 경우가 종종 발생합니다. 이럴 때는 작게라도 빠르게 MVP를 구현해보는 접근이 훨씬 생산적일 수 있다는 점을 깨닫게 된 좋은 기회였습니다.