SIDE PROJECT / AI
AI 작명 + 이상형 월드컵으로 가족이 함께 고르는 아기 이름
작명 서비스를 몇 개 써봤는데, 결국 혼자 쓰는 도구더라고요. 이름은 가족이 같이 고르는 건데. GPT-4o가 사주·오행 맞춰서 이름을 추천하면, 이상형 월드컵으로 가족이 투표해서 최종 이름을 정하는 서비스를 만들었습니다.
- 핵심 아이디어
- AI + 가족 투표
- AI 모델
- GPT-4o
- 가족 참여
- 이상형 월드컵
- 현재 상태
- 운영중
추천은 AI, 선택은 가족
오행·사주·한자 분석
링크 공유로 투표
ohmybaby.kr
Background
아기 이름은 가족이 같이 골라야 하지 않나?
아기 이름을 지을 일이 생겨서 작명 서비스를 몇 개 써봤습니다. AI가 이름을 추천해주는 곳도 있고, 전통 작명 규칙을 적용해주는 곳도 있었는데 — 다 써보고 나니까 공통적으로 아쉬운 게 있었어요. 전부 "혼자 쓰는 도구"였습니다.
현실에서 아기 이름 짓기는 혼자 하는 일이 아니거든요. 엄마 아빠가 후보를 놓고 고민하고, 할머니 할아버지한테 보여드리면 "이건 좀..." 하시고, 이모 삼촌도 한마디씩 보태고. 결국 이름은 가족 전체의 의견이 모여야 정해지는 건데, 기존 서비스는 한 사람이 AI한테 이름 받아서 캡처해서 카톡에 올리면 끝이었습니다.
그래서 생각한 게 — AI가 이름을 추천하는 건 그대로 두되, 거기에 이상형 월드컵 방식을 붙이면 어떨까. 후보 이름을 1:1 토너먼트로 비교하면서 가족이 각자 투표하고, 결과를 모아서 최종 이름을 정하는 거죠. 추천은 AI가, 선택은 가족이.
기존 작명 서비스는 전부 1인용
AI 추천이든 전통 작명이든, 한 사람이 혼자 결과를 받아보는 구조. 가족 의견을 모으는 기능이 없었습니다.
이름 짓기는 원래 가족 행사
부모뿐 아니라 조부모, 친척까지 의견을 내는 게 한국 문화인데, 그걸 수용하는 서비스가 없었어요.
후보를 공유하는 방법이 카톡 캡처밖에 없음
AI가 추천한 이름을 가족한테 보여주려면 스크린샷 찍어서 단톡방에 올리는 게 유일한 방법이었습니다.
Approach
AI 추천 + 이상형 월드컵 = 가족 참여형 작명
구조는 단순합니다. 프로젝트를 만들어서 아기 정보를 입력하면 GPT-4o가 이름을 추천하고, 그 후보들로 이상형 월드컵을 열어서 가족한테 링크를 공유하면 각자 투표합니다. 투표 결과가 모이면 가족이 가장 좋아하는 이름이 자연스럽게 올라오는 구조예요.
사용자 흐름
프로젝트 생성
4단계 위자드
AI 이름 추천
GPT-4o
후보 편집
추가/삭제
월드컵 공유
카카오 링크
가족 투표
토너먼트
결과 엽서
印章 씰 디자인
GPT-4o를 쓴 이유
한국 작명은 오행, 사주, 한자 지식이 필요한 도메인. 프롬프트로 규칙을 주입하기 가장 적합한 모델이었습니다.
이상형 월드컵 방식
단순 순위 매기기보다 1:1 비교가 더 재밌고, 토너먼트 구조라 자연스럽게 후보가 줄어듭니다.
카카오 공유
한국에서 가족 단톡방 = 카카오톡. 링크 하나로 투표 참여가 되니까 진입 장벽이 거의 없습니다.
Process
구현
- 01
GPT-4o 프롬프트 설계 — 한국 작명 규칙을 AI에게 가르치기
한국 전통 작명에는 규칙이 꽤 많습니다. 오행(木火土金水)의 상생·상극 관계, 아기의 생년월일시로 계산하는 사주팔자, 각 글자에 매칭하는 한자의 실제 사용 빈도까지. 이걸 시스템 프롬프트에 녹여서 GPT-4o가 "진짜 작명소에서 나올 법한" 이름을 추천하도록 설계했습니다.
특히 신경 쓴 부분은 GPT가 좋아하는 한자(瑞, 睿 같은)를 걸러내는 것이었어요. 모델이 자주 쓰지만 실제 한국 작명에서는 거의 안 쓰는 한자들이 있거든요. 그런 걸 명시적으로 금지하고, 출력 포맷도 JSON으로 고정해서 파싱 안정성을 확보했습니다. 프롬프트 자체는 서비스 핵심 로직이라 여기에 공개하진 않지만, 접근 방향은 "한국 전통 작명 규칙을 규칙 목록으로 구조화 → 금지 패턴 명시 → JSON 스키마 강제"입니다.
- 02
이상형 월드컵 엔진 — 클라이언트 사이드 토너먼트
4/8/16/32강을 지원하는 토너먼트 브래킷을 클라이언트에서 관리합니다. 후보 이름들을 랜덤으로 셔플해서 대진표를 짜고, 라운드마다 1:1 비교로 하나를 선택하면 다음 라운드로 진행되는 구조예요.
카카오톡으로 공유 링크를 보내면 가족이나 친구가 바로 투표에 참여할 수 있습니다. 각자의 투표 결과는 Supabase에 저장되고, 프로젝트 오너는 전체 투표 현황을 볼 수 있어요. 무료 플랜에서는 투표 참여를 10명까지 받을 수 있습니다.
- 03
한자 뜻풀이 + 오행 데이터
40개 이상의 한국 성씨에 대해 한자 변형(variants)을 매핑했습니다. 예를 들어 '김'이라도 金, 金海 등 다양한 한자가 있을 수 있고, 각 한자의 획수와 오행 속성이 다릅니다. 이 데이터가 있어야 GPT-4o 프롬프트에 "이 성의 오행은 金이니까 상생하는 水·木 계열 한자를 써라" 같은 구체적인 지시를 줄 수 있었어요.
이름 결과 화면에서는 각 글자의 오행을 색상으로 구분해서 보여줍니다. 木은 초록, 火는 빨강, 土는 노랑 식으로 — 한눈에 오행 배치를 확인할 수 있도록요.
- 04
카카오 로그인 + 공유 — 바이럴 설계
Supabase Auth에 카카오 OAuth를 연동했습니다. 한국 사용자 대부분이 카카오 계정을 갖고 있으니까 로그인 허들이 낮고, 투표 링크 공유도 카카오톡 메시지로 보내면 자연스럽게 바이럴이 됩니다.
투표가 끝나면 엽서 스타일의 결과 카드가 생성되는데, 여기에 印章(도장) 씰 디자인을 넣었습니다. 이것도 카카오톡으로 공유할 수 있어서, "우리 아기 이름 이걸로 정했어!" 하고 알리는 용도로 쓸 수 있어요.
Outcome
결과
ohmybaby.kr 운영중
기획부터 AI 연동, 사용자 경험 설계, 배포까지 혼자 진행한 사이드 프로젝트입니다. 실제 서비스로 운영하고 있습니다.
한국 작명 문화를 AI 프롬프트에 녹인 경험
오행 상생/상극, 사주팔자 분석, 실제 작명에서 쓰는 한자 필터링 같은 도메인 지식을 프롬프트 엔지니어링으로 풀어낸 과정이 가장 큰 수확이었습니다. "AI한테 뭘 시키느냐"보다 "뭘 하지 말라고 하느냐"가 더 중요하다는 걸 배웠어요.
기획 → 설계 → 개발 → 배포 전 과정 경험
Next.js 16 + Supabase + GPT-4o + Kakao OAuth 조합으로 풀스택을 혼자 구성하면서, 인증·결제 설계·AI 연동·소셜 공유까지 한 프로젝트 안에서 다뤄본 경험이 쌓였습니다.
향후: Pro 플랜 활성화, 마케팅 채널 확대
AI 이름 추천 횟수 제한(무료 3회)과 투표 참여 인원 제한(무료 10명) 기반의 Free/Pro 티어 구조는 이미 설계돼 있습니다. 사용자 피드백을 모아서 Pro 플랜을 활성화하고, 육아 커뮤니티 중심으로 마케팅 채널을 넓힐 계획입니다.
MORE
다른 케이스 살펴보기
바다봄
AUTH / SSO
외부 사이트용 SSO Provider 구축
OTT 등 외부 기관 사이트에서 바다봄 계정으로 로그인하도록 Provider를 직접 구현했습니다. 일회용 UUID 토큰을 DB에 저장해 다중 WAS를 지원하고, CI(개인 공통 식별자) 기반으로 양쪽 계정을 자동 매핑합니다.
자세히 보기바다봄
DEVOPS / OBSERVABILITY
SSE + Cross-WAS 실시간 로그 뷰어
WAS는 대전 IDC에 있는데, 망분리 정책상 그 서버에 붙을 수 있는 PC가 부산 사무실에만 있었습니다. 그래서 로그 한 번 보려면 사실상 부산으로 가야 하는 구조였어요. 관리자 웹 안에 SSE 기반 뷰어를 만들고, 두 개 WAS 노드 로그까지 Cross-WAS 릴레이로 한 화면에서 보이도록 구성했습니다.
자세히 보기바다봄
LEGACY MIGRATION
OTT 기술거래 시스템을 바다봄으로 이관
Oracle + MyBatis 기반의 OTT 기술거래 플랫폼을 PostgreSQL + iBATIS 환경으로 옮겼습니다. 87개 URL, 34개 JSP, 80여 개 SQL과 14개 테이블을 재작성했습니다.
자세히 보기정부광고통합지원시스템
CI/CD
빌드·배포 프로세스 자동화
전부 수동으로 하던 빌드·배포를 Jenkins + GitLab Webhook 기반으로 자동화해서, 배포 시간을 15~20분에서 4분대로 줄였습니다.
자세히 보기정부광고통합지원시스템
INFRA / SESSION
Redis 기반 세션 클러스터링
JEUS Standard에서는 세션 클러스터링 기능을 못 써서, Redis를 외부 세션 저장소로 두고 우회했습니다. 덕분에 WAS 순차 재기동이 가능해졌습니다.
자세히 보기정부광고통합지원시스템
SECURITY / NETWORK
Nginx 리버스 프록시로 TLS 1.3 적용
WebtoB 공용 SSL을 건드리기 부담스러워서, 앞단에 Nginx를 세우고 거기서 TLS를 종단하도록 바꿨습니다. 기존 서비스는 영향 없이 TLS 1.3으로 올렸습니다.
자세히 보기프리랜서 · 사이드 프로젝트
CLIENT WORK / WEB
산후조리원 홈페이지 리뉴얼 제안 → 제작
아내가 입소한 조리원의 홈페이지가 오래돼 보여서 직접 UI 샘플을 만들어 제안했습니다. 192프레임 스크롤 애니메이션, 카카오맵, SEO까지 갖춘 Astro 정적 사이트를 제작해서 실제 운영 도메인으로 배포했습니다.
자세히 보기