SwiftVerify — Payoneer verification SaaS for East African freelancers (Next.js 16)
# SwiftVerify
Revenue-generating SaaS for Payoneer onboarding & payment-gateway services for East African freelancers and sellers. Built in phases.
**Stack:** Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4 · Prisma (Phase 2) · Auth.js (Phase 2) · Nodemailer (Phase 4) · Vercel + Vercel Postgres.
---
## Getting started
```bash
npm install
npm run dev #
localhost (the preview here runs on :3100)
```
## Build phases
| Phase | Scope | Status |
|-------|-------|--------|
| **1** | Landing page — hero, rotating banner, services grid w/ promo logic, testimonials carousel, how-it-works, breaking-news + newsletter, footer, floating WhatsApp/Telegram | ✅ Done |
| 2 | Prisma + Postgres + Auth.js, order form, M-PESA payment upload | ⬜ Next |
| 3 | Admin dashboard — orders, approvals, promo tracking, testimonials CRUD, analytics, settings | ⬜ |
| 4 | Email (Gmail SMTP) + newsletter persistence + Telegram links | ⬜ |
| 5 | Deploy to Vercel + go-live | ⬜ |
## Project structure (Phase 1)
```
app/
layout.tsx Root layout, fonts, metadata
page.tsx Landing page composition
order/page.tsx Order CTA stub (full flow = Phase 2)
privacy|terms|refund/ Legal stubs
api/subscribe/route.ts Newsletter endpoint (validates; persists in Phase 2)
components/ Navbar, Hero, ServicesGrid, ServiceCard, HowItWorks,
TestimonialsCarousel, BreakingNews, Newsletter, Footer,
FloatingButtons, AnnouncementBanner, Logo, LegalShell
lib/
config.ts Site config: promo count, M-PESA #, social links
content.ts Services, testimonials, tips (mirrors Prisma models)
utils.ts cn(), formatKES()
prisma/
schema.prisma Full data model (Phase 2 contract)
seed.ts Seed services + testimonials (Phase 2)
public/
logo.svg Placeholder wordmark — swap with the real brand asset
logo-mark.svg Placeholder icon / favicon
```
## Branding
Placeholder logo (`public/logo.svg` + `log …