Tech Stack
Technologies and libraries powering the Owner Quotes application.
Core Framework
Next.js 16
React framework with App Router, deployed to Cloudflare via opennextjs-cloudflare
React 19
UI library with Server Components support
TypeScript
Type-safe development with strict mode
Styling & UI
Tailwind CSS v4
Utility-first CSS with PostCSS integration
shadcn/ui
Radix-based component library (New York style)
Radix UI
Unstyled, accessible UI primitives
Lucide React
Icon library
Geist
Vercel's custom font family (Sans + Mono)
Class Variance Authority
Component variant management
TipTap
Rich text editor for custom quote messages
Payments
Stripe
Payment Intent and Checkout Session for quote payments, deposit support
Communications
Resend
Transactional email sending for quotes, confirmations, and reminders
Twilio
SMS delivery for booking confirmations and follow-ups, plus OTP verification
Integrations
Google Maps
Address autocomplete for property lookup (AU/NZ)
Google Sheets
Property intelligence data lookups
OpenAI
Fallback property detail extraction from addresses
Sentry
Error tracking and monitoring
CRM Backend
Custom API integration for lead, quote, and booking sync
Development
Biome
Linting and formatting
Vitest
Unit and integration testing
Bun
Package manager
Deployment
Cloudflare Workers
Production hosting via opennextjs-cloudflare adapter
Wrangler
Cloudflare deployment CLI tool
Environment Variables
| Variable | Service |
|---|---|
RESEND_API_KEY | Email sending |
TWILIO_ACCOUNT_SID | SMS service |
TWILIO_AUTH_TOKEN | SMS authentication |
VERIFY_SERVICE_SID | OTP verification |
TWILIO_MESSAGING_SERVICE_SID | SMS messaging |
STRIPE_SECRET_KEY | Payment processing |
STRIPE_PUBLIC_KEY | Client-side Stripe |
SENTRY_DSN | Error tracking |
CRM_API_* | Backend CRM credentials |
GOOGLE_SHEETS_* | Property intelligence |
OPENAI_API_KEY | Property extraction |