검색
1-2페이지로 압축한 이력서 버전도 준비되어 있습니다.Resume 보기 (PDF 저장 가능)

Portfolio

실제 문제를 해결하기 위해 만든 프로젝트들입니다. 왼쪽에서 프로젝트를 선택하세요.

김덕환

감동과 사랑을 전하는 '기술 번역가'

사용자의 감정과 니즈를 이해하고, 진정한 가치를 전달하는 개발자입니다.

김덕환 프로필 사진

Contact

Profile

저는 '신뢰할 수 있는 기술 번역가'로서 사용자의 감정과 니즈를 이해하고, 이를 기술로 번역하여 진정한 가치를 전달하는 것을 목표로 합니다. 단순히 기능을 구현하는 것을 넘어, 사용자에게 감동과 사랑을 전하는 서비스를 만들고 싶습니다.

호기심으로 살아갑니다. 예전에는 궁금한 것을 해결하는 데 많은 시간과 노력이 들었지만, 지금은 AI 덕분에 레버리지를 활용하여 '내가 이렇게 많이 알아도 되나?'싶을 정도로 다양한 분야의 지식을 빠르게 습득하고 실험하고 있습니다.

Tech Stack

Languages

Python
★★★★★
Advanced
C++
★★★★★
Intermediate

Frontend

Next.js
★★★★★
Advanced
Astro
★★★★★
Advanced

Backend

Node.js
★★★★★
Intermediate
Spring Boot
★★★★★
Beginner
PostgreSQL
★★★★★
Intermediate

Deployment

Vercel
★★★★★
Advanced
Cloudflare
★★★★★
Intermediate

CI/CD & DevOps

CI/CD 구축
★★★★★
Advanced
Docker
★★★★★
Beginner

Collaboration

GitHub
★★★★★
Expert

AI Tools

Claude Code
★★★★★
Expert
LangChain
★★★★★
Beginner

Projects

측정으로 설계를 뒤집으며 LLM 서비스와 야간 배치 플랫폼 운영

퍼플페퍼 - 리워드 광고 B2B2C 스타트업 (재직 중)

2026.03 - 현재백엔드 · AI 엔지니어

소상공인 리뷰에 답글을 쓰는 LLM 서비스와 하룻밤 수십만 건을 처리하는 무인 야간 배치 플랫폼을 맡아, 설계 결정마다 실측 데이터로 검증하고 운영 중 틀리지 않게 만드는 일을 합니다.

기술적 도전

문제: 8대·64레인 야간 배치에서 16GB 장비의 처리량이 24GB 장비보다 약 40% 낮았고, 레인이 같은 실패를 181번 반복해도 감시는 모두 "정상"이라고 답함
해결: CPU만 보던 기존 레인 규칙을 대조군 실험으로 재검증해 메모리(스왑)까지 반영한 공식으로 교체, 잔여 브라우저 정리와 무보고 레인 자동 재기동 장치 추가
결과: 레인 14% 감소로 처리량 13% 증가(역할 교차 재현 확인), 하룻밤 494,126건을 성공률 98.4%로 처리

AI 활용

  • AI 리뷰 답글 서비스: 리뷰 765건 검증에서 누락률 44%가 나온 온톨로지 방식을 폐기하고 LLM 호출을 3회→1~2회로 축소, LLM 자기채점 대신 "초안 3종 + 사장님 선택" 구조로 비용 폭증 해결
  • 사장님 답글 1,883건으로 Qwen3-4B를 LoRA 학습해 API 대비 품질 92.5%, API 비용 0인 대안 확보
  • 사업자등록증 OCR을 CLOVA에서 AWS Bedrock Claude로 교체해 비용 96% 절감, 기존 오인식 데이터는 검증 에이전트 3개로 병렬 판정 후 백업·트랜잭션을 거쳐 수정
  • 크롤링 서버 408대 관측 체계: 자동 수집 + LLM 요약 보고, 프롬프트 인젝션 대비 LLM에는 도구 권한을 주지 않음
  • AI 작업 세션 505개 전수 감사로 완료 보고의 73%가 검증 없이 이뤄진 것을 찾아 문서 대신 강제 훅 설치
NestJSAWS ECS FargateTerraformPostgreSQLAWS BedrockQwen3 LoRAPython

전화 한 통으로 부모님 이야기를 자서전으로 남기는 서비스를 혼자 만들어 출시

withby(곁에) - 목소리로 남기는 자서전

2026.09 - 현재1인 창업 · 기획 · 풀스택

