부동산 인텔리전스 플랫폼
Reevl
요약
한국 아파트를 상장 종목처럼 읽게 해 주는 부동산 터미널. 1인으로 디자인하고, 개발하고, 출시해 지금도 운영하고 있습니다.
- 933
- 64,817
- 2,054 / 2,380
개요
Reevl은 한국 아파트를 위한 부동산 터미널입니다. 아파트 단지를 상장 종목처럼 다뤄 – 가격 차트, 등락률, 단지가치 – 시장 상태를 한눈에 읽게 합니다.

Figma
- 2,380
GitHub

reevl.co.kr
리서치
Reevl의 리서치는 인터뷰보다 운영 데이터와 사용자의 지적에서 나왔습니다. 출시 후 매일 들어오는 신호가 다음 결정의 근거가 됐습니다.
- 사용자 지적에서 시작된 커밋 366건 – 전체의 16%. "호버 효과가 잘려요"(원인이 세 번 바뀐 문제), "뒤로 가면 아파트 목록으로 돌아가 버려요" 같은 한 문장이 하나하나 수정으로 이어졌습니다.
- 행동 데이터 (Microsoft Clarity) – 유입의 89%가 네이버, 기기의 79%가 모바일. 이 두 숫자가 제품의 우선순위를 정했습니다: 모바일 먼저, 네이버 검색 먼저.
- 데이터 출처 8곳 – 국토부 실거래, K-apt, 한국부동산원, KOSIS, 한국은행, V-World, 학교알리미, 청약홈. 전국 아파트 45,695단지, 누적 실거래 1,100만 건을 한 화면의 언어로 맞췄습니다.
핵심 결정
제품을 지금의 모습으로 만든 네 가지 결정. 각각 무엇을 정했고, 왜 그랬고, 무엇이 나왔는지.
집값이 아니라 시장의 상태를 보여준다
단지 하나의 가격보다 시장 전체가 어디로 움직이는지가 먼저 읽혀야 한다고 봤습니다. 그래서 블룸버그 터미널의 정보 밀도에 토스증권의 깔끔함을 얹는 방향을 잡았습니다.
홈 한 화면에서 시장 브리핑, 매매·전세 지수, 단지 랭킹을 함께 읽습니다.홈 화면
상승은 빨강, 하락은 파랑 – 모든 화면에 예외 없이
한국 시장 사용자에게 익숙한 관습을 그대로 따릅니다. 초록은 '상승'의 의미로 쓰지 않습니다.
등락 색은 디자인 시스템의 토큰(up · down)으로만 쓰여 화면마다 어긋나지 않습니다.디자인 시스템
한 화면, 세 가지 껍데기
같은 정보를 PC에서는 도크 패널로, 폰에서는 전체 화면으로, 검색 유입에는 독립 페이지로 보여줍니다.
같은 구조에서 64,817개의 공개 페이지가 만들어집니다.정보 구조
Figma를 코드에서 다시 만든다
디자이너가 보는 값과 사용자가 받는 값이 달라지지 않도록, 실제 코드의 토큰에서 Figma 라이브러리를 역으로 추출했습니다.
변수 140개 · 스타일 28개 · 컴포넌트 23개 (v1.0, 2026.09.17).Figma 파일
기능 12종을 한 번에 공개한 날, 지표가 무너졌다 – 원인 6개를 찾아 고쳤다
8월 27일 기능 12종을 공개한 직후 이탈률이 24%에서 62%로, 체류 시간이 226초에서 40초로 떨어졌고, 관측 기간 중 이 날에만 RageClick이 36건 나왔습니다. 기능이 아니라 화면이 문제였습니다.
원인 6개를 고친 뒤 8월 29일 RageClick 0건, 9월 1일 이탈률 70% → 29%, 체류 36초 → 115초로 회복했습니다.사용 지표
2년 이상의 예측 금액은 보여주지 않는다
1년 전망은 순위 적중도(IC) 0.19로 분기의 93%에서 양수였지만, 2년 이상은 단지 단위 IC가 0.01이었습니다. 맞히지 못하는 숫자를 보여주는 것은 정보가 아니라고 판단했습니다.
장기 예측은 금액을 내지 않고, 검증된 지역 단위(IC 0.16)로만 제공합니다.
없는 값은 0이 아니라 '해당 없음'으로 비운다
고속도로가 없는 제주 · 울릉의 1,047개 단지를 0으로 채우면, 화면에서는 교통이 나쁜 곳으로 읽힙니다. 검증 구간을 옮기자 부호가 뒤집힌 지표도 같은 이유로 뺐습니다.
역세권을 기준선에 두고 고속도로와 공항을 더해 지방의 이동 수단을 반영하고, 해당되지 않는 곳은 비웠습니다. 우연히 나온 값이 근거처럼 읽히는 것이 더 위험했습니다.
AI에게는 값보다 단위와 의미를 먼저 준다
read-only 툴 7개로 MCP 서버를 열었더니, 모델이 만 원 단위 시세를 원으로 읽어 1만 배 오차를 냈습니다. 사람은 이상하면 되묻지만, 모델은 묻지 않고 지어냅니다.
describe_fields 툴을 만들어, 모델이 값을 읽기 전에 단위와 의미를 먼저 받게 했습니다.
디자인
정보 구조
같은 화면이 세 가지 껍데기로 나옵니다. PC의 도크 패널, 폰의 전체 화면, 검색 유입을 위한 독립 라우트.
디자인 시스템
Figma 라이브러리를 실제 코드에서 역으로 추출해 다시 만들었습니다. 아래는 Figma 파일 그 자체, 그 아래는 같은 토큰으로 다시 만든 React 컴포넌트입니다.
- 140
- 28
- 23
- 37
아래는 이미지가 아니라 이 토큰으로 다시 만든 React 컴포넌트입니다.
391.2 +10.9%
- A단지 A용산구20억 4,000+20.6%
- B단지 B강남구18억 8,000-3.1%
표면
- app#0e0f11
- bg#16171a
- chip#232529
- line#282a2d
텍스트
- ink#edeef1
- ink2#c7ccd4
- sub#aab1bc
- dim#79818d
브랜드
- brand#4d9fff
- brand-soft#16233a
등락 (상승=빨강, 하락=파랑)
- up#ff5c6c
- up-soft#2b1a1f
- down#4d9fff
- down-soft#14243a
상태
- pos#2dd4a0
- warn#f0b254
Pretendard Variable
- Hero32 → 46부동산을 손쉽게, 숫자로 읽다
- Stat36 → 440.4131
- Display30 / 28전국 아파트 45,717단지
- Title LG22 / 20시장 브리핑
- Val XL30 / 3211억 4,000
- Body14 / 16국토교통부 실거래가 기준으로 시세 흐름을 확인하세요.
- Label13 / 14.5매매 지수
- Micro11 / 12.5업데이트 3시간 전
Radius
- sm6px
- md8px
- lg10px
- xl12px
- 2xl16px
- full999px
Spacing
- 4px
- 8px
- 14px
- 20px
- 28px
Easing
- ease-out진입 · 이탈 기본
cubic-bezier(.23,1,.32,1)
- ease-in이탈 전용 가속
cubic-bezier(.55,0,.85,.4)
- ease-in-out화면 내 이동 · 모프
cubic-bezier(.77,0,.175,1)
- ease-draweriOS식 드로어
cubic-bezier(.32,.72,0,1)
개발
빌드 로그
2,380개 커밋 중 고른 마일스톤. 하나하나가 실제로 배포된 결정입니다.
엔진과 프론트엔드를 한 번에
데이터 엔진과 Next.js · Tailwind 프론트엔드로 '부동산 해석 터미널'의 뼈대를 세웠다.
로고와 아이덴티티
워드마크 · 마크 · 모바일 로고를 헤더와 푸터에 적용.
공용 컴포넌트로 묶기
Badge · Popover · StatRow 프리미티브와 간격 리듬 · 상태 토큰을 만들어 화면마다 다르던 위계를 통일.
자연어 검색 재설계
단지 이름과 조건을 분리해 읽고, 개념 사전으로 스크리너의 모든 조건을 말로 걸 수 있게 했다.
GA4 · Clarity 도입
실사용 데이터를 보기 시작한 지점.
배포 검증 게이트
배포 후 청크 404를 자동으로 감지하고 재배포한다.
리블 AI를 별도 앱으로
탐색(리블)과 대화(리블 AI)의 멘탈 모델이 달라 /ai 독립 셸로 분리.
첫 화면이 7.8MB를 기다리지 않게
느린 모바일에서 홈 표가 무한 로딩되던 문제를 경량본 구조로 근본 해결.
코드에서 Figma로
코드에서 추출한 140개 변수와 23개 컴포넌트로 Figma 디자인 시스템을 구축.
활동
수요와 공급으로 부동산을 재정의
- TypeScript50.4%
- Python41.5%
- JavaScript4.5%
- CSS2.2%
- Shell1.4%
커밋 2,380개 중 2,054개를 Claude Code와 함께 작성
2026년 7월 1일 이후 커밋 2,380개
| 7월 | 8월 | 9월 | ||||||||||
| 월 | ||||||||||||
| 수 | ||||||||||||
| 금 | ||||||||||||
2026년 9월 17일 커밋
- 9d2f5a2
docs(디자인): Figma 디자인 시스템 구축 기록 — 코드에서 추출한 140토큰·23컴포넌트
exclusiveyon-a11y committed
- 82b17e0
chore(통근): 지하철 그래프 공식 경로시간 대조 스크립트·참값 캐시(296+111쌍)
exclusiveyon-a11y committed
- 54fab7e
fix(통근): 신분당·수인분당·공항철도·부산·대구 등 34개 노선을 좌표 근사에서 열차 시간표 실측으로
exclusiveyon-a11y committed
- aaf1caf
fix(통근): 서울 버스가 대전 정류장으로 순간이동했다 — 정류장 ID가 전국 유일이 아니었다
exclusiveyon-a11y committed
2026년 9월 16일 커밋
- 585953a
fix(통근): 강남→서면(부산) 55분 — 동명이역이 순간이동으로 이어져 있었다 · 버스+지하철 통근 신설
exclusiveyon-a11y committed
- 1feb7c8
fix(도보): '역 도보 N분'이 실제보다 중위 3분 짧았다 — 보행망 실경로 + 오르막
exclusiveyon-a11y committed
스택과 인프라
프론트는 Next.js · TypeScript · Tailwind, 시계열 차트는 TradingView Lightweight Charts. 뒤에는 Python 데이터 엔진. 호스팅은 Cloudflare Workers와 D1 · R2로, 7월 25일 Vercel에서 옮겼습니다.
같은 데이터를 공개 MCP 서버로도 열어, AI 도구가 한국 아파트 데이터를 직접 조회할 수 있습니다.
출시 · 결과
라이브 제품
사용 지표
- 933
- 2026.07
- 64,817
유입 경로
GA4와 Clarity 실측, 2026년 9월 6일 기준. "국내 부동산 검색은 네이버가 시장"이라는 가정이 숫자로 확인됐습니다.
- 1,122
- 912
- 42
채널별 세션과 검색 노출
GA4 채널: Organic Search 1,199 · Direct 656 · Organic Social 82 · Unassigned 66 · AI Assistant 42 · Referral 16.
사이트맵에는 65,501개 URL이 올라가 있습니다. 한편 구글 크롤이 하루 29,514건에서 22건으로 급감한 사고가 있었고(원인: 상세 페이지의 서버 렌더링), 고친 뒤에도 구글 노출은 아직 회복 중입니다.
AI 크롤러는 막지 않고 속도만 늦췄습니다. 23시간 측정에서 GPTBot 34,856건(28%), ClaudeBot 25,161건(21%)으로 같은 시간 Googlebot 480건보다 훨씬 많았지만, 차단 대신 crawl-delay를 걸어 AI의 인용 가능성은 남겼습니다. AI 어시스턴트 유입 42건은 그 결과입니다.
사람이 개입하는 지점
운영은 자동으로 돌되, 판단이 필요한 자리는 사람에게 옵니다.
- 자동 – 실거래가 갱신, 발행, 오류 감시를 n8n 워크플로우로 돌립니다. 사람이 매일 여는 창이 아니라, 문제가 있을 때만 알리는 구조입니다.
- 사람 – 출처가 불안정한 데이터는 자동화 대신 손으로 갱신하고, 화면에 데이터 기준일을 함께 적습니다. 정확하지 않은 것을 자동으로 보여 주는 것보다, 언제 것인지 밝히는 편이 낫습니다.
- 그렇게 바꾼 이유 – 파이프라인이 초록불인데 발행이 6주 멈춰 있었고, 서버 에러 11,891건이 0건으로 보고된 적이 있습니다. 그 뒤로 '성공 로그'가 아니라 결과물을 감시합니다.
다음 – ON THE WAY
임장은 목적지에 도착해야 시작됐지만, 가는 길에 지나치는 동네와 도로도 이미 그 지역입니다. 임장을 9단계로 나눠 재 보니 14.3시간 중 절반이 이동과 정리에 쓰였습니다. 그래서 가는 길을 탐색으로 바꾸는 졸업 전시 「REEVL: ON THE WAY」를 기획하고 있습니다. 리블의 실거래와 지표 데이터를 차량 맥락에 맞게 다시 설계해, 지나가는 장소에 시세가 붙고, 물으면 답 대신 경로가 바뀌게 합니다. AAOS 기반 Pleos Connect를 목표로, 주행 중 시각 제약 안에서 탐색이 가능한지 검증하고 있습니다.
회고
파이프라인이 성공했다고 화면이 맞는 것은 아니었다. 네이버 블로그 발행이 6주 동안 멈춰 있었는데 실행 이력은 초록불이었고, 감시 필터의 오류로 서버 에러 11,891건이 0건으로 보고됐습니다. 이후 '성공 로그'가 아니라 결과물 자체를 확인하는 운영 점검 20가지를 자동화했고, 디자인 시스템 준수율과 첫 화면 JS 예산(432KB)을 포함한 빌드 게이트 11종 중 하나라도 실패하면 배포되지 않게 했습니다.
크롤러도 사용자다. SEO 도구의 크롤러 하나가 서버 CPU의 90.9%를 쓰고 있었습니다. 노출을 늘리는 일에는 인프라 비용이 따라온다는 것을 배웠고, 그 뒤로는 "이 지표가 제품에 실제로 중요한가"를 먼저 묻습니다.
남은 숙제. 들어왔다 바로 돌아가는 QuickbackClick 19.6%, 아직 회복 중인 구글 노출, 그리고 혼자 만든 제품이라 협업을 증명할 재료가 없다는 점입니다.


