All Projects // #0003 Personal

Yei

RustYewTailwind

Yei is a reusable component library built for the Yew framework. The project was heavily inspired by shadcn/ui and its philosophy of giving developers ownership over their components instead of hiding everything behind a packaged dependency. The name “Yei” itself comes from “Yew UI” — honestly, just a fun little name I came up with.

The project uses Tailwind CSS as its styling foundation and focuses on creating modern, reusable UI components for Rust frontend applications built with Yew.

I started this project because every time I created a new Yew application, I found myself rebuilding the same UI components over and over again — buttons, accordions, input forms, and other common interface elements. Beyond just the UI itself, handling callbacks, props, state management, and rendering logic in Yew could become repetitive very quickly.

Instead of rewriting the same boilerplate for every project, I decided to create a small reusable component system that I could use across multiple applications.

The concept is very similar to shadcn/ui:

  • Developers own the generated component code
  • Components can be copied directly from GitHub or generated using a CLI
  • Generated files are fully customizable
  • No heavy abstraction layer hiding implementation details

This approach makes the library flexible and developer-friendly, especially for Rust developers who prefer explicit control over their codebase rather than relying entirely on opaque third-party packages.

The project also became a way for me to explore component architecture in Yew, improve ergonomics for Rust frontend development, and experiment with building a more enjoyable developer experience around the Yew ecosystem.