Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

serefkeser.com

AI-powered short-form video automation. Marketing site at serefkeser.com and the working AI Studio at serefkeser.com/app.

Layout

  • frontend/ — Vite + React 18 SPA. Marketing pages (/, /privacy, /terms, /contact) plus the AI Studio at /app. Deploys to Vercel.
  • backend/ — Express server. Owns OpenAI / Stability / ElevenLabs / Whisper / FFmpeg / YouTube upload. Deploys to Render via backend/render.yaml.
  • docs/ — API contract, deployment guide, design spec, implementation plan.

Architecture

serefkeser.com (Vercel)              api.serefkeser.com (Render)
  ├─ /                                  ├─ /api/health
  ├─ /privacy                           ├─ /api/script  /improve  /ideas
  ├─ /terms                             ├─ /api/images  /regenerate
  ├─ /contact                           ├─ /api/audio
  └─ /app    ───── HTTPS calls ────►    ├─ /api/render
                                        └─ /api/upload-youtube

YouTube OAuth happens client-side via Firebase (Google provider, youtube.upload scope). The frontend sends the access token as Authorization: Bearer <token> on the upload request; the backend never stores it.

Run locally

# terminal 1
cd backend
npm install
cp .env.example .env   # fill OPENAI_API_KEY, STABILITY_API_KEY, ELEVENLABS_API_KEY
npm run dev            # → http://localhost:8787

# terminal 2
cd frontend
npm install
cp .env.example .env   # fill VITE_FIREBASE_* if you want YouTube upload
npm run dev            # → http://localhost:5173

When VITE_API_BASE_URL is empty, Vite proxies /api/* and /static/* to http://localhost:8787.

Deploy

Push to main triggers Vercel (frontend) and Render (backend) rebuilds. One-time setup is in docs/deployment.md.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages