🚀 COTELEAF 플랫폼 MVP 아키텍처

저비용 · 빠른 출시 · 단계적 성장 전략

작성일: 2025. 12. 11 | 버전: 2.5

작성자: 강병우

🎯 개요

핵심 전략

초기 스타트업(인력 부족)을 위한 현실적인 아키텍처

  • 단계적 성장: 정보 플랫폼 → 제품 판매
  • 언어 통일: JavaScript로 프론트+백엔드 (Node.js)
  • 단계적 배포: rsync → Railway → CI/CD
  • 모놀리식 구조 (개발 속도 우선)
  • 무료/저비용 티어 최대 활용
  • 외부 AI API (자체 개발 X)

💡 비즈니스 모델 변화

단계 목적 수익원
Phase 0 피부 정보 관리 플랫폼(Pilot 데모)
(제품 판매 없음)
분석 서비스 검토
Phase 1 피부 정보 관리 플랫폼(Beta Test 서비스)
(제품 판매 없음)
분석 서비스 판매
3,000~5,000원/건
Phase 2 맞춤형 화장품 판매
(자사 제품 출시 후)
분석 서비스 + 제품 판매
마진 40~50%

🎯 핵심: 타사 제품 사용자도 환영! → 피부 정보 자체가 가치 → 호기심으로 고객 유입 → 나중에 자사 제품 자연스럽게 연결

🔄 원본 설계 vs 현실적 설계

항목 원본 설계 (이상적) 현실적 MVP
아키텍처 마이크로서비스 모놀리식
인프라 AWS ECS + RDS + ElastiCache Railway + Supabase
AI 자체 GPU 서버 (EC2 g4dn) 외부 API (Replicate)
개발 기간 6개월 2~3개월
필요 인력 7~10명 (동시 채용 어려움) 1~2명 (경험자)
인건비 6,400만원/월 830만원/월
총 개발 비용 4.04억원
(6개월 인건비 + 인프라 구축)
3,000만원
(3개월 인건비 + 인프라 구축)
인프라 월 비용 $1,500~2,000/월 $10~30/월

❌ 원본 설계의 문제점(검토 미비점)

  • 마이크로서비스 (초기에는 과도한 복잡도)
  • Auto Scaling, Multi-AZ (불필요한 비용)
  • ECS Fargate, GPU 인스턴스 (높은 인프라 비용)
  • RabbitMQ, Redis Cluster (운영 부담)

💀 치명적 문제: 대규모 인력 필요

7~10명의 개발팀이 필요합니다:
프론트엔드 2명 + 백엔드 3명 + DevOps 2명 + AI 2명 + PM 1명

⚠️ 인력 구성의 현실적 어려움
직군 필요 인원 현실적 문제
프론트엔드 2명 Svelte 경험자 채용 어려움
백엔드 3명 Python + Node.js 동시 필요, 언어 혼재
DevOps 2명 AWS 전문가, 마이크로서비스 경험 필요
AI 엔지니어 2명 높은 연봉, 채용 경쟁 치열
PM 1명 기술 이해 + 관리 능력 필요

🚨 핵심 문제:
→ 이 정도 인력을 동시에 구하기는 거의 불가능
→ 단계적 채용 필요 (채용 기간만 2~3개월)
→ 팀 빌딩 + 협업 프로세스 구축 필요 (추가 1개월)
실제로는 9~12개월 소요

💸 막대한 인건비 부담

직군 인원 월 평균 급여 월 총액
프론트엔드 (중급) 2명 500만원 1,000만원
백엔드 (중급~고급) 3명 600만원 1,800만원
DevOps (고급) 2명 700만원 1,400만원
AI 엔지니어 (고급) 2명 800만원 1,600만원
PM 1명 600만원 600만원
월 총 인건비 6,400만원
💰 총 비용 계산

개발 기간: 6개월 (채용 완료 후)
→ 6,400만원/월 × 6개월 = 3.84억원

+ 채용 비용: 약 1,000만원 (헤드헌팅 수수료)
+ 사무실/장비: 약 1,000만원
+ AWS 인프라: $1,500/월 × 6개월 = 약 1,200만원

총계: 약 4.04억원 💸💸💸

⚠️ 결론: 초기 스타트업에는 현실적으로 불가능
  • 4억원 이상의 자금 필요 (시드 투자 수준)
  • 7~10명 동시 채용 불가능 (3~6개월 소요)
  • 팀 빌딩 + 실제 개발 = 9~12개월
  • 출시 전 매출 없음 (순수 비용)
  • → 인력/자금 부족 스타트업에는 부적합

🗄️ 현실적인 데이터베이스 전략

💡 현실적인 접근: 처음부터 DB 사용 + JSON 컬럼 활용

Phase 0 (Pilot)에서도 최소한의 웹서비스는 필요합니다:
✅ 사용자 로그인 → users 테이블 필수
✅ 검사 결과 저장 → 히스토리 관리 필요
✅ 데이터 조회 → DB 없이 불가능

🎯 Phase 0 전략: MySQL + JSON 컬럼 (빠른 파일럿)
• 기존 MySQL 서버 활용 (이미 있음)
• 기본 테이블만 간단하게 (users, analyses)
• 자주 변경되는 데이터는 JSON 컬럼에 저장
• 빠르게 데모 완성, 투자 유치 집중!

🎯 Phase 1 전략: Supabase로 새로 시작 (정식 서비스) ⭐
• 투자 받은 후 처음부터 제대로 만들기
• JSONB 컬럼 + Auth + Storage 올인원
• 클라우드 네이티브로 자동 확장
• Phase 0 경험을 바탕으로 완벽하게 설계!

⚠️ 초기 Pilot 단계의 특징

투자 유치 / 바이어 데모용 개발은:
❌ 검사 결과 상세 항목이 자주 변경됨
❌ 분석 항목 추가/삭제가 빈번함
❌ UI 표시 형식이 계속 바뀜

하지만 변하지 않는 것들:
✅ 사용자 정보 (id, email, password, 가입일)
✅ 검사 기본 정보 (검사ID, 사용자ID, 날짜)
✅ 파일 정보 (업로드 이미지 URL)

💡 전략: 안정적인 부분은 테이블, 변하는 부분은 JSON!