부모님은 앱 설치나 로그인 없이 일반 전화만 받으시면, 이야기 친구 «도란»이 이야기를 듣고 가족이 원음과 받아쓰기를 확인하며 글과 그림 이야기로 다듬는 서비스입니다. 웹과 iOS·Android 앱으로 냈습니다.

기술적 도전

문제: 이야기하실 분(고령 부모님)에게는 앱 설치와 로그인이 곧 장벽이고, 원음·받아쓰기는 가장 민감한 개인정보
해결: 070 일반 전화로 AI 음성 에이전트가 걸고 받게 하고, 동의는 그분 휴대폰으로 간 안내 문자의 인증번호로 받음. 원음·받아쓰기는 Supabase RLS와 비공개 Storage로 주인과 운영자만 접근, 원음은 90일 뒤 삭제
결과: 전화·웹 음성 대화·녹음 올리기 세 경로로 이야기를 모으고, 가족 초대·링크 공개까지 운영. 관리자 전용 DB 함수 25개가 일반 회원에게 모두 거절되는지 테스트로 고정

AI 활용

  • 전화는 ClawOps 음성 에이전트, 웹 대화·받아쓰기는 ElevenLabs(WebRTC·Scribe)로 연결
  • AI 자동 초안을 걷어내고 사람이 받아쓰기를 보고 쓰는 구조로 전환 - 부모님 이야기를 지어내지 않기 위해
  • 도란에게 남은 시간 숫자를 알리지 않고 장면이 끝나면 마무리하게 하고, 통화 길이 상한은 서버가 강제
  • 번호당 진행 중 통화 1건·수신거부 번호 제외·불명확한 결과 자동 재발신 금지로 발신 사고 방지
Next.js 16HonoSupabasePostgreSQL RLSClawOpsElevenLabsCapacitor

BE Lead로 GCP 인프라 구축 및 팀 코드 리뷰 문화 정착

Finders - 필름 현상소 연결 플랫폼

2025.12 - 현재Backend Lead (11명 팀, BE 5명)

필름 카메라 사용자를 위한 현상소 검색·예약·사진 공유 플랫폼. UMC 9기 프로젝트로 BE Lead를 맡아 아키텍처 설계, 코드 리뷰 문화 정착, GCP 인프라 구축을 담당.

기술적 도전

문제: 5명 BE 개발자의 코드 품질 불일치, AWS 대비 예산 제약
해결: GCP $300 크레딧 활용, CODE_STYLE.md 문서화, PR마다 코드 리뷰 의무화
결과: 코드 리뷰 빈도 400% 증가(약 5배), Terraform IaC로 복구 시간 56h → 5h 단축

AI 활용

  • Stable Diffusion Inpainting API 연동 - 필름 빛번짐(Light Leak) 복원 기능
  • Claude Code로 기존 ThreadPool 코드를 Java 21 Virtual Threads로 마이그레이션
  • GCP VPC 네트워크 설계, IAP SSH 터널링으로 보안 DB 접속 환경 구축
  • 포트원(PortOne) 결제 시스템 연동 - 예약 → 결제 → 확정 플로우 설계
Java 21Spring Boot 3.4MySQLQueryDSLGCPTerraformDocker

GCP 인프라 아키텍처

flowchart TB
    subgraph Client["클라이언트"]
        A[Next.js App]
    end

    subgraph GCP["Google Cloud Platform"]
        subgraph Compute["Compute Engine"]
            B1[Main Instance]
            B2[Dev Instance]
        end
        C[(Cloud SQL - MySQL)]
        D[Cloud Storage]
        E[Cloud Vision AI]
    end

    subgraph External["외부 서비스"]
        F[Stable Diffusion API]
        G[PortOne 결제]
    end

    A --> B1
    A --> B2
    B1 --> C
    B2 --> C
    B1 --> D
    B1 --> E
    B1 --> F
    B1 --> G
          

자율 파이프라인을 설계·운영해 PR 789개를 머지

agentgram - AI Agent SNS 플랫폼

현재 진행Core Contributor (Open Source)

AI Agent들이 자율적으로 소통하는 오픈소스 SNS 플랫폼. org 전체 머지 PR 881개 중 789개를 자율 파이프라인이 머지 — 직접 타이핑이 아니라 881개 규모의 변경을 자율 처리하는 파이프라인을 설계·운영.

기술적 도전

