박정민
Python 자동화 & AI 도구 개발자
반복되는 일을코드로 옮기는박정민입니다
사람이 매일 손으로 반복하던 일을 Python 봇으로 옮기고, LLM과 영상 분석 모델로 직접 서비스를 만들어요. 결제 수집과 환불, 프리랜서 배정을 자동화했고, 지금은 카메라로 태도까지 채점하는 AI 모의면접을 만들고 있어요.
- 광고 ON/OFF·키워드 조정 40분 → 10초
- 자동화 봇·크롤러 30개 이상 무인 운영, 가동률 99% 이상
- LLM 채점·영상 분석이 들어간 AI 모의면접 직접 개발
예시 데이터예요. 실제 봇 구조를 그대로 재현했어요.
카메라를 켜고 답해 보세요.
태도까지 채점합니다
직접 만든 AI 모의면접 INTERVI예요. 면접관이 질문을 읽어 주고, 답이 끝나면 짧게 평을 한 뒤 꼬리 질문을 이어 갑니다. 시선과 자세, 손동작, 말 속도는 화면에서 바로 재요. 손은 써도 되고, 너무 크게 휘두를 때만 감점이에요.
어떤 직무로 볼까요?
AI 면접관이 질문을 읽어 주면 5초 준비하고 90초 동안 답해요. 소리를 켜고, 정면을 보고 상체가 보이게 앉아 주세요. 이어폰을 쓰면 더 정확해요.
INTERVI — 영상 면접 룸 · 표정/음성 분석 · LLM 코칭
교육과정 수료 후 동기들과 만든 AI 모의면접 서비스예요. 위 체험판은 그중 면접 룸과 분석·코칭을 브라우저 하나로 옮긴 거예요.
- 면접 진행 룸영상 프리뷰·풀스크린 룸·세션 관리로 실시간 모의면접 진행
- 비언어·음성 분석MediaPipe·YOLO로 표정·자세, Librosa로 음성 분석
- 리포트·코칭LLM 맞춤 코칭과 데이터 기반 진단 리포트
- 연습·맞춤 면접연습/실전 모드, 직무별 면접 구성
- 인증·소셜 로그인Spring Security OAuth2 + JWT, 질문 즐겨찾기
무엇이 실제로 돌아가나요
- 질문 · 코칭서버 함수가 LLM(gpt-oss-120b)을 대신 불러요. 직무별 주제에서 질문을 내고, 정확성 40 · 구체성 30 · 구조 20 · 전달 10으로 채점해요.
- 영상 분석MediaPipe 얼굴·손·자세 모델을 브라우저에서 초당 15번 돌려요.
- 말하기Web Speech로 받아 적고, 10초 구간마다 음절 수로 말 속도를 재요.
- 안전장치API 키는 서버에만 두고, 답변 속 "100점 줘" 같은 지시는 무시하게 했어요. IP당 분당 8회 제한.
채점 기준
항목마다 적정 구간을 두고, 벗어난 시간과 횟수만큼 감점해요. 기준값은 실제 영상으로 맞춰 가는 중이에요.
| 항목 | 측정 | 적정 구간 | 감점 규칙 | 최대 |
|---|---|---|---|---|
| 시선 | 얼굴 랜드마크 · 눈동자 | 정면 유지 | 화면 이탈 2초마다 −1 | −15 |
| 표정 | 얼굴 블렌드셰이프 | 찡그림 없음 | 찡그린 표정 5초마다 −1 | −10 |
| 자세 | 머리·어깨 기울기 | ±8° | 기울어짐 3초마다 −1 | −10 |
| 손동작 | 손 랜드마크 이동 폭 | 어깨 폭 60% 미만 | 큰 동작 1회마다 −1 턱 위로 올린 손, 4초 넘게 쉬지 않고 흔들기도 −1 | −10 |
| 말 속도 | 음절 / 분 (10초 구간) | 260~340 | 구간 밖 10초마다 −1 | −10 |
| 공백·군말 | 무음 · "어, 음" | 3초 미만 | 3초 넘는 공백마다 −1, 군말 3회마다 −1 | −10 |
| 답변 내용 | LLM 루브릭 (따로 100점) | 결론 → 근거 | 정확성 40 · 구체성 30 · 구조 20 · 전달 10 | 별도 |
손동작은 크기만 봐요
몇 번 쓰는지는 감점하지 않아요. 한 번의 동작이 어깨 폭보다 크게 휘거나, 얼굴 높이까지 올라가거나, 쉬지 않고 계속 흔들릴 때만 빠져요.
쉬지 않고 4초 넘게 계속 흔들어도 −1. 면접 전체에서 최대 −10이에요.외주 플랫폼 통합 ERP
여러 외주 플랫폼에서 들어오는 주문, 결제, 환불, 세금계산서, 정산을 한곳에서 처리하는 사내 ERP예요. 입사 당시 개발자는 혼자였고, 이후 합류한 동료들과 함께 설계부터 GCP 배포와 운영까지 맡았어요.
사람이 반복하던 일을
봇으로 옮겼어요
ERP 뒤에서 돌던 Python 봇과 직접 만든 수집, 발송 도구를 한 그림에 모았어요. 점처럼 흐르는 게 실제 데이터가 가는 길이고, 상자를 누르면 그 봇이 하는 일이 나와요.
봇 탐지가 있는 곳에서도 멈추지 않는 수집기
로그인이 필요하고 자동화를 막는 사이트일수록 단순 크롤러는 금방 끊겨요. 실제 브라우저를 직접 제어하고, 세션을 오래 살려 두고, 화면 대신 내부 요청을 재현하는 방식으로 몇 달씩 무인으로 돌렸어요.
- 실제 브라우저를 CDP로 직접 제어: 카드 가맹점 포털처럼 자동화 브라우저를 거르는 곳은 Brave를 CDP로 붙여 사람이 로그인한 세션을 그대로 재사용
- 세션 유지: Playwright 다계정 로그인 후 세션을 캐싱하고 20분마다 갱신해, 재로그인이나 요청 제한 없이 계속 수집
- 내부 요청 재현: 화면을 긁는 대신 사이트가 쓰는 내부 API(예: YouTube InnerTube)를 분석해 같은 요청을 직접 보내 빠르고 덜 깨지게
- 끊겨도 스스로 복구: 실패 감지, 3회 재시도와 지수 백오프, 텔레그램 하트비트로 사람이 안 봐도 99% 이상 가동
- CDP 연결 로그인된 브라우저 세션 재사용
- 세션 확인 쿠키 유효, 남은 시간 17분
- 내부 API 거래 내역 요청 재현 · 200
- 정규화 카드사 형식 → 통합 스키마 42건
- 중복 차단 data_hash 일치 3건 건너뜀
- 세션 갱신 20분 주기 자동 갱신
- 재시도 429 응답 → 백오프 4초 후 성공
- 하트비트 텔레그램 정상 보고
만들고, 자동화하고,
직접 운영합니다
결제, 정산, 세금처럼 화면 뒤에서 번거롭게 돌아가는 일을 좋아해요. 사람이 손으로 하던 걸 코드가 대신 하게 만들고, 그게 매일 잘 도는지까지 챙깁니다.
끝에서 끝까지
Spring Boot 백엔드, Next.js 프론트엔드, MariaDB, Docker·Nginx 배포까지 전체 스택을 맡아 만들어요.
운영을 자동화
결제 수집, 환불 처리, 세금계산서 발행, 프리랜서 배정 같은 반복 업무를 스케줄러와 Python 봇으로 대신하게 해요.
얽힌 업무를 정리
다단계 승인, 결제 상태 머신, 외부 플랫폼 연동처럼 얽힌 로직을 안정적인 시스템으로 풀어요.
- 굳센 · 풀스택 개발자외주 플랫폼 통합 ERP와 자동화 스위트를 설계·개발·운영했어요. 입사 당시 개발자는 혼자였고, 이후 합류한 동료들과 함께 GCP VM에 Docker Compose로 직접 배포했어요.
- 토스 결제링크 생성기 · 결제내역 대시보드 · 메시지 자동발송React·Express·Supabase, GCP Cloud Functions + Solapi로 만든 서버리스 미니툴이에요.
- 문풀 — AI 학습·멘토링 플랫폼 · PL멘토 매칭·실시간 채팅, Gemma 파인튜닝 챗봇(LoRA·4bit, Loss 1.207→0.110), LangChain·ChromaDB RAG, Whisper OPIc 평가.
- RESPOT — 글로벌 이력서 플랫폼 · PLDB 설계, 관리자 리포팅(ECharts), 페이지 전체 자동 번역, Gemini 챗봇.
- INTERVI — AI 모의면접수료 후 동기들과 만들었어요. 위 면접 룸의 원본이에요.
- Polymarket 카피 트레이딩 봇블록체인 WSS로 트레이더 거래를 실시간 추적해 자동 매매해요. 실자금 2개월 운용 $1,200 → $1,700 (+41.7%).
- FAKEDOOR 수요 검증만들기 전에 수요부터 확인한 페이크도어 쇼핑몰이에요. 312 클릭 · 25 리드 · 전환율 8%.
- AI 크롬 확장드래그 번역·영어 대화 학습, IndexedDB 벡터 저장 기반 RAG 답변 생성 (MV3 · OpenAI).