ID — Bahasa Indonesia

Muhamad Irga

Purwokerto, Central Java

Live Updated

Web Builder — Village Website SaaS

A multi-tenant SaaS platform for village websites: a GrapesJS visual editor, custom domains with on-demand TLS, WordPress imports, SEO analysis, and SmartGovt data integration.

See the service: Village Information Systems

Screenshots

Web Builder visual page editor arranging a village website layout
Main application view · Open image for full resolution
Web Builder tenant management listing village sites and their domains
Application view 2 · Open image for full resolution

Overview

What this system does.

Web Builder is a SaaS platform for creating and managing village websites. A Next.js 15 frontend with React 19 renders each village’s site according to the requested host, while a Laravel 13 backend handles tenants, users, content, media, settings, and integrations. Villages register through a public page, and a provisioning job prepares the tenant and its initial pages.

Site layouts are edited through a GrapesJS visual editor with component-layout variants for headers, hero sections, and footers, while articles use a Tiptap editor. Village operators manage custom pages, news, media, village identity, and citizen complaints. Page and content change histories are retained so earlier versions can be inspected. Existing WordPress content can be imported, and a built-in SEO analyser assesses writing quality before publication.

Custom domains are fully supported: a dedicated job verifies the host, maps it to a tenant, and certificates are issued on demand through an endpoint called by Caddy. Government, regional, statistical, and village-service data is retrieved from SmartGovt through a dedicated client and proxy. Platform managers have a separate panel for tenants, registrations, regions, impersonation, activity logs, and audits. Content changes trigger Next.js static-page revalidation so sites remain fast without a full re-render.

Feature inventory

Highlights

24 capabilities verified against the project source.

  • Per-village websites with individual slugs, subdomains, and identities
  • Village registration, onboarding, and tenant management
  • Automatic tenant provisioning with initial-page creation
  • GrapesJS visual page editor
  • Component-layout variants for headers, hero sections, and footers
  • Per-tenant component-layout storage and page previews
  • Custom-page management and bulk page creation
  • Tenant page and content version histories
  • Village identity, logos, and site-appearance settings
  • News and articles with a Tiptap editor and reader comments
  • Media library for images and documents
  • Content imports from WordPress
  • Built-in SEO analyser for assessing content quality
  • Public complaint forms and complaint management by village administrators
  • Content search on public websites
  • Redirects from old URLs to new pages
  • SmartGovt connection settings and data proxy
  • Regional data, government profiles, statistics, and village-service integrations
  • Custom domains with verification and host-to-tenant mapping
  • On-demand TLS certificate issuance through a host-verification endpoint
  • Next.js static-page revalidation whenever content changes
  • Platform management panel for tenants, registrations, regions, and impersonation
  • Frontend activity logging and change auditing
  • User authorisation and content isolation between village websites

Tech stack

Built with 16 technologies.

  • Next.js 15
  • React 19
  • TypeScript
  • Laravel 13
  • PHP 8.3
  • GrapesJS
  • Tiptap
  • Tailwind CSS 4
  • Laravel Sanctum
  • Spatie Permission
  • Redis
  • Zustand
  • Zod
  • Caddy
  • Docker
  • Playwright

Common questions

What people usually ask.

Can a village use its own domain?

Yes. A verification job maps the host to a tenant, and the TLS certificate is issued on demand through an endpoint Caddy calls, so a custom domain needs no manual certificate work.

Does the village profile have to be updated twice?

No. Government profiles, regional data, statistics, and village services are pulled from SmartGovt through a dedicated client and proxy, so what the administration system knows is what the website shows.

What happens to an existing WordPress site?

Its content can be imported, and redirects can be set from the old URLs to the new pages so nothing that was already linked ends up at a 404.

Same field

Need something like this?

Send a short brief and I’ll come back with scope, approach, and an honest timeline.