a universal CRUD datagrid for production support teams

Make serious cloud datagrid GUIs like these, with minimal prior coding experience!

Not just for internal production support: these are external, partner-facing applications with full production values of a real app. They are deeply customized, robust, reliable and secure: specifically built to be used by external business users so your business can scale beyond Google Sheets and Retool.

Get Early Access · Follow us on twitter

"HTML for datagrids"

"The value of notation lies in how it enables us to conceptualize and work with new abstractions. Equipped with more powerful notation, we can work with ideas that would have been too complex or unwieldy without it. We can now see solutions that were previously unthinkable, un-expressible."

HFQL (Hyperfiddle Query Language) is a UI specification DSL (reminescent of GraphQL) for rich forms and datagrids:

BYO backend, zero API coding: no REST, no RPC, no web boilerplate at all

Serve your Java/JS functions directly with the Hyperfiddle Server SDK:

Eliminate web framework plumbing and glue code with the Electric Protocol

"Increasingly we are seeing old and new languages that incorporate distributed systems concepts into their syntax. Why think of the network as a bolt-on module which is conceptually hard to program when it can be embedded into the language itself? Error handling and scaffolding coding can be eliminated." — Tyler Jewell, Dell Technologies Capital

We believe that state distribution is the root cause of complexity and cost in web development. The Electric protocol is a DAG-based, algorithmically-optimized state distribution protocol designed to enable the most interactive, high fidelity, and ultra-dynamic web GUIs, both low-code and full-code.

Today, even low-code tools need glue code, let alone your primary frontends. But, the Electric Protocol is better/faster/more powerful than glue code, outperforming hand-coded web plumbing in both simple and complex applications. Never write web glue code ever again!

A low-code stack with technical depth

"The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise." -Edsger W. Dijkstra

"Experts and beginners want to use the same tools. Children want to learn saxophone, not kazoo." — Rich Hickey


Implementation is 10,000 lines of code for HFQL (1k) + Electric (5k) + Missionary (2k) in total.

"If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual. Human potential manifests itself in individuals." — Dan Ingalls, Design Principles Behind Smalltalk

Technical details

The Electric protocol is implemented in Clojure/Script and delivered in the form of a Clojure dialect, Electric Clojure (github). In other words, Electric is both protocol and programming language: the protocol is built into the programming language, and reflected from the code syntax you write, in a similar way to how memory management is built into Java. Consequently, the Electric protocol has composition and control flow primitives, making it more of a meta-protocol, actually: a composable protocol building block.

HFQL is implemeted in Electric Clojure, and as such, its sophisticated differential wire traffic—client/server state differences on the wire—is reflected from it's source code (we perform a DAG topology analysis). HFQL itself can be seen as a high level protocol for hypermedia/CRUD, embedded in the lower Electric protocol for general state distribution.

All of these implementation details are transparent from the Java or JS perspective. HFQL will link with your functions and orchestrate them without the Java/JS user seeing any Clojure. (The Electric language/protocol compiles down to Java and Javascript using the Clojure/Script toolchain, which is how it seamlessly links with your Java/JS classpath.)

Due to high novelty, it's going to take some time for us to learn how to explain this, so please bear with us.

Extended technical content:

"Hyper" means interconnected. "Fiddle" means play.

Our goal is to build a hyper-converged low-coding environment for building reliable application GUIs, without needing a single line of glue code. Program your business without drowning in complexity.

Get Early Access · Follow us on twitter