728x90

서비스를 출시한 지 두 달이 되어갈 무렵, 여러 건의 견적 문의가 들어오면서 실제 매출로 이어지기 시작했다. 이 과정을 통해 기존 B2C를 넘어 B2B까지 확장할 수 있는 기회도 엿볼 수 있었다.

 

무엇보다도 고객들로부터 직접 견적 문의가 들어오고, 실제 시공까지 연결되어 수익이 발생했다는 점에서 큰 보람을 느꼈다. 내가 만든 서비스가 고객의 니즈를 충족시켰다는 사실이 뿌듯하게 다가왔다. 예전에 배달의민족 김범준 대표가 “개발자는 코딩하는 사람이 아니라 문제를 해결하는 사람이다”라고 말했던 것이 문득 떠올랐다. 그 말을 처음 들었을 땐 단순히 좋은 말이라 생각했지만, 지금은 그 의미를 몸소 체감하고 있다.

 

샷시 가격을 측정하는 데 불편함을 겪던 고객들, 그리고 그 가격이 합리적인지 판단할 기준조차 없었던 상황을 ‘호빵’이 해결했다. 그 결과, 현재까지 약 250명의 고객이 300건 이상의 견적을 받아보았다. 이 수치는 고객의 실질적인 문제를 해결했기 때문에 가능한 성과라고 생각한다. 그리고 그런 문제 해결이 결국 수익으로 이어졌기에, “해결하는 사람”이라는 말이 더욱 깊게 와 닿았다.

 

최근에는 샷시 공장을 운영하는 한 기업으로부터 연락도 받았다. 그 회사는 이전에 SI 업체에 호빵과 유사한 견적 시스템을 의뢰했지만, 가격 오차 범위가 너무 커서 결국 프로젝트를 포기한 경험이 있었다고 한다. 그런데 이번엔 내 서비스를 보고 직접 개발을 맡기고 싶다는 제안을 해왔다. 아직 협의 중이지만, 이 일을 통해 공장 내부에서 사용할 수 있는 수요가 분명히 존재한다는 사실도 확인할 수 있었다.

 

이런 흐름 속에서 ‘호빵 비즈니스(가칭)’라는 이름으로 기업용 서비스를 별도로 기획해볼 계획이다. 서비스의 가능성이 B2C를 넘어 B2B까지 확장될 수 있다는 점에서 새로운 도전이자 기회라고 생각한다.

'난중(개발)일기 > [프로젝트] 호빵' 카테고리의 다른 글

서비스 시작 후 1달차 회고  (1) 2025.03.23
출시 후 2주차 회고  (1) 2025.03.03
728x90

org.apache.kafka.connect.errors.ConnectException: Error configuring an instance of KafkaSchemaHistory; check the logs for details\n\tat io.debezium.storage.kafka.history.KafkaSchemaHistory.configure(KafkaSchemaHistory.java:208)\n\tat io.debezium.relational.HistorizedRelationalDatabaseConnectorConfig.getSchemaHistory(HistorizedRelationalDatabaseConnectorConfig.java:137)\n\tat io.debezium.relational.HistorizedRelationalDatabaseSchema.<init>(HistorizedRelationalDatabaseSchema.java:50)\n\tat io.debezium.connector.binlog.BinlogDatabaseSchema.<init>(BinlogDatabaseSchema.java:79)\n\tat io.debezium.connector.mysql.MySqlDatabaseSchema.<init>(MySqlDatabaseSchema.java:41)\n\tat io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:99)\n\tat io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:251)\n\tat org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.initializeAndStart(AbstractWorkerSourceTask.java:278)\n\tat org.apache.kafka.connect.runtime.WorkerTask.doStart(WorkerTask.java:175)\n\tat org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:224)\n\tat org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:280)\n\tat org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:78)\n\tat org.apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:237)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\

 


문제의 Debezium-DB 연결 명령

curl -X POST http://localhost:8083/connectors \

-H "Content-Type: application/json" \

-d '{

  "name": "{커넥터_이름}",

  "config": {

    "connector.class": "io.debezium.connector.mysql.MySqlConnector",

    "database.hostname": "{MySQL_호스트_이름_or_컨테이너_이름}",

    "database.port": "{MySQL_포트}",

    "database.user": "{MySQL_사용자명}",

    "database.password": "{MySQL_비밀번호}",

    "database.server.id": "{MySQL_복제_서버_ID(고유숫자)}",

    "database.include.list": "{감지할_DB명}",

    "topic.prefix": "{Kafka_토픽_프리픽스}",     

    "database.server.name": "{Kafka_토픽_서버명}",

 

    "database.history.kafka.bootstrap.servers": "{Kafka_호스트:포트}",

    "database.history.kafka.topic": "{Kafka_스키마_히스토리_토픽명}",

    

    "include.schema.changes": "true"

  }

}'

 

여기에서 에러가 났다.

