Pains
2403 pains collected
Unstable generator APIs break community-built tools
7Community generators rely on internal, unstable Prisma APIs that break with version updates, making third-party tools fragile and hard to maintain. A stable API was only recently committed to.
Slow development mode with route compilation delays
7Next.js dev mode is slow and painful; developers must wait for route compilation when checking multiple routes. The development server consumes several gigabytes of RAM, creating frustrating workflow interruptions.
Prisma's query engine fetches entire tables inefficiently, causing expensive data reads and performance degradation
7Prisma's Rust-based query engine performs application-level joins by fetching entire tables and merging results in memory rather than using optimized database-level SQL joins. This approach wastes bandwidth and becomes prohibitively expensive for teams paying per-row-read to database providers like PlanetScale, and is especially problematic at scale.
Excessive API calls and cost explosion from overthinking
7Gemini API exhibits 'overthinking' behavior where it makes numerous unnecessary tool calls to accomplish simple tasks, causing unexpected cost spikes. One user reported $1 per minute in charges from only 18 API calls due to the model's inability to efficiently execute simple operations.
Prisma migration commands are unreliable and dangerous in non-interactive contexts
7Prisma's migration system has multiple critical bugs: `prisma migrate dev --create-only` applies previous pending migrations unexpectedly, `migrate dev` cannot be called programmatically, and `db reset` lacks the ability to reset and reseed atomically. These issues make CI/CD integration and automated workflows fragile.
SvelteKit server routes insufficient for high-load applications requiring custom Node.js endpoints
7SvelteKit API endpoints are not performant enough for high-load scenarios (11k RPS required 200 pods just for proxying). Teams forced to write endpoints directly on Node.js server, bypassing SvelteKit entirely.
Create React App Limitations and Eject Dilemma
7Create React App presents a false choice: either stick 100% with the preset or completely eject and lose all updates. It lacks support for server-side rendering and static site generation, creating significant limitations for production applications. The eject mechanism is inflexible and unforgiving.
Jumbo chunks blocking shard rebalancing
7Oversized chunks in MongoDB sharding cannot move between shards, causing data imbalance and performance problems. This remains a persistent issue even with MongoDB 7.x automated chunk splitting improvements.
SQLite default settings not optimized for production performance
7SQLite's default configuration is optimized for backward compatibility rather than modern performance, requiring manual tuning of settings like WAL mode, cache size, and other pragmas. Developers often assume defaults are production-ready, leading to significant performance degradation in web applications and production deployments.
Create React App Sunset and Migration Pain
7Create React App, used by most React developers, was sunset in February 2025, forcing migrations to alternative tooling. This creates significant disruption and requires developers to rebuild their setup and dependency chains, generating migration headaches.
React 19 migration tools are imperfect and cause regressions
7Automated codemods recommended for React 19 migrations cause regressions or incomplete changes in large codebases. Migration tools are useful but unreliable, requiring teams to treat them as helpers rather than one-click solutions and manually verify changes.
Framework Lock-in and Migration Difficulty
7Some frameworks push proprietary patterns and abstract so much from developers that migrating to another framework or stack becomes prohibitively expensive. This creates vendor lock-in and limits architectural flexibility.
Prisma doesn't work with AsyncLocalStorage and has potential memory leak workaround
7Using Prisma with AsyncLocalStorage breaks due to incompatibility issues. Alleged workarounds exist but risk causing memory leaks, forcing developers to avoid this pattern entirely.
Prisma CLI does not work in web-based IDEs
7Prisma CLI cannot run in browser-based editor environments like StackBlitz due to Node.js dependencies and file system assumptions, preventing full Prisma workflows in web IDEs.
Unwieldy aggregation pipelines for complex analytical queries
7MongoDB's aggregation framework becomes brittle and unmaintainable for complex analytical queries. Pipelines require hundreds of lines of transformations that break easily when document structure changes. Teams often export data to SQL databases or data warehouses to handle reporting that would be simple SQL joins, adding operational overhead.
Timeout errors under high-load API conditions
7API calls experience unexpected timeout errors during high-load conditions or when handling complex requests, causing unpredictable failures in production systems.
Local to production deployment environment discrepancies
7Functions that work correctly in local development environments fail in production, exemplified by Axios errors occurring exclusively in deployed web applications, complicating debugging.
High latency unsuitable for sub-millisecond requirements
7MongoDB consistently delivers 3-4ms read latency, which is insufficient for applications requiring sub-millisecond response times (e.g., real-time bidding systems). This creates a critical performance gap for latency-sensitive workloads.
Configuration errors lead to unexpected behavior and data loss
7Misconfigurations in Redis settings (maxmemory policies, timeout settings, binding IP addresses) can cause unexpected behavior, security vulnerabilities, premature key eviction, and data loss.
High latency and high per-request API costs in S3
7S3 operations incur 10-100ms of round-trip delay per request due to HTTP API handling, authentication, and multi-AZ replication. This overhead is orders of magnitude higher than local or networked block storage, and each API call incurs costs, making high-frequency metadata operations expensive.
OpenAI SDK deprecation and breaking API changes
7SDK updates introduce breaking changes and function deprecations, such as the deprecation of openai.ChatCompletion in Python SDK 1.0.0 and API initialization changes in Node.js SDK 4.0, causing compatibility issues for developers with existing codebases.
Weak multi-document ACID transaction support
7MongoDB's ACID transaction capabilities are significantly weaker than traditional SQL databases. While multi-document transactions were added in version 4.0, they come with substantial performance overhead and remain difficult to use reliably for applications requiring strict consistency guarantees.
Horizontal scaling creates permanent one-way sharding trap
7Once MongoDB is upgraded from a replica set to a sharded configuration for horizontal scaling, it cannot revert to a single replica set. This is a strictly one-way operation, locking organizations into sharding architecture permanently.
Race conditions from concurrent key modifications without proper locking
7Improper use of Redis commands that modify data (INCR, HSET, etc.) without proper locking mechanisms can lead to race conditions where concurrent updates from multiple clients overwrite each other, causing data inconsistency.