2026. 7. 28. 06:17ㆍ개발 도구/[커널아카데미] 대학생 AI 크루 UNIKER 1기
지난 7월 19일 멘토링 이후 CampusLog 팀은 새로운 기능을 계속 추가하는 것보다 지금까지 구현한 기능들이 하나의 사용자 흐름으로 자연스럽게 연결되는지를 다시 점검했다.
CampusLog의 핵심 흐름은 대학생활 중 수행한 활동을 기록하고, 활동에서 얻은 경험을 AI가 분석한 뒤, 자기소개서·면접·채용공고 분석 등에 활용할 수 있도록 돕는 것이다.
기능 자체는 어느 정도 구현되어 있었지만 실제 서비스를 사용한다고 생각해보면 여전히 다듬어야 할 부분이 많았다.
- 기록을 작성하는 과정이 복잡하지 않은가
- 활동과 AI 분석 결과를 함께 보기 편한가
- AI 추천 결과가 실제 취업 준비에 활용 가능한가
- AI 응답을 기다리는 동안 사용자가 불안하거나 지루하지 않은가
- 모바일에서도 같은 흐름을 사용할 수 있는가
이번 주에는 이러한 질문을 기준으로 기록·분석·추천의 전체 경험을 정리했다.
날짜별 기록 흐름을 다시 설계하다

먼저 ‘오늘의 기록’ 화면을 개선했다.
기존에는 캘린더와 기록 작성 기능이 각각 존재했지만, 사용자가 특정 날짜에 무엇을 기록했는지 빠르게 확인하기에는 다소 불편했다.
이를 개선하기 위해 캘린더 옆 영역을 선택한 날짜의 기록을 보여주는 날짜별 이벤트 목록으로 재구성했다. 사용자는 캘린더에서 날짜를 선택한 뒤 해당 날짜에 작성한 기록을 바로 확인하고, + 버튼을 눌러 새로운 기록을 추가할 수 있다.
기록 작성 시에는 진행 중인 활동을 선택하고 그날 수행한 내용을 입력하도록 구성했다. 활동 선택 UI도 검색 기능이 포함된 복잡한 입력창 대신, 현재 진행 중인 활동을 목록에서 선택하는 방식으로 단순화했다.
연도와 월을 직접 선택할 수 있는 기능도 추가했다. 과거 활동 기록을 확인하려는 사용자가 이전 달 버튼을 여러 번 누르지 않아도 원하는 시점으로 바로 이동할 수 있도록 했다.
활동 상태도 조금 더 명확하게 구분했다.
예상 종료일이 지났지만 사용자가 아직 종료 여부를 확정하지 않은 활동은 바로 완료 처리하지 않고 종료 확인 필요로 표시했다. 실제 활동은 끝났지만 아직 경험으로 정리하지 않은 경우에는 경험 정리 필요로 구분했다.
단순히 진행 중과 완료만 나누는 것보다 사용자가 지금 어떤 행동을 해야 하는지 알려주는 방향으로 상태를 재정리했다.
활동과 AI 분석 결과를 한 화면에서 확인하다
다음으로 ‘나의 활동’ 화면을 개선했다.

기존에는 활동 상세와 AI 분석 결과를 각각 다른 화면에서 확인해야 했다. 사용자가 원본 경험과 분석 결과를 비교하려면 화면을 여러 번 이동해야 했다.
이번 주에는 완료 경험을 선택하면 왼쪽에는 활동 상세, 오른쪽에는 AI 분석 결과가 표시되는 스플릿뷰를 구현했다.
이를 통해 사용자는 자신이 작성한 활동 내용과 AI가 정리한 STAR 구조, 주요 성과, 부족한 정보를 한 화면에서 비교할 수 있게 되었다. 화면이 좁은 모바일 환경에서는 두 영역이 세로로 배치되도록 반응형 구조도 적용했다.
페이지마다 제각각이었던 제목과 이동 구조도 정리했다. 오늘의 기록, 나의 활동, AI 추천과 각각의 상세 화면에 Breadcrumb을 적용하고 제목의 크기와 위치를 통일했다.
작은 수정처럼 보이지만 현재 위치와 이전 화면으로 돌아가는 경로가 명확해지면서 서비스 전체가 하나의 제품처럼 연결되기 시작했다.
부족한 경험 정보를 직접 보완하는 기능
AI 분석에서 발견한 부족한 정보도 분석 결과 안에서 바로 보완할 수 있도록 했다.

