promptreel-app

CHAFIKTECH — AI Video Scene Prompt Generator

CHAFIKTECH turns a video idea (plus an optional reference video) into professional, scene-by-scene image & video prompts — ready for Veo, Sora, Runway, Kling and Midjourney — with dialogue in the viewer’s chosen language.

Branded workspace in the spirit of chat.z.ai: a sidebar with generation history, a centered greeting with a single composer, and a thread view where each scene arrives as a copyable card.


Product decisions baked in

Domain plan

Domain Purpose
chafiktech.com Marketing site (planned — later)
prompt.chafiktech.com This app
blog.chafiktech.com Blog (planned — later)

Deployment instructions for Vercel and VPS (Nginx + PM2 + Certbot), including DNS records, live in DEPLOYMENT.md.

Quick start (local)

npm install
npx prisma generate && npx prisma db push
cp .env.example .env          # defaults work out of the box
bun scripts/seed.ts           # or: npx tsx scripts/seed.ts
npm run dev                   # http://localhost:3000

Seeded admin: admin@chafiktech.com / ChafikTech@2026 (change it immediately in production — Settings → Account).

First run in 60 seconds

  1. Open the app — you land straight in the tool as a guest.
  2. Type an idea, pick scene count + dialogue language, press Generate → the sign-in bar appears; sign in (or create an account) and your idea auto-submits.
  3. Admin account → avatar menu → Admin panel → Gemini Keys → add a key → Test. Generations now run end-to-end.
  4. Plans tab controls quotas/prices; Prompt Languages controls output languages; Users manages plans, bans and roles.

Feature map

Area Where
Workspace (history, composer, thread, exports, share) src/components/chafiktech/workspace.tsx
Composer (video attach, scenes popover, language select) src/components/chafiktech/composer.tsx
Scene cards (auto-RTL dialogue, per-field copy) src/components/chafiktech/scene-card.tsx
Auth (email + Google, reset, verify) src/components/chafiktech/auth-view.tsx + src/app/api/auth/*
Pricing & Stripe src/components/chafiktech/pricing-view.tsx, src/app/api/billing/*, src/app/api/stripe/webhook
Admin panel (6 tabs) src/components/chafiktech/admin-view.tsx + src/app/api/admin/*
Gemini pipeline (Files API, rotation, validation) src/lib/gemini.ts, src/lib/pipeline.ts
Quota, settings/flags, sessions src/lib/quota.ts, src/lib/settings.ts, src/lib/auth.ts

Tech stack

Next.js 16 (App Router) · TypeScript · Tailwind CSS 4 + shadcn/ui · Prisma + SQLite · next-themes · Sonner · Stripe REST · Gemini API. Logo: drop your real file at public/brand-logo.png — it replaces the placeholder film-reel mark everywhere automatically.