이유는 Debezium 버전문제였다. 1.x 버전은 Kafka 스키마 히스토리 토픽명의 key값으로 database.history.kafka.topic 으로 해야하고 2.x 버전은 schema.history.internal.kafka.topic 으로 해야했다. 그래서 

 

curl -X POST http://localhost:8083/connectors \

-H "Content-Type: application/json" \

-d '{

  "name": "{커넥터_이름}",

  "config": {

    "connector.class": "io.debezium.connector.mysql.MySqlConnector",

    "database.hostname": "{MySQL_호스트_이름_or_컨테이너_이름}",

    "database.port": "{MySQL_포트}",

    "database.user": "{MySQL_사용자명}",

    "database.password": "{MySQL_비밀번호}",

    "database.server.id": "{MySQL_복제_서버_ID(고유숫자)}",

    "database.include.list": "{감지할_DB명}",

    "topic.prefix": "{Kafka_토픽_프리픽스}",     

    "database.server.name": "{Kafka_토픽_서버명}",

 

    "database.history.kafka.bootstrap.servers": "{Kafka_호스트:포트}",

    "schema.history.internal.kafka.topic": "{Kafka_스키마_히스토리_토픽명}",

    

    "include.schema.changes": "true"

  }

}'

 

이렇게 하니까 잘 된다.

728x90

한 달 만에 195명, 호빵 유저를 모으며 느낀 마케팅의 힘

 

호빵 서비스를 본격적으로 알리기 시작한 지 어느덧 한 달이 넘었습니다. 그 사이 약 180명의 유저가 가입했고, 그 과정을 통해 가장 크게 느낀 점은 “마케팅은 사업의 절반 이상”, 어쩌면 80% 이상일 수도 있다는 사실이다.

 

단순히 좋은 서비스를 만드는 것만으로는 충분하지 않았습니다. 어떻게 알릴지, 어디에 노출할지, 어떤 메시지로 전달할지가 오히려 더 중요하다는 것을 매일 실감하고 있다.

 

 

데이터 기반 마케팅의 위력

 

마케팅 전략을 세우는 데 있어 통계 데이터의 힘은 정말 강력했다.

총 가입자 수

등록된 견적 수

앱 유입 비율

일별 유저 유입/탈퇴/견적 등록 추이

지역별 견적 등록 수

유입 경로별 클릭 수

 

이 모든 데이터를 시각화하여 매일 확인하고 분석했다.

 

예를 들어, 지역별 견적 등록 수를 분석해보니 서울/경기권의 수요가 압도적으로 높다는 것을 확인할 수 있었고, 이를 기반으로 인스타그램 광고의 타겟 지역을 정했다.

 

또한 일별 유저 유입 그래프를 통해 신규 유저가 주말에 더 많이 유입된다는 사실을 파악했고, 그에 맞춰 광고 예산을 주말에 집중적으로 투입하는 전략을 실행했습니다. 작은 실험이었지만, 분명한 효과를 체감할 수 있었다.

 

 

고객의 ‘진짜 니즈’에 다가가기

 

마케팅을 하며 또 한 가지 중요한 것을 배웠다.

바로 잠재고객들이 무엇을 원하는지를 명확히 파악해야 한다는 것다.

 

서비스에 대한 메시지를 조금씩 바꿔가며 실험해봤습니다. 블로그, 카페, SNS 등에 홍보 글을 올릴 때마다 서비스 URL에 쿼리 파라미터를 다르게 설정해 경로별 클릭 수를 추적했다.

 

그 결과, 유저들이 가장 관심을 가지는 포인트는 단연 “가격”이었다.

 

예를 들어 인스타그램 광고에서 단순한 이미지보다, 정확한 수치가 명시된 이미지를 올렸을 때 클릭율이 훨씬 높았다.

 

단순 텍스트 설명 이미지 (클릭률 2.2%)

 

 

정확한 가격 수치 포함 이미지 (클릭률 7.8%)

 

무려 5.6%포인트 차이였다.

이 작은 차이가 실제 유저 유입에는 큰 차이를 만들어냈다.

 

 

결과

 

지금도 호빵의 마케팅은 실험 중이다.

어떤 문구가 사람들의 마음을 움직이는지, 어떤 플랫폼에서 전환율이 높은지,

그리고 결국 어떤 정보가 고객에게 ‘신뢰’로 다가가는지.

 

이 모든 것을 고민하고 실험하며, “가장 정확하고, 가장 합리적인 창호 견적 플랫폼” 으로 자리잡기 위한 여정을 계속하고 있다.

 

앞으로 구글, 네이버 등 광고를 진행 하여 고객님들의 반응을 살펴 볼 예정이다.

 

추가적으로 할인 이벤트를 할 예정인데 문구를 어떻게 해야 할지 광고를 해서 반응을 살펴 봐야할 것 같다.

 

+ Recent posts