영화 선택을 도와주는 웹사이트 Film Dilemma 제작 후기
요약
영화 추천 웹사이트 Film Dilemma 제작 후기를 공유하며, 사용자가 원하는 영화를 정교하게 찾을 수 있는 기능을 구현했습니다. 이 과정에서 FastAPI+MySQL 백엔드와 React 프론트엔드를 구축했으며, 특히 Claude Code의 도움을 받아 기능 개발, 쿼리 작성, 테스트 및 배포 스크립트를 효율적으로 관리한 경험을 강조합니다.
핵심 포인트
- Claude Code를 활용하여 기능 구현부터 테스트까지 전 과정을 자동화했습니다.
- CLAUDE.md 파일과 상태 페이지(status page) 관리가 복잡한 프로젝트의 워크플로우를 체계화하는 데 핵심이었습니다.
- FastAPI, React 등 전문 스택을 사용하며 2년 이상에 걸쳐 완성도 높은 서비스를 구축했습니다.
저는 무엇을 볼지 결정하는 데 도움을 주는 사이트인 Film Dilemma를 만들었습니다: https://filmdilemma.com 완전히 무료입니다. 선호하신다면 안드로이드 앱도 있습니다: https://filmdilemma.com/app 제가 가장 원했던 것은 '여기에 인기 있는 영화들이 있습니다' 같은 방식보다 더 많은 제어권이었습니다. 모든 영화는 각 장르별 점수를 가지고 있어, 로맨스 요소가 전혀 포함된 코미디처럼 90-100점을 받은 작품을 찾거나 기분에 맞는 다른 조합의 작품을 찾아볼 수 있습니다. 또한 특정 배우가 실제로 주연을 맡는지(또는 맡지 않는지)를 확인할 수 있는 영화도 있으며, 제가 만든 추천 엔진은 모든 데이터 포인트를 비교하여 사용자가 좋아하는 3편의 영화를 기반으로 선택지를 제시해 줄 수 있습니다. 각 영화에는 자체적인 추천 목록이 있습니다. 저는 이 프로젝트에 2년 이상을 매달려 작업했습니다. 저장소(repo)에는 현재 약 3,700개의 커밋이 있으며, 그중 약 1,900개가 Claude Code와 함께 작성되었습니다. 백엔드는 FastAPI + MySQL로, 프론트엔드는 React로, 그리고 Capacitor 안드로이드 앱으로 구성되어 있습니다. 제 역할은 주로 제가 원하는 것을 설명하고 돌아온 결과물을 검토하는 것이고, Claude Code가 기능(features), 쿼리(queries), 테스트(tests), 배포 스크립트(deploy scripts)를 작성합니다. 그래도 10년의 전문 개발 경험이 도움이 된다고 생각합니다. 저에게 가장 큰 변화를 가져다준 것은 지켜야 할 엄격한 규칙들이 담긴 CLAUDE.md 파일을 유지하는 것이었습니다. 예를 들어, 데이터베이스에 접근할 때는 반드시 먼저 저에게 물어보는 것과 같은 내용입니다. 프로젝트가 이렇게 커지면 이 파일이 엉뚱한 행동을 하는 것을 막아주는 역할을 합니다. 또 다른 도움이 많이 된 것은 상태 페이지(status page)였습니다. 저는 보통 여러 개의 Claude Code 세션을 동시에 실행하는데, 각각의 세션이 무엇을 하고 있는지, 그리고 실제로 저에게 답변을 기다리고 있는 것이 무엇인지 놓치기 일쑤였는데, 그것들이 긴 채팅 속에 묻혀 있었기 때문입니다. 그래서 이제 모든 세션은 자체적인 작은 HTML 상태 페이지를 유지합니다(hooks가 생성하고 업데이트함). 이 페이지에는 현재 작업 중인 내용, 추천과 함께 제 답변이 필요한 질문들, 배포하기 전에 제가 테스트해야 할 사항들, 그리고 초안들이 담겨 있습니다. 저는 채팅을 스크롤하는 대신 그 페이지만 읽습니다. 이 워크플로우에 정말 만족합니다.
저는 Cursor와 VS code에서 Claude Code 확장을 사용합니다. 또한, 이 사이트가 AI 쓰레기(AI slop)처럼 보이지 않도록 하려고 제가 원했던 것보다 더 여러 번 전체를 재설계했습니다. 거의 다 왔다고 생각하지만, 어떤 사람들은 여전히 이것을 AI 쓰레기라고 부를 것이고, 그것은 피할 수 없는 일이라고 생각합니다. 이 영상도 전적으로 Claude Code(Opus 5.5)로 제작되었습니다. Playwright 스크립트를 사용하여 헤드리스 브라우저로 사이트를 녹화하고, ffmpeg으로 모든 것을 자르고 그 아래에 음악을 넣었습니다. 제가 방금 검토했습니다. 지나치게 단순하게 들리게 만들고 싶지는 않지만, Claude에게 많이 수정하도록 했고 실제로 Grok이 생성한 비디오를 사용해 인트로를 만들어 보려고도 했지만, 그것은 확실히 AI 쓰레기처럼 보이게 만들었기 때문에 현재의 모션 그래픽 접근 방식으로 결정했습니다. 워크플로우에 대해 궁금한 점이 있는 분들에게는 기꺼이 답변하겠습니다. 음악: Wayward Atom의 Donor /u/RandomFuckingUser 제출 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기