Customization Overview
Guide to customizing the AI SaaS Boilerplate for your specific needs
Customization Overview
The AI SaaS Boilerplate is designed to be highly customizable, allowing you to adapt it to your specific business needs. This section covers the various ways you can customize the platform.
Customization Areas
UI Customization
Brand the frontend with your colors, logos, and design
Adding New AI Services
Integrate additional AI capabilities into the platform
Modifying the Pricing Model
Adjust subscription tiers and credit costs
Third-Party Integrations
Add integrations with other services and APIs
Customization Philosophy
The boilerplate follows several key principles to make customization straightforward:
- Modularity: Components and services are modular and loosely coupled
- Configuration-Driven: Many aspects can be changed through configuration
- Clean Architecture: Separation of concerns makes targeted changes easier
- Documentation: Code is well-documented to facilitate modifications
- Extensibility: Key extension points are provided for adding new features
UI Customization
You can customize the look and feel of the application to match your brand:
Branding Elements
- Logo: Replace the default logo with your own
- Colors: Modify the color scheme through Tailwind CSS configuration
- Typography: Change fonts and text styles
- Images: Replace placeholder images with your own visuals
Layout Customization
- Home Page: Modify the landing page sections and content
- Dashboard: Customize the dashboard layout and widgets
- Service Pages: Adjust the UI for individual AI service pages
For detailed instructions, see the UI Customization guide.
Adding New AI Services
The platform is designed to make it easy to add new AI services:
- Create a new Lambda function for the service
- Add a new CDK stack to deploy the Lambda
- Create frontend components for the service UI
- Add a new route in the Next.js app
- Configure credit costs for the new service
Each service follows a consistent pattern, so you can use existing services as templates for new ones.
For step-by-step instructions, see the Adding New AI Services guide.
Modifying the Pricing Model
You can adjust the pricing and subscription model to align with your business strategy:
Subscription Tiers
- Modify Stripe products and prices in your Stripe dashboard
- Update the CDK configuration with the new price IDs
- Adjust the frontend components that display pricing information
Credit System
- Modify credit costs for each service in the CDK configuration
- Update credit allocation for each subscription tier
- Adjust the credit purchase options if you offer credit packs
For detailed instructions, see the Modifying the Pricing Model guide.
Third-Party Integrations
You can extend the platform with additional third-party integrations:
API Integrations
- Create a new Lambda function for the integration
- Add authentication and API key management in Secrets Manager
- Create frontend components to interact with the integration
- Update the CDK code to deploy the new Lambda
Authentication Providers
- Add new identity providers to Cognito (e.g., Facebook, Twitter)
- Update the authentication UI to include the new providers
- Configure the provider in the CDK code
For step-by-step instructions, see the Third-Party Integrations guide.
Customization Best Practices
When customizing the boilerplate, follow these best practices:
- Start with configuration before modifying code
- Make incremental changes and test frequently
- Use feature branches for major customizations
- Document your changes for future reference
- Follow the established patterns in the codebase
- Update tests to cover your customizations
Be careful when modifying core functionality, as it may impact other parts of the system. Consider the dependencies between components before making changes.
Customization Examples
Here are some common customization scenarios:
Example 1: Adding a Text-to-Speech Service
Example 2: Modifying a Service Credit Cost
Example 3: Adding a Custom Theme
Next Steps
Choose the customization area you'd like to explore: