Build clean static pages from a visual editor without leftover code
Imagine opening the browser source and seeing only clean HTML and CSS, free of unnecessary editor code or framework remnants. Instatic is a self-hosted CMS that consolidates a visual editor, content management, and deployment features into a single Bun server. It allows you to manage all site data directly and generate static pages quickly, without the hassle of connecting multiple external services.
The full site lifecycle handled by one server
Typically, building a website requires contracting and managing multiple services separately, such as a headless CMS, framework, hosting, form service, and analytics tools. Instatic handles all of this within a single Bun server. The canvas editor, content engine, media, authentication, forms, plugins, and deployment features are all contained within this server. It uses SQLite or Postgres as the backend and can run in any desired environment. This integrated structure means you do not have to worry about separate dashboards or failures for each service.
Canvas editing based on design tokens
The editor is not a simple preview but works directly on an actual canvas. You can place desktop and mobile frames side by side to edit them simultaneously, and switching to live mode allows you to make changes directly at the actual page size. The Core Framework, already used by WordPress experts, is embedded as the core system. Defining a single brand color automatically generates various shades of that color, and fluid typography and spacing scales are applied. Because the design system is stored as data, changing a single token reflects across all pages.
Integrated management of content and data
All content, including pages, posts, components, and custom collections, is stored in the same data structures, data_tables and data_rows. There is no separate page table, ensuring a consistent structure. In the /admin/data workspace, you can search, sort, and filter rows like a spreadsheet, and bulk publish or export them. Custom post types support draft, scheduled, and published states along with version history, while general data tables can be used for various purposes such as form submission data or product catalogs. All tables also function as content sources for loop rendering.
Plugin sandbox and AI agent
Plugins are distributed as zip packages, and the server entry point runs in a QuickJS-WASM sandbox. File system, environment variable, and network access are blocked unless explicitly allowed by the site owner. The AI agent constructs pages as actual editable nodes on the canvas when you describe the desired content. The structure is written in semantic HTML and styles in CSS, supporting various models such as Claude, OpenAI, and Ollama. It also provides a super import feature that brings in existing static sites and converts them into pages, styles, and media.
Things to check before deployment
Instatic is currently at version 0.0.x, which is a pre-1.0 stage. Since APIs and workflows may change before the 1.0 release, it is recommended to wait for version 1.0 if stability is the top priority for your project. The development environment requires Bun 1.4.1 or higher, and the default development settings use SQLite. Deployment is possible via Railway, Render, or Docker/VPS. SQLite is suitable for single sites, while Postgres is appropriate for teams requiring multiple writers or managed backups. The license is MIT, guaranteeing full ownership without open-source core restrictions or paid tiers.