제작·이전

컴공을 나왔지만 웹개발은 처음이었습니다, AI로 사이트 만든 후기

웹개발 경험이 많지 않은 컴공 전공자가 Claude Code와 Codex를 이용해 기획, 코딩, 오류 수정, 서버 배포까지 진행한 경험을 정리합니다.

말로 설명한 아이디어가 AI의 도움으로 웹사이트 화면으로 만들어지는 모습

저는 컴퓨터공학을 전공했습니다. 그렇다고 코딩을 전문적으로 잘하는 것은 아닙니다. 대학 시절 전공 공부를 아주 열심히 했던 편도 아니고, 졸업 후 개발자로 일한 경험도 없습니다.

그동안 해본 것이라고 하면 파이썬으로 웹 스크래핑을 하거나 간단한 프로그램을 만들어본 정도입니다. 코드를 보면 완전히 낯설지는 않지만, 웹사이트를 처음부터 만들고 서버에 배포할 수 있는 수준은 아니었습니다.

블로그도 마찬가지였습니다. 티스토리와 워드프레스를 운영해봤지만 이미 만들어진 플랫폼을 설정해 사용하는 방식이었습니다. 직접 디자인하고 코드를 작성해 하나의 웹사이트를 완성한다는 것은 저와 거리가 있는 일처럼 느껴졌습니다.

그런데 Claude Code와 Codex를 사용하기 시작하면서 생각이 달라졌습니다. 지금은 여러 웹사이트를 직접 만들고 수정하고 있습니다. 처음부터 모든 코드를 공부해서 가능해진 것이 아니라, 만들고 싶은 것을 AI에게 말로 설명하고 결과를 확인하는 방식으로 시작했습니다.

컴공을 나왔다고 웹개발을 잘하는 것은 아니었습니다

컴퓨터공학 전공이라고 하면 주변에서는 자연스럽게 코딩을 잘할 것이라고 생각합니다. 하지만 같은 전공 안에서도 경험은 크게 다릅니다. 저는 파이썬으로 필요한 작업을 자동화해본 적은 있지만 웹 프런트엔드와 서버, 배포 과정을 제대로 공부한 적은 없었습니다.

HTML과 CSS가 무엇인지는 알고 있었습니다. 데이터베이스와 서버라는 말도 낯설지는 않았습니다. 그러나 이런 지식을 실제 서비스로 연결하는 것은 다른 문제였습니다. 화면을 어떻게 구성해야 하는지, 도메인을 어디에 연결해야 하는지, 오류가 발생하면 어느 파일을 고쳐야 하는지까지 혼자 판단하기는 어려웠습니다.

그래서 블로그를 만들 때는 티스토리나 워드프레스 같은 플랫폼을 선택했습니다. 가입하거나 설치한 뒤 테마를 고르고 글을 쓰면 되기 때문입니다. 직접 만드는 것보다 훨씬 현실적인 선택이라고 생각했습니다.

워드프레스는 자유로웠지만 제약도 있었습니다

워드프레스는 원하는 기능을 플러그인으로 추가할 수 있고 테마도 다양합니다. 직접 운영해본 블로그 플랫폼 중에서는 자유도가 높은 편이었습니다.

하지만 사용하면서 느낀 자유와, 지금 직접 웹사이트를 만들며 느끼는 자유는 달랐습니다. 워드프레스에서는 결국 테마와 플러그인이 제공하는 범위 안에서 선택해야 했습니다. 원하는 모양과 비슷한 설정을 찾고, 여러 기능을 조합해 결과를 만드는 방식이었습니다.

조금만 다르게 꾸미려 해도 설정 항목이 늘어났고, 플러그인을 추가할수록 관리할 것도 많아졌습니다. 직접 운영하며 느낀 진입장벽과 디자인, 속도, 보안 부담은 블로그 플랫폼 비교 글의 워드프레스 항목에 함께 정리했습니다.

반면 직접 만든 웹사이트에서는 원하는 화면을 설명하고 필요한 부분만 바꿀 수 있었습니다. 사용하지 않는 기능까지 유지할 필요도 없었습니다. 이 차이를 경험한 뒤에는 CMS를 꼭 사용해야 하는지 다시 생각하게 됐습니다.

