BACKEND DEVELOPER

트래픽과 장애까지 책임지는
백엔드 개발자, 김찬혁입니다.

FastAPI · NestJS · PostgreSQL로 API를 설계하고, 서버리스 커넥션과 폴링 부하를 계산해 트래픽을 대비하며, 장애가 나면 원인을 추적해 재발까지 막는 개발을 지향합니다.

449명
실사용 회원
1,016개
자동화 테스트
6회
수상 실적

ABOUT ME

개발자 김찬혁을 소개합니다

김찬혁

인하대학교 재학
Backend Developer

실사용자가 매일 쓰는 서비스를 혼자 설계하고, 배포하고, 운영해본 백엔드 개발자입니다. 서버리스 환경에서 커넥션 풀과 폴링 부하를 직접 계산해 피크 트래픽을 대비했고, AWS에서는 헬스체크 기반 자동 복구 인프라를 구성하고 현장 운영의 접속 불가 경험을 기록했습니다. 기능 구현 이후에도 트래픽과 비용, 장애 관측성을 함께 책임지는 개발을 지향합니다. 서비스 규모가 커지며 성능 · 비용 · 안정성을 함께 고민해야 하는 팀에서, 운영 경험과 검증 가능한 근거로 기여하고 싶습니다.

TECH STACK

기술 스택

Language

  • Python 3.10+
  • TypeScript 5.9
  • JavaScript

Backend

  • FastAPI 0.140
  • Node.js 22
  • Express
  • NestJS 11
  • pytest 8.3
  • Jest 29
  • Supertest
  • Testcontainers 12

Database / Infra

  • PostgreSQL 18
  • SQLite
  • SQLAlchemy 2.0
  • Alembic
  • Prisma 6
  • Docker
  • Supabase
  • AWS
  • Terraform 1.8
  • CloudWatch

AI / Data

  • TensorFlow 2.13
  • Pandas 2.2
  • NumPy
  • OpenCV
  • MediaPipe 0.10
  • HuggingFace API
  • OpenAI SDK 2.53
  • PyTorch 2.8
  • torchvision 0.23

Frontend

  • React 19.2
  • Next.js 16.2
  • Vite 7.2
  • TailwindCSS

Tools

  • Git
  • GitHub
  • Vercel
  • Railway
  • GitHub Actions

EXPERIENCE

경험 · 활동

2026.03 ~ 2026.08

UMC 10th – Backend(Node.js) 파트 챌린저

  • 주차별 Node.js 미션을 완주하고, HomeFit 백엔드 팀장으로 도메인별 API 계약 · PR · Android 연동 일정을 조율
  • NestJS · Prisma 기반 개발에서 Railway 배포, AWS Terraform · GitHub Actions OIDC · RDS 데이터 이관까지 서비스 생명주기를 경험
  • 2026.08.22 부산 BEXCO 데모데이에서 방문자 대상 HomeFit 서비스를 운영

🏅 프로젝트 리딩과 UMC 활동 성과를 인정받아 UMC 10th Backend(Node.js) 파트 베스트 챌린저로 개인 선정되었습니다.

2025.09 ~ 2025.12

🏆 탄소중립 Innovation Academy 5기 · 기업연계 프로젝트

  • 산업 설비 진동 · orbit 데이터를 Orbit 이미지로 변환해 ResNet18로 정상/비정상을 분류하는 이상탐지 AI를 AI/HW 파트로 개발
  • Grad-CAM으로 판단 근거를 시각화하고, CLI 기반 --json/--show_cam 옵션으로 백엔드 연동용 추론 모듈 구성

💡 산업 데이터 기반 AI 모델 개발과 결과 해석 과정을 실전 프로젝트로 경험했고, 그 결과 대상(1위)을 수상했습니다.

2025.09 ~ 2025.10

🏅 오픈소스 SW 페스티벌 · 인하대학교 총장상

  • 수담(手談) 실시간 양방향 수어 인식 · 번역 서비스로 교내 오픈소스 SW 페스티벌 출전
  • 공개 SW 생태계 기여와 실용적인 AI 서비스 구현 역량을 인정받아 최우수상(총장상) 수상

💡 사회적 약자를 위한 기술 개발이라는 주제 의식과 완성도 있는 구현이 함께 인정받은 수상이었습니다.

2025.07 ~ 2025.09

🥉 KSEB 팀 프로젝트 · 수담(手談)

  • MediaPipe keypoint 추출 → 딥러닝 분류 → FastAPI 추론 서버로 이어지는 AI 파이프라인을 7인 팀 팀장으로서 설계, AI · FE · BE · Unity 파트 일정 조율
  • none 라벨 수집, confidence threshold, sliding window 적용으로 실시간 예측을 안정화해 우수상(3위) 수상

2025.03 ~ 2025.06

🥇 KSEB 미니프로젝트 · IssueOne

  • RSS 수집 → 정제 → 요약 → 응답 파이프라인을 FastAPI+SQLite로 설계 · 구현
  • KoBART 로컬 추론을 HuggingFace/OpenAI API 연계로 전환해 메모리 제약 배포 환경 문제를 해결하고 대상(1위) 수상

2025.01 ~ 2025.11

KSEB 부트캠프 4기 수료

  • 1년간 백엔드 개발 역량을 집중적으로 학습, 미니프로젝트 대상 · 팀 프로젝트 우수상 수상
  • 꾸준한 참여도를 인정받아 전체 수료생 중 8명 우수 교육생으로 선정

💡 단일 프로젝트 성과가 아니라 1년간의 학습 태도와 프로젝트 결과 모두를 인정받은 수료였습니다. 꾸준히 완수하는 것이 결국 가장 강한 포트폴리오가 된다는 것을 확인한 경험이었습니다.

PROJECTS

주요 프로젝트

2025.11 ~ 현재 · 개인 프로젝트 · 1인 기획 · 개발 · 운영

메모라이즈 (Memorize) — 암기 학습 웹서비스

  • 함수 인스턴스마다 별도 커넥션 풀이 생성되는 점을 고려해 pool_size 1 / max_overflow 2로 제한하고, 폴링 요청량과 컴퓨트 예산을 계산해 피크 기간 운영 기준 수립
  • React+TypeScript 프론트엔드, FastAPI+PostgreSQL 백엔드, OpenAI 기반 AI 출제 · 채점까지 기획부터 1인으로 개발해 실사용자 대상 운영
  • 예산 · 주간 생성 한도 가드레일을 적용해 14일간 AI 시험지 170개를 추정 비용 약 $0.24로 운영
449전체 회원
19014일 학습 회원
16,49614일 학습 완료
36최고 동시 접속

관리자 대시보드 기준 · 전체 회원 2026.08.23 / 운영 지표 08.10 ~ 08.23

React 19.2TypeScript 5.9FastAPI 0.140PostgreSQL(Neon)OpenAI SDK 2.53

2026.06 ~ 2026.08 · UMC 10th · 10인 팀 프로젝트 · Backend Team Lead

HomeFit | 청년 주거 · 금융 의사결정 서비스

🏅 Backend(Node.js) 베스트 챌린저 개인 선정 부산 BEXCO 데모데이 운영
  • 현장 운영에서 약 5분의 접속 불가와 자동 복구를 경험하고, ELB 헬스체크 기반 Auto Scaling과 CloudWatch · RDS 경보 구성을 운영 기록과 함께 정리
  • 백엔드 팀장으로 도메인별 API 계약 · PR 우선순위를 관리하고 Android 팀과 테스트 계정 · 예상 결과를 정리해 통합 테스트를 주도
  • 공식 출처 기반 6개 단지 · 7개 연동 공고를 Stable Hash + Prisma Upsert로 멱등 Seed화하고 Docker · Testcontainers E2E로 검증
  • Railway 1차 배포를 AWS Terraform 아키텍처로 확장하고, GitHub Actions OIDC CI/CD와 PostgreSQL 18 전체 데이터 이관을 완료
6검증 단지
7연동 공고
4금융상품
3테스트 계정

Android 최종 스모크 테스트 기준 (2026.08)

NestJS 11Node.js 22PostgreSQL 18.4(RDS)Prisma 6RailwayTerraform 1.8AWSGitHub Actions

2025.07 ~ 2025.09 · 7인 팀 프로젝트 · 팀장

수담(手談) | 실시간 양방향 수어 인식 · 번역 서비스

🏆 KSEB 팀 프로젝트 우수상 🏆 오픈소스 SW 페스티벌 최우수상 (인하대 총장상)
  • JPEG 프레임을 MediaPipe로 처리해 10프레임 × 194차원 텐서로 변환하고, 라벨 · 신뢰도 · 상위 후보를 반환하는 FastAPI · Docker 추론 API 구현
  • 학습에 없던 샘플별 정규화를 실시간 예측 스크립트에서 제거해 학습 · 추론 입력 스케일을 일치시켜 전처리 불일치 해결
  • 타이핑 · 휴대전화 사용을 none으로 묶는 학습 로직 추가. 예측 스크립트의 신뢰도 임계값 · 3회 연속 일치 · 중복 누적 방지로 비수어 동작 오탐과 중복 출력 제어
