Skip to content

Project

EVS — 사내 평가 운영 시스템

외부 평가 SaaS(Lemonbase)를 대체하기 위해 만든 사내 평가 운영 시스템입니다. 평가 사이클 생성부터 셀프리뷰, 동료 피드백, 다단계 평가, 위원회 확정, 결과 공개까지 평가 운영에 필요한 흐름을 간결하게 다룹니다. 현재 사내 평가 운영에 라이브로 투입해 사용하고 있습니다.

2025.10 -서비스 기획 / 풀스택 개발 / 평가 워크플로우 설계
Next.jsTypeScriptPrismaNextAuthGoogle Sheets APISlackDocker
EVS — 사내 평가 운영 시스템

평가 시즌이 돌아올 때마다 비슷한 일이 반복됩니다. 사이클을 열고, 대상자와 평가자를 연결하고, 셀프리뷰와 동료 피드백을 모으고, 여러 단계의 평가를 거쳐 결과를 확정하고 공개합니다. 이 흐름을 외부 평가 SaaS(Lemonbase)로 운영해 왔는데, 우리 회사의 평가 운영 방식과 맞지 않는 부분이 있었고 운영자가 손으로 보정해야 하는 작업도 적지 않았습니다. 그래서 우리에게 필요한 흐름만 담은 사내 시스템을 직접 만들기로 했습니다.

무엇을 다루나

처음 정한 기준은 "범용 HR SaaS를 복제하지 않는다"였습니다. 목표 관리, 상시 피드백, 1:1, 보상 계산 같은 기능은 의도적으로 범위 밖에 두고, 한 번의 평가 사이클을 실제로 운영하는 데 필요한 흐름에만 집중했습니다. 사용자는 자신의 역할(구성원·평가자·리더·운영자)에 맞춰 정리된 홈에서 지금 할 일과 진행 중인 세션을 바로 확인합니다.

평가 사이클 — 사이클 생성부터 결과 공개까지 단계별 운영 흐름
  • 사이클 생성과 상태 관리 — 평가 사이클을 만들고 단계별 상태를 관리합니다.
  • 대상자·평가자 매핑 — 평가 대상자와 1·2·3차 평가자를 연결합니다. 인원 데이터는 베이스캠프 인사 시트 동기화와 기존 Lemonbase 데이터 이관으로 채우고, 필요한 경우 관리자가 수동으로 보정합니다.
  • 셀프리뷰와 동료 피드백 — 본인 리뷰를 먼저 작성하고, 동료 피드백은 인사평가와 분리된 별도 세션으로 운영합니다. 동료 후보는 피평가자가 묶음으로 제출하고 평가자 또는 관리자가 승인·반려합니다.
  • 1·2·3차 평가와 위원회 확정 — 단계를 나눠 평가를 진행하고, 마지막 단계에서 위원회가 결과를 확정합니다. 위원회용 EE 추천서는 별도 가이드와 항목으로 작성합니다.
  • 면담 노트 — 평가·1:1 면담 기록을 한곳에 모읍니다. 피평가자도 본인 노트를 직접 편집할 수 있게 하고, 마지막 편집자를 함께 표시합니다.
  • 결과 공개 — 확정과 공개를 분리해, 공개는 HR 운영자의 별도 release 단계로 처리합니다.

확정 이후의 수정은 그냥 덮어쓰지 않고 correction 이력과 감사 로그로 남도록 했습니다. 운영자가 예외적으로 손대야 하는 순간은 생기기 마련인데, 그 흔적을 남기는 것이 시스템의 신뢰를 지키는 부분이라고 봤습니다.

구조

Next.js App Router 기반의 풀스택 단일 웹 앱으로 만들었습니다. 데이터는 Prisma로 모델링하고, 인증은 NextAuth로 처리합니다. 인원 정보는 Google Sheets를 통해 동기화하고, 알림과 커뮤니케이션은 Slack으로 연결합니다. 배포는 Docker로 묶어 환경을 표준화했고, 사내 서버에 라이브로 올려 실제 평가 운영에 사용하고 있습니다. 운영 중에는 알림을 일괄 중단할 수 있는 Slack 알림 kill switch를 두어, 데이터 점검이나 사이클 보정 중 잘못된 알림이 나가지 않도록 했습니다.

이 시스템에서 가장 신경 쓴 부분은 단계별 권한과 공개 범위 설계입니다. 평가 데이터는 민감하기 때문에 기본 원칙을 최소 권한으로 두고, 권한을 시스템 역할과 사이클 내 관계를 함께 평가해 결정하도록 했습니다. 일반 사용자는 본인 또는 현재 사이클에서 직접 연결된 대상자 범위만 볼 수 있고, 평가자는 배정된 건에 한해서만 접근합니다. 동료 피드백의 작성자 원본 정보나 위원회 요약처럼 공개 범위가 까다로운 데이터는 별도로 다뤄, 누가 무엇을 언제 볼 수 있는지를 흐름 단계마다 분리했습니다.

평가 시스템은 기능이 화려해서가 아니라, 운영 흐름과 공개 범위가 실제 평가 정책과 어긋나지 않을 때 신뢰를 얻는다고 생각합니다. 그 어긋남을 줄이는 것이 이 프로젝트에서 가장 공들인 부분입니다.

Project

2026.06 -

Vibe Choice — 생성형 AI 인터랙티브 스토리

사용자가 장르·문체·배경·주인공을 정하면 LLM이 그 자리에서 이야기를 이어 쓰고, 선택지를 따라 전개가 갈라지는 인터랙티브 스토리 게임입니다. 응답 속도와 생성되는 이야기의 품질을 함께 다루는 것을 목표로 만들었습니다.

ReactTypeScriptExpressOpenAI APISSEUpstash RedisVercel

Project

2025.12 -

베이스캠프 — 사내 복리후생 통합 플랫폼

숙소 예약(경매/줍줍), 랜덤런치, 냉장고·우산 관리, 구성원 디렉토리, AI툴 지원 현황, 문화 건전성 지표와 컬처핏 검진 등 여러 모듈을 하나의 웹앱에 통합한 사내 복리후생·운영 플랫폼입니다. 2026년 2월 전체 구성원 대상으로 오픈하여 운영 중입니다.

Next.jsReactTypeScriptPrismaMySQLSlack APIGoogle Sheets APIGoogle Drive API

Project

2026.05 -

채용 운영 AI 자동화

채용팀의 반복 업무(채용현황 리포트, 이력서 인테이크, 인터뷰 기록)를 AI 에이전트 스킬로 자동화한 프로젝트입니다. 이력서 인테이크 시 연봉 정보를 자동 마스킹하는 등 민감정보 가드레일을 설계의 중심에 두었습니다.

Claude CodeCodexNotionChrome MCPPlaywright

Project

2025.11 - 2026.04

앱 리뷰 스크랩 및 슬랙 알림 자동화

8개 앱서비스의 스토어 리뷰를 30분 간격으로 자동 수집하고, 새 리뷰와 개발자 답변까지 슬랙으로 연결하여 VOC 모니터링 루프를 구성한 프로젝트입니다. 기존 유료 서비스(AppFollow, 월 $209)를 대체했습니다.

Node.jsPlaywrightGoogle SheetsApps ScriptSlackDocker