├── .gitignore ├── README.md ├── next.config.mjs ├── package-lock.json ├── package.json ├── postcss.config.mjs ├── public ├── Hero_image.png ├── Hero_image1.png ├── Hero_image2.svg ├── avatars │ ├── avatar_1.png │ ├── avatar_2.png │ ├── avatar_3.png │ ├── avatar_4.png │ ├── avatar_5.png │ ├── avatar_6.png │ └── chirag_portfolio_image.jpeg ├── brand_logo.svg ├── brand_logo_black.svg ├── icons │ ├── brand │ │ ├── Framer_motion.png │ │ ├── Nextjs_svg.svg │ │ ├── Stripe_svg.svg │ │ ├── framer_icon_black.png │ │ ├── open-ai-logo.svg │ │ ├── razorpay_icon.png │ │ ├── resend-icon-black.svg │ │ ├── supabase_svg.svg │ │ └── tailwind_css.svg │ ├── gift-icon.svg │ ├── lightbulb-filament.svg │ ├── money-wavy.svg │ ├── smiley-nervous.svg │ ├── star-filled.svg │ ├── tick-icon.svg │ ├── timer.svg │ └── wrong-icon.svg ├── illustrations │ ├── 404_illustration.svg │ ├── Sample_2_illustration_sample.webp │ ├── Sample_3_illustration_sample.webp │ └── problem_1_illustration_sample.webp ├── logos │ ├── HackerNews.png │ ├── indieHackerLogo.png │ ├── product_hunt_logo.png │ └── reddit_logo.png ├── next.svg ├── openGraph_BuildFast.png ├── vercel.svg └── videos │ ├── BuildFast_Chatgpt_assistant.mp4 │ ├── BuildFast_ThemeChange.mp4 │ └── BuildFast_custom_ui_components.mp4 ├── src ├── app │ ├── favicon.ico │ ├── layout.tsx │ └── page.tsx ├── components │ ├── About.tsx │ ├── CTA.tsx │ ├── EmailTemplate.tsx │ ├── FAQ.tsx │ ├── FeatureCarousel.tsx │ ├── FeaturedIn.tsx │ ├── FeaturesListicle.tsx │ ├── Footer.tsx │ ├── Header.tsx │ ├── Hero.tsx │ ├── Hero │ │ └── HeroCenter │ │ │ └── index.tsx │ ├── IconCardsGrid.tsx │ ├── ImageCardsGrid.tsx │ ├── Navbars │ │ └── Navbar_center │ │ │ └── index.tsx │ ├── NumberCardsGrid.tsx │ ├── Pricing.tsx │ ├── Problems.tsx │ ├── TestinomialGrid.tsx │ ├── atoms │ │ ├── Buttons │ │ │ ├── ButtonLead.tsx │ │ │ ├── ButtonPrimary.tsx │ │ │ └── ButtonSecondary.tsx │ │ ├── Cards │ │ │ ├── ContentCards │ │ │ │ ├── BlogPreviewCard.tsx │ │ │ │ ├── ImageGalleryCard.tsx │ │ │ │ └── TestinomialCard.tsx │ │ │ ├── FeatureCards │ │ │ │ ├── GradientFeatureCard.tsx │ │ │ │ ├── IconCard.tsx │ │ │ │ ├── ImageCard.tsx │ │ │ │ ├── InfoCard.tsx │ │ │ │ ├── NumberCard.tsx │ │ │ │ └── PlainFeatureCard.tsx │ │ │ ├── Image │ │ │ │ └── ImageContainer.tsx │ │ │ ├── InteractionCards │ │ │ │ ├── ExpandableCard.tsx │ │ │ │ ├── FlipCard.tsx │ │ │ │ └── HoverEffectCard.tsx │ │ │ └── SpecialityCards │ │ │ │ ├── FAQCard.tsx │ │ │ │ └── NotificationCard.tsx │ │ ├── FeatureDetails.tsx │ │ ├── HeroAnimation.tsx │ │ ├── Label.tsx │ │ ├── NavPopup.tsx │ │ └── ThemeSwitcher.tsx │ └── featuredIn │ │ └── marqeeLogos │ │ └── index.tsx ├── config │ ├── CTA │ │ └── cta.json │ ├── FAQ │ │ └── faq.json │ ├── Featured │ │ └── featured.json │ ├── about │ │ └── about.json │ ├── configTypes.ts │ ├── emailConfig │ │ └── resend.json │ ├── features │ │ ├── featureCarousel.json │ │ └── featuresListicle.json │ ├── footer │ │ └── footer.json │ ├── hero │ │ └── hero.json │ ├── navbar │ │ └── navbar.json │ ├── paymentsConfig │ │ ├── razorpay.json │ │ └── stripe.json │ ├── pricing │ │ └── pricing.json │ ├── problems │ │ ├── problems.json │ │ └── problems_with_images.json │ ├── siteConfig.json │ ├── siteConfig_Backup.json │ └── testinomialsGrid │ │ └── testinomialGrid1.json ├── customTypes │ └── events.tsx ├── hooks │ ├── useJoinWaitlist.ts │ ├── useRazorpayCheckout.ts │ └── useStripeCheckout.ts ├── pages │ ├── 404.tsx │ ├── _app.tsx │ ├── api │ │ ├── create-checkout-session.ts │ │ ├── create-razorpay-order.ts │ │ └── join-waitlist.ts │ ├── license.tsx │ ├── privacy-policy.tsx │ └── tos.tsx ├── styles │ └── globals.css └── utils │ ├── extractName.ts │ └── getIconFromName.ts ├── tailwind.config.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | .env 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | BuildFast Logo 4 | 5 |
BuildFast 6 |

7 | 8 |

9 | Build your SaaS product landing page in hours, not days. 10 |
Super easy to customize Next.js boilerplate. 11 |
12 | About 13 | · 14 | Get Started 15 | · 16 | Customize 17 | · 18 | Deploy 19 |

20 | 21 | --- 22 | 23 | ## About BuildFast 24 | 25 | **BuildFast** is a powerful and easy-to-use Next.js boilerplate designed to accelerate the development of SaaS product landing pages. With all essential features included and a highly customizable structure, you can have a fully functional and stylish landing page ready in no time. 26 | 27 | --- 28 | 29 | ## Features 30 | 31 | - 🖌️ **Fully Customizable**: Update site content through a single configuration file. 32 | - ⚡ **Modern Tech Stack**: Built with Next.js and Tailwind CSS for scalability and aesthetics. 33 | - 🚀 **Optimized for Speed**: Get your landing page live in hours with minimal setup. 34 | - 💾 **Ready for Deployment**: Deploy seamlessly on platforms like Vercel. 35 | 36 | --- 37 | 38 | ## Getting Started 39 | 40 | Follow these steps to set up BuildFast: 41 | 42 | 1. **Clone the Repository:** 43 | ```bash 44 | git clone https://github.com/chiragksharma/BuildFast.git 45 | cd BuildFast 46 | ``` 47 | 2. **Install Dependencies** 48 | ```bash 49 | npm install 50 | # or 51 | yarn install 52 | # or 53 | pnpm install 54 | # or 55 | bun install 56 | ``` 57 | 3. **Start the Development Server:** 58 | ```bash 59 | npm run dev 60 | # or 61 | yarn dev 62 | # or 63 | pnpm dev 64 | # or 65 | bun dev 66 | 67 | ``` 68 | 4. **Open in Browser: Navigate to http://localhost:3000 to view your site.** 69 | 70 | ## Project Structure 71 | 72 | Here's an overview of the **BuildFast** project structure: 73 | 74 | | Folder | Description | 75 | |--------------------|-----------------------------------------------| 76 | | `src/app/` | Main application components | 77 | | `src/components/` | Reusable UI components | 78 | | `src/config/` | Configuration files (e.g., `siteConfig.json`)| 79 | | `src/context/` | React context providers | 80 | | `src/customTypes/`| Custom TypeScript types | 81 | | `src/hooks/` | Custom React hooks | 82 | | `src/pages/` | Next.js pages and API routes | 83 | | `src/styles/` | Global styles and Tailwind CSS config | 84 | | `src/utils/` | Utility functions | 85 | 86 | --- 87 | 88 | ## Customization 89 | 90 | Easily update your landing page by modifying the `siteConfig.json` file located in the `src/config/` directory. This file controls: 91 | 92 | - **Text content** 93 | - **Branding** 94 | - **Layout options** 95 | - **SEO settings** 96 | 97 | With BuildFast, customization is quick and intuitive. 98 | 99 | --- 100 | 101 | ## Deploy on Vercel 102 | 103 | ### Why Vercel? 104 | The [Vercel Platform](https://vercel.com/) is the easiest way to deploy your Next.js app. 105 | 106 | ### Steps to Deploy 🚀 107 | 108 | 1. **Login to Vercel:** 109 | ```bash 110 | npx vercel login 111 | ``` 112 | Authenticate via GitHub, GitLab, Bitbucket, or email. 113 | 114 | 2. **Run the Deployment Command:** 115 | ```bash 116 | npx vercel 117 | ``` 118 | 119 | Follow the interactive prompts to create a new project or link to an existing one. 120 | 121 | Done! 122 | Your landing page is now live! 🎉 123 | 124 | ## Learn More 125 | 126 | To dive deeper into the features and capabilities of BuildFast, explore these resources: 127 | 128 | - [Next.js Documentation](https://nextjs.org/docs) 129 | - [Tailwind CSS Documentation](https://tailwindcss.com/docs) 130 | 131 | ## Support & Contribution 132 | 133 | Have questions or want to contribute? Open an issue or submit a pull request on the [GitHub Repository](https://github.com/chiragksharma/BuildFast). 134 | 135 | 136 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | webpack(config) { 4 | // Grab the existing rule that handles SVG imports 5 | const fileLoaderRule = config.module.rules.find((rule) => 6 | rule.test?.test?.(".svg") 7 | ); 8 | 9 | config.module.rules.push( 10 | // Reapply the existing rule, but only for svg imports ending in ?url 11 | { 12 | ...fileLoaderRule, 13 | test: /\.svg$/i, 14 | resourceQuery: /url/, // *.svg?url 15 | }, 16 | // Convert all other *.svg imports to React components 17 | { 18 | test: /\.svg$/i, 19 | issuer: fileLoaderRule.issuer, 20 | resourceQuery: { not: [...fileLoaderRule.resourceQuery.not, /url/] }, // exclude if *.svg?url 21 | use: ["@svgr/webpack"], 22 | } 23 | ); 24 | 25 | // Modify the file loader rule to ignore *.svg, since we have it handled now. 26 | fileLoaderRule.exclude = /\.svg$/i; 27 | 28 | return config; 29 | }, 30 | }; 31 | 32 | export default nextConfig; 33 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "saas-landing-page", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@stripe/stripe-js": "^4.4.0", 13 | "clsx": "^2.1.1", 14 | "framer-motion": "^11.3.30", 15 | "next": "14.2.6", 16 | "next-nprogress-bar": "^2.3.13", 17 | "next-themes": "^0.3.0", 18 | "phosphor-react": "^1.4.1", 19 | "razorpay": "^2.9.4", 20 | "react": "^18", 21 | "react-dom": "^18", 22 | "react-player": "^2.16.0", 23 | "react-tweet": "^3.2.1", 24 | "resend": "^4.0.0", 25 | "stripe": "^16.11.0" 26 | }, 27 | "devDependencies": { 28 | "@types/node": "^20", 29 | "@types/nprogress": "^0.2.3", 30 | "@types/react": "^18", 31 | "@types/react-dom": "^18", 32 | "autoprefixer": "^10.4.20", 33 | "postcss": "^8.4.41", 34 | "tailwindcss": "^3.4.10", 35 | "typescript": "^5", 36 | "vercel": "^37.8.0" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | autoprefixer: {}, 6 | } 7 | }; 8 | 9 | export default config; 10 | -------------------------------------------------------------------------------- /public/Hero_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/Hero_image.png -------------------------------------------------------------------------------- /public/Hero_image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/Hero_image1.png -------------------------------------------------------------------------------- /public/avatars/avatar_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/avatars/avatar_1.png -------------------------------------------------------------------------------- /public/avatars/avatar_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/avatars/avatar_2.png -------------------------------------------------------------------------------- /public/avatars/avatar_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/avatars/avatar_3.png -------------------------------------------------------------------------------- /public/avatars/avatar_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/avatars/avatar_4.png -------------------------------------------------------------------------------- /public/avatars/avatar_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/avatars/avatar_5.png -------------------------------------------------------------------------------- /public/avatars/avatar_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/avatars/avatar_6.png -------------------------------------------------------------------------------- /public/avatars/chirag_portfolio_image.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/avatars/chirag_portfolio_image.jpeg -------------------------------------------------------------------------------- /public/brand_logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/brand_logo_black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/brand/Framer_motion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/icons/brand/Framer_motion.png -------------------------------------------------------------------------------- /public/icons/brand/Nextjs_svg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/brand/Stripe_svg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/brand/framer_icon_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/icons/brand/framer_icon_black.png -------------------------------------------------------------------------------- /public/icons/brand/open-ai-logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/brand/razorpay_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/icons/brand/razorpay_icon.png -------------------------------------------------------------------------------- /public/icons/brand/resend-icon-black.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/icons/brand/supabase_svg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/icons/brand/tailwind_css.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/gift-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/lightbulb-filament.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/money-wavy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/smiley-nervous.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/star-filled.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/tick-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/timer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/wrong-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/illustrations/Sample_2_illustration_sample.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/illustrations/Sample_2_illustration_sample.webp -------------------------------------------------------------------------------- /public/illustrations/Sample_3_illustration_sample.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/illustrations/Sample_3_illustration_sample.webp -------------------------------------------------------------------------------- /public/illustrations/problem_1_illustration_sample.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/illustrations/problem_1_illustration_sample.webp -------------------------------------------------------------------------------- /public/logos/HackerNews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/logos/HackerNews.png -------------------------------------------------------------------------------- /public/logos/indieHackerLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/logos/indieHackerLogo.png -------------------------------------------------------------------------------- /public/logos/product_hunt_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/logos/product_hunt_logo.png -------------------------------------------------------------------------------- /public/logos/reddit_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/logos/reddit_logo.png -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/openGraph_BuildFast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/openGraph_BuildFast.png -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/videos/BuildFast_Chatgpt_assistant.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/videos/BuildFast_Chatgpt_assistant.mp4 -------------------------------------------------------------------------------- /public/videos/BuildFast_ThemeChange.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/videos/BuildFast_ThemeChange.mp4 -------------------------------------------------------------------------------- /public/videos/BuildFast_custom_ui_components.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/public/videos/BuildFast_custom_ui_components.mp4 -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chiragksharma/BuildFast/ac322327b5e29c238735bcd0dd83198dd2dd284d/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import { Bricolage_Grotesque } from "next/font/google"; 3 | import Header from "@components/Header"; 4 | import "@styles/globals.css"; 5 | import Head from "next/head"; 6 | import Footer from "@components/Footer"; 7 | import { ThemeProvider } from "next-themes"; 8 | import NavbarCenter from "@components/Navbars/Navbar_center"; 9 | 10 | const Bricolage = Bricolage_Grotesque({ 11 | weight: ['200', '300', '400', '500', '600', '700', '800'], 12 | subsets: ['latin'], 13 | display: 'swap', 14 | variable: '--font-bricolage', 15 | }); 16 | 17 | export const metadata: Metadata = { 18 | title: "BuildFast", 19 | description: "Nextjs SaaS Landing Page boilerplate", 20 | icons: { 21 | icon: "./favicon.ico", 22 | }, 23 | openGraph: { 24 | title: "BuildFast", 25 | description: "Create Landing Page in an hour ⌚", 26 | images: [ 27 | { 28 | url: "/openGraph_BuildFast.png", 29 | width: 800, 30 | height: 600, 31 | alt: "BuildFast Landing Page", 32 | }, 33 | ], 34 | }, 35 | 36 | }; 37 | 38 | export default function RootLayout({ 39 | children, 40 | }: Readonly<{ 41 | children: React.ReactNode; 42 | }>) { 43 | 44 | return ( 45 | 46 | 47 | {String(metadata.title) || "Default Title"} 48 | 49 | 50 | 51 | 52 | 53 | 58 |
59 | {/* */} 60 | {children} 61 |