import { Check, PointerIcon, TrendingUp, ZapIcon } from 'lucide-react'
import { DASHBOARD_SIGN_UP_URL } from '@/lib/dashboard-links'
import dynamic from 'next/dynamic'
import { PRODUCT_SHORTNAMES } from 'shared-data/products'
import { cn } from 'ui'
import { Image } from 'ui-patterns/Image'
import MainProducts from '../MainProducts'
import type { FeaturesSection, HeroSection, Metadata, Quotes } from './solutions.utils'
import type { PlatformSectionProps } from '@/components/Solutions/PlatformSection'
import type { TwoColumnsSectionProps } from '@/components/Solutions/TwoColumnsSection'
import { useSendTelemetryEvent } from '@/lib/telemetry'
const AuthVisual = dynamic(() => import('components/Products/AuthVisual'))
const ComputePricingCalculator = dynamic(
() => import('components/Pricing/ComputePricingCalculator')
)
const FunctionsVisual = dynamic(() => import('components/Products/FunctionsVisual'))
const RealtimeVisual = dynamic(() => import('components/Products/RealtimeVisual'))
const AIBuildersLogos = dynamic(() => import('components/Solutions/AIBuildersLogos'))
const data: () => {
metadata: Metadata
heroSection: HeroSection
quotes: Quotes
why: FeaturesSection
platform: PlatformSectionProps
platformStarterSection: TwoColumnsSectionProps
} = () => {
const sendTelemetryEvent = useSendTelemetryEvent()
return {
metadata: {
metaTitle: 'Supabase for building Apps',
metaDescription: 'Your app, your vision. Supabase powers the rest.',
},
heroSection: {
id: 'hero',
title: 'Supabase for building Apps',
h1: (
<>
Your app, your vision.
Supabase powers the rest.
>
),
subheader: [
<>
You don’t need to be a developer to build something incredible. Supabase provides a
complete backend that’s easy to use with your favorite app builder tools. When you’re
ready to scale, Supabase is there to scale with you.
Build in a weekend, scale to millions.
>,
],
image: undefined,
ctas: [
{
label: 'Start your project',
href: DASHBOARD_SIGN_UP_URL,
type: 'primary' as any,
onClick: () =>
sendTelemetryEvent({
action: 'start_project_button_clicked',
properties: { buttonLocation: 'Solutions: No Code page hero' },
}),
},
],
},
quotes: {
id: 'quotes',
items: [
{
icon: '/images/logos/publicity/lovable.svg',
avatar: '/images/avatars/anton-osika.jpg',
author: 'Anton Osika',
authorTitle: 'Lovable - CEO',
quote: (
<>
We chose Supabase because it's{' '}
extremely user friendly and{' '}
covers all the needs to build full-stack applications
.
>
),
},
{
icon: '/images/logos/publicity/bolt.svg',
avatar: '/images/avatars/eric-simons.jpg',
author: 'Eric Simmons',
authorTitle: 'Bolt.new - CEO',
quote: (
<>
Supabase is awesome. Supabase is the{' '}
key database integration that we
have...because it’s the{' '}
best product in the world for storing and retrieving data
.
>
),
},
{
icon: '/images/logos/publicity/v0.svg',
avatar: '/images/avatars/guillermo-rauch.jpg',
author: 'Guillermo Rauch',
authorTitle: 'Vercel (v0) - CEO',
quote: (
<>
v0 integrates with Supabase seamlessly. If
you ask v0 to generate an application and it needs Supabase,{' '}
you’ll be prompted to create a Supabase account right there in the application
.
>
),
},
],
},
why: {
id: 'why-supabase',
label: '',
heading: (
<>
Why no-code app builders choose Supabase
>
),
subheading:
'Keep your focus where it belongs: building great monetizable apps for your business or hobby. Supabase handles everything else: no servers to manage, no database to configure, no security settings to tweak. Just point, click, and build.',
features: [
{
id: 'easy-to-use',
icon: ZapIcon,
heading: 'Easy to use',
subheading:
'Supabase is easy to use and set up. Instantly deploy a database for free, and affordably scale as you grow.',
},
{
id: 'point-and-click-backend',
icon: PointerIcon,
heading: 'Point and click backend',
subheading:
'Supabase includes everything you need for a great app: user logins, storage, edge functions, real-time subscriptions, and vector search. Use one or all.',
},
{
id: 'scalable',
icon: TrendingUp,
heading: 'Scales when you need it',
subheading:
'Supabase is just Postgres, with all the performance, high availability, and flexibility you need when your app goes viral and hits it big.',
},
],
},
platform: {
id: 'postgres-platform',
title: (
<>
Supabase is the Back-End for Everyone
>
),
subheading:
'Supabase includes everything you need to create the perfect app for your brand, business, or just for fun.',
className: cn(
'[&_div.grid]:sm:divide-x [&_div.grid]:divide-y',
'[&_div.grid>div:nth-child(2n+1)]:sm:border-l-0!',
'[&_div.grid>div:nth-child(2n+2)]:sm:border-l!',
'[&_div.grid>div:nth-child(2n+2)]:lg:border-l!',
'[&_div.grid>div:nth-child(3n+3)]:lg:border-l-0!',
'[&_div.grid>div:nth-child(2n+3)]:lg:border-l!',
'[&_div.grid>div:nth-child(2)]:lg:border-t-0!'
),
features: [
{
id: 'database',
title: 'Database',
isDatabase: true,
icon: MainProducts[PRODUCT_SHORTNAMES.DATABASE].icon,
subheading: (
<>
A fully managed database that’s simple for creators and{' '}
trusted by enterprises.
>
),
className: 'lg:col-span-2 flex-col lg:flex-row px-4 lg:pr-0',
image: (
| NAME | PUBLICATION |
|---|---|
| {row.name} | {row.pub} |