Pains
2403 pains collected
Poor query optimizer performance on complex multi-table joins
8SQLite's query optimizer uses limited join order search and weak cardinality estimation, causing it to produce inefficient execution plans for complex queries with many tables. Real-world benchmarks show 10-50x slowdowns compared to other databases, with some queries timing out after 60+ seconds, making SQLite impractical for normalized schemas with complex analytical or business logic queries.
Local state files without remote backends cause team collaboration and disaster recovery issues
8State files stored locally (default) instead of on remote backends (S3, GCS) prevent team collaboration, create single points of failure, and make disaster recovery impossible. Developers must manually manage state file access.
Lack of observability makes it impossible to trust agents in production
894% of organizations with agents in production have implemented observability tooling because agents cannot be trusted without visibility into execution traces and reasoning. Observability is a blocker for production deployment despite 89% adoption attempts.
JavaScript Runtime Fragility and Network Failure Brittleness
8JavaScript depends entirely on the browser runtime and network delivery. Network failures, partial asset loads, or third-party script interference can completely break the user experience, making the entire application fragile.
Task complexity exceeds current agent capabilities; 'agent washing' overhype masks limitations
8Organizations apply AI agents to problems too complex for current capabilities, and many AI vendors overstate capabilities ('agent washing'). This sets projects up for failure when promised enterprise-grade outcomes don't materialize.
npm Security Vulnerabilities and Supply Chain Risk
8npm packages are vulnerable to security breaches, and the reliance on thousands of third-party dependencies introduces substantial supply chain risk, especially when upstream maintainer credentials are compromised.
AI Agent Error Compounding in Multi-Step Reasoning
8Errors compound with each step in multi-step reasoning tasks. A 95% accurate AI agent drops to ~60% accuracy after 10 steps. Agents lack complex reasoning and metacognitive abilities needed for strategic decision-making.
S3 event notifications are unreliable and not guaranteed to trigger
8S3 event triggers (e.g., for Lambda invocation) may fail silently, requiring developers to implement separate recovery mechanisms. This creates unpredictable behavior in event-driven architectures.
npm ecosystem supply chain attacks exploit TypeScript maintainer workflows
8Multiple sophisticated npm compromises in 2025 (s1ngularity, debug/chalk, Shai-Hulud) exposed systemic weaknesses in TypeScript ecosystem maintainer authentication and CI workflows. The ecosystem requires stricter security practices but lacks standardized protections.
No In-Place Major Version Upgrades
8PostgreSQL does not support in-place major version upgrades. Upgrades require either dumping and restoring the entire dataset or setting up logical replication, with rigorous application compatibility testing required. Delaying upgrades increases complexity and risk, as outdated versions miss critical security patches, transforming routine maintenance into a complex, high-risk migration project.
Poor Performance with Large Data Volumes and Analytics
8PostgreSQL is not optimal for applications requiring real-time or near-real-time analytics. For massive single datasets (billions of rows, hundreds of gigabytes) with frequent joins, queries can take hours. PostgreSQL lacks native columnar storage support, necessitating non-core extensions and increasing architectural complexity.
Rushed implementations create security vulnerabilities
8Poor OAuth 2.0 developer experience and documentation gaps lead teams to implement insecure workarounds under time pressure, creating security holes in production systems.
AI Systems Lack Memory and Learning Mechanisms
8Corporate AI systems don't retain feedback, accumulate knowledge, or improve over time. Every query is treated independently, preventing the learning that ChatGPT benefits from in personal use. This causes 90% of professionals to prefer humans for complex work despite using AI for simple tasks.
Merge conflicts cause irreversible commit history gaps
8When a developer merges a branch significantly behind the milestone branch, a selection of programs can be overwritten with commit history gaps that are not reversible. Large teams (3-6+ programmers) with multiple feature branches are especially vulnerable.
Optional MFA bypass and token creation undermines npm security improvements
8Developers can still create 90-day tokens with MFA bypass enabled in the npm console, which function similarly to the pre-2025 vulnerable classic tokens. This optional security feature leaves supply chain attack vectors open despite npm's authentication overhaul.
Lack of Built-In CSRF Protection in Next.js
8Next.js does not include built-in Cross-Site Request Forgery protection, requiring developers to implement their own protection mechanisms or applications remain vulnerable to CSRF attacks.
AI Agents Fail to Adapt to Changing Conditions
8Static AI agents become stale quickly as customer preferences, market conditions, and regulations evolve. Without adaptability mechanisms, agents produce outdated recommendations, miss fraud patterns, and provide incorrect information, eroding trust and value.
Session management issues and random logouts in authentication
8Third-party authentication solutions (NextAuth.js, Auth.js) integrated with Next.js experience session management problems and unexpected logouts, particularly due to Edge Runtime limitations lacking necessary Node.js APIs.
Hardcoded Secrets in Docker Images and Layers
8Developers frequently expose sensitive credentials (passwords, API keys) by hardcoding them directly into Dockerfiles via ENV or ARG instructions or copying them into image layers. Once committed, these secrets persist in image history and create high-risk security vulnerabilities.
GitHub Actions UX limitations break production deployments with breaking changes
8GitHub applies breaking changes to Actions with insufficient notice (e.g., self-hosted runner version rejections). When production deployments depend on Actions, forced updates can require hours of investigation and testing to fix stable workflows, with no option to skip upgrades.
Table corruption issues in PostgreSQL
8PostgreSQL experiences table corruption problems that can result in data integrity issues. This was significant enough to motivate organizations like Uber to evaluate alternative databases.
Brittle integrations between LLMs and business systems break in production
8The connectors and plumbing between language models and backend business systems are unreliable, causing agents to fail mid-task. This is not a model capability issue but an infrastructure and integration problem.
Complex redirect URI configuration and validation
8Developers must configure redirect URIs precisely and validate them correctly. Misconfigurations or pattern-matching flaws can be exploited for open redirector attacks and credential theft.
Severely inconsistent AWS service APIs
8AWS services exhibit inconsistent API naming conventions (List vs Describe vs Get), response formats (items vs item), and field naming (StreamName vs StreamARN, CreationTime vs other patterns). This inconsistency forces developers to constantly refer to documentation, increases mental load, reduces code reliability, and can introduce production bugs when assumptions fail.