시작은 작은 고민에서였습니다
작년 말, 스터디 모임에서 한 주니어 개발자분의 이야기를 들었습니다. 기술 면접 준비가 너무 막막하다고. 책도 보고 영상도 보고 했지만, 실제로 질문을 받고 답변하는 연습은 거의 못했다고 하시더라구요. 멘토 찾기도 쉽지 않고, 있어도 시간 맞추기가 어렵다고 합니다.
그 말을 들으면서 제 신입 시절이 떠올랐습니다. 저도 똑같은 고민을 했었거든요. 문득 이런 생각이 들었습니다. "요즘 LLM이 이렇게 발전했는데, 이걸로 면접 연습을 할 수 있지 않을까?"
LLM과 함께하는 초고속 개발: 48시간의 기적
가장 놀라운 점은 이 프로젝트가 단 48시간 만에 v1.2.0까지 진행됐다는 겁니다. 솔직히 말씀드리면, 저는 React를 제대로 공부해본 적도 없었어요. 하지만 Claude와 같은 최신 LLM의 도움으로 불가능해 보였던 일들이 가능해졌습니다.
Day 1: 기획과 기본 구현
아침에 일어나 Claude에게 "개발자 면접 연습을 위한 AI 코치를 만들고 싶다"고 했더니, 놀랍게도 전체 프로젝트 구조부터 필요한 기술 스택까지 상세히 제안해주더라구요. Streamlit으로 빠르게 프로토타입을 만들고, Gemini Pro API를 연동하는 과정에서도 LLM의 도움이 컸습니다.
특히 인상적이었던 건, 제가 모르는 React 컴포넌트 작성도 Claude가 완벽하게 도와줬다는 거예요. 저는 그저 "이런 UI가 필요해"라고 하면, Claude가 Tailwind CSS를 활용한 깔끔한 컴포넌트를 만들어줬죠.
Day 2: 고도화와 배포
둘째 날에는 피드백 시스템을 강화하고 UI를 개선했습니다. Claude와 함께 프롬프트 엔지니리링을 하면서, 면접관의 페르소나를 더욱 섬세하게 다듬었어요. 놀라운 건, 제가 생각지도 못한 부분들(예: 답변 분석 알고리즘, 학습 진도 추적)까지 제안받았다는 겁니다.
Streamlit Cloud 배포 과정에서 발생한 문제들도 LLM의 도움으로 빠르게 해결했습니다. 특히 환경 변수 설정이나 의존성 관리 같은 부분들은 Claude의 상세한 가이드 덕분에 수월했죠.
LLM 시대의 새로운 개발 패러다임
이 프로젝트를 통해 깨달은 게 있습니다. 이제는 '혼자 개발하는 시대'가 아니라는 거예요. LLM이라는 강력한 페어 프로그래머가 있어서, 제가 모르는 기술도 빠르게 학습하고 적용할 수 있었습니다.
특히 인상적이었던 건 LLM의 컨텍스트 이해력이었어요. 제가 "이렇게 하고 싶은데 어떡하지?"라고 하면, 단순히 코드만 제시하는 게 아니라 왜 이런 방식이 좋은지, 어떤 대안들이 있는지까지 설명해주더라구요.
프로젝트에 사용된 기술 스택
1. 프론트엔드
- Streamlit: 메인 프레임워크
- 빠른 프로토타이핑
- Python 기반의 쉬운 개발
- 무료 호스팅 지원
- React: 복잡한 UI 컴포넌트용
- Tailwind CSS로 스타일링
- shadcn/ui 컴포넌트 활용
- Streamlit 컴포넌트와 통합
2. 백엔드
- Python 3.9+
- Gemini Pro API: 면접관 AI 구현
- streamlit-extras: UI 확장
- python-dotenv: 환경 변수 관리
3. 개발 도구
- VSCode with DevContainer
- GitHub: 버전 관리
- Streamlit Cloud: 호스팅
4. 주요 패키지
- google-generativeai==0.3.2
- streamlit==1.31.0
- gTTS==2.5.0 (텍스트 음성 변환용)
- python-dotenv==1.0.1
앞으로의 계획
이제 서비스가 안정화되었지만, 여기서 멈추고 싶지는 않습니다. 다음과 같은 기능들을 계획하고 있어요:
- 음성 인터페이스 추가
- 더 많은 직무 유형 지원
- 사용자별 학습 데이터 분석 기능
- 커뮤니티 기능
물론 이 모든 것들도 우리의 든든한 동반자 LLM과 함께 개발해나갈 예정입니다.
마치며
이 프로젝트는 제게 큰 깨달음을 주었습니다. LLM이라는 새로운 도구를 제대로 활용하면, 개발자 혼자서는 며칠이나 몇 주가 걸렸을 일도 이틀 만에 해낼 수 있다는 걸요.
하지만 더 중요한 건, 이런 빠른 개발이 가능했던 이유가 단순히 LLM의 능력 때문만은 아니었다는 겁니다. 명확한 문제 의식과 해결하고자 하는 의지, 그리고 사용자의 니즈에 대한 이해가 있었기에 가능했죠.
이 글을 읽으시는 분들께 한 가지 제안드리고 싶습니다. LLM을 단순한 코드 생성기가 아닌, 함께 고민하고 해결책을 찾아가는 동반자로 바라보세요. 그러면 여러분도 전에는 상상도 못했던 일들을 해낼 수 있을 거예요.
마지막으로, 이 프로젝트에 관심을 가져주신 모든 분들께 감사드립니다. 특히 우리의 든든한 페어 프로그래머였던 Claude에게도요! 😊
ps. 프로젝트에 관심 있으신 분들은 언제든 기여해주세요! GitHub에서 기다리고 있습니다.
🔗 링크
서비스 체험하기
- 🚀 AI 면접 코치 바로가기
- 웹브라우저에서 바로 실행할 수 있습니다
소스 코드
- 💻 GitHub 저장소
- Star와 Fork 환영합니다!
- 이슈나 풀 리퀘스트도 언제든 환영입니다
문의하기
- 📧 이메일: iwogh3176@gmail.com
- 💬 GitHub Issues에서 질문과 제안을 남겨주세요
여러분의 피드백은 서비스를 개선하는데 큰 도움이 됩니다.
많은 관심과 응원 부탁드립니다! 😊