尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Next.js 16 (App Router) web surface for Motiion — marketing, talent app, and industry (talent buyer) dashboard. Shares one Supabase backend with the iOS app.
• / — Marketing / landing
• **/(app)/*** — Talent app (/home, /portfolio, inbox, discover)
• **/(buyer-app)/*** — Industry dashboard (/dashboard, /talent, /projects, /library)
• /profile/[slug] — Public talent profiles (Universal Links + OG)
• /casting/[id] — Public casting pages
• /shortlist/[token] — Client shortlist review
• **/admin/*** — Platform admin (analytics, verification)查看完整 README ↗Next.js 16 (App Router) web surface for Motiion — marketing, talent app, and industry (talent buyer) dashboard. Shares one Supabase backend with the iOS app.
| Layer | Choice |
|---|---|
| Framework | Next.js 16, React 19, TypeScript |
| Styling | Tailwind CSS 4, design tokens in docs/design.md |
| Backend | Supabase (Postgres, Auth, Storage, Realtime) |
| Payments | Stripe Billing (web), RevenueCat (iOS IAP sync) |
| Analytics | PostHog + analytics_events table |
| Resend | |
| Errors | Sentry |
/ — Marketing / landing/(app)/* — Talent app (/home, /portfolio, inbox, discover)/(buyer-app)/* — Industry dashboard (/dashboard, /talent, /projects, /library)/profile/[slug] — Public talent profiles (Universal Links + OG)/casting/[id] — Public casting pages/shortlist/[token] — Client shortlist review/admin/* — Platform admin (analytics, verification)Product spec: docs/prd.md · Roadmap: docs/product-roadmap.md · Design tokens: docs/design.md
Copy .env.example to .env.local. Required keys depend on what you're testing:
| Variable | Required for | Notes |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Auth, data, storage | Same project as iOS |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Client + SSR | Public anon key |
SUPABASE_SERVICE_ROLE_KEY | Admin analytics, webhooks | Server only — never NEXT_PUBLIC_* |
NEXT_PUBLIC_SITE_URL | OG metadata, share links | e.g. https://www.motiion.app |
STRIPE_SECRET_KEY | Checkout, portal | Test mode for local dev |
STRIPE_WEBHOOK_SECRET | Subscription + Identity sync | Point Stripe CLI or dashboard to /api/webhooks/stripe (include identity.verification_session.verified and identity.verification_session.requires_input) |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Checkout + Identity modal | |
STRIPE_INDUSTRY_PRICE_ID | Industry Pro Checkout | Monthly Industry Professional price |
ENFORCE_INDUSTRY_PAYWALL | Gate industry app | true to require trial/subscription (settings stay reachable). Checkout is 60-day trial + optional promo codes (e.g. MOTIIONFOUNDER) |
REVENUECAT_WEBHOOK_SECRET | iOS entitlement sync | /api/webhooks/revenuecat |
RESEND_API_KEY | Invitation / message email | Graceful fail if unset |
NEXT_PUBLIC_POSTHOG_KEY | Product analytics | |
NEXT_PUBLIC_POSTHOG_HOST | PostHog region | Default https://us.i.posthog.com |
NEXT_PUBLIC_SENTRY_DSN / SENTRY_DSN | Error tracking | Same DSN or split client/server |
SENTRY_AUTH_TOKEN | Source map upload (CI) | Optional locally |
NOTION_* | Beta signup form |
See .env.example for the full list with comments.
npm install
cp .env.example .env.local
# Fill in Supabase keys at minimum
npm run dev
Open http://localhost:3000.
Schema lives in supabase/migrations/. Apply with the Supabase CLI against your project or local stack:
supabase db push
# or for local: supabase start && supabase db reset
Migrations are the source of truth for web + iOS shared schema.
| Command | Description |
|---|---|
npm run dev | Development server |
npm run build | Production build |
npm run start | Production server |
npm run lint | ESLint |
Deploy to Vercel. Set all production env vars in Vercel project settings. Stripe and RevenueCat webhooks should target your production /api/webhooks/* routes.
| Marketing only |
OPENAI_API_KEY | Resume PDF parsing | Onboarding |
BRANDFETCH_* | Company logos | Experience highlights |