임동건

Projects

문제 · 해결 · 성과로 정리한 전체 프로젝트

기술 나열이 아니라 실제로 맡은 역할과 해결한 문제 중심으로 정리했습니다.

Personal AI · Browser Intelligence · 2026

Orbit

AI Rookie Competition 예선 통과

브라우저 방문 기록을 사용자의 탐색 의도 단위 Session으로 자동 구성하고, 이전 탐색 맥락을 자연어로 검색 · 복원하는 Personal Exploration Memory.

Problem

브라우저에서 리서치나 문제 해결을 이어가면 탭 · 검색 · 방문 페이지가 계속 쌓입니다. 시간이 지나면 '무엇을 봤는가'보다 '왜 그것을 보고 있었는가'라는 탐색 맥락이 먼저 사라집니다.

Approach

  • Chrome MV3 webNavigation 기반 opt-in 수집기와 IndexedDB 로컬 큐 구현 — 서비스 워커가 종료돼도 이벤트가 유실되지 않도록 상태 기반으로 관리
  • 동기화 배치마다 LLM이 append / create / hold / discard를 판단해 세션을 자동으로 생성 · 성장시키는 Auto Session 파이프라인 설계
  • 단계별 모델 분리 — 탐색 의도 분석은 LG K-EXAONE, 요약 · 답변 · 리랭킹은 SKT A.X-K1, 의미 검색은 Upstage 임베딩. 두 LLM을 서로의 폴백으로 구성
  • Golden Set 기반 Sessionization 평가 하네스 구축 (Assignment Accuracy · Purity · Coverage · New-vs-Existing · Noise Exclusion)
  • 민감 도메인 본문 미수집 · 추적 파라미터 제거 등 수집 범위를 기본값에서부터 좁게 설계

Impact

  • 세션 자동 구성부터 자연어 탐색 복원까지 동작하는 Extension + Backend 구현

Stack

ReactTypeScriptChrome MV3FastAPIPostgreSQLRedisQdrantK-EXAONEA.X-K1Upstage Embedding
Features
  • Auto Session · Exploration Timeline · Orbit 홈 / 아틀라스
  • Search by Intent · Ask AI · 열린 탭 Semantic Search 및 탭 이동
  • 세션 병합 · 세션 추천 · 탐색 분석 · 자연어 기반 과거 탐색 복원

LLM Systems · Gateway · 2026

Forge

Alpha · v0.4.0

코딩 Agent 요청의 작업 유형과 실행 조건을 분석해 적합한 LLM을 선택하고, Provider 장애 시 자동으로 다음 모델로 전환하는 Task-aware Multi-Provider LLM Gateway.

Problem

Claude Code · Cline · Aider 같은 코딩 도구에서는 Provider 상태나 작업 종류에 따라 사용자가 모델을 계속 직접 바꿔야 합니다. Forge는 클라이언트에 단일 엔드포인트만 제공합니다.

Approach

  • Analyze → Capability Filter → Session Affinity → Score → Route → Failover 라우팅 파이프라인 설계
  • OpenAI · Anthropic 양쪽 호환 API 제공, LiteLLM을 Provider 어댑터로 사용해 16개 Provider 연동
  • Tool Calling · Vision · JSON Mode · Context Window를 Hard Filter로 처리하고 작업 적합도 · 헬스 · 지연 · 비용으로 스코어링
  • First-chunk 기준 스트리밍 Failover, API Key 단위 쿨다운과 다중 키 로테이션, 무료 / 로컬 우선 정책 구현
  • /v1/route/explain으로 제외된 모델과 사유 · 최종 점수표까지 노출해 라우팅을 설명 가능하게 구성
  • 대시보드 · SQLite 메트릭 · Prometheus 노출과 무중단 Hot Reload 지원

Impact

  • PyPI 배포 (forge-gateway) · 로컬에서 동작하며 Forge 자체 텔레메트리는 전송하지 않음

Stack

PythonFastAPILiteLLMSQLitePrometheusOpenAI APIAnthropic API
Cost Controls
  • 요청당 예상 비용 상한(--max-cost)과 유료 경로 차단(--no-paid) 정책
  • 정책은 forge.yaml에서 순서대로 평가되며 작업 유형별로 tier 선호 · 폴백 지정
  • 가격이 확인되지 않은 모델은 보수적으로 취급해 무료 정책에서 제외