문제: 단일 레포 구조로는 코어·SDK·MCP 등 다양한 클라이언트 요구 대응 불가
해결: 멀티 레포(Core/JS/Python/MCP/AX) 분리 및 API-first, Ed25519 서명 신원 설계
결과: 라이브 네트워크(agentgram.co) 520+ 등록 에이전트·3,600+ 게시물, 자율 파이프라인 머지 PR 789개, ⭐32

AI 활용

  • 피드·팔로우·스토리·알림 등 핵심 기능 설계에 Claude Code 활용
  • Supabase RLS 정책 설계 및 PostgreSQL 쿼리 최적화
  • REST API/OpenAPI 스펙 자동 생성 파이프라인 구축
Next.js 16TailwindCSS v4SupabasePostgreSQLDockerREST APIOpenAPI

멀티 레포 생태계

flowchart TB
    subgraph Client["클라이언트"]
        A[Next.js 16 App - Vercel]
    end

    subgraph Backend["백엔드"]
        B[Supabase - PostgreSQL + RLS]
        C[REST API / OpenAPI]
    end

    subgraph Repos["멀티 레포 생태계"]
        D[Core]
        E[JS SDK]
        F[Python SDK]
        G[MCP Server]
        H[AX]
    end

    subgraph Infra["인프라"]
        J[Self-hosting + Docker]
    end

    A --> B
    A --> C
    D --> E
    D --> F
    D --> G
    J --> B
          

40명 인터뷰로 검증, 창업 프로그램 최우수상 수상

MathFigure - 수학 콘텐츠 제작 SaaS

2025.09 - 2025.12FE 중심 풀스택 1인 개발

고3 수능 콘텐츠를 제작하는 선생님들의 "도구 복잡성" Pain Point를 40명 인터뷰로 발견. I-Corps 기반 5주 고객검증 후 직관적 UX로 제작 시간을 1/10로 단축하는 MVP 개발.

기술적 도전

문제: 수학 수식 파싱과 도형/그래프 시각화를 동시에 처리해야 함
해결: MathJson + Compute-engine으로 수식 파싱, Konva + JSXGraph로 시각화
결과: 기존 도구 대비 제작 시간 1/10 단축, ICAN-LABs 창업 프로그램 최우수상

AI 활용

  • MathJson 스펙 학습 및 수식 파싱 로직 개발
  • JSXGraph API 탐색 및 그래프 렌더링 최적화
  • 40명 인터뷰 결과 분석 및 Pain Point 도출
Next.jsMathJsonCompute-engineKonvaJSXGraphVercel

수식 처리 파이프라인

flowchart LR
    A[LaTeX 입력] --> B[MathJson 파싱]
    B --> C[Compute-engine 계산]
    C --> D[시각화 타입]
    D -->|수식| E[MathLive 렌더링]
    D -->|도형| F[Konva 캔버스]
    D -->|그래프| G[JSXGraph]
    E --> H[PNG/SVG 내보내기]
    F --> H
    G --> H
          

AI 병렬 발신으로 순차 전화 병목을 푼 응급 병원 매칭 프로토타입

119-ai - AI 기반 응급 병원 매칭 시스템

2026Founder / Owner

응급 이송 시 순차 전화로 발생하는 병목을 AI 병렬 발신으로 해결. 환자 정보를 한 번 입력하면 여러 병원에 동시 발신하고, 한 곳이 수락하면 나머지 통화를 자동 종료하는 해커톤 프로토타입. 2026 청룡톤 대상 수상.

기술적 도전

문제: 응급 환자 이송 시 병원에 한 곳씩 순차로 전화해야 하는 병목
해결: Twilio + Gemini Live API로 AI 음성 대화 자동화, 병렬 발신 구조 설계
결과: 여러 병원 동시 발신과 수락 시 나머지 통화 자동 종료 구현, 건당 100~200원 비용 모델 추정 (실제 병원 운영 적용 전 프로토타입)

AI 활용

  • Gemini Live API 기반 실시간 음성 대화 자동화
  • NestJS + Python AI 통화 파이프라인 설계
  • Twilio 병렬 발신 아키텍처 구현
  • function calling으로 병원 수락 결정 기록
NestJSPythonTwilioGemini Live API

병렬 발신 아키텍처

flowchart TB
    A[환자 정보 입력] --> B[NestJS API Server]
    B --> C[Python AI Pipeline]
    C --> D[Gemini Live API]
    D --> E[Twilio 병렬 발신]
    E --> F[병원 1]
    E --> G[병원 2]
    E --> H[병원 3+]
          

