explaingit

rough-stuff/wired-elements

10,780TypeScriptAudience · designerComplexity · 2/5LicenseSetup · easy

TLDR

A collection of web UI components, buttons, inputs, and more, that render with a hand-drawn, sketchy appearance, useful for wireframes, mockups, or any project that wants that rough-draft visual style.

Mindmap

mindmap
  root((wired-elements))
    What it does
      Hand-drawn UI look
      Buttons and inputs
      Wireframe style
    Tech stack
      Web Components
      Lit
      RoughJS
    Use cases
      Prototypes
      Mockups
      Finished apps
    Audience
      Designers
      Frontend devs
    Setup
      npm install
      CDN script tag
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add hand-drawn-style buttons and inputs to a wireframe or prototype web page to signal it is a rough draft.

USE CASE 2

Build a finished website or app where the sketchy visual aesthetic is the intended design style.

USE CASE 3

Drop hand-drawn UI components into a React, Vue, or Svelte project via a single npm package.

Tech stack

TypeScriptWeb ComponentsLitRoughJSnpm

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Wired Elements is a collection of web interface components that look like they were sketched by hand with a pen. Buttons, input fields, and other standard UI pieces all render with a rough, hand-drawn appearance rather than the clean polished look of typical web components. The intent is to make them useful for wireframes, early mockups, or any project where that hand-drawn style is the desired look. The components are built as standard web components, which means they work in plain HTML pages as well as in popular JavaScript frameworks. The README shows working examples in React, Vue, and Svelte, along with a plain-HTML sandbox to try without any framework. You add the package through npm or load it directly from a CDN link in a script tag, then drop the custom HTML tags into your page like any other element. Under the hood, the project is built using two open-source libraries: RoughJS, which is a separate library from the same team that draws shapes with that sketchy style, and Lit, a lightweight tool for building web components. The documentation folder in the repository covers the specific properties and events available for each component. All components are bundled together in a single npm package called wired-elements, but you can also import individual components if you only need a few. The project is MIT licensed and accepts financial contributors through Open Collective. This project suits designers and developers who want to communicate that an interface is a rough draft, or who simply prefer the hand-drawn visual style for their finished product.

Copy-paste prompts

Prompt 1
Using the wired-elements npm package, add a hand-drawn button and text input to my plain HTML page. Show me the script tag and the custom HTML tags I need.
Prompt 2
I have a React app and want to use wired-elements components for a wireframe look. Show me how to install the package and use a wired-button and wired-input in a React component.
Prompt 3
How do I import only the wired-checkbox component from wired-elements instead of the full bundle? Show the import statement and usage in HTML.
Prompt 4
Set up a Vue 3 component that uses wired-elements to display a hand-drawn form with a label, text input, and submit button.
Open on GitHub → Explain another repo

← rough-stuff on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.