Pains
2403 pains collected
Embedded logic in view templates creating untestable code
5Developers often embed significant amounts of business logic directly into Rails view templates, resulting in code that is difficult to read and impossible to test.
Gap Between Marketing Claims and Development Reality
5Flutter's rapid adoption has created overinflated expectations and marketing claims that don't align with day-to-day development reality. React Native maintains stronger position in enterprise due to JavaScript foundation and closer web development alignment.
Separate projects required for each environment increases costs
5Each staging or development environment counts as a separate project, doubling base costs for teams needing isolated environments. This creates cost multiplication for multi-environment setups.
Text style management lacks batch editing for repetitive updates
5Figma requires designers to edit text style properties (like line height) individually across all styles, even when organized in groups. Updating a property across 60 text styles requires 60 separate edits instead of group-level batch operations, creating tedious, time-consuming, repetitive work.
Steeper Learning Curve for Web Developers
5Flutter's approach to component architecture and state management differs significantly from React patterns, creating a substantially steeper learning curve for web developers transitioning to mobile. React Native's familiarity with established patterns makes it more accessible for JavaScript developers.
Memory bloat and server resource consumption
5Rails applications can suffer from memory bloat that negatively impacts server resources. Memory consumption issues can be difficult to diagnose without proper profiling tools.
Overwhelming number of gems and tools in Rails ecosystem
5The abundance of gem choices and tools available for Rails makes it difficult for inexperienced developers to determine which ones to use, creating decision paralysis and potential for poor architectural choices.
WebAssembly support is incomplete
5Go's WebAssembly (WASM) support remains half-baked compared to Rust and TypeScript, which dominate in the WASM development arena.
Bundling Prisma with Next.js Standalone mode is difficult
5Integrating Prisma into Next.js applications using Standalone output mode requires non-obvious configuration and troubleshooting, adding complexity to builds and deployments.
Missing foreign key support affects data integrity
5Prisma allows defining relational databases without enforcing or requiring foreign keys, enabling poor database design patterns that don't leverage relational database strengths, particularly problematic for developers unfamiliar with relational concepts.
Incomplete documentation for advanced and enterprise-level use cases
5Supabase documentation has significant gaps for advanced, enterprise-level use cases, limiting developers' ability to fully leverage the platform for complex requirements and scaling scenarios.
postinstall script pnpm integration issue
5The `pnpm install` command does not run the Prisma generate postinstall script, preventing automatic client generation when using pnpm as the package manager.
Limited Ruby developer talent pool makes recruitment difficult
5Finding experienced Ruby developers is significantly harder than recruiting JavaScript or Python talent, especially outside startup-concentrated cities. This makes team scaling and hiring more challenging for Ruby projects.
Expensive hosting costs for Rails applications
5Rails hosting is notably more expensive compared to PHP hosting alternatives, creating higher operational costs for Rails-based projects.
Automatic .env file removal breaks backward compatibility
5Prisma 7 will remove automatic .env file loading, requiring migration of environment configuration management. While justified to separate concerns, this is a breaking change requiring careful migration planning.
No nested create-many or programmatic delete API
5Prisma lacks support for nested create-many operations and programmatic nested deletes, limiting the ability to perform complex nested mutations without multiple separate queries.
Raw SQL lacks type safety for result sets
5Raw SQL queries require manual casting of result sets and hoping developers remember correct column types. Type information is lost, increasing risk of runtime errors.
MCP describe_table_schema fails with CamelCase table names
5The Neon Model Context Protocol (MCP) describe_table_schema function does not work correctly with tables using CamelCase naming conventions, limiting schema introspection capabilities.
Knex lack of relationship handling requires manual queries
5Knex is a query builder without built-in relationship handling. Fetching related records requires multiple manual queries or custom code, creating friction compared to ORMs with built-in relationship support.
Networked storage introduces latency and performance challenges
5Neon's re-architected PostgreSQL separates compute and storage into a networked system. This architectural change introduces new performance and latency challenges that developers must understand and mitigate compared to traditional monolithic PostgreSQL.
Single-region deployment limits latency
5Neon projects are limited to a single region, which may not meet global application latency requirements and forces developers to choose between regional proximity and using Neon.
Long-lived branches in Terraform repos violate infrastructure best practices
5Unlike application code, infrastructure can only have one version deployed at a time. Keeping multiple long-lived branches in a Terraform repository is not common practice, limiting collaboration models and creating merge complexity.
No built-in drag-and-drop email template editor
5Resend lacks a visual email builder or drag-and-drop template editor, requiring all emails to be created in code using raw HTML or markdown. This is a significant limitation for non-technical users, marketers, or teams that need rapid template iteration without developer involvement.
Account approval friction and slow onboarding for enterprise features
5Resend enforces a 2-day account approval process before developers can send their first email. Additionally, advanced features and white-glove support require contacting sales, creating friction for teams wanting to evaluate the platform independently.