Native Input Patterns Keep Breaking and Developers Keep Ignoring It
The 'Just Let Me Write Digits' thread (48902791) and the 'Your App Could Have Been a Webpage' thread (48869989) are really the same complaint from two angles. In the first, someone documents the widespread practice of replacing standard number inputs with custom JavaScript components that break keyboard input, paste behavior, and accessibility. In the second, someone built a tool to expose how many 'apps' are just web views wrapped in a native shell.
The HN response to both was loud and consistent: developers keep reinventing inputs badly, and the people making the decisions do not feel the cost because they test happy paths on fast hardware. The six-cell OTP input that blocks pasting is a canonical example: it exists because designers wanted it, it shipped because engineers did not push back, and it fails daily for real users.
One commenter summed it up: 'Web developer classic: use Javascript to replace the native, working, internationally supported standard inputs with a different input mechanism that doesn't work.' The fact that this is still happening in 2025 is either a hiring problem, a process problem, or both.
So what?
Bad inputs are a conversion killer that rarely shows up in analytics because users blame themselves, not the product. If you have custom number, phone, or OTP inputs in your product, test them with keyboard-only users and paste behavior before your next release. The fix is usually removing code, not adding it.