Skip to content

One studio. A framework underneath.

Jx Studio is how you build. Underneath it runs a file-based CMS, a reactive framework, a static generator, and an optional server tier for accounts and data — all plain files, zero lock-in.

Design visually. Save as plain files.

Jx Studio is a desktop visual IDE. Create a project, design on a canvas, edit content inline, wire up logic, and commit to git — everything saves to the same JSON and Markdown your compiler reads. No proprietary format. No export step.

Visual canvas with live component rendering Property inspector with full CSS editing Inline content editing — click any text, type Responsive breakpoint preview Script editor for event handlers and logic
Jx Studio design mode — one component rendered across four responsive breakpoint canvases

File-based content management.

Your content lives as JSON documents and Markdown files in a git repository. No content database to manage, no admin panel to secure. Branch, review, merge — the same workflow you use for code.

Markdown with remark directives for rich content Content collections with frontmatter schemas Dynamic routes from file system structure Git history is your audit trail and rollback AI-native: Markdown is the canonical LLM format
my-site/ ├── pages/ │ ├── index.md │ ├── about.json │ └── blog/ │ └── [slug].json ├── content/ │ └── posts/ │ ├── hello-world.md │ └── launch-day.md ├── components/ │ ├── hero.json │ └── card.json ├── layouts/ │ └── base.json └── project.json
{ "tagName": "like-button", "state": { "count": 0, "liked": false, "toggle": { "$prototype": "Function", "body": "state.liked = !state.liked; state.count += state.liked ? 1 : -1" } }, "children": [ { "tagName": "button", "onclick": { "$ref": "#/state/toggle" }, "textContent": "♡ undefined" } ] }

Reactive without the runtime tax.

Declare state, bind it to the DOM with template strings, and let the compiler figure out the rest. Static by default — reactive islands hydrate only where you need interactivity.

Fine-grained reactivity, powered by @vue/reactivity Compiles to standard Web Components Template literal bindings — no JSX, no DSL Zero JavaScript ships unless you add interactivity Built-in prototypes: Request, LocalStorage, FormData

Add a login. Add a database.

Some sites are more than pages. The auth extension serves sessions and sign-in at /_jx/auth; the connector extension serves your tables at /_jx/data, where the roles you declare in project.json become per-table permission rules. Declare both in project.json, pick a server adapter, and the build emits the worker that runs them. Pages stay prerendered either way: every visitor is served the same logged-out HTML, and the logged-in view renders in the browser once the session resolves.

Email + password and social sign-in, via Better Auth Per-table rules: public, authenticated, owner, or by role Connect Cloudflare D1, Supabase, or SQLite Read and write rows with filter, sort, and pagination Server functions keep API keys and secrets off the client
// project.json { "extensions": ["@jxsuite/connector", "@jxsuite/auth"], "connections": { "main": { "provider": "d1", "binding": "DB" } }, "auth": { "connection": "main", "providers": { "github": {} }, "roles": ["admin"] }, "data": { "comments": { "connection": "main", "ownerField": "author_id", "permissions": { "read": "public", "insert": "authenticated", "update": "owner" }, "schema": { "type": "object", "properties": { "message": { "type": "string" } } } } }, "build": { "adapter": "cloudflare-workers" } }
$ jx build ✓ Compiled pages ✓ Optimized images (webp, avif) ✓ Generated sitemap.xml ✓ Output: ./dist # Static host? Ship ./dist. # Accounts or data? Set an # adapter and a worker ships # alongside it.

Compiles to HTML. Deploys anywhere.

Every page is prerendered at build time and served from a CDN — static pages are HTML and CSS with no JavaScript at all. Fast everywhere. Costs pennies. Online forever. Add accounts or a database, pick a server adapter, and the same command also writes a self-contained Hono worker for Cloudflare, Node, or Bun.

Incremental, cache-friendly builds Automatic image optimization (WebP, AVIF) Static HTML with zero JS by default Deploy to GitHub Pages, Cloudflare, Vercel, anywhere Adapters for Cloudflare Workers, Pages, Node, and Bun No PHP, no containers — and no server unless you need one

From brochure sites to apps with accounts and data.

Marketing sites
Documentation
Blogs & portfolios
E-commerce catalogs
Interactive dashboards
Multi-language sites
Calculators & tools
Landing pages
Component libraries
Community sites with comments
Internal tools with a login
Customer portals

Ready to build?

Start your first project in under a minute. No sign-up. No credit card. Just code.