Role & Tech Stack
나의 역할: Flutter 기반 사용자 애플리케이션 구현을 중심으로 홈 화면, 데일리 로그, 일기, 목표 관리, 캘린더 기능의 흐름을 구성했습니다. AWS REST API와 연동되는 데이터 표시 구조를 구현하고, 건강 데이터와 AI 생성 텍스트가 사용자 경험으로 연결되도록 화면 구성과 데이터 흐름을 정리했습니다.
기술 스택: Flutter, AWS Lambda, API Gateway, DynamoDB, CloudWatch, Fitbit Web API, OAuth
1. 기획 배경
해결하고자 한 문제: 기존 디지털 헬스케어 서비스는 데이터 수집과 분석에 초점을 맞추는 경우가 많아, 사용자의 지속적인 참여와 동기 유지 측면에서 한계를 보였습니다. 단순한 수치 제공만으로는 장기적인 건강 관리 의지를 유지하기 어렵고, 목표 달성 과정에서 발생하는 심리적 부담까지 해소하기 어려웠습니다.
타깃 사용자: 건강 데이터를 꾸준히 관리하고 싶지만 혼자서는 동기 유지가 쉽지 않고, 생활 관리 전반에 걸친 지원이 필요한 사용자
프로젝트 목표: Fitbit 기반 생체 데이터, LLM 기반 정서적 피드백, Raspberry Pi 기반 홈허브를 결합해 통합적 Life Management Service를 구현하는 것이었습니다.
2. 핵심 성과
- 건강 데이터–AI–앱–IoT를 연결한 통합 서비스 구조 구현: Fitbit Web API, AWS Lambda, DynamoDB, LLM API, RESTful API, Flutter 앱을 연결했습니다.
- 개인화된 건강 피드백 및 정서적 지원 기능 구현: 홈 화면에서는 건강 지표, 날씨, 일정, 목표를 종합한 AI 동기부여 메시지를 제공하고, 데일리 로그에서는 활동 데이터를 기반으로 한 요약과 비교 코멘트를 제공했습니다.
- 모바일 앱과 홈허브를 포함한 실사용 중심 기능 구현: Flutter 앱과 Raspberry Pi 홈허브를 통해 앱 안의 서비스 경험을 생활 공간까지 확장하는 구조를 제시했습니다.
3. 기술 스택 및 도입 배경
본 프로젝트는 모바일 앱, 클라우드 처리 계층, LLM 분석 계층, IoT 홈허브 계층이 유기적으로 연결된 구조로 설계했습니다. 사용자의 Fitbit 데이터는 AWS Lambda에서 수집·가공된 뒤 DynamoDB에 저장되며, 이후 LLM API를 통해 개인화된 분석과 피드백으로 변환되어 앱에 전달됩니다.
Why AWS Serverless Stack? 모바일 앱의 부담을 줄이고 건강 데이터 수집·처리, 외부 AI API 호출, 응답 전달을 클라우드에서 일관되게 수행하기 위해 Lambda, API Gateway, DynamoDB, CloudWatch를 사용했습니다.
Why Flutter + Drift? 홈, 데일리 로그, 일기, 목표, 캘린더 등 여러 기능을 하나의 코드베이스로 구성하고, 일부 앱 데이터는 로컬 SQL 데이터베이스에 저장해 사용성을 보완했습니다.
4. 나의 핵심 기여
- Flutter 기반 사용자 애플리케이션의 핵심 화면 흐름 구현
- AWS Lambda와 RESTful API를 통해 전달되는 건강 데이터와 AI 생성 텍스트를 앱 화면 단위 데이터 모델에 맞춰 처리
- 홈 화면의 AI 동기부여 메시지, 건강 지수, 일정, 체크리스트와 데일리 로그의 요약·활동 카드·일기 작성 흐름 연결
- 일기와 목표 관련 데이터는 Drift 기반 로컬 데이터베이스 구조를 활용해 저장 및 관리
5. 기술적 문제 해결
LLM 응답 구조화를 통한 앱 연동 안정성 확보
LLM 응답은 자유도가 높아 화면에서 바로 활용하기 어려웠습니다. 홈 화면과 데일리 로그 각각에 대해 출력 형식을 JSON으로 고정하고 필요한 필드만 반환하도록 프롬프트를 설계했습니다.
서버 데이터와 로컬 데이터 분리
건강 데이터와 AI 생성 텍스트는 서버 기반으로 처리하고, 일기·목표처럼 앱 내부에서 관리하는 데이터는 Drift 로컬 DB로 분리했습니다.
음성 인식–TTS 충돌 방지
홈허브에서 음성 인식과 TTS가 동시에 동작할 때 충돌할 수 있어, TTS 재생 중 음성 인식 루프를 일시 정지하고 센서 모니터링을 별도 흐름으로 처리했습니다.
6. 프로젝트 회고
AI, IoT, 클라우드, 모바일 앱이 하나의 서비스 안에서 연결될 때 발생하는 시너지 효과를 체감했습니다. 동시에 기술 구현 자체보다 사용자의 생활 패턴과 감정 상태까지 고려하는 경험 설계가 중요하다는 점을 배웠습니다.