Keunsik Works @givepro91
← Work

놀곳 — 오늘 아이랑 갈 수 있는 곳

0~3세 아이를 데리고 오늘 어디에 갈 수 있는지를 30초 안에 답하는 지도 앱입니다. 기획부터 데이터 수집, 앱 심사 대응, 출시까지 혼자 했습니다.

문제

지도 앱은 장소가 어디 있는지는 알려주지만, 유아를 데리고 실제로 갈 수 있는 곳인지는 알려주지 않았습니다. 미끄럼틀이 아이 키에 맞는지, 그늘이 있는지, 비 오는 날 대신 갈 실내 장소가 있는지는 어떤 공공데이터에도 없었습니다.

역할

혼자 기획·개발했고, 장소 데이터 수집과 앱 심사 대응, 출시까지 단독으로 했습니다.

선택 · 결정

판단의 중심은 모르는 것을 아는 척하지 않는 것이었습니다. 그늘·바닥재 같은 항목을 값 하나로 저장하지 않고 그 값을 무엇으로 알아냈는지(직접 확인 / 항공사진 추정)를 데이터에 함께 넣었습니다. 화면에는 ‘항공사진으로 추정한 값이에요’라고 밝히고, 사람이 직접 가서 확인한 제보가 들어오면 추정값을 덮어쓰게 했습니다.

결과

확인이 적은 항목을 자동으로 걸러내는 필터는 일부러 껐습니다 — 켜면 한 지역에서 보이는 곳이 102곳에서 6곳으로 줄어드는데, 그건 ‘없다’가 아니라 ‘아직 확인이 적다’이기 때문입니다. 대신 확실한 것만 상세에 보여주고, 고칠 수 없는 오류(겹친 좌표 42곳 중 41곳)는 숨기지 않고 경고로 드러냈습니다. 2026년 8월 15일 심사에 제출해 두 번의 반려(신고 창구 없음 · 애플 로그인 미지원)를 대응하고 통과·배포했습니다.

배운 점

출시를 막은 건 코드가 아니라 만들지 않은 것들이었습니다 — 계정 삭제, 개인정보 처리방침, 오프라인 화면, 에러 화면. 검색으로 들어올 사람이 없던 원인도 마케팅이 아니라 누락이었습니다. 장소 상세 1만여 곳이 지도 화면의 스크립트 안에만 있어서, 검색엔진이 도달할 경로가 아예 없었습니다.

결정 로그

사진이 없는 장소를 직접 촬영해 채우는 대신, 이미 사진을 가진 지도 서비스로 넘기게 했습니다.

앱 안에서 전부 해결하는 완결성 대신, 답을 가진 곳으로 보내는 정확성을 택했습니다.

제보 폼이 ‘있음’만 기록할 수 있어 ‘수유실 없음’을 남길 방법이 없었습니다. 없음을 기록할 수 있는 발품 입력 화면을 따로 만들었습니다.

관리 화면이 하나 늘었지만, 그러지 않으면 직접 확인한 ‘없음’이 영원히 ‘모름’으로 남습니다.

첫 화면이 느리다는 제보를 감으로 고치지 않고 재현해 측정했습니다. 원인은 셋이었습니다 — 캐시 설정이 다른 코드 때문에 무효화돼 있었고, 서버는 미국인데 DB는 서울이었고, 커버리지 한 줄을 만들려고 3,260행을 네 번 나눠 읽고 있었습니다.

원인을 하나로 단정하고 넘어가는 대신 셋을 각각 확인해 고치느라 시간이 더 걸렸습니다.

테마 · 신뢰성 · 안전
기술 · Next.js, TypeScript, Supabase, PostgreSQL, Capacitor(iOS), Vercel
규모 · 단독 · App Store 출시
Risk Check · 장근식 (2026-08-24)