Workfolio 미리보기 https://www.workfolio.kr
1. 왜 Workfolio를 만들게 되었나
이직을 준비할 때마다 같은 고통이 반복됐다.
이력서를 업데이트하려고 앉으면, 기억나는 건 최근 2~3개월뿐이다. 6개월 전에 끝낸 프로젝트에서 내가 무슨 역할이었는지, 어떤 문제를 해결했는지, 성과가 뭐였는지 — 전부 흐릿하다. Notion에 적어둔 것도 있고, Slack 메시지에 묻힌 것도 있고, 아예 기록하지 않은 것도 많았다.
결국 이력서에는 "~프로젝트 참여"같은 추상적인 한 줄만 남고, 면접에서 "구체적으로 어떤 기여를 하셨나요?"라는 질문에 버벅이게 된다.
문제를 정리하면 세 가지였다:
문제 1. 기록이 흩어져 있다
프로젝트마다 다른 도구를 쓰고, 회고는 팀 Confluence에 있고, 개인 성과는 메모장에 있다. 시간이 지나면 어디에 뭘 적었는지조차 기억이 안 난다.
문제 2. 기록에서 이력서까지의 간극이 너무 크다
매일의 업무 로그가 있다 해도, 이걸 이력서 형태로 정리하려면 매번 큰 노력이 필요하다. "어떤 프로젝트에서 어떤 역할로 무슨 성과를 냈는지"를 이력서 문장으로 바꾸는 건 별도의 작업이다.
문제 3. 이직 과정 자체를 관리할 곳이 없다
지원한 회사, 면접 진행 상황, 합격/불합격 여부, 연봉 협상 — 이 모든 걸 엑셀이나 메모장에서 관리하고 있었다. 이전 이직에서 어떤 회사에 지원했고 어디서 떨어졌는지 돌아볼 수도 없었다.
Workfolio는 이 세 가지 문제를 하나의 흐름으로 해결하기 위해 만들었다.
매일의 업무를 기록하면 → 그 기록이 이력서가 되고 → 이직 과정까지 한 곳에서 관리할 수 있는 플랫폼.
2. 문제를 해결하기 위해 만든 기능들
2-1. 업무 기록 시스템 — "기억에 의존하지 않는 커리어 관리"
가장 먼저 만든 건 구조화된 업무 기록 기능이다.
자유롭게 적는 메모가 아니라, 나중에 이력서로 변환할 수 있도록 템플릿 기반으로 기록하게 했다. 총 7개의 기록 템플릿을 만들었다.
일반 기록용:
- 주간 회고 — Done(한 일), Problem(문제), Solution(해결), Achievement(성과), Lesson(교훈)
- 프로젝트 회고 — Goal(목표), Role(역할), Problem(문제), Solution(해결), Achievement(성과)
- 성과 기록 — Problem(문제), Action(행동), Result(결과), Metric(지표 변화)
- 일일 업무 기록 — 오늘 한 일, 내일 할 일, 이슈
- 자유 기록 — 형식 없이 자유롭게
프로젝트 기록용 (이력서 변환의 핵심):
- 프로젝트 개요 — 서비스 설명, 역할, 팀 구성, 기술 스택
- 업무(Task) 기록 — 업무 내용, 과정, 결과
왜 프로젝트용 템플릿을 따로 만들었냐면, 이력서로 변환할 때 프로젝트 개요에서 큰 틀을 잡고, 개별 Task 기록에서 구체적인 성과를 뽑아내는 구조가 필요했기 때문이다.
기록은 기록 그룹으로 묶인다. 예를 들어 "결제 시스템 리뉴얼" 그룹을 만들고, 그 안에 프로젝트 개요 1개 + Task 기록 여러 개 + 프로젝트 회고 1개를 쌓아가는 식이다. 그룹마다 색상을 지정할 수 있어서 캘린더에서 한눈에 구분된다.
2-2. 기록을 이력서로 변환하기 — "쌓은 기록이 이력서가 되는 순간"
이게 Workfolio의 핵심 기능이다.
이력서 편집 화면에서 "기록에서 가져오기" 버튼을 누르면, 그동안 쌓아둔 프로젝트 기록 그룹 목록이 나온다. 원하는 그룹을 선택하면 그 안의 기록들이 체크박스와 함께 표시되고, 가져올 기록을 선택하면 자동으로 이력서 프로젝트 항목으로 변환된다.
변환 과정은 이렇다:
- 프로젝트 개요 기록에서 → 서비스 설명, 역할, 팀 구성, 기술 스택을 추출
- Task 기록들에서 → 각각의 업무 내용, 과정, 결과를 bullet point로 정리
- 프로젝트 회고 기록에서 → 최종 성과/성취를 추출
- 모든 기록의 날짜를 계산해서 → 프로젝트 기간을 자동 산출
결과적으로 "결제 시스템 리뉴얼" 그룹의 기록 10개가 → 이력서의 프로젝트 한 섹션으로 깔끔하게 변환된다. 소속, 역할, 기술 스택, 상세 업무, 성과가 이력서 형식에 맞게 자동 구조화된다.
이 기능을 만들면서 가장 고민했던 건 "어느 수준까지 자동화할 것인가"였다. 처음에는 기록을 넣으면 완전히 자동으로 이력서 문장을 만들어주려 했지만, 사용자마다 강조하고 싶은 포인트가 다르다는 걸 깨달았다. 그래서 자동 변환 + 수동 편집의 중간 지점을 택했다. 틀은 자동으로 잡아주되, 세부 내용은 사용자가 다듬을 수 있게 했다.
2-3. 이력서 완성도 추적 — "뭘 빠뜨렸는지 알려주기"
이력서를 작성하다 보면 어떤 섹션을 안 채웠는지 놓치기 쉽다. 그래서 대시보드에 이력서 완성도를 퍼센트로 보여주는 기능을 넣었다.
8개 섹션(기본 정보, 포지션, 경력, 학력, 프로젝트, 활동/자격증, 어학, 자기소개)을 체크해서 몇 퍼센트가 채워졌는지, 어떤 섹션이 비어 있는지를 안내한다. "프로젝트 섹션이 비어 있습니다" 같은 가이드가 있으니 자연스럽게 빈 곳을 채우게 된다.
2-4. PDF 다운로드 — "이력서를 파일로 뽑아내기"
완성된 이력서를 PDF 파일로 다운로드할 수 있다.
웹에서 보는 이력서와 동일한 디자인을 PDF로 그대로 옮기는 게 관건이었다. 웹 렌더링용 컴포넌트와 PDF 렌더링용 컴포넌트를 따로 만들었는데, 데이터 준비 과정은 동일하게 공유했다. 이력서 데이터를 하나의 포맷팅 함수에서 정리한 뒤, 웹 템플릿과 PDF 템플릿이 각각 자기 방식으로 렌더링하는 구조다.
PDF에서는 프로필 이미지, 경력 사항의 연봉 이력, 프로젝트 상세, 학력, 활동, 어학 — 모든 섹션이 A4 사이즈에 맞게 페이지 분할까지 자동으로 처리된다. 다운로드 시 파일명은 {이력서이름}_이력서.pdf로 저장된다.
시행착오가 있었던 건 한글 폰트 처리였다. PDF 렌더링 라이브러리가 기본적으로 한글을 지원하지 않아서, Pretendard 폰트를 별도로 등록하는 과정이 필요했다.
2-5. URL로 이력서 공유하기 — "링크 하나로 이력서 전달"
채용 담당자에게 이력서를 보낼 때 PDF를 첨부하는 것도 방법이지만, 링크 하나로 항상 최신 이력서를 보여주는 것이 더 편리하다.
이력서의 "공개" 토글을 켜면 고유한 공개 URL이 생성된다. workfolio.kr/resumes/{publicId} 형태의 링크를 복사해서 전달하면, 로그인 없이 누구나 이력서를 볼 수 있다.
공개/비공개 전환이 자유롭다. 면접 기간에만 공개하고 끝나면 비공개로 돌리면 된다. 비공개로 바꾸면 해당 URL은 더 이상 접근할 수 없다.
이 기능에서 중요했던 건 공개 이력서는 인증 없이 접근 가능해야 한다는 점이었다. 일반 API는 로그인이 필요하지만, 공개 이력서 조회는 별도의 익명 API를 통해 비인증 상태에서도 열람할 수 있게 분리했다.
또한 공개 이력서에는 이력서 템플릿을 적용할 수 있다. URL에 템플릿 slug를 포함시켜(/resumes/{publicId}/{templateSlug}) 같은 이력서를 다른 디자인으로 보여줄 수 있게 했다.
2-6. 이직 관리 — "지원부터 합격까지 한 눈에"
이건 단순한 이력서 도구를 넘어서, 이직이라는 여정 자체를 관리하는 기능이다.
하나의 이직 활동을 3단계로 나누어 관리한다:
1단계: 준비 (Goal)
- 이직 사유 — 왜 옮기려 하는지
- 이직 목표 — 목표 포지션, 연봉, 회사 유형
- 자기소개서 준비 — 질문별 답변 미리 작성 (강점/약점, 지원 동기 등)
- 예상 면접 질문 — 질문과 모범 답변 정리
- 체크리스트 — 이력서 업데이트, 포트폴리오 정리 등 할 일 목록
- 메모 및 첨부파일 — 참고 자료, 포트폴리오 URL 등
2단계: 진행 (Challenge)
여기가 핵심이다. 지원한 회사별로 전형 진행 상황을 추적한다.
각 지원 건마다:
- 회사명, 포지션, 채용 공고 URL
- 지원 경로 (원티드, 링크드인, 직접 지원 등)
- 전형 단계별 진행 상황 — 서류 전형 → 코딩 테스트 → 1차 면접 → 2차 면접 → 최종 합격까지 각 단계의 통과/탈락 여부를 기록
- 단계별 메모 (면접 후기, 과제 내용 등)
여러 회사에 동시 지원할 때 "A사는 2차 면접 대기 중, B사는 코딩테스트 통과, C사는 서류 탈락" 같은 상황을 한 화면에서 파악할 수 있다.
3단계: 회고 (Retrospective)
이직이 완료되면 돌아보는 단계다.
- 입사한 회사명, 연봉, 포지션, 입사일
- 근무 형태 (출근/하이브리드/리모트)
- 만족도 (1~5점)
- 회고 요약 — 좋았던 점, 아쉬운 점, 성장한 점
이 회고가 쌓이면 "나는 이직할 때 어떤 패턴이 있는지"를 객관적으로 볼 수 있다. 몇 개 회사에 지원해서 몇 개 붙었는지, 주로 어느 단계에서 떨어지는지, 연봉은 어떻게 변해왔는지 — 다음 이직 때 전략을 세우는 데 실질적인 데이터가 된다.
대시보드에서는 이직 활동의 완성도도 추적한다. 이직 사유, 목표, 체크리스트, 지원 현황, 회고, 만족도, 연봉 협상 등 8개 항목 중 몇 개를 채웠는지 퍼센트로 보여준다.
2-7. 대시보드 — "내 커리어를 한눈에"
모든 기능의 허브 역할을 하는 대시보드에는 다음이 표시된다:
- 활동 히트맵 — GitHub의 잔디밭처럼, 1년간 어떤 날에 기록을 남겼는지 색상 강도로 보여준다. 기록을 꾸준히 쌓는 습관을 시각적으로 동기부여한다.
- 연속 기록일 (Streak) — 며칠 연속으로 기록했는지 추적한다.
- 기록 통계 — 기록 그룹별 추이를 차트로 보여준다.
- 최근 기록 — 가장 최근에 작성한 기록 3개를 바로 확인할 수 있다.
- 이력서 완성도 — 이력서의 어떤 섹션이 비어 있는지 안내한다.
- 이직 활동 완성도 — 현재 진행 중인 이직 활동의 준비 상태를 보여준다.
2-8. 비로그인 체험 모드 — "가입 전에 먼저 써보기"
서비스를 처음 방문한 사용자가 회원가입 없이도 모든 기능을 체험할 수 있게 했다.
로그인하지 않은 상태에서도 대시보드의 히트맵, 캘린더의 기록, 이직 관리 화면 등이 샘플 데이터로 채워져서 동작한다. 실제 서비스와 동일한 인터랙션을 경험한 뒤 마음에 들면 가입하는 흐름이다.
샘플 데이터는 현실적인 시나리오로 구성했다. 예를 들어 이직 관리 샘플에는 네이버, 카카오, 토스, 쿠팡, 배민에 지원하고 각각 다른 단계까지 진행되는 5개의 이직 활동이 담겨 있다. "이런 식으로 쓰는 거구나"를 바로 이해할 수 있게 하기 위해서다.
2-9. 이력서 템플릿 — "같은 내용, 다른 디자인"
같은 이력서 데이터를 다른 디자인 템플릿으로 보여줄 수 있다. 템플릿을 바꿔도 내용은 동일하고, 레이아웃과 스타일만 달라진다.
하나의 템플릿은 웹 버전(URL 공유용)과 PDF 버전(다운로드용) 두 가지 렌더링을 모두 갖고 있다. 데이터 준비는 공통으로 처리하고, 렌더링만 분리했기 때문에 새로운 디자인 템플릿을 추가하기가 수월하다.
템플릿은 크레딧으로 구매하는 유료 기능으로 설계했다. 기본 템플릿은 무료로 제공하고, 추가 디자인은 크레딧을 충전해서 구매하는 구조다.
정리하며
Workfolio가 풀고자 한 문제는 결국 하나다.
"오늘 한 일을 기록하면, 내일의 이력서가 되고, 이직까지 한 곳에서 관리된다."
기록 → 이력서 변환 → PDF 다운로드/URL 공유 → 이직 관리까지. 흩어져 있던 커리어 관리의 모든 과정을 하나의 흐름으로 연결하는 것이 Workfolio의 핵심이다.
가장 중요하게 생각한 건 진입장벽을 낮추는 것이었다. 비로그인 체험 모드를 통해 가입 없이 먼저 써볼 수 있게 하고, 템플릿 기반 기록으로 "뭘 적어야 하지?" 고민을 줄이고, 기록이 쌓이면 버튼 하나로 이력서가 되는 경험을 만들었다.
Workfolio 체험해보기 https://www.workfolio.kr