Unshift AI - A web app generator for JavaScript frameworks like NextJS | Product Hunt

The Website Builder for Developers

Quickly build your website with our editor and export production-ready NextJS or Svelte apps


Product of the Month across multiple platforms

How it works

Step 1

Build your website

Experience the power of our website builder, designed for simplicity and efficiency. Quickly create and customize web pages using pre-designed templates and blocks.

Boost your workflow with AI-generated content, and effortlessly manage design elements like colors and typography. Our editor provides all the tools you need to transform your vision into reality.

Step 2

Export your website to NextJS, Svelte or HTML

Our platform supports a variety of modern JavaScript frameworks including NextJS and Svelte, as well as HTML powered by Vite, with additional frameworks on the horizon. Each app is dynamically generated to ensure maximum flexibility and performance.

Opt for the framework that best fits your project requirements and trust in our system to deliver clean, efficient, and scalable results every time.

NextJS

NextJS

Svelte

NextJS

HTML

NextJS

More coming soon

Step 3

Finalize your website in production-ready code

Get direct access to professionally written code, optimized with TypeScript and ESLint for robust and scalable applications. Our system allows you to download the complete code, free from any vendor lock-in, empowering you to customize and extend your application as needed.

This feature enables you to seamlessly integrate custom logic and adapt the codebase, ensuring a quick transition from development to deployment.

  • src
    • app
      • (index)
        • page.tsx
      • error.tsx
      • favicon.ico
      • layout.tsx
    • assets
    • components
      • Button.tsx
      • Container.tsx
      • ContentAndTwoImages.tsx
      • FooterWithLogoAndText.tsx
      • GlobalStyles.tsx
      • HeaderWithButtons.tsx
      • Image.tsx
      • Section.tsx
      • TextAndImage.tsx
      • Title.tsx
    • layouts
      • ClassicLayout.tsx
    • styles
    • theme
    • utils
    • types.ts
  • .editorconfig
  • .eslintignore
  • .eslintrc.json
  • .gitignore
  • .npmrc
  • .nvmrc
  • .prettierignore
  • .prettierrc
  • LICENSE.md
  • README.md
  • commitlint.config.ts
  • jest.config.js
  • jest.setup.ts
  • lint-staged.config.js
  • next.config.js
  • package.json
  • postcss.config.js
  • tailwind.config.js
  • tsconfig.json
import parse from "html-react-parser"
import React from "react"

import type { IButton } from "@/components/Button"
import Button from "@/components/Button"
import type { IContainer } from "@/components/Container"
import Container from "@/components/Container"
import type { IImage } from "@/components/Image"
import Image from "@/components/Image"
import type { ISection } from "@/components/Section"
import Section from "@/components/Section"
import type { ITitle } from "@/components/Title"
import Title from "@/components/Title"

export interface ITextAndImage {
  text: string
  image: IImage
  button: IButton
  section: ISection
  headline: ITitle
  alignment: "left" | "right"
  container: IContainer
}

export default function TextAndImage(props: ITextAndImage) {
  const { alignment, button, container, headline, image, section, text } = props

  return (
    <>
      <Section {...section}>
        <Container {...container}>
          <div>
            <div className="grid grid-cols-1 gap-8 lg:grid-cols-2 lg:gap-16 items-center justify-center">
              <div
                className={`relative overflow-hidden min-h-60 md:min-h-80 ${alignment === "left" ? "lg:order-first" : alignment === "right" ? "lg:order-last" : ""}`}>
                <Image className="absolute inset-0 h-full w-full object-cover" {...image} />
              </div>
              <div>
                <Title {...headline} />
                <p className="mt-4 my-8">{parse(text)}</p>
                <Button {...button} />
              </div>
            </div>
          </div>
        </Container>
      </Section>
    </>
  )
}

    

Build Better, Faster, and Smarter

Best Coding Practices

Built-in support for ESLint, Prettier, Husky, and more ensures your app meets the highest coding standards.

Rapid Development Cycle

Jump from 0% to 80% in seconds. Focus on adding your data sources and business logic to bring your app to life.

Tailwind CSS Integration

Enjoy the flexibility and developer-friendly environment of Tailwind CSS. Customizable and easy to adjust to fit your project requirements.

Extensive Component Library

Over 80 beautifully crafted components at your fingertips. Expand your possibilities and accelerate your app development.

Customizable Design System

Personalize your app with a unique design system. Adjust typography, colors, and component styles to match your brand identity.

Intuitive Website Builder

Build production-ready websites using popular frameworks like NextJS or Svelte. Tailored for modern development needs.

Our Pricing

Start building today, cancel anytime.

Monthly

Annually

Free
$0
  • Create 1 example website
  • Create up to 3 custom blocks
  • Export to NextJS and HTML powered by Vite
  • Access to sample marketing blocks
  • Access to sample templates
  • Tabler icon library
Premium
$15/ month
  • Create unlimited websites
  • Create unlimited custom blocks
  • Export to all frameworks including NextJS and Svelte
  • AI content generation
  • Access to all marketing, application and e-commerce blocks
  • Access to all premium templates
  • 30+ icon libraries

No credit card required

Get the Latest Updates

Join our newsletter for top insights and news, straight to your inbox.