Pains
2403 pains collected
Shadow DOM complexity in Web Components
6The Shadow DOM, a core feature of Web Components, is reported as not enjoyable and complex to work with. Despite appreciation for other Web Components features like <template> and HTML modules, Shadow DOM adoption is hindered by its perceived difficulty.
Mixing critical and non-critical data in one Redis instance increases blast radius
6Combining cache data, locks, queues, sessions, and feature flags in a single Redis instance causes eviction pressure and performance characteristics to collide. Cache evictions unintentionally affect critical locks, and memory pressure impacts essential queues.
Thread-Safe Dictionary Implementation Complexity
6Manual implementation of thread-safe dictionaries using locks is error-prone and inefficient in multi-threaded scenarios, causing developers to either reinvent the wheel or face concurrency bugs.
Code refactoring support in C++
6Refactoring operations (rename, extract method, code cleanup) are the top pain points in C++ IDEs, indicating widespread lack of automated refactoring tooling.
Scalability challenges with multi-GPU setups
6Enterprise architects report difficulties scaling Hugging Face models across multiple GPUs, limiting the platform's applicability for large-scale production deployments.
Technical debt accumulation in growing applications
6As Python-based applications grow in complexity, technical debt accumulates, making it increasingly difficult to introduce new features or make updates. Developers must balance addressing technical debt with introducing innovative solutions.
Limited database access for junior team members
6Junior developers have restricted access to databases, limiting their ability to work independently and requiring senior developer involvement for routine tasks.
Performance Optimization Challenges
654% of C++ developers struggle with performance optimization. Achieving optimal performance requires careful memory management, algorithm optimization, and platform-specific considerations, impacting execution speed and user experience.
Unbounded key cardinality growth leads to chaotic eviction behavior
6Including user input, URLs, or search queries directly in Redis keys without predictability controls causes unbounded cardinality growth. Redis has no warnings when cardinality explodes, simply allocating memory until exhausted, resulting in unpredictable and chaotic eviction behavior.
Lua scripts block Redis under load if execution time is unbounded
6Complex Lua scripts that run for long durations or depend on data size block the entire Redis instance while executing. Moving business logic into Lua for atomic operations can cause Redis to block under load, reducing availability.
Frequent breaking changes and rapid major version releases create maintenance burden
6Next.js has introduced 15 major versions in 8 years, each potentially containing backwards-incompatible changes. This creates significant maintenance burdens for long-term projects and makes it difficult for teams to keep applications updated.
Broken or incomplete existing standard library features
6Core standard library components like std::vector, std::regex, and language features like contracts and modules are broken or half-baked with no clear improvement path.
KEYS command blocks Redis with O(N) full scans
6Using the KEYS command for searching in Redis blocks the entire process during a full-scan operation with O(N) complexity. This causes severe performance degradation and should be replaced with SCAN or Redis Search alternatives.
Difficult debugging with long application workflows and complex database logic
6Diagnosing failures becomes increasingly difficult when issues could originate from the database or application code. Long workflows and complex database-side logic require extensive investigation, making root cause analysis time-consuming.
Email marketing incumbents lack modern developer experience
6Established email/marketing platforms dominate the market but are difficult to use, lack developer-first design, and offer poor API experiences. The market has no single developer-focused email platform optimized for great DX.
Sentry higher-tier pricing locks essential features for small teams
6Sentry's tiered pricing structure gates essential features behind higher-tier plans, making it cost-prohibitive for startups and small businesses with constrained budgets. Costs escalate quickly as usage increases.
C++ coroutines are too complex to use
6Coroutines in C++ are complex to understand and use in practice, with poor documentation and limited adoption despite being standardized.
Redis lacks built-in advanced querying capabilities
6Redis does not natively support advanced features like joins, aggregations, full-text search, time-series data management, or graph processing. This limits use cases to simpler key-value and caching scenarios, blocking applications requiring sophisticated data processing.
Difficult troubleshooting with no comprehensive debugging guide
6Debugging issues in GitHub Actions is time-consuming because there is no single comprehensive troubleshooting guide. Developers face delays when errors occur, and the slow feedback loop compounds the difficulty. Documentation is insufficient for complex scenarios.
Cost vs. performance optimization tradeoffs
6Developers must balance using the best resources for performance with managing costs. Finding the optimal resource configuration to meet both requirements is a constant struggle.
Email authentication limits and user lockout risks
6Supabase's email authentication has undocumented limits that can leave users unable to authenticate, creating support headaches and potential user experience issues.
Third-party library platform support is unpredictable
6It's difficult to determine if a third-party library will work across all target platforms (Windows, macOS, Linux, Android, iOS). Libraries rarely provide guarantees due to ecosystem volatility.
High switching costs and vendor lock-in concerns with Supabase
6Developers fear vendor lock-in due to Supabase's deep integration with cloud providers and the high operational overhead and complexity of migration, limiting willingness to adopt for long-term projects.
Edge functions performance bottlenecks
6Supabase edge functions introduce performance degradation that can become a bottleneck in production applications, limiting their practical utility for performance-critical operations.