Tech Stack
Technologies powering the Owner Partners affiliate platform.
Core Framework
Next.js 16
React framework with App Router
React 19
UI library with hooks
TypeScript
Type-safe development
React Hook Form
Form state management
Zod
Schema validation
Database & ORM
PostgreSQL
Relational database hosted on Neon
Prisma 6
ORM with type-safe queries and migrations
Authentication & Security
JWT (jose)
Token-based authentication
bcryptjs
Password hashing
Google OAuth
Single sign-on integration
OTP Verification
Email-based one-time passwords
Styling & UI
Tailwind CSS
Utility-first CSS with animations
Radix UI
Comprehensive headless component library
Recharts
Data visualization and charts
Framer Motion
Smooth animations and transitions
Sonner
Toast notifications
Communications
Resend
Transactional and marketing email delivery
Twilio
SMS delivery to referral contacts
Payments
Stripe
Payment processing
Stripe Connect
Affiliate payout processing — partners onboard via Connect
Integrations
HubSpot
Contact management sync
Svix
Webhook management and delivery
Sentry
Error tracking and monitoring
Vercel Analytics
Performance and usage analytics
Development
Biome
Linting and formatting
Vitest
Testing framework
Lefthook
Git hooks
Docker
Containerized deployment support
Environment Variables
| Variable | Service |
|---|---|
DATABASE_URL | PostgreSQL connection string |
JWT_SECRET | JWT signing (min 32 characters) |
RESEND_API_KEY | Email sending |
RESEND_FROM_EMAIL | Sender email address |
RESEND_AUDIENCE_ID | Marketing audience |
TWILIO_ACCOUNT_SID | SMS service |
TWILIO_AUTH_TOKEN | SMS authentication |
TWILIO_MESSAGING_SERVICE_SID | SMS messaging |
STRIPE_SECRET_KEY | Payment processing |
STRIPE_PUBLISHABLE_KEY | Client-side Stripe |
STRIPE_WEBHOOK_SECRET | Stripe webhook verification |
GOOGLE_CLIENT_ID | Google OAuth |
GOOGLE_CLIENT_SECRET | Google OAuth |
HUBSPOT_ACCESS_TOKEN | HubSpot integration |
CRON_SECRET | Cron job authentication |