단계 데이터베이스 추천 이유 비용
Phase 0
(Pilot/데모)
MySQL
(기존 서버)
✅ 기존 MySQL 서버 활용 (이미 있음)
✅ 빠른 파일럿 개발 (익숙한 환경)
JSON 컬럼으로 유연성 확보
✅ 간단한 스키마 (2~3개 테이블)
✅ 로그인 직접 구현 (간단히)
⚠️ 투자 유치/데모용 임시 구조
$0
(기존 서버)
Phase 1
(정식 출시)
Supabase
PostgreSQL
무료 티어 ⭐
처음부터 새로 설계! (Phase 0 경험 반영)
✅ Supabase Auth (로그인 자동)
✅ JSONB 컬럼 + 인덱싱
✅ Storage 1GB 무료 (이미지)
✅ Row Level Security 보안
✅ 클라우드 네이티브, 자동 확장
$0
Phase 2
(성장기)
Supabase Pro ⭐ ✅ 용량 증가 (8GB → 무제한)
✅ Point-in-time Recovery 백업
✅ 우선 기술 지원
✅ 일일 백업 7개 유지
✅ 성능 향상 (더 많은 리소스)
$25/월

🎯 Phase 0: MySQL + JSON 컬럼 (빠른 파일럿)

Phase 0 스키마 설계 (최소한, 데모용)

-- 1. 사용자 테이블 (간단하게!)
CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  email VARCHAR(255) UNIQUE NOT NULL,
  password_hash VARCHAR(255) NOT NULL,
  name VARCHAR(100),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 2. 검사 결과 테이블 (JSON 컬럼 활용!) ⭐
CREATE TABLE skin_analyses (
  id INT PRIMARY KEY AUTO_INCREMENT,
  user_id INT NOT NULL,
  image_url VARCHAR(500),
  result_json JSON,  -- 여기에 모든 분석 결과! (유연하게)
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users(id)
);

-- 끝! 이게 전부입니다. 빠르게 데모 만들기!

Phase 1: Supabase PostgreSQL로 새로 시작! ⭐

-- Phase 0 경험을 바탕으로 처음부터 제대로!

