Mindket

Jenga with a Robot Arm

Newversion 1 · updated

Overview

Lets you drive a Franka robot arm by keyboard to pull blocks from a Jenga tower and stack them on top, with the physics running in your browser. Suits curious players and developers.

Jenga with a Robot Arm is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • A desktop browser with WebGPU
  • Python with pip, used here to download the files
  • The Hugging Face hub client, which the first step installs
  • Node and npm, only if you want to develop it further
Runs in
  • Desktop Chrome or Edge, updated to a current version, on the Space's page
  • A downloaded copy opened from build/index.html on Windows, macOS or Linux
  • A local dev server for people who want to change the code
Start with
pip install -U huggingface_hub
hf download cfahlgren1/jenga-arm --repo-type space --local-dir jenga-arm
cd jenga-arm

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

This is a browser game where you steer a Franka robot arm with your keyboard. A tower of 42 blocks stands on a table, and you pull loose blocks out and stack them on top. The physics runs on your own GPU through steel-webgpu, so nothing is installed or sent anywhere.

Who it suits

It suits people who want to feel how a robot arm and a physics engine behave, and developers who want to read a small WebGPU project.

IndustryWho uses itHow they use itExample
EducationTeachers and studentsShow how simulated physics and arm control feel in practiceTry to pull a block out without toppling the tower
RoboticsHobbyistsGet a feel for steering an arm toward a targetDrive the gripper to a loose block and lift it
Web developmentDevelopersStudy a WebGPU project built with Vite and TypeScriptRun the dev command and read the arm code
GamesCasual playersPlay a short physics puzzleStack pulled blocks on the top level

Skip it if your browser has no WebGPU support, since the physics runs on your graphics card.

Where to use it

  • Desktop Chrome or Edge, updated to a current version, on the Space's page
  • A downloaded copy opened from build/index.html on Windows, macOS or Linux
  • A local dev server for people who want to change the code
Use caseWhoWhat they get back
Playing the gameAnyone curiousA tower you pull apart and rebuild with a robot arm
Learning arm controlStudentsA working example of an arm following a target
Reading the codeDevelopersA Vite and TypeScript project with its arm solver in src/lib/arm.ts

How to set it up

The online copy needs only a browser with WebGPU. For a copy on your own computer, you need the following.

  • A desktop browser with WebGPU
  • Python with pip, used here to download the files
  • The Hugging Face hub client, which the first step installs
  • Node and npm, only if you want to develop it further
  1. Install the Hugging Face hub client.
  2. Download the Space's files into a local folder.
  3. Move into that folder.
  4. Load build/index.html in your browser.
pip install -U huggingface_hub
hf download cfahlgren1/jenga-arm --repo-type space --local-dir jenga-arm
cd jenga-arm

To change the code, install the packages and start the dev server instead.

npm install
npm run dev

How to use it

Open the page and use the keys in the table below. The gripper moves relative to the camera, so turn the view first if the directions feel wrong.

ToolWhat it does
W A S DMoves the gripper in the camera's frame of reference
Q and ELowers and raises the gripper
Left and right arrowsTurns the gripper
Up and down arrowsTilts it between pointing down and pointing sideways
SpaceGrips or releases a block
ShiftSwitches to fine control
Mouse drag and scrollOrbits and zooms the camera

Example

You press W to bring the gripper over a loose block, lower it with Q and press Space to grip it. Then you raise it with E, carry it to the top of the tower and press Space again to let go.

For newcomers and experts

If you are new, open the Space on a desktop browser and spend a minute just moving the gripper with W A S D. Pick a block near the edge first, since loose ones come out more easily.

If you know the field, an inverse kinematics solver of the damped least-squares kind turns the gripper target into joint targets, refreshed on each frame. The scene comes from Steel's Jenga example with a 14-level tower. Roughly a third of the blocks are cut 0.6 mm thin, so they bear no weight, as in a real set. Speed depends on your own GPU.

  1. You press keys to move the gripper
  2. The solver turns the target into joint targets
  3. steel-webgpu runs the physics on your GPU
  4. You see the tower react on screen

Good to know

Everything runs in the browser, and the credits go to steel-webgpu from Skild AI for the physics, the arm model and the table scene.

  • License: apache-2, and the physics code is credited as Apache-2.0
  • Cost to run: none named, and it uses your own GPU
  • Data it reaches: none named, since the page says everything runs in your browser
  • Not for: browsers without WebGPU, and it is aimed at desktop use

README and files

README

Jenga with a Robot Arm

Lets you drive a Franka robot arm by keyboard to pull blocks from a Jenga tower and stack them on top, with the physics running in your browser. Suits curious players and developers.

Made by cfahlgren1 on Hugging Face. These notes are Mindket's, written from its Space page and README; the app's own files and license are on Hugging Face.

About

What it is: This is a browser game where you steer a Franka robot arm with your keyboard. A tower of 42 blocks stands on a table, and you pull loose blocks out and stack them on top. The physics runs on your own GPU through steel-webgpu, so nothing is installed or sent anywhere.

Who it suits: It suits people who want to feel how a robot arm and a physics engine behave, and developers who want to read a small WebGPU project.

Industry | Who uses it | How they use it | Example
Education | Teachers and students | Show how simulated physics and arm control feel in practice | Try to pull a block out without toppling the tower
Robotics | Hobbyists | Get a feel for steering an arm toward a target | Drive the gripper to a loose block and lift it
Web development | Developers | Study a WebGPU project built with Vite and TypeScript | Run the dev command and read the arm code
Games | Casual players | Play a short physics puzzle | Stack pulled blocks on the top level

Skip it if your browser has no WebGPU support, since the physics runs on your graphics card.

Where to use it:

  • Desktop Chrome or Edge, updated to a current version, on the Space's page
  • A downloaded copy opened from build/index.html on Windows, macOS or Linux
  • A local dev server for people who want to change the code
Use case | Who | What they get back
Playing the game | Anyone curious | A tower you pull apart and rebuild with a robot arm
Learning arm control | Students | A working example of an arm following a target
Reading the code | Developers | A Vite and TypeScript project with its arm solver in src/lib/arm.ts

How to set it up: The online copy needs only a browser with WebGPU. For a copy on your own computer, you need the following.

  • A desktop browser with WebGPU
  • Python with pip, used here to download the files
  • The Hugging Face hub client, which the first step installs
  • Node and npm, only if you want to develop it further
  1. Install the Hugging Face hub client.
  2. Download the Space's files into a local folder.
  3. Move into that folder.
  4. Load build/index.html in your browser.
pip install -U huggingface_hub
hf download cfahlgren1/jenga-arm --repo-type space --local-dir jenga-arm
cd jenga-arm

To change the code, install the packages and start the dev server instead.

npm install
npm run dev

How to use it: Open the page and use the keys in the table below. The gripper moves relative to the camera, so turn the view first if the directions feel wrong.

Tool | What it does
W A S D | Moves the gripper in the camera's frame of reference
Q and E | Lowers and raises the gripper
Left and right arrows | Turns the gripper
Up and down arrows | Tilts it between pointing down and pointing sideways
Space | Grips or releases a block
Shift | Switches to fine control
Mouse drag and scroll | Orbits and zooms the camera

Example: You press W to bring the gripper over a loose block, lower it with Q and press Space to grip it. Then you raise it with E, carry it to the top of the tower and press Space again to let go.

For newcomers and experts: If you are new, open the Space on a desktop browser and spend a minute just moving the gripper with W A S D. Pick a block near the edge first, since loose ones come out more easily.

If you know the field, an inverse kinematics solver of the damped least-squares kind turns the gripper target into joint targets, refreshed on each frame. The scene comes from Steel's Jenga example with a 14-level tower. Roughly a third of the blocks are cut 0.6 mm thin, so they bear no weight, as in a real set. Speed depends on your own GPU.

You press keys to move the gripper
The solver turns the target into joint targets
steel-webgpu runs the physics on your GPU
You see the tower react on screen

Good to know: Everything runs in the browser, and the credits go to steel-webgpu from Skild AI for the physics, the arm model and the table scene.

  • License: apache-2, and the physics code is credited as Apache-2.0
  • Cost to run: none named, and it uses your own GPU
  • Data it reaches: none named, since the page says everything runs in your browser
  • Not for: browsers without WebGPU, and it is aimed at desktop use

On Hugging Face, 13 November 2026

  • Likes: 1
  • Built with: static
  • License: apache-2.0

Links

Try it

Open the Space in your browser, or copy it to your own Hugging Face account from its page. Nothing in this kit runs by itself.

Files
README.md  5 KB

1 file, 5 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Compare with similar

Listed Hugging Face Spaces in the same category that share the most tags with this one.

ProductLikesBuilt withLicenseLast change
Jenga with a Robot Arm This page1staticapache-2.0
InferenceSupportShares static764staticafl-3.0
HuggyShares static463staticcc-by-nc-sa-4.0
Z-Image Lookalike LoRA IndexShares static189staticapache-2.0
Granite Docling 258M WebGPUShares static163staticapache-2.0
DINOv3 WebShares static162staticapache-2.0
Numbers as Mindket last read them, on 2026-11-12.

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Developer

See all in Developer

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

buzz

block · Kit

Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…

New37.3k

plannotator

backnotprop · Kit

Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.

New10.5k