gitwtfhub

wtf is goo?

evadne/goo — explained in plain English

Analysis updated 2026-05-18

2TypeScriptAudience · generalComplexity · 2/5Setup · easy

TL;DR

A browser-based image distortion tool inspired by Kai's Power Goo, offering grow, shrink, smear, twirl, and ripple effects with no server uploads.

Mindmap

mindmap
  root((Goo))
    What it does
      Distorts images in browser
      No server uploads
      Undo redo history
    Tech stack
      Vite
      React
      TypeScript
      Tailwind CSS
      Canvas API
    Use cases
      Grow shrink smear
      Twirl ripple effects
      Local only editing
    Audience
      Creative hobbyists
      General users

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

Why would anyone build with this?

REASON 1

Warp and distort a photo directly in the browser with grow, shrink, smear, twirl, and ripple effects

REASON 2

Experiment with playful image manipulation without uploading files to a server

REASON 3

Undo and redo distortion effects while editing an image

What's in the stack?

TypeScriptReactViteTailwind CSSCanvas API

How it stacks up

evadne/gooarashthr/hugo-flowargeneau12e/kairos-tx
Stars222
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderatehard
Complexity2/53/54/5
Audiencegeneraldeveloperdeveloper

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

How do you spin it up?

Difficulty · easy Time to first run · 5min

Wtf does this do

Goo is a browser-based image manipulation tool inspired by Kai's Power Goo, a classic photo distortion application. It runs entirely in the browser, no server uploads required. When you open it, a dark editor appears preloaded with a generated Renaissance-style portrait. You can replace that image with any local file using a file picker or by dragging and dropping it in. Once your image is loaded, you can distort it using several creative tools: Grow (enlarges parts of the image outward), Shrink (pulls areas inward), Smear (drags pixels across the canvas), Twirl (spins areas of the image), Ripple (creates a wave-like distortion), and GOOplicate. You control the intensity of each effect with adjustable brush size and force settings. The canvas also supports zoom, pan (called Hand mode), fit-to-view, and reset. Pixel-heavy brush operations run in Web Workers, background threads separate from the main browser thread, so the interface stays responsive while distortions are being applied. An undo/redo stack backed by a bounded pixel snapshot manager lets you step back through changes. The editor is built with Vite, React, TypeScript, and Tailwind CSS v4, using the browser's built-in Canvas API for rendering. You would use this if you want a playful, local-only image warping tool that runs directly in the browser with no sign-up and no file uploads to a server.

Yoink these prompts

Prompt 1
Help me run Goo locally to distort an image with the twirl and ripple tools.
Prompt 2
Explain how Goo uses Web Workers to keep the interface responsive during pixel-heavy edits.
Prompt 3
Show me how to load my own image into Goo via drag and drop.

Frequently asked questions

wtf is goo?

A browser-based image distortion tool inspired by Kai's Power Goo, offering grow, shrink, smear, twirl, and ripple effects with no server uploads.

What language is goo written in?

Mainly TypeScript. The stack also includes TypeScript, React, Vite.

How hard is goo to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is goo for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.