yeonjun@portfolio:~
$ claude "서류 마감 3시간 전인데 포트폴리오가 없어. 만들어줘"
Claude 네, 알겠습니다. Astro + Cloudflare Pages로 구성하겠습니다.
$ wrangler pages deploy dist
Deployment complete!
$ echo "이게 되네"
이게 되네_

네, 이 포트폴리오는 AI가 만들었습니다

Claude Code에게 시키고, Cloudflare에 올리고, 커피 한 잔 마셨습니다.
하지만 뭘 시켜야 하는지 아는 것도 실력이니까요.

그래도 한번 보시겠습니까?
v v
$ cat about.json
{
  "name":      "김연준",
  "born":      "2002.03.26",
  "age":       23,
  "education": "고졸",
  "status":    "무직",
  "honest":    true
}
$ git log --oneline --all
~2020 코딩을 처음 만졌습니다
학교 다니면서 이것저것 건드려 봤습니다.
뭔가 만들어지는 게 재밌었고, 뭔가 안 되는 게 더 많았습니다.
2020-23 간헐적으로 개발했습니다
하다가 멈추고, 멈추다가 다시 하고.
체계적인 교육 없이 독학과 삽질의 반복이었습니다.
포기한 적은 없지만, 매일 한 것도 아닙니다. 솔직히.
2023~ LLM이 등장하고, 진짜 개발을 시작했습니다
ChatGPT가 나오고 세상이 바뀌었습니다.
혼자서 막혔던 벽을 AI와 함께 부수기 시작했고,
"이해는 되는데 구현을 못 했던 것들"이 실제로 만들어지기 시작했습니다.
도구가 바뀌니까 사람도 바뀌더라고요.
HEAD 백수입니다
학벌도 없고, 경력도 없고, 자격증도 없습니다.
있는 건 만들고 싶은 것들의 목록과,
그걸 실제로 만들어본 경험뿐입니다.
$ echo "이력서에 쓸 수 있는 건 별로 없습니다."
이력서에 쓸 수 있는 건 별로 없습니다.
$ echo "그래서 대신 이걸 만들었습니다."
그래서 대신 이걸 만들었습니다._
$ ls -la ./projects/
01 Soccer Field Macro 2021
Soccer Field Macro

제가 처음으로 완성시킨 프로젝트입니다. 작동하는 500줄의 코드를 만들기 위해 두 달이 걸렸습니다. StackOverflow를 헤매고, 웹에서 가져온 온갖 코드 조각들을 이어 붙이며 작동할 때까지 순서를 바꿔보고, 조각을 하나 더 추가해보고, 버그 메시지를 그대로 복사해서 구글 검색창에 붙여넣던 시절이었습니다. PyQt5로 만든 GUI 앱이었는데, 조기축구를 하는 지인분이 "다른 팀들이 매크로로 구장 예약을 독점한다"는 하소연에서 시작된 프로젝트입니다. 지금 코드를 다시 보면 끔찍하고 해괴하지만, 실전에서 원하는 스케줄의 구장을 모두 예약하는 데 성공했을 때 세상을 가진 듯한 성취감을 느꼈습니다. 이 프로젝트를 진행하면서 HTTP, REST API의 세계를 어렴풋이 알게 되었고, 크롤링을 통해 구장 정보와 예약 가능 시간대의 데이터를 처음으로 추출해본 경험이었습니다.

PythonPyQt5requestsBeautifulSoup4
02 StockPaste 2023
StockPaste

네이버증권, FnGuide 주식 정보 크롤링 & 가공 프로그램입니다. 한창 주식을 공부할 때, 매번 시장 동향과 종목 세부 정보를 손으로 복사해서 LLM 채팅창에 붙여넣던 번거로움을 해결하고 싶어서 시작했습니다. Playwright로 헤드리스 브라우저를 띄워 타겟 사이트에 무리를 주지 않는 속도와 간격으로 크롤링을 진행합니다. 유저가 입력한 종목 코드와 URL 쿼리 인자(기간, 페이지 수 등)를 바탕으로 선택된 URL에 한해 데이터를 추출하고, 거시 정보 / 미시 정보 / 재무 정보 / 차트 / 시세 등 각 도메인 카테고리에 맞게 가공·병합하여 마크다운 파일로 제공합니다. 하단의 'Copy for LLM' 입력 폼에서 원하는 프롬프트를 입력하면, 마크다운 파일 끝에 <user instructions> 태그로 프롬프트가 반영되어 정제된 문서를 LLM에게 바로 던질 수 있는 포맷으로 복사됩니다. 요즘 주식 공부하는 데 아주 요긴하게 쓰고 있습니다.

PythonPlaywrightNaver FinanceFnGuide
03 Codebase Explorer 2024
Codebase Explorer 1Codebase Explorer 2
1/2

역시 개인적인 불편함 해소를 위해 탄생한 프로젝트입니다. Claude Code, Cursor 같은 LLM 기반 코딩 에이전트를 쓸 때, 매번 새롭게 관련 파일을 탐색하게 만드는 것이 토큰 소모와 정확도 저하를 유발한다고 느꼈습니다. 작업 전에 관련 파일들을 미리 찾아 나열해두면, 이 정보를 바탕으로 LLM에게 바로 온보딩 가능한 지시를 내릴 수 있겠다는 아이디어에서 시작했습니다. Electron으로 제작된 이 앱은 VS Code처럼 프로젝트 repo를 불러오면, 각 파일의 AST 기반 의존성 정보(import/export)와 시그니처 이름을 추출합니다. 핵심 코드 내용은 Gemini Flash API를 통해 역할과 기능을 간결하게 요약한 메타데이터로 변환됩니다. 정적 분석 결과와 AI 요약을 결합한 메타데이터 파일이 각 코드 파일마다 생성되고, 유저가 작업 내용을 요청하면 Gemini Flash가 부합하는 파일들을 높은 정확도로 찾아내 상대 경로와 코드를 복사 가능한 형태로 제공합니다. 최근까지 요긴하게 사용했으나, AI 에이전트의 자체 파일 탐색 기능이 눈부시게 좋아지면서 조용히 은퇴시켰습니다.

ElectronAST ParserGemini Flash APITypeScript
04 Durian Chat 2025
Durian Chat

실제로 1인 창업을 해보자는 마음으로 진행한 프로젝트입니다. 국가 기반 랜덤 매칭 기능과 LLM 기반 실시간 자동 번역을 결합하여, 어떤 나라의 유저와도 모국어로 언어 장벽 없이 채팅할 수 있는 소셜 SaaS 앱입니다. 아이디어를 구현하기 위한 MVP 단계는 한 달 정도에 마무리되었지만, 실제 출시를 목표로 하면서 많은 접속자 수와 부하를 염두에 둔 설계, Rate Limit, 백엔드 Zod 검증, Supabase RLS 보안 설정까지 고려하며 시행착오를 반복한 끝에 최종적으로 두 달이 소요되었습니다. PayPal과 Paddle 결제 연동까지 마쳤습니다. 출시 후 Reddit에서 적극적인 홍보를 진행했지만, 소수의 인원만 잠깐 써보고 이탈하는 참담한 결과를 맞이했습니다. 접속자 부재와 서버비 부담으로 현재는 서버를 닫은 상태입니다. 회원가입을 강제하면 유저가 이탈한다는 것, 과도한 보안 강화와 스케일 확장보다 빠른 MVP로 피드백을 받는 것이 중요하다는 교훈을 준, 제 애정이 가득 담긴 프로젝트입니다.

Next.jsSupabaseCloudflare WorkersRedisAblyOpenRouter
$ echo "마지막으로,"

저는 고졸이고, 그렇다고 해서 혼자만의 길로 개발에 올인한 천재도 아닙니다.

모자랐고, 방황했지만, 이 길을 사랑했습니다.

기술의 발전에 은총을 입어 제 생각과 아이디어를 신속하게 세상에 만들어낼 수 있게 된 지금,
저는 혼자 컴퓨터 앞에 앉아 헤매며 막연히 새로운 목표를 만들어내어 작업하던 좁은 세계에서 벗어나,

진짜 사업을 일구고 길을 개척하는 귀사에서
한 명의 개발자로서, 직업인으로서
진지하게 일하게 될 수 있기를 간절히 소망합니다.

$ _
$ cat /etc/personnel/김연준.conf
> photo.jpg 증명사진
이름 김연준
생년월일 2002. 03. 26
연락처 010-2216-7343
이메일 kyj002002@naver.com
주소 서울시 도봉구
학력 창동고등학교 졸업
[ 약력 ]
- 군 복무 (만기 전역)
- 서울시 청년취업사관학교 Fullstack 개발자 코스 수료
[ 자격 / 수료 ]
YYYY. MM 내용을 기입해주세요
YYYY. MM 내용을 기입해주세요