Agent Memory · Knowledge OS · 2026

Devtrail

AI Coding 과정에서 발생한 작업 기록과 의사결정을 세션 간 지속 가능한 Project Knowledge로 전환하는 Agent Memory System.

Problem

Claude Code 같은 AI Coding Tool은 세션이 끝나거나 컨텍스트가 압축되면 작업 배경 · 판단 근거 · 실패 과정 · 학습 · 다음 작업이 함께 사라집니다.

Approach

  • Capture → Distill → Review → Promote → Reuse 파이프라인 설계, Obsidian Vault를 단일 지식 저장소로 사용
  • MCP 서버로 세션 시작 시 프로젝트 브리핑을 주입하고 종료 시 Session Handoff(Plan / Process)를 기록하는 Agent Session Lifecycle 구현
  • task_type별 멀티 Provider 라우팅과 폴백 체인 구성 (light / writer / long_writer / polish / local)
  • AI 출력은 반드시 Candidates를 거쳐 사람이 검토한 뒤 승격되도록 설계 — 지식 · 결정 · 블로그 · 이력서 후보 분리
  • Nightly Distill과 Telegram 연동, Textual TUI 대시보드 및 설치 자동화 스크립트 작성

Impact

  • 현재 개인 개발 워크플로우에서 실사용 중 (이 포트폴리오 저장소의 세션 기록에도 사용)

Roadmap · 계획

  • 화백 연동 — 멀티 에이전트 검토 결과를 Decision 후보로 회수

Stack

PythonMCPObsidianGemini APIOpenAI APIKimi APIOllamaTextualTelegram Bot API
Core Message
  • AI가 만든 결과만 저장하는 것이 아니라, AI와 함께 개발하는 과정에서 발생한 개발자의 판단과 학습을 다시 회수한다
  • LLM은 창작자가 아닌 작업 기록 정리자 — source에 없는 사실 · 수치를 만들지 않는다는 원칙으로 파이프라인 구성

Multi-Agent · Runtime · 2026

화백 (和白)

Runtime 구현 완료 · Evaluation 단계 예정

역할별 LLM Agent가 기술 선택지를 독립적으로 검토하고 근거 · 반론 · 투표 · 수정을 거쳐 개발자를 위한 권고안을 만드는 Multi-Agent Decision Runtime.

Problem

중앙 조율자 없이 에이전트끼리 직접 대화하게 만들면 구현은 쉽지만 대화가 스스로 끝나지 않고 비용이 폭증합니다. 목적은 AI가 결정을 대신하는 것이 아니라, 여러 관점의 근거와 Trade-off를 구조화해 개발자가 판단하기 쉽게 만드는 것입니다.

Approach

  • LangGraph · CrewAI 같은 프레임워크 없이 LLM API의 tool use 위에 메시지 버스 · 에이전트 툴 루프 · 합의 엔진 · 예산 상태기계 · SSE 이벤트 스트림 · 영속화를 직접 구현
  • discussion → synthesis → proposal → voting → revision 예산 단계 상태기계로 종료를 프롬프트가 아닌 런타임에서 강제하고, 단계마다 호출 가능한 도구를 좁힘
  • 호출 전 토큰을 예약하고 응답으로 정산하는 방식으로 동시 호출 시 예산을 사후에 초과하는 문제 해결
  • token_budget과 processed_token_limit을 분리해 캐시 읽기가 작업 예산을 잠식하지 않도록 구성
  • SSE 이벤트 계약을 문서로 고정하고 Last-Event-ID 재구독을 지원해 비선형 메시지 흐름을 추적 가능하게 구현

Impact

  • 런타임 핵심 흐름(메시지 버스 · 합의 · 예산 제어 · SSE) 구현 및 테스트 통과

Roadmap · 계획

  • 단일 LLM 대비 Decision Quality · Cost · Convergence Time 비교 평가

Stack

Python 3.11asyncioFastAPISSESQLiteNext.js

