
7 Raw Gripes from HN This Week That Have No Good Answer Yet
Seven specific product gaps surfaced from HN comments this week: push notification categories users can actually control, LLM code masking harnesses, AI coding agents that don't use LSPs, Spotify-style AI slop detection, WebAssembly DOM access, Python version management that just works, and enclosed filament storage for non-Bambu printers.

Source: HN Algolia public API (Twitter/X API still returning empty results). All signals sourced from comments posted between 2026-05-21 and 2026-05-28.
Hacker News comments are a peculiar artifact: engineers complaining in public, usually with enough specificity that you can tell whether the gripe is tractable. Here are seven from the past week that stood out — each points at a gap where no satisfying product exists yet.
1. Push notification categories users can actually control
Theme: Mobile / Notifications
1"I wish Apple would force app developers to implement different 'channels' for promotional notifications vs transactional — so that you can pick and choose which ones you want." — userEZ-E
Loading content card…
What exists: Android has supported notification channels since API 26 (2017), so users on Android can granularly mute some categories from an app. iOS has no equivalent — it's binary on/off per app. A second commenter in the same 263-point thread (
donmcronald) added a related gap: Apple ties background app refresh to usage frequency, which silently kills backups for self-hosted apps like Immich that you rarely open but critically depend on.The gap: There's no per-category push management on iOS. On both platforms, there's no standardized SDK-level contract between developer and OS for declaring "this notification type is transactional; the user should not be able to opt out." The closest tools — Braze, OneSignal, Airship — solve the send side, not the user's receive side.
Feasibility: Medium. A browser extension or companion app that proxies notifications and lets users define rules could work on jailbroken or Android environments right now. For iOS, the real fix requires Apple policy, but building a push audit tool (show me every push I got last week, categorized) is a well-defined indie product.
2. An LLM code harness that protects regions you don't want touched
Theme: AI workflow / Dev tooling
2"I wish there was a harness that would let me mask code it should/n't change, because prompt-based refactors fail from the same over-eagerness." — useroverfeed, in a thread about LLM coding limits
Loading content card…
What exists: Claude Code and Cursor let you include/exclude files via
.cursorignore or CLAUDE.md. But those work at file granularity — there's no way to say "refactor this function but leave the auth middleware block unchanged." Some users paste // DO NOT TOUCH comments and hope for the best.The gap: A plugin or wrapper that parses special comments like
// @llm-lock-start ... // @llm-lock-end, strips the locked regions before sending to the model, then re-splices after the response. Essentially a pre/post-processor for any LLM diff workflow.Feasibility: High. This is a purely client-side text manipulation problem. A VSCode extension or CLI wrapper could intercept prompts and handle the masking transparently. No model API changes required. The main challenge is handling partial overlaps and nested diffs gracefully.
3. Claude Code (and AI coding agents) should invoke LSPs — but don't
Theme: AI workflow / Dev tooling
3"Why doesn't Claude invoke LSPs? It always asks to install them, but then it never uses them." — userbmitc, in a 396-point thread on Claude Code
Loading content card…
What exists: Language Server Protocol was specifically designed so editors and tools could query type information, completions, and diagnostics without re-implementing language parsing. Claude Code, Cursor, and Aider all know LSPs exist — they sometimes suggest installing one — but none of them route their code edits through an LSP to verify the change compiles or that types resolve correctly before presenting a diff.
The gap: A lightweight MCP server or plugin that exposes LSP diagnostics as a tool the agent can call before finalizing a code change — essentially "check this edit against the language server before committing it." The agent would catch type errors and undefined references pre-submission rather than post.
Feasibility: Medium. The LSP side is already well-specified. The integration challenge is getting the agent's LLM to reliably call the check tool and backtrack. Some experimental work exists (e.g., tree-sitter-based static checks in Aider), but no product ships this as a first-class loop.
4. Spotify-style detection for AI-generated slop music
Theme: Content / AI
4"I wish I had your Spotify. Over the last few months they have served me multiple slop tracks in the discover weekly playlist. Several had generic artist name without bio and dozens of nearly identical tracks." — userprogbits, in a thread about YouTube's AI content labels
What exists: YouTube announced automatic AI-generated video labels in 2024. Spotify has a content policy banning AI-generated tracks that impersonate specific artists, but has no public detection or labeling tool for the general "AI slop" category. A second commenter (
codegeek, same thread) noted: "I wish all platforms did this, especially Reddit and Twitter — I'm always wondering if I'm replying to an AI comment."The gap: A browser extension or last.fm-style scrobbler that flags tracks where the waveform, metadata, or catalog patterns match known AI music generators (many of which have detectable audio signatures or upload patterns). Analogous to what researchers have built for AI image detection.
Feasibility: Medium. Audio fingerprinting is well-understood, but the arms race problem is real. A more tractable niche: a metadata-level signal (suspiciously large catalog, no bio, identical BPM distributions) that gives a probability score. Indie-builder sweet spot is a browser extension that surfaces this on Spotify's web UI.
5. WebAssembly with direct DOM access
Theme: Dev tooling / Web platform
5"My gripe is why doesn't WebAssembly fully support DOM manipulation. If we got that working anyone could just bring any language to the browser and we would finally be free from the shackles of JS." — useryoyohello13, in the Deno 2.8 discussion
What exists: Wasm currently has no direct access to the DOM. The only path is through JS glue code — a JS function calls Wasm, gets a result back, then manipulates the DOM. Wasm GC (garbage collection) shipped in 2023, which helped. The W3C WebAssembly CG has a Component Model and "Interface Types" proposal in progress, but direct DOM bindings are not part of current roadmaps. A separate commenter (
danielcasper) added a related wish: a Deno-equivalent security model for Python/WASM for securing AI runtimes.The gap: Tooling that minimizes the JS glue surface — a code-gen layer that produces near-zero-overhead bindings between a Wasm module and the DOM, closer to what emscripten does but more general. Alternatively, a framework that treats the JS bridge as a compile target rather than something developers manage manually.
Feasibility: Low for changing the spec; Medium for a developer-facing abstraction layer. The platform constraint is real, but the tooling gap is independent of it.
6. Python version management that just works
Theme: Dev tooling / DX
6"The bigger question is — why doesn't 3.9 compile and run 3.8. The fact that Python forces the developer to manually manage isolated directory symlinks just to prevent local environment contamination is a structural UX failure." — userawesome_dude, in a Go→Rust migration thread
What exists:
pyenv, poetry, uv, conda, venv, pipenv, pdm, hatch — roughly eight mainstream tools doing overlapping but incompatible things. uv (from Astral) is the fastest growing option right now and does handle Python version pinning well, but the complaint here is about why the language itself doesn't guarantee forward/backward compat at the minor version level, and why enterprise orgs still hit onboarding pain regularly.The gap: Not another package manager, but a "Python onboarding verifier" — a single-binary tool that takes a
pyproject.toml, detects all installed toolchain conflicts, and outputs a one-command fix regardless of which of the eight tools the repo is using. Think mise doctor but Python-specific and opinionated.Feasibility: High. This is a pure tooling problem with clear inputs and outputs. The challenge is keeping up with an ecosystem that changes tooling preferences every 18 months. A narrow focus (detect conflicts, emit one command) stays tractable.
7. Enclosed filament storage integrated on Prusa printers
Theme: Hardware / 3D printing
7"Why doesn't Prusa copy the 'enclosed filament storage on top of printer' solution that is so much better than spools dangling on the side? I don't want to buy BambuLabs, I am willing to spend 2k+, but not on a printer that does not have a properly integrated filament solution." — usertda, in the 'Fuck you, Bambu' open-source thread
What exists: Bambu Lab's AMS (Automatic Material System) is widely regarded as the best consumer-grade integrated filament management. Prusa's solution — an external MMU3 and dry-box accessories sold separately — is functional but not enclosed or humidity-controlled out of the box. Multiple third-party enclosures exist on Printables, but they require sourcing panels and hardware separately.
The gap: A standalone, humidity-controlled filament station with a standardized connector that fits existing open-frame printers (Prusa MK4, Voron, Bambu clones). The Bambu-locked users can't buy AMS without switching ecosystems; the Prusa loyalists want to stay on open firmware. A $150-$250 dry-box feeder with a standard filament path would serve both.
Feasibility: Medium. Hardware design is hard, distribution is hard. But this is one of those hardware gaps where the BOM is knowable (humidity sensor, PTFE tube, sealed container, feeder motor) and the target customer is already spending $500-$2000 on printers. Several Kickstarters in this space have succeeded.
Source note: Twitter/X API continued to return no results as of this run (2026-05-28 08:00 UTC). All signals collected via HN Algolia public API. Upvote counts shown reflect the parent HN story (individual comments don't carry vote counts). HN thread upvote count used as a proxy for demand signal strength.
References
- 1What Apple and Google are doing to push notifications — HN discussion
- 2"The Eternal Sloptember" — HN discussion
- 3Claude Code as a Daily Driver — HN discussion
- 4YouTube to automatically label AI-generated videos — HN discussion
- 5Deno 2.8 — HN discussion
- 6Migrating from Go to Rust — HN discussion
- 7'Fuck you, Bambu': How one private message could change the face of 3D printing — HN discussion
Add more perspectives or context around this Drop.