Claude Code와 Codex에 말로 설명했습니다

제가 주로 사용하는 도구는 Claude Code와 Codex입니다. 두 도구의 역할을 명확하게 나누지는 않습니다. Claude Code로 기획과 글쓰기, 코드 수정, 서버 작업을 모두 해봤고 Codex도 같은 작업에 사용했습니다.

작업 방식은 생각보다 단순합니다. 먼저 만들고 싶은 사이트와 필요한 기능을 말로 설명합니다.

예를 들면 다음과 같습니다.

  • 글 목록은 이미지와 제목이 함께 보이게 해달라
  • 전체 디자인은 미니멀하고 여백이 많았으면 좋겠다
  • 모바일에서도 읽기 편하게 만들어달라
  • 기존 글 주소가 바뀌지 않게 옮겨달라
  • 배포 전에 백업부터 확인해달라

AI가 코드를 수정하면 직접 화면을 확인합니다. 마음에 들지 않으면 원하는 부분을 다시 설명합니다. 오류 화면이 나오면 증상을 그대로 전달하고 수정해달라고 요청합니다.

코드를 한 줄씩 직접 작성하는 대신, 결과를 보고 다음 요구사항을 정하는 방식에 가깝습니다. 처음부터 완벽한 명령을 만들려고 할 필요도 없었습니다. 실제 화면을 보면서 “이 부분은 조금 더 좁게”, “이 색은 너무 강하다”, “모바일에서는 순서를 바꿔달라”고 이어서 말하면 됐습니다.

강의보다 작은 프로젝트로 익혔습니다

Claude Code를 처음 사용할 때 유료 강의를 결제해야 할지도 고민했습니다. 제 경우에는 강의를 먼저 끝내기보다 Anthropic의 시작 문서를 보고 작은 로컬 프로젝트에서 필요한 기능을 하나씩 요청하는 편이 더 잘 맞았습니다. 모르는 용어나 명령은 작업 중인 도구에 바로 물어보고, 설명을 읽은 뒤 실제 결과를 확인했습니다.

이 방식이 가능했던 이유는 학습 결과가 곧 사이트 파일로 남았기 때문입니다. 문법을 순서대로 외우기보다 글 목록을 만들고, 모바일 여백을 고치고, 실패한 빌드를 다시 통과시키는 과정에서 필요한 개념을 익혔습니다. 도구가 빠르게 바뀌는 만큼 특정 화면과 프롬프트를 외우는 것보다 작업을 나누고 결과를 검증하는 습관이 더 오래 남았습니다.

물론 정리된 강의가 더 잘 맞는 경우도 있습니다. 혼자 문서를 읽으면 계속 시작을 미루거나, 회사의 보안·협업 규칙을 함께 익혀야 하거나, 과제와 피드백이 필요한 사람에게는 강의가 시간을 줄여줄 수 있습니다. 강의를 고른다면 성공 화면만 보여주는 자료보다 권한, 백업, 오류 대응과 복구까지 다루는지를 먼저 확인하는 편이 실제 작업에 가깝다고 생각합니다.

오류가 나와도 예전만큼 막막하지 않았습니다

웹사이트를 직접 만드는 일이 어렵다고 느꼈던 가장 큰 이유는 오류였습니다. 모르는 오류가 나오면 원인을 찾는 데만 많은 시간이 걸릴 것 같았습니다.

실제로 AI와 작업할 때도 오류가 전혀 없는 것은 아닙니다. 원하는 결과와 다르게 수정되거나, 사이트가 생성되지 않거나, 서버 명령이 실패할 때도 있습니다. 차이는 그다음입니다.

예전에는 오류 문구를 검색하고 여러 답변을 비교한 뒤 제 상황에 맞는 해결책을 다시 찾아야 했습니다. 지금은 AI가 현재 프로젝트의 파일과 오류 내용을 함께 확인하고 원인을 설명할 수 있습니다. 저는 결과가 정상인지 다시 확인하고, 해결되지 않았다면 그대로 알려주면 됩니다.