Platform · Frontend · 2026

AfterFail

Chaos Mesh 기반 장애 시나리오, 웹 터미널, Prometheus · Grafana 모니터링과 RAG 기반 AI Tutor를 결합한 Kubernetes 장애 대응 훈련 플랫폼.

Problem

Kubernetes 장애 대응은 실제 장애 상황을 안전하게 재현할 환경이 없으면 훈련하기 어렵습니다.

Approach

담당 · Project Lead · Frontend

  • 기획 · 일정 · 역할 분담 · 서비스 통합 및 최종 발표 진행
  • React · TypeScript 기반 사용자 인터페이스와 미션 진행 화면 개발
  • 랭킹 · 업적 시스템 등 프론트엔드 전반 구현
  • xterm.js 기반 웹 터미널 구축으로 브라우저에서 kubectl 실습이 가능한 환경 구현
  • Docker 기반 개발환경과 실행 자동화 스크립트 작성으로 팀 개발환경 구축 과정 표준화

Stack

ReactTypeScriptFastAPIKubernetesChaos MeshPrometheusGrafanaQdrantxterm.js

역할 구분 · Chaos Mesh 장애 주입, RAG 기반 AI Tutor, Kubernetes 핵심 구현은 팀원이 담당했습니다. 본인은 프로젝트 총괄과 프론트엔드 개발을 맡았습니다.

Federated Learning · Research · 2026

Docker-based Federated Learning Heterogeneity Testbed

성능이 제각각인 클라이언트로 구성된 이질적 연합학습 환경을 반복 가능한 형태로 실험하기 위한 Docker 기반 테스트베드.

Problem

이질적 연합학습 환경을 표준화된 방식으로 실험 · 검증할 수단이 없어, 알고리즘 비교 결과를 신뢰하기 어려웠습니다.

Approach

담당 · First Author

  • Docker Container Resource Limit으로 CPU / 메모리 성능이 다른 클라이언트를 구성해 System Heterogeneity 재현
  • Flower · PyTorch 기반 연합학습 파이프라인과 CIFAR-10 Non-IID 실험 자동화
  • BWA 알고리즘 구현 및 PPO 기반 동적 배치 크기 최적화
  • ADM 알고리즘 구현으로 클라이언트 성능에 따른 데이터 사용량 조절
  • Raspberry Pi · 노트북 등 실제 디바이스 환경에서도 이질적 클라이언트 학습 과정 검증

Impact

  • BWA 정확도 52.77% → 55.47% (+2.70%p)
  • ADM 학습 시간 963.8s → 758.9s (-21.3%)

Stack

PythonPyTorchFlowerDockerDocker ComposeRaspberry PiCIFAR-10

Security · Shell · 2026

KISA UNIX 서버 취약점 자동 점검 스크립트

KISA 2026 가이드 기반 67개 보안 항목을 자동 점검하고, 인터랙티브 체크리스트를 포함한 반응형 HTML 리포트를 생성하는 Shell 스크립트.

Problem

KISA 취약점 가이드 67개 항목을 수동으로 점검하면 누락이 생기고 결과를 문서화하기 번거로웠습니다.

Approach

  • 계정관리 · 파일권한 · 서비스 · 패치 · 로그 관리 5개 분류, 67개 항목 완전 자동 점검 구현
  • SSH 설정 다중 파일 검사, 심볼릭 링크 실제 파일 권한 추적, 숫자 · 문자열 권한 형식 모두 지원
  • 인터랙티브 체크리스트와 취약 항목 자동 조치 가이드를 포함한 반응형 HTML 리포트 생성
  • Rocky Linux / CentOS / RHEL / Ubuntu / Debian 5개 OS 지원

Stack

Shell (Bash)LinuxsystemdHTMLKISA 2026

Backend · DB · 2026

Oracle 스키마 드리프트 검증 시스템

운영 DB와 테스트 DB 간 12개 스키마 요소를 자동 검증해 배포 전 불일치를 조기 발견하는 Spring Boot 기반 시스템.

Problem

운영 · 테스트 Oracle DB 간 스키마가 조용히 어긋나 배포 후 장애가 발생하는 문제를 사전에 차단할 수단이 없었습니다.

