Friction Inversion
The design principle I've been using for 21 years without naming it.
I've been building the same thing for 21 years with different names.
Shader tools. Accessibility auditors. Content libraries. Publishing pipelines. Motion rig scripts. An entire learning management system. On the surface these look unrelated. Underneath they're all solving the same problem in the same way.
I didn't have a name for it until recently. Now I do.
I call it Friction Inversion.
The Problem With Most Systems
Most quality and compliance systems work by adding friction to wrong behavior.
Style guides say don't use off-brand colors. Review gates say get approval before publishing. Checklists say remember to check these twelve things. Audit cycles say we'll catch your mistakes later.
All of these put the burden on a human to remember a rule, consult a document, or resist a temptation. They assume that if you give people enough information and enough reminders, they'll do the right thing consistently.
They won't. Not because people are careless. Because cognitive load is real, deadlines are real, and the path of least resistance is a force of nature. People do what's easiest. Every time.
The standard response to this is more friction. More gates. More checklists. More reviews. More reminders.
That's friction addition. It's the default mode of most design systems, compliance programs, and quality workflows.
It doesn't scale. It requires maintenance. And it requires you, or someone like you, to be present and enforcing it forever.
Friction Inversion
Friction Inversion is the opposite move.
The rule doesn't disappear. It moves. From a document someone has to read, into the tool someone already uses. From a choice someone has to make correctly, into a structure that makes the correct choice automatic.
The test is simple: could someone use this system incorrectly without extra effort? If the answer is yes, you haven't inverted the friction yet.
Five Times I Built the Same Thing
The Brand Library
On a large DoD training contract, we had dozens of artists working across simultaneous deliverables under strict contract style requirements. People read the style guide. That wasn't the problem. The problem was that nobody could commit every layout treatment to memory, and the ones that took judgment, like spacing relationships, hierarchy decisions, and compositional rules, came out inconsistently from artist to artist, and weren't repeatable even by the same artist across sessions. The style guide described correct behavior accurately. It just couldn't enforce it at the moment the decision was being made.
The standard response would have been a more detailed style guide. A mandatory review gate. A layout audit that flagged violations after the fact.
Instead, I encoded the style guide into an Adobe Creative Cloud shared library, but not as a static reference. Smart graphics for every callout label variant. Character and paragraph styles for every typographic treatment. Interactive and non-interactive highlight colors as named swatches. PSDTs (Photoshop template files) for every approved layout, ready to open and populate. The library wasn't a collection of assets. It was a working design system that lived inside the tools the artists already had open.
Artists made consistent layout decisions, not because they memorized more rules, but because the correct treatment was already in the panel, one click away. Need a callout label? The smart graphic is there, built to spec, ready to place. Need the interactive highlight color? It's a named swatch, not a hex value (the raw #RRGGBB color code) to look up. Need a layout? Open the PSDT, not a blank canvas. Reaching for the wrong treatment meant going somewhere else to find it. Reaching for the right one meant clicking what was already there.
Correct behavior became the path of least resistance. The friction moved.
The style guide didn't change. The rules didn't change. What changed was where the rules lived. They moved out of a document that required recall and into a tool that only required recognition.
The Accessibility Auditor
Section 508 (the U.S. accessibility law) compliance in digital courseware is notoriously tedious. Every image needs alt text. Every video needs captions. Every interactive element needs keyboard navigation and screen-reader labels. The remediation list for a single module could run to hundreds of items.
The standard approach: audit after production, generate a violation report, send it back to the team, wait for fixes, re-audit. A cycle that could add weeks to delivery and required specialized knowledge to interpret.
I built a tool that runs the audit and hands back remediation code, not a violation report. Instead of telling you an image is missing alt text, it gives you the corrected HTML with the alt attribute already filled in from the surrounding context, ready to paste.
The cognitive load of knowing what 508 compliance requires moved out of the artist's head and into the tool's output. Compliance wasn't a goal the team had to achieve. It was what the publish button produced.
See the auditor →The Shader Bridge
My current project sources 3D assets built for a real-time game engine. The rendering and material handling live in the engine. The engine does things with UV channels (how textures map onto a 3D surface), material layers, and lighting that Arnold, our offline renderer for instructor-led training materials, doesn't know anything about.
For years, adapting assets from engine output to Arnold renders was a manual per-asset process. Every artist had their own approach. Results were inconsistent. Lighting matched in some renders and not others. The right way to do it lived in the head of whoever had figured it out last.
I used AI to iteratively build a custom shader tool that reads the same UV channels the engine uses and processes them through Arnold's material system. The bridge is the tool. Artists don't need to know how the engine handles materials. They don't need to know anything about UV channel logic. They run the shader and get a consistent render.
The knowledge that used to live in individual heads, and had to be re-learned every time someone new touched the assets, now lives in the tool. It works the same way every time. It produces the same output regardless of who runs it.
CourseForge
SCORM is the standard format for e-learning content that needs to run inside a learning management system. It is also, by any reasonable measure, a nightmare to produce correctly. The specification is dense. The tooling is either prohibitively expensive or severely limited. Most instructional designers either pay for a commercial authoring tool that abstracts the complexity or hand-code SCORM packages and accept the inconsistency.
I'm building CourseForge because neither of those options is right.
CourseForge is an LCMS, a learning content management system, built from the ground up with one constraint: the publish button produces compliant SCORM output. It doesn't hand you the SCORM settings and ask you to configure them correctly, and it isn't a validator that tells you what you got wrong after the fact. The output is compliant by construction.
The instructional designer shouldn't need to know what SCORM is. They write the content. They structure the module. They click publish. CourseForge handles the rest.
Twenty-one years of building defense training content taught me exactly where the friction lives in this workflow. CourseForge moves it.
See CourseForge →The Cotality Brand Bible
A brand's social-video lower-third, the colored box that holds the on-screen headline, is exactly the kind of thing a style guide describes in a sentence and then watches drift for months. I audited one such feed. The brand color was perfectly consistent, but everything structural around it wandered clip to clip. Placement floated. The box width tracked the copy instead of a rule. Inner padding was eyeballed. The mark sat in one corner on some clips, a different corner on others, and nowhere at all on the rest. Every individual editor was competent. The format still came out different every time, because the correct version took a dozen small judgment calls and nobody makes the same dozen calls twice.
The standard response is the one everyone reaches for: write the brand bible. Document the exact placement, the padding, the safe zones, the type scale. Hand it to the editors and ask them to comply.
I wrote the bible, but the bible isn't the deliverable. The deliverable is an After Effects rig that is the bible, executable. A script builds the lower-third in every aspect ratio with the geometry baked into the structure: the 45° chamfer, the registration mark, one padding token, an auto-fitting headline that can't overrun the box or break the platform safe zone. It animates itself. And it promotes its own controls into Premiere's Essential Graphics panel, so the comp ships as a template an editor opens and types a sentence into. They don't set the placement. They can't. The placement is the one thing the tool won't let them touch.
The bible documents the rule. The rig makes the rule the only path. An editor producing a brand-perfect lower-third now does less work than producing a wrong one. There's no blank canvas to get wrong, just a headline to type.
Read the bible →It Doesn't Always Take a Tool
Not every instance of Friction Inversion requires custom tooling. On the same contract, I mapped and pinned every common project network location in Windows File Explorer, then documented the paths and shared the process with the team. A pinned network location isn't just a shortcut in Explorer. It surfaces in every application's Save As dialog. Artists saving a file land in the right folder by default. The correct delivery location is one click away in every application they touch. Nobody navigates to the wrong folder, and nobody has to remember a UNC path. The friction was a navigation problem, and the solution was a navigation tool that already existed.
The Three Phases
Looking back across these and every other system I've built, the pattern has three consistent phases.
Find where people are solving the same problem manually, inconsistently, or incorrectly. Not because they don't care, but because the correct path takes knowledge or effort they shouldn't need. The friction is always somewhere specific. Find it.
Move the rule from documentation into the tool. The correct output should be structurally easier to produce than the incorrect one. If you're still relying on someone reading a guide or remembering a step, you haven't finished this phase.
This is the one most people miss. The system should function without your presence, your explanation, or ongoing maintenance of human behavior. If people are doing the right thing because you're watching, you haven't inverted the friction. You've just added a more expensive gate.
The goal of every system I build is my own obsolescence within that specific problem space. The Flash-to-Canvas pipeline I co-built in 2014 is still running in production. I haven't touched it in years. That's the measure.
Why This Matters More Now
AI changes the calculus here in an important way.
The standard framing of AI in creative workflows is acceleration: do what you were already doing, faster. That's real, but it's not the interesting part.
The interesting part is that AI makes the Encode phase dramatically cheaper. Building a custom shader tool used to require deep expertise in both the source system and the target system, plus enough scripting ability to bridge them. I had all of that, but most people don't, and even for me it took time.
With AI as a development accelerator, the loop is: identify the friction, spec the solution, iterate with AI until it's production-ready, document it, deploy it. The barrier between "I see where the friction lives" and "I've moved it" collapsed.
This means Friction Inversion is now accessible to anyone who can clearly diagnose a problem. The diagnostic skill, seeing where friction lives and understanding what a frictionless version would look like, is the scarce resource. Not the implementation.
That's what I mean when I say I'm not using AI to go faster. I'm using it to close gaps that used to require either deep specialization or expensive tooling or both.
The Question Worth Asking
If you build systems, tools, or workflows for other people, there's one question worth sitting with.
Not "do people know what the correct behavior is." Knowing and doing are different problems. Documentation solves the knowing problem. Friction Inversion solves the doing problem.
Every checklist you've written that people don't follow is a friction addition that didn't invert. Every style guide that produces inconsistent output is a rule that hasn't moved into the tool yet. Every audit cycle that catches the same class of errors repeatedly is a signal that the friction is in the wrong place.
Move the friction. Make correct behavior the path of least resistance. Then remove yourself from the loop.
That's the whole methodology. It took me 21 years to name it.