이 과정을 반복하면서 딱히 감당하기 어려운 부분은 없었습니다. 처음 사이트를 만들 때는 익숙하지 않아 시간이 꽤 걸렸지만, 정확히 몇 시간이 걸렸는지는 재지 않았습니다. 사이트가 하나씩 늘어날수록 요구사항을 설명하고 결과를 확인하는 과정도 점점 익숙해졌습니다.

기획부터 서버 작업까지 모두 맡길 수 있었습니다

처음에는 AI 코딩 도구가 코드를 작성하는 데만 쓰인다고 생각하기 쉽습니다. 직접 사용해보니 활용 범위는 더 넓었습니다.

사이트의 목적을 설명하면 어떤 구조가 적합한지 함께 정리할 수 있었고, 글의 구성과 문장도 다듬을 수 있었습니다. 코드 수정이 끝난 뒤에는 사이트를 생성하고 서버에 배포하는 과정까지 도움받았습니다. 기존 사이트를 옮길 때는 글과 이미지, 주소가 제대로 유지되는지도 검사할 수 있었습니다.

최근에는 고스트로 운영하던 이 블로그를 Astro로 이전했습니다. 백업부터 콘텐츠 변환, 서버 전환, 기존 서비스 정리까지 AI와 함께 진행했습니다. 자세한 과정은 고스트에서 Astro로 옮긴 후기에 따로 정리했습니다.

물론 “알아서 전부 해줘”라는 한마디로 끝나는 것은 아닙니다. 어떤 결과를 원하는지 정해야 하고, 수정된 화면이 마음에 드는지 확인해야 합니다. 중요한 파일을 지우거나 서버 설정을 변경할 때는 백업과 작업 범위도 직접 판단해야 합니다.

AI가 실행을 도와줄 수는 있어도 무엇이 중요한지 결정하는 역할까지 완전히 대신해주는 것은 아니었습니다.

제가 실제로 맡긴 일과 직접 결정한 일은 다음처럼 나뉩니다.

AI에게 맡긴 일 제가 결정하고 확인한 일
프로젝트 구조와 관련 파일 찾기 사이트의 목적과 남길 기능 정하기
여러 파일에 걸친 코드 수정 디자인이 의도와 맞는지 화면에서 확인하기
오류 원인 후보와 수정안 제시 백업 범위와 삭제 대상 승인하기
빌드·링크·이미지 검사 자동화 결과가 실제 운영에 적합한지 판단하기

특히 서버 비밀번호, API 키, 환경 변수처럼 외부에 공개되면 안 되는 값은 대화나 글에 그대로 붙여 넣지 않습니다. 삭제나 서버 설정 변경처럼 되돌리기 어려운 작업은 대상 경로와 백업을 먼저 확인합니다. AI를 쓰면 작업 속도는 빨라지지만 최종 승인 책임까지 사라지는 것은 아닙니다.

월 30만 원 정도의 AI 구독료를 쓰고 있습니다

현재 Claude Max와 ChatGPT Pro를 함께 구독하고 있습니다. 제가 결제하던 시점에는 두 서비스를 합쳐 한 달에 대략 30만 원 정도를 지출했습니다. 실제 금액은 선택한 등급, 환율, 세금과 결제 경로에 따라 달라질 수 있으므로 이 숫자를 고정된 이용료로 보면 안 됩니다.

웹사이트 하나를 만들기 위한 비용으로 보면 상당히 비쌉니다. 하지만 저는 블로그 하나에만 사용하는 것이 아니라 여러 사이트의 제작과 수정, 글쓰기, 자료 조사 등 다양한 작업에 거의 매일 활용하고 있습니다. 사용량이 많기 때문에 상위 요금제를 선택한 것입니다.

개인 사이트 하나를 만들어보려는 사람이 반드시 저와 같은 요금제를 사용할 필요는 없습니다. 필요한 작업량과 사용하는 도구에 따라 비용은 달라질 수 있습니다. 제가 지출하는 금액은 어디까지나 현재 사용 방식에 따른 실제 비용입니다.

도메인과 서버 비용도 별도로 들어갑니다. 다만 워드프레스를 사용해도 도메인과 호스팅 비용은 필요합니다. 제 경우에는 AI 구독료가 추가됐지만, 대신 웹사이트 제작과 수정에 외부 개발자를 따로 구하지 않고 원하는 작업을 직접 시도할 수 있게 됐습니다.