Approach

  • Docker Compose로 Oracle XE 이중 컨테이너 환경 구성
  • PK · FK · UNIQUE · NOT NULL · 인덱스 · 시퀀스 · 뷰 · 트리거 · 패키지 · 칼럼 길이 · 순서 등 12개 검증 항목 구현
  • 읽기 전용 schema_checker 계정 설계로 프로덕션 데이터 접근 최소화
  • 뷰 · 트리거 · 패키지 검증 시 환경별 스키마명 정규화 처리로 오탐 방지
  • JUnit 5 + AssertJ 기반 테스트 13개 작성 및 시각적 차이 리포트 출력

Impact

  • 12개 스키마 요소 자동 검증으로 배포 전 불일치 감지

Stack

Java 17Spring Boot 3.2Oracle XE 21cJUnit 5AssertJGradleDocker Compose

Web Service · 2026

When2Work — 팀 일정 조율 웹 서비스

팀원들의 가능한 시간을 드래그로 입력받아 히트맵으로 시각화하고 최적 미팅 시간을 자동 추천하는 React 웹 앱.

Problem

여러 명의 가능한 시간을 모아 최적의 만남 시간을 찾는 과정이 번거롭고 수작업이 많았습니다.

Approach

  • Supabase PostgreSQL 스키마 및 RLS 정책 설계, 인증 없이 생성자 토큰으로 소유권 관리
  • 30분 단위 사각형 드래그 선택 + 자동 스크롤 TimeGrid 컴포넌트 구현
  • 슬롯 생성 · 히트맵 분석 · 최적 시간 탐색 알고리즘 직접 구현, 겹치는 시간대 점수화로 추천
  • pg_cron 기반 10일 경과 방 자동 삭제 구성
  • GitHub Actions + GitHub Pages 자동 배포 및 커스텀 도메인 연결

Impact

  • 스터디 · 캡스톤 팀 일정 조율에 실제로 사용된 웹 서비스

Stack

React 18ViteTailwind CSSSupabaseEmailJSGitHub Actions

Embedded · Web · 2025

드론 배송 시스템 PWA

Parrot Anafi 드론을 WiFi로 연결해 실시간 상태를 모니터링하고 웨이포인트 기반 자동 배송 미션을 실행하는 Next.js PWA.

Problem

드론 제어 SDK가 Linux 전용이고, 웹에서 실시간으로 드론 상태를 확인하며 배송 미션을 지시하는 통합 인터페이스가 없었습니다.

Approach

  • Next.js 14 App Router 기반 PWA 프론트엔드 개발, 드론 연결 · 배송 요청 · 실시간 현황 화면 구현
  • Python Flask REST API 서버 작성, Parrot Olympe SDK와 연동해 이륙 · 착륙 · 위치 이동 · 자동 미션 엔드포인트 제공
  • WSL2 환경에서 Linux 전용 Olympe SDK를 Windows에서 실행하는 개발 환경 구성 가이드 작성

Stack

Next.js 14TypeScriptReact 18PythonFlaskParrot Olympe SDKPWA

역할 구분 · Parrot Anafi 드론 하드웨어와 Olympe SDK를 팀 공유 자산으로 활용했습니다.

Web Service · 2025

Budgetly

조직 예산 · 영수증 관리 웹 플랫폼

Problem

조직의 영수증 · 예산 처리를 수기로 관리하기 번거롭고 실수가 잦았습니다.

Approach

  • Vue.js 기반 프론트엔드 개발 및 예산 현황 대시보드 UI 구성
  • Firebase 인증 · DB 연동 및 AWS EC2 기반 배포

Impact

  • 소중한 오픈소스 활용 SW 경진대회 1등, 총장상 수상

Stack

Vue.jsFirebaseAWS EC2

역할 구분 · OCR 기반 영수증 인식(Azure Document Intelligence) 구현은 팀원이 담당했습니다. 본인은 Vue.js 프론트엔드와 Firebase · AWS EC2 배포를 맡았습니다.

Archive

초기 프로젝트

지금의 작업으로 이어진 초기 실험과 학습용 프로젝트입니다.