개발자 99% 커뮤니티에서 수다 떨어요!
안녕하세요 리프입니다. 개발은 꽤 오래전에 관두었었고 오래동안 코딩을 손에 놓았습니다. 개발 경력은 많지 않았습니다. 그러다가 바이브코딩과 AI 툴의 등장과 함께 여러 강의를 들으면서 서비스런칭을 해 수익화에 도전해보고 싶다는 마음에 3~4개월 전부터 노마드코더 강의를 접하게 되었고 이번 기회를 통해 처음으로서비스 런칭을 해보게 되었습니다.
최종 배포 URL:
프로젝트 설명:
FlowyPrompt는 변수 기반 프롬프트 템플릿 생성 및 관리 플랫폼입니다. 사용자의 프라이버시를 최우선으로 하여 모든 데이터를 로컬 브라우저에 AES-256 암호화로 저장하는 웹 애플리케이션입니다. 클라우드 의존성 없이 사용자의 기기에서만 데이터를 처리하여 완전한 프라이버시 보호를 제공합니다. 또한 브라우저 db 안에 있는 프롬프트 탬플릿을 개인의 github에 저장하고 다운로드하는 기능도 제공합니다.
대상 :
1. 자신만의 프롬프트 템플릿을 안전하고 Private하게 저장하고 싶은사람
2. 프롬프트의 결과까지 저장하고 그 결과를 시각화해서 저장해서 보고 싶은사람
3. 프롬프트의 결과가 다음 프롬프트에 영향을 주어서 프롬프트의 여러 플로우 단게를 저장하고 싶은사람
효과: 반복되는 프롬프트 저장 및 활용으로 시간 단축 (옵시디언 사용자 포맷 활용가능)
여러단계의 프롬프트를 저장 및 활용. 이미지 프롬프트 저장.
안전한 저장 방식을 통한 DB가 해킹 위험에 노출 되어도 프롬프트는 노출되지 않음
Github을 통한 버전관리와 프롬프트 템플릿 또는 플로우 공유
핵심 기능(MVP) 설명:
자동 변수 감지: {variable} 패턴을 자동으로 감지하고 UI 입력 필드를 생성
- {{variable}} 변환제공 : 옵시디언 유저를 위함
- {variable} 의 경우 FASTMCP 등의 변수 패턴과도 호환 가능
템플릿간의 연결을 위한 템플릿 플로우 구현 (저장 및 불러오는 기능 포함)
스마트 입력 필드: 플로우 빌더에서 프롬프트 템플릿의 저장된 변수를 자동으로 불러오는 기능
클립보드 복사: 완성된 프롬프트를 클립보드로 복사
마스터키를 통한 템플릿 보안
템플릿에 이미지 저장 기능 구현 (1MB github 제한 있음)
github에 템플릿 업로드 다운로드 기능 구현 ( IndexDB <-> github)
***** 자세한 내용은 Document 페이지를 참고하시기를 바랍니다. *******




POLAR SANDBOX 입력 예시
테스트 기간에 회원 기록이 삭제가되더라도 polar.sh 샌드박스관리페이지에는 이름과 메일정보가 남기 때문에 주기적으로 삭제를 하도록 하겠습니다.
실제카드 입력 금지!

polar.sh이 스트라이프에서 제공하는 카드 test 환경제공
https://polar.sh/docs/integrate/sandboxhttps://docs.stripe.com/testing#cards
참고
기술 스택프론트엔드: React 19, TypeScript, Tailwind CSS, Radix UI
상태 관리: React Router 7, IndexedDB
암호화: CryptoJS (AES-256-CBC, PBKDF2)
워크플로우: ReactFlow
배포환경 : Vercel, CloudFlare
메일 : Resend
결제플랫폼 : Polar.sh
정보수집 : PostHog(어느페이지 방문정보), Sendbox (오류, 버그리포트)
Github: octokit
보안 사항
구체적인 솔트 길이와 반복 횟수
암호화 키 생성의 세부 알고리즘
타이밍 공격 방지의 정확한 구현 방식
디바이스 바인딩의 구체적인 메커니즘
키 회전 과정의 세부 단계
보안 검증의 정확한 로직
에러 처리 및 예외 상황 대응 방식
해당 서비스 특성상 개인저장소와 보안이 컨셉이기 떄문에 github은 공개하지 않겠습니다.
- Supabase DB 암호화 구현
현재 이 프로그램은 polar.sh sandbox로 사용하고 있기 때문에 실제결제가 일어나지 않습니다.
Github 관련 보안 사항
1. 토큰 암호화 저장
GitHub PAT를 AES-256으로 암호화하여 메모리에만 저장하고, 30분 자동 만료
설정에서 토큰을 [ENCRYPTED]로 표시하여 메모리에 평문으로 저장되지 않도록 차단
GitHub API 제한을 준수하는 자체 Rate Limiter로 과도한 요청 방지
https://github.com/owner/repo 형식만 허용하는 엄격한 URL 검증
ghp_(레거시)와 github_pat_(신규) 형식 지원, 최소 20자 이상 강제
6. 자동 정리 시스템
5분마다 만료된 요청 기록을 자동 정리하여 메모리 누수 방지