no axis is the master. a piece belongs to several groupings at once.
the cube is the viewfinder, not the data. one look shows at most three dimensions.
sameness first. two alike pieces make a dimension; the same two differing make its options.
colour before vocabulary. a dimension may exist before it has a name; draw it as colour alone.
no base case. any piece can open as a cube.
zoom is a change of distance, not of kind. going into a piece and into an app is the same move.
empty is the point. unknown cells are pale or dashed, never gaps or errors. the ragged edge maps where attention has been.
the cube was always solved. nothing is wrong, scrambled or missing; only the way of seeing changes. no scores, streaks or red.
offer, never command. invitations, not instructions. discovery shows; it never concludes.
one vocabulary. a word means the same on every screen and in the code.
one name close up, many from afar. singular inside a piece, plural on the cube.
the reordering is the product. seeing the same pieces regroup is the value.
cube design is a cube too. it is grown with its own principles; what it learns about cubes it uses on itself.
understand once. find what is the same across domains and understand it once; the understanding carries into every new domain, and the differences then show at once. cube design is a design and an understanding at the same time.
each project speaks its own domain's words, and only those. a project uses the words its domain already has for its things (a notion database says row, column and option; a rubik's cube says cube, piece and face; space says X, Y and Z), and never mixes words from two domains in one place: a screen, a reply, a document about that project. a domain that has not found its own words yet (anlat) borrows the most basic ones (cube, piece) and replaces each one as soon as its own word is found. every project's words are mapped onto the words cube (11-words.md), so everyone still understands each other; a new domain maps its things first, then names them. (selim, 2026-10-29, refined the same day after the cubes app and its replies mixed rubik's, notion and code words.)
every piece of a cube has the same shape. as every row of a database has the same columns, every piece of a cube has every face and every inside its siblings have (earth has continents, so mars has continents too). where nothing is known, the place is still there, pale, and says so in the domain's own words: not known yet, to be discovered, not looked into yet (anlat: henüz bakılmadı). it is never left out. (selim, 2026-10-29, on the cubes app's mars.)
two journeys, and the other side only from afar. when A has many B and B has many A (a university and its professors, a mountain and its continents, a story and its feelings), the two directions are two journeys, not one way around: journey one and journey many. journey one goes close up, from one piece in (a piece › its face › its colours), and ends at a value: a tap puts it on the piece or takes it off, and it never opens. the other side (every piece with that value) is seen only on journey many, from afar, by turning the whole cube to that face (a cube opens this way, its names first); from there a piece opens close up again, on journey one. close up never leads out to afar, so going around happens on purpose and only one way, and zoom stays a change of distance. (selim, 2026-10-29, from how anlat escapes the loop; open question 12. named the same day: journey one and journey many; every other name for them is kept in 11-words.md.)
nothing found is thrown away. everything found about a cube is a piece of it: every name, suggestion, option and finding, the ones chosen and the ones not. when several compete, all are kept side by side and compared (what is the same about them, what differs, why each appeared), and each domain may use the one that helps it understand. choosing one for a screen or a project does not delete the others; an earlier word or decision stays, marked as earlier. in cube design everything is part of the cube. (selim, 2026-10-29, when the two journeys were named.)
mobile first, not mobile only. a cube is designed on a phone first, and it uses whatever room it is given: on a wide screen more pieces sit side by side and the text keeps a readable width. the viewer may also choose how close together the pieces sit (two or three across on a phone). (selim, 2026-10-29, on the cubes app.)
hide, never delete. a cube with many pieces can be too much at once. the viewer may hide a piece or a face they are not interested in now; it folds away under one quiet place at the end ("hidden", a working name) and comes back from there with one tap. hiding changes what one viewer sees, never the cube, and a face hidden on a cube is hidden on all its pieces, so they keep the same shape (16). the other way round (choosing what to show, everything else folded) is kept as a later idea. (selim, 2026-10-29.) hiding is also how something of yours is let go: there is no delete, only hiding, kept with your own things so it is hidden wherever you look, and on the one phone for what is not yours. (selim, 2026-10-30.)
every app says when it was last built. each application shows the date and time it was last deployed, so whoever looks can tell at once whether what they see is the newest. it sits quietly where the app keeps things about itself (anlat: benimle ilgili; a web page: a small line in a corner or at the end), in the domain's words and the viewer's language and time zone, never as a banner, a badge or a warning. (selim, 2026-10-29.)
small letters first. an app's own words are written in small letters: its name as it is installed, the titles on its screens, its buttons, labels and headings, the lines it says, and the data it brings itself (a library, a seeded list). a document about a project follows it too. capital letters are the exception, kept only where a small letter would change what is meant: an abbreviation (PR, API), a code a machine reads as written (a header, a value code compares), or a single letter that stands for something (X, Y, Z). names others own go small too (notion, github, google, claude): no law asks running text to copy a brand's capitals, and we are not writing for a court or a publisher; a name with an abbreviation inside it (PrimeNG, ChatGPT) keeps that part. whatever a person types is theirs and stays exactly as they wrote it; the app never changes it, not even by styling it smaller. the letters are written small, never made small by a style, so the exceptions stay right. turkish keeps its own pairs: İ becomes i, I becomes ı. (selim, 2026-10-30, looking at how apps write their names and screens; brand names went small the same day.)
language is its own piece. the words an app uses to talk with a person and to guide them (its titles, buttons, invitations, the guide, what it says when something did not go through) are a piece of their own, designed with the same attention as the code and apart from it. language is not innocent: it carries the philosophy behind the app, so it has to carry honesty and transparency too. the language is taken out of the code and kept where it can be zoomed into and looked at like any other piece: every line has the place it is used (a key) and may have several wordings side by side, as a problem in code has several implementations. one wording is in use; the others are kept (18), compared (what is the same, what differs, why each appeared) and swapped in whenever a better one is found, without touching the code. one button is not one text. a high-level concept for now, to refer to from here on; its details are still to be filled in (open question 13). (selim, 2026-10-30; first applied in anlat, whose lines moved out of its code into a table of their own.)
a face is always a complete square. the pieces of a face sit in the smallest n × n square that holds them all, the person's own box and the offered pieces included: 1, then 2 × 2, then 3 × 3. places not filled yet keep their outline, pale, because something can still come there (7). four pieces are 2 × 2, never three and one: a row that wraps where the screen ends reads as a list, and the shape is the first thing anyone sees. the square's size comes from the pieces, not from the screen; a screen that cannot hold a wider square (a phone, past what its words need) keeps as many across as fit, with full rows. a wide piece (a text) lies across the square and is not counted. (selim, 2026-10-30, first built in cubes; made a principle when anlat's rehberim showed three and one, violation 2 in 12-violations.md.)
next: a do / don't drawing for each.
going out of a piece is zooming out, wherever the hands allow it. an app made of cubes and pieces is walked by going into a piece and out of it, so the way out is the way a piece closes: bringing two fingers together (zoom out, 6). every screen that sits inside another steps out one level that way, to the same place its back arrow goes, wherever the environment can tell the gesture (a touch screen; ctrl and the wheel on a computer). the back arrow at the top left always stays, as the backup for an environment without the gesture and for anyone who prefers it or knows it; the gesture never replaces it. reaching for a button in a corner to close what is in front of you is a load the person should not carry. exceptions (a screen whose own content needs two fingers, a map or a chart) are considered one by one when they come. an earlier remark from anlat's persona tests, that zooming may confuse, is kept (18): the gesture is never the only way and never explained by force, which is why the arrow stays. (selim, 2026-10-30, in anlat's rehberim, violation 4 in 12-violations.md; it settles open question 9's "where zoom out works" for every screen inside another.)
alike is not a must. two pieces that share something may still stay side by side on one level; sameness makes a kind, and it does not oblige anyone to fold the alike pieces into a cube of their own one step deeper. whether to fold is the person's choice, and a maker who is also a user of the app may choose the same. (selim, 2026-10-30, on anlat's main screen: the microphone and the help are both ways to add a moment, "but I don't want to combine them. I want them to stay on the same level.")
a face is read in rows, by what the pieces are for. on a face the pieces are placed in rows, each row one way of using the cube: looking at it (going in, or two pieces side by side), adding to it (sharing a piece, help in finding one), and what is about the app and the one using it (their preferences, the guide). the row that is the heart of the app comes first, and within a row the most used piece comes first; what is needed least (a guide) is last and may be quieter. the rows are not named on the screen; the placement says it. a row not full keeps its open places (24, 7). later whoever uses the face may order it themselves. (selim, 2026-10-30, on anlat's main screen: "hikâyem is going to be the first one… we could organize the rows… one row can be ways of looking at the cube." an earlier wording, kept (18): "the most used comes first", ordering the whole face by use.)
everything in it is theirs; the app does nothing it was not asked for. an app is not a service talking to its user: it belongs to whoever uses it. so the names of what is in it are theirs, in the first person (anlat: hikâyem, rehberim, benimle ilgili, tercihlerim, not "your story" or "about you"), and nothing happens unless they ask, so every action is their own wish ("bir an paylaşmak istiyorum") and every way in has a way out said as theirs too ("vazgeçtim", I changed my mind, not "not now"): they came in, they may leave, nothing keeps them. a setting is named by what they want, never by what the app will do to them ("nasıl seslenilmek isterim", how I'd like to be called, not "what shall I call you"). no conditions and no permission either: what is theirs is not granted ("you can", "you may") and not made conditional ("if you like"); what could be done is shown, and doing it is up to them, so a line says what is ("bunlar benim; istediğimde değiştiririm", these are mine; i change them whenever i like). on their own screens the lines are their own voice. (selim, 11:25 the same day, moving away from the "istersen" anlat used until then; ayarlarım became tercihlerim, my preferences, since they are the user's preferences for the app.) it follows from walking the cube together: a collaboration, never a service. (selim, 2026-10-30, reading anlat's "seninle ilgili": "the application is the person… it's theirs, it's not ours." he knows a cube's inside, anlat's hikâyem, speaks a slightly different language, and expects to discover something there later.)
a cube opens on its shape, not its rows. going into a cube shows the faces every piece has, its columns, before any piece. the first face is the names its pieces are pointed to by (what a row is called before anything else is known about it); the pieces themselves are inside it. when the cube and its pieces share one word (violations, a violation), that face takes a word of its own (examples), so the cube's name is never also the name of one of its faces. each face is named by its answers, in the plural (principle 11): apps, outcomes, broken principles, never a question or a label like "what happened to it"; the question stays beside it as its line. a long text every piece keeps (why it feels wrong) is a face too, holding every piece's text one at a time. the same mistake was made in anlat (its moments), cubes (the planets) and cube design's own website, so it is a principle now, to be found out as it is used. (selim, 2026-10-30, violation 9 in 12-violations.md.)
a cube first; a list or a table only as a fallback. knowledge in an app that follows cube design is shown as a cube: its faces, then its pieces, each opening on what is known about it. a list of cards or a table is never the first way to show it, even for an app's own words, settings or help: those are cubes too (words: each word a piece, with its meaning, an example and what the code calls it). a list or a table stays possible as a fallback, for something that truly cannot be a cube yet, and is exceptional; it is expected that everything can be a cube. (selim, 2026-10-30, opening the words of the cubes app and finding a list, violation 11 in 12-violations.md.)