← All posts

Guides

A mini-IDE in a browser tab: 8 JustZix tools that replace DevTools

JustZix started as a CSS injection extension — but over the past year it grew into something much bigger. Today it's a mini-IDE in every browser tab — 4 window types (panes), 6 action types, 2 JS API namespaces, and a snap connections system to arrange them all into a coherent per-domain dashboard. No F12. No DevTools. All inside the tab itself. This post maps the whole thing — what to use when, how it fits together, where to start.

The map: 4 + 6 + 2 + 1

JustZix splits into four main components you can use together or separately:

ComponentWhat it doesNumber of types
CSS/JS rulesInject <style> / <script> on URL match — auto-run2 (CSS, JS)
Bar actionsButtons in a floating bar — manual invocation6 (BUTTON, SELECT, INPUT, TEXTAREA, SLIDER, TOGGLE3)
Windows on the frontendFloating panels with their own per-pane logic4 (CSS pane, JS pane, JS Console, Output Console)
JS helpersProgrammatic access — MAIN-world namespaces2 (window.JZ, window.JUSTZIX)

Plus snap connections as the "glue" — lets you arrange panels and the action bar into groups that move together.

Windows on the frontend — 4 types

1. CSS pane — live CSS editor inside the tab

Open a panel next to the page, write CSS, see changes live. Auto-save inside the tab. Persistent per-tab via sessionStorage. No commit anywhere, dies with the tab. Perfect for "I need to see how buttons would look in a different colour, but I'm not deploying it yet".

CSS pane: a live CSS editor on any page, without DevTools

2. JS Console — REPL with ↑↓ history

The DevTools REPL alternative. Ctrl+Enter eval. Up/down arrows scroll history (per-tab sessionStorage). Output captures only sync — async tasks land straight in DevTools. Perfect for ad-hoc checks ("how many elements have class X?", "what does this API return?").

JS Console: REPL on any page, no DevTools

3. JS pane — Run-on-demand scripts

Persistent JS code with a ▶ button. Ctrl+Enter fires. Dirty state (visual cue that you have unrun changes). Error overlay (red bar inside the pane without F12). Perfect for destructive scripts ("empty cart", "delete draft", "reset form") — you don't want them auto-running, you want to click ▶ on demand.

JS pane: Run-on-demand scripts, no auto-run on every visit

4. Output Console — read-only log viewer

The 4th window type — listening, not writing. Captures all page console.log/warn/error/info/debug (sync + async) plus the dedicated window.JUSTZIX.log() channel. viewMode [C/J/C+J] toggles visibility. Per-level filters, search box. 2000 lines. CSP-immune (extension privileges).

Output Console: watch the page's console.log inside a tab panel

Action types — 6 in the action bar

The action bar is a floating bar of buttons you invoke manually. Six action types — all living in the same bar, each with its own semantics:

TypeUXActive-state memory
BUTTONSingle click → run codeNone — fire-and-forget
SELECT staticDropdown of 2-N optionsYes (dataset)
SELECT jsDropdown with JS-generated optionsYes (native <select>)
INPUTSingle-line text input + Enter→runYes (per-tab)
TEXTAREAMulti-line text + blur→runYes (per-tab)
TOGGLE33-state segmented controlYes (idx 0/1/2)
SLIDERRange slider (input + change events)Yes (Number)

TOGGLE3 — 3-state segmented control

Segmented control with exactly 3 states. Each state gets its own label, value, colour, and JS code. Best use case: Dev/Staging/Prod environment switcher (each state = different subdomain), Light/Dark/Auto theme override, feature flag tri-state Off/Default/Force-on. 5 configurable colours (active bg/text + inactive bg/hover/text).

TOGGLE3: 3-state segmented control in the action bar

SLIDER — a CSS variable controller at your fingertips

Native <input type="range"> in the bar. Live drag = save memory (without firing code), release = run code with value as a Number. 4 separate colours (bg, fill, label text, value text). Use case: brightness controller (filter:brightness 50-150%), font-size for accessibility, animation speed throttle for debugging, any CSS variable you want to turn like a physical fader.

SLIDER: a CSS variable controller inside the tab

API — two namespaces, two roles

JustZix installs two separate namespaces in MAIN world. Each has its own purpose and lifecycle — they deliberately don't mix:

window.JZ + window.JUSTZIX: programmatic API + logger

Snap connections — arrange into a dashboard

Six element types (4 pane types + action bar + floating button) live in a shared ID space. Drag one within ≤20px of another → they snap into a group. Drag the group → everything moves together. Anchor positioning (TL/TR/BL/BR) keeps the layout stable across window resize. That turns "a few separate tools" into "a configurable per-domain dashboard".

Snap connections: pane groups — a mini-dashboard inside the tab

How to put it together — 3 practical setups

Setup A: "Personal QA toolbar"

Top-right, anchor TR:

Setup B: "Live CSS editor"

Left side, anchor TL:

Setup C: "Debug overlay"

Bottom bar, anchor BL:

The first minute — what to do right after install

  1. Install JustZix (Download here). Click the icon in the toolbar after install.
  2. Create your first rule in options (extensions → JustZix options). Pick "everywhere" as scope.
  3. In the CSS editor type: body { background: lightyellow !important; } — save. Visit any site → background turns yellow.
  4. Add a BUTTON action to this rule: label "🐛 Debug", code JUSTZIX.log('debug');
  5. Add an Output Console in the "Windows" section → save. Go back to the page. Click "🐛 Debug" → a line in Output Console.
  6. Drag Output Console below the action bar, let it snap. You have your first mini-dashboard.

3 minutes from zero to a working setup. Everything persistent — F5 / new tab / browser restart: the setup comes back.

Full post list per component

If you want deeper knowledge about individual components:

JustZix is an open-source extension, completely free, no account, no server. Everything runs locally in your browser. Install it and build your first mini-IDE in 3 minutes.

Rate this post

No ratings yet — be the first.

Try it yourself

Install JustZix and paste any snippet from this article. Two minutes from zero to a working rule across all your devices.

Get JustZix

Features · How it works · Examples · Use cases