gitwtfhub

wtf is keramos?

tol-is/keramos — explained in plain English

Analysis updated 2026-05-18

22TypeScriptAudience · developerComplexity · 2/5LicenseSetup · easy

TL;DR

Keramos is a browser based interactive pottery wheel where you shape a simulated spinning lump of clay by dragging your mouse against it.

Mindmap

mindmap
  root((keramos))
    What it does
      Simulated pottery wheel
      Drag to shape clay
      Spinning wireframe render
    Tech stack
      React
      TypeScript
      Vite
    Use cases
      Play with virtual clay
      Learn simulation techniques
      Study canvas rendering
    Audience
      Creative coders

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

Play with a simulated pottery wheel directly in the browser for fun or creative exploration.

REASON 2

Study how the project simulates clay as a stack of deforming rings.

REASON 3

Learn how the hand rolled 2D canvas rendering technique projects and depth sorts shapes without WebGL.

What's in the stack?

ReactTypeScriptViteCanvas

How it stacks up

tol-is/keramosaerdelan/housand-domaintoolmatrixaffaan-m/opencode
Stars222222
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-02-09
MaintenanceMaintained
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

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

How do you spin it up?

Difficulty · easy Time to first run · 5min

Source is view-only, no license is granted to actually use, copy, or modify the code.

All rights reserved. You can read the source code, but you are not granted permission to use, copy, modify, or distribute it.

Wtf does this do

Keramos is an interactive pottery wheel that runs in a web browser. A lump of clay spins on screen, drawn as white wireframe rings against a black background, and you shape it by pressing and dragging against its outline. Pushing from the outside narrows the wall of the pot, working from the inside pushes it outward, dragging upward stretches the wall thinner and taller, and dragging downward gathers the clay back into a thicker, shorter shape. Push too hard and the clay tears apart. The wheel keeps spinning the whole time, which continuously smooths the wall back into a true, even shape as you work it. Under the surface, the clay is simulated as a stack of horizontal slices, each one made up of a ring of points that can move slightly inward or outward. When you drag on the clay, that motion becomes a mark on one of these points, and because the whole shape spins with the wheel, the mark rotates along with it. A smoothing process constantly pulls the material back toward an even, trued surface, and each slice keeps its own volume steady, so making a band thinner naturally makes the pot taller in that spot. The picture on screen is drawn by hand with a simple 2D canvas technique that sorts the slices by depth and draws them as solid, shaded rings, without using any 3D graphics library. A live demo is hosted online, and the project can also be run locally after installing its dependencies, with separate commands for starting a development server and building a production version. It is built with React, TypeScript, and Vite. The source code is available to read, but the author has not granted any license to use, copy, modify, or distribute it, so this project is really meant for looking at and learning from rather than reusing.

Yoink these prompts

Prompt 1
Explain how Keramos simulates clay as profile stations and radial deviation.
Prompt 2
Walk me through running Keramos locally with npm install and npm run dev.
Prompt 3
How does Keramos's painter's algorithm draw the pot without using WebGL?
Prompt 4
What does it mean that the source is visible but not licensed for reuse in Keramos?

Frequently asked questions

wtf is keramos?

Keramos is a browser based interactive pottery wheel where you shape a simulated spinning lump of clay by dragging your mouse against it.

What language is keramos written in?

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

What license does keramos use?

All rights reserved. You can read the source code, but you are not granted permission to use, copy, modify, or distribute it.

How hard is keramos to set up?

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

Who is keramos for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

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