API가 멈출 때마다 재시작했지만 CORS, 세션 만료, 상태 오표시 등 보고되는 증상이 달라 원인을 확정하지 못하고 있었습니다.
SELECTED WORK · 2012—2026
말보다,
작동하는 결과로 설명합니다.
오래 운영한 시스템, 끝까지 추적한 장애, 직접 배포한 제품을 골랐습니다. 무엇을 만들었는지보다 어떤 문제를 어떻게 풀었는지에 집중한 포트폴리오입니다.
확인 가능한 범위만 적고, 팀의 결과와 개인의 역할을 구분했습니다.
← 홈으로WORK · TEAM LEAD 2025.08—2026.08
8개월의 미상 장애를 끝내고, 세 제품을 동시에 세웠습니다.
APM 도입을 기안·주도하고 트레이스·로그·DB 데이터를 교차 분석했습니다. 쓰기 전용 커넥션 누수를 원인으로 좁힌 뒤 유사 패턴 9곳과 헬스체크·풀 한도를 함께 점검했습니다.
동일 장애 재발을 막고 분석·문서화 방식을 팀 기준으로 남겼습니다. 비용 KPI 209%를 달성하고 신규 제품 3건을 병행했습니다.
- 8개월
- 미상 장애 종결
- 9곳
- 유사 패턴 점검
- 209%
- 비용 KPI 달성
- 3건
- 신규 제품
5인 SaaS팀의 팀장으로 APM 도입과 원인 분석, 비용 최적화, 세 제품의 아키텍처·핵심 구현을 주도했습니다. 팀의 결과이며 회사 코드와 고객 정보는 공개하지 않습니다.
- TypeScript
- NestJS
- Next.js
- Kotlin
- Spring Boot
- gRPC
- PostgreSQL
- pgvector
- AWS
- Datadog
PERSONAL · PRODUCTION 2026.02—2026.07
흩어진 AI 실험을 하나의 운영 플랫폼으로 묶었습니다.
각 AI 실험이 인증·배포·데이터를 따로 가지면 다음 실험에 자산이 남지 않았습니다. 모델 호출보다 서비스를 반복해서 만들 수 있는 기반이 먼저 필요했습니다.
RS256/JWKS 기반 중앙 인증, Worker 풀과 요청 큐를 둔 Agent API, PostgreSQL FTS와 pgvector RAG를 각각 구현했습니다. Terraform과 GitHub Actions로 ARM64 배포 경로를 고정했습니다.
2026년 7월 기준 12개 저장소·490커밋을 하나의 플랫폼으로 운영했습니다. 다섯 번의 제품 검증 뒤 DB와 파일을 아키텍처 독립 백업으로 정리했습니다.
- 12개
- 연결된 저장소
- 490
- 기준 시점 커밋
- 5회
- 제품 검증 사이클
- $0
- 프리티어 K8s
개인 프로젝트로 설계·개발·배포·운영 전 과정을 직접 수행했습니다. 저장소는 비공개이며, 결과 영상과 기술 구조만 공개합니다.
- TypeScript
- Next.js
- NestJS
- Claude Agent SDK
- PostgreSQL
- pgvector
- Redis
- OCI OKE
- Terraform
- GitHub Actions
WORK · PUBLIC SYSTEM 2012.06—2021.01
매일 10만 건이 지나는 시스템에서 운영의 기본기를 배웠습니다.
정책과 업무 규칙이 자주 바뀌고, 야간 배치나 기관 연계가 실패하면 다음 날 현장 업무까지 영향을 받는 환경이었습니다.
Java·Spring·Oracle 기반에서 업무 규칙을 배치와 프로시저로 구조화하고 예외·재처리 경로를 운영 기준에 포함했습니다. 외부기관 API와 신규 시스템 개발 전 주기를 경험했습니다.
일 10만 건 이상의 자격 데이터를 안정적으로 처리했습니다. 외주 의존도를 낮춘 자체 운영 체계 정착에 기여했고, 시스템 개발 공로로 기관장 표창을 받았습니다.
- 10만+
- 일 처리 건수
- 8년 8개월
- 개발·운영
- 20%
- 유지보수비 절감
- 전 주기
- 기획부터 운영
여러 조직과 동료가 함께 만든 장기 운영 시스템입니다. 직접 담당한 배치·DB·API 범위와 조직 차원의 운영 성과를 구분해 적었습니다.
- Java
- Spring
- Oracle
- PL/SQL
- Batch
- REST API
- Public Sector
- Operations
MORE WORK
작지만, 운영까지 가져간 것들.
각 프로젝트는 다른 질문을 검증했습니다. 비동기 처리, 무중단 배포, 성능, 프라이버시, 로컬 AI처럼 실제 선택이 필요한 문제들입니다.
공개 코드 보기 ↗Logme
Notion 연동만으로 블로그를 만드는 SaaS. 웹·API·Worker를 모노레포로 구성하고 IaC와 운영 관측까지 연결했습니다.
Pulumi 블루-그린 배포 · BullMQ · Sentry/BetterStackNext.js · NestJS · Prisma · Redis · AWSTuplus
업로드·스트리밍·메타데이터·히스토리·스토리지를 나눈 영상 플랫폼. 동기 처리를 이벤트 기반 흐름으로 바꿨습니다.
RabbitMQ 비동기 처리 · Kubernetes · ArgoCD GitOpsNode.js · MongoDB · RabbitMQ · KubernetesLMS
Next.js와 NestJS 기반 학습 관리 모노레포. 쿼리와 공통 인증 계층을 실제 병목 중심으로 개선했습니다.
응답 50→15ms · DB 부하 65%↓ · 코드 중복 67%↓Next.js · NestJS · PostgreSQL · Redis · TurboFocusWatch
자세와 휴대폰 사용 신호로 실제 집중 시간을 기록하는 iOS 앱. 영상 데이터가 서버로 가지 않도록 설계했습니다.
MediaPipe 온디바이스 분석 · 프레임 저장·전송 0Next.js · Capacitor · MediaPipe · NestJSmeetnote
음성·전사문·실시간 입력을 하나의 회의록 파이프라인으로 모으고 AI와 화자분리 엔진을 교체 가능하게 만들었습니다.
Provider 추상화 · 로컬 기밀 처리 · 실제 음성 E2E 검증Next.js · Whisper · pyannote · FastAPI · PostgreSQLOCI OKE Infra
애플리케이션과 플랫폼 계층을 분리해 Kubernetes 클러스터를 반복 생성하고 운영할 수 있게 정리했습니다.
Terraform import · Pulumi 멀티리전 · ARM64 CI/CDOCI · Kubernetes · Terraform · Pulumi · NGINXWORKING RANGE
한 영역만 떼어 보지 않습니다.
백엔드가 중심이지만 데이터, 인터페이스, 배포와 운영을 함께 설계합니다. 아래에는 실제 구현하거나 운영한 기술만 적었습니다.
- BACKEND
- TypeScript · Node.js · NestJS · Java · Spring Boot · Kotlin
- DATA
- PostgreSQL · pgvector · Redis · MongoDB · Oracle · Prisma
- AI / LLM
- Claude Agent SDK · RAG · FTS · Whisper · pyannote · Gemini
- OPERATIONS
- Docker · Kubernetes · AWS · OCI · Terraform · Pulumi · APM