Python 3.10MediaPipe 0.10TensorFlow 2.13FastAPI 0.110Docker

2026 ~ · 팀 프로젝트 · Backend 담당

🌱 GreenBrain(아노익시) | AI 기반 탄소중립 실천 웹서비스

  • 온보딩 정보 기반 챌린지 인증 사진 업로드 · 피드 공유 · 토큰 보상으로 이어지는 서비스의 FastAPI+PostgreSQL+Supabase Storage 백엔드 개발
FastAPIPostgreSQLSupabase

2025.09 ~ 2025.12 · 기업 연계 프로젝트

🏭 RealGain | 산업 데이터 기반 이상탐지 AI

🏆 탄소중립 Innovation Academy 5기 대상 (1위)
  • 산업 설비 진동 데이터를 Orbit 이미지로 변환해 torchvision 기반 ResNet18로 정상/비정상을 분류하고 Grad-CAM으로 판단 근거를 시각화
  • CLI 기반 --json/--show_cam 옵션으로 백엔드 연동용 추론 모듈을 구성하고 Precision · Recall · F1 기반 평가 체계 구축
Python 3.10PyTorch 2.8torchvision 0.23Grad-CAMPandas 2.2

2025.03 ~ 2025.06 · 팀 프로젝트 · AI/BE 담당

📰 IssueOne | AI 개인 맞춤 뉴스 요약 서비스

🏆 KSEB 미니프로젝트 대상 (1위)
  • RSS 수집 → 정제 → 요약 → 응답 파이프라인을 FastAPI+SQLite로 구현
  • KoBART 로컬 추론을 HuggingFace/OpenAI API 연계로 전환해 메모리 제약 배포 환경 문제 해결
FastAPISQLiteHuggingFace APIOpenAI API

그 외 프로젝트

⏱️ FocusLink

2026 ~ · 1인 풀스택 개발

공부 집중 관리 Android 앱. FastAPI 백엔드와 Compose 기반 Android 클라이언트를 함께 개발했습니다.

FastAPIPostgreSQLSQLAlchemyDocker

🎯 CueKit

2026 ~ · 개인 MVP 개발 중

AI 기반 퀴즈 생성 · QR 라이브 룸 SaaS. AI로 퀴즈를 생성하고 QR로 실시간 참여 룸을 여는 인터랙티브 플랫폼입니다.

Next.jsSupabaseshadcn/uiTailwindCSS

🚗 교회 차량 운영 웹시스템

2026 · 1인 개발 · 실운영

차량 운행 일정과 주차 위치를 관리하는 웹 시스템을 기획부터 개발까지 담당해 실제 운영 중입니다.

Next.jsReactTailwindCSS

🐝 꿀단지 레이스

2026 · 3인 팀 · 실운영

성경읽기 진행 상황을 실시간 레이스로 시각화하는 대항전 게임 서비스입니다.

ReactFirebaseFirestore

⛪ 농선부 통합 관리

2026 · 1인 개발 · 실운영

청각장애인 선교부의 출석, 수어교실, 당번 일정을 통합 관리하는 서비스입니다.

ReactFirebaseExcelJS

AWARDS

수상 · 성과

  • 🏅

    UMC 10th Backend(Node.js) 파트 베스트 챌린저 선정

    2026.08

  • 🥇

    탄소중립 Innovation Academy 5기 기업연계 프로젝트 대상 (1위)

    2025.09 ~ 2025.12

  • 🏅

    오픈소스 SW 페스티벌 최우수상 · 인하대학교 총장상 (1위)

    2025.09 ~ 2025.10

  • 🥉

    KSEB 팀 프로젝트 우수상 (3위)

    2025.07 ~ 2025.09

  • 🥇

    KSEB 미니프로젝트 대상 (1위)

    2025.03 ~ 2025.06

  • 🏆

    KSEB 부트캠프 4기 개인 우수 교육생 · 전체 수료생 중 8명 선정

    2025.01 ~ 2025.11

CERTIFICATES

교육 수료 · 개인 성과

사진이나 상장을 누르면 원본 크기로 확인할 수 있습니다.

KSEB 부트캠프 개인 우수 교육생으로 선정되어 수상하는 김찬혁
KSEB 개인 우수 교육생 시상전체 수료생 중 8명 선정
KSEB 부트캠프 개인 우수상 상장
KSEB 개인 우수상교육 참여와 프로젝트 성과 인정
K-Software Empowerment Bootcamp 수료증
KSEB 부트캠프 수료K-Software Empowerment Bootcamp 4기
인하대학교 재학 · 정보처리기사 취득 예정

HOW I WORK

함께 일하는 방식

01

맡은 바는 끝까지 책임지고 완수합니다

수어 번역 서비스 팀장을 맡아 기획부터 시연까지 완주했고, 참여한 프로젝트마다 결과로 증명해왔습니다. 마감 기한과 팀과의 약속을 무엇보다 우선시합니다.

02

문서로 말하는 개발을 합니다

API 명세 · ERD · README · 트러블슈팅을 정리해 기획 · 디자인 · 프론트엔드 누구나 이해할 수 있는 개발 산출물을 만들고, 백엔드 pytest 685개 · 프론트 테스트 331개를 회귀 기준으로 유지합니다.

03

빠른 소통과 활발한 토론으로 함께 성장합니다

막히는 부분이나 결정이 필요한 상황은 혼자 끌고 가지 않고 먼저 공유합니다. 아이디어가 생기면 바로 실행에 옮기며, 토론을 통해 팀과 더 빠르게 완성해갑니다.

CONTACT

함께 이야기 나눠요

새로운 기회, 협업 제안 모두 환영합니다. 편하게 연락 주세요.

dissolve1882@naver.com

PROJECT CASE STUDY

HomeFit

2026.06–2026.08 10인 팀 · Backend Team Lead 2026.08.22 운영 종료

청년 주거 · 금융 의사결정 서비스

공고 탐색부터 입주 가능성 분석과 부족 자금 확인까지, 하나의 흐름으로 연결했습니다.

백엔드 팀장으로 API 계약과 PR 우선순위를 조율하고, Notice · DB · Infra를 중심으로 Android 연동과 데모데이 운영까지 이끌었습니다.

말풍선으로 홈피라고 말하는 HomeFit 마스코트
6개검증 단지
7건연동 공고
4개금융상품
3개통합 테스트 계정

01 · PRODUCT

서비스 화면

로그인 후 주요 공고를 탐색하고, 사용자 조건을 바탕으로 입주 가능성과 금융상품을 확인하는 Android 서비스입니다.

HomeFit 홈 화면의 주요 공고와 금융상품 요약
주요 공고와 맞춤 정보 진입점
HomeFit 공고 목록의 상태와 조건별 필터
공고 탐색상태 · 면적 · 보증금 조건 필터
72점과 조건별 충족 여부를 보여주는 HomeFit 입주 분석 결과
입주 가능성조건별 판정과 예상 비용 확인
HomeFit 사용자 조건 기반 금융상품 목록
금융상품적격 여부와 부족 자금 보완 탐색

이미지를 선택하면 원본 크기로 볼 수 있습니다.

02 · IMPLEMENTATION

맡은 역할과 핵심 구현

01

공고 데이터 정규화

공식 출처에서 확인한 6개 단지와 7개 연동 공고를 Stable Hash와 Prisma Upsert로 멱등 Seed화하고, 주택형 · 자격조건 · 첨부파일을 트랜잭션으로 저장했습니다.

02

API 계약 · 통합 테스트

공통 응답과 오류 규칙을 동결하고, 적격 · 탈락 · 프로필 미입력 계정의 예상 결과를 도메인 담당자와 정리해 Android 최종 스모크 테스트를 주도했습니다.

03

배포 · 데이터 이관

Railway 1차 배포를 AWS Terraform 구조로 확장하고, GitHub Actions OIDC 배포와 PostgreSQL 18 전체 데이터 이관 · 건수 교차 검증을 완료했습니다.

03 · DATA & INFRA

데이터 흐름과 운영 인프라

반복 실행에도 중복되지 않는 공고 수집 구조와, 배포 · 모니터링 · 복구 가능성을 함께 고려한 AWS 구성을 설계했습니다.

공식 출처 검증부터 Stable Hash, Prisma Upsert, 관계 데이터 트랜잭션 저장으로 이어지는 HomeFit 공고 데이터 흐름
공고 데이터 흐름공식 출처 검증 → 정규화 → 중복 방지 → 관계 데이터 일괄 저장
ALB, EC2 Auto Scaling, RDS, ECR, S3, Secrets Manager, CloudWatch와 GitHub Actions OIDC로 구성한 HomeFit AWS 아키텍처
AWS 운영 아키텍처Terraform IaC · GitHub Actions OIDC · 관측성 · 비용 회수까지 포함

04 · INCIDENT

일시적인 접속 불가 경험과 헬스체크 기반 복구 설계

데모데이 현장 운영 중 약 5분간 앱을 사용할 수 없었다가 별도 조치 없이 복구되었습니다. 관측한 현상과 코드로 확인되는 인프라 구성을 구분해 기록했습니다.

01

관측한 증상