예를 들어 AI가 다음과 같은 정보를 추가로 요구할 수 있다.
- 프로젝트에서 본인이 직접 담당한 역할
- 문제를 해결하기 위해 시도한 구체적인 행동
- 결과를 확인할 수 있는 수치나 피드백
- 팀원과 의견이 충돌했을 때 해결한 과정
기존에는 이러한 질문이 모두 펼쳐진 상태로 표시되어 화면이 길고 복잡했다. 이번에는 질문을 하나씩 선택해 답변할 수 있는 형태로 변경했다.
질문을 누르면 같은 카드가 자연스럽게 확장되고, 답변을 작성한 뒤 저장할 수 있다. 한 번에 하나의 질문만 열리도록 하여 사용자가 현재 작성 중인 내용에 집중할 수 있게 했다.
저장된 보완 답변은 원본 경험을 임의로 변경하지 않는다. 대신 이후 AI 추천과 답변 초안을 생성할 때 추가 근거로 활용된다.
AI 추천을 실제 취업 준비 과정에 맞게 재구성하다
이번 주 가장 많은 변화가 있었던 부분은 AI 추천 기능이다.
초기에는 사용자가 질문을 입력하면 관련 경험을 추천하는 기능에 가까웠다. 하지만 실제 취업 준비에서는 면접 질문, 자기소개서 문항, 채용공고와 같이 목적에 따라 필요한 결과가 달라진다.




