UGC Reactions from Real Creators
Real creator library videos at $11 and images at $8. Custom production from $25/video with a $250 minimum. Commercial licensing included.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The public marketing website for Hypeon AI, served at hypeon.ai.
It is a Next.js application using the App Router. It is a marketing site only: it renders the product, solutions, services, pricing and blog pages, plus two small API routes for the competitor report email and the email unsubscribe flow. The signed-in product lives on a separate domain and in a separate repository, and this site links out to it.
engines field in
package.json still says 18 and understates the real minimum.package-lock.json. The packageManager field in
package.json names yarn 1.22.22, but there is no yarn.lock, and that inconsistency is
not yet resolved.npm install
npm run dev
Then open http://localhost:3000.
Recent npm releases skip dependency install scripts until they are approved, and warn about
sharp among others. If image optimisation fails, run npm install-scripts approve sharp
and install again.
To build and serve a production bundle locally:
npm run build
npm start
The site renders without any environment variables. Only the two API routes need configuration, and they fail with a clear error rather than breaking the pages. See Environment variables.
| Script | What it does |
|---|---|
npm run dev | Development server on port 3000, using webpack, with the Node heap raised to 8 GB |
npm run build | Production build, with the Node heap raised to 8 GB |
npm start | Serves the production build |
npm run lint | Declared but not functional: next lint was removed in Next.js 16 and the repository has no ESLint configuration |
Both the dev and build scripts set the heap size through NODE_OPTIONS, using cross-env.
Vercel builds this repository. The default branch is hypeon-2. A main branch also exists,
but it is a stale ancestor of hypeon-2 and is not the default, so do not branch from it or
target it.
Releasing is two steps, and merging is only the first:
hypeon-2, produces a Preview deployment. Preview URLs are
behind Vercel sign-in, so a request from outside returns the Vercel login page with HTTP
200, not the site. Do not treat a 200 from a preview URL as proof that a page works.hypeon-2 deployment to
Production in Vercel. Until then the live site keeps serving the previous build.Changes go through a pull request rather than a direct push:
hypeon-2.hypeon-2.Never push straight to hypeon-2 and never force push it.
Names only. Values belong in the Vercel project settings, or in a local .env.local, which is
git ignored. Nothing here has a committed value.
src/app/api/unsubscribe)| Variable | Read in | Purpose |
|---|---|---|
DATABASE_URL | src/lib/unsubscribeDb.ts | Postgres connection string. The module creates the unsubscribes table and its index on first use. The matching DDL is kept for reference in sql/unsubscribes.sql. |
src/app/api/competitor-report)All of the following are read in src/app/api/competitor-report/route.ts.
| Variable | Purpose |
|---|---|
SMTP_HOST | Outbound mail host |
SMTP_PORT | Outbound mail port. Defaults to 587 when unset |
SMTP_USER | Outbound mail username |
SMTP_PASS | Outbound mail password |
MAIL_FROM | From address on the report email |
MAIL_TO | Optional BCC address that receives a copy of each report |
SITE_URL | Absolute base URL used to build the preview image URL in the email. A localhost or private network address is ignored, and the route falls back to the request origin and then to the public site origin |
NEXT_PUBLIC_SITE_URL | Same purpose as SITE_URL, and takes precedence over it |
APP_SIGNUP_URL | Sign-up link in the email. Falls back to the public app login URL |
NEXT_PUBLIC_APP_SIGNUP_URL | Fallback for APP_SIGNUP_URL |
COMPETITOR_REPORT_PREVIEW_IMAGE_PATH | Site relative path of the preview image in the email |
COMPETITOR_REPORT_PREVIEW_IMAGE_URL | Fully qualified preview image URL. Overrides the path above |
COMPETITOR_REPORT_FACEBOOK_PAGE_URL | Optional link included in the email |
SMTP_HOST, SMTP_USER, SMTP_PASS and MAIL_FROM are required for this route. Without
them it returns HTTP 503 and sends nothing. The preview image is loaded by the recipient's mail
client, so it only displays when the resolved image URL is publicly reachable.
Versions are the ones declared in package.json. The exact resolved versions are in
package-lock.json.
tailwindcss-animatesrc/components/ScrollRevealSetup.tsx for scroll revealsnext/font/google, Material Symbols Outlined from
Google Fontspostgres for the unsubscribe listThis is the beginning of the README. Read the rest at the original. Read the full README ↗