AI로 안 되는 것이 없다는 느낌을 받았습니다

직접 사용하면서 가장 크게 달라진 것은 기술보다 태도였습니다. 예전에는 웹사이트를 만들고 싶어도 “내가 할 수 있을까”부터 생각했습니다. 지금은 일단 AI에게 가능한지 물어보고 작은 단계부터 시작해봅니다.

웹사이트 제작뿐 아니라 서버 이전, 데이터 정리, 디자인 수정처럼 예전에는 엄두도 내지 못했을 작업도 시도하게 됐습니다. 실제로 해보면 모든 과정이 한 번에 해결되는 것은 아니지만, 모르는 것을 그때그때 설명받을 수 있기 때문에 계속 진행할 수 있었습니다.

저에게는 AI로 안 되는 것이 거의 없다는 느낌까지 들었습니다. 이것은 AI가 항상 완벽하다는 뜻이 아닙니다. 혼자서는 시작하지 못했을 일을 이제는 결과가 나올 때까지 함께 풀어갈 상대가 생겼다는 의미에 가깝습니다.

제가 Codex를 사용해본 후기에서도 느꼈듯이, 최근 AI 코딩 도구는 짧은 코드 몇 줄을 만들어주는 수준을 넘어 기존 프로젝트를 분석하고 여러 파일을 함께 수정할 수 있게 됐습니다.

그래도 누구에게나 직접 제작이 정답은 아닙니다

지금 다시 블로그를 만든다면 저는 워드프레스나 고스트보다 직접 웹사이트를 만드는 방식을 선택할 것 같습니다. 디자인이 더 깔끔하고, 필요한 것만 남길 수 있으며, 원하는 방향으로 수정하기도 편하기 때문입니다.

그렇다고 모든 사람에게 CMS가 필요 없다는 뜻은 아닙니다. 관리자 화면에서 글만 간단히 작성하고 싶거나, 서버와 파일을 전혀 신경 쓰고 싶지 않다면 기존 플랫폼이 더 편할 수 있습니다. 여러 사람이 함께 글을 쓰거나 쇼핑몰과 회원 기능이 필요할 때도 이미 검증된 시스템을 선택하는 편이 효율적일 수 있습니다.

반대로 다음과 같은 사람이라면 AI와 함께 직접 만들어볼 만합니다.

  • 평소 자신만의 웹사이트를 만들어보고 싶었던 사람
  • 기존 테마보다 원하는 디자인이 분명한 사람
  • 결과를 직접 확인하고 계속 수정할 의향이 있는 사람
  • 문제가 생겼을 때 AI의 설명을 읽고 판단할 수 있는 사람

중요한 것은 코드를 얼마나 많이 외우고 있는지가 아니었습니다. 원하는 결과를 설명하고, 만들어진 내용을 확인하고, 잘못된 부분을 다시 요청하는 과정이 더 중요했습니다.

실제로 반복한 작업 순서

사이트를 만들 때마다 특별한 비법을 사용한 것은 아닙니다. 아래 순서를 반복했습니다.

  1. 만들거나 바꿀 결과를 말로 설명합니다.
  2. 기존 파일과 서버 상태를 먼저 확인하고 중요한 데이터는 백업합니다.
  3. AI가 제안한 변경 범위와 삭제 여부를 확인합니다.
  4. 로컬 화면에서 PC와 모바일 결과를 직접 봅니다.
  5. 빌드, 내부 링크, 이미지 경로를 검사합니다.
  6. 문제가 없을 때만 운영 서버에 반영합니다.

이번 minml 이전에서도 같은 방식으로 검증했습니다. 이전된 글 18편과 고정 페이지 3개를 확인했고, 빌드 결과의 HTML 28개, 내부 경로 32개, 로컬 이미지 대상 20개가 실제 파일과 연결되는지 검사했습니다. 숫자가 많아서 좋은 사이트라는 뜻은 아닙니다. 다만 “화면이 열리는 것 같다”는 감각에만 의존하지 않고 이전 결과를 확인한 기록입니다.

