핀수로그
  • 스모어타임 : 걱정은 녹이고, 마음은 가볍게
    2026년 07월 22일 20시 41분 55초에 업로드 된 글입니다.
    작성자: 핀수
    728x90
    반응형

    개인프로젝트를 심심치않게 진행하고 있긴하지만

    포트폴리오에 녹여내는 것은 한계가 있어보여서

    이번 기회에 프로젝트 하나씩 회고를 해보는 시간을 가지려고 한다!

    첫번째 순서는 가장 먼저 만든 스모어타임이다.

     

    스모어타임이란?

     

    고민을 털어놓으면 객관적으로 바라볼 수 있도록

    질문 세개가 따라붙는다. 그것에 대해 자유롭게 생각해보고

    답변을 달 수 있는 다이어리앱이다!

     

    *질문은 AI를 도입해 내용에 맞게 할 수 있다면 좋았겠지만

    현재는 

    1. 소중한 친구가 같은 고민을 한다면, 어떤 말을 해주고 싶나요?

    2. 걱정을 조금이라도 덜기 위해, 지금 당장 할 수 있는 작은 일은 무엇일까요?

    3. 지금 이 고민은 실제로 일어난 일인가요, 아니면 막연한 불안에 가까울까요?

    이렇게 고정으로 나오게 되어있다.

     

    작업 계기

    종종 목적 없는 걱정으로 골머리를 앓을 때

    나를 불안하게 하는 것들을 써내려가다보면

    시간을 할애해 걱정할 가치가 없는 것들이 대부분이었다.

     

    그래서 내 고민을 자유롭게 풀어놓고, 거기에 대해 객관적인 질문을 누군가

    던져줄 수 있다면..지금 내가 겪고 있는 이 힘듦이 조금 덜어지지 않을까? 하는 생각이 들었다.

     

    이름은 뭘로할까? 코코아에 마시멜로우를 넣어먹는게 생각이 났고,

    고민(마시멜로우)을 녹여내면 인생(코코아)이 좀 더 진해지지 않을까?

    로 생각이 이어졌고, 마시멜로우 -> 스모어쿠키..

    이런 의식의 흐름으로 스모어타임이 됐다.

    자연스럽게 대표캐릭터는 마시멜로우 모양을 한 '멜리'가 됐다.

     

    만들면서 한 고민들

    1. 데이터를 어디에 둘까

    아무래도 나의 깊은 고민까지 털어둔다고 생각한다면

    서버에 저장하는 것보다는 로컬에 저장하도록 하는게 좋을 것 같았다.

    Hive(로컬 NoSQL DB)를 써서 데이터를 기기 내에만 저장하는 것으로 시작했다.

     

    화면(Screen) -> Repository -> Hive

     

    흐름을 설계해 화면이 직접 DB에 접근하는 일은 없도록 했다.

    이후에 기기를 변경하게 되면 데이터가 다 날아간다고 생각하니 불편했고,

    백업 기능을 추가했는데 이때 repository 계층이 하나 존재하니

    기능을 추가하는데에도 힘들지 않았다.

    (당연히 데이터는 암호화되어 저장된다.)

     

    2. 리젝 대응과 배포 후 발생하는 오류 해결하기

    백업 기능이 추가되면서 자연스럽게 로그인 기능이 따라붙게 되었다.

    OAuth를 활용해 로그인처리를 했는데

    소셜 로그인을 하나라도 넣으면 iOS 배포 시 애플로그인이 필수다.

    우회하는 방법을 찾아보기도 했는데 그냥 다는게 마음이 편한것 같다.

     

    애플로그인 추가하고 심사를 받았는데 제대로 동작하지 않아 심사가 거절되었다.

     

    [Flutter]Firebase Apple 로그인 시 "Invalid OAuth response from apple.com" 에러

    Flutter의 firebase_auth에서 invalid-credential Invalid OAuth response from apple.com 관련 에러 대처 방법을 알아봅시다.

    velog.io

     

     

    0613 애플로그인 트러블슈팅

    Sign in with Apple 버튼 클릭 시 Apple 로그인 창은 뜨고 응답도 도착함그러나 다음과 같은 에러 발생:시뮬레이터뿐 아니라 TestFlight에서 배포된 앱에서도 동일 증상 발생Firebase 로그인을 위한 OAuthCreden

    velog.io

    위 링크 두개를 보고 해결해서 심사가 통과되었다.

     

    배포 이후 ApiException: 12500 에러가 발생했다.

    잘되던 구글로그인도 말썽을 부린 것..

    원인은 플레이스토어에 올릴 때 앱을 자기 서명 키로 재서명하는데

    그 키의 SHA-1을 Firebase에 미처 등록하지 못해서였다.

     

    SHA-1을 등록했는데 'google-services.json'이 갱신이 안돼서

    한참 씨름하다 디버그 지문 다시 등록하고 json 다시 받으니까 갱신되었다.

    그리고 당연히 ApiException: 12500 에러도 사라졌다.

     

    3. 어디까지 만들까

    개발하면서 변한 것이 하나 있다면 바로 완벽주의를 살짝 내려놓은 것이다.

    당연히 퀄리티도 중요하지만, 빠르게 만들고 내놓은 다음 반응을 살피며

    보완해 나가는게 개인 앱에서 더 중요하다고 생각했다.

     

    그래서 MVP를 빠르게 작업해 배포를 하고

    원하는 기능을 하나씩 붙였다.

    다국어 처리, 백업 기능 등이 그 예이다.

     

    짧은 회고

    사이드 프로젝트를 계획할 때 가장 먼저 고려하는 것이

    '나도 쓰고 싶은가?'이다. 나조차도 쓰지 않는데 어떤 사용자가

    내걸 찾아 써주겠나?  그래서인지 스모어타임은 조금 더 애정을 가지고 작업할 수 있었다.

     

    스모어타임은 바이브코딩으로 작업했는데, 확실히 빨랐다.

    아이디어를 빠르게 검증할 수 있다는 면에 완전히 동의한다.

    다만, 직접 개발을 할때보다 느슨해지는 것이 느껴졌다. 

    그래서 실수도 종종했다. 주로 귀찮아서 검증하지 않았거나, AI의 작업을 굳게 믿은 경우 발생했다.

    코드든 뭐든, 작업은 AI가 해줘도 그 작업물의 주인은 나라는 걸 잊어서는 안되겠다고 생각했다.

     

    그래도 이번 스모어타임은 멜리라는 캐릭터를 만들고

    캐릭터가 가진 스토리를 통해 UI/UX를 설계한 경험이어서, 그 과정이 즐거웠다.

     

    그리고 홍보와 마케팅이 얼마나 중요한건지도 이번에 절실히 깨달았다..

    대부분의 사이드프로젝트, 바이브코딩 작업물이 그렇듯

    사용자가 거의 오지 않으니 말이다..🥲

     

     

    728x90
    반응형
    댓글