Building a terrible user interface is surprisingly difficult, especially when you are trying to win a contest for the worst date picker. Developer hdv recently released 'Date Slop,' a project originally entered into a Bad UX competition that failed to secure the top prize. The developer admits the demo 'wasn't bad enough,' raising an interesting point about how AI tools might inadvertently polish away the chaotic friction we expect from intentionally bad software.

The Paradox of Polished Slop

The core concept behind Date Slop is simple: use AI to generate a date picker that is deliberately frustrating and difficult to use. However, the developer notes that they didn't win the contest, implying that the AI-generated output was too functional or aesthetically pleasing to qualify as truly 'bad' UX. This highlights a common pitfall when using LLMs for creative coding tasks; models trained on high-quality codebases tend to produce solutions that are clean and efficient, even when prompted to be chaotic.

Why Bad UX is Hard to Engineer

Creating a genuinely bad experience requires more than just broken logic; it demands a specific kind of user hostility that AI models struggle to replicate authentically. Date Slop serves as a cautionary tale for developers who assume AI can handle all levels of abstraction, including intentional incompetence. If you are using AI to prototype edge cases or negative test scenarios, you may find that the tools are too eager to 'fix' the problems you are trying to simulate.

Key Takeaways

  • AI tools tend to over-polish code, making it difficult to generate authentically 'bad' UX.
  • Intentional design failures require specific human direction to avoid being optimized away.
  • Competitions for bad UX reveal the gap between theoretical chaos and practical usability.
  • Developers should be wary of relying on AI for generating negative test cases without manual tweaking.

The Bottom Line

If Date Slop wasn't bad enough to win a contest, it might actually be too good to be useful for testing how resilient your error handling really is.