문제
단골을 만들고 싶은 작은 매장은 도장 종이, 메신저 채널, 자체 앱 가운데 하나를 골라 따로 꾸립니다. 매장마다 앱을 만들기엔 비싸고, 손님은 매장마다 앱을 깔고 싶어 하지 않습니다.
누비그램은 손님 한 사람이 앱 하나로 여러 매장의 단골이 되는 공용 단골 앱입니다. 계산할 때 6자리 코드를 보여 주면 적립되고, 쌓인 포인트는 그 매장에서 할인으로 씁니다. 예약은 누비AI로 이어집니다.
개정 2 · 2026-10-27 · 매장 소식 · 쿠폰 쓰기 · 누비AI 예약 연결 · 이번 주 보고를 더했습니다. 지금 유효한 결정은 §8 '정해진 것'에 모았습니다. 화면은 개발 빌드에서 시연 매장으로 찍었습니다.

단골을 만들고 싶은 작은 매장은 도장 종이, 메신저 채널, 자체 앱 가운데 하나를 골라 따로 꾸립니다. 매장마다 앱을 만들기엔 비싸고, 손님은 매장마다 앱을 깔고 싶어 하지 않습니다.
공용 앱 하나에 매장마다 공간을 줍니다. 손님은 한 번 시작하고, 매장을 골라 들어가 적립하고 씁니다. 한 화면에는 한 매장만 보입니다.
계정과 포인트 기록은 누비AI와 한 곳에 둡니다. 같은 손님이 누비AI로 예약하고 누비그램으로 단골이 됩니다. 적립과 사용은 매번 매장 직원이 손님을 보고 승인합니다.
2026년 10월 26일 nubigram.linkedgram.kr로 열었습니다. 다음 날 매장 소식(공지 · 이벤트 · 쿠폰)과 쿠폰 쓰기, 누비AI 예약 연결, 매장 주간 보고를 더했습니다. 지금은 첫 매장을 섭외하고 있습니다.
출발은 미라클타임입니다. 오프라인 매장 미라클쿠지 한 곳의 QR 적립 앱이 출석 · 소식 · 관심사 커뮤니티로 자랐고, 그 뼈대를 저희가 만들었습니다. 이제 그 경험을 매장마다 자기 앱으로 엽니다. 누비그램입니다.
미라클쿠지의 단골 앱. QR 적립에서 출석 · 소식 · 커뮤니티로 자랐습니다. 지금도 미라클쿠지의 앱으로 이름 그대로 운영됩니다.
같은 경험을 공용 앱 하나에 매장마다 공간으로. 코드는 새로 썼고, 계정과 기록은 누비AI와 하나로 이어집니다.
화면은 2026년 10월 26~27일 개발 빌드에서 시연 매장('(시연)' 표기)으로 찍었습니다. 휴대폰 번호는 쓰이지 않는 시험 번호입니다. 화면을 누르면 크게 볼 수 있습니다.
첫 화면에 적립을 여는 매장이 모입니다. 매장마다 결제 금액의 몇 %가 쌓이는지 바로 보입니다. 매장 주소로 바로 들어올 수도 있어서, 계산대에 붙일 QR도 그 주소로 만듭니다.
포인트매장을 넘나드는 일은 첫 화면에서만 합니다. 매장 안에서는 그 매장만 보입니다.

번호 하나면 됩니다. 누비AI에서 쓰던 번호면 같은 계정이라, 예약한 사람과 단골이 한 사람으로 이어집니다. 매장에는 번호 끝 네 자리만 보입니다.
포인트문자 확인은 준비 중이라, 지금은 처음 시작한 기기에서 이어 씁니다. 그래서 적립과 사용은 매번 매장 직원이 손님을 보고 승인합니다.

매장에 들어가면 그 매장 포인트, 출석 횟수, 적립률이 단골 카드 한 장에 보입니다. 아래에 적립 코드 받기, 포인트 쓰기, 예약하기가 있습니다.
포인트포인트는 매장마다 따로 쌓이고 그 매장에서만 씁니다.

'적립 코드 받기'를 누르면 6자리 숫자가 크게 뜹니다. 90초 동안 쓸 수 있고, 남은 시간이 보입니다. 계산할 때 직원에게 보여 주면 됩니다.
포인트카메라도, 따로 설치할 것도 없습니다. 숫자 여섯 개만 보여 주면 됩니다.

직원이 코드와 결제 금액을 넣으면 손님 화면이 저절로 '적립됐어요'로 바뀝니다. 18,500원에 5%면 925포인트입니다. 그날 그 매장 첫 적립은 출석으로도 남습니다.
포인트포인트 계산은 서버가 합니다. 화면은 서버가 돌려준 값만 보여 줍니다.


쓸 포인트를 넣고 '포인트 쓰기'를 누르면 사용 코드가 뜹니다. 직원이 승인하면 그만큼 할인됩니다. 잔액보다 많이 쓸 수는 없습니다.
포인트매장이 적립을 잠시 쉬어도 이미 쌓인 포인트는 쓸 수 있습니다.