AI 벡터 매칭으로 1인 풀스택 소개팅 서비스 구축

덕친소 - 김덕환 친구 소개팅 서비스

2025.11 - 현재풀스택 1인 개발

주변 친구들의 소개팅 요청이 늘면서 수동 매칭의 한계를 느끼고, pgvector 기반 유사도 매칭과 AI 추천 사유 생성 기능을 갖춘 서비스를 개발. 실제 운영 중.

기술적 도전

문제: 개인 서버(Mac Mini) 배포 복잡성, 카카오 알림톡 사업자 등록 필요
해결: Cloudflare Tunnel(Zero Trust)로 안전한 배포, Solapi SMS로 알림 대체
결과: 실제 서비스 운영 중, 포트원 결제 연동 완료

AI 활용

  • pgvector를 활용한 이상형 데이터 벡터화 및 유사도 매칭
  • AI가 "왜 이 사람을 추천했는지" 설명 생성
  • Claude Code로 Cloudflare Tunnel, Docker Compose, SSL 자동 갱신 구현
Next.jsSpring BootPostgreSQLpgvectorDockerCloudflare TunnelPortOne

시스템 아키텍처

flowchart TB
    subgraph Client["클라이언트"]
        A[Next.js App - Vercel]
    end

    subgraph Server["Mac Mini M2 서버"]
        B[Spring Boot API]
        C[(PostgreSQL + pgvector)]
        D[Docker Compose]
    end

    subgraph External["외부 서비스"]
        E[Cloudflare Tunnel]
        F[PortOne 결제]
        G[Solapi SMS]
    end

    A --> E
    E --> B
    B --> C
    D --> B
    D --> C
    B --> F
    B --> G
          

JWT 인증 단일화로 API 응답속도 50% 개선

오메추 - AI 기반 메뉴 추천 서비스

2025.06 - 2025.08Frontend Developer (인증 파트)

UMC 8기 팀 프로젝트. 쿠키 세션과 JWT 혼용으로 인증 오류가 발생해 팀 전체 개발이 2주간 중단. 프론트 담당이었지만 직접 백엔드 로그를 분석하여 JWT 기반 통합 인증 방식을 제안·구현.

기술적 도전

문제: 쿠키 세션과 JWT 혼용으로 인증 로직 복잡, API 응답 느림
해결: JWT 단일 인증 체계로 통합, Access/Refresh 토큰 관리 구현
결과: API 응답속도 420ms → 210ms (50% 개선), UMC 8기 데모데이 장려상

AI 활용

  • JWT vs 세션 방식의 차이점·장단점 학습
  • Access/Refresh 토큰 관리 best practice 탐색
  • 카카오 소셜 로그인 + JWT 통합 아키텍처 설계
Next.jsTypeScriptNode.jsZustandTanStack QueryVercel

인증 플로우

sequenceDiagram
    participant U as User
    participant C as Client
    participant S as Server
    participant DB as Database

    U->>C: 로그인 요청
    C->>S: POST /auth/login
    S->>DB: 사용자 검증
    DB-->>S: 사용자 정보
    S-->>C: Access Token + Refresh Token
    C->>C: 토큰 저장 (메모리/쿠키)

    Note over C,S: API 요청 시
    C->>S: API 요청 + Access Token
    S-->>C: 응답 데이터

    Note over C,S: 토큰 만료 시
    C->>S: Refresh Token으로 갱신
    S-->>C: 새 Access Token
          

AI와 페어 프로그래밍으로 Feature-First 아키텍처 구축

log8 - AI와 함께 운영하는 개인 기술 블로그

2024.12 - 현재1인 개발 및 운영

학습 기록과 문제 해결 과정을 정리·공유하기 위한 기술 블로그. Obsidian에서 글을 작성하면 Astro Content Collections로 자동 빌드·배포되는 구조.

기술적 도전

문제: Obsidian 연동, TailwindCSS v3→v4 마이그레이션, SEO/AEO 최적화
해결: Content Collections API, AST-grep 기반 AI 일괄 마이그레이션, AI 크롤러 허용 robots.txt
결과: GA 기준 평균 DAU 20, 40+ 기술 포스트

AI 활용

  • Claude Code로 Feature-First Architecture 리팩토링 설계·구현
  • AST-grep 활용 TailwindCSS v4 일괄 마이그레이션 (bg-gradient → bg-linear 등)
  • SEO/AEO 최적화 - GPTBot, ClaudeBot 등 AI 크롤러 명시적 허용