Astro의 콘텐츠 컬렉션은 Markdown 같은 로컬 콘텐츠를 구조화해 다룰 수 있고, 기본 출력 방식은 페이지를 빌드 시점에 미리 생성합니다. minml에서 실행 중인 별도 콘텐츠 데이터베이스가 필요하지 않은 이유도 이 구조에 있습니다.

한 달 넘게 운영한 뒤에는 맡기는 기준이 더 구체적으로 바뀌었습니다

처음 이 글을 쓸 때는 AI에게 원하는 결과를 설명하면 비전문가도 사이트를 완성할 수 있다는 점이 가장 크게 느껴졌습니다. 이후 글을 추가하고 서버를 관리하면서는 만들 수 있다는 것과 안전하게 계속 운영할 수 있다는 것은 다른 문제라는 점도 분명해졌습니다.

처음에 기대한 일 운영하면서 실제로 추가한 기준
빌드가 성공하면 배포해도 된다 빌드와 별도로 내부 링크, 이미지, 실제 404를 검사한다
서버에 파일을 올리면 끝난다 새 릴리스를 완성한 뒤 권한을 확인하고 공개 대상을 교체한다
과거 배포본은 많을수록 안전하다 현재 릴리스를 포함한 최근 5개만 남기고 삭제 대상을 먼저 계산한다
기술 글은 명령이 정확하면 된다 IP, 계정, 내부 경로와 명령 출력까지 발행 전에 따로 검사한다

실제로 Astro는 본문에 깨진 내부 링크가 있어도 빌드를 끝낼 수 있었습니다. 서버에 올린 파일의 디렉터리 권한이 707로 남았던 적도 있었고, 롤백용 릴리스가 24개까지 쌓이기도 했습니다. 이 문제를 겪은 뒤에는 깨진 링크 검사, 파일 권한 자동 확인, 릴리스 보존 기준을 배포 절차에 포함했습니다.

2026년 9월 11일 사이트 구조 개편을 배포했을 때 빌드는 공개 글 23편과 고정 페이지 3개를 포함해 34개 페이지를 만들었습니다. 별도 검증에서는 공개에서 제외할 초안 10편, 통합한 과거 주소 6개, 내부 경로 38개와 로컬 이미지 24개를 확인했습니다. 숫자 자체가 사이트의 가치를 증명하지는 않습니다. 다만 AI가 만든 결과를 감상으로만 확인하지 않고, 다음 배포에서도 같은 기준으로 비교할 수 있게 된 변화는 분명했습니다.

이제는 AI에게 일을 얼마나 많이 맡겼는지보다 어떤 단계에서 사람이 멈추고 확인하는지를 더 중요하게 봅니다. 제가 실제로 사용하는 역할 구분과 승인 기준은 AI로 개인 블로그를 만들 때 나눈 역할과 검증 기준에 별도로 정리했습니다.

이제는 직접 만드는 쪽을 선택할 것 같습니다

그동안 티스토리, 워드프레스, 블로그스팟, 고스트 등 여러 플랫폼을 사용했습니다. 각 플랫폼에는 분명한 장점이 있고, 상황에 따라서는 여전히 좋은 선택입니다. 관련 경험은 블로그 플랫폼 비교 글에도 정리해두었습니다.

하지만 지금의 저는 CMS를 다시 선택할 가능성이 낮습니다. 앞으로 새로운 사이트가 필요하다면 Claude Code나 Codex와 함께 직접 만드는 쪽을 먼저 고려할 것 같습니다.

컴퓨터공학을 전공했지만 웹개발을 전문적으로 공부하지 않았고, 직접 사이트를 만들어본 경험도 없었습니다. 그럼에도 말로 원하는 내용을 설명하고 오류를 하나씩 해결하면서 실제 운영 중인 웹사이트를 만들 수 있었습니다.

AI가 없었다면 저 역시 시도하지 못했을 것입니다. 이제는 웹사이트를 만들고 싶다는 생각이 있다면, 전문 개발자가 아니라는 이유만으로 포기할 필요는 없다고 생각합니다. 처음에는 오래 걸리더라도 작은 페이지 하나부터 만들어보면 됩니다. 지금은 모르는 것을 물어보면서 끝까지 완성할 수 있는 도구가 있기 때문입니다.

참고한 공식 문서