Skip to content

Introduction to BlocksWeb

BlocksWeb is a visual CMS framework for React that bridges the gap between developer control and content team autonomy. It combines the flexibility of a headless CMS with the ease of use of a visual page builder.

What is BlocksWeb?

BlocksWeb allows developers to build React components that non-technical users can manage through a visual editor. Think of it as giving your marketing team WordPress-like editing capabilities while you maintain full control over the codebase with modern React patterns.

Key Features

  • Visual Page Builder - Drag-and-drop interface for building pages
  • Component System - Create reusable React components with editable properties
  • Headless CMS - Manage structured content with flexible collections
  • Multi-Language Support - Built-in internationalization with per-block translations
  • Asset Management - Upload, crop, and organize images
  • A/B Testing - Visual test builder with analytics
  • Type-Safe - Full TypeScript support throughout
  • Framework Flexible - Works with Next.js 11-15, App Router, or Pages Router

How It Works

BlocksWeb operates on a simple principle: Components + Schema = Editable Blocks

1. You Build Components

Create standard React components with TypeScript:

typescript
import { IBlockswebComponent } from '@blocksweb/core';

const CallToAction: IBlockswebComponent = ({ title, buttonText, buttonUrl }) => {
  return (
    <div className="cta">
      <h2>{title}</h2>
      <a href={buttonUrl}>{buttonText}</a>
    </div>
  );
};

2. You Define the Schema

Attach a schema that describes what's editable:

typescript
CallToAction.schema = {
  displayName: 'Call to Action',
  options: [
    { type: 'text', name: 'title', label: 'Title', default: 'Ready to get started?' },
    { type: 'text', name: 'buttonText', label: 'Button Text', default: 'Sign Up' },
    { type: 'text', name: 'buttonUrl', label: 'Button URL', default: '/signup' }
  ]
};

3. Content Teams Edit Visually

Your marketing team can now:

  • Add the Call to Action component to any page
  • Edit the title, button text, and URL through a visual interface
  • See changes in real-time
  • Publish when ready

No code required, no developer bottleneck.

When to Use BlocksWeb

BlocksWeb is perfect for:

  • Marketing Websites - Let marketing teams update landing pages, pricing, and content without waiting for developers
  • E-commerce Sites - Manage product pages, collections, and promotional content with visual tools
  • Content Platforms - Build blogs, documentation sites, or knowledge bases with structured content
  • Multi-Brand Sites - Manage multiple sites with shared components and isolated content
  • Agency Projects - Deliver sites where clients can manage content independently

When NOT to Use BlocksWeb

BlocksWeb might not be the best fit if:

  • You're building a purely static site (consider a static site generator)
  • You have no need for content management (just use React)
  • You need a fully open-source solution (BlocksWeb requires a paid plan for production)
  • Your content team is comfortable editing markdown files in GitHub

Comparison with Other Solutions

FeatureBlocksWebReact BricksBuilder.ioWordPress + ACF
React Components✅ Native✅ Native⚠️ Wrapped❌ PHP
TypeScript✅ Full Support✅ Full Support⚠️ Partial❌ No
Visual Editor✅ Yes✅ Yes✅ Yes✅ Yes
Code Ownership✅ Full Control✅ Full Control❌ Locked In⚠️ Limited
Next.js App Router✅ Yes✅ Yes⚠️ Limited❌ No
Collections/CMS✅ Built-in⚠️ Limited✅ Yes✅ Yes
Self-Hosting✅ Yes❌ No❌ No✅ Yes
Performance⚡ Fast⚡ Fast⚠️ Variable🐌 Slower

Architecture Overview

BlocksWeb consists of three main parts:

1. Core Package (@blocksweb/core)

Provides React components, hooks, and TypeScript types for building BlocksWeb applications.

2. Visual Editor

A browser-based editor where content teams manage pages, upload assets, and configure components.

3. Cloud API (or Self-Hosted)

Stores page data, assets, and content. Can be hosted on BlocksWeb Cloud or self-hosted.

┌─────────────────┐
│  Next.js App    │
│  (Your Code)    │
└────────┬────────┘
         │ imports

┌─────────────────┐      ┌──────────────────┐
│ @blocksweb/core │ ←───→│  Visual Editor   │
│   (Package)     │      │  (Browser-Based) │
└────────┬────────┘      └────────┬─────────┘
         │                        │
         └────────────────────────┘

         ┌──────────────────┐
         │  BlocksWeb API   │
         │ (Cloud/Self-Host)│
         └──────────────────┘

What's Next?

Ready to build your first BlocksWeb application? Continue to the Quick Start guide to create your first project in under 5 minutes.

Or explore: