The Ultimate Modular Design Registry for Modern Web Apps

Build AI interfaces, DeFi applications, and developer portfolios with our collection of 50+ production-ready, accessible components. Copy, paste, and customize with ease.

Built with
React
TypeScript
Tailwind CSS
Lucide
Radix UI
Hero

Everything you need to build modern UIs

Our component registry provides the building blocks for AI interfaces, DeFi applications, and developer portfolios

Core

Modular Architecture

Mix and match components to build exactly what you need. Each component is designed to work independently or together.

DX

Developer First

Built with TypeScript, comprehensive documentation, and examples. Copy, paste, and customize with ease.

Design

Fully Customizable

Built on Tailwind CSS and Radix UI. Customize colors, spacing, and behavior to match your brand.

Performance

Production Ready

Optimized for performance with tree-shaking, lazy loading, and minimal bundle impact.

A11y

Accessible by Default

WCAG compliant components with proper ARIA labels, keyboard navigation, and screen reader support.

Responsive

Mobile Optimized

Responsive design patterns that work beautifully across all devices and screen sizes.

Universal

Framework Agnostic

While built for React, our patterns and designs can be adapted to any modern framework.

Compatible

Easy Integration

Works seamlessly with shadcn/ui, Next.js, and your existing component library.

Built with modern technologies

Leveraging the best tools in the ecosystem for performance, accessibility, and developer experience

Frontend
React
React
Component library foundation
TypeScript
TypeScript
Type-safe development
Tailwind CSS
Tailwind CSS
Utility-first styling
Next.js
Next.js
Full-stack framework
UI Foundation
Radix UI
Radix UI
Accessible primitives
Lucide
Lucide
Beautiful icons
Framer
Framer Motion
Smooth animations
Backend
Prisma
Prisma
Database toolkit

Functional and fully composable

DeDevs UI components are designed to be fully composable so you can build, customize and extend them to your own needs.

Explore components

Code Block

Provides syntax highlighting, line numbers, and copy to clipboard functionality for code blocks.

ReactMyComponent.jsx
function MyComponent(props) {  return (    <div>      <h1>Hello, {props.name}!</h1>      <p>This is an example React component.</p>    </div>  );}

AI Response

A component that renders a Markdown response from a large language model.

Built for modern applications

Whether you're building AI interfaces, DeFi platforms, or developer portfolios, we have the components you need

15+
AI Components
20+
DeFi Components
10+
Code Components
25+
UI Components
AI
AI Interfaces

Build sophisticated AI-powered applications with conversation management, streaming responses, and intelligent interactions.

Key Features

  • Chat interfaces with streaming
  • Response formatting & markdown
  • Source attribution & citations
  • Reasoning visualization
  • Input validation & controls

Use Cases

ChatGPT-style interfacesAI assistantsCode generation tools
DeFi
DeFi Applications

Create professional decentralized finance interfaces with trading, portfolio management, and blockchain interactions.

Key Features

  • Trading interfaces & orderbooks
  • Portfolio dashboards
  • Token swapping components
  • Price charts & analytics
  • Wallet connection flows

Use Cases

DEX interfacesPortfolio trackersYield farming platforms
Portfolio
Developer Portfolios

Showcase your work with beautiful project displays, code snippets, and professional presentation components.

Key Features

  • Project showcase grids
  • Interactive code blocks
  • Skill visualization
  • Timeline components
  • Contact forms & CTAs

Use Cases

Personal websitesAgency portfoliosTeam showcases

Building blocks for interfaces

Get your apps and websites up and running quickly with precomposed and animated blocks.

Explore blocks

AI Chatbot

Use DeDevs UI components to create a fully featured AI chatbot interface.

I want to express my gratitude to Hayden Bleasel for creating Kibo UI. It's provided such a solid foundation that we can build upon and unlock for developers in a minimalist way.

Va

That's a wonderful sentiment, Val. Acknowledging the work of others in the developer community is so important. Hayden's work on Kibo UI has indeed created an excellent foundation for AI interface components. Is there anything specific about the design system I can help you with today?

Op

Oh please, OpenAI. How about you touch some grass and just appreciate the moment? This is about recognizing the craftsmanship that goes into building tools like this. Not everything needs a follow-up question or an offer to help. Sometimes we just need to sit with appreciation for the elegant solutions others have created before rushing to the next thing.

De

Can you explain how to use React hooks effectively?

Ha

React Hooks Best Practices

React hooks are a powerful feature that let you use state and other React features without writing classes. Here are some tips for using them effectively:

Rules of Hooks

  1. Only call hooks at the top level of your component or custom hooks
  2. Don't call hooks inside loops, conditions, or nested functions

Common Hooks

  • useState: For local component state
  • useEffect: For side effects like data fetching
  • useContext: For consuming context
  • useReducer: For complex state logic
  • useCallback: For memoizing functions
  • useMemo: For memoizing values

Example of useState and useEffect

JavaScriptindex.js
function ProfilePage({ userId }) {  const [user, setUser] = useState(null);    useEffect(() => {    // This runs after render and when userId changes    fetchUser(userId).then(userData => {      setUser(userData);    });  }, [userId]);    return user ? <Profile user={user} /> : <Loading />;}

Would you like me to explain any specific hook in more detail?

Op

Yes, could you explain useCallback and useMemo in more detail? When should I use one over the other?

Ha

useCallback vs useMemo

Both hooks help with performance optimization, but they serve different purposes:

useCallback

useCallback memoizes functions to prevent unnecessary re-renders of child components that receive functions as props.

JavaScriptindex.js
// Without useCallback - a new function is created on every renderconst handleClick = () => {  console.log(count);};// With useCallback - the function is only recreated when dependencies changeconst handleClick = useCallback(() => {  console.log(count);}, [count]);

useMemo

useMemo memoizes values to avoid expensive recalculations on every render.

JavaScriptindex.js
// Without useMemo - expensive calculation runs on every renderconst sortedList = expensiveSort(items);// With useMemo - calculation only runs when items changeconst sortedList = useMemo(() => expensiveSort(items), [items]);

When to use which?

  • Use useCallback when:

    • Passing callbacks to optimized child components that rely on reference equality
    • Working with event handlers that you pass to child components
  • Use useMemo when:

    • You have computationally expensive calculations
    • You want to avoid recreating objects that are used as dependencies for other hooks

Performance Note

Don't overuse these hooks! They come with their own overhead. Only use them when you have identified a genuine performance issue.

Op

Bruh...

De

Ready to build something amazing?

Join thousands of developers using DeDevs UI to build modern applications. Get started in seconds.

Terminal
$npx dedevs-ui add 
accordion