사례 인덱스
플레드 · AI 건강상담·의료관광 제품
Grum · TONE SEOUL
사용자용 서비스 두 개를 인프라·웹·서버까지 풀스택으로 개발했습니다. Grum에서는 AI 건강상담의 웹·스트리밍 흐름을, TONE SEOUL에서는 다국어 피부과 탐색·예약 웹과 FastAPI 서버를 맡았습니다.
- 역할
- 인프라 · 웹 · 서버 풀스택 개발
- 영역
- AI 건강상담 · 피부과 탐색과 예약
- 구분
- 회사 제품
문제와 제약
AI 기능만 따로 만드는 것이 아니라 사용자 화면, API 서버, 데이터베이스와 배포 환경이 함께 움직이는 실제 서비스를 만들어야 했습니다.
- 01건강상담은 첨부파일과 이전 대화 맥락을 유지하면서 스트림 중단과 재연결을 처리해야 했습니다.
- 02병원과 시술 정보는 언어와 검색 조건이 달라도 같은 데이터 기준으로 탐색돼야 했습니다.
- 03웹·서버 배포와 인증, 데이터 구조와 API 계약을 함께 맞춰야 했습니다.
내가 맡은 범위
- 01Grum의 Flutter 핵심 기능을 Next.js 웹으로 전환하고 AI 상담 BFF·SSE 흐름 구현
- 02TONE SEOUL의 Next.js 사용자·운영 웹과 FastAPI 서버·도메인 로직 개발
- 03Grum의 RAG·혼합 검색·Tool Calling을 AI 상담 흐름에 연결
- 04TONE SEOUL의 PostgreSQL·Redis 데이터 계층과 GCP 배포 환경 구성
- 05두 제품의 인증·오류 처리·모니터링·배포 절차를 제품 흐름에 맞춰 정리
핵심 판단
01
AI 응답과 화면 상태를 한 스트림으로 다뤘습니다.
Grum 상담에서 텍스트 조각, UI 구성요소와 최종 데이터를 구분해 전달하고, 취소·복구와 추천 질문 상태를 같은 흐름에서 관리했습니다.
02
검색 데이터와 생성 결과의 역할을 분리했습니다.
Grum에서는 RAG·혼합 검색·Tool Calling 결과를 상담 입력에 연결하고, 생성 응답과 화면 상태를 분리해 오류와 복구 흐름을 관리했습니다.
03
웹·서버·인프라를 한 제품 범위로 판단했습니다.
화면 구현에서 끝내지 않고 API 계약, 데이터 저장과 배포 구성이 실제 사용자 흐름에서 함께 동작하는지 확인했습니다.
구현한 내용
- 01Grum — Flutter 핵심 기능의 Next.js 전환, AI 상담 BFF·SSE와 Cloud Run 배포
- 02Grum — RAG·혼합 검색·Tool Calling을 상담 흐름에 연결
- 03TONE SEOUL — Next.js 사용자·운영 웹과 FastAPI 서버
- 04TONE SEOUL — PostgreSQL·Redis 데이터 계층
- 05TONE SEOUL — GCP Cloud Run·Cloud SQL·Cloud Storage·Secret Manager·Cloud Build 배포 구성
- 01Grum: Next.js 웹
- 02Grum: BFF·SSE·RAG 연동
- 03제품별 분리
- 04TONE SEOUL: Next.js·FastAPI
- 05TONE SEOUL: PostgreSQL·Redis·GCP
이해를 돕기 위해 주요 단계만 단순화했습니다.
구현과 결과
구현 내용
- 01
Grum 상담에서 첨부파일과 이전 대화 맥락을 유지하고, 응답 스트림의 취소·복구와 추천 질문 상태를 함께 처리했습니다.
- 02
두 제품 모두 화면 구현에서 끝내지 않고 API 계약, 데이터 저장과 배포 환경까지 제품 단위로 맡았습니다.
결과
- 01
Grum과 TONE SEOUL에서 AI 기능과 사용자 화면, 서버, 데이터 계층과 배포 환경을 실제 서비스 흐름으로 연결했습니다.