Customization
Learn how to customize your SaaS branding, landing page, and content using the centralized config files.
First thing to do after installation! ShipSecure makes it super easy to personalize your SaaS without touching complex code.
All customization happens in the src/config/ directory. These centralized configuration files let you update your entire app's branding, content, and marketing materials in one place.
Overview
ShipSecure uses two main configuration files:
src/config/site.ts- Branding, SEO, and site metadatasrc/config/marketing.ts- Landing page content, features, and pricing
Branding & SEO (src/config/site.ts)
This file controls your app's identity across the entire application. Update it to change your app name, description, URL, social links, and SEO settings.
Configuration Options
export const siteConfig = {
// App Identity
name: "MySaaS", // Your app name (appears in headers, footers, titles)
title: "MySaaS - Your Tagline", // Full page title
description: "My awesome SaaS built with ShipSecure", // SEO description
// URLs
url: "https://myapp.com", // Your production domain
ogImage: "https://myapp.com/og.png", // Social media preview image
// Social Links
links: {
twitter: "https://twitter.com/yourhandle",
github: "https://github.com/yourusername",
mail: "mailto:hello@myapp.com",
},
// Author Information
author: {
name: "Your Name",
web: "https://yourwebsite.com",
},
// SEO Keywords
keywords: ["SaaS", "Your Keywords", "More Keywords"],
};
What This Affects
When you update site.ts, these changes appear across your entire application:
- App Name: Headers, footers, page titles, metadata
- SEO: Meta descriptions, Open Graph tags, Twitter cards
- Social Sharing: Preview images and descriptions when shared
- Links: Footer links, contact information
- Sitemap: Automatically generated from your URL
Example: Changing Your App Name
// Before
name: "ShipSecure",
// After
name: "MyAwesomeSaaS",
This single change updates your app name in:
- Navigation header
- Footer copyright
- Page titles
- Meta tags
- Sitemap
Landing Page & Marketing (src/config/marketing.ts)
This file controls your landing page content - hero section, features list, and pricing plans.
Hero Section
export const marketingConfig = {
hero: {
badge: "Your Tagline", // Small badge above title
title: {
first: "Build", // First part of hero title
second: "Fast", // Second part (highlighted)
},
description: "Your product description here. Use <br /> for line breaks.",
cta: "Get Started", // Call-to-action button text
},
// ...
};
Features List
Customize the features displayed on your landing page:
features: [
{
icon: "lock", // Lucide icon name
title: "Bank-Grade Security",
description: "Pre-configured security headers to prevent attacks.",
},
{
icon: "zap",
title: "Lightning Fast",
description: "Built on Next.js 16 for optimal performance.",
},
// Add more features...
],
Available Icons: Use any Lucide React icon name (e.g., lock, zap, shield, key, database, flask).
Pricing Configuration
Configure your pricing (single plan or multiple tiers):
// Single plan with launch discount (recommended)
pricing: {
badge: "🚀 Product Hunt Special",
name: "ShipSecure",
price: "$49",
originalPrice: "$149",
savings: "Save $50",
description: "Everything you need to ship securely",
features: [
"Private GitHub repository access",
"Full source code (TypeScript)",
"Lifetime updates & security patches",
"Commercial license (unlimited projects)",
"Email support",
],
href: "https://your-purchase-link.com",
cta: "Get Instant Access",
},
What This Affects
When you update marketing.ts, these changes appear on:
- Landing Page Hero: Title, description, CTA button
- Features Grid: All feature cards
- Pricing Table: All pricing plans and features
Quick Start: 5-Minute Customization
-
Open
src/config/site.ts- Change
nameto your app name - Update
urlto your domain - Add your social links
- Change
-
Open
src/config/marketing.ts- Update
hero.titlewith your value proposition - Modify
featuresarray with your features - Update
pricingarray with your plans
- Update
-
Save and refresh
- Your changes appear immediately!
Advanced Customization
Adding Custom Colors
To change your app's color scheme, edit src/app/globals.css:
:root {
--primary: 142 71% 45%; /* Your primary color (HSL) */
--secondary: 217 33% 17%; /* Your secondary color */
/* ... more color variables */
}
Customizing Components
While the config files handle most customization, you can also:
- Components: Edit files in
src/components/for UI changes - Pages: Modify
src/app/page.tsxfor landing page layout changes - Styles: Update Tailwind classes in component files
Best Practices
- Update config files first - Before building features, customize your brand
- Keep it simple - Use config files for content, code for functionality
- Test changes - Refresh your browser after config changes
- Version control - Commit your config changes to track your branding evolution
Troubleshooting
Changes not appearing?
- Clear cache: Hard refresh (Cmd+Shift+R / Ctrl+Shift+R)
- Restart dev server: Stop and restart
npm run dev - Check file path: Ensure you're editing files in
src/config/
TypeScript errors?
- Check types: Ensure your config matches the TypeScript types
- Restart TypeScript server: In VS Code, Cmd+Shift+P → "TypeScript: Restart TS Server"
Next Steps
After customizing your brand:
- Authentication Setup - Configure OAuth providers
- Billing & Payments - Set up Gumroad license verification
- Security Features - Learn about built-in security
- Deployment - Deploy to production
That's it! Your SaaS is now personalized and ready for development. Happy building!