내 집 얼마?
국토부 실거래가 기반 매매가 즉시 비교 서비스
@thisisash1
소개
Product Manager가 직접 불편해서 개발한 서비스 "내 집 얼마?"
제가 부동산을 조금 안다고 생각했었습니다.
Product Manager로 일하기 전, 저는 2년간 공인중개사로 중개 업무를 했습니다. 법령, 등기, 중개 절차, 권리관계 분석까지, 나름 빠삭하다고 자신했습니다.
그 자신감은 첫 임장에서 바로 무너졌습니다.
직접 매수자 입장이 되니, 완전히 다른 세계였습니다.
중개인이 건네는 호가 앞에서 저는 멈칫했습니다.
"84㎡ 8억이요."
이게 싼 건지, 비싼 건지. 머릿속에 '비슷한 단지 실거래가가 어느 수준이었지?'를 떠올리려 했지만, 여러 부동산 서비스를 번갈아 켜며 필터를 맞추고 역계산하는 데 어느새 5분이 지나 있었습니다.
임장 현장에서 계산하기에는 너무 정신이 없습니다. 중개인 앞에서 여러 앱을 뒤지는 모습도 어색하고, 그렇다고 즉답을 하기도 불안했습니다.
저에게 필요했던 건 복잡한 분석 도구가 아니었습니다. 단 하나의 질문에 대한 명쾌한 답이었습니다.
"이 가격, 지금까지의 거래 대비 어느 수준이야?"
최근 거래보다 얼마나 위에 있는지, 아래에 있는지. 전체 거래가 중 어느 백분위에 위치하는지. 이것만 빠르게 알 수 있어도, 그 자리에서 충분히 판단할 수 있었습니다.
물론, 이 문제를 해결하려는 서비스는 이미 많이 존재한다는 걸 압니다. 현존하는 부동산 관련 서비스는 굉장히 훌륭한 서비스입니다.
그러나 이 문제가 여전히 저에게 다뤄지고 있다는 건, 그만큼 해결이 완전하지 않다는 방증이기도 하다고 생각합니다.
제가 원했던 건 분석 도구가 아니라 판단 보조 도구였습니다. "지금 이 호가, 기존 거래들 사이에서 어디쯤이야?" 그 하나의 빠른 답. 임장 현장에서 30초 안에, 앱 전환 없이.
그런 서비스가 없어서, 직접 개발했습니다.
하우머치(Houwmuch)를 소개합니다.
"임장 현장에서 30초 만에 확인하는 실거래가 대비 적정성 분석 리포트"
단지명, 평형, 희망 가격을 입력하면 국토교통부 실거래가 공식 데이터를 기반으로 저렴 / 적정 / 비쌈 판정을 즉시 제공합니다.
- 회원가입 없이 즉시 사용
- 공식 정부 실거래 데이터 기반 (국토교통부 API)
- 결과 URL 공유 + PNG 이미지 저장 (가족과의 협의 용이)
- 최대 5년치 거래 이력 시각화 (Scatter Chart)
- 평균 대비 가격 위치 + 퍼센타일 제공
서비스 기술 구조 흐름
하우머치는 Next.js 14(App Router) 기반으로, 외부 API 키를 브라우저에 노출하지 않도록 모든 데이터 요청을 서버사이드 Route Handler에서 처리합니다.
Step 1. 단지 검색 — Naver Local Search API
사용자가 단지명을 입력하면(2자 이상, 300ms 디바운스),
서버사이드에서 네이버 Local Search API (/v1/search/local.json)를 호출합니다.
단지명 + 좌표(x, y) + 지번 주소를 반환받아 자동완성 목록에 표시합니다.
Step 2. 법정동 코드 획득 — Naver Reverse Geocoding API
선택된 단지 좌표를 서버사이드 /api/region Route Handler에 전달합니다.
네이버 역지오코딩 API (legalcode 타입)를 호출하여
국토교통부 API 조회에 필요한 **법정동 코드 5자리(LAWD_CD)**를 획득합니다.
Step 3. 실거래가 조회 — 국토교통부 getRTMSDataSvcAptTrade API
서버사이드 /api/transactions Route Handler에서
조회 기간(기본 24개월, 최대 60개월)을 월별로 쪼개
Promise.all로 병렬 호출합니다.
응답 XML은 fast-xml-parser로 파싱 후,
단지명 정규화(공백·특수문자 제거) + 지번 코드(jibun) 기반 2단계 필터링으로
네이버 단지명 ↔ 국토교통부 단지명 불일치를 자동 처리합니다.
Step 4. 캐싱 — Supabase PostgreSQL (24시간 TTL)
동일 조건(법정동 코드 + 단지명 + 전용면적 + 조회기간)의 결과는
Supabase transactions_cache 테이블에 24시간 캐싱합니다.
캐시 히트 시 외부 API 호출 없이 즉시 반환, 응답 속도 ≤3초를 목표로 합니다.
Step 5. 결과 판정 및 로깅
- 판정 로직:
내 가격 < 평균 × 0.95→ 저렴,> 평균 × 1.05→ 비쌈, 그 외 → 적정 - 조회 결과(단지명, 판정, 가격 통계)를
search_logs테이블에 비동기 저장 (fire-and-forget)
기술 스택 요약
| 구분 | 스택 |
|---|---|
| Frontend | Next.js 14, TypeScript, Tailwind CSS, Recharts, html2canvas |
| Backend | Next.js Route Handlers (서버사이드 API 프록시) |
| DB / Cache | Supabase (PostgreSQL) |
| External APIs | 네이버 Local Search, 네이버 Reverse Geocoding, 네이버 Maps SDK, 국토교통부 실거래가 API |
임장을 다녀온 적 있거나, 부동산 매매를 고민 중이라면 30초만 시간을 써보세요.
하우머치(Houwmuch) 내 집 호가, 진짜 싼 걸까?
기술 스택
월 운영 비용
무료 🎉
- →Title은 30-60자가 적합합니다.
- →Meta description을 추가하세요 (120-160자 권장)
- →페이지당 H1 태그는 하나만 사용하세요.
- →Add og:title, og:description, og:image
- →Add <link rel='canonical' href='your-url'>