thheller/shadow-grove

A ClojureScript system to build browser based frontends

Clojure

289

498 commits

updated Feb 18, 2026

See the code

README

shadow-grove

Clojars Project

shadow-grove is a combination of pieces required to build performant DOM-driven user interfaces, scaling from small to very large. The goal is to have something written in ClojureScript with no extra dependencies and excellent performance out of the box.

Try it live in your browser via the shadow-grove Playground.

Current Status

shadow.grove is far from finished but usable. Performance is excellent. I have been using this for a few years now. Documentation is still in a terrible state though.

The shadow-cljs UI is sort of a reference application for all of this. You can experience it live at http://localhost:9630 if you have shadow-cljs running locally.

Examples

browser
clojurescript
dom

Contributors

thheller

486 commits

zeitstein

6 commits

jacekschae

2 commits

rmschindler

2 commits

thheller/shadow-grove

A ClojureScript system to build browser based frontends

Clojure

289

498 commits

updated Feb 18, 2026

See the code

README

shadow-grove

Clojars Project

shadow-grove is a combination of pieces required to build performant DOM-driven user interfaces, scaling from small to very large. The goal is to have something written in ClojureScript with no extra dependencies and excellent performance out of the box.

Try it live in your browser via the shadow-grove Playground.

Current Status

shadow.grove is far from finished but usable. Performance is excellent. I have been using this for a few years now. Documentation is still in a terrible state though.

The shadow-cljs UI is sort of a reference application for all of this. You can experience it live at http://localhost:9630 if you have shadow-cljs running locally.

Examples

browser
clojurescript
dom

Contributors

thheller

486 commits

zeitstein

6 commits

jacekschae

2 commits

rmschindler

2 commits

Languages

Clojure

98.8%