매장이 올린 공지 · 이벤트 · 쿠폰이 단골 카드 아래 '소식'에 모입니다. 쿠폰과 이벤트가 위에 오고, 기간이 있으면 날짜가 함께 보입니다. 기간이 지나거나 매장이 숨기면 사라집니다.
포인트소식은 그 매장 공간에만 뜹니다. 다른 매장 소식이 섞이지 않습니다.

쿠폰의 '쿠폰 쓰기'를 누르면 적립 코드처럼 6자리 숫자가 뜹니다. 직원이 코드를 넣어 승인하면 손님 화면이 '쿠폰을 썼어요'로 바뀌고, 쿠폰에는 '사용함'이 붙습니다. 직원이 결제 금액도 함께 넣으면 적립까지 한 번에 됩니다.
포인트쿠폰 하나는 한 사람이 한 번만 씁니다. 같은 쿠폰을 두 번 승인할 수 없게 서버가 막습니다.


매장 공간의 '이 매장 예약하기'를 누르면 누비AI가 그 매장으로 대화를 바로 시작합니다. 매장을 다시 찾을 필요가 없습니다. 다녀간 매장은 누비그램 첫 화면 '내 단골'에 잔액과 함께 모입니다.
포인트예약은 누비AI 한 곳에서만 합니다. 로그인 없이 쓰고, 이 기기를 알아보는 쿠키 하나를 씁니다.


매장은 따로 앱을 깔지 않습니다. 누비AI 관리 화면 안 '단골 적립'에서 적립률을 정하고, 손님 코드를 넣어 승인합니다. 소식을 올리고 한 주 결과도 같은 화면에서 봅니다. 예약 · 적립 · 소식 · 단골이 한 화면에 있습니다.




코드가 틀리거나 시간이 지났으면, 손님에게 무엇을 다시 받게 할지까지 한 문장으로 알려 줍니다.



포인트는 작은 돈입니다. 그래서 돈처럼 다룹니다.
계정과 포인트 기록은 누비AI 서버 한 곳에만 둡니다. 앱은 저장하지 않습니다. 적립과 사용은 기록을 더하기만 하고, 잔액은 언제나 기록의 합과 같습니다. 고칠 때도 보정 기록을 더합니다.
같은 코드는 동시에 두 번 눌러도 한 번만 승인됩니다. 잔액보다 많이 쓰려 하면 서버가 잔액을 잠근 채 다시 확인하고 막습니다. 쿠폰도 한 사람에 한 번만 쓰입니다.
코드는 90초만 살아 있고, 적립과 사용은 매번 매장 직원이 손님을 앞에 두고 승인합니다. 한 사람이 한 매장에 가진 살아 있는 코드는 하나뿐입니다.
휴대폰 번호는 암호화해 두고 매장에는 끝 네 자리만 보입니다. 검색 노출은 막아 두었습니다.
누비AI가 손님을 매장에 데려오고, 누비그램이 그 손님을 단골로 남깁니다. 계정 하나, 매장 키 하나라 손님 한 사람의 여정이 끊기지 않습니다.
누비AI가 발견하고, 누비그램이 이어갑니다.
누비그램 안에 매장 공간이 바로 생깁니다. 작은 매장과 시작하는 매장은 여기서 시작합니다. 따로 앱을 만들 비용이 없습니다.
큰 가맹사는 같은 코드로 자기 이름의 앱을 엽니다. 매장이 커져 옮겨 가도 단골 기록과 매장 키는 그대로입니다.
예약 · 적립 · 소식 · 단골을 누비AI 관리 화면 하나에서 봅니다. 공지 · 이벤트 · 쿠폰을 올리고, 한 주 결과를 숫자로 봅니다.
누비그램은 링크드그램이 매장에 드리는 지원 상품 다섯 가지(리뷰 · 전용 앱 · 홈페이지 · 광고 · 예약 접수) 가운데 '전용 앱' 자리입니다. 이용료와 조건은 필드테스트를 보고 계약에서 정합니다.
계획입니다. 순서와 시점은 필드테스트 결과에 따라 바뀔 수 있습니다.
| 항목 | 확인할 것 | 확인 주체 | 지금 |
|---|---|---|---|
| 포인트와 선불 규제 | 매장 단위 포인트가 선불전자지급수단 · 상품권 규제에 닿는지 | 변호사 | 적립만 · 환전 없음 · 매장 간 교차 사용 없음을 전제로 설계 |
| 개인정보 | 휴대폰 번호 · 매장별 적립 기록의 수집 · 이용 고지와 보관 기간, 매장에 보이는 범위 | 변호사 | 번호 암호화 · 매장엔 끝 네 자리 |
| 확인 없는 가입 | 남의 번호로 먼저 가입하는 일 · 번호만 아는 사람의 시도 | 운영 · 변호사 | 매 거래 직원 승인으로 줄이고, 문자 확인 도입 때 해소 |
| 이름 · 상표 | 누비그램의 상표 등록 가능성과 앱스토어 명칭 | 변리사 | 1차 도메인 · 웹 조사만 마침 · 대외 공개 시점은 대표 판단 |