서로 다른 모바일 네트워크의 Android 기기에서 일시적인 접속 불가를 경험했고, 복구 이후에는 정상 동작했습니다. 정확한 원인은 당시 CloudWatch 지표와 ASG 활동 이력의 대조가 필요하므로 CPU 크레딧 소진으로 단정하지 않습니다.

02

헬스체크 기반 교체

ALB의 30초 간격 · 연속 3회 실패 기준과 ASG의 ELB 헬스체크를 Terraform으로 정의했습니다. 최소 1대 · 최대 3대로 구성했으며, 신규 인스턴스 초기화를 위한 유예 시간은 300초입니다.

03

경보와 변경 이력 관리

ALB 비정상 대상 · 5XX와 RDS 메모리 · 커넥션 수 · CPUCreditBalance 경보를 코드로 관리했습니다. 여기서 CPUCreditBalance는 EC2가 아닌 RDS 인스턴스의 크레딧 지표입니다.

약 5분은 현장 관측 시간이며 복구 보장 시간이 아닙니다. 최소 1대 구성에서는 인스턴스 교체 중 서비스 공백이 생길 수 있습니다.

05 · DEMO DAY

부산 BEXCO 현장 운영

2026년 8월 22일 방문자가 로그인부터 공고 탐색, 입주 분석, 금융상품 확인까지 직접 체험하도록 현장에서 서비스를 운영했습니다.

부산 BEXCO HomeFit 부스에서 방문자들이 서비스를 체험하는 모습
방문자 대상 HomeFit 서비스 체험 운영
부산 BEXCO HomeFit 부스 앞에서 촬영한 기획, 디자인, Android, Backend 팀 단체사진
기획 · 디자인 · Android · Backend가 함께한 HomeFit 팀

06 · RECOGNITION

UMC 10th 베스트 챌린저 개인 선정

HomeFit 백엔드 팀장으로 프로젝트를 끝까지 리딩하고, API 계약 · 인프라 · 연동 과정에서 팀 간 의사결정을 문서와 실행으로 연결한 성과를 인정받았습니다.

  • Backend(Node.js) 파트 개인 수상
  • API 명세 · ERD · PR 리뷰 기준 정비
  • 데모 종료 후 백업과 과금 리소스 회수까지 완료
부산 BEXCO 무대에서 UMC 10th 베스트 챌린저로 선정되어 수상하는 김찬혁
UMC 10th Backend(Node.js) 파트 베스트 챌린저 수상

PROJECT CASE STUDY

메모라이즈

2025.11–현재 기획 · 개발 · 운영 1인 담당 v3.78

실사용자 대상 암기 학습 웹서비스

학습 기능을 만드는 데서 끝내지 않고, 운영 지표와 AI 비용까지 직접 책임졌습니다.

React · TypeScript 프론트엔드와 FastAPI · PostgreSQL 백엔드, OpenAI 기반 출제·채점을 한 저장소에서 설계하고 실제 학습 현장에 배포해 개선하고 있습니다.

메모라이즈 서비스 아이콘
449명전체 회원
16,496회14일 학습 완료
36명최고 동시 접속
1,016개자동화 테스트

회원 수: 2026.08.23 기준 · 운영 지표: 2026.08.10 ~ 08.23 · 테스트 수: 최신 이력서 기준. 실측 최고 동시접속 36명과 설계 시나리오 100~300명을 구분합니다.

01 · TRAFFIC & INFRASTRUCTURE

사용자 수에 체류 시간과 폴링 주기를 함께 대입했습니다.

클라이언트에서 주기적으로 발생하는 요청을 계산하고, 함수 인스턴스별 커넥션 상한과 운영 DB의 컴퓨트 예산을 함께 관리했습니다.

01React · Vite

Vercel 정적 웹 배포

02FastAPI

서버리스 함수 · sin1

03PgBouncer

Neon pooled 연결

04PostgreSQL

운영 데이터 · 학습 기록

02 · PRODUCT

학습과 복습이 이어지는 화면

전체 구절 쓰기부터 빈칸·키워드·주제·암송 훈련까지 학습 난이도를 선택하고, 틀린 구절과 학습 기록으로 자연스럽게 복습하도록 구성했습니다.

메모라이즈 학습 모드와 과정 선택 화면
학습 모드과정 · 범위 · 난이도별 훈련 선택
메모라이즈 빈칸 맞추기 퀴즈 화면
빈칸 퀴즈핵심 단어를 입력하며 반복 학습
메모라이즈 오답노트 목록 화면
오답노트틀린 구절을 시험과 암송 훈련으로 재학습
메모라이즈 최근 30일 학습 추이와 달력
나의 기록학습 시간과 점수 추이를 달력으로 확인

