whatisgithub

What is beat-it?

amanvarshney01/beat-it — explained in plain English

Analysis updated 2026-05-18

0JavaScriptAudience · generalComplexity · 3/5Setup · moderate

In one sentence

A browser game where you upload a face photo and punch, slap, or pelt a 3D version of it, with everything processed locally.

Mindmap

mindmap
  root((Beat It))
    What it does
      Upload a face
      Choose an attack
      3D reaction physics
    Tech stack
      Three.js
      MediaPipe
      React
    Use cases
      Quick stress relief
      Silly browser game
    Audience
      General users
      Web developers

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

What do people build with it?

USE CASE 1

Upload a photo and play a lighthearted face-punching game for a quick laugh.

USE CASE 2

Try the demo face without uploading a personal photo.

USE CASE 3

Study the code as an example of combining Three.js, MediaPipe, and Blender assets.

USE CASE 4

Run the project locally to experiment with the physics and rendering setup.

What is it built with?

Three.jsMediaPipeReactMatter.jsBun

How does it compare?

amanvarshney01/beat-it00kaku/gallery-slider-block3rd-eden/ircb.io
Stars0
LanguageJavaScriptJavaScriptJavaScript
Last pushed2021-05-192016-11-16
MaintenanceDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Bun 1.3 or newer and a WebGL-capable browser to run the local development server.

The README does not state a license.

So what is it?

Beat It is a silly browser game where you upload a photo of a face, or use the built in demo, and then punch, slap, hit with a mallet, or throw a tomato or egg at a 3D version of it. The head reacts by deforming, recoiling, and showing bruises or food residue where you hit it, along with sound effects and optional spoken reactions in a male or female voice. Everything runs directly in the browser with no blood and no violent theme beyond the cartoonish premise, described by its creator as built for a quick, silly stress release. Attacks land exactly where you click or tap on the face, and the game supports keyboard shortcuts too, with the space bar swinging the currently selected attack and number keys one through five switching between punch, slap, mallet, tomato, and egg. Players can change the stage background, add a colorable cap with a short custom label, and adjust sound and voice settings. The game also adjusts its rendering quality automatically to stay responsive on both desktop and mobile devices. A key detail is privacy: face detection, landmark tracking, cropping, and rendering all happen locally in the browser using a library called MediaPipe, and the project states there is no image upload backend, meaning uploaded photos are never sent to a server. The 3D scene itself is built with Three.js, physics for head recoil comes from Matter.js, and the game assets like the glove, mallet, and dummy head were modeled in Blender. The interface is built with React, TanStack Router, and Tailwind CSS, and the project uses Bun and Turborepo to manage its multi-package codebase. To run it locally you need Bun version 1.3 or newer and a browser that supports WebGL, after which cloning the repository, installing dependencies, and running the development command starts a local server. The README closes with a note asking users to only upload photos they own or have permission to use, and clarifies that the game is fictional and not meant to encourage real-world harassment or violence.

Copy-paste prompts

Prompt 1
Explain how Beat It uses MediaPipe to detect a face and map it onto a 3D model locally.
Prompt 2
Help me set up a Bun and Turborepo monorepo similar to this project's structure.
Prompt 3
Show me how Three.js raycasting could be used to detect exact click positions on a 3D mesh.
Prompt 4
Walk me through building a simple physics-based recoil effect using Matter.js.

Frequently asked questions

What is beat-it?

A browser game where you upload a face photo and punch, slap, or pelt a 3D version of it, with everything processed locally.

What language is beat-it written in?

Mainly JavaScript. The stack also includes Three.js, MediaPipe, React.

What license does beat-it use?

The README does not state a license.

How hard is beat-it to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is beat-it for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.