
핵심 기능
포트폴리오에 질문하는 AI 챗봇
화면 아래 입력창에 질문하면 AI가 제 프로젝트 문서를 찾아 답합니다. 답 끝에는 근거가 된 프로젝트 페이지 링크가 붙습니다. 포트폴리오에 없는 질문에는 답하지 않습니다.
혼자 설계부터 백엔드, 화면, 평가, 배포까지 만들었습니다.
지금 보고 계신 포트폴리오 사이트입니다. 프로젝트 소개 페이지와 함께, 제 프로젝트에 대해 무엇이든 물어볼 수 있는 AI 챗봇을 만들었습니다.
챗봇은 프로젝트 문서를 찾아 근거가 된 프로젝트 설명 링크와 함께 답하고, 어떤 도구를 불렀는지도 그대로 보여 줍니다. 같은 도구를 Claude 같은 AI 앱에서도 쓸 수 있게 MCP 서버로도 열었습니다.
2026-09-29 ~ 진행 중개인 프로젝트

0.962
답변 근거 적중률
시험 문제 26개 중 정답 문서를 상위 5개 안에 찾은 비율, 소개 페이지 전환 전 측정
1.0
숫자 검증 통과율
답변의 숫자가 모두 실제 문서에 있는 비율, 소개 페이지 전환 전 측정
0원
월 운영비
도메인 비용 제외

핵심 기능
화면 아래 입력창에 질문하면 AI가 제 프로젝트 문서를 찾아 답합니다. 답 끝에는 근거가 된 프로젝트 페이지 링크가 붙습니다. 포트폴리오에 없는 질문에는 답하지 않습니다.

핵심 기능
답변마다 AI가 어떤 도구를 어떤 값으로 불렀는지 펼쳐 볼 수 있습니다. 문서 검색, 프로젝트 조회, 기술별 프로젝트 찾기 도구 3개를 상황에 맞게 골라 씁니다.
Claude 앱의 커넥터에 주소 하나(https://api.jangminseok.com/mcp/)를 등록하면, 그 앱의 AI가 같은 도구 3개로 제 포트폴리오를 조회할 수 있습니다.

프로젝트마다 무엇을 만들었는지, 주요 기능, 전체 구조, 맡은 일, 어려웠던 점을 한 페이지에서 읽을 수 있습니다. 각 프로젝트는 callguard.jangminseok.com처럼 자기 주소를 가집니다.

채용 공고에서 자주 보는 요건마다, 그 경험을 보여 주는 프로젝트 페이지로 바로 이어지는 카드를 모았습니다.
화면은 Next.js로, 챗봇과 MCP 서버는 FastAPI 하나로 만들었습니다. 두 입구가 같은 도구 코드를 불러서, 한쪽만 고쳐지는 일이 없습니다.
문서 검색, 프로젝트 조회, 기술별 찾기 도구를 한곳에 만들고, 사이트 챗봇과 MCP 서버는 그 도구를 부르는 입구로만 두었습니다. 입구가 도구 내부를 직접 건드리지 못하게 자동 검사 도구(import-linter)로 막았습니다.
AI가 쓴 답에 문서에 없는 숫자가 있으면 그 문장을 지우고, 없는 페이지 링크도 지웁니다. 공개하면 안 되는 이름이 들어가면 답 전체를 막습니다. AI에게 부탁하는 대신 코드로 정해 두었습니다.
문서를 조각으로 나눠 저장하고, 단어가 겹치는 정도와 뜻이 가까운 정도로 각각 찾은 뒤 두 순위를 합칩니다. 키워드 검색 방식은 두 가지를 같은 시험 문제로 재 보고 골랐습니다.
화면과 서버는 Vercel, 데이터베이스는 Supabase, AI는 Gemini의 무료 한도로 돌립니다. 하루 한 번 서버가 DB를 깨워 무료 DB가 잠들지 않게 하고, 한꺼번에 많은 질문이 몰리지 않게 질문 수를 제한합니다.
1인 프로젝트입니다. 설계 문서를 먼저 쓰고, 그 문서에서 나눈 작업 단위대로 테스트부터 작성하며 만들었습니다.
0.867
도구 선택 정확도
시험 문제 30개, 소개 페이지 전환 전 측정
0.962
답변 근거 적중률
26개 중, 소개 페이지 전환 전 측정
1.0
거절 정확도
포트폴리오와 무관한 질문 4개
0원
월 운영비
도메인 제외