Portfolio · 2026

함로운

Full-stack Developer · 직접 만든 제품 2개

01$GYEOL
PRIVATE BUILD

Personal Project · 1인 설계·구현 · 4개월

Gyeol · 결

낮에 실무로 만드는 투자관리시스템을, 밤에 Kotlin/Spring으로 처음부터 다시 설계했다 — 원장부터 결산까지

Kotlin/Spring Boot/PostgreSQL/jOOQ/Flyway/React 19/TypeScript

THE PROBLEM

금융 SI 실무에서 기업대출 프로그램을 개발하며, '왜 이 필드가 여기 있는지'에 대한 답이 늘 '원래 그랬다'인 게 아쉬웠다. 그래서 같은 도메인을 공개된 회계기준(IFRS 9)과 법령만을 근거로 처음부터 재설계했다. 본업과 병행한 4개월, 커밋 3,300여 개 — 반복 구현은 AI 에이전트에 위임하되, 모든 변경이 아키텍처 게이트와 테스트 전체를 통과해야만 병합되게 통제하면서.

HOW IT WORKS

  1. 01

    정의

    기업여신·ECL 충당금·공정가치·상각후원가·퇴직연금·결산까지, 자산운용 백오피스의 업무를 도메인 모델로 옮긴다

  2. 02

    계약

    zod 스키마 한 곳에서 OpenAPI를 거쳐 Kotlin 서버 타입을 생성한다 — API 273개, 스펙과 구현이 어긋날 자리가 없다

  3. 03

    원장

    사건을 불변으로 쌓고 포지션은 event-fold로 계산한다 — '이 잔고가 왜 이 값인가'에 시스템이 답한다

  4. 04

    시간

    유효시점·지식시점 두 축(bitemporal)으로 기록해, 소급 정정 뒤에도 '그때 알던 값'으로 과거 산출물을 재현한다

  5. 05

    규율

    인가는 컴파일러가, 구조는 게이트 28종이, 계산은 TS·Kotlin이 같은 정답지를 읽는 골든 오라클이 지킨다

UI 미리보기 · 데모

gyeol — ECL 충당금 산정 · run #218기준일 2026-08-31
총 익스포저 · EAD
₩1,023.7억
여신 4개 딜 · 12개 트랜치
충당금 · ECL
₩20.8억
전월 대비 +₩1.2억
커버리지
2.03%
Stage 2·3 비중 28.7%
딜 · 트랜치StageEADPDECL
HANIL-2024-TrA
한일물산 · 일반대
Stage 1₩312.0억0.8%₩0.9억
DAESUNG-PF-B연체 32일
대성개발 · PF
Stage 2₩205.5억4.6%₩4.1억
KUMHO-SYND-A
금호산업 · 신디케이트
Stage 1₩418.2억1.1%₩1.6억
SEJIN-2023-TrC개별평가
세진중공업 · 워크아웃
Stage 3₩88.0억—₩14.2억
결산 8단계 · 3/8 진행 중
✓ DATA_LOCK✓ STAGE_CLASSIFYECL_RUN개별평가FV_VALUATION상각GL_POST규제보고

골든 오라클 대조 일치 · 감사 스탬프 기록 완료 · Stage 재분류 2건은 4-eyes 승인 대기.

Gyeol · 결 — ECL 충당금 산정 콘솔 · 데모 목업(실제 데이터 아님) · HTML/CSS 재현

UNDER THE HOOD

데이터 흐름 · 계약 → 코어 → 규율

L1CONTRACT
zod SSOT → OpenAPI → Kotlin codegen
L2CORE
ledger · 이벤트 기반 원장
valuation · ECL / 공정가치 / EIR
closing · 결산 8단계 → 규제보고
L3GUARD
아키텍처 게이트 28종 · CI
골든 오라클 · TS ↔ Kotlin 대조

HIGHLIGHTS

01

규율은 문서가 아니라 기계가 지킨다

금융 시스템의 사고는 규칙이 어겨져서 난다. 그래서 빠뜨리면 컴파일이 실패하거나 CI가 깨지는 구조를 실험했다 — 인가는 requiredRole을 기본값 없이 상속시켜 선언하지 않으면 컴파일이 안 되고, 의존 방향·감사 스탬프·상태 전이는 게이트 28종이 검사한다. 각 게이트는 일부러 위반한 픽스처로 자기 자신도 검증한다.

02

원장은 상태가 아니라 사건의 누적

실무에서 마감 수치가 안 맞을 때 '덮어쓴 상태'만 남아 원인을 못 찾는 걸 봤다. 그래서 포지션을 덮어쓰는 대신 모든 사건을 불변으로 쌓고 fold로 계산했다. 어떤 잔고든 근거가 되는 사건 목록까지 추적되고, 언제든 재계산으로 검증된다.