따라서 AI 추천의 활용 목적을 다음 네 가지로 정리했다.
- 면접
- 자기소개서
- JD 분석
- 기타
각 목적에 따라 입력 안내, 예시 질문, 추천 기준, 결과 생성 방식이 달라지도록 구성했다.
면접에서는 질문에 답변하기 적합한 경험을 추천하고, 자기소개서에서는 지원 문항과 연결할 수 있는 경험을 찾는다. JD 분석에서는 채용공고의 담당 업무·필수 요건·우대 사항·기술 스택을 분해한 뒤 사용자의 경험과 비교한다.
AI가 근거가 부족한 경험을 억지로 세 개까지 추천하지 않도록 프롬프트도 수정했다. 추천 결과에는 단순한 적합도 점수뿐만 아니라 다음 내용을 함께 표시하도록 했다.
- 추천 이유
- 원본 경험에서 확인되는 직접 근거
- 아직 부족한 정보
- 과장해서 작성하면 안 되는 부분
- 해당 경험을 활용할 수 있는 방향
AI가 그럴듯한 문장을 만들어주는 데서 끝나는 것이 아니라, 사용자가 실제로 보유한 경험과 그렇지 않은 내용을 구분하도록 한 것이다.
추천 경험을 기반으로 답변 초안 생성
추천된 경험을 선택한 뒤에는 목적에 맞는 답변 초안을 생성할 수 있다.
자기소개서는 300자·500자·1000자, 면접은 30초·1분 이상 답변과 예상 꼬리 질문을 선택할 수 있도록 했다. JD 분석에서는 지원 전략을 생성하고, 기타 목적에서는 사용자가 입력한 요청에 맞는 결과를 생성한다.
답변은 사용자가 기록한 경험과 보완 답변만을 사실 근거로 사용한다. 원본에 없는 성과나 수치, 역할은 본문에 임의로 추가하지 않고 부족한 근거 또는 주의 사항으로 분리하도록 했다.
AI 응답을 기다리는 과정도 사용자 경험이다
AI 기능을 테스트하면서 응답을 기다리는 시간이 생각보다 길게 느껴지는 문제가 있었다.
구조화된 분석 결과를 생성하려면 일반적인 짧은 텍스트 응답보다 시간이 오래 걸릴 수 있다. 단순한 로딩 스피너만 표시하면 사용자는 서비스가 정상적으로 작동하는지 알기 어렵다.
이를 개선하기 위해 먼저 현재 수행 중인 작업을 단계별로 보여주는 로딩 화면을 구현했다.
이후 답변 초안 생성에는 실제 텍스트가 점진적으로 나타나는 스트리밍 방식을 적용했다. 첫 문장이 생성되기 전에는 분석 중이라는 안내를 표시하고, 텍스트가 도착하기 시작하면 생성되는 답변과 현재 글자 수를 실시간으로 확인할 수 있다.
다만 화면에 표시된 일부 텍스트를 바로 저장하지는 않는다. AI 응답이 정상적으로 완료되고 최종 결과가 검증된 뒤에만 저장하도록 하여 중간에 끊긴 답변이 기록으로 남는 문제를 방지했다.
경험 분석, AI 추천, 활동 완료 경험 합성에서는 서버가 현재 진행 상태를 전달하는 이벤트 스트리밍을 적용했다. 사용자는 단순히 기다리는 것이 아니라 어떤 과정이 진행 중인지 확인할 수 있다.
AI 요청을 취소하는 기능도 추가했다. 취소한 요청은 오류처럼 표시하지 않고 기존 입력 내용을 그대로 유지해 같은 조건으로 다시 실행할 수 있다.
최종적으로 공용 AI 대기 화면에는 움직이는 Strands 배경과 단계별 안내 문구를 적용했다. 화려한 효과 자체가 목적이라기보다, 기다리는 동안 서비스가 정상적으로 처리 중이라는 피드백을 제공하는 데 중점을 두었다.
채용공고와 문항 캡처도 바로 입력할 수 있도록
자기소개서 문항이나 채용공고는 웹페이지에 있는 경우가 많다. 사용자가 내용을 모두 복사하거나 직접 입력해야 한다면 AI 추천 기능을 사용하는 것 자체가 번거로워질 수 있다.
이번 주에는 자기소개서 문항, 면접 질문, JD 캡처 이미지를 AI 추천에 바로 사용할 수 있도록 이미지 입력 기능을 구현했다.
JPG·PNG·WebP 이미지를 최대 3장까지 선택할 수 있으며, 추천 입력창에서 Cmd/Ctrl+V로 클립보드 이미지를 붙여넣는 것도 가능하다. 텍스트만 입력하거나 이미지만 첨부하거나, 두 방식을 함께 사용하는 것도 지원한다.
별도의 OCR 확인 화면을 추가하지 않고 기존 AI 추천 요청 안에서 이미지와 경험 데이터를 함께 처리한다. 원본 이미지는 서버나 데이터베이스에 저장하지 않고 요청이 끝난 뒤 폐기하도록 했다.
이미지 입력 관련 자동 테스트 65개와 데스크톱·모바일 UI 검증을 완료했으며, 실제 로그인 환경에서 추천 결과 저장과 새로고침 후 재조회하는 테스트는 추가로 진행할 예정이다.
활동 사진과 PDF 자료 보관 기능
완료한 활동에는 수료증, 발표 자료, 활동 사진, 결과 보고서처럼 나중에 다시 확인할 자료가 존재한다.
이를 기록할 수 있도록 완료 경험에 사진과 PDF 자료를 첨부하는 기능도 구현했다.
경험 하나당 최대 3개의 파일을 첨부할 수 있으며, 사용자별 비공개 저장 공간을 사용하도록 설계했다. 첨부한 파일은 일정 시간만 유효한 링크를 통해 열 수 있고, 경험을 삭제하면 연결된 파일도 함께 정리되도록 했다.
첨부 자료는 AI 분석 입력과 분리했다. 사용자가 단순히 보관 목적으로 올린 사진이나 PDF가 자동으로 AI에 전달되지 않도록 한 것이다.
관련 자동 테스트 49개와 반응형 UI 검증까지 완료했으며, 실제 Supabase 프로젝트에 마이그레이션을 적용한 뒤 업로드·조회·삭제 흐름을 최종 확인할 예정이다.
문기·건우·동현의 역할과 협업

