Book a callGitHub1

Craft04/04

Who OpenDesigner learns from

Updated · Edit on GitHub

OpenDesigner's advice comes from a short list of sources its owner trusts. Each source has an authority, which decides what it is allowed to change. This page lists the sources, says what each one teaches, and explains how a source becomes a rule.

OpenDesigner is not affiliated with or endorsed by these people or companies; we cite them because their published work shaped the house standards.

Three kinds of source

AuthorityWhat it becomesCan your project change it?
Non-negotiableA house standard. It is applied and locked in every project, written into DESIGN.md, and checked by engine.py review where a check existsOnly when you explicitly ask to change one, and your reason is recorded
Good to haveA recommended default: the option OpenDesigner offers firstYes, freely
ReferenceLearning material: options, examples and process. It never sets a default on its ownNot applicable

Non-negotiable sources

The 455 house standards in version 3 come from these four sources and the Vaul docs below. That includes every standard cited in Motion, UX patterns and Interface details.

Emil Kowalski

emilkowal.ski. Emil Kowalski is a design engineer. His essays teach when to animate and when not to, how to choose easing and duration, how to build components such as toasts and drawers, and how to train taste and judgement. Good places to start are 7 practical animation tips, You don't need animations, Building a toast component, Building a drawer component and Developing taste.

animations.dev

animations.dev is Emil Kowalski's course on web animation. OpenDesigner reads only its public pages, the home page and the changelog, because the course itself is paid. They teach that three ingredients decide whether an animation works: the easing, the duration and which properties move. If you want to go deeper into motion than this guide, go to animations.dev.

Sonner docs

sonner.emilkowal.ski documents Sonner, Emil Kowalski's toast library for React. It sets the toast standards: where toasts sit, how far from the edge, how many show at once, how long they stay, and how the code calls them.

The emilkowalski/skills repo

github.com/emilkowalski/skills, under the MIT licence, is a set of agent skills: written instructions that an AI coding tool follows. They cover building, reviewing and auditing animation, React Native motion, the mobile web, Apple-style interaction, picking UI libraries, prototyping and writing Swift. The standards link to its files at commit 85e8e23.

Good to have

Vaul docs

vaul.emilkowal.ski documents Vaul, Emil Kowalski's drawer library for React. It teaches drawer craft: snap points, scrolling inside a drawer, keeping inputs above the keyboard, and ways to close. Its README says the library is unmaintained, as checked on 2026-09-24. OpenDesigner recommends the craft and says so before suggesting Vaul as a dependency.

Reference sources

These shape the options, examples and explanations OpenDesigner offers. They never set a default on their own.

  • Palantir, Workshop: application design best practices. How to lay out work tools: clear components over complex ones, one consistent experience across a suite of apps, and limits on how much one view holds. It is the main reference for enterprise products.
  • Kole Jain, a YouTube channel. UI and UX videos on layout, color, type, dashboards, landing pages and mobile apps.
  • Mobbin, a YouTube channel. Studies of real app flows, such as onboarding, paywalls and empty states.
  • Steve Schoger, Designing with Claude Code. A marketing page designed live and refined step by step, with concrete polish moves such as faint rings instead of solid borders and tighter headline spacing.
  • Wyatt Feaster, The Reason Why Some Apps Feel Expensive, But Most Don't. Habits that make consumer apps feel premium: anticipating needs, leaving out motion that slows people down, consistency, and empty and error states that offer a next step.
  • referodesign/refero_skill, under the MIT licence. A research-first design workflow for AI agents, with guides on type, color, motion, icons and copy.
  • davecto, "Taste Index", an Instagram reel. A format for a short summary of a product's taste that any AI agent can read before it builds. Its example copies one brand's look, which OpenDesigner treats as a caveat, not a rule.

Standards and benchmarked systems

  • WCAG 2.2, the W3C's Web Content Accessibility Guidelines. Its level AA is the basis of OpenDesigner's accessibility floors: text contrast, target size and a visible focus ring. OpenDesigner also treats 2.3.3 Animation from Interactions, a level AAA rule, as required. See Accessibility floors.
  • Apple Human Interface Guidelines and Material 3, Google's design system, are two of the 25 systems in OpenDesigner's benchmark of famous design systems. The benchmark records their real values, such as type scales, corner radii and target sizes, and the research draws on it.

Tools for easing curves

The house standard for easing names two sites to take a curve from instead of drawing your own. (STD-easing-duration-02)

  • easing.dev: a curated collection of easing graphs.
  • easings.co: try common curves on sample interfaces, or make and share your own cubic-bezier curve.

How a source becomes a standard

The owner lists each source in learn/sources.json and gives it an authority. An agent reads the source in full and writes down its rules, values and examples, and a second, fresh agent tries to refute each one before it is kept. Rules from non-negotiable sources then become versioned house standards, each with an id and links to its sources. Every project applies and locks them. Only the person using OpenDesigner can override one, by asking explicitly, and their reason is recorded.

01 · Listedlearn/sources.jsonThe owner adds a source and gives it an authority: non-negotiable, good to have or reference.
02 · Read and checkedlearn/analysis/One agent reads it in full and writes down its rules and values. A fresh agent tries to refute each one.
03 · A standardsynthesis/standards.jsonNon-negotiable sources become versioned house standards, each with an id and its sources.
04 · Your projectengine.py init · reviewApplied, locked and written into DESIGN.md. Review flags code that breaks the ones it can check.
How a source becomes a house standard: it is listed with an authority, read in full and challenged by a second agent, turned into a versioned standard with its sources, and then applied and locked in every project, where only the person can override one.

The full rules are in How OpenDesigner learns and the learning wiki's README. To suggest a source, open an issue on GitHub.