Anti-Pattern Catalog
52 named patterns across 9 categories. Deceptive design, addictive mechanics, accessibility weaponization, and common UX failures. Each one identified, categorized, and rated.
Pattern catalog
| Pattern | Severity | Description |
|---|---|---|
| Bait and Switch | Critical | Offers one thing, delivers another. User clicks expecting X, gets Y. |
| Trick Questions | Critical | Uses double negatives, confusing phrasing, or inverted logic so users select the opposite of their intent. |
| Visual Misdirection | High | Uses size, color, contrast, or positioning to make the business-preferred option look like the only option or the default. |
| Disguised Ads | High | Makes advertisements look like content, navigation, or system UI. |
| Hidden Costs | Critical | Reveals fees, taxes, or charges only at the final step of a purchase flow. |
| Sneak into Basket | Critical | Adds items, insurance, warranties, or donations to a cart without explicit user action. |
| Confirmshaming | High | Uses guilt, shame, or social pressure in opt-out copy ("No thanks, I don't want to save money"). |
| Prechecked Consent | Critical | Pre-selects checkboxes for marketing, data sharing, or terms the user hasn't reviewed. |
| Opt-Out Burden | Critical | Makes opting out require significantly more effort than opting in (multi-page flows, phone calls, postal mail). |
| Privacy Zuckering | High | Defaults to maximum data exposure, relying on users not changing settings. Named after Facebook's repeated defaults. |
| Forced Continuity | Critical | Auto-enrolls users in paid subscriptions after free trials without clear warning or easy cancellation. |
| Default to Most Expensive | Medium | Pre-selects the highest-cost tier or option in pricing selectors. |
| Fake Countdown Timers | Critical | Displays timers that reset, have no real deadline, or create false urgency. |
| Fabricated Scarcity | Critical | Claims limited availability ("Only 2 left!") that doesn't reflect actual inventory. |
| Fake Social Proof | Critical | Displays fabricated activity notifications ("15 people viewing this now") or fake reviews. |
| Pressure Selling | High | Uses time-limited "exclusive" offers designed to prevent comparison shopping. |
| Loss Framing | Medium | Frames choices as losses ("You're losing $50/month by not upgrading") rather than gains, to exploit loss aversion. |
| Infinite Scroll | Medium | Removes natural stopping points to maximize session length. No pagination, no "end," no sense of completion. |
| Variable Ratio Reinforcement | High | Uses unpredictable rewards (likes, notifications, content) to trigger dopamine-driven checking behavior. Slot machine mechanics. |
| Streak Manipulation | High | Creates artificial loss consequences for missing daily engagement ("Your 30-day streak will be lost!"). |
| Pull-to-Refresh Gambling | Medium | Makes content refresh feel like pulling a slot machine lever — will there be something new? |
| Autoplay Chains | Medium | Automatically starts next content without consent, exploiting inertia to extend sessions. |
| Artificial Incompleteness | Medium | Shows progress bars or "profile completeness" scores that exploit completion bias to extract more data or engagement. |
| Permission Harassment | High | Repeatedly asks for permissions (notifications, location, contacts) after user has declined. |
| Notification Spam | High | Sends excessive, low-value notifications to pull users back into the product. |
| Obstruction Interstitials | High | Blocks content with full-screen overlays, newsletter signups, or app-install prompts that are difficult to dismiss. |
| Attention Bait | Medium | Uses misleading notification badges, unread counts, or red dots to manufacture urgency. |
| Nagging | Medium | Persistent prompts to rate, review, share, upgrade, or complete actions the user has shown no interest in. |
| Inaccessible Unsubscribe | Critical | Makes cancellation or opt-out flows fail with screen readers, keyboard navigation, or other assistive tools. |
| CAPTCHA as Gatekeeping | High | Uses CAPTCHA challenges that are disproportionately difficult for users with disabilities, without providing accessible alternatives. |
| Low-Contrast Opt-Out | High | Makes opt-out links or decline buttons deliberately low-contrast, tiny, or visually suppressed. |
| Assistive Technology Traps | Critical | Creates keyboard focus traps or reading-order manipulation that confuses assistive tech in the area of consent or cancellation flows. |
| Child-Targeted Manipulation | Critical | Uses game-like mechanics, character appeals, or peer pressure to drive purchases or data collection from children. |
| Elderly-Targeted Confusion | Critical | Exploits lower digital literacy with complex flows, jargon-heavy interfaces, or hidden cancellation paths. |
| Crisis Exploitation | Critical | Takes advantage of users in urgent situations (medical, financial, legal) with high-pressure tactics or inflated pricing. |
| Addiction Exploitation | Critical | Targets users with known addictive behaviors (gambling, shopping, social media) with triggering mechanics. |
| Financial Vulnerability Targeting | Critical | Offers predatory financial products with deliberately obscured terms to users showing financial stress signals. |
| Anthropomorphic Manipulation | High | Gives AI human-like emotional responses to make users feel guilt, attachment, or obligation toward the system. |
| Opaque Personalization | High | Uses recommendation algorithms to create filter bubbles or steer choices without the user understanding why they see what they see. |
| Manufactured Dependency | High | Designs AI assistance to reduce user competence over time, making them dependent on the tool. |
| Simulated Understanding | Medium | Makes AI appear to understand context, emotion, or intent it cannot actually process, creating false trust. |
| Algorithmic Exploitation | Critical | Uses behavioral data to identify and exploit individual psychological vulnerabilities at scale. |
| Undisclosed AI Decisions | High | Hides the fact that an AI is making consequential decisions (pricing, eligibility, content ranking) from the user. |
| Dead Ends | Medium | Flows that terminate without guidance — empty states with no actions, error pages with no recovery path. |
| Jargon Overload | Medium | Uses internal or technical terminology that the target audience doesn't understand. |
| Inconsistent Patterns | Medium | Same action works differently across the product. Delete here, remove there, cancel somewhere else. |
| Missing Feedback | High | User takes an action and nothing visibly happens. Did it work? Did it fail? Nobody knows. |
| Destructive Defaults | High | Irreversible actions (delete, publish, send) that are too easy to trigger accidentally. |
| Broken Error Recovery | High | Error messages that don't explain what went wrong or how to fix it. "An error occurred." |
| Assumption of Context | Medium | Expects the user to remember information from previous screens, sessions, or channels. |
| Mobile Afterthought | High | Desktop-first design that becomes cramped, broken, or missing features on mobile. |
| Real Estate Tour | Medium | Design documentation or rationale that describes what's on screen ("there's a button in the top left with rounded corners") instead of explaining why it's there and what problem it solves. Inventory masquerading as intent. |