Work
Lead · Full-Stack2025 — 현재

Evalia

AI 서비스 품질평가 플랫폼

기획 · 풀스택 · 평가단 단장

단순 설문이 아니라, 국제표준과 학계에서 검증된 측정 도구를 '조립'해 비교 가능한 점수를 만드는 설문 엔진을 직접 설계했습니다. 핵심 아이디어는 '무엇을 재는가'는 고정하고 '어떻게 묻는가'만 LLM이 바꾸게 하는 것 — 검증 도구의 신뢰도를 깨뜨리지 않으면서 어떤 서비스에도 적용됩니다.

19종

ISO 기반 구성개념

3종

검증 척도 (SUS·UEQ·TLX)

62명

검증 패널 설계

풀어야 했던 문제

  • 평가가 회차·서비스마다 기준이 달라 점수를 비교할 수 없었다
  • 검증된 측정 도구(SUS 등)를 LLM이 다시 쓰면 누적된 신뢰도·해석 기준이 무효가 된다
  • AI·웹·교육 등 서로 다른 서비스를 같은 틀로 평가해야 했다

측정 아키텍처 (4 Layer)

  • L0 구성개념 — ISO/IEC 25010·25059·25019를 불변 사전으로 고정 (19종)
  • L1 고정 척도 — SUS·UEQ·NASA-TLX를 원문 그대로 삽입 (LLM 금지)
  • L2 적응 문항 — 표준 도구가 없는 항목만 LLM이 '문구만' 생성
  • L3 정규화 — IRT·앵커링 비네트로 평가자 편향 보정 후 비교 가능화

직접 만든 것

  • Next.js 16 App Router 모놀리식 풀스택 (Server Actions 기반)
  • Prisma + PostgreSQL ERD 설계 (User·Project·Enrollment·Response·Message·Notification)
  • 역할 기반 접근 제어(USER·DEVELOPER·ADMIN), 설문 블록 조립 엔진, CSV 내보내기
  • Docker Compose + Watchtower 자동 갱신으로 단독 배포·운영

보안

  • Cloudflare WAF·HSTS, 원본 IP 비노출
  • fail2ban 무차별 대입 차단, HttpOnly 세션, bcrypt 해시
  • 업로드 MIME 화이트리스트·경로 순회 차단, 컨테이너 격리(DB 외부 미노출)

결제·정산 (구현 완료)

  • 기업 → 플랫폼(수수료 15%) → 학생 보상 흐름을 코드로 구현 — 등급 가중(S×1.3/A×1.0/B×0.8) 후 잔여 원(₩) 배분까지 결정론적으로 처리
  • 토스페이먼츠 가상계좌 웹훅으로 입금 자동 감지 → PaymentPool 에스크로 잠금, 지급대행 API(JWE 암호화)로 학생 계좌 자동 송금
  • 기타소득 원천징수 8.8%(소득세 8% + 지방소득세 0.8%)를 지급 시점에 자동 계산·차감하고, 팝빌 API로 세금계산서·지급명세서 발행
  • 웹훅 멱등키 + DB 유니크 제약으로 중복 입금 처리 차단, 모든 금액을 정수 원 단위로 다뤄 부동소수점 오차 제거

정산 무결성

  • PaymentPool 상태기계(PENDING → ACTIVE → DISTRIBUTING → DISTRIBUTED)를 서버 사이드 전용으로 제한 — 클라이언트에서 상태 전이 불가
  • 지급 트랜잭션과 Distribution 레코드를 한 트랜잭션으로 묶어 부분 지급 상태를 원천 차단
  • 총액 = 수수료 + 보상풀, 보상풀 = Σ(지급액 + 원천징수액) 불변식을 배분 직전 검증 후 커밋
  • 확장 계획 — 스마트 컨트랙트 에스크로 + Polygon 앵커링으로 운영자도 손댈 수 없는 정산 증명

Stack

Next.js 16TypeScriptPrismaPostgreSQLOpenAIDockerCloudflare
NextNOTI