Astro v5TailwindCSS v4TypeScriptCloudflare PagesBunMDX

블로그 워크플로우

flowchart LR
    subgraph Writing["글쓰기"]
        A[Obsidian 작성]
        B[publish: true 설정]
    end

    subgraph Build["빌드"]
        C[Astro Content Collections]
        D[MDX 렌더링]
    end

    subgraph Deploy["배포"]
        E[GitHub Actions]
        F[Cloudflare Pages]
    end

    subgraph Result["결과"]
        G[log8.kr]
    end

    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G
          

3주 만에 MVP 개발부터 배포까지, 주간 활성 사용자 100명

Starterm - 스타트업 용어 학습 플랫폼

2025.08 - 2025.09Full-Stack Developer (3명 팀)

한양대학교 창업학 수업에서 예창패·MVP 등의 스타트업 진입을 준비하는 학생들을 위한 맞춤형 용어 학습 플랫폼. 3명 팀에서 3주 만에 개발·배포.

기술적 도전

문제: 3주 내 MVP 개발부터 실사용자 확보까지 전 과정 진행 필요
해결: Supabase로 백엔드 구축 시간 단축, 핵심 기능에 집중한 린 개발
결과: 3주 만에 배포 완료, 주간 활성 사용자 100명 달성

AI 활용

  • Supabase 인증 + 실시간 기능 빠른 구현 학습
  • Framer Motion 공식 문서 기반 애니메이션 최적화
  • 핵심 기능 우선순위 결정
Next.jsSupabaseTailwindCSSFramer MotionVercel

시스템 아키텍처

flowchart TB
    subgraph Client["클라이언트"]
        A[Next.js App]
        B[Framer Motion UI]
    end

    subgraph Backend["백엔드 (Supabase)"]
        C[(PostgreSQL)]
        D[Auth Service]
        E[Real-time Subscriptions]
    end

    subgraph Deploy["배포"]
        F[Vercel]
    end

    A --> D
    A --> C
    A --> E
    B --> A
    F --> A
          

Experience

UMC 8기/9기 Web Part

2025.03 - 현재

9기 웹 파트장 | 9기 Spring Boot 챌린저

IT 연합 동아리 UMC에서 웹 개발을 학습하고, 팀 프로젝트를 진행하며 실무 경험을 쌓고 있습니다. 9기에서는 웹 파트장으로서 파트원들의 학습을 지원하고, Spring Boot 챌린저로 백엔드 개발 역량을 확장하고 있습니다.

  • 8기: 팀 프로젝트 '오메추'에서 인증 파트 담당, 데모데이 장려상 수상
  • 9기: 웹 파트장으로 파트원 학습 지원 및 코드 리뷰
  • 9기: Spring Boot 챌린저로 백엔드 개발 학습 중

반포4동 성당 중고등부 교사

2019.09 - 2024.12

중고등부 교사 (5년)

중학생 30명을 대상으로 교리 프로그램을 진행하며 소통과 공감 능력을 키웠습니다.

AI 활용 강연

2025.05, 07, 09

연사

시니어 소상공인을 위한 AI 활용법 강연을 총 3회 진행했습니다. (한국시니어교류협회 1회, 리피움 2회)

  • ChatGPT Custom Instructions, Gemini Gems, NotebookLM 활용법 소개
  • 소상공인을 위한 실전 AI 도구 활용 사례
  • MCP(Model Context Protocol) 개념 및 활용법 (리피움)

Awards & Certifications

Awards

ICAN-LABs 창업 탐색 프로그램 최우수상2025.10
관광AI 공모전 장려상2025.09
UMC 8기 데모데이 장려상2025.08
2025 동계 해외교육 프로그램 최우수상2025.02

Certifications

정보처리기사2025.09
SQLD (SQL 개발자)2025.09

Education

중앙대학교

2020.03 - 2026.08

수학과 (Mathematics)

수학적 사고력과 논리적 문제 해결 능력을 바탕으로 개발 분야에 도전하고 있습니다.

마지막 학기 16학점을 이수하고 2026년 8월 졸업합니다.

협업/의뢰 문의는 여기로 보내주세요

빠른 답장은 LinkedIn DM, 상세 논의는 이메일이 가장 효율적입니다. 프로젝트 개요와 희망 일정을 함께 적어주시면 바로 논의를 시작할 수 있습니다.

이 포트폴리오는 웹에서 확인하실 수 있습니다.

최종 업데이트: 2026년 1월 25일