Solution
Solution highlight section that contrasts with the Problem section.
Usage
import { Solution } from '@/components/landing';
<Solution />
Location: src/components/landing/Solution.tsx
Purpose
This section presents your product as the solution to the problems identified earlier. It should directly address each pain point with a clear benefit.
Customization
Edit the solutions array in Solution.tsx:
const solutions: SolutionItem[] = [
{
iconKey: 'fast',
titleKey: 'fast.title',
descriptionKey: 'fast.description',
},
{
iconKey: 'simple',
titleKey: 'simple.title',
descriptionKey: 'simple.description',
},
{
iconKey: 'affordable',
titleKey: 'affordable.title',
descriptionKey: 'affordable.description',
},
];
i18n
Update translations:
{
"landing": {
"solution": {
"title": "The Smarter Way to Build",
"subtitle": "Start with a production-ready foundation",
"fast": {
"title": "Ship in Days, Not Months",
"description": "Pre-built auth, billing, and admin panel ready to go"
},
"simple": {
"title": "Everything Just Works",
"description": "Stripe, Resend, and database integrations pre-configured"
},
"affordable": {
"title": "One-Time Purchase",
"description": "No recurring fees, no per-seat pricing, yours forever"
}
}
}
}
Best Practices
- Mirror the problems - Each solution should address a specific problem
- Use positive language - "fast", "simple", "powerful"
- Be specific about benefits - Concrete outcomes beat vague promises
- Include social proof - Numbers or testimonials strengthen claims
Example Layout
<section className="py-20 bg-white dark:bg-zinc-950">
<div className="container mx-auto px-4">
<div className="text-center mb-12">
<h2 className="text-3xl font-bold mb-4">{t('title')}</h2>
<p className="text-zinc-600 dark:text-zinc-400">{t('subtitle')}</p>
</div>
<div className="grid md:grid-cols-3 gap-8 max-w-5xl mx-auto">
{solutions.map((solution, index) => (
<div key={index} className="text-center">
<div className="w-16 h-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center">
<CheckCircleIcon className="w-8 h-8 text-green-600 dark:text-green-400" />
</div>
<h3 className="text-xl font-bold mb-2">{t(solution.titleKey)}</h3>
<p className="text-zinc-600 dark:text-zinc-400">
{t(solution.descriptionKey)}
</p>
</div>
))}
</div>
</div>
</section>
Problem + Solution Flow
For best conversion, use these sections together:
<Problem />
<Solution />
<Features />
This creates a narrative: "Here's your pain → Here's the solution → Here's how it works"