Tech Showcase

공간 대여업의 비효율을
SaaS로 해결하다.

파편화된 정보를 '의미 있는 데이터'로.
4개의 핵심 시스템이 결합된 차세대 공간 대여 통합 관리 SaaS, Spacely입니다.

Why I Built This

체계없이 버려지는 데이터, 시스템을 향한 열망

본업이 있으면서 동시에 파티룸과 같은 공간 대여업을 직접 관리하며 느꼈던 가장 큰 벽은

"시간을 쏟아도 해결되지 않는 실수와 운영 비효율,
그리고 '이대로도 문제없다'는 착각"

이었습니다. 사업이 확장될수록 개인 시간이 사라지며 실수의 위험은 커졌고, 매일 다음과 같은 크고 작은 비효율과 마주해야 했습니다.

📱

반복되는 수동 연락의 늪

보증금 입금 요청부터 입금 확인, 퇴실/바베큐 안내, 환급 계좌 요청, 환급 완료 안내까지. 매번 예약마다 동일한 문자를 복사해서 붙여넣고 수동으로 발송해야 했습니다.

🏦

살얼음판 같은 입금/환급 관리

고객별 보증금 입금 여부를 매일 은행 앱을 켜서 대조해야 했고, 때로는 바쁜 일정 속에 보증금 환급을 깜빡 잊어 고객에게 먼저 항의 연락을 받는 아찔한 상황도 있었습니다.

📉

죽어있는 데이터, 스프레드시트

구글 스프레드시트로 달력을 그려 예약을 관리했지만, 이는 단순히 사람의 눈으로 보기 위한 '표'일 뿐, 매출 통계나 최적화 전략을 세워줄 수 있는 '살아있는 데이터'의 가치는 없었습니다.

🧮

수많은 변수와 수작업 정산

보증금은 액수가 할인되기도 하고, 추가 인원 요금을 거기서 제하기도 하며, 리뷰 페이백 등으로 변동되기도 합니다. 이 모든 변수를 일일이 고객과의 대화 내역을 뒤져가며 계산하다 보니 잦은 오차가 발생했습니다.

플랫폼 간 잠재적 이중 예약

아웃소싱 솔루션을 써도 네이버 예약이 들어오면 타 플랫폼(여기어때 등)의 캘린더를 수동으로 닫아주어야 했고, 늘 이중 예약(Double-booking)이 터질까 전전긍긍해야만 했습니다.

🧹

외부 인력과의 소통 미스

청소 매니저님과 같은 외부 파트너에게 메신저로만 청소 일정을 공유하다 보니 전달 과정에서 오해가 섞이거나 누락되는 등 인적 오류(Human Error)가 발생하기 쉬웠습니다.

💸

블랙홀이 된 지출 및 영수증

비품 구매, 청소비, 수리비 등 수많은 지출 내역들이 제대로 카테고리화 되지 않은 채 통장에서만 빠져나가니, 결국 언제 어디에 얼마를 썼는지 사후 검증이나 수익률 파악이 아예 불가능했습니다.

🔀

혼란스러운 고객 경험

플랫폼 알림톡은 카카오톡으로, 업장 운영자의 구체적인 장소 안내나 환급 요청은 일반 문자로 오가는 등, 소통 채널이 파편화되어 고객 입장에서도 피로도와 혼선이 가중되었습니다.

"이 모든 비효율과 스트레스를, 인간이 아닌 코드가 일하게 만들 수는 없을까?"

✨ Spacely 탄생

단순한 호기심으로 시작한 고민은 개발을 거치며, 예약 수집부터 재무 관리, 환불 자동화까지
예약 관리의 전(全) 생애주기를 관장하는 하나의 완전 통합 자동화 솔루션으로 진화했습니다.

Architecture

6개의 레이어가 맞물려 돌아가는 Spacely의 기술 스택

💻 Frontend
Vue 3 TypeScript Pinia Tailwind CSS Vite
🚀 Backend
FastAPI Python 3.12 APScheduler Playwright Uvicorn
🛡️ Data
Supabase PostgreSQL Row Level Security Fernet 암호화 Alembic
AI
최신 Gemini AI Multimodal 이미지 파싱 자연어 DB 쿼리
🔗 Integrations
네이버 예약 스페이스클라우드 여기어때 Solapi (알림톡) Toss Gmail API Telegram
⚙️ Infrastructure
Docker Nginx Coolify GitHub Actions Cloudflare

Module Deep-Dive

각 모듈을 구축하며 겪은 치열한 기술적 고민의 흔적들

FastAPI · Playwright · APScheduler · Gmail API

Spacely Automation Hub

역할: 공간 운영의 '혈관'입니다. Gmail API로 네이버 예약을 5분마다 자동 수집하고, SMS 웹훅으로 입금 문자를 실시간 수신해 예약 데이터와 자동 매칭합니다. 예약 확정 시 Solapi를 통해 카카오 알림톡 8종 이상을 자동 발송하며, Playwright로 스페이스클라우드와 여기어때의 재고를 즉각 동기화합니다.

기술적 고민: 네이버·스페이스클라우드·여기어때 3개 플랫폼이 각기 다른 접근 방식(API vs 브라우저 자동화)을 요구했습니다. 플랫폼별 특성에 맞춰 Playwright 기반 하이브리드 동기화 엔진을 설계했고, APScheduler로 5분 간격 폴링과 웹훅 기반 실시간 처리를 병행해 이중 예약 위험을 제거했습니다.

📧 네이버 예약 확정 메일 수신
🔍 Gmail API 파싱 완료
홍길동님 · 신촌점 · 밤샘
✅ DB 등록 완료
💬 카카오 알림톡 발송
📅 스페이스클라우드 · 여기어때 슬롯 마감
📱 입금 SMS 웹훅 수신
홍길동 50,000원
🏦 입금 매칭 완료
💬 입금 확인 알림톡 발송
Vue 3 · Pinia · Tailwind CSS · Supabase

Spacely Dashboard

역할: 흩어진 데이터를 '관제'하는 중심부입니다. 멀티 테넌트 SaaS 구조로 설계되어 각 운영자가 자신의 공간 데이터를 독립적으로 관리합니다. 네이버·스페이스클라우드·여기어때 예약을 하나의 캘린더에서 확인하고, 지출 분석 및 AI 비서와 소통이 가능한 모바일 최적화 대시보드입니다.

기술적 고민: SaaS 아키텍처를 위해 Supabase RLS를 통한 DB 레벨 데이터 격리를 구현했습니다. Vue 3 Composition API와 Pinia로 복잡한 UI 상태를 관리하고, Tailwind CSS로 모바일 퍼스트 반응형 디자인을 구현했습니다. 플랫폼별 수수료(네이버 1.98%, 스페이스클라우드·여기어때 10%)가 자동으로 반영된 수익 분석도 제공합니다.

Spacely
🔄

📊 대시보드 개요

멀티 테넌트 SaaS 통합 관리 모드

오늘 날짜 3월 29일 (일)
💸 환급 필요
0
📇 입금 확인
1

🔔 실시간 알림

네이버 예약 신촌점 5분 전 자동 수집 완료
매칭 중

📋 예약 목록

오늘 (1)
다가오는 예약 (4)
홍길동 을지로점 2026-03-29 · 밤샘
확인 완료
🏠
📅일정
📊통계
💬AI
⚙️설정

🗓️ 1. 통합 캘린더 (Calendar)

  • 네이버·스페이스클라우드·여기어때 예약 현황을 하나의 뷰에서 통합 관리합니다.
  • 실시간 동기화로 중복 예약을 원천 차단하고, 캘린더에서 즉시 알림톡 발송이 가능합니다.

