Investor/partner-facing landing for Liqua (liquidity + execution layer for physical commodity trading).
Built with Next.js App Router, TypeScript, Tailwind CSS, and a server-side Request Access form via Resend.
- Next.js 16 (App Router)
- React 19
- TypeScript
- Tailwind CSS
- Resend (API route email delivery)
npm install
npm run devApp runs at http://localhost:3000.
npm run lint
npm run build
npm startCopy .env.example to .env.local and fill values:
RESEND_API_KEY(required for form delivery)CONTACT_TO_EMAIL(optional; default isa.biletskiy@gmail.com)
- Frontend form submits to
POST /api/request-access - Route handler:
app/api/request-access/route.ts - Email provider: Resend
- Subject:
Liqua — Request Access - Includes: name, company, email, role, message, timestamp, source
- Spam guard: honeypot field + submit timing validation
In lib/constants.ts:
YOUTUBE_VIDEO_IDGOOGLE_SLIDES_EMBED_URLPDF_URLHERO_IMAGES- Partner strip links (
PARTNERS) - Footer credit links (
ABVX_URL,ASCII_THEME_URL)
Header has 2 controls:
- Theme:
light/dark(moon/sun button) - Style:
ASCII/Default
State is persisted in localStorage under liqua_display_mode.
Root attributes:
data-theme="light|dark"data-style="default|ascii"
/landing page/privacy/terms/api/request-access
- Logos:
public/logo/liqua-black.svg,public/logo/liqua-white.svg - Deck PDF:
public/deck/liqua-pitch-deck.pdf - Hero visuals:
public/hero/Lhero1.svg...public/hero/Lhero6.svg
- Push to GitHub (
markoblogo/liqua). - Import repo in Vercel.
- Keep default Next.js settings.
- Set env vars in Vercel Project Settings:
RESEND_API_KEYCONTACT_TO_EMAIL(optional)
- Deploy.