이미지를 선택하면 원본 크기로 볼 수 있습니다.

03 · IMPLEMENTATION

운영에서 발견한 문제를 제품과 코드로 되돌렸습니다.

01

서버리스 커넥션 상한

함수 인스턴스별로 생성되는 풀을 pool_size 1 / max_overflow 2로 제한하고 Neon pooled 연결을 사용했습니다. 로컬 개발과 운영 환경의 풀 설정을 분리해 연결 수 증가를 통제했습니다.

02

폴링 기반 트래픽 산정

배지 30초 · 알림 30초 · heartbeat 2분 주기를 기준으로, 해당 폴링이 모두 활성화된 탭의 요청을 1인당 시간당 약 270회로 산정했습니다. 100~300명은 설계 시나리오이며 부하 테스트 실측값은 아닙니다.

03

컴퓨트 예산 운영 기준

당시 100 CU-hour 예산에 대해 2 CU × 하루 8시간이면 하루 16 CU-hour, 6일이면 96 CU-hour임을 계산했습니다. 예산·저장 공간 70~80%를 점검 기준으로 두고 피크 기간의 플랜 전환을 계획했습니다.

04

API · DB 리전 정렬

FastAPI 함수 배포 리전을 운영 DB와 동일한 sin1로 고정해 불필요한 지역 간 왕복을 피했습니다. 배포 설정과 저장소 운영 규칙에 기준을 남겼습니다.

05

AI 품질 · 비용 가드레일

출제·채점의 추론 강도를 분리하고 예산·주간 생성 한도를 적용했습니다. 관측 기간 14일간 시험지 170개, 추정 비용 약 $0.24를 기록하고 관리자 화면에서 실패와 누적 추정 비용을 확인했습니다.

06

조회 개선 · 회귀 검증

시험 목록의 N+1 쿼리를 배치 조회로 바꾸고 페이지네이션을 적용했습니다. 백엔드 685개 · 프론트 331개 테스트에 실제 화면의 요청 파라미터 형식까지 포함해 재발을 점검했습니다.

04 · QUALITY & OPERATIONS

한 번 겪은 장애를 다시 겪지 않기 위한 테스트

백엔드 pytest 685개와 프론트 Node 테스트 331개를 유지하며, 서버 요청 형식뿐 아니라 실제 화면이 보내는 파라미터 형태까지 회귀 테스트에 포함했습니다.

실사용 운영

프론트와 API를 분리 배포하고, 버전 변경 때마다 변경 내역 · README · 앱 메타데이터를 함께 갱신하는 릴리스 규칙으로 운영하고 있습니다.

PROJECT CASE STUDY

수담(手談)

2025.07–2025.09 팀장 · AI/FastAPI 7인 팀 · 파트 일정 조율

실시간 양방향 수어 인식 · 번역 서비스

카메라 프레임에서 수어 특징을 추출해 안정적인 실시간 번역 결과까지 연결했습니다.

MediaPipe 기반 특징 추출과 딥러닝 분류, FastAPI 추론 서버를 하나의 파이프라인으로 설계하고 팀장으로서 AI · Front · Back · Unity 등 파트 간 일정을 조율했습니다.

두 손과 하트로 구성된 수담 아이콘
194차원프레임 특징
10프레임Sliding Window
3회연속 예측 일치 기준
2회프로젝트 수상

01 · INFERENCE FLOW

수어 동작이 번역 결과가 되기까지

JPEG 프레임에서 손 · 얼굴 · 자세의 특징을 추출하고 입력 길이를 맞춰 분류 모델에 전달합니다. 아래는 추론 API 흐름이며, 예측 안정화와 전처리 수정은 별도의 실시간 예측 스크립트에 적용했습니다.

01카메라 입력

JPEG 프레임 목록 수신

02MediaPipe

194차원 keypoint 추출

03입력 길이 정렬

최근 10장 · 부족분 0패딩

04딥러닝 분류

모델 추론 · 상위 3개 후보

05API 응답

라벨 · 신뢰도 · 후보 반환

02 · IMPLEMENTATION

실시간성과 운영 가능성을 함께 다뤘습니다.

01

AI 추론 API 구현

FastAPI · Docker 환경에서 JPEG 프레임을 10프레임 × 194차원 텐서로 변환했습니다. /api/predict-word-from-frames는 라벨 · 신뢰도 · 상위 후보를, /healthz는 서버 상태를 반환합니다.

02

전처리 불일치 수정

학습에는 없던 샘플별 정규화가 실시간 예측 스크립트에 들어가 있음을 확인했습니다. 해당 정규화를 제거해 학습 · 추론 입력 스케일을 일치시켰으며, 수정 범위는 실시간 예측 스크립트입니다.

03

오탐 · 중복 출력 제어

타이핑 · 휴대전화 사용 등 비수어 동작을 none으로 묶는 학습 로직을 추가했습니다. 예측 스크립트에는 신뢰도 임계값 · 3회 연속 일치 · 중복 누적 방지를 적용했습니다.

03 · RECOGNITION

기술 구현과 팀 운영을 함께 인정받았습니다.

모델 정확도만이 아니라 서비스 형태의 데모, 파트 간 통합, 발표까지 완성해 두 번의 프로젝트 성과로 이어졌습니다.

  • KSEB 팀 프로젝트 우수상
  • 인하대학교 오픈소스 SW 페스티벌 최우수상(총장상)
  • AI 추론 서버 MIT 라이선스 공개

PROJECT CASE STUDY

GreenBrain

2026 Backend 담당 FastAPI · PostgreSQL

AI 기반 탄소중립 실천 웹서비스

AI 사용으로 소모한 탄소 토큰을 일상 챌린지로 회복하는 보상 루프를 연결했습니다.

챌린지 생성과 사진 인증, 파일 업로드를 맡아 사용자의 생활 습관에 맞는 실천 과제가 생성되고 인증 결과가 토큰 회복으로 이어지도록 백엔드를 구현했습니다.

새싹과 자연을 표현한 GreenBrain 아이콘
+20사진 인증 보상
3개추가 보상 좋아요
60일일 추가 보상 한도
3단계담당 핵심 흐름

01 · PRODUCT

탄소 토큰을 보여주는 AI 채팅 경험

사용자는 AI 채팅에서 남은 탄소 토큰을 확인하고, 토큰이 부족하면 실천 챌린지와 커뮤니티 피드로 이동해 다시 회복합니다.

GreenBrain 로그인 화면
로그인탄소 책임 서비스의 진입 화면
탄소 토큰 잔액과 챌린지 진입점을 보여주는 GreenBrain AI 채팅 화면
AI 채팅토큰 잔액과 실천 챌린지 연결

공개 GitHub Pages 프로토타입을 실제 렌더링한 화면입니다.

02 · RESPONSIBILITY LOOP

사용량을 제한하는 대신 실천으로 회복하게 했습니다.

AI 요청의 탄소량을 ecologits로 계산한 뒤 토큰을 차감하고, 소진 시 사용자의 생활 습관에 맞는 챌린지를 제시하는 구조입니다.

01AI 채팅

사용자 질문 전송

02탄소 계산

ecologits 사용량 환산

03토큰 차감

잔액과 사용량 기록

04챌린지 생성

생활 습관 기반 추천

05사진 인증

수행 증빙 업로드

06토큰 회복

즉시 +20, 참여 보상

03 · IMPLEMENTATION

담당한 백엔드 구현

01

개인화 챌린지 생성

온보딩에서 수집한 이동 · 식습관 · 주거 정보를 바탕으로 토큰 소진 시 수행 가능한 생활 습관 챌린지를 생성하는 서비스를 구현했습니다.

02

인증 · 파일 업로드

챌린지 수행 사진을 검증하고 저장 경로를 분리했습니다. MVP의 로컬 파일 시스템에서 프로덕션의 S3 호환 저장소로 확장 가능한 인터페이스를 유지했습니다.

03

토큰 보상 연결

사진 인증 시 +20, 커뮤니티 좋아요 3개마다 +20을 추가 지급하되 하루 최대 60으로 제한하는 회복 정책을 도메인 흐름에 연결했습니다.

PROJECT CASE STUDY

RealGain

2025.09–2025.12 기업 연계 프로젝트 AI · 추론 모듈

산업 설비 진동 데이터 기반 이상탐지

센서의 시계열 신호를 사람이 해석 가능한 Orbit 이미지와 이상 확률로 바꿨습니다.

24채널 BIN 데이터를 RCP 채널쌍별 Orbit 이미지로 변환하고 ResNet18로 정상·비정상을 분류했습니다. Grad-CAM과 JSON 출력을 더해 판단 근거와 백엔드 연동까지 고려했습니다.

RealGain 진동 데이터에서 생성한 Orbit 1A 이미지
24채널원본 BIN 입력
10초분석 구간
4쌍RCP Orbit
1/4이상 시 최종 이상

01 · DATA TRANSFORMATION

진동 신호를 네 개의 Orbit으로 변환

마지막 10초 구간에서 네 RCP 채널쌍을 각각 256×256 이미지로 만들고, 채널별 정상·이상 확률을 산출했습니다.