-- 1. 사용자 프로필 (Supabase Auth 자동 연동)
CREATE TABLE profiles (
  id UUID PRIMARY KEY REFERENCES auth.users(id),
  name TEXT,
  phone TEXT,
  avatar_url TEXT,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 2. 검사 결과 테이블 (JSONB로 업그레이드!)
CREATE TABLE skin_analyses (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id UUID NOT NULL REFERENCES auth.users(id),
  image_url TEXT,
  result_json JSONB,  -- JSONB로 인덱싱 가능! ⭐
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- JSONB 인덱스로 빠른 검색
CREATE INDEX idx_skin_analyses_result ON skin_analyses USING GIN (result_json);

-- Row Level Security (보안 강화!)
ALTER TABLE profiles ENABLE ROW LEVEL SECURITY;
ALTER TABLE skin_analyses ENABLE ROW LEVEL SECURITY;

CREATE POLICY "Users can view own profile" ON profiles
  FOR SELECT USING (auth.uid() = id);

CREATE POLICY "Users can view own analyses" ON skin_analyses
  FOR SELECT USING (auth.uid() = user_id);

Phase 0: JSON 컬럼 활용 (Node.js + MySQL)

// 검사 결과 저장 (JSON으로 자유롭게!)
const resultJson = {
  skinType: 'oily',
  concerns: ['acne', 'pores'],
  scores: {
    moisture: 45,
    elasticity: 60,
    wrinkles: 30
  },
  // 나중에 추가되는 필드도 자유롭게!
  newFeature: 'dynamically added'
};

await db.query(
  'INSERT INTO skin_analyses (user_id, image_url, result_json) VALUES (?, ?, ?)',
  [userId, imageUrl, JSON.stringify(resultJson)]
);

// 조회 시
const results = await db.query(
  'SELECT * FROM skin_analyses WHERE user_id = ?', 
  [userId]
);
const parsed = JSON.parse(results[0].result_json);
console.log(parsed.skinType);  // 'oily'

Phase 0 장점 (MySQL + JSON):

  • ✅ 기존 서버 활용 (추가 비용 없음)
  • ✅ 빠른 개발 (익숙한 환경)
  • ✅ JSON 컬럼으로 유연성
  • ✅ 로그인, 히스토리 관리 가능
  • ⚠️ 데모/투자 유치용 임시 구조

Phase 1: JSONB 컬럼 활용 (Supabase SDK) ⭐

import { createClient } from '@supabase/supabase-js';

const supabase = createClient(SUPABASE_URL, SUPABASE_KEY);

// 검사 결과 저장 (JSONB로 자유롭게!)
const resultJson = {
  skinType: 'oily',
  concerns: ['acne', 'pores'],
  scores: { moisture: 45, elasticity: 60, wrinkles: 30 },
  // Phase 0 경험으로 추가된 새 필드들
  aiConfidence: 0.95,
  recommendations: ['product1', 'product2']
};

const { data, error } = await supabase
  .from('skin_analyses')
  .insert({
    user_id: userId,
    image_url: imageUrl,
    result_json: resultJson  // 자동으로 JSONB로 변환!
  });

// 조회 시 (자동 파싱!)
const { data: analyses } = await supabase
  .from('skin_analyses')
  .select('*')
  .eq('user_id', userId);

console.log(analyses[0].result_json.skinType);  // 'oily'

// JSONB 쿼리 (특정 필드로 검색!)
const { data: oilySkin } = await supabase
  .from('skin_analyses')
  .select('*')
  .eq('result_json->skinType', 'oily');  // JSONB 내부 검색!

Phase 1 장점 (Supabase + JSONB):

  • ✅ Auth (로그인) 자동 - 직접 구현 불필요!
  • ✅ Storage (이미지) 1GB 무료 - S3 필요 없음!
  • ✅ JSONB 인덱싱으로 빠른 검색
  • ✅ Row Level Security 보안
  • ✅ 자동 백업, API 자동 생성
  • ✅ 클라우드 네이티브, 자동 확장
  • ✅ Phase 0 경험을 바탕으로 완벽하게!
  • ✅ 관리 UI 제공
  • ✅ Row Level Security (보안)

💡 Phase 0 (MySQL) vs Phase 1 (Supabase) 비교

항목 Phase 0 (MySQL) Phase 1 (Supabase) ⭐
목적 파일럿/데모/투자 유치 정식 서비스 출시
개발 방식 빠르게 임시로 처음부터 제대로!
데이터베이스 MySQL + JSON 컬럼 PostgreSQL + JSONB ⭐
인증 직접 구현 (간단히) Supabase Auth (자동) ⭐
파일 저장 서버 디스크 또는 별도 서비스 Supabase Storage 1GB ⭐
배포 rsync (수동) Vercel/Railway (자동) ⭐
비용 $0 (기존 서버) $0 (무료 티어)
데이터 이전 - 선택적 마이그레이션 or 새로 시작

🔄 Phase 0 → Phase 1 전환 전략

전환 시점:
✅ 투자 유치 완료
✅ 사용자 피드백 충분히 수집
✅ 비즈니스 모델 검증 완료
✅ 정식 서비스 준비 완료
전환 방법 (2가지 옵션):

옵션 A: 처음부터 새로 만들기 (추천!) ⭐
• Phase 0 경험을 바탕으로 완벽하게 재설계
• Supabase에서 깨끗하게 시작
• Phase 0 데이터는 테스트 데이터로만 활용
• 사용자에게 "정식 오픈" 알리고 재가입 유도
→ 가장 깔끔하고 빠른 방법!

옵션 B: 데이터 마이그레이션
• MySQL → Supabase 데이터 이전
• 스크립트 작성 필요 (1~2일)
• 사용자 비밀번호 재설정 필요
• 이미지 파일도 Storage로 이전
→ Phase 0 사용자가 많다면 고려
💡 추천: Phase 0는 데모용이므로 새로 시작하는 것을 추천합니다!
Phase 0 데이터는 투자 유치/데모용이므로 버려도 됩니다.
정식 서비스는 Phase 0 경험을 바탕으로 완벽하게 만드세요!

🎯 Phase 1 Supabase 무료 티어로 충분!

리소스 무료 티어 제공량 Phase 1 예상 사용량 충분 여부
DB 용량 500MB ~200MB (사용자 1,000명) ✅ 충분
Storage 1GB ~500MB (이미지 500장) ✅ 충분
Auth 사용자 무제한 ~1,000명 ✅ 충분
API 요청 무제한 월 50,000건 ✅ 충분

→ Phase 1을 무료로 운영 가능! 🎉
→ Phase 2부터 Pro ($25/월)로 업그레이드!

📝 Phase 0 → Phase 1 전환 (개발팀 필요 : 새로 시작!)

⚠️ 중요: Phase 1은 처음부터 새로 만듭니다!

Phase 0 (Pilot/데모 - MySQL):
users 테이블 (로그인 직접 구현)
skin_analyses 테이블 (result_json JSON 활용)
• 기존 서버 rsync 배포
• 간단한 구조, 빠른 개발
→ 투자 유치/데모용 임시 시스템

Phase 1 (정식 서비스 - Supabase):
auth.users (Supabase Auth, 자동 관리) ⭐
profiles 테이블 (사용자 정보)
skin_analyses 테이블 (result_json JSONB로 업그레이드!) ⭐
products 테이블 (제품 정보)
orders 테이블 (주문 관리)
reviews 테이블 (리뷰 관리)
• Supabase Storage (이미지 1GB 무료)
• Vercel/Railway 자동 배포
• Row Level Security (RLS) 보안 강화
→ Phase 0 경험을 바탕으로 완벽하게 재설계!

💡 핵심: Phase 0는 버리고 새로 시작!
→ Phase 0는 투자 유치/학습용
→ Phase 1은 Phase 0 경험으로 완벽하게
→ 필요하면 데이터만 선택적 마이그레이션
→ 깔끔한 시작으로 기술 부채 없음!

🎯 Phase 0에서 배울 것:
✅ 사용자가 실제로 어떤 기능을 쓰는지
✅ 어떤 데이터가 필요한지
✅ UI/UX에서 개선할 점
✅ 비즈니스 모델 검증

→ 이 경험으로 Phase 1을 더 완벽하게 만들 수 있습니다!

💻 단계별 기술 스택

Phase 0: Pilot/데모 (투자 유치, 빠른 파일럿)

구성요소 솔루션 비용 이유
프론트엔드 Svelte (rsync 배포) $0 기존 서버 활용
데이터베이스 MySQL (JSON 컬럼 활용!) $0 기존 서버 DB, 로그인/검사 이력
인증 JWT 직접 구현 (간단히) $0 빠른 구현, 임시용
파일 저장 서버 디스크 또는 S3 $0~5/월 피부 사진 업로드 (간단히)
백엔드 Node.js Express (간단) $0 rsync로 함께 배포
AI Replicate API (저렴한 티어) $0~1/월 실제 AI 분석 (100건 이하)
총계 $0~6/월 기존 서버 활용!

🎯 Phase 0 목표: 8~12주 만에 데모 완성, 투자 유치/바이어 미팅
핵심: 기존 MySQL 서버로 빠르게 파일럿 개발!
스키마: 간단한 2개 테이블 + JSON 컬럼으로 유연성 확보
⚠️ 임시 시스템: Phase 1에서 Supabase로 새로 시작!

📝 Phase 0 최소 스키마 (MySQL + JSON)

users: id, email, password_hash, name, created_at
skin_analyses: id, user_id, image_url, result_json, created_at

→ 설정 시간: 10분 (기존 MySQL 활용)
→ result_json (JSON 타입)에 모든 변하는 데이터 저장
→ 빠르게 만들고 투자 유치에 집중!

📝 Phase 1 스키마 (Supabase + JSONB) ⭐

auth.users (Supabase 자동 관리) ⭐
profiles: id, name, phone, avatar_url, created_at
skin_analyses: id, user_id, image_url, result_json, created_at
products: id, name, price, description, images, stock
orders: id, user_id, product_id, status, created_at
reviews: id, user_id, product_id, rating, comment

→ 설정 시간: 30분 (Supabase 세팅 + 스키마 작성)
→ result_json (JSONB 타입)으로 인덱싱 가능!
→ Phase 0 경험을 바탕으로 완벽하게 설계!

Phase 1: 정식 출시 (Supabase로 새로 시작!) ⭐

구성요소 솔루션 비용 변경 사항
프론트엔드 Svelte (Vercel/Netlify) ⭐ $0 rsync → 자동 배포로 전환
데이터베이스 Supabase PostgreSQL (새로 시작!) ⭐ $0 (500MB) MySQL → Supabase로 전환
인증 Supabase Auth (자동!) ⭐ $0 JWT 직접 구현 → Supabase Auth
파일 저장 Supabase Storage (자동!) ⭐ $0 (1GB) 서버 디스크/S3 → Supabase Storage
백엔드 서버 Railway (Node.js Express) ⭐ $5~20/월 rsync → Railway 자동 배포
AI 분석 Replicate API $5~30/월 사용량 증가
이메일 Resend $0 (3,000건) 추가
총계 $10~50/월 Railway + AI

🎯 Phase 1 목표: 사용자 1,000명까지 확보, 정식 서비스 출시
전환 조건: 투자 확보 + Phase 0 경험 축적
핵심 변화: MySQL → Supabase로 전환 (새로 시작!)
배포: rsync → Railway/Vercel 자동 배포
💡 Phase 0 경험을 바탕으로 완벽하게 재설계!

Phase 2: 성장기 (사용자 1,000명+)

구성요소 솔루션 비용
Supabase Pro 8GB 스토리지, 일일 백업 $25/월
Railway (스케일업) 더 많은 리소스 $20~50/월
AI API 사용량 증가 $30~100/월
총계 $75~175/월

🚀 단계별 배포 전략

Phase 0: rsync 배포 (현재) ✅

방식: 로컬에서 빌드 → rsync로 서버에 전송

# frontDeploy.sh (현재 사용 중)
#!/bin/bash
yarn build
rsync -avz build/ user@server:/var/www/html/

장점:

  • 간단하고 직관적
  • 비용: $0 (서버 있으면)
  • 빠른 반복 개발
  • 외부 의존성 없음

단점:

  • 수동 배포 (실수 가능)
  • 롤백 어려움
  • 팀 협업 시 충돌

Phase 1: Railway/Render 전환 (사용자 1,000명+)

전환 시점: 사용자 증가 시 관리 부담 증가할 때

방식: Git Push → 자동 배포

# Railway 배포 (자동)
git push origin main
→ Railway가 자동 감지
→ 빌드 + 배포 + HTTPS 설정

장점:

  • 자동 배포 (실수 방지)
  • 자동 HTTPS
  • 롤백 간단 (클릭 한 번)
  • 모니터링 내장
  • Auto Scaling

비용: $5~20/월 (트래픽에 따라)

Phase 2: CI/CD 자동화 (사용자 10,000명+)

전환 시점: 팀 규모 증가, 배포 빈도 높아질 때

방식: GitHub Actions → 테스트 → 자동 배포

# .github/workflows/deploy.yml
name: Deploy
on:
  push:
    branches: [main]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm test
  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - run: railway deploy

장점:

  • 자동 테스트 (버그 방지)
  • 자동 배포 (인력 절감)
  • Blue-Green 배포 (무중단)
  • 실패 시 자동 롤백

비용: GitHub Actions 무료 (월 2,000분)

단계 배포 방식 적합한 시점 비용
현재 rsync 스크립트 개발 초기, 1~2명 $0
Phase 1 Railway/Render 사용자 1,000명+ $5~20/월
Phase 2 CI/CD (GitHub Actions) 팀 3명+, 사용자 10,000명+ $0 (무료)

🤔 백엔드 언어: Python vs Node.js

⭐ 결론: Node.js 추천!

🎯 COTELEAF Project는 AI를 외부 API로 사용합니다.
→ Python의 핵심 장점(AI/ML 라이브러리)이 필요 없습니다!
→ Node.js가 모든 면에서 더 유리합니다!

🐍 Python이 좋은 경우:
  • AI 모델 직접 개발
  • GPU 서버 운영
  • 이미지 처리 직접 구현
🟢 Node.js가 좋은 경우 (COTELEAF Project):
  • 외부 AI API 사용
  • 언어 통일 (프론트+백)
  • 빠른 개발, 낮은 비용

🆚 상세 비교

항목 Python Node.js 승자 비고
AI 직접 개발 ⭐⭐⭐⭐⭐
PyTorch, TensorFlow
GPU 최적화
⭐⭐
가능하지만 약함
라이브러리 부족
🐍 Python 별도 AI 서버 개발 시 사용
사용자 10만명 이상일 때
외부 API 호출 ⭐⭐⭐
동기/비동기 혼용
requests, httpx
⭐⭐⭐⭐⭐
비동기 I/O 최적화
fetch, axios
🟢 Node.js COTELEAF Project 적합
AI는 외부 API 사용
성능(처리속도) ⭐⭐⭐
단일 스레드
CPU 집약적 작업 느림
⭐⭐⭐⭐
이벤트 루프
I/O 작업 빠름
🟢 Node.js API 서버에 유리
동시 접속 처리 우수
언어 통일 ❌ JavaScript와 다름
팀 분리 필요
✅ 프론트와 동일
코드 재사용 가능
🟢 Node.js 생산성 최대화
개발자 1명 가능
개발자 구하기 ⭐⭐⭐
보통
백엔드 전문가
⭐⭐⭐⭐⭐
풀스택 JS 많음
프론트도 가능
🟢 Node.js 채용 비용 절감
연봉 10-20% 저렴
학습 곡선 ⭐⭐⭐
독립 학습 필요
문법 새로 배움
⭐⭐⭐⭐⭐
프론트 개발자 즉시 가능
추가 학습 최소
🟢 Node.js 빠른 시작
1주일 안에 생산 가능
배포 간단함 ⭐⭐⭐
gunicorn, uvicorn
가상환경 관리
⭐⭐⭐⭐⭐
node server.js
패키지 관리 쉬움
🟢 Node.js Railway/Render 최적화
자동 배포 지원
npm/pip 생태계 ⭐⭐⭐⭐
270만 패키지
AI/데이터 강세
⭐⭐⭐⭐⭐
350만 패키지
웹 개발 강세
🟢 Node.js 웹 서비스 최적
모든 기능 패키지 존재

✅ Node.js의 핵심 장점 (COTELEAF Project)

  • 언어 통일: Svelte (프론트) + Node.js (백엔드) = JavaScript만! 코드 재사용, 쉬운 디버깅
  • 풀스택 가능: 개발자 1명이 전체 개발 가능, 인건비 50% 절감
  • 비동기 I/O 성능: 외부 API 호출(Replicate, Supabase, 결제)이 많은 우리 서비스에 최적!
  • 높은 동시성: 이벤트 루프로 수천 명 동시 접속 처리, Python보다 2-3배 빠름
  • 쉬운 채용: 풀스택 JS 개발자 연봉이 Python 전문가보다 10-20% 저렴
  • 빠른 학습: 프론트엔드 개발자가 1주일 안에 백엔드 개발 가능
  • 배포 간편: Railway/Render에서 Node.js 자동 감지 및 최적화 지원

💡 핵심: 우리는 AI를 직접 개발하지 않으므로 Python의 장점(PyTorch, TensorFlow)이 필요 없습니다!
외부 API 호출 중심 서비스 → Node.js가 압도적으로 유리합니다.

🐍 Python은 언제 사용?

⚠️ AI를 직접 개발할 때만 필요합니다!

전환 시점

  • 사용자 10만명 이상: 외부 API 비용 월 $10,000 초과 시
  • 월 100만건 분석: 외부 API 비용이 GPU 서버보다 비쌀 때
  • 정확도 80% 미만: 범용 AI가 우리 서비스에 맞지 않을 때

전환 효과

비용 절감: 외부 API $0.01/건 → 자체 모델 $0.0001/건 (100배 절감)
정확도: 범용 모델 75% → 커스텀 모델 90%+
속도: 외부 API 3-5초 → 자체 서버 0.5초

분리 아키텍처 (하이브리드)

초기 (지금):
[Node.js 백엔드] → [Replicate API] ← 외부 서비스

나중 (10만명 이후):
[Node.js 백엔드] → [Python AI 서버] ← GPU (자체)
                    (FastAPI)
                    
💡 Node.js는 그대로 유지!
   AI 서버만 별도 추가

📌 핵심: 초기에는 Node.js만 사용! Python은 매출이 나고 투자를 받은 후 고려하세요.
외부 API로 검증 → 성공하면 자체 AI 개발 → 비용 절감

🏗️ 단계별 시스템 아키텍처

Phase 0: Pilot/데모 (투자 유치용, 빠른 임시 시스템)

[사용자] 
 ↓
[기존 서버] (프론트엔드 - Svelte / rsync 배포)
 ↓
[Node.js Express] (백엔드 - 간단한 API / rsync 배포)
 ↓
[MySQL] (기존 서버의 DB)
  ├─ users (로그인 직접 구현)
  └─ skin_analyses (result_json JSON 컬럼!)
 ↓
[Replicate API] (AI 분석 - 저렴한 티어)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 목표: 2~4주 만에 데모 완성, 투자 유치
💡 핵심: 기존 서버 활용, 빠르게 만들기!
       JSON 컬럼으로 유연하게 개발!
⚠️ 임시: 데모/파일럿용, 버려도 됨
💰 비용: $0 (기존 서버 활용)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Phase 1: 정식 출시 (새로 시작! Supabase) ⭐

[사용자] 
 ↓
[Vercel/Netlify] (프론트엔드 - Svelte 5 / 자동 배포) ⭐
 ↓
[Railway] (백엔드 - Node.js Express / 자동 배포) ⭐
 ↓
[Supabase] (All-in-One 백엔드! 처음부터 제대로!) ⭐⭐⭐
  ├─ Auth (로그인 자동 - 구현 불필요!)
  ├─ PostgreSQL DB (Phase 0 경험 반영)
  │   ├─ auth.users (Supabase 자동 관리)
  │   ├─ profiles (사용자 정보)
  │   ├─ skin_analyses (JSONB로 업그레이드!) ⭐
  │   ├─ products (제품 정보)
  │   ├─ orders (주문 관리)
  │   └─ reviews (리뷰 관리)
  └─ Storage (이미지 1GB 무료)
 ↓
[Replicate API] (AI 분석 - 사용량 증가)
 ↓
[토스페이먼츠] (결제 연동)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 목표: 사용자 1,000명, 제품 판매 시작
💡 핵심: Phase 0 MySQL → Supabase로 전환!
       Phase 0 경험으로 완벽하게 재설계
       자동 배포 (Railway/Vercel)
       DB + Auth + Storage 올인원!
💰 비용: $11~36/월 (Railway + AI, Supabase 무료!)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Phase 3: 자체 AI 개발 (선택, 매우 나중)

[Node.js 백엔드] 
 ↓
[Python AI 서비스] (GPU 서버, 별도 구축)
 ↓
[자체 학습 모델]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 전환 조건: 
  • 사용자 100,000명 이상
  • 외부 AI API 비용 월 $10,000 이상
  • 별도 AI 전문 개발자 채용 가능
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✨ 단계별 기능 로드맵

🎯 비즈니스 전략

1단계: 피부 정보 관리 플랫폼 → 사용자 확보 + 데이터 축적
2단계: 자사 화장품 출시 → 본격적인 수익화

💡 핵심: 타사 제품 사용자도 이용 가능하게! → 피부 정보 자체가 가치, 호기심으로 고객 유입

📅 Phase 0: Pilot/데모 (투자 유치, 바이어 미팅용)

기간: 2~4주
목적: 빠른 검증, 투자자/바이어 설득
특징: 기획 변경 빈번, 최소 기능 구현

  • 기본 웹사이트 (Svelte, rsync 배포)
  • Supabase DB (로그인 + 검사 이력) ⭐
  • Supabase Auth (회원 가입/로그인)
  • 피부 사진 업로드 (Supabase Storage)
  • AI 분석 (Replicate API, 저렴한 티어)
  • 검사 결과 저장 (result_json 컬럼)
  • 간단한 이력 조회

💡 핵심: Supabase 무료로 모든 기능!
→ DB + Auth + Storage 한 번에
→ JSON 컬럼으로 유연하게 개발

📝 최소 스키마:
• users: id, email, password, created_at
• skin_analyses: id, user_id, image_url, result_json, created_at

result_json 예시: {skinType: "oily", concerns: ["acne"], scores: {...}}

📅 Phase 1: 피부 정보 플랫폼 (2~3개월)

※ 참고: 경험 많은 풀스택 개발자 1~2명 기준
목표: 피부 분석 서비스로 사용자 확보 (제품 판매 없음)

  • 회원가입/로그인 (Supabase Auth)
  • 피부 사진 업로드 + AI 분석 (외부 API)
  • 피부 정보 저장 및 관리 (내 피부 데이터베이스)
  • 분석 이력 조회 (과거 데이터 비교)
  • 간단한 결과 페이지 (웹 기반)
  • 일반적인 피부 관리 팁 제공 (브랜드 중립적)
  • 기본 분석 유료화 (3,000~5,000원)

수익 모델: 분석 서비스 판매 (제품 판매 없음)
배포: rsync → Railway/Render 전환 (관리 편의성)

📅 Phase 2: 자사 제품 연동 (6~12개월)

전제 조건: 자사 화장품 개발 완료 시
목표: 축적된 피부 데이터 기반 맞춤형 제품 판매

  • 자사 제품 추천 시스템 (사용자 피부 데이터 기반)
  • 제품 결제 연동 (토스페이먼츠)
  • 주문/배송 관리
  • 제품 사용 후기 및 재구매
  • PDF 리포트 생성 (프리미엄 기능)

수익 모델: 분석 서비스 + 제품 판매
배포: CI/CD 자동화 (GitHub Actions)

📅 Phase 3: 고도화 (12개월+)

  • PCR 마이크로바이옴 검사 연동
  • 정기 구독 서비스
  • 모바일 앱 (React Native or Flutter)
  • AI 챗봇 상담
  • 자체 AI 모델 (비용 절감)

💰 단계별 인프라 비용

Phase 0: Pilot/데모 (투자 유치, 바이어 미팅)

규모: 개발 중, 사용자 0~50명

기간: 2~4주

⚠️ 옵션 A: 자체 서버 (rsync 배포)

개발 서버 (rsync 배포) $70~90/월 (8~10만원)
운영 서버 (프로덕션) $70~90/월 (8~10만원)
도메인$1/월
Supabase 자체 호스팅 (선택) $30~50/월 (서버 증설 필요) ⚠️
Replicate AI API (100건 이하)$0~1/월
총계 (개발+운영)$141~232/월 (약 16~26만원) ❌
사용자 확장시 (+100명)+$50~70/월 (서버 리소스 증설)

⚠️ 문제점:
→ 초기 비용이 너무 높음 (수익 전 월 16~26만원)
→ 서버 관리 부담 (보안, 업데이트, 백업)
→ 사용자 증가시 서버 증설 필요 (추가 비용)
→ Supabase 자체 호스팅은 관리 복잡도 증가
→ Pilot 단계에서 비추천!

✅ 옵션 B: 클라우드 네이티브 (추천)

Vercel/Netlify (프론트엔드, 자동 배포)$0 (무료 티어)
Railway/Render (백엔드, 자동 배포)$0~5/월
도메인$1/월
Supabase (DB+Auth+Storage) $0 (무료 티어) ⭐
Replicate AI API (100건 이하)$0~1/월
총계$1~7/월 (약 1~8천원) ⭐⭐⭐
사용자 확장시 (+100명)무료 티어 내 가능 ✅

→ 거의 무료! 완전한 웹서비스 가능! 🎉

💡 핵심 장점:
✅ Supabase 무료로 모든 인프라 (로그인 + DB + 이미지 저장)
✅ 자동 배포 (Git push만 하면 배포 완료)
✅ 자동 확장 (사용자 증가에 자동 대응)
✅ 서버 관리 불필요 (보안, 백업 자동)
✅ 설정 5분, 마이그레이션 필요 없음
→ 초기 자본 부담 23배 절감 (26만원 → 1만원)

📊 비용 비교 요약 (Phase 0)

구분 자체 서버 클라우드 절감
초기 비용 16~26만원/월 1~8천원/월 95~97% ↓
관리 시간 주 5~10시간 거의 없음 100% ↓
확장성 수동 증설 자동 확장 -
배포 시간 수동 rsync 자동 (Git push) 90% ↓

🔄 Phase 0 → Phase 1 전환 (배포 방식 변경만!)

전환 시점:
✅ 투자 유치 완료 또는 매출 발생
✅ 사용자 50명 이상 확보
✅ 수동 배포(rsync)가 번거로워질 때

변경 사항:
1. 프론트엔드: rsync → Vercel/Netlify (자동 배포)
2. 백엔드: rsync → Railway (자동 배포)
3. DB: Supabase 그대로 유지!
4. 필요시 테이블 추가 (products, orders 등)

💡 핵심: DB 마이그레이션 불필요!
→ 기존 데이터 그대로 사용
→ 배포 자동화만 적용
소요 시간: 반나절 (Railway 연동 + Vercel 연동)

Phase 1: 피부 정보 플랫폼 (정식 출시, 자동 배포)

규모: 사용자 50 → 1,000명, 월 100~500건 분석

DB: Supabase PostgreSQL (Phase 0와 동일)

💰 기본 비용 (사용자 ~500명)

Vercel/Netlify 프론트 (자동 배포)$0
Railway 백엔드 (자동 배포) ⭐$5~10/월
Supabase (무료 티어, 동일)$0
Replicate AI API (500건)$5~20/월
도메인$1/월
총계$11~31/월 (약 1.2~3.5만원) ⭐

📈 사용자 확장에 따른 비용

사용자 수 Railway 백엔드 Supabase DB 월 비용 합계
~500명 $5~10/월 $0 (무료) $11~31/월
500~1,000명 $10~15/월 $0 (무료) $16~36/월
1,000~2,000명 $15~20/월 $25/월 (Pro 전환) $45~65/월
💡 Phase 1 수익성 분석

초기 (100명):
• 수익: 월 100명 × 4,000원 = 40만원
• 비용: 1.2~3.5만원
순이익: 36.5~38.8만원 (92~97% 수익률)

성장기 (500명):
• 수익: 월 500명 × 4,000원 = 200만원
• 비용: 1.2~3.5만원
순이익: 196.5~198.8만원 (98~99% 수익률)

확장기 (1,000명):
• 수익: 월 1,000명 × 4,000원 = 400만원
• 비용: 4.5~6.5만원
순이익: 393.5~395.5만원 (98~99% 수익률)

Phase 2: 제품 판매 시작 (6~12개월)

규모: 사용자 1,000 → 10,000명, 월 3,000건 분석

💰 기본 인프라 비용

Railway 백엔드 (스케일업)$20~30/월
Supabase Pro$25/월
Replicate AI (3,000건)$30~50/월
결제 수수료 (토스)매출의 3%
이메일 (Resend)$0 (3,000건 무료)
고정 비용$75~105/월 (약 8.5~12만원)

📈 사용자 확장에 따른 추가 비용

사용자 수 Railway Supabase AI API 월 비용 합계
1,000~3,000명 $20~30/월 $25/월 (Pro) $30~50/월 $75~105/월
3,000~5,000명 $30~50/월 $25/월 (Pro) $50~80/월 $105~155/월
5,000~10,000명 $50~80/월 $25~50/월 $80~120/월 $155~250/월
10,000명+ $80~120/월 $50~100/월 $120~200/월 $250~420/월
💡 Phase 2 수익성 분석 (3,000명 기준)

매출:
• 분석 서비스: 월 3,000명 × 4,000원 = 1,200만원
• 제품 판매: 월 500명 × 50,000원 × 40% 마진 = 1,000만원
총 매출: 2,200만원

비용:
• 인프라: 약 10~15만원
• 결제 수수료: 2,200만원 × 3% = 66만원
총 비용: 76~81만원

순이익: 2,119~2,124만원 (약 96% 수익률)
⚠️ 만약 자체 서버로 운영한다면?

추정 비용 (사용자 3,000명):
• 운영 서버 (고사양): 15~20만원/월
• 개발 서버: 10만원/월
• DB 서버: 10~15만원/월
• 백업 스토리지: 3~5만원/월
• 서버 관리 인력: 시간당 5만원 × 주 10시간 = 월 200만원
총 비용: 238~250만원/월 ❌

비교:
• 클라우드: 10~15만원 ✅
• 자체 서버: 238~250만원 ❌
절감액: 월 223~240만원 (약 16배 절감)

🔧 Supabase 자체 호스팅 가능 여부

✅ 네, Supabase는 자체 서버 호스팅이 가능합니다!

Supabase는 오픈소스 프로젝트이기 때문에 자체 서버에 설치하여 운영할 수 있습니다.
하지만 실제로는 추천하지 않습니다.

❌ 자체 호스팅을 추천하지 않는 이유

항목 Supabase Cloud (추천) 자체 호스팅
설치 시간 5분 (가입만 하면 끝) ✅ 2~3일 (Docker, PostgreSQL, PostgREST, GoTrue, Realtime, Storage 등 설정) ❌
초기 비용 $0 (무료 티어) ✅ 서버 8~10만원/월 + 관리 인력 ❌
유지보수 자동 업데이트, 보안 패치 ✅ 수동 업데이트, 보안 관리 필요 ❌
백업 자동 백업 (Point-in-time Recovery) ✅ 수동 백업 스크립트 작성 필요 ❌
확장성 자동 스케일링 ✅ 수동 서버 증설 필요 ❌
보안 SSL, DDoS 방어 자동 제공 ✅ 직접 구축 및 관리 필요 ❌
모니터링 대시보드 기본 제공 ✅ 직접 구축 (Grafana, Prometheus 등) ❌
Edge Functions 바로 사용 가능 ✅ Deno Deploy 별도 구축 ❌
Realtime WebSocket 자동 설정 ✅ 복잡한 설정 필요 ❌

💰 비용 비교 (사용자 1,000명 기준)

항목 Supabase Cloud 자체 호스팅
DB 서버 $0~25/월 10~15만원/월
Auth 서버 포함 5~8만원/월
Storage 서버 포함 3~5만원/월
백업 서버 포함 3~5만원/월
서버 관리 시간 0시간 주 5~10시간
관리 인력 비용 $0 월 100~200만원
월 총 비용 $0~25/월 (약 0~3만원) ✅ 약 121~233만원/월 ❌
연간 절감액 약 1,450~2,800만원/년 절감 🎉

💡 결론: Supabase Cloud를 사용하세요!

자체 호스팅이 필요한 경우:
✅ 매우 큰 규모 (사용자 10만명 이상)
✅ 특수한 컴플라이언스 요구사항 (금융, 의료 등)
✅ 완전한 데이터 주권이 필요한 경우
✅ Supabase Pro 비용이 자체 서버보다 비쌀 때

스타트업/초기 단계라면 무조건 Supabase Cloud!
→ 개발에만 집중, 인프라는 걱정 없음
→ 무료로 시작해서 필요할 때만 결제
→ 자동 확장으로 갑작스런 트래픽 증가도 대응
→ 관리 비용 0원으로 수익성 극대화

📌 참고: Supabase 자체 호스팅 방법

그래도 자체 호스팅을 원한다면:
1. GitHub: https://github.com/supabase/supabase
2. Docker Compose: docker-compose up 명령어로 설치
3. 필요 구성요소:
• PostgreSQL (DB)
• PostgREST (API)
• GoTrue (Auth)
• Realtime (WebSocket)
• Kong (API Gateway)
• pg_graphql (GraphQL)
• Storage API (파일 저장)
4. 최소 사양: 4코어 CPU, 8GB RAM, 100GB SSD
5. 설치 시간: 숙련자 기준 2~3일, 초보자 1~2주

→ 결국 Supabase Cloud가 훨씬 효율적입니다!

💸 단계별 수익 모델

Phase 1: 피부 정보 서비스 (제품 판매 없음)

서비스 가격 내용
무료 체험 무료 간단한 피부 타입 진단
기본 관리 팁
목적: 고객 유입
기본 피부 분석 3,000~5,000원 AI 정밀 분석 (즉시)
피부 타입 + 주요 고민 진단
피부 정보 저장 및 관리
일반적인 관리 팁
분석 이력 비교
프리미엄 분석 10,000~15,000원 기본 분석 포함
상세 PDF 리포트
전문가 케어 가이드
월간 피부 변화 추적

💡 Phase 1 손익분기점 (분석 서비스만)

✅ 클라우드 (추천)

월 비용: $1~7 (약 1~8천원)

8천원 ÷ 4,000원 = 2건

→ 월 2명만 사용해도 흑자! 🎉

❌ 자체 서버 (비추천)

월 비용: 16~26만원

20만원 ÷ 4,000원 = 50건

→ 월 50명 필요 (25배 더 필요!) ❌

📊 시나리오별 비교 (클라우드 vs 자체 서버)

단계 사용자 수 매출 클라우드 비용 클라우드 순이익 자체 서버 비용 자체 서버 순이익
초기 100명 40만원 1~3.5만원 36.5~39만원 ✅ 16~26만원 14~24만원 ❌
성장 500명 200만원 1~3.5만원 196.5~199만원 ✅ 20~30만원 170~180만원 ❌
확장 1,000명 400만원 4.5~6.5만원 393.5~395.5만원 ✅ 30~40만원 360~370만원 ❌
클라우드 추가 절감액 (1년) 약 240~340만원/년 더 절감! 🎉
💡 핵심:
• 클라우드는 초기부터 높은 수익률 (92~99%)
• 자체 서버는 초기에 수익률이 낮음 (35~60%)
• 사용자가 많아질수록 차이가 더 벌어짐
개발에만 집중하고 싶다면 무조건 클라우드!

Phase 2: 자사 제품 판매 추가 (화장품 출시 후)

서비스 가격/수익 내용
분석 서비스 3,000~5,000원 Phase 1과 동일
(계속 제공)
맞춤형 제품 판매 30,000~100,000원 피부 데이터 기반 추천
자사 개발 화장품
마진: 40~50%
정기 구독 월 50,000원 월 1회 제품 배송
정기 피부 분석
우선 상담

🎯 핵심 전략

  • Phase 1: 피부 정보 플랫폼으로 사용자 확보 + 데이터 축적
  • Phase 2: 축적된 데이터로 맞춤형 제품 개발 + 판매
  • 차별점: 타사 제품 사용자도 환영 → 더 많은 고객 유입
  • 신뢰 구축: 제품 팔기 전에 정보 제공 → 브랜드 신뢰도 ↑

📅 Phase 1 개발 타임라인 (피부 정보 플랫폼, 2-3개월)

⚠️ 중요

프로토타입 (2~4주): 투자자/PoC용 데모, 핵심 기능만

정식 출시 (2~3개월): 실제 고객 사용 가능, 결제/보안 포함

현재 상황: rsync로 빠르게 반복 개발 중 ✅

Month 1: 기획 및 기반 구축

  • Week 1-2: 기획, 비즈니스 모델 정리, DB 스키마, 화면 설계
  • Week 3-4: 프론트엔드 기본 구조 (Svelte 컴포넌트, 라우팅)
  • 배포: 계속 rsync 사용 (빠른 반복)

Month 2: 핵심 기능 개발

  • Week 5-6: 백엔드 API (Node.js Express, Supabase 연동)
  • Week 7: AI 분석 연동 (Replicate API)
  • Week 8: 피부 정보 저장 + 이력 조회 기능
  • 배포: 계속 rsync 사용

Month 3: 완성 및 출시

  • Week 9: 간단한 결제 시스템 (분석 서비스 결제)
  • Week 10: 이메일 알림, 보안 강화
  • Week 11: 버그 수정, 성능 최적화, 테스트
  • Week 12: 베타 테스트 (지인 20명), 정식 출시 🎉
  • 배포: Railway/Render로 전환 (관리 편의)

추가 여유 기간: +1개월

예상 못한 문제 해결, 사용자 피드백 반영, UI/UX 개선

→ 총 3~4개월 (안전한 일정)

🎯 Phase 1의 핵심

  • 제품 판매 없음: 피부 정보 관리에만 집중
  • 수익: 분석 서비스 유료화 (3,000~5,000원)
  • 목표: 1,000명 사용자 확보, 피부 데이터 축적
  • 배포: rsync로 시작 → Railway로 전환
  • 다음 단계: 축적된 데이터로 맞춤형 제품 개발

🎯 핵심 성공 전략

1. 빠른 출시

  • 완벽함보다 출시 속도 우선
  • 2-3개월 MVP → 피드백 → 개선
  • 핵심 기능 80% 완성 시 출시
  • 프로토타입은 2-4주 (데모용)

2. 무료 티어 활용

  • Vercel: 무제한 배포
  • Supabase: 500MB DB, 1GB Storage
  • Resend: 3,000 이메일

3. 외주 전략 활용

  • AI는 외부 API (자체 개발 X)
  • PCR 검사는 제휴 업체
  • 디자인은 무료 템플릿

4. 수동 작업 허용

  • 초기 제품 추천은 수동
  • 고객 문의는 이메일/카톡
  • 관리자 대시보드는 나중에

5. 언어 통일 (JavaScript) ⭐

  • 프론트 + 백엔드 = JavaScript만!
  • 개발자 1명으로 전체 가능
  • 코드 재사용, 쉬운 협업
  • 풀스택 개발자 구하기 쉬움

6. 단계적 배포 전략

  • 현재: rsync (간단, 무료)
  • Phase 1: Railway (자동, 관리 편의)
  • Phase 2: CI/CD (테스트 자동화)
  • 비용 절감 + 안정성 확보

7. 정보 먼저, 제품은 나중에

  • 타사 제품 사용자도 환영
  • 피부 정보로 신뢰 구축
  • 데이터 축적 후 제품 개발
  • 브랜드 중립성 유지

👥 현실적인 인력 구성

✅ 옵션 1: JavaScript 풀스택 개발자 1명 (가장 추천!) ⭐

자격 요건:

  • JavaScript 전문: 프론트(Svelte/React/Vue) + 백엔드(Node.js/Express) 3년+ 경험
  • 언어 통일: 하나의 언어로 전체 개발 가능!
  • 클라우드 배포 경험 (Railway/Vercel)
  • DB 설계 가능 (PostgreSQL, Supabase)

개발 기간: 3~4개월

예상 비용: 2,000만원 (연봉 7천만원 기준)

💡 장점: 언어 통일로 생산성 최대! 의사소통 오버헤드 제로!

옵션 2: 중급 개발자 2명 (백업 플랜)

구성:

  • 프론트엔드 개발자 1명 (Svelte, 연봉 5천만원)
  • 백엔드 개발자 1명 (Node.js, 연봉 5천만원)

개발 기간: 2~3개월

예상 비용: 2,000만원 (2명 × 3개월)

장점: 서로 리뷰 가능, 병렬 개발, 위험 분산

참고: 두 명 모두 JavaScript만 알면 되므로 협업이 쉬움!

❌ 주니어 개발자만으로는 위험

경험 부족 시 4~6개월 소요 + 품질 문제 발생 가능

중급 이상 1명 필수!

🖨️ PDF로 저장 🏠 홈으로 돌아가기