Selected work

실험을 시스템으로
발전시킨 기록.

모든 프로젝트는 실제 문제, 구현 과정, 확인 가능한 저장소를 중심으로 정리합니다.
TravelPlanner AWS 기준선 후보 실험의 Core API p95 Grafana 그래프

validated

TravelPlanner

여행 일정 서비스를 AWS에서 운영 가능한 경계로 나누고, 비용·부하·배포·복구 결과를 성공과 기준 미달까지 함께 기록한 팀 프로젝트입니다.

상황
여행 일정 제품을 AWS로 옮기면서 기능 구현만으로는 운영 가능성을 설명할 수 없었습니다. 비용 범위, 반복 가능한 기준선, 배포와 복구의 판정 기준을 함께 남겨야 했습니다.
검증 결과
20 rps 기준선 후보 3회가 각각 후보 SLO를 통과했고 p95는 133.977~142.988ms였습니다. 다만 ramp marker 누락으로 B-01 전체 gate는 실패했습니다.
AWSTerraformGitHub ActionsSpring BootRedisPostgreSQLk6Grafana
MCP Calendar의 일정과 날씨 대시보드

active

MCP Calendar

로컬에서 완성한 일정, 날씨, 지출 기능을 3단계 AWS 구조로 확장하고 비용과 부하를 함께 검증한 AI 서비스입니다.

상황
일정, 날씨, 지출을 자연어로 다루는 18개 MCP 도구와 웹 기능을 로컬에서 먼저 완성했습니다. 다음 단계에서는 이 기능을 실제 AWS 환경으로 옮기되 초기 실험 비용을 통제하고 트래픽 증가 시 동작을 확인해야 했습니다.
검증 결과
300 VU 단계형 테스트 중 CPU 85%를 관측했고, 같은 실험에서 ECS task 1→2 증가를 확인했습니다.
Next.jsKotlinMCPGeminiAWSTerraformk6
S3, SQS, Lambda, AWS Batch를 사용하는 무인매장 영상 처리 구조

complete

무인매장 Cloud Native

대용량 영상 업로드와 장시간 GPU 처리를 S3, SQS, Lambda, AWS Batch로 분리한 Django 기반 처리 시스템입니다.

상황
대용량 영상 업로드와 장시간 GPU 처리를 하나의 요청 흐름에서 다루기 어려웠고, 초기 EC2 GPU worker 구조에서는 작업 수신과 visibility timeout 관리가 운영 부담으로 남았습니다.
검증 결과
상시 EC2 worker가 메시지를 직접 소비하는 구조를 Lambda가 Batch job을 제출하는 구조로 변경했습니다.
DjangoPythonS3SQSAWS BatchTerraform
무인매장 공간 인식 결과를 확인하는 웹 화면

complete

무인매장 공간 인식

별도 depth sensor 없이 단일 RGB 이미지에서 DepthPro와 LangSAM을 연결한 2단계 공간 분석 파이프라인입니다.

상황
별도 depth sensor를 추가하지 않고 한 장의 RGB 이미지에서 객체 영역과 상대적인 깊이 정보를 함께 확인할 수 있는 재현 가능한 실험 흐름이 필요했습니다.
검증 결과
단일 RGB 입력에서 depth 추정과 텍스트 기반 segmentation을 순서대로 실행하는 구조를 구성했습니다.
PythonDepthProLangSAMDocker Compose
Cosmic Wordle의 React, Spring Boot, PostgreSQL 아키텍처

complete

Cosmic Wordle

React 게임 화면과 Kotlin Spring API에 사용자 식별, 통계, 환경 분리, 요청 제한을 적용한 웹 단어 게임입니다.

상황
웹 단어 게임을 만들면서 브라우저 화면만 구현하는 데서 끝나지 않고 사용자 식별, 통계 저장, 개발과 테스트 환경 재현 문제를 함께 정리해야 했습니다.
검증 결과
게임 화면, API, 데이터베이스의 역할을 나누고 JWT 인증과 요청 제한이 포함된 실행 구조를 문서화했습니다.
ReactKotlinSpring BootPostgreSQLDocker Compose