03

그때 알던 값으로 되돌아간다

금융 데이터는 소급 정정이 일상이라, 유효시점과 지식시점을 분리해 기록했다. 지난달 공시에 쓴 숫자의 근거를 오늘 그대로 재현할 수 있다 — 감사와 규제보고가 요구하는 설명 가능성을 데이터 모델 차원에서 확보했다.

CORE · 핵심 역량

2,950+
테스트 · 골든 오라클 포함
273
API 오퍼레이션 · zod SSOT
134
테이블 · 17스키마 · Flyway 177
28
아키텍처 게이트 · CI 강제

정합성은 데모가 아니라 테스트로 증명합니다.

$GYEOL · 테스트 2,950여 개와 아키텍처 게이트 28종이 매 커밋을 검증한다 · 저장소 비공개

PRIVATE BUILD
02$HNDS
LIVE

Personal Project · 1인 풀스택 (기획·설계·개발)

Hindsight

감으로 매매하기 전에 전략을 과거 데이터로 먼저 검증하는 백테스트·자동매매 플랫폼을 4개월간 혼자 만들었다

Next.js 16/TypeScript/Supabase/OpenAI · MCP/Zustand/TanStack Query/Lightweight Charts/WebSocket

THE PROBLEM

'Hindsight is 20/20' — 지나고 나면 다 보인다. 좋아 보이는 전략도 과거 데이터로 돌려보기 전엔 통했는지 알 수 없다. 감으로 사고팔다 잃기 전에 전략을 검증할 수 있는 도구를 만들고 싶었고, 2025.12부터 4개월간 1인 풀스택으로 설계·구현·리팩토링까지 진행했다.

HOW IT WORKS

  1. 01

    대화

    자연어로 전략을 설명하면 AI가 대화 맥락을 파악한다

  2. 02

    설계

    Function Calling으로 시장분석→지표추천→백테스트를 자동 실행하고, SSE로 tool_start→result→text를 실시간 스트리밍한다

  3. 03

    검증

    19개 지표와 2-Pass Grid Search(Coarse 100조합→Fine 80조합)로 파라미터를 최적화한다

  4. 04

    실행

    페이퍼 트레이딩으로 돌리다 검증되면 실전으로 전환하고, 포지션을 모니터링하며 손절·익절을 자동 실행한다

UI 미리보기 · 데모

hindsight — AI 전략 빌더
BTC · 1h · 9년
AI시장 국면을 분석해 추천 전략을 설계했어요
추세추종 + 변동성 돌파신뢰도 82%
Supertrend
기간10배수3.0
Bollinger
기간20σ2.0
CMF
기간21임계0.05
손절 -5%익절 +12%1h 봉 · 신뢰도 가중
백테스트 결과142회 체결
BTC/USDT1h2017 ~ 현재슬리피지 반영
+37.4%누적 수익률
전략 HODL +9.1%
+40%+20%0%
2017202020232026

CAGR

+18.4%

MDD

-12.0%

Sharpe

1.84

승률

61%

↻ 재실행상세보기 ↗

Hindsight — AI 전략 빌더 · 데모 목업(실제 데이터 아님) · HTML/CSS 재현

UNDER THE HOOD

데이터 흐름 · 시장 → 코어 → 실행

L1DATA
Upbit / Binance WebSocket
L2CORE
AI 전략 빌더 · MCP 11도구
백테스트 엔진 · 19지표
Supabase · PostgreSQL
L3EXECUTION
전략 빌더 UI
자동매매 · 페이퍼→실전

HIGHLIGHTS

01

도구 정의는 한 곳에만

AI가 쓰는 11개 도구를 단일 MCP Tool Registry로 모으고, Zod v4 스키마를 JSON Schema로 자동 변환했다. 검증 로직과 도구 정의가 흩어지지 않아 도구를 추가할 때 손댈 곳이 한 곳뿐이다.

02

과최적화를 피하는 2-Pass 탐색

파라미터 전수 탐색은 비싸고, 좁게 탐색하면 과최적화된다. Coarse 100조합으로 넓게 훑고 Fine 80조합으로 좁히는 2단계 Grid Search로 절충했다.

03

만들고 나서 다시 깎았다

기능이 쌓이며 늘어난 코드베이스를 60,653줄에서 51,562줄로 15% 줄였다. 19개 지표를 canonical indicator module로 통합해 중복 0, 프론트 직접 fetch 0(중앙 API 클라이언트), POST 라우트 17/18 Zod 검증, Security 미들웨어 5종.

CORE · 핵심 역량

19
기술 지표 · 중복 구현 0
100→80
2-Pass Grid Search 조합
-15%
60,653→51,562줄 리팩토링
24/7
페이퍼→실전 자동매매

직접 실행해보세요.

$HNDS · 브라우저에서 바로 체험