AI 코딩 도구로 하루 만에 웹앱 만들기: 축구선수형 개발자 테스트 제작기

by DD
3주 전
조회수 2

Anthropic Claude Code, Google Antigravity, OpenAI Codex 등 AI 코딩 도구를 활용하여 개발자 유형 테스트 웹앱을 하루 만에 제작

React 19, Tailwind CSS v4, Firebase 등을 사용하여 프론트엔드(Frontend) 및 배포 환경을 구축하고, i18n 구조를 통해 다국어 지원

점수 계산 로직 개선을 위해 정규화(Normalization) 방식을 도입하여 결과의 다양성(Diversity) 확보 및 사용자 경험(UX) 향상

iOS Safari의 position: sticky 문제 해결, 이스터에그(Easter Egg) 유형 추가 등 UI/UX 개선을 위한 다양한 삽질(Troubleshooting) 경험 공유

AI 코딩 도구의 활용은 개발 생산성을 높이지만, 핵심적인 결정(Critical Decision)은 여전히 개발자의 몫임을 강조

AI 코딩 도구 활용: Claude Code, Antigravity, Codex

본문에서는 Claude Code를 활용하여 React 컴포넌트 생성, 코드 구조 파악, 버그 분석, 리팩터링을 수행했다. Antigravity는 화면 구성, 작업 흐름 정리, 공유 카드 제작 등 여러 단계가 필요한 작업에 활용되었으며, Codex는 점수 계산 알고리즘과 같은 로직을 정리하는 데 사용되었다.

Claude Code: 페어 프로그래밍(Pair Programming) 도구로 활용, 빠른 초안 생성 및 수정 방향 제시

Antigravity: Agent-first 개발 플랫폼(Agent-first Development Platform), 작업 흐름 정리 및 공유 카드 제작에 활용

Codex: 생각이 필요한 로직(Logic) 정리에 활용, 점수 계산 알고리즘 개선

정규화 기반 점수 계산 알고리즘

초기에는 단순 점수 합산 방식으로 인해 특정 선수 유형이 자주 등장하는 문제가 발생했다. 이를 해결하기 위해 Codex를 활용하여 정규화(Normalization) 방식을 도입했다. 각 선수가 얻은 점수를 해당 선수가 얻을 수 있는 최대 점수로 나누어, 상대적인 점수 비교(Relative Score Comparison)를 가능하게 했다.

문제점: 단순 점수 합산 방식은 특정 선수 유형 편향(Bias) 발생

해결책: 정규화(Normalization) 방식 도입, 각 선수 유형의 점수를 최대 점수로 나누어 비교

결과: 결과의 다양성(Diversity) 확보 및 사용자 경험(UX) 개선

다국어 지원을 위한 i18n 구조

본문에서는 한국어와 일본어를 모두 지원하는 다국어 웹앱을 제작하기 위해 i18n 구조를 적용했다. 문구를 코드 안에 직접 작성하는 대신, 언어별 리소스로 분리하여 관리했다. 이를 통해 문구 수정, 다른 언어 추가, 컴포넌트 코드의 가독성(Readability) 유지, 일본어 표현의 자연스러움(Naturalness) 확보 등 다양한 이점을 얻었다.

i18n 구조 장점: 언어별 문구 관리 용이, 확장성(Extensibility) 확보, 컴포넌트 코드의 가독성(Readability) 향상

일본어 지원: 단순 번역(Translation)이 아닌, 자연스러운 표현(Natural Expression)을 위한 조정 필요

결과: 한국어와 일본어를 모두 지원하는 다국어 웹앱(Multilingual Web App) 제작

UI/UX 개선을 위한 삽질(Troubleshooting) 경험

iOS Safari에서 position: sticky가 작동하지 않는 문제, 이스터에그 유형이 나오지 않는 문제, 원형 의존성 문제, 일본어 문구 길이 문제 등 다양한 삽질(Troubleshooting) 경험을 공유했다. 각 문제의 원인을 분석하고, 해결 방법을 제시하여 실제 개발 과정에서 발생할 수 있는 문제에 대한 이해를 높였다.

iOS Safari의 position: sticky 문제: overflow-x: hidden으로 인한 문제, 최상위 컨테이너에서 overflow 제거

이스터에그 유형 미등장 문제: 선택지 배치(Choice Placement) 문제, 이스터에그로 이어지는 답변 순환 배치

원형 의존성 문제: 공통 로직(Common Logic)을 별도 유틸 파일로 분리하여 해결

일본어 문구 길이 문제: 고정 너비(Fixed Width)에 의존하지 않도록 수정, 텍스트 줄바꿈 및 말줄임 처리

AI 코딩 도구 활용의 한계와 개발자의 역할

AI 코딩 도구는 개발 생산성을 높이는 데 기여하지만, 최종적인 결정은 여전히 개발자의 몫임을 강조한다. 어떤 서비스를 만들지, 어떤 기능을 넣을지, 점수 계산 방식이 공정한지, 버그 수정 방향이 맞는지 등 핵심적인 판단(Critical Judgement)은 개발자가 해야 한다. AI는 아이디어를 빠르게 검증하는 프로토타입 제작에 유용하며, 개발자가 AI와 함께 작은 팀처럼 움직일 수 있도록 돕는 도구로 활용될 수 있다.

AI 코딩 도구의 역할: 아이디어 검증(Idea Validation) 가속화, 프로토타입 제작 생산성 향상

개발자의 역할: 핵심적인 결정(Critical Decision) 수행, 서비스 품질 및 사용자 경험(UX) 책임

결론: AI는 보조 도구일 뿐, 개발자의 역량(Developer's Capability) 중요성 강조

하루 만에 웹앱 만들기: Claude Code, Antigravity, Codex와 함께 만든 “나는 어떤 축구선수형 개발자일까?”

댓글 0

첫 번째 댓글을 남겨보세요!