hae02y / lab

EXP-008 · 2026.06 · Tools

SnapCal

음식 사진 찍으면 AI가 칼로리랑 탄단지를 분석해줌. 캘린더로 식단 관리

snap-cal-snowy.vercel.appCheck
SnapCal 화면
Fig. 1 — SnapCal, 배포된 화면

01Question

음식 사진 한 장만으로 칼로리 기록을 끝낼 수 있을까?

02Approach

  1. 01

    Flutter로 카메라/갤러리에서 사진을 받아 Gemini 2.5 Flash-Lite에 이미지와 프롬프트를 함께 보낸다.

  2. 02

    응답은 JSON만 허용하도록 프롬프트를 고정하고, 음식명·칼로리·탄단지·신뢰도를 파싱한다.

  3. 03

    결과는 기기 로컬 SQLite에 저장해 캘린더와 통계 화면에서 하루·월 단위로 보여준다.

  4. 04

    온보딩에서 목표 칼로리와 영양소를 개인별로 계산하고, 남은 양을 게이지로 표시한다.

  5. 05

    마지막에 PWA로 빌드해 앱 설치 없이 브라우저에서도 동작하게 했다.

03Findings

Note A

모델은 사진 전체를 먹는다고 가정한다

치킨 한 마리 사진을 넣으면 한 마리 칼로리를 돌려줬다. 프롬프트에 '1인분 기준' 규칙과 치킨·피자·찌개 예시를 넣고, 사진 전체 칼로리는 별도 필드로 분리하자 값이 안정됐다.

Note B

추정치는 고칠 수 있어야 한다

사진만으로 정확한 칼로리는 나오지 않는다. 그래서 수정 버튼을 따로 두지 않고, 칼로리와 영양소 숫자를 탭하면 바로 고칠 수 있게 했다.

04Log

  1. 사진 → 칼로리 추정 첫 동작

  2. 1인분 기준 프롬프트, 탭해서 수정

  3. 영양소 목표와 남은 양 표시

  4. PWA 배포, 개인화 온보딩