📊 2. 지출 및 수익 분석 (Analytics)

  • 고정 지출(월세, 공과금) 자동 생성 및 변동 지출 내역을 체계적으로 기록합니다.
  • 플랫폼별 수수료가 자동 반영된 순수익 추이를 시각화 리포트로 제공합니다.

✨ 3. AI 운영 비서 (AI Assistant)

  • 최신 Gemini AI 모델과 채팅하며 예약 조회, 매출 분석, 운영 가이드 등 복잡한 질문에 답을 얻습니다.
  • 예약 확정 스크린샷을 업로드하면 AI가 텍스트를 파싱해 자동으로 시스템에 등록합니다.

🛡️ 4. 멀티 테넌트 SaaS (SaaS Architecture)

  • 다수의 운영자가 각자의 공간과 설정을 독립적으로 운영할 수 있는 SaaS 구조입니다.
  • Supabase RLS와 Fernet 암호화로 사용자별 API 키와 민감 정보를 안전하게 격리합니다.
Fintech · Token · Automation · Toss

Spacely Refund & Fintech

역할: 보증금 환급 워크플로우를 완성하는 '피날레'입니다. 예약 완료 후 시스템이 자동으로 고객 전용 토큰 링크를 생성하며, 고객이 링크를 통해 계좌 정보를 제출하면 관리자에게 즉시 알림이 갑니다. 클릭 한 번으로 Toss 딥링크와 연동되어 송금 화면으로 즉시 연결됩니다.

기술적 고민: 단순 정보 수집을 넘어 보안과 UX를 동시에 잡는 것이 핵심이었습니다. 예약별 고유 토큰을 DB에 저장해 링크 위·변조를 방지하고, 은행 입금 문자 자동 매칭과 Toss 딥링크 연동을 통해 기존 5분 이상 걸리던 보증금 정산 프로세스를 30초 이내로 단축했습니다.

💸 보증금 환급 요청 완료
고객님이 환급 계좌를 제출했습니다. 아래 정보를 확인하고 송금을 진행하세요.
💳 정산 정보 요약
💰
환급 예정 금액

50,000원 (보증금 100% 반환)

홍길동 / 홍길동
카카오뱅크 3333-01-2345678
Toss로 송금하기
클릭 시 토스 앱 송금 화면으로 안전하게 연결됩니다.
Google Gemini AI · Multimodal · Telegram

Spacely AI Assistant

역할: 운영자의 의사결정을 돕는 '스마트 파트너'입니다. 자연어 채팅으로 오늘의 예약 현황을 브리핑 받고, 매출 데이터를 분석합니다. 예약 확정 스크린샷을 업로드하면 AI가 자동으로 데이터를 추출해 시스템에 등록하고, 매일 아침 7시에는 Telegram으로 당일 운영 브리핑을 자동 전송합니다.

기술적 고민: 최신 Gemini AI 모델의 멀티모달 기능을 활용해 복잡한 예약 이미지에서 텍스트를 추출하고, 자연어만으로 복잡한 DB 조회를 가능하게 했습니다. 또한 Telegram Bot API와 연동해 에러 알림과 모닝 브리핑을 자동화하여, 운영자가 앱을 열지 않아도 하루를 시작할 수 있는 환경을 구현했습니다.

☀️ 모닝 브리핑 (Telegram 자동 전송)
오늘 신촌점 2건 · 을지로점 1건
미입금 1건 · 환급 대기 0건
오늘 신촌점 예약 현황 알려줘.
📍 오늘 신촌점은 총 2건입니다.
1. 낮: 홍길동님 (입금 완료)
2. 밤샘: 김철수님 (입금 대기)
📷 (예약 캡처 이미지 업로드)
🔍 이미지에서 예약 정보를 추출했습니다.
✅ 을지로점 3/30 밤샘으로 등록하시겠습니까?
준비 중입니다.
조금만 기다려주세요!