RealGain RCP Orbit 1A
RCP 1A
RealGain RCP Orbit 1B
RCP 1B
RealGain RCP Orbit 2A
RCP 2A
RealGain RCP Orbit 2B
RCP 2B

02 · IMPLEMENTATION

모델 실험을 서비스에서 쓸 수 있는 모듈로 만들었습니다.

01

BIN 전처리 파이프라인

float32 little-endian 24채널 원본에서 마지막 10초를 추출하고, 고정 스케일의 네 Orbit 이미지를 일관된 입력으로 생성했습니다.

02

분류 · 설명 가능성

ResNet18 기반 정상·이상 분류와 Grad-CAM 시각화를 연결해 결과 확률뿐 아니라 모델이 주목한 영역도 함께 확인하도록 했습니다.

03

백엔드 연동 인터페이스

--json--show_cam 옵션을 제공해 subprocess 또는 직접 import 방식으로 추론 결과를 소비할 수 있게 했습니다.

03 · MODEL CHECK

학습 과정과 평가 결과를 함께 기록

Accuracy · Loss 추이를 저장하고 Precision · Recall · F1을 함께 확인해 단일 정확도만으로 모델을 판단하지 않도록 평가 체계를 구성했습니다.

RealGain Orbit CNN 학습 정확도 그래프
Orbit CNN Accuracy
RealGain Orbit CNN 학습 손실 그래프
Orbit CNN Loss

그래프는 저장소에 보관된 실험 결과이며, 실제 운영 성능을 단독으로 의미하지 않습니다.

04 · RECOGNITION

탄소중립 Innovation Academy 5기 대상

기업 연계 산업 데이터 문제를 전처리 · 모델 · 설명 가능성 · 연동 모듈까지 완성한 결과로 대상을 수상했습니다.

  • 기업 연계 프로젝트 전체 1위
  • 산업 설비 이상 탐지 파이프라인 구현
  • Grad-CAM 기반 판단 근거 시각화
탄소중립 Innovation Academy 기업연계 프로젝트 대상을 수상한 RealGain 팀
탄소중립 Innovation Academy 5기 기업연계 프로젝트 대상

PROJECT CASE STUDY

IssueOne

2025.03–2025.06 AI · Backend 담당 KSEB 미니프로젝트

여러 언론사의 기사를 모아 비교하는 AI 뉴스 요약 서비스

뉴스 수집부터 요약과 종합 결론까지, 메모리 제약 안에서 동작하는 파이프라인을 만들었습니다.

RSS 기사 수집 · 정제 · 저장 · 요약 API를 FastAPI와 SQLite로 구현하고, 로컬 KoBART 추론이 배포 환경의 메모리를 초과하자 HuggingFace와 OpenAI API 방식으로 전환했습니다.

검은 배경의 ISSUE ONE 서비스 로고
1시간기사 수집 주기
4개핵심 API
2단계요약 · 결론 생성
1위KSEB 미니프로젝트

01 · PRODUCT

하나의 이슈를 여러 기사로 비교

실시간 인기 키워드 또는 직접 검색한 이슈를 기준으로 여러 언론사의 기사를 모으고, 개별 요약과 종합 결론을 한 흐름에서 제공합니다.

모바일과 데스크톱에서 동작하는 IssueOne 검색 화면
반응형 검색 경험키워드 탐색 · 언론사별 기사 비교 · AI 요약
기사 수집, 트렌딩 키워드, 이슈 검색, 종합 결론의 IssueOne 핵심 기능
핵심 기능수집 → 추천 키워드 → 검색 → 종합 결론

02 · IMPLEMENTATION

배포 제약을 확인하고 추론 방식을 바꿨습니다.

01

수집 · 정제 · 저장

RSS와 뉴스 페이지를 주기적으로 수집하고 HTML을 정제한 뒤 기사와 키워드를 SQLite에 저장해 검색과 요약이 같은 데이터 기준을 사용하도록 했습니다.

02

메모리 제약 대응

KoBART 로컬 추론이 제한된 배포 환경의 메모리를 초과하자 모델 호출을 HuggingFace와 OpenAI API로 분리해 서비스 배포 가능성을 확보했습니다.

03

API · 클라우드 배포

/run-news, /trending-keywords, /search-articles, /summarize-conclusion을 구성하고 Render와 Vercel에 배포했습니다.

03 · RECOGNITION

KSEB 미니프로젝트 대상

짧은 프로젝트 기간에 수집 파이프라인과 AI 요약, 반응형 화면, 실제 배포까지 완성해 전체 1위를 수상했습니다.

  • AI · Backend 파이프라인 구현
  • 메모리 제약을 API 전환으로 해결
  • 실제 서비스 URL까지 배포