Green Swagger#

Green Swagger는 2024년 Gemini API Developer Competition에 출품하기 위해 Flutter로 개발한 안드로이드 / iOS 앱입니다. 앱은 “출시를 목표로 개발”까지는 했지만, 여러 이유를 검토한 끝에 출시하지 않기로 결정했고 현재는 프로젝트를 보류한 상태입니다.
대회에 왜 뛰어들었나#
대회의 1등 상금이 무려 30만 달러였고, 경품으로는 영화 백투더퓨쳐에 나올 법한 자동차까지 걸려 있었습니다. 필자 입장에서는 “안 해야 할 이유를 찾기 어려운” 조건이었고, 결국 출품을 결심하게 됐습니다.
하지만 이 프로젝트의 출발점이 단순히 상금 때문만은 아니었습니다. 필자는 꽤 오래전부터 “지구 환경이 심각해지고 있다”는 생각을 하고 있었고, 정말 순수한 의도로 ‘뭐라도 해야 하지 않나?’ 하는 생각을 계속 해왔습니다. 인류는 산업 혁명 이래로 산업과 경제의 발전을 위해 환경을 희생해 왔고, 지구는 워낙 큰 존재라 스스로의 자정 능력으로 인간이 벌이는 문제들을 어느 정도는 감당해 줘 왔습니다. 하지만 “오냐오냐 하다보니” 문제는 더 커졌고, 이제는 기후변화가 직접적으로 체감될 정도로 환경이 악화되고 있다는 것을 느낍니다.
더 두려운 점은 환경 문제의 규모와 관성입니다. “못 살겠다” 싶을 정도로 문제가 심각해진 뒤에 원복하려면 이미 너무 늦을 수 있습니다. 그리고 국가/기업의 리더들도 결국 사람이라 눈앞의 이익에 따라 움직이게 되는 경향이 강할 것이고, 이들이 올바른 방향으로 움직이게 만들려면 일부 지식인이 아니라 대중이 환경에 관심을 갖는 흐름이 필요합니다. 그런데 이게 생각보다 정말 어렵습니다. 개인은 환경 문제 앞에서 무력감을 느끼기 쉽죠. 플라스틱이 문제인 걸 알면서도 배달 음식을 시켜 먹으며 “나 하나쯤이야”를 시전하게 되니까요.
그래서 필자는 “아주 작은 것이라도 뭐라도 하고 싶다”는 마음을 오래 가지고 있었고, Gemini API Developer Competition 소식을 접한 뒤 환경 개선에 기여할 수 있는 앱을 만들어 보기로 했습니다.
주요 개념#
- Eco Action: 환경에 조금이라도 도움이 될 만한 행동을 사진으로 찍어 공유하거나, 환경 관련 기사/글 등의 URL을 공유하는 행동
- Eco Coin: Eco Action을 추가하거나, 앱 개선에 도움 되는 제안을 하거나, 출석 체크를 하면 얻게 되고, 다른 사람의 Eco Action을 응원하는 데에 사용할 수 있는 앱 내 가상 재화
- Green Bot: 사용자와의 대화를 통해 Eco Action을 판별하고 추가하며 Eco Coin을 발행하고, 그 외에도 사용자와 환경 관련 대화를 할 수 있는 AI 봇 (Green Swagger의 핵심)
짧은 소개: “행동을 올리고, 코인으로 응원하고, 대화하는 구조”#
Green Swagger의 핵심은 “환경 개선을 위한 행동”을 지속 가능하게 만드는 동기 부여입니다. 사용자가 Eco Action을 추가해 공유하면, 다른 사용자들이 Eco Coin을 보내며 응원하고, Eco Action을 주제로 서로 대화합니다. 그리고 Eco Coin을 많이 받은 Eco Action, Eco Coin을 많이 보낸 사용자는 랭킹 상위에 노출됩니다.
제출용 시연 영상#
아래는 대회 출품 시 제출했던 영상입니다.
필자는 이 영상을 만들기 위해 영상 편집을 처음 해봤습니다. 그래도 나름 “잘 만들었다”고 생각했는데, 다른 참가자들의 영상을 보니 무슨 TV 광고처럼 만들어서 기가 많이 죽었었죠..
결과: 입상 실패, 그리고 씁쓸한 로그#
제출한 뒤에도 희망의 끈을 놓지 않았지만, 결국 입상하지 못했습니다. 결과가 나온 뒤 서버 로그를 확인해 보니 필자 외에 누군가가 테스트해 본 기록도 없었습니다. 즉, 구글 쪽 테스터가 로그인 시도조차 하지 않았고, 영상/설명 단계에서 탈락(서류 탈락) 했다는 의미였습니다.
다른 출품작들에 비해 크게 밀린다고 생각하지는 않았는데, 지금 생각하면 “내 자식이 과하게 예뻐 보였던” 걸지도 모르겠습니다.
왜 출시하지 않았나: SNS는 ‘기능’보다 ‘운영’이 더 크다#
출시 여부를 꽤 오래 고민했습니다. 결론적으로 출시를 포기한 결정적인 이유는, Green Swagger가 “도구”가 아니라 SNS 성격의 앱이기 때문입니다.
이런 앱은 출시하는 순간부터 기능 추가뿐 아니라 CS 관리, 어뷰징 방지, 운영 이슈 대응까지 꾸준히 리소스를 투입해야 합니다. 게다가 유료 AI API를 사용하는 구조라 악용 방지에 특히 신경을 써야 했습니다. 회사 업무를 메인으로 수행하면서 자투리 시간에 개인 프로젝트로 진행하기에, SNS 서비스는 현실적으로 어렵다고 판단했습니다.
3개월 정도 투자한 시간이 아깝긴 했지만, 프로젝트의 원래 목표가 앱을 출품하고 출시하는 것에만 있던게 아니라 AI 역량을 키우는 과정이기도 했기 때문에, 후회는 없습니다. 그리고 지금은 Green Swagger 개발 작업을 잠정 중단하고 다음을 기약한 상태죠.
현재까지 개발된 기능 나열#
아래는 당시 기준으로 “현재까지 개발된 기능”을 정리해 둔 내용입니다.
- 앱 설치 후 첫 화면은 로그인 화면. 구글 로그인을 하면 메인 화면으로 이동
- 메인 화면에 Eco Action 리스트 노출
- 최신순 또는 인기순 정렬 가능
- 메인 화면 하단의 Floating 버튼을 누르면 Green Bot과의 대화 화면으로 이동
- 일반적인 대화 가능
- 사진을 올리거나, URL을 전달하거나, 이미지 생성 요청을 하면, Green Bot이 해당 컨텐츠의 Eco Action 여부를 확인하고, Eco Action으로 추가가 가능하다면 Add Eco Action 버튼을 노출해 준다. 버튼을 눌러서 Eco Action을 추가하면, 50개의 Eco Coin이 지급된다.
- Green Bot에게 앱에 대한 개선사항을 제안하면, 20개의 Eco Coin이 지급된다.
- 하단의 메시지 입력 영역은, 갤러리 버튼, 카메라 버튼, 텍스트 입력 필드, 마이크 버튼으로 구성된다.
- 마이크 버튼을 press down한 상태로 말을 하면 입력 필드에 텍스트가 기록되고, press up하면 Green Bot이 해당 텍스트를 검사하여 문법, 오타 및 맥락에 맞지 않는 내용을 보정해 준다.
- 메인 화면 우측상단의 메뉴 버튼을 누르면, 우측에서 메뉴 드로어가 나타난다.
- 프로필 정보, 보유한 Eco Coin 수량, 다양한 메뉴들이 노출되고, 메뉴들을 누르면 해당 화면으로 이동한다.
- Get Eco Coins 화면
- Eco Coin을 얻는 다양한 방법들이 있다.
- Add Eco Action: Green Bot과의 대화 화면으로 이동하여, Eco Action을 추가하면 Eco Coin을 얻는다.
- Suggest for app: Green Bot과의 대화 화면으로 이동하여, 앱 개선에 대한 제안을 하면 Eco Coin을 얻는다.
- Daily Check-In: 출석체크를 하면 1일 1회에 한하여 Eco Coin을 얻는다.
- Sliding Puzzle Game: Eco Action으로 등록된 사진이나 그림을 16개의 조각으로 나눠 슬라이딩 퍼즐 게임을 하고, 퍼즐을 완성하면 Eco Coin을 얻고, 해당 Eco Action으로 이동할 수 있다.
- Buy Eco Coins: 인앱구매를 통해 Eco Coin을 구매할 수 있다.
- About Green Swagger 화면
- Green Swagger에 대한 전반적인 소개와, 왜 많은 사람이 환경에 관심을 가져야 하는지에 대한 개발자의 의견이 포함된다.
- Eco Coin Transactions 화면
- Eco Coin 관련 대시보드와 거래 히스토리
- Top Eco Coin Sponsors 화면
- Eco Coin으로 다른 사용자들의 Eco Action을 응원해 준 상위 랭커들을 노출한다.
- 해당 랭커들의 프로필 화면으로 이동할 수 있고, 그들의 Eco Action 리스트 화면으로 이동할 수 있다.
- My Calendar 화면
- 달력 뷰를 이용하여, 사용자가 날짜별로 자신의 행동들을 확인할 수 있다.
- My Profile 화면
- 프로필 사진, 프로필명, Total Eco Coin Donated, Bio, Email, URL, View Eco Actions 버튼이 노출된다.
- Bio, Email, URL은 수정이 가능하다. 대화형 앱의 특성을 살리기 위해, 편집 UI도 채팅과 거의 같은 방식으로 구현했다.
- Email이나 URL 입력시에 마이크로 입력하면, 각각의 형식에 맞게 텍스트를 보정해 준다.
- View Eco Actions 버튼을 누르면, 사용자가 추가한 Eco Action 리스트 화면으로 이동한다.
- Logout: 로그아웃
- Delete Account: 계정삭제(회원탈퇴)
- 메인화면의 Eco Action 리스트에서 항목을 누르면 해당 Eco Action 상세화면으로 이동한다.
- Eco Action의 컨텐츠가 노출된다.
- 사진이나 그림인 경우 그것이 노출되고, 누르면 이미지 뷰어로 이동한다.
- URL인 경우 해당 페이지의 대표 이미지와 제목이 노출되고, 누르면 URL Details 화면으로 이동한다. URL Details 화면에는, 대표 이미지, Title, Short description, Summary, URL이 노출된다. 대표 이미지를 누르면 이미지 뷰어로 이동한다.
- 해당 Eco Action이 획득한 Eco Coin 수량과 그와 관련된 기능이 노출된다.
- 나의 Eco Action인 경우, Visibility on/off 스위치(다른 사용자가 볼 수 있는지 여부를 조정)가 노출된다.
- 나의 Eco Action이 아닌 경우, Send Eco Coins 버튼이 노출되고, 버튼을 누르면 수량 선택 후 Eco Coin을 보낼 수 있다.
- Green Bot이 작성한, 해당 Eco Action에 대한 설명과, 사용자들의 댓글들이 노출된다. Eco Coin을 보낸 것도 댓글로 기록된다.
- 댓글 작성 UI도 채팅과 거의 같은 방식으로 구현했다.
- Eco Action의 컨텐츠가 노출된다.
- 텍스트 롱탭 메뉴
- 앱 내에서 텍스트 영역을 롱탭하면 Bottom Sheet 메뉴가 노출된다.
- Copy to clipboard: 해당 텍스트를 클립보드에 복사
- Talk to Green Bot about this: 해당 텍스트를 들고 Green Bot과의 대화 화면으로 이동한다. 해당 텍스트를 바로 인용하는 상태가 되고, Green Bot에게 해당 텍스트에 대해 뭔가를 요청할 수 있다.
- 앱 내에서 텍스트 영역을 롱탭하면 Bottom Sheet 메뉴가 노출된다.