Pains

2403 pains collected

Category:
Tech:
Severity:

Gemini 2.5 Pro quality regression from preview version

7

The official stable release of Gemini 2.5 Pro is perceived as a significant downgrade from the preview '03-25' version. Developers report the production model as 'lobotomized' with increased hallucinations, worse instruction-following, and excessive verbosity despite explicit directives to be concise.

compatibilityGemini 2.5 Pro

Hard rate limit of 1000 requests per hour prevents scaling

7

Gemini API enforces a hard cap of 1000 requests per hour, which is insufficient for production-scale applications. Solo developers can manage, but scaling immediately hits walls triggering '429 Too Many Requests' errors.

networkingGemini API

Quality Degradation Requiring Prompt Restructuring on Model Downgrade

7

Developers forced to switch from Gemini 2.5-Pro to Flash due to free tier removal experience noticeable quality loss. Complex reasoning, code generation, and nuanced analysis all degrade, requiring complete prompt restructuring to maintain acceptable output.

performanceGemini APIGemini 2.5-ProGemini 2.5-Flash

Prisma migration commands are unreliable and dangerous in non-interactive contexts

7

Prisma'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.

deployPrisma

Missing Redis connection failure handling and retry logic

7

Developers frequently fail to implement proper error handling and retry logic for Redis connection failures, leading to data loss, inconsistent application state, and cascading failures.

dxRedis

Prisma doesn't work with AsyncLocalStorage and has potential memory leak workaround

7

Using Prisma with AsyncLocalStorage breaks due to incompatibility issues. Alleged workarounds exist but risk causing memory leaks, forcing developers to avoid this pattern entirely.

compatibilityPrisma

Race conditions from concurrent key modifications without proper locking

7

Improper 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.

compatibilityRedis

Middleware runs in restricted hybrid runtime with limited APIs

7

Next.js middleware executes in a hybrid runtime that supports only a restricted subset of Web APIs and Node.js, preventing direct database connections, file system access, and session management. This awkward middle ground doesn't align with common development patterns.

compatibilityNext.js

Create React App Sunset and Migration Pain

7

Create 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.

migrationCreate React App

Missing rollback mechanism for migrations

7

Prisma migrations lack a built-in rollback mechanism, making it difficult to undo migrations in production without manual database intervention and increasing operational risk.

deployPrisma

Slow development mode with route compilation delays

7

Next.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.

dxNext.js

Fragmented API ecosystem with multiple incompatible endpoints

7

Google offers three separate APIs (Gemini API, Vertex API, and TTS API) with different stability levels and missing features across each. These APIs have separate keys and billing setups, creating integration complexity and forcing developers to choose between prototyping-only solutions and production alternatives.

ecosystemGemini APIVertex API

Prisma CLI does not work in web-based IDEs

7

Prisma 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.

compatibilityPrisma

Hidden API configuration defaults causing output truncation and behavioral issues

7

Gemini API has undocumented or poorly documented default settings that cause problems: maxOutputTokens defaults to 8K (truncating long outputs), temperature is locked at 1.0, and TTFT can reach 29 seconds. Developers must manually discover and override these 'factory settings' or face broken functionality.

docsGemini API

Conflict resolution challenges in offline-first multi-device apps

7

Implementing conflict resolution for offline-first applications where users edit the same data across multiple devices simultaneously is difficult. Developers must choose between last-write-wins, operational transforms, CRDTs, or manual resolution flows.

architectureSQLiteIndexedDB

Ineffective caching due to query variability

7

Traditional HTTP caching mechanisms struggle with GraphQL because each unique query variation is treated as a distinct request. Parameterized queries (e.g., different $userId values) create cache misses. Additionally, query permutations can be exploited to spam server memory with cache entries.

performanceGraphQL

GraphQL federation complexity and security challenges

7

Implementing schema federation or stitching across multiple services is complex, slow, and difficult to secure. Federation introduces fragility and inter-domain dependencies that are hard to manage and debug at scale.

architectureGraphQL

Complex native integration requirements favoring native development

7

Projects requiring deep Bluetooth, camera, AR/VR, real-time geolocation, or complex native graphics work are poor fits for Flutter. FFI and interop capabilities remain inferior to native development in usability and flexibility, making Flutter unsuitable for these use cases.

compatibilityFlutter

iOS 18 and macOS 15.4 compatibility issues with JIT compilation

7

iOS 18 and macOS 15.4 introduced restrictions on dynamic code generation that conflict with Flutter's JIT compiler requirements. This prevents hot-reload functionality and requires workarounds like reverting to beta versions or conducting debug work on simulators instead of real devices.

compatibilityFlutteriOSmacOS

Difficulty Hiring Experienced Flutter Developers

7

Dart is not widely adopted compared to JavaScript, Kotlin, or Swift, making it challenging to recruit experienced Flutter developers and often requiring organizations to retrain existing teams. The smaller developer community also means fewer learning resources and solutions for debugging complex issues.

ecosystemFlutterDart

Create React App Limitations and Eject Dilemma

7

Create 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.

ecosystemCreate React App

Migration complexity when converting large JavaScript codebases to TypeScript

7

Migrating large JavaScript projects to TypeScript requires careful planning and resources. Attempting 100% perfect types from day one causes delays, while the overhead of compilation time, build steps, and complex configurations frustrates teams transitioning from pure JavaScript.

migrationTypeScriptJavaScript

Framework Lock-in and Migration Difficulty

7

Some 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.

architectureReactVueAngular+1

Jumbo chunks blocking shard rebalancing

7

Oversized 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.

performanceMongoDB