open-source · shadcn-style · rough.js

React UI that looks hand-drawn

Wobbly, sketchy components built on Rough.js. Install with one command, own the source, customise everything.

npx shadcn add https://bydefaulthuman.fun/r/button.json

three themes

One prop. Three aesthetics.

Set theme globally via CrumbleProvider or override per-component.

Pencil1px stroke

Light, delicate, 1px strokes

Ink2px stroke

Bold, confident, 2px strokes

Crayon3.5px stroke

Thick, waxy, 3.5px strokes

what ships

Everything you need. All interactive.

Every card below is a live component

bar chart

docs →

line chart

docs →

pie chart

docs →

Revenue

$48,200

+12.5% this month

Active users

3,841

+8.1% vs last week

Churn rate

2.4%

−0.3% improvement
docs →

sparklines

Revenue
50
Users
190
Churn
2.4
docs →

card · stacked paper

Q2 roadmap

Finalise component API, ship docs site, open beta.

Design review

Walk through new specs with the team on Thursday.

docs →

sticky notes

Ship it

Launch v0.1 by end of sprint

Bug

SVG clips on resize

Idea

Theme playground in docs

Done ✓

Rough.js primitives shipped
docs →

distribution

docs →

why byDefaultHuman?

Designed to be different

Rough.js powered

Every border, line, and shape is generated at runtime by Rough.js — no PNGs, no SVG assets, no icon fonts.

You own the code

shadcn-style install: one command copies the component source into your repo. Update it however you like.

Three sketch themes

Switch between pencil, ink, and crayon globally or per-component with a single prop.

Animates on mount

Paths draw themselves into existence on first render. No configuration needed — it just works.

Ready to get sketchy?

Copy a component in one command. No lock-in, no magic, just source you own.

Star on GitHub