A modern, high-performance business website built with Next.js 15, React, and TypeScript.
- Next.js 16 with App Router
- Tailwind CSS for styling
- Dark Mode with system preference detection
- Contact Form with Resend email integration
- SEO Optimized with dynamic sitemaps and schema markup
- Lead Nurturing automated email sequences
- Performance Optimized for Core Web Vitals
-
Clone the repository
git clone https://github.com/hudsor01/hds-website.git cd hds-website -
Install dependencies
This project uses Bun as the package manager:
bun install
Or with npm:
npm install
-
Setup environment variables
cp .env.example .env.local
Then edit
.env.localwith your actual values.Required Variables (app won't start without these):
RESEND_API_KEY- Email service for contact formsPOSTGRES_URL- Neon PostgreSQL connection string
Optional Variables:
CSRF_SECRET- CSRF protection (required in production, 32+ characters)DISCORD_WEBHOOK_URL- Discord notifications for leadsSLACK_WEBHOOK_URL- Slack notifications for leadsADMIN_EMAILS- Comma-separated admin email addresses
See
.env.examplefor all available options and detailed documentation.Note: Environment variables are validated at runtime using @t3-oss/env-nextjs. The app will fail to start if required variables are missing or invalid.
-
Run the development server
With Bun (recommended):
bun run dev
Or with npm:
npm run dev
Open http://localhost:3000 in your browser.
The contact form sends emails to: [email protected]
- Go to
https://hudsondigitalsolutions.com/contact - Fill out the form with real information
- Submit and check for confirmation
- Check your email at [email protected]
npx tsx test-contact-form.ts- Start the development server:
bun run dev(ornpm run dev) - Open
http://localhost:3000/contactin your browser - Fill out and submit the form
- Admin Notification: Sent to [email protected] with form details
- Client Welcome Email: Sent to the form submitter
- Lead Nurturing: Automated email sequence scheduled for new leads
- High-Intent Detection: Special sequences for consultation requests
Deploy to Vercel:
vercelThe vercel.json file includes:
- Performance optimizations
- Security headers
- Image optimization
- Caching strategies
- Regional deployment (US East)
- Image optimization with Next.js Image component
- Static generation for blog posts
- Edge caching for assets
- Bundle size optimization
- Lazy loading components
- Web font optimization
- Dynamic sitemap generation
- Robots.txt configuration
- Schema.org structured data
- Open Graph meta tags
- Twitter Cards
- Dynamic keyword generation
With Bun (recommended):
# Run development server
bun run dev
# Build for production
bun run build
# Run production build
bun start
# Type checking
bun run typecheck
# Linting
bun run lintOr with npm:
# Run development server
npm run dev
# Build for production
npm run build
# Run production build
npm start
# Type checking
npm run typecheck
# Linting
npm run lintsrc/
├── app/ # Next.js app router pages
├── components/ # React components
├── contexts/ # React contexts (Theme)
├── lib/ # Utility functions
├── types/ # TypeScript types
└── utils/ # Helper utilities
The website includes automated email sequences:
-
Welcome Series (4 emails over 14 days)
- Immediate welcome email
- Value proposition (Day 3)
- Case studies (Day 7)
- Free audit offer (Day 14)
-
Consultation Follow-up (3 emails over 5 days)
- Thank you email
- Custom proposal (Day 2)
- Limited time offer (Day 5)
-
Long-term Nurturing (3 emails over 60 days)
- Educational content
- Framework comparisons
- ROI measurement guide
See .env.example for a complete list with detailed instructions.
Required:
RESEND_API_KEY- Email service for contact form
Optional:
CSRF_SECRET- CSRF protectionCRON_SECRET- Scheduled task authentication
Run cp .env.example .env.local to get started.
The website includes comprehensive analytics and performance monitoring
- Vercel Analytics: Core Web Vitals, speed insights, performance metrics
- Page views and navigation
- Form submissions and conversions
- Button clicks and user interactions
- Scroll depth and time on page
- Web Vitals (CLS, LCP, FID)
- Error tracking and debugging
- Lead attribution and marketing campaigns
- Core Web Vitals reporting
- Page load times and performance metrics
- Mobile vs desktop performance
- Real user monitoring (RUM)
- Error tracking and alerts
- GDPR compliant data collection
- User consent management
- Anonymous IP tracking
- Opt-out capabilities
All rights reserved - Hudson Digital Solutions