The marketing and waitlist site for Xend — a dollar account for everyday life. Hold dollars on your phone, send to anyone by username in seconds for cents, and fund from local currency.
This is a Next.js app (App Router) that serves the public Xend site: the landing page, the waitlist form, and legal pages (Terms of Service, Privacy Policy). Waitlist signups are stored in Postgres via Prisma and confirmed by email via Resend.
- Framework: Next.js 16, React 19, TypeScript
- Styling: Tailwind CSS v4, shadcn/ui (Radix primitives)
- Data: Prisma ORM + PostgreSQL (Supabase)
- Email: Resend + React Email
- Analytics: Vercel Analytics
- Hosting: Vercel
pnpm installCreate a .env.local file in the project root:
DATABASE_URL="postgresql://user:password@host:5432/database?schema=public"
DIRECT_URL="postgresql://user:password@host:5432/database"
RESEND_API_KEY="re_your_resend_api_key"DATABASE_URL— pooled Postgres connection string (from your Supabase project's Database settings)DIRECT_URL— direct (non-pooled) Postgres connection string, used for migrationsRESEND_API_KEY— API key from your Resend dashboard
For local testing without a verified domain, Resend's default onboarding@resend.dev sender works out of the box. For production, verify your sending domain in Resend and update the from address in lib/emails/send-email.ts.
npx prisma migrate devThis applies the schema in prisma/schema.prisma — a single users table backing the waitlist (id, email, createdAt, isWaitlistUser).
pnpm devThe app runs at http://localhost:4030.
app/
page.tsx Home page
waitlist/ Waitlist signup flow
legal/ Terms of Service & Privacy Policy
api/waitlist/ Waitlist server action
components/ Site sections (hero, pricing, footer, navbar, ...)
components/ui/ shadcn/ui primitives
lib/emails/ Transactional email templates and sending
prisma/ Database schema and migrations
| Command | Description |
|---|---|
pnpm dev |
Start the local dev server (port 4030) |
pnpm build |
Generate the Prisma client and build for production |
pnpm start |
Run the production build |
pnpm lint |
Lint the codebase |
- Site: xend.global
- Litepaper: xend.global/litepaper.pdf
- X: @xend_global