Pains

2403 pains collected

Category:
Tech:
Severity:

Mutation Complexity with Multiple Entities

6

Handling mutations that involve multiple entities and relationships is complex and difficult. Managing data consistency across mutations poses significant challenges for developers.

architectureGraphQL

JSONB data type updates require fetch-spread-repost pattern

6

Prisma lacks native support for updating JSONB fields in PostgreSQL/MySQL, requiring developers to fetch the entire object, spread it, modify it, and re-post it instead of using direct partial updates.

architecturePrisma

Missing or incomplete model metadata prevents inference UI functionality

6

Models lacking required metadata fields like `chat_template`, `eos_token`, `pipeline_tag`, and `library_name` may fail to work with Hugging Face's inference interface, missing the 'Use this model' button and auto-detection filters, or produce malformed outputs like infinite generation.

dxHugging FaceTransformer

High and Unpredictable Transaction Fees

6

Stripe's transaction fees (2.9% + £0.30) are competitive but not the lowest in the industry. Additional charges for chargebacks, international transactions, and premium support accumulate unexpectedly, making it difficult to forecast expenses and maintain sustainable profit margins.

configStripe

High number of unbundled network requests causing slow page loads

6

Exceptionally large codebases experience slow page loads due to the high number of unbundled network requests in ESM-based development, requiring network overhead optimization.

performanceESM

Testing GraphQL Queries and Mutations

6

Writing tests for GraphQL queries and mutations is challenging and time-consuming, requiring mocking of multiple data scenarios. Testing complexity increases significantly with complex query structures.

testingGraphQL

AWS does not provide 'fix this' automation for IAM permission errors

6

When IAM permission errors occur, developers must manually add permissions rather than having AWS automatically generate the required policy. A simple 'Fix this' button that generates required IAM records would dramatically reduce friction, but this feature doesn't exist.

dxAWS IAMAWS

Limited Cross-Platform Support

6

Although .NET Core improved cross-platform capabilities, C# was originally Windows-centric, and achieving true cross-platform compatibility (macOS, Linux) without code rewrites remains a significant challenge.

compatibilityC#.NET

BackgroundTasks Lack Reliability for Critical Work

6

FastAPI's BackgroundTasks cannot guarantee delivery or retries, and if the FastAPI process crashes before a task completes, that task will be lost. This is unsuitable for work requiring guaranteed execution.

architectureFastAPI

Error Handling in Resolvers

6

Developers often forget to properly handle errors in GraphQL resolvers, returning null values instead of throwing errors. This prevents clients from knowing when something goes wrong.

dxGraphQL

Large application size limiting adoption in emerging markets

6

Flutter apps have significantly larger minimum APK/IPA file sizes compared to native apps, even with optimization efforts. This is a critical blocker for emerging markets and devices with limited storage where download speed and app size are important factors.

compatibilityFlutter

API versioning breaks integrations frequently

6

Stripe frequently updates its API and deprecates features, causing 25% of developers to face integration disruptions due to outdated API practices. Staying informed on changes is labor-intensive.

compatibilityStripe

Beginner Unfriendliness and Steep Learning Curve

6

Supabase's complexity creates barriers for novice developers, compounded by limited community support and insufficient documentation tailored to beginners. The platform requires significant SQL and database knowledge to use effectively.

docsSupabasePostgreSQL

Limited database access for junior team members

6

Junior developers have restricted access to databases, limiting their ability to work independently and requiring senior developer involvement for routine tasks.

securityDatabase access control

Lack of built-in health check infrastructure for production deployments

6

FastAPI does not provide built-in health check endpoints, requiring manual implementation. Missing health checks in production deployments cause cascading failures during infrastructure issues or deployments.

deployFastAPIKubernetes

Missing Production-Ready Features Without Maintenance Attention

6

Several important features needed for production usage (e.g., hiding attributes from Swagger, hiding internal documentation from Pydantic docstrings) have had PRs submitted but remain unmerged without maintainer feedback or response.

compatibilityFastAPIPydantic

Limited email preview and cross-client testing capabilities

6

Resend lacks native support for email preview testing across different email clients, A/B testing, and has no built-in inbox placement testing or blocklist monitoring. Teams must handle these critical deliverability checks outside the platform.

testingResend

Memoization Complexity and Mental Overhead

6

Knowing when to use useMemo, useCallback, and React.memo adds significant mental overhead for developers. This complexity stems from React's component-based reactivity model requiring the entire component function to re-run on every update, forcing developers to manually optimize with memoization.

dxReactuseMemouseCallback+1

Asynchronous API Call Handling

6

Developers struggle with managing asynchronous actions when making multiple Stripe API calls. Dealing with callbacks and promises becomes tricky when coordinating responses from different endpoints, particularly around error handling and retry logic.

dxStripe

Subpar debugging experience

6

Rust's debugging story represents a significant non-trivial problem for developers, with 19.90% reporting it as a big problem. This issue slipped from 2nd to 4th place in priority ranking from 2024 to 2025.

dxRust

Insufficient documentation for application handoffs and legacy code recovery

6

When inheriting applications (whether from contractors or former team members), there is often no documentation about dependencies, installation requirements, database contents, or what components exist. This makes it impossible to know if legacy code can even run without significant reverse engineering.

docs

Framework-Centric Architecture

6

When FastAPI constructs become the center of the codebase, business logic becomes tightly coupled to the framework, making it hard to reuse, test independently, and maintain long-term flexibility.

architectureFastAPI

Fat Routers with Mixed Concerns

6

FastAPI routers accumulate validation logic, business rules, database queries, and external API calls, becoming mini-applications that are difficult to test, refactor, and maintain.

architectureFastAPI

Aspirational support for background job processing in serverless architectures

6

Resend does not adequately serve serverless and background job-based email workflows that are common in modern technology stacks. Documentation and tooling for these patterns are unclear or insufficient.

architectureResendserverless