Built on Electric Clojure

A live spreadsheet for your Clojure runtime

Browse namespaces, vars, and live objects interactively. Like your REPL, but you can see everything at once.

localhost:8080 — Hyperfiddle Navigator
(all-ns)
ns-name ns-publics doc author meta
shadow.build.targets.browser {merge-init-fn …} 34 entries
datomic.aggregation {sum …} 12 entries
dev {pause-websocket-reconnect-while-compiling …} 10 entries
cognitect.caster {enqueue* …} 17 entries
(ns-publics dev)
key val
-main #'dev/-main
config #'dev/config
server #'dev/server
start-server! #'dev/start-server!
(val (find server))
symbol meta deref
symbol dev/server
meta {:line 55 …} 5 entries
deref org.eclipse.jetty.server.Server "Server@36266704{STARTED}"

From namespace to
live Java object in 4 clicks

1
(all-ns)
Start from the namespace index. Every loaded namespace in your running Clojure process is listed, with toggleable columns for publics, docs, and metadata.
2
(ns-publics 'dev)
Click into a namespace to see its public vars. Keys and vals laid out like a spreadsheet — click any var to drill deeper.
3
(deref #'dev/server)
Deref the var. If it holds a Java object — a Jetty server, a Datomic connection, a database pool — you're now looking at it live.
4
(.getURI server)
Toggle any method on the Java object to call it and see the result inline. Expand nested objects recursively. The Clojure/Java boundary disappears.

You already do this in your REPL.
Now see it all at once.

Every Clojure developer explores live state constantly. Existing tools show you one value at a time. Hyperfiddle shows you the whole graph.

Portal / Reveal / REBL

Great for inspecting Clojure data structures. But Java interop objects render as opaque blobs. You have to write code to navigate deeper.

println / tap>

The universal fallback. Works everywhere, shows you nothing about structure. You spend your time writing print statements, not understanding state.

JMX / VisualVM

Java-native tools that don't understand Clojure vars, namespaces, or REPL-driven workflows. A different world entirely.

Hyperfiddle Navigator

Starts from Clojure (namespaces, vars, deref), crosses seamlessly into Java objects, and lets you toggle any method call with a checkbox. No code. No separate tool. Just your browser.

What you get

Checkbox columns
Toggle any method or field on or off. Each checkbox calls the method on the live object and renders the result inline. No code to write — the UI is the query.
Recursive drill
Every value is expandable. Click an object reference and it opens a new section below with its own type, its own checkboxes, its own expandable children. It's spreadsheets all the way down.
Java interop
Clojure data and Java objects in one view. Navigate from (all-ns) through vars and derefs into Jetty servers, Datomic connections, JDBC pools — whatever your runtime holds.
Live & reactive
Built on Electric Clojure. The UI is server-rendered and reactive. No REST APIs, no serialization, no polling. Object state flows directly to your browser over a websocket.
Zero config
Add the dependency, start exploring. No dashboard to build, no schema to define, no admin UI to maintain. The shape of your runtime is the interface.

Built with

Hyperfiddle Navigator is a production application of Electric Clojure and Missionary — our open-source reactive programming stack for Clojure/Script.

Electric Clojure Missionary Clojure ClojureScript JVM reflection WebSockets

Try it on your runtime

We're onboarding early users. Drop your email or find us in #hyperfiddle on Clojurians Slack.