About
Machines, not pictures of machines
robocn is a shadcn registry of 228 robot components. They install as source into your project, the way shadcn/ui components do — you own them, edit them, and theme them with CSS variables.
Why it exists
shadcn/ui covers forms and layout. Nothing covered machines — the arm on a robotics landing page, the pick-and-place loader on a fabrication dashboard, the face on a support bot. Those normally arrive as a looping GIF, a Lottie file, or a hand-keyframed SVG: fixed at one size, one palette, one pose, and unable to answer a question the page asks it.
A machine that solves its own geometry answers instead. Give it a target and it reaches; give it a value and it shows that value. It is a component, not an asset.
What is actually solved
The distinction that matters here is between a pose that was computed and a pose somebody drew. Every claim below is arithmetic running in the browser at 60fps, in a solver with no dependencies at all.
- Inverse kinematics. Two links close with the law of cosines; longer chains run FABRIK, seeded with the previous frame so the arm never snaps between two valid solutions. A target out of reach stretches toward it rather than breaking the pose.
- One solve, two renderers. The SVG arm and the react-three-fiber arm run the same kinematics core, so the same target puts the tip in the same place in 2D and in 3D.
- The mechanisms underneath. A gearbox turns at its real ratio, a fan brake retards as k·ω², a crop unit's florets are placed by the golden angle over equal areas of its own surface. When a machine here looks like it is doing something, it is doing it.
- Even the logo. The mark in the header is a three-link chain solved by the same hook the components use. Click anywhere and it re-aims at where you clicked.
What is in it
Arms
6Articulated chains and the room they stand in — SVG and WebGL from one solver.
Droids
27Service units, walkers and companions, with poses, domes and deployable tools.
Animals
28Legged, winged and swimming machines, each on a solved gait.
Garden
5Fruit, vegetables and plants built as machines that open, track and grow.
Body
5The parts a humanoid is assembled from: hand, foot, leg, torso, skeleton.
Actuators
11The things that push: motors, solenoids, coils, brakes, bearings.
Drives
7The things that transmit: gearboxes, belts, carriers, wheels, stages.
Tools
4End effectors — grippers, suction, magnets, and the changer they hang on.
Sensors
3Instruments that report: scanning, proximity, shaft angle.
Fabrication
5Machines that make: deposition cells, the workpiece, the line.
Devices
8Consumer hardware as mechanism: laptops, tablets, handsets, wearables.
Controls
7Widgets rather than machines — keys, keypads, terminals, faces, loaders.
Vehicles
9Things that travel: road, water, air, and the aeroplane you take apart.
Rail
5Rolling stock and the track under it, from bogie to turnout.
Space
10Bodies, orbits and craft — planets, moons, debris, interceptors, stations.
Energy
10The oilfield end to end: lift, drilling, separation, storage, flare.
Sport
12Gridiron players, balls and pucks, and the rigs that launch them.
Gym
5Resistance machines, each solved as the linkage it really is.
Home
7Buildings and appliances: houses, towers, coffee, cold, laundry, lanterns.
Music
5Sound made mechanically: decks, horns, drums, and a grand piano.
Foundations
49The maths and the hooks underneath all of it. No React in the solver.
How you control one
Four colour roles resolve prop first, then CSS variable, then a built-in default, so setting --robot-shell once repaints every machine on the page. variant changes how a machine is painted and never where its joints are — blueprint adds the grid, the dimensions and the joint angles, because a drawing is what you want when you are explaining a mechanism rather than selling one. Size is a prop, and interactive turns a machine into a control you can drag or arrow-key. Reduced-motion settings park all of it.
How it is built
One Next.js app is both the documentation site and the registry itself. Every file listed in registry.json lives at the path a consumer installs it to, so what this site renders is exactly what ships — there is no build step between the demo and the download, and a broken component breaks the page you are reading.
A large share of the people installing from here are coding agents, so the site is written for them too: every page has a Markdown mirror and the whole catalogue is one file at /llms.txt.
Install one
bunx --bun shadcn@latest add https://robocn.dev/r/robot-arm.jsonWho
Built by Tim Mikeladze. MIT licensed, and the source is on GitHub — issues and new machines both welcome.