Transform your ideas into full-stack intelligent apps and publish with a single click
Helix is an open-source AI powered website builder that lets anyone from solo makers to large teams ship immersive, performant and smoother web experiences in minutes..
Most website builder today are either closed-source, or build bad designs. Helix is different:
- ✅ Open-Source – No hidden agendas, fully transparent.
- 🦾 AI Driven - Build your product with Agents & LLMs.
- 🔒 Data Privacy First – Helix does not track, collect, or sell your data in any way.
- ⚙️ Self-Hosting Freedom – Run your own website builder with ease.
- 🚀 Developer-Friendly – Built with extensibility and integrations in mind.
Helix is built with modern and reliable technologies:
- Frontend: Next.js, React, TypeScript, TailwindCSS, Shadcn UI
- Backend: Node.js, Prisma ORM
- Database: PostgreSQL
- Authentication: Better Auth, Google OAuth
Required Versions:
Before running the application, you'll need to configure environment variables. For more details on environment variables, see the Environment Variables section.
-
Clone and Install
# Clone the repository git clone https://github.com/akashwarrior/helix.git cd helix # Install dependencies npm install # Start database locally docker run -d --name helix-db -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=helix -p 5432:5432 postgres
-
Set Up Environment
- Run
npm run envto setup your environment variables - Start the database with the provided setup
- Initialize the database:
npm run db:migrate --dev
- Run
-
Start the App
npm run dev
-
Open in Browser
Visit http://localhost:3000
-
Better Auth Setup
-
Open the
.envfile and change the BETTER_AUTH_SECRET to a random string. (Useopenssl rand -hex 32to generate a 32 character string)BETTER_AUTH_SECRET=your_secret_key
-
-
Google OAuth Setup
-
Go to Google Cloud Console
-
Create a new project
-
Enable the Google OAuth2 API
-
Create OAuth 2.0 credentials (Web application type)
-
Add authorized redirect URIs:
- Development:
http://localhost:3000/api/auth/callback/google
- Production:
https://your-production-url/api/auth/callback/google
- Development:
-
Add to
.env:GOOGLE_CLIENT_ID=your_client_id GOOGLE_CLIENT_SECRET=your_client_secret
-
Add yourself as a test user:
- Go to
Audience - Under 'Test users' click 'Add Users'
- Add your email and click 'Save'
- Go to
-
Warning
The authorized redirect URIs in Google Cloud Console must match exactly what you configure in the .env, including the protocol (http/https), domain, and path.
Run npm run env to setup your environment variables. It will copy the .env.example file to .env and fill in the variables for you.
Helix uses PostgreSQL for storing data. Here's how to set it up:
-
Start the Database
Run this command to start a local PostgreSQL instance:
docker run -d --name helix-db -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=helix -p 5432:5432 postgres
This creates a database with:
- Name:
helix - Username:
postgres - Password:
mysecretpassword - Port:
5432
- Name:
-
Set Up Database Connection
Make sure your database connection string is in
.envfile.For local development use:
DATABASE_URL="postgresql://postgres:mysecretpassword@localhost:5432/helix" -
Database Commands
-
Create migration files (after schema changes):
npm run db:generate
-
Apply migrations:
npm run db:migrate
-
View database content:
npm run db:studio
-
