PuneetGarg
OMVPOpal Tools CertificationSaaS CMS Developer Certification +5
Mar 3, 2026
visibility 1913
star star star star star
(3 votes)

Your first SAAS Project -- Setup

Hey everyone,

When I first started Remko's StarterKit, I honestly had no idea what I was doing. After spending a couple of months working through it, I’ve learned quite a bit.

I’d like to share some insights and information that might help others who are just getting started. It may seem basic to some of you, but it could be really helpful for someone who’s completely new.

Hope this helps someone on their journey!

Prerequisites

Before you begin, ensure you have the following installed on your system:

Required Software

Required Accounts & Access

  • Optimizely CMS SaaS Instance - Sign up for the program
  • GitHub Account - For repository access
  • Vercel Account (optional) - For deployment and environment variable management

 

Quick Start

1. Clone the Repository

# Clone the repository
git clone https://github.com/remkoj/optimizely-saas-starter.git
cd optimizely-saas-velocity

 

2. Install Dependencies

# Install root dependencies
yarn install

# Install frontend dependencies
cd apps/frontend
yarn install

 

3. Environment Configuration

Create a .env.local file in the apps/frontend directory:

 

# Navigate to frontend directory
cd apps/frontend

# Create the sample environment file
 .env.local

Edit .env.local and fill in your actual values for each variable.

  • All required environment variables
  • Descriptions and examples for each variable
  • Default values where applicable

 

4. Get Your Optimizely Credentials

  1. CMS URL: Your Optimizely CMS instance URL
  2. GraphQL Keys: From CMS Dashboard → Settings → Render Content
    • App Key
    • Secret
    • Single Key
  3. REST API Credentials: From CMS Dashboard → Settings → Applications
    • Client ID
    • Client Secret

 

5. Start Development Server

# From the root directory
yarn dev

# Or from the frontend directory
cd apps/frontend
yarn dev

The development server will start at http://localhost:3000/

Available Development Commands

 

1. Create content type in CMS -  Define the new content type in Optimizely CMS SaaS (via Admin UI or API). 
2. Generate Next.js components 
        yarn opti-cms nextjs:components 
		1. Generates scaffolded Next.js components for the new content type. 
		2. <Component folder>/ index.ts 
3. Pull .Json from CMS 
         yarn opti-cms types:pull 
		1. Pulls the latest .JSON type definitions from the CMS into your project. 
4. Create GraphQL fragment 
        yarn opti-cms nextjs:fragments 
		1. Generates a GraphQL fragment file for querying the content type. 

                                                    OR

2. Instead of line 2 to 4 you can just run this command  Yarn opti-cms nextjs:create 

5. Compile project 
 yarn compile  - Compiles updated TypeScript and GraphQL code to ensure everything is synced. 
yarn run build  - build your solution
ran run dev - run your project

 

Note :- I’d recommend to use ‘yarn upgrade-interactive’ as that’ll show all packages that can be updated and allows you to select the ones that you want to update.

 

Regards,

Mar 03, 2026

Comments

Sunil
Sunil Mar 10, 2026 11:51 AM

Great post, Puneet! This is a very helpful walkthrough for anyone starting their first Optimizely CMS SaaS project.

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026