이번 주에도 각자 맡은 영역을 중심으로 개발을 진행했다. (일주일 중 5일 이상 소통하고 회의 하는 것 같다.)
나는 AI 분석·추천 로직, 스트리밍, 이미지 입력과 데이터 흐름을 중심으로 작업했다. 건우는 전체 화면의 디자인과 인터랙션을 점검하고, 사용자가 기능을 더 자연스럽게 이해할 수 있도록 UI를 개선했다. 동현은 기능별 테스트와 문서 정리, 사용 과정에서 발생할 수 있는 문제를 확인했다.
단순히 기능을 구현하고 끝내지 않고 매 작업마다 다음 내용을 문서에 기록했다.
- 어떤 문제를 해결했는지
- 어떤 파일을 수정했는지
- 무엇을 검증했는지
- 아직 검증하지 못한 부분은 무엇인지
- 관련 이슈와 다음 작업은 무엇인지
이번 주에는 기능이 빠르게 늘어난 만큼 문서와 테스트의 중요성을 더 크게 느꼈다. 코드상으로 구현이 끝났다고 해서 실제 서비스에서도 정상적으로 작동한다고 단정할 수 없기 때문이다.
특히 이미지 입력과 파일 첨부처럼 외부 API와 저장소가 연결되는 기능은 자동 테스트뿐 아니라 실제 로그인 계정에서의 통합 테스트가 필요하다. 구현 완료와 검증 완료를 구분하여 기록하는 습관을 계속 유지하고 있다.
7월 26일 멘토링: 개발을 넘어 취업과 커리어를 질문하다
7월 26일 멘토링에는 개인 일정으로 마이크를 사용할 수 없어, 멘토님의 설명을 들으며 채팅으로 참여했다.
이번 멘토링에서는 CampusLog의 개발 내용뿐 아니라 건우·동현·문기가 앞으로 준비해야 할 취업과 커리어에 관한 질문도 함께 나눴다.
나는 다음과 같은 내용을 질문했다.
- AI 개발자 직무에서 학사와 석사 학위가 실제로 어느 정도 요구되는지
- AI 분야별로 요구되는 학력이나 연구 경험이 다른지
- 금융권 IT 개발자 공채에서 학교나 학벌이 어느 정도 영향을 미치는지
- 지방대학교에서 금융권 개발자를 준비하려면 무엇을 중점적으로 준비해야 하는지
- 수시채용과 팀 단위 채용은 실제로 어떻게 이루어지는지
- AI 발전 이후 코딩테스트가 사라질지, 오히려 더 중요해질지
- 우리가 본격적으로 취업을 준비할 2027~2028년의 채용 방식은 어떻게 달라질지
멘토님께서는 현업 경험을 바탕으로 각 질문에 현실적인 관점에서 답변해주셨다.
매주 프로젝트의 기술적인 문제를 중심으로 이야기를 나누다가, 이번에는 우리가 왜 이 프로젝트를 만들고 있으며 앞으로 어떤 개발자가 되고 싶은지까지 생각해볼 수 있었다.
CampusLog 역시 결국 대학생이 자신의 활동을 기록하는 서비스에서 끝나는 것이 아니라, 기록한 경험을 취업과 커리어에 연결하도록 돕는 서비스다. 이번 멘토링에서 나눈 질문들이 우리가 만들고 있는 서비스의 방향과도 자연스럽게 이어진다는 생각이 들었다.

다음 단계
다음 주에는 새 기능을 무작정 추가하기보다 지금까지 구현한 주요 사용자 흐름을 실제 테스트 계정으로 검증할 예정이다.
우선 확인해야 할 내용은 다음과 같다.
- 활동 기록부터 AI 분석·추천·답변 생성까지의 전체 흐름
- 이미지 기반 자기소개서 문항 및 JD 추천 결과
- 사진·PDF 첨부의 업로드·조회·삭제
- 모바일 화면과 키보드 접근성
- AI 응답 실패·취소·재시도 처리
- 추천 결과의 근거 일치와 과장 방지
- 실제 MVP 제출 환경에서의 통합 동작
기능의 개수보다 사용자가 처음부터 끝까지 막히지 않고 서비스를 사용할 수 있는지가 더 중요하다. MVP 제출을 앞둔 만큼 남은 기간에는 테스트와 안정화에 집중할 계획이다.
이번 주를 마치며
이번 주의 가장 큰 변화는 기능이 많아진 것이 아니다.
사용자가 활동을 기록하고, AI 분석을 확인하고, 부족한 정보를 보완하고, 실제 자기소개서와 면접에 활용하는 과정이 이전보다 하나의 흐름으로 연결되기 시작했다는 점이다.
개발을 진행할수록 좋은 서비스는 단순히 기능이 동작하는 서비스가 아니라는 것을 느낀다.
사용자가 무엇을 해야 하는지 이해할 수 있어야 하고, 기다리는 동안에도 현재 상태를 알 수 있어야 하며, AI가 생성한 결과가 어디에서 나온 것인지 확인할 수 있어야 한다.
CampusLog가 단순한 대학생활 기록 서비스를 넘어, 대학생이 자신의 경험을 발견하고 설명할 수 있도록 돕는 서비스가 될 수 있도록 남은 기간에도 계속 개선해나갈 예정이다.