Back to CV

Selected Project

Lumen Blocks

An accessible, styled, opinionated component library for Dioxus, inspired by shadcn UI and built on top of Dioxus Primitives.

Lumen Blocks is an open-source Rust UI component library I created to improve the developer experience of building interfaces with a Rust framework called Dioxus. The project is inspired by the ergonomics and composability of shadcn UI, but adapted to the Rust and Dioxus ecosystem.

The library provides styled, opinionated, ARIA-accessible components on top of Dioxus Primitives (a library of unstyled components), along with a documentation site containing interactive demos. It is both a product in itself and an exploration of what a polished component ecosystem could look like in Rust-based frontend development.

Frustrated with issues in the Javascript ecosystem, I wanted to develop full-stack web applications using Rust — a language that I really enjoy using. Given my previous experience with React, the Dioxus framework felt like a good fit. However, once I started using it, I quickly noticed there was no UI component library similar to shadcn/ui.

And so I created Lumen Blocks, an open-source UI component library for Dioxus styled with Tailwind CSS, and inspired by shadcn/ui. I wanted the library to feel genuinely useful, so I not only worked on the components themselves, but also on creating a great documentation website containing extensive documentation and live previews.

Working in an emerging ecosystem

Dioxus is not a mainstream frontend stack, which makes this project a good example of my willingness to work effectively in smaller or emerging ecosystems. I don't mind quickly learning new tools — and contributing to the ecosystem when possible — when those tools are best-suited for a particular project.

Developer tooling taste

Lumen Blocks reflects my interest in building opinionated tools that bring a good sense of taste, great packaging, and good developer ergonomics. Building a good product is not only about whether the core functionality works, but everything around it that makes up the user experience: How it feels to discover, adopt, extend, and build with.

A beautiful documentation site designed as part of the product

One of the important engineering aspects of Lumen Blocks is that the documentation site is treated as part of the product rather than an afterthought. The project includes a dedicated docs and preview environment, which makes the library easier to explore, evaluate, and adopt.