AI 블로그 글 생성 앱 SCRIBE

제목과 키워드, 읽을 사람을 넣으면 GPT가 블로그 초안을 쓰고 사진을 찾아 주는 앱입니다.

기술
Flutter · Dart · FastAPI · SQLAlchemy · MySQL · OpenAI gpt-3.5-turbo · Pixabay API · Google Sign-In · Firebase

소개

블로그 초안 한 편을 앱 하나로 끝내 보려던 사내 프로젝트

SCRIBE는 포너즈가 고객 의뢰 없이 스스로 기획한 앱입니다. 유저 스토리와 기능 명세부터 앱과 서버 코드까지 팀이 만들었습니다. 생성형 AI를 모바일 앱에 붙이는 흐름을 처음부터 끝까지 직접 만들어 보려는 과제였습니다.

문제

주제 잡기부터 사진 고르기까지 매번 손이 가는 블로그 글

블로그를 쓰는 사람은 글 한 편마다 주제를 잡고 구성을 짜서 본문을 씁니다. 읽을 사람에 맞춰 말투를 고르고, 글에 넣을 사진도 따로 찾아야 합니다.

홍보용 블로그처럼 글을 자주 올려야 하면 이 과정이 글마다 되풀이됩니다. 초안을 쓰는 첫 단계에 시간이 가장 많이 듭니다.

팀은 입력부터 생성, 저장, 다시 보기까지를 앱 하나로 이어 보기로 했습니다.

해결

입력 네 칸을 한 프롬프트로 묶는 서버와 Flutter 앱

포너즈는 앱과 서버를 따로 만들어 API로 이었습니다. 글은 GPT가 쓰고 사진은 검색으로 찾습니다.

  • 글쓰기 입력: 글의 제목, 스타일, 키워드, 읽을 사람을 받습니다. 예시로 "전문적으로", "중학생"을 보여 줍니다.
  • 글 생성: 스타일·키워드·독자를 한 프롬프트로 묶어 gpt-3.5-turbo에 한 번 보냅니다.
  • 사진 찾기: 입력한 키워드로 Pixabay를 검색해 사진을 최대 세 장 가져옵니다.
  • 글 저장과 조회: 글을 스타일·키워드·독자·사진 주소와 함께 저장합니다. 전체 글과 태그별 글을 다시 볼 수 있습니다.
  • 앱 화면과 로그인: 로그인은 구글 계정으로 합니다. Figma 화면은 DhiWise로 Flutter 코드로 옮겼습니다. 상태 관리와 API 연동은 손으로 붙였습니다.
  • 사람의 수정: 결과 화면은 생성된 글을 고칠 수 있는 입력 칸에 띄우고 복사 버튼을 둡니다. 사용자가 초안을 고친 뒤 복사해 쓰는 흐름입니다.
글의 주제, 넣을 키워드, 읽을 사람, 스타일을 한 화면에서 받는 글쓰기 화면

서버는 Rust에서 FastAPI로

처음 개발 스펙은 Flutter와 Rust였고 Rust로 서버 뼈대를 먼저 세웠습니다. 이후 글 생성과 사진 검색은 Python FastAPI 서버에 따로 만들었습니다. OpenAI와 Pixabay를 부르는 라이브러리와 예제는 Python 쪽이 많습니다. 외부 API를 빨리 붙여 시험하기에는 FastAPI가 수월했습니다.

사진은 생성하지 않고 검색으로

이미지를 생성하면 한 장마다 비용과 시간이 들고 결과도 고르지 않습니다. 그래서 기능 명세에 있던 이미지 생성 대신 키워드로 Pixabay를 검색해 사진을 붙였습니다.

글 종류는 블로그 하나로

첫 구상에는 SNS 글도 있었지만 유저 스토리를 쓰면서 블로그 글 하나로 좁혔습니다. SNS 글은 채널마다 길이와 형식이 달라 입력 화면과 프롬프트를 따로 짜야 합니다.

결과

빈 화면 대신 초안과 사진에서 시작하는 글쓰기

이 앱은 스토어에 올리지 않았고 팀 안에서 시험하는 데서 멈췄습니다. 앱에서 사용자는 GPT가 쓴 초안과 사진을 최대 세 장 받아 글을 시작합니다. 초안을 고쳐 복사하면 한 편이 끝납니다.

블로그 초안 쓰기
이전주제·구성 정리(사람) → 독자에 맞춰 본문 작성(사람)
이후제목·스타일·키워드·독자 입력(사람) → GPT 초안 생성(시스템) → 초안 확인과 수정(사람) → 글 저장(시스템)
글에 넣을 사진 고르기
이전이미지 사이트 검색(사람) → 사진 고르기·내려받기(사람)
이후키워드로 사진 검색, 최대 세 장(시스템) → 사진 확인(사람)

아직 안 되는 것도 코드로 확인했습니다. 네이버·티스토리 같은 외부 블로그에 올리는 기능은 없고 앱 서버에 저장하는 데까지입니다. 결과 화면에서 고친 글은 서버에 다시 저장하지 않아 복사해서 씁니다. 글 본문 저장 칸이 255자라 긴 글은 그대로 저장할 수 없습니다. 로그인은 구글 계정만 됩니다.

이 사례 공유

비슷한 프로젝트를 준비하고 있다면

무엇을 만들지 아직 정리되지 않아도 괜찮습니다. 지금 상황을 알려 주시면 진행 방식과 범위를 함께 잡습니다.

상담 신청하기