← Projects/Tutorials/Glossary
Look it up · for all tutorials

Glossary

Tricky words explained simply, with a small assembly plan where something happens step by step. Under “In more detail” there is more for older kids and adults.

For everyoneGerman and EnglishNew, growing all the time

Web54 terms

Terms around building web pages with HTML and CSS.

Attribute

Extra information inside a tag, for example src on a picture or href on a link.

In more detail

An attribute sits in the opening tag and usually has a name and a value in quotes: alt="George on the sofa". More examples: lang, class, id.

Basic structure

The frame every HTML page needs: declaration, head and body.

DOCTYPE
head: invisible
body: the stage
In more detail

<!DOCTYPE html> says “this is HTML”. <html> wraps everything. The <head> holds invisible things for the browser (title, character set, viewport), the <body> everything you see.

Box model

Every element is a box. From inside out: content, padding, border, margin.

Content
Padding
Border
Margin
In more detail

padding is the space between content and border, border the frame, margin the space to the neighbours. With box-sizing: border-box, padding and border count towards the given width, which makes calculations easier.

See also: CSS

Appears in: CSS 101, chapter 6

Breakpoint

The screen width at which the layout changes, for example 768 pixels.

In more detail

In CSS 101 they are 768 pixels (roughly tablet) and 1024 pixels (desktop). The numbers are rules of thumb, not laws; what matters is that the content looks good.

Class

A name you give elements so you can style them together with CSS.

In more detail

In HTML class="btn", in CSS .btn { … } with a dot. A class may appear as often as you like, and an element can have several classes. Usually better for styles than an ID.

See also: ID · Selector

Appears in: CSS 101, chapter 3

Comment

A note in the code for people. The browser does not show it.

In more detail

In HTML: <!-- note -->. In CSS: /* note */. In JavaScript: // note for one line. Good comments explain why something is the way it is.

See also: HTML

Appears in: HTML 101, chapter 3

CSSCascading Style Sheets

The language for how a page looks: colours, fonts, spacing, layout.

In more detail

CSS rules consist of a selector (what it hits) and properties (what changes). CSS is best kept in its own file such as style.css that every page links to. In the house comparison, it is paint and furniture.

See also: Selector · HTML · Box model

Appears in: CSS 101, chapter 2

CSS variableCustom Property

A named value that you set once and use everywhere, for example a colour.

In more detail

Set it in :root { --primary: #00b4d8; }, use it with color: var(--primary);. Change the value in one place and the colour changes everywhere the variable is used.

See also: CSS · Variable

Appears in: CSS 101, chapter 1

Developer tools (F12)

A toolbox in the browser. With F12 you can see the code behind any page, errors and the phone view.

Page
F12
code, errors, phone view
In more detail

Changes in the developer tools only apply on your screen until you reload. Important areas: Elements (HTML and CSS), Console (JavaScript messages and errors) and the device view.

Element

A building block of the page: opening tag, content and closing tag together.

In more detail

<p>Hello</p> is a paragraph element. Elements can contain other elements; this creates the structure of the page. JavaScript sees them as branches in the DOM tree.

See also: Tag · DOM

Appears in: HTML 101, chapter 3

File extension

The letters after the dot in a file name, for example .html. They tell the computer what kind of file it is.

In more detail

Windows often hides extensions. A file can then secretly be called index.html.txt and will not open as a web page. In Explorer, switch on “File name extensions” under View.

See also: Path

Appears in: Your first website, chapter 3

Flexbox

A CSS method for arranging elements in a row or column and centring them.

In more detail

With display: flex, the children of an element are placed side by side. justify-content spreads them along the main direction, align-items across it, gap sets the spacing. Good for navbars and rows of buttons.

See also: Grid

Appears in: CSS 101, chapter 7

Form

Fields to fill in, for example a contact form with name, email and message.

Form
Submit
server or service
In more detail

Building blocks: <input> (a field), <textarea> (several lines), <select> (choice), <button type="submit"> (send). A form on its own does not send emails; that needs a server or a service.

See also: Label · Server

Appears in: HTML 101, chapter 7

Gradient

A smooth blend between two or more colours.

In more detail

linear-gradient(135deg, #00b4d8, #f72585) runs in one direction, radial-gradient(…) from the centre outwards. Gradients are backgrounds; you set them with background.

See also: HEX, RGB, HSL

Appears in: CSS 101, chapter 4

Grid

A CSS method for layouts with columns and rows, for example for cards.

In more detail

With display: grid and grid-template-columns: 1fr 1fr 1fr you get three columns of equal width. Rule of thumb: one direction flexbox, two directions grid.

See also: Flexbox

Appears in: CSS 101, chapter 7

Heading (h1 to h6)

Titles on the page, from <h1> (largest) to <h6> (smallest).

In more detail

There is only one <h1> per page, the main heading. Below it, <h2>, <h3> and so on structure the page like chapters and sub-chapters. The order also helps screen readers.

HEX, RGB, HSL

Three ways to write colours. The most common is HEX, for example #e03030.

In more detail

HEX: red, green and blue as two characters each. RGB: the same three values from 0 to 255, rgba() with transparency from 0 to 1 as well. HSL: hue, saturation, lightness, handy for varying a colour.

See also: Gradient · CSS variable

Appears in: CSS 101, chapter 4

HTMLHyperText Markup Language

The language you use to write down what is on a web page: headings, text, pictures, links.

You write HTML
index.html
Browser shows the page
In more detail

HTML describes structure, not appearance. It is made of tags such as <h1> or <p>. The browser reads the file and builds the page from it. In the house comparison, it is the walls.

ID

A unique name for exactly one element on the page.

In more detail

In HTML id="hero", in CSS #hero with a hash. An ID appears only once per page. Useful for jump targets (#hero in a link) and for JavaScript.

See also: Class · Specificity

Appears in: CSS 101, chapter 3

Image and alt text

<img> shows a picture. The alt text describes it in words.

In more detail

src says where the picture is, alt what is on it. The alt text appears when the picture is missing and is read out for people who cannot see it. If you see the alt text instead of the picture, the path is usually wrong.

Including CSSInline, Internal, External

Three ways to bring CSS to a page. The best: a separate .css file for all pages.

style.css
link on every page
all pages styled
In more detail

Inline (style="…" in the tag) only applies to one element, fine for tests. Internal (<style> in the head) applies to one page. External (<link rel="stylesheet" href="css/style.css">) applies to every page that links it, and the browser can cache it.

See also: CSS · Cache

Appears in: CSS 101, chapter 2

Keyframes

The steps of a CSS animation: what happens at 0 %, 50 % and 100 %. The browser works out the rest.

@keyframes
browser fills the gaps
animation on the element
In more detail

First define them with @keyframes name { … }, then assign them to an element with animation: name 0.6s ease forwards;. Unlike transitions, keyframes run without a trigger and can repeat (infinite).

Label

The caption of a form field.

In more detail

<label for="name"> belongs to the field with id="name"; both names must match. Then a click on the caption puts the cursor in the field, and screen readers know what the field is for.

See also: Form

Appears in: HTML 101, chapter 7

Live Server

An extension for VS Code: the browser reloads the page by itself after every change.

In more detail

Right-click index.html, “Open with Live Server”. Behind it, a small server runs on your own computer. For HTML 101, a double-click on the file is enough too.

See also: Local server · Editor

Appears in: HTML 101, chapter 2

Media query

A CSS rule that only applies from a certain screen width.

In more detail

Example: @media (min-width: 768px) { … } applies from 768 pixels wide, roughly from tablet size. The width at which the layout changes is called a breakpoint.

Mobile first

Build the phone view first, then extend it for bigger screens.

Phone: basic rules
from 768px
from 1024px
In more detail

The basic rules are for the phone (one column, large, easy to tap). Media queries with min-width add more columns from a certain width. This is the usual approach today.

Paragraph

A block of text between <p> and </p>.

In more detail

Every paragraph gets its own <p>. The browser ignores blank lines in the code. For a line break inside a paragraph there is <br>.

Path

The way to a file, for example images/george.jpg: first the folder, then the file.

index.html
images/
george.jpg
In more detail

A relative path starts from the current file. A slash separates folder and file. Every letter must match: on many servers upper and lower case count too, on Windows they do not. That is why something can work at home but not online.

Pseudo-element (::after)

An invisible extra before or after an element that CSS can style, for example a line.

In more detail

With two colons: ::before and ::after. They need content: '', otherwise they do not appear. In CSS 101 this is how the underline that slides in on hover is made.

rem

A size unit in CSS based on the root font size. 2rem is twice as big.

In more detail

1rem is the font size of the <html> element, usually 16 pixels in the browser. Anyone who chooses a larger font in their settings automatically gets everything bigger with rem, but not with fixed pixels.

Required field

A field you have to fill in before the form can be sent.

In more detail

With the attribute required, the browser checks it itself and shows a hint. With type="email" it also checks whether it looks like an email address.

See also: Form · Attribute

Appears in: HTML 101, chapter 7

Reset

A few lines of CSS at the start that even out the browsers' default settings.

In more detail

Typical: * { margin: 0; padding: 0; box-sizing: border-box; }. Every browser has its own spacing; the reset sets it to zero so the page starts the same everywhere.

Responsive

A page adapts to the screen: phone, tablet and PC each show it in a suitable way.

one page
Phone
Tablet
PC
In more detail

Responsive design needs three things: the viewport line, flexible layouts (flexbox, grid, percentages instead of fixed pixels) and media queries for different widths. Mobile first is recommended: phone first, then extend.

Review / QAQuality Assurance

Checking everything once more before calling it done.

In more detail

Same navbar everywhere? All links correct? Any content missing? Does it look good on a phone? In real teams a second person often checks, because it is easy to overlook your own mistakes.

Selector

The part of a CSS rule that says which elements are meant.

Selector
hits elements
style is applied
In more detail

p hits all paragraphs, .btn all elements with class="btn", #hero exactly the one element with id="hero". Selectors can be combined, for example .card p for paragraphs inside cards.

See also: Specificity · CSS

Appears in: CSS 101, chapter 3

Semantic

The code says what something is, not just how it looks. <nav> means: this is the navigation.

In more detail

Semantic tags such as <nav>, <footer> or <h1> help screen readers, search engines and you yourself understand the page. A <div>, by contrast, says nothing about its content.

See also: HTML · Tag

Appears in: HTML 101, chapter 6

Specificity

When two CSS rules hit the same element, the more specific one wins.

In more detail

Roughly: an ID is more specific than a class, a class more specific than a tag name. With equal specificity, the rule further down wins. That is why it is better to work with classes and use IDs sparingly.

See also: Selector

Appears in: CSS 101, chapter 3

Stagger

Several elements appear one shortly after another instead of all at once.

In more detail

They all get the same animation, but each a slightly longer animation-delay, for example 0.1s, 0.2s, 0.3s. It feels lively and guides the eye.

Syntax highlighting

The editor colours tags, values and text differently. That way you spot mistakes faster.

In more detail

Notepad cannot do it, Notepad++ and VS Code can. A typo such as a missing quote stands out immediately because the colours after it look wrong.

See also: Editor

Appears in: HTML 101, chapter 2

Table

Data in rows and columns, for example a profile or a comparison.

In more detail

<table> is the whole table, <tr> a row, <th> a header cell, <td> a data cell. Tables are for data, not for page layout; that is what flexbox and grid are for.

Tag

An instruction in angle brackets, for example <h1>. It tells the browser what a piece of text is.

In more detail

Most tags come in pairs: <p> opens, </p> with a slash closes. Some have no end tag, for example <img> and <br>. Opening tag, content and closing tag together are called an element.

Timing functionEasing

The curve of a movement: steady, slow start, gentle stop …

In more detail

linear feels mechanical (loading bar), ease-out brakes gently (things arriving), ease-in speeds up (things leaving), steps(n) jumps (pixel art). cubic-bezier() allows your own curves.

Transform

Move, rotate or enlarge an element without the other elements shifting.

In more detail

translate moves, rotate turns, scale enlarges. Order matters. Transform is handled by the graphics card, which is why animations using it run especially smoothly.

Transition

A smooth change between two states, for example when the mouse moves over a button.

State A
0.3s ease
State B (:hover)
In more detail

transition: background 0.3s ease; means: property, duration, curve. The trigger is usually another state such as :hover. For sequences with several steps or without a trigger, use keyframes.

Typeface / web font

The font of a page. The browser downloads a web font in addition so the same font appears everywhere.

In more detail

With font-family you choose the font plus a fallback, for example 'DM Sans', sans-serif. Google Fonts delivers fonts from someone else's server; without internet the fallback is used. For offline-first you put fonts in your own folder.

See also: rem · Offline-first

Appears in: CSS 101, chapter 5

Viewport

The visible window of the device. The viewport line tells the phone: use your real width.

In more detail

Without <meta name="viewport" content="width=device-width, initial-scale=1.0"> a phone pretends to be about 980 pixels wide and shrinks everything. With the line, the page adapts to the real width.

W3C Validator

A checking page that examines your HTML for errors and explains them.

In more detail

At validator.w3.org, paste the code or upload the file. No red errors means clean HTML. The W3C is the organisation that sets web standards.

See also: Review / QA

Appears in: HTML 101, chapter 9

Code42 terms

Terms from JavaScript: data, decisions, functions, events.

APIApplication Programming Interface

An interface: an agreed way for one program to ask another for something.

In more detail

A web API is usually an address that returns data on request, often as JSON, for example weather data. The browser itself also has APIs, such as localStorage or the DOM. Like a counter at a station: you ask in a fixed form and get an answer in a fixed form.

See also: fetch · JSON · Server

Appears in: JS 101, chapter 9

Array

A list of values in square brackets, for example ["HTML", "CSS", "JS"].

In more detail

Every element has a number, the index. It starts at 0: list[0] is the first element. push adds to the end, length says how many there are. A loop goes through all elements.

See also: Loop · Object

Appears in: JS 101, chapter 4

Arrow function

A short way of writing functions with an arrow: (x) => x * 2.

In more detail

If only one expression follows the arrow, it is returned automatically. Arrow functions are handy for short tasks, such as in map, filter or event listeners.

See also: Function

Appears in: JS 101, chapter 5

async / await

This lets JavaScript wait for something that takes time, for example data from the internet, without the page freezing.

In more detail

A function marked async may use await. await only pauses this function until a promise is fulfilled; the rest of the page keeps running. Errors are caught with try { … } catch (error) { … }.

See also: Promise · fetch

Appears in: JS 101, chapter 9

Boolean

A value that can only be true (true) or false (false).

In more detail

Comparisons such as points > 10 produce a boolean. Conditions with if use it to decide which path runs. Named after the mathematician George Boole.

Comparison (===)

Checks whether two values are equal. Always use three equals signs.

In more detail

=== checks type and value: 5 === "5" is false. == converts types first and so produces surprises. A single = does not compare; it assigns a value.

See also: Operator · Boolean

Appears in: JS 101, chapter 3

Condition (if, else)

A question in the code: if something is true, one path runs, otherwise the other.

Value
if: true?
yes path or else
In more detail

if (points >= 10) { … } else { … }. With else if there are more branches. For many fixed cases, switch is clearer.

Console

A window in the developer tools where JavaScript shows messages and errors.

In more detail

With console.log(value) you see what is inside a variable, like an X-ray. Red lines are errors, often with file and line number.

Data type

The kind of a value: text, number, true or false, list, object.

In more detail

The main types in JavaScript: string (text in quotes), number, boolean (true or false), array, object, plus null and undefined for “no value”. You check the type with typeof.

See also: Variable · Array · Object

Appears in: JS 101, chapter 2

defer

An addition when including JavaScript: only run it once all the HTML is there.

In more detail

<script src="script.js" defer> downloads the file straight away but only runs it once the page is fully built. That way the script finds all the elements it needs.

See also: JavaScript · DOM

Appears in: JS 101, chapter 1

Destructuring

Taking values out of an object or array in one step.

In more detail

const { name, points } = user; creates two variables with the matching values. Saves typing when you need several properties.

See also: Object · Spread (...)

Appears in: JS 101, chapter 8

DOMDocument Object Model

The page as JavaScript sees it: a tree of all elements that you can read and change.

HTML
DOM tree
JavaScript changes it
page shows it at once
In more detail

The browser builds the DOM tree from the HTML. With document.querySelector(".card"), JavaScript finds an element; with textContent or classList it changes it. The page updates immediately without reloading.

See also: Event · JavaScript

Appears in: JS 101, chapter 6

Event

Something that happens on the page: a click, an input, a pressed key.

In more detail

Important events: click, input, submit, keydown, DOMContentLoaded. JavaScript reacts with an event listener. The function receives an event object, for example with e.target, the clicked element.

See also: Event listener · DOM

Appears in: JS 101, chapter 7

Event listener

A listener that waits for an event and then starts a function.

Click
listener is waiting
function runs
In more detail

button.addEventListener("click", doSomething) means: when someone clicks the button, doSomething runs. Unlike onclick =, addEventListener does not overwrite other listeners.

See also: Event · Function

Appears in: JS 101, chapter 7

Event object

The information about an event that a listener function receives, for example what was clicked.

In more detail

It is usually called e: e.target is the element, e.key the pressed key, e.preventDefault() stops the default behaviour, such as reloading when a form is submitted.

See also: Event · Event listener

Appears in: JS 101, chapter 7

fetch

The command JavaScript uses to get data from an address on the internet.

Your page: fetch(url)
Internet
API server
answer as JSON
In more detail

const response = await fetch(url); requests the address, await response.json() turns the answer into an object. This needs internet. Without a connection there is an error, which you catch with try/catch.

See also: API · async / await · JSON

Appears in: JS 101, chapter 9

Function

A named piece of code that you write once and can call as often as you like.

In: parameter
function works
Out: return
In more detail

A function takes values in (parameters), works with them and gives back a result with return. Example: function greet(name) { return "Hello " + name; }. Short form: arrow function (name) => ….

See also: Variable · Event listener

Appears in: JS 101, chapter 5

Import map

A list in the HTML page that says where a library lives, for example “three”.

In more detail

A <script type="importmap"> states, for example, that three lives in your own vendor/ folder. That way the page loads nothing from other servers, in line with offline-first.

Index

The position number in an array. Counting starts at 0.

In more detail

In ["HTML", "CSS", "JS"], "HTML" has index 0 and "JS" index 2. The last element is always list[list.length - 1].

See also: Array

Appears in: JS 101, chapter 4

Init function

A function that sets everything up once at start-up, for example initDarkmode().

In more detail

Each feature of the page gets its own init function; at the end they are all called one after another. If one cannot find the element it needs, it simply returns, so a missing piece does not disturb the others.

See also: Function · DOM

Appears in: JS 101, chapter 11

JavaScriptJS

The programming language of the browser. It brings pages to life: clicks, calculations, loading data.

In more detail

JavaScript runs directly in the browser, without installation. It reads the code line by line from top to bottom. It is best included with <script src="script.js" defer></script>. In the house comparison, it is the wiring.

See also: HTML · CSS · defer

Appears in: JS 101, chapter 1

JSONJavaScript Object Notation

A text format for data. Almost every service on the internet sends and understands it.

Object
JSON text
an object again
In more detail

JSON looks like a JavaScript object but is plain text. JSON.stringify(obj) turns an object into text, JSON.parse(text) turns it back into an object. This is how data travels to servers or into localStorage.

See also: Object · localStorage · API

Appears in: JS 101, chapter 8

localStorage

A small store in the browser. What is kept there is still there after closing the tab.

Object
JSON.stringify
localStorage
In more detail

localStorage.setItem("name", "Mikey") stores, getItem reads, removeItem deletes. It only stores text, so convert objects with JSON first. The data stays only in this one browser on this device.

See also: JSON · State

Appears in: JS 101, chapter 10

Loop

Code that repeats, for example for every element in a list.

List
for each element
your code
In more detail

for (let i = 0; i < 5; i++) { … } counts, list.forEach(x => …) goes through a list, while runs as long as something is true. Beware of endless loops: if the condition never becomes false, the page hangs.

Method

A function that belongs to a value and is called with a dot, for example list.push().

In more detail

Arrays have methods such as push, pop, map, filter; strings have, for example, toUpperCase. Your own objects can have methods too.

Module (import, export)

A JavaScript file that shares parts with export, which others fetch with import.

In more detail

Modules keep big projects tidy: every file has one job. They are included with <script type="module">. Modules usually need a server, even a local one; double-clicking the file is then not enough.

null and undefined

Two kinds of “no value”. undefined: nothing assigned yet. null: deliberately empty.

In more detail

querySelector returns null when it finds nothing; carrying on with it causes an error. A well-known quirk: typeof null gives "object".

See also: Data type · DOM

Appears in: JS 101, chapter 2

Number

A value for calculating, without quotes: 10, 3.5.

In more detail

JavaScript does not distinguish between whole and decimal numbers. The decimal separator is a dot. toFixed(1) rounds to one decimal place for display.

See also: Data type · Operator

Appears in: JS 101, chapter 2

Object

A container for related named values, for example a user with name and points.

In more detail

An object sits in curly braces: { name: "Mikey", points: 350 }. The names are called keys or properties. You read them with user.name. Stored or sent as text, an object uses the JSON format.

See also: JSON · Variable

Appears in: JS 101, chapter 8

Operator

A symbol that calculates or compares, for example +, * or ===.

In more detail

Calculating: + - * /, % (remainder), ** (power), ++ (plus one). Comparing: === !== < >. Combining: && (and), || (or), ! (not).

Parameter and argument

What a function takes in. The parameter is the placeholder, the argument the real value when calling it.

In more detail

In function greet(name), name is the parameter. When calling greet("Mikey"), "Mikey" is the argument. Several are separated by commas.

See also: Function · Return value

Appears in: JS 101, chapter 5

Promise

A promise: “The result will come later.” For example a server's answer.

In more detail

A promise is pending at first and is then fulfilled or rejected. fetch returns a promise. You wait for the result with await or .then().

See also: async / await · fetch

Appears in: JS 101, chapter 9

Property

A named value in an object, for example name or points.

In more detail

Read with a dot: user.name. With square brackets when the name is stored in a variable: user[field]. New properties can simply be assigned.

See also: Object

Appears in: JS 101, chapter 8

Return value

The result a function gives back.

In more detail

return ends the function and gives back a value you can store or display. Without return, a function gives back undefined.

Single source of truth

Every piece of information lives in only one place. Everything else looks it up there.

In more detail

If the same value lives in two places, sooner or later they drift apart. With one source, a single change is enough and all displays are correct again.

See also: State · CSS variable

Appears in: JS 101, chapter 10

Spread (...)

Three dots that unpack the contents of an array or object, for example to copy it.

In more detail

const copy = { ...user, points: 400 }; copies all properties and overwrites one. With arrays: [...list, "new"].

See also: Destructuring · Object

Appears in: JS 101, chapter 8

State

Everything a program remembers right now: points, whether dark mode is on, which page is open.

In more detail

Good practice: the state lives in one place (single source of truth) and the display is built from it. If it should survive a restart, you store it, for example in localStorage.

String

A piece of text in quotes, for example "Hello".

In more detail

Strings sit in "…", '…' or backticks `…`. "5" is text, 5 a number, which makes a difference when calculating and comparing.

Synchronous and asynchronous

Synchronous: one after another. Asynchronous: something takes time and the rest carries on.

Line 1
task takes time
line 3 already runs
In more detail

With setTimeout or fetch, JavaScript does not wait; it carries on and handles the answer later. That is why a later line can be printed earlier. async/await makes such code readable.

See also: async / await · Promise

Appears in: JS 101, chapter 9

Template string

Text in backticks into which you can insert values: `Hello ${name}!`.

In more detail

In ${ } you can put any expression, including calculations. Template strings may also span several lines.

See also: String

Appears in: JS 101, chapter 5

try / catch

Try something and catch a possible error instead of everything stopping.

try: attempt
Error?
catch: respond kindly
In more detail

The try block holds code that can go wrong, such as fetch without internet. If an error happens, JavaScript jumps to the catch block, where you show a friendly message.

See also: async / await · fetch

Appears in: JS 101, chapter 9

Variable

A labelled container for a value, for example points with the value 10.

let points
value: 10
In more detail

let creates a variable that may change, const one that stays the same. Do not use the old var any more. The value always has a data type, for example number or text.

See also: Data type · Object

Appears in: JS 101, chapter 2

Internet32 terms

How a page gets onto the internet and which services help.

Account and sign-in

A personal login with email and password so a service knows who you are.

In more detail

When you register, a confirmation email usually arrives. A good service only stores passwords in encrypted form; if you forget one, you reset it via a link by email.

Brevo

The mail service through which mykeyz.ch sends confirmation emails.

In more detail

Supabase hands the emails to Brevo via SMTP, and Brevo sends them from no-reply@mykeyz.ch. For this to work, there is a DKIM record in the domain's DNS.

See also: Sending email (SMTP) · DKIM

As of 11.2026

Browser

The program that reads and displays web pages, for example Edge, Chrome or Firefox.

In more detail

The browser fetches the files of a page, reads HTML, CSS and JavaScript and builds the picture on the screen from them. In the letter comparison, it is the postman who finds the way to the house using the address.

Cache

A temporary store: the browser keeps files so it does not have to load them again every time.

In more detail

The browser loads an external CSS file once and then takes it from the cache, which makes pages faster. Sometimes that is why you only see a change after reloading. A service worker has its own cache for offline use.

Database

An organised store for lots of data, for example accounts and posts of a community.

In more detail

Data sits in tables with rows and columns. Rules decide who may read or write which rows. The community on mykeyz.ch uses Supabase for this.

DKIMDomainKeys Identified Mail

A kind of seal for emails: it proves that an email really was sent on behalf of the domain.

In more detail

The mail service signs every email digitally. The recipient finds the matching check key via a DNS record of the domain. Without it, emails are more likely to end up in spam.

DNSDomain Name System

The address book of the internet: it translates a name like mykeyz.ch into the number of a server.

mykeyz.ch?
DNS: address book
number of the server
In more detail

Computers find each other by numbers (IP addresses), people remember names. At the domain provider you enter DNS records that say where the domain points and which service may send email for it.

See also: Domain · Server

Domain

The address of a website, for example mykeyz.ch. Like a house address.

In more detail

You rent your own domain from a provider, usually per year. There are also free addresses that belong to the provider, for example yourname.provider.something. For the domain to lead to the right server, DNS is needed.

Free address (subdomain)

A free address that belongs to a provider, for example yourname.provider.something.

In more detail

The front part is your name, the back part the provider's domain; this is called a subdomain. It is enough to start with. Your own domain costs something every year.

GitHub Pages

A free GitHub service that publishes websites from a code folder (repository).

In more detail

You need a GitHub account, and its conditions apply, including on minimum age. The address is a free GitHub address; your own domain can be connected to it.

Hosting

Your files sit on a server that runs around the clock so others can open the page.

Your folder
Upload
server at a service
everyone with the address
In more detail

A hosting service provides the server. To get started there are free offers such as Netlify or GitHub Pages: upload the folder, done. For mykeyz.ch, Vercel does this.

Hostpoint

The provider where the domain mykeyz.ch is registered and the DNS records are kept.

In more detail

Hostpoint records where the domain points (to Vercel) and which services may send email for it (Brevo). The site itself is not hosted there.

See also: Domain · DNS

As of 11.2026

Hotspot

A phone that opens its own Wi-Fi network that other devices can join.

In more detail

The devices are then on the same small network, even without an internet router. That is enough for local games via WebRTC.

See also: WebRTC

HTTPSHyperText Transfer Protocol Secure

The encrypted connection to a website. You can see it by the padlock next to the address.

In more detail

With HTTPS nobody on the way can read along or change anything. For this the server needs a certificate (SSL/TLS). Many hosting services such as Netlify set it up automatically. The padlock means “securely connected”, not “locked”.

See also: Server · Hosting

Appears in: HTML 101, chapter 10

Internet

A huge network of computers that are connected and exchange data.

In more detail

The web with its pages is only one part of it; email, games and video calls also run over the internet. Data travels in small packets from computer to computer until it arrives.

Local server

A small program that shows your folder like a website, but only on your device.

In more detail

The address is then, for example, http://localhost:8000. Some things (modules, service workers) only work with it. Live Server in VS Code is such a local server.

Manifest

A small file with the name, icon and colours of a web app. It makes the app installable.

In more detail

The file is usually called manifest.json and is linked in the head with <link rel="manifest">. It also states whether the app starts with or without the browser bar.

See also: PWA · JSON

Appears in: JS 101, chapter 12

Netlify

A hosting service where you drag a folder into the browser window and the site is online.

In more detail

HTML 101 shows the “Deploy manually” route. Netlify sets up HTTPS automatically. You need an account, and the provider's conditions apply.

See also: Hosting · Upload / deploy · HTTPS

Appears in: HTML 101, chapter 10

As of 11.2026

Offline-first

The idea: what you build should, where possible, also work without internet.

Everything in your own folder
service worker keeps it
works without a connection
In more detail

For this, fonts and libraries sit in your own folder instead of on other servers, and games are built as PWAs with a service worker. Advantage: it also works on the train, in the woods and if a service disappears.

See also: PWA · Service worker · Import map

Push notification

A message an app sends to the device even when it is not open.

In more detail

For web apps this runs through the service worker and needs the person's explicit permission. Use it sparingly: too many notifications are annoying.

See also: PWA · Service worker

Appears in: JS 101, chapter 12

PWAProgressive Web App

A website you can install like an app and that also works without internet.

Website
Manifest
Service worker
app on the phone
In more detail

A PWA needs a manifest (name, icon, how it starts) and a service worker that stores files for offline use. Many games and tools on mykeyz.ch are PWAs, in line with offline-first.

See also: Service worker

Appears in: JS 101, chapter 12

QR code

A square pattern that a camera can read as text, for example an address.

In more detail

A QR code holds far more characters than a barcode. It can be used, for example, to exchange connection details between two phones, entirely without internet.

See also: WebRTC

Roles and permissions

Who may do what: for example read, write or manage other posts.

In more detail

Instead of giving each person permissions one by one, they get a role, such as member, moderator or admin. The database checks with every request whether the role is allowed to do it.

Sending email (SMTP)Simple Mail Transfer Protocol

The way programs send emails, for example a confirmation email.

Program
mail service (SMTP)
inbox
In more detail

A mail service accepts the email via SMTP and delivers it. So it does not end up in spam, the domain must confirm that this service may send on its behalf (DKIM, via DNS).

See also: DKIM · Brevo · DNS

Server

A computer that is always on and delivers files or data to others, for example your website.

Someone opens the address
Internet
server sends the files
browser shows the page
In more detail

When someone opens your address, their browser asks the server for the files and the server sends them. Servers usually sit in data centres at a service. In the house comparison, the server is the plot the house stands on.

Service

A company or program that takes on a job for you, for example hosting or sending emails.

In more detail

Behind every service there are servers. Free plans have limits and conditions (for example a minimum age for an account); read them first, ideally with your parents. Using a service means trusting it with your data.

Service worker

A small background script that keeps a page's files so it works offline.

In more detail

The service worker sits between the page and the internet. It can answer requests from its cache when there is no connection. Many PWAs use the rule “network first”: load fresh when there is internet, otherwise the stored version.

See also: PWA

Appears in: JS 101, chapter 12

Supabase

A service for database and accounts. The community on mykeyz.ch is built on it.

In more detail

Supabase offers a database with rules about who may read and write what, plus sign-in with email and password. The region can be chosen, for example Zurich.

Upload / deploy

Getting the finished files onto the server so the new version is online.

Files
Deploy
new version online
In more detail

With Netlify you drag the folder into the window. With mykeyz.ch it is automatic: as soon as a change is on GitHub, Vercel rebuilds the site and puts it live.

See also: Hosting · Vercel · Netlify

Appears in: HTML 101, chapter 10

URLUniform Resource Locator

The full address of a page or file, for example https://mykeyz.ch/projects.html.

In more detail

A URL consists of protocol (https://), domain (mykeyz.ch) and path (/projects.html). After that there can be a jump target, such as #dom on this page.

See also: Domain · Path · HTTPS

Appears in: HTML 101, chapter 10

Vercel

The hosting service behind mykeyz.ch. Every change on GitHub goes live automatically.

In more detail

Vercel is connected to the GitHub repository. When a change arrives there, Vercel rebuilds the site and puts it live.

See also: Hosting · Upload / deploy

As of 11.2026

WebRTCWeb Real-Time Communication

A browser technology that lets two devices exchange data directly with each other.

Device A
QR code
Device B
In more detail

Normally everything goes through a server. With WebRTC the devices talk to each other directly, for example for games on the same Wi-Fi. First they have to exchange connection details; without internet this can be done via QR code, for example.

See also: QR code · Hotspot

Tools22 terms

Programs and ways of working for building and keeping things tidy.

Branch

A side branch in Git where you try something out without disturbing the main version.

In more detail

The main branch is usually called main. If the experiment works, you merge the branch back. Small projects often write directly to main so changes are visible straight away.

See also: Git · Commit

CCMS

A planning document: an idea is first written down and discussed before anything is built.

In more detail

A CCMS looks like a sheet on a drawing board, with tabs. It records what belongs and what does not, which questions are open and what has been decided. It contains no finished code.

CLICommand Line Interface

A program you control with typed commands instead of buttons.

You type a command
program works
answer as text
In more detail

The opposite is the GUI, the graphical interface with windows and buttons. CLI programs are fast, easy to automate and also run without a graphical interface. Examples: git, python, npm.

See also: Terminal · Git

Commit

A saved step in Git, with a short description of what changed.

In more detail

Every commit has an ID made of letters and numbers, for example 4f38655. With it you can find exactly this state again. Good commit messages say briefly what and why.

See also: Git · Push and pull

Concept map / assembly plan

A system or process as a picture, like assembly instructions: numbered steps, drawings, warnings.

In more detail

Pictures stick better than long texts. In the tutorials on mykeyz.ch the variant is called “assembly plan”, in the website's look. The little boxes in this glossary are small assembly plans.

See also: CCMS

Appears in: Your first website, chapter 1

Git

A program that remembers every version of your files. You can always go back.

Change
Commit
push to GitHub
In more detail

Every saved change is called a commit and gets a short description. All commits together form a project's history. Git runs on your computer; GitHub is a service that keeps Git projects on the internet.

GitHub

An internet service that stores and shares Git projects.

In more detail

On GitHub, repos are public or private. You can view changes in the app or in the browser, and other services such as Vercel can react to them. GitHub Pages can also publish websites.

See also: Git · GitHub Pages · Repository (repo)

As of 11.2026

Licence

The rules about what you may do with other people's code, pictures or fonts.

In more detail

If you use someone else's work, you must follow the licence, for example by naming the author or not selling it. For your own work you decide what others may do. The licence usually comes as a LICENSE file.

Markdown

A simple way to write formatted text with characters such as # for headings and ** for bold.

In more detail

Markdown files end in .md and stay readable even without a special program. GitHub and Obsidian display them nicely formatted.

MIT, GPL, CC BY-NC

Three common licences: MIT allows almost everything, GPL requires sharing the code, CC BY-NC forbids selling.

In more detail

MIT: use, change, sell allowed; keep the licence notice. GPL: anyone who passes it on must also release their own code under GPL; tricky for games you sell. CC BY-NC: share and adapt with attribution, but not commercially. Not legal advice.

See also: Licence · Open source

Notepad++

A free editor for Windows that shows code in colour.

In more detail

It is a good step up from Notepad: light, fast and with syntax highlighting. As with any program, get updates only from the official site; for children, parents decide on them.

See also: Editor · Syntax highlighting

Appears in: HTML 101, chapter 2

As of 11.2026

Obsidian and vault

A note-taking program for Markdown files. The folder with all notes is called a vault.

In more detail

Notes can be linked with [[Name]]. The files are ordinary Markdown files on your own device, with no cloud required. With Git, the vault can be synced between PC and phone.

See also: Markdown · Git

As of 11.2026

Open source

The source code is open: everyone may look at it, use it and usually change it too.

In more detail

Exactly what is allowed is in the licence. Many well-known tools are open source, for example Blender, Godot, three.js and Git. This fits scavenger mode: use what exists instead of building anew.

Prototype / MVPMinimum Viable Product

The smallest version of an idea that already works, just to try it out.

In more detail

A prototype does not have to look good. It answers a question, for example “Is this fun?” or “Does it run on a phone?”.

See also: Roadmap

Push and pull

Push sends your commits to GitHub, pull fetches the latest ones from there.

In more detail

When several people or devices work on the same repo, you first pull the latest state and then push your own changes. For mykeyz.ch, a push to GitHub automatically triggers the new version at Vercel.

See also: Commit · GitHub · Upload / deploy

Repository (repo)

A project folder whose whole history Git keeps.

In more detail

A repo contains the files and all commits. It can live only on your computer or also on GitHub.

See also: Git · GitHub

Roadmap

A plan in stages: what comes first, what next and when something is done.

In more detail

Every stage has a goal and a test that shows it has been reached. That keeps a big project manageable. Game-Design 101 starts with a roadmap too.

See also: CCMS · Prototype / MVP

Scavenger mode

The rule: first look at what already exists and reuse it.

In more detail

Before building something new, you look for free tools, libraries or your own older parts. That saves time and mistakes. Important: check the licence.

See also: Open source · Licence

Tabs instead of scrolling

Long pages are split into tabs, and only one is visible at a time.

In more detail

Many people read on a phone or without a mouse wheel. Tabs make long content manageable, and a link can open a specific tab directly. When printing, they all appear one below the other.

See also: Responsive

Terminal

A window where you type commands instead of clicking with the mouse.

In more detail

On Windows it is called, for example, PowerShell or Command Prompt; on Mac and Linux, Terminal. In it you start programs with text, such as a local server or Git. Not to be confused with the console in the browser, where JavaScript runs.

See also: CLI · Git · Local server

Version (v0.001)

A number for every edition of a file. For example: v0.001, v0.002 and so on.

In more detail

A proven rule: never overwrite, always create a new version. That way you can always go back to the last good edition. For notes Git does this; for pages and code the number is in the file name.

See also: Git · Commit

VS Code and VSCodium

A popular code editor with colours, suggestions and extensions.

In more detail

VS Code is made by Microsoft and is free. VSCodium builds the same open source code without Microsoft's branding and telemetry. Extensions such as Live Server make work more comfortable.

See also: Editor · Live Server · Open source

Appears in: HTML 101, chapter 2

As of 11.2026

AI14 terms

Language models, local AI and how to connect them to programs. A lot changes here, which is why many entries carry a date.

AI language model (LLM)Large Language Model

A computer program that has learned from huge amounts of text to understand language and write text.

Prompt
model computes
answer
In more detail

An LLM predicts piece by piece which text fits best. It can explain, translate and write code, but it can also be wrong. So check results, especially facts and numbers. Examples: Claude, Gemma.

See also: Prompt · Token · Local model

As of 11.2026

API key

A secret password for programs that lets them use a service.

In more detail

Whoever has the key can act on the owner's behalf and often run up costs. So: never put it in chats, screenshots or public code; keep it only where the service intends. If one is leaked, create a new one immediately.

See also: API · Connector

Connector

A set-up connection between an AI and an app, for example to Gmail or GitHub.

In more detail

A connector usually uses MCP. You sign in once and allow access; after that the AI can read or act in this app. What it may do is set when connecting, and you can disconnect at any time.

See also: MCP · API key

As of 11.2026

Gemma

A family of AI models from Google that you can download and run locally.

In more detail

Gemma comes in different sizes; smaller ones also run on ordinary PCs. One example is Gemma 4 E4B. Google's terms apply to its use.

See also: Local model · AI language model (LLM)

As of 11.2026

LM Studio

A program with an interface for downloading and using AI models on your own PC.

In more detail

You choose a model, load it and chat. With “Serve on Local Network”, other devices on the home network can access it too, such as a phone. It is free but not open source; read the provider's terms.

See also: Local model · Ollama · Tailscale / VPN

As of 11.2026

Local model

An AI model that runs on your own computer instead of at a service on the internet.

Your PC
model in VRAM
answer without internet
In more detail

Advantages: works offline, the data stays at home. Disadvantages: needs a strong graphics card with enough VRAM, and small models are less capable than large ones in a data centre. Programs for this include LM Studio and Ollama.

See also: LM Studio · Ollama · VRAM

MCPModel Context Protocol

A shared language for connecting an AI to programs and data.

AI (Claude)
MCP server
program, e.g. Supabase
In more detail

MCP is an open standard introduced by Anthropic in 2024. An MCP server offers tools, for example “read table” for a database, and the AI calls them. Like an interpreter who understands both sides. This is how an AI such as Claude can reach Supabase or Vercel, for example.

See also: Connector · API · AI language model (LLM)

As of 11.2026

Ollama

A program that runs AI models locally, mainly from the terminal.

In more detail

A model starts with one command; other programs talk to Ollama through an API. To let other devices on the network access it, set OLLAMA_HOST=0.0.0.0. Ollama is open source.

See also: Local model · LM Studio · CLI

As of 11.2026

Prompt

The instruction or question you write to an AI.

In more detail

The clearer the prompt, the better the answer: what should be made, for whom, in what form, with which example. You can follow up and refine, as in a conversation.

Skill

A folder of instructions an AI reads for a certain kind of task, for example for a particular document style.

In more detail

A skill contains a SKILL.md file with rules, sometimes also templates or scripts. That way the AI works to the same standards every time without everything having to be explained again.

See also: System prompt · CCMS

As of 11.2026

System prompt

A basic instruction an AI receives before every conversation, for example its role and rules.

In more detail

The system prompt sets tone, task and limits. It can say, for example, that building only starts after approval. It pays to store system prompts with version numbers.

See also: Prompt · Skill

Tailscale / VPN

A private network over the internet: your devices find each other as if they were on the same Wi-Fi at home.

Phone on the go
encrypted tunnel
PC at home
In more detail

A VPN connects devices with encryption. Tailscale sets this up without router settings. That way your phone can reach the AI model on your PC at home while you are out. There is a free plan for individuals.

See also: Local model · LM Studio

As of 11.2026

Token

A small piece of text that a language model works in, often part of a word.

In more detail

Models read and write tokens instead of letters. How much a model can take in at once and what a service costs are often measured in tokens. Not to be confused with an access token, a kind of password.

VRAMVideo RAM

The memory on the graphics card. Local AI models and 3D programs need a lot of it.

In more detail

A model runs fastest when it fits entirely into VRAM. With 8 GB of VRAM, smaller models run well; large ones only in reduced form or slowly. That is why the choice of model often depends on the graphics card.

See also: Local model

Games37 terms

Terms from game design and from the code of games. Many come from Game Design 101.

Action

What the player does: walk, jump, pick a card.

In more detail

Every action needs clear feedback, otherwise the player does not know whether it worked.

See also: Game mechanic · Feedback

Appears in: Game Design 101

Canvas

A drawing surface in the browser that JavaScript paints on frame by frame.

In more detail

In HTML with <canvas>. In Game-Design 101 it is 320 × 180 points and is redrawn for every frame. Good for 2D games.

See also: Draw · Sprite

Appears in: Game Design 101

Collision

Two things touch, for example a character and a coin.

In more detail

The game usually checks it via distances or overlapping rectangles (hitboxes). Then a rule decides what happens: collect, bounce, lose a life.

See also: Hitbox · Tunnelling

Appears in: Game Design 101

Core loop

The small loop you play again and again in a game: act, see the result, get feedback.

Action
Consequence
Feedback
In more detail

Example platformer: jump, land or fall, coin chimes. If the core loop is fun, it carries the whole game. That is why you test it first with a prototype.

Decision

A choice where no option is always the best.

In more detail

Real decisions have pros and cons on both sides. If one choice is always right, it is not a decision, just one more click.

See also: Strategy · Resource

Appears in: Game Design 101

Difficulty

How much skill a game demands. It often depends on just a handful of numbers.

In more detail

Speed, gravity, number of enemies, time limit: these are dials. Small changes have a big effect. That is why you test with real players, not just yourself.

Draw

The step in the game loop that paints the picture. It changes nothing in the game state.

In more detail

Separating calculation (update) and drawing (draw) makes mistakes easier to find: if the game state is right but the picture is not, the problem is in drawing.

See also: Game loop · Hook

Appears in: Game Design 101

dt (delta time)

The time since the last frame, in seconds.

In more detail

If you move characters with speed * dt, they run equally fast on fast and slow devices. Without dt, a game would run twice as fast on a 120 Hz screen as on a 60 Hz one.

See also: Frame · Physics

Expected value

The average you get from many repetitions of a random event: chance times reward.

In more detail

Example: a half chance of 10 gold gives 5 gold on average. This lets you compare choices fairly before testing how they feel.

See also: Risk · Randomness

Appears in: Game Design 101

Fairness

The feeling that you lost because of your own mistakes and not because of the game.

In more detail

Things that feel unfair include invisible dangers, hitboxes that are too large or randomness that devalues skill. It feels fair when you can see what is coming and have time to react.

See also: Hitbox · Randomness · Flow

Appears in: Game Design 101

Feedback

How the game shows what the player did: sound, light, number, shake.

In more detail

Good feedback is immediate, clear and matches the importance: a small hit sounds different from a win. Never use colour as the only signal; not everyone sees colours the same way.

See also: Juice · Action

Appears in: Game Design 101

Flow

The state of being completely absorbed in a task and forgetting the time.

In more detail

Flow happens when challenge and skill match. Too easy becomes boring, too hard frustrates. That is why difficulty rises slowly in good games.

See also: Difficulty · Fairness

Appears in: Game Design 101

Frame

A single picture of an animation. Usually about 60 per second.

In more detail

The number of frames per second is called the frame rate (FPS). If it drops, the game stutters. On weak phones it helps to draw less.

See also: dt (delta time) · Game loop

Appears in: Game Design 101

Game loop

The part of the program that does everything in turn about 60 times a second.

Input
Physics
Rules
Draw
In more detail

Each pass: read input, compute physics, check rules, draw the picture. Each pass produces one frame. In code this usually happens with requestAnimationFrame.

See also: Frame · Hook · dt (delta time)

Appears in: Game Design 101

Game mechanic

An action the game understands and responds to, for example jumping or collecting.

In more detail

Mechanics are a game's verbs. A few good mechanics that work well together are usually better than many half-finished ones. The core loop grows out of them.

See also: Core loop · Action

Appears in: Game Design 101

Genre

The kind of game, for example platformer, puzzle, strategy or role-playing game.

In more detail

The genre is the first decision because it shapes almost everything else: controls, pace, rules. Genres can be mixed; serious topics have a place in games too.

See also: Game mechanic · Setting · Tech stack

Appears in: Game Design 101

Hitbox

The invisible area that counts for hits. Usually a little smaller than the picture.

In more detail

If the player's hitbox is a little smaller than the character, near misses feel fair. For testing, hitboxes are often drawn visibly.

See also: Collision · Fairness

Appears in: Game Design 101

Hook

A place in the game loop where your own code is hooked in.

In more detail

In Game-Design 101 they are called setup, input, physics, update and draw. That keeps it clear which code runs when.

See also: Game loop · Draw

Appears in: Game Design 101

HUDHead-Up Display

The display on top of the game picture: lives, points, time, map.

In more detail

A good HUD only shows what matters right now and does not cover the action. On a phone it must stay readable even with a thumb in front of it.

See also: Feedback · UI template

Information

Knowledge about the game state or the future, for example what is behind the next door.

In more detail

Information can often be traded for resources, such as paying a scout. What the player knows and does not know changes the whole feel of the game.

See also: Strategy · Resource

Appears in: Game Design 101

Juice

Small effects such as sparks, shakes and sounds that make an action feel good.

In more detail

Juice changes nothing about the rules but a lot about the feel. Too much becomes tiring; best used in measured doses and with an off switch.

See also: Feedback · Particles

Appears in: Game Design 101

Level

A section of a game with its own layout and goal.

In more detail

Level design means: introduce new ideas, let players practise, then combine them. Levels are often stored as data (for example JSON), not as code, so they are easy to change.

See also: Difficulty · JSON

Multiplayer

Several people play together or against each other.

In more detail

On the same device it is easiest. Across several devices they must exchange data, via a server or directly (WebRTC). Offline multiplayer can connect phones via QR code without internet, for example.

See also: WebRTC · Hotspot

Parameter (dial)

A number that controls behaviour, for example speed or gravity.

In more detail

In Game-Design 101 you can change them live with sliders and see immediately what happens. That is how you find the values that feel right.

Particles

Lots of small bits for effects such as sparks, smoke or rain.

In more detail

Each particle has position, speed and lifetime. Together they form an effect. Many particles cost computing time, so use them sparingly on phones.

See also: Juice · Effect / VFX

Physics

Rules for movement such as gravity, jumping and landing. Usually heavily simplified in games.

In more detail

A jump is often just: set an upward speed, subtract a little gravity every frame, stop at the ground. For real bouncing and pushing, you use a physics engine.

Randomness

What cannot be predicted, for example a dice roll.

In more detail

Randomness provides surprise and makes every round different. Too much of it makes skill worthless. In code, Math.random() provides random numbers.

See also: Risk · Fairness

Appears in: Game Design 101

Resource

Something scarce that you spend: gold, supplies, time, lives.

In more detail

Because resources are scarce, decisions arise: spend now or save? Good games offer several sensible ways to use a resource.

See also: Decision · Strategy

Appears in: Game Design 101

Risk

A choice with an uncertain outcome.

In more detail

Two choices can bring the same on average and still feel completely different: a little for sure, or maybe a lot. Players like both, depending on the situation.

See also: Randomness · Expected value

Appears in: Game Design 101

Rubber banding

A help that keeps the field together: whoever is behind gets advantages.

In more detail

Known from racing games: those at the back get better power-ups, those in front are slowed down. It keeps games exciting but can feel unfair if it is too strong.

See also: Difficulty · Fairness

Appears in: Game Design 101

Setting

Where and when a game takes place, for example on a pirate ship or in a future city.

In more detail

The setting determines pictures, sounds and language. It can explain a mechanic: on the ship the floor sways, in the forest it is dark.

See also: Genre · Storytelling

Appears in: Game Design 101

Sprite

A flat picture in 2D games, for example the player character.

In more detail

For animations, several pictures sit side by side on a sprite sheet (atlas). The game shows them in turn. An atlas saves loading time because the browser fetches only one file.

See also: Canvas · Asset

State machine

A game in phases, for example menu, game and end. Exactly one is always active.

Menu
Game
End
In more detail

Each phase has its own rules and transitions: “game” becomes “end” at zero lives, “end” becomes “menu” again with a button. Characters often have states too, such as stand, run, jump.

See also: State · Game loop

Appears in: Game Design 101

Storytelling

Telling a story that grips the player and gives them a reason to keep playing.

In more detail

Many games have hardly any story, and that is fine. Where there is one, the surroundings often tell it too: a broken window, a note. A good ending may be short.

See also: Setting

Appears in: Game Design 101

Strategy

A plan over several moves to reach a goal.

In more detail

Strategy needs information and real decisions. If there is only one best way, strategy turns into memorisation.

See also: Decision · Information

Appears in: Game Design 101

Tech stack

The tools and programs a game is built with.

In more detail

For example HTML canvas and JavaScript for small browser games, three.js for 3D in the browser, Godot for bigger games. The choice depends on the target device and on what the team knows.

See also: Canvas · three.js · Godot

Appears in: Game Design 101

Tunnelling

A bug: a fast object flies through a thin wall because collisions are only checked once per frame.

Frame 1: before the wall
no check in between
Frame 2: already behind
In more detail

In one frame the ball is in front of the wall, in the next already behind it; there never was a touch. Fixes: compute smaller steps, thicker walls or check the path between two frames.

See also: Collision · Frame

Appears in: Game Design 101

3D and AR31 terms

3D graphics, models, images and augmented reality.

3D printing

A printer builds a real object layer by layer out of plastic.

In more detail

For this a 3D model is cut into layers (slicer) and saved as a print job. Unlike in games, the model must be closed and thick enough. This way a drawing can become a printed object, for example.

See also: Mesh · Blender

8th Wall

A WebAR technology that recognises rooms in the browser, without Google services.

In more detail

Niantic's platform was shut down; since 2026 the framework has been open source (MIT). Room recognition is only available as an unmodifiable binary file with its own licence: do not modify, credit Niantic Spatial, no competing product, revocable. Not legal advice.

See also: SLAM · AR (augmented reality) · MIT, GPL, CC BY-NC

As of 11.2026

Animation (3D)

Movements of a 3D character, for example walk, jump, wave.

In more detail

You set key poses on a timeline and the program fills in between, much like CSS keyframes. In Blender, saved movements are called actions; in the GLB they travel into the game.

AR (augmented reality)

Augmented reality: 3D things appear in the camera picture as if they were really in the room.

Camera
SLAM finds the table
3D object in the room
In more detail

For this the phone must understand where floor and table are and how it is moving (SLAM). In the browser this works with WebXR or libraries such as 8th Wall. An AR murder mystery can, for example, turn your own table into a crime scene.

See also: SLAM · WebXR · Marker

ARCore

Google's AR technology for Android (“Google Play Services for AR”).

In more detail

ARCore detects surfaces and motion very well but requires Google services on the phone. Unity AR Foundation, Godot AR and WebXR on Android build on it.

See also: WebXR · SLAM

As of 11.2026

Blender

A free program for modelling, painting, animating and rendering in 3D.

In more detail

Blender is open source (GPL). What you create with it belongs to you. For web games you often export GLB files from it; add-ons such as Rigify help with the skeleton.

See also: GLB / glTF · Rigging (Rigify) · Polygon and low-poly

As of 11.2026

Camera

The eye through which you look into the 3D scene.

In more detail

The camera has position, viewing direction and field of view. When it moves, the world feels alive. In AR, the real phone camera takes on this role.

dispose (cleaning up)

Freeing memory again when a 3D object is no longer needed.

In more detail

Geometries, materials and textures take up memory on the graphics card. Removing them from the scene leaves them there. dispose() cleans up; otherwise the game gets slower over time.

See also: VRAM · three.js

Geometry

The shape of a 3D object made of points and triangles, for example a cube or a sphere.

In more detail

three.js comes with simple shapes; complex characters are modelled in Blender and loaded as GLB.

See also: Mesh · GLB / glTF

GIMP

A free image editing program, similar to Photoshop.

In more detail

GIMP is open source (GPL). You use it to edit photos, paint textures or build interfaces for games. A tutorial can be an asset pack too, for example for game interfaces with GIMP.

See also: UI template · Open source

As of 11.2026

GLB / glTF

A file format for 3D models that browsers and game engines understand well.

Blender
figur.glb
three.js or Godot
In more detail

glTF is an open standard. GLB is the same thing in a single file, with shapes, materials, textures and animations. Blender exports it; three.js and Godot load it.

See also: Blender · Godot · three.js

Godot

A free game engine for 2D and 3D games.

In more detail

Godot is open source under MIT, with no licence fees. It is usually programmed in GDScript, a Python-like language. Games can be exported for PC, phone and web.

See also: GLB / glTF · Tech stack

As of 11.2026

Gyroscope (3DoF)

The orientation sensor in the phone. It notices how you turn it.

In more detail

3DoF means three degrees of freedom: only rotating, not moving. A 3D scene can turn along with the phone, but things do not stay fixed on the table. A simple fallback when SLAM does not work.

Image to 3D (Modly, TripoSG)

AI tools that turn a picture into a rough 3D model.

In more detail

TripoSG is an open model for this (code and weights under MIT), Modly an interface for using such models on your own PC. The result usually needs touching up in Blender. Expect to need about 8 GB of VRAM. Check the licence of each tool.

See also: Local model · Blender · VRAM

As of 11.2026

Marker

A printed picture that AR anchors itself to.

In more detail

When the camera recognises the marker, it knows exactly where and how big the 3D object should appear. It is simple and works almost everywhere but needs the printout. Libraries: MindAR, AR.js.

Material

The surface of a 3D object: colour, shine, roughness.

In more detail

A material can carry a texture and decides how light is reflected. Some materials need no light and glow by themselves, which is cheap to compute.

See also: Texture · Shader · Mesh

Mesh

A visible 3D thing: a shape (geometry) with a surface (material).

Geometry
Material
Mesh
In more detail

A mesh is made of many small triangles. More triangles means a finer shape but more computing work. That is why there are low-poly models for phones.

Physics engine

A library that calculates gravity, pushing and bouncing realistically.

In more detail

Instead of programming every movement yourself, you give bodies mass and shape, and the engine does the maths. In the toolkit concept this is cannon-es. More bodies means more computing time.

See also: Physics · Collision

Pixel

A single picture dot. A screen consists of millions of them.

In more detail

In CSS a pixel is a unit of measurement, not a real light-emitting dot: phones with many real dots combine several into one CSS pixel. Pixel art uses visible, large pixels as a style.

PNG and SVG

Two image formats: PNG stores pixels, SVG stores shapes as text.

In more detail

PNG suits photos with transparency and pixel graphics; enlarged, it becomes blurry. SVG describes lines and areas and stays sharp at any size, ideal for icons such as the pictograms here. JPG is for photos without transparency.

Polygon and low-poly

Polygons are the flat faces of a 3D model. Low-poly means: few of them, a simple look.

In more detail

Fewer polygons run faster, especially on phones and in AR. Low-poly is also a style in its own right. Asset packs often come in low and HD versions.

See also: Mesh · Low and HD

Projection (painting)

Throwing a picture onto a 3D model like a projector and keeping it as a texture.

In more detail

That way a model quickly gets a paint job matching the original picture. Tools for this are Blender itself or add-ons such as StableProjectorz. Hidden areas need further views or manual work.

See also: Texture · Blender

Renderer

The painter that turns the scene into a picture from the camera's view, anew for every frame.

In more detail

In the browser it usually uses WebGL and therefore the graphics card. The more objects, light and effects, the more work per frame.

See also: Scene · Camera · Shader

Resolution

How many pixels wide and high a picture is, for example 1920 × 1080.

In more detail

Higher resolution shows more detail but needs more memory and loading time. For the web it pays to save pictures no larger than necessary. An itch cover is 630 × 500 pixels.

See also: Pixel · PNG and SVG

Rigging (Rigify)

Giving a 3D character a skeleton so it can move.

In more detail

The skeleton (rig) consists of bones, and every part of the mesh is attached to certain bones. Rigify is a Blender add-on that generates a finished human skeleton from a template.

See also: Animation (3D) · Blender

Scene

The stage in 3D: everything that gets drawn, with light and background.

In more detail

Objects are added to the scene and can be nested: a wheel hangs on the car and moves with it. Without light, most materials cannot be seen.

See also: Camera · Mesh

Shader

A small program the graphics card runs for colours and effects.

In more detail

Shaders run for every point or pixel at the same time and are therefore very fast. They create water, glow or a comic look. They are written in their own language (GLSL).

See also: Material · Renderer · VRAM

SLAMSimultaneous Localization and Mapping

From the camera picture, the phone works out the room and its own position in it at the same time.

In more detail

SLAM tracks distinctive points from frame to frame and builds a map from them. It is computationally heavy and jerky on older phones. Without ARCore, SLAM in the browser is available, for example, from 8th Wall or AlvaAR.

Texture

A picture stuck onto a 3D shape, for example wood grain.

In more detail

How the picture fits onto the shape is set by the UV unwrap, like a flattened cardboard box. Large textures cost memory, so often 1024 or 2048 pixels rather than more.

See also: Material · Resolution

three.js

A JavaScript library for 3D graphics in the browser.

Scene
Camera
renderer draws
picture in the browser
In more detail

three.js takes a lot of work off your hands: scene, camera, light, loading models. It is open source under MIT. Kept in its own folder, for example vendor/, games run offline too.

See also: Scene · Renderer · Import map

WebXR

The browser interface for AR and VR.

In more detail

WebXR uses whatever the device provides. On Android it needs ARCore, meaning Google services. On iPhones support is limited. That is why it is worth looking at ways without ARCore.

See also: ARCore · AR (augmented reality) · SLAM

As of 11.2026

Hardware23 terms

Microcontrollers, firmware and radio without internet.

Arduino

Hobby boards and a program for programming microcontrollers easily.

In more detail

With the Arduino environment you write programs (sketches) in C++ and upload them to the board via USB. Many other boards, including the ESP32, can be programmed this way.

Baud rate

How fast data flows over a cable connection, in symbols per second.

In more detail

Both sides must use the same baud rate, otherwise you get gibberish. Higher is faster, but not every cable manages every rate. Common values are 115200 or higher for flashing.

See also: Flashing · M5Burner

Bluetooth

A short-range radio connection, for example between a phone and a device.

In more detail

With the Mesh Kit, the Meshtastic app connects to the node via Bluetooth; the first time, you enter a PIN shown on the screen. The range is a few metres.

See also: Meshtastic · ESP32

Boot mode

A special start-up state in which a device accepts new firmware.

In more detail

On the ESP32 you usually hold a button (G0 or BOOT) while plugging in the cable. For the Mesh Kit, the guide says: cap off, switch off, hold G0, plug in USB.

See also: Flashing · ESP32

Channel

A group in the radio network. Only those who know the channel can read the messages in it.

In more detail

In Meshtastic every channel has a name and a key. The default channel is public; for private conversations you create your own and share the key only with the right people, never publicly.

See also: Meshtastic · Node

Duty cycle

The maximum share of time a device may transmit, for example 10 % per hour.

In more detail

The limit keeps a band free for everyone. In the sub-band used by Meshtastic it is 10 %. Anyone who sends too much is slowed down by the node.

ESP32

A popular, inexpensive microcontroller with Wi-Fi and Bluetooth.

In more detail

There are many variants. The M5Stack Cardputer contains an ESP32-S3. It is programmed, for example, with Arduino or PlatformIO in C++.

Firmware

The program that runs permanently on a device, for example on a microcontroller.

In more detail

Firmware is not installed like an app but written onto the chip (flashed). New firmware replaces the old one completely. So know beforehand how to get back to the old one.

Flashing

Writing firmware onto a device, usually via USB cable.

PC with flashing tool
USB, boot mode
new firmware
In more detail

Often the device has to be in a boot mode for this; on the Cardputer, hold the G0 key while plugging in. Tools: M5Burner, Arduino, PlatformIO or a project's web flasher. Do not pull the cable while flashing.

See also: Firmware · M5Burner · Boot mode

Frequency band (EU_868)

The range of radio waves a device may transmit in. In Europe and Switzerland, around 868 MHz for LoRa.

In more detail

In Meshtastic the region is called EU_868; the device sets the frequency itself (869.4 to 869.65 MHz). The region must be right, otherwise you transmit on a frequency that is not allowed.

GPIOGeneral Purpose Input/Output

Pins on a microcontroller that you can freely use as inputs or outputs.

In more detail

An output switches an LED, for example; an input reads a button. The pins only tolerate small currents and voltages; motors need their own circuit.

See also: I2C · SPI · Microcontroller

Hop

One pass of a message from one node to the next.

In more detail

In Meshtastic, 3 hops are the default, at most 7. More hops reach further but load the network because every relay costs airtime.

See also: Node · Duty cycle

I2CInter-Integrated Circuit

A two-wire connection a microcontroller uses to talk to sensors.

In more detail

Several devices hang on the same two lines, each with its own address. Slower than SPI but economical with pins. Typical for temperature or orientation sensors.

See also: SPI · GPIO

LoRaLong Range

A radio technology that sends small messages very far, using little power.

In more detail

LoRa is slow, but depending on the terrain a signal can reach kilometres. Just right for text messages without a mobile network. In Europe it transmits in the band around 868 MHz.

M5Burner

An M5Stack program for flashing ready-made firmware onto their devices in a few clicks.

In more detail

Choose the firmware, select device and port, set the baud rate, “Burn”. For the Mesh Kit, 1500000 is given as the baud rate. It needs an internet connection to download firmware.

See also: Flashing · Baud rate

As of 11.2026

M5Stack Cardputer

A small pocket computer the size of a card, with keyboard, screen and ESP32-S3.

In more detail

The Cardputer runs custom firmware projects, for example loading animations. With a LoRa module it can become a Meshtastic device. M5Stack is the company that makes such modules.

See also: ESP32 · Firmware · Meshtastic

As of 11.2026

Meshtastic

A free project that lets LoRa devices form their own messaging network, entirely without internet.

Phone (Bluetooth)
Node A
node B relays
Recipient
In more detail

Each device (node) passes messages on until they arrive. It is controlled with an app via Bluetooth or directly on the device. Messages are short, about 200 bytes.

See also: LoRa · Node · Hop

As of 11.2026

Microcontroller

A tiny computer on a chip that controls one job, for example lights, sensors or a small screen.

In more detail

A microcontroller has no big operating system. It runs exactly one program, the firmware, and starts in an instant. It needs little power and runs well on a battery. Examples: ESP32, Arduino boards.

See also: ESP32 · Firmware · Raspberry Pi

Node

A device in a network that sends, receives and passes on messages.

In more detail

In the Meshtastic network every radio is a node. The more nodes are spread out, the further the network reaches.

See also: Meshtastic · Hop

Off-grid

Independent of the power grid and the internet: it also works in the woods or during an outage.

In more detail

With a battery, LoRa and local software, devices stay usable when the network is gone. It is the hardware side of offline-first.

See also: Offline-first · LoRa · Meshtastic

Raspberry Pi

A small, full computer on a board, usually running Linux.

In more detail

Unlike a microcontroller it has an operating system and can run many programs at once, such as a server. In return it needs more power and takes longer to start.

See also: Microcontroller · Server

SPISerial Peripheral Interface

A fast connection between a microcontroller and parts such as screens or memory cards.

In more detail

SPI needs more wires than I2C but is much faster. Each device gets its own select line.

See also: I2C · GPIO

Transmit power (dBm)

How strongly a radio transmits. Given in dBm.

In more detail

In the 869.4 to 869.65 MHz sub-band up to 27 dBm is allowed, which is half a watt. Meshtastic's default setting fits; do not raise it by hand. More range often comes from a better location or a better antenna.

Assets18 terms

Building blocks for games and how to publish and sell them.

Asset

A ready-made building block for games or apps: picture, 3D model, sound, font or effect.

In more detail

Assets are separate from code. That way you can swap graphics or sound without changing the program. Every third-party asset comes with its licence.

See also: Asset pack · Licence

Asset pack

A collection of matching assets to download, often for sale.

Assets
ZIP and licence
itch.io
In more detail

A pack typically contains: a ZIP with the files, a cover, a description and a licence file. Examples from the LolZ brand: Halloween props, Escape Lab props, game UIs, the effect pack “Magic and Sparks”.

See also: Asset · itch.io · Licence file

Bundle

Several products together at a lower price.

In more detail

For example the low and HD versions of a pack, or two matching packs. Buyers save, and sellers sell more at once.

Cover and hero image

The pictures a product uses to catch attention in a shop.

In more detail

On itch.io the cover is the small preview image (630 × 500 pixels), the hero image the large picture at the top of the page (1920 × 1080). Both should show at a glance what is inside.

See also: itch.io · Resolution

Effect / VFX

Visible effects such as sparks, glitter, explosions or spells.

In more detail

VFX stands for visual effects. They usually consist of particles or sprite animations. The pack “Magic and Sparks”, for example, contains 10 child-friendly effects.

See also: Particles · Juice · Asset pack

Icon / icon set

A small symbol, for example for battery, radio or menu. A set is many in the same style.

In more detail

Good icons are still clearly recognisable when small. As SVG they stay sharp; for small screens like the Cardputer they are often converted to pixel graphics.

itch.io

An online marketplace for independent games and assets.

In more detail

There you can offer games and packs for free, at a fixed price or as “pay what you want”. The packs on mykeyz.ch appear under the LolZ brand. itch.io's terms apply to sales.

See also: Asset pack · PWYW (pay what you want) · Ko-fi

As of 11.2026

Ko-fi

A platform through which fans can support creators with small amounts or buy from them.

In more detail

The name comes from “buy someone a coffee”. Besides donations there is also a shop. A possible place alongside itch.io and mykeyz.ch.

See also: itch.io

As of 11.2026

Licence file

A text file in the package that says what buyers may do with the files.

In more detail

It is usually called LICENSE.txt or LIZENZ.txt and belongs in every pack. If the package contains third-party parts, their licences are added, for example in a folder of third-party licences.

Loading animation

A small movement that shows: it is loading, please wait.

In more detail

It is reassuring while you wait and shows that the device has not frozen. They can also be rendered as GIFs for previews.

Low and HD

Two versions of the same asset: low for weak devices, HD for nice close-ups.

In more detail

Low has fewer polygons and smaller textures and runs smoothly on phones. HD looks finer but needs more power. Both together are often cheaper as a bundle.

Props

Objects that furnish a scene: crates, lanterns, pumpkins, lab equipment.

In more detail

Props add a lot to the mood without changing the rules. 3D props often come in low and HD versions.

PWYW (pay what you want)

Pay as much as you want: buyers choose the price themselves, often with a minimum.

In more detail

PWYW lowers the barrier to trying something, and those who want to give more can. Some packs have a minimum, for example CHF 5.

See also: itch.io · Bundle

Rights holder

The person or company that owns a work and decides how it may be used.

In more detail

Whoever creates something is usually the rights holder. That is why licence files and code carry a copyright notice with name and year. Not legal advice.

SFXSound Effects

Sound effects: click, jump, coin, hit.

In more detail

Short sounds give instant feedback. You can record them, edit them with programs such as Audacity or generate them in code. Do not forget volume and a mute switch.

See also: Feedback · Juice

Trademark and trademark check

A trademark is a protected name or sign. Before using a new name, you check whether it already exists.

In more detail

A first check is a web search; more thorough are the trademark registers (swissreg in Switzerland, EUIPO in the EU, WIPO worldwide). If unsure, ask an expert. Not legal advice.

See also: Rights holder

UI template

A ready-made template for user interfaces: buttons, windows, displays.

In more detail

UI stands for user interface, the surface people operate. With a template you do not start from scratch. Templates exist, for example, for the Cardputer and for games (GIMP).

See also: HUD · Icon / icon set · GIMP

ZIP

A packed file that contains many files and folders and is smaller.

In more detail

ZIP files can be opened on any computer without extra software. Ideal for downloads: one file instead of a hundred. The folder structure inside is preserved.

See also: Asset pack

As of November 2026. Is a term missing or something unclear? I am happy to hear from you. All commands at a glance are in the cheat sheet.