{
  "id": 2951131,
  "title": "Vibe Coding in the New Era: How to Build Real Applications with AI",
  "url": "https://urgent.news/2026/08/24/vibe-coding-in-the-new-era-how-to-build-real-applications-with-ai",
  "topic": "ai",
  "section": "AI",
  "published": "2026-08-24T05:04:10.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/darun_karasabir_b79602fd/vibe-coding-in-the-new-era-how-to-build-real-applications-with-ai-1dn"
  },
  "original_language": "en",
  "account": "Vibe coding has revolutionized software development by enabling developers to describe a feature to an AI coding assistant and receive working code within minutes. However, there is a significant challenge: generating code is straightforward, but building a scalable application is not. For crucial projects, employing a simple approach like \"give AI a prompt and let it build everything\" is not the best strategy. Instead, it is more effective to provide AI with structure, rules, and context before asking it to generate code.\n\nTo begin, it is essential to define the application's requirements before writing any code. This involves identifying the target users, the necessary features, data storage needs, business rules, access permissions, integrations, and potential application size. By establishing a clear target, AI can generate code more effectively.\n\nNext, designers must define the application's architecture, including the frontend, API, backend, database, and external services. Important considerations include selecting the appropriate technologies such as React or Next.js for the frontend, REST or GraphQL for the API, PostgreSQL or another database for the backend, authentication, caching, background jobs, and file storage. It is crucial not to rush into generating hundreds of files before defining the database and other architectural elements.\n\nThe database is one of the most critical foundations for most applications. Defining tables, relationships, primary keys, foreign keys, constraints, enums, and indexes is crucial before creating the actual database. Designing an Entity Relationship Diagram (ERD) using Mermaid before implementing the database makes the relationships easier to review before implementation.\n\nGenerating the database and migrations with PostgreSQL requires careful consideration of the queries the application will run. For instance, identifying frequently searched columns, sorting columns, filter-related columns, slow joins, and unnecessary data returned in queries is vital. Tools like EXPLAIN ANALYZE can help determine the optimal indexes based on the specific queries.\n\nWith the approved architecture and schema, developers can now build the backend using a simple structure that includes a controller, service, repository, and database interaction. Incorporating validation, authentication, authorization, error handling, transactions, logging, rate limiting, and other best practices ensures a robust backend.\n\nBefore connecting the frontend to the backend, defining the API contract is essential. Clearly specifying each endpoint's method, URL, request, response, errors, and authentication prevents the frontend and backend from becoming inconsistent over time.\n\nOnce the backend is ready, developers can connect the frontend to the API. A clean approach involves organizing UI, state, API client, backend interactions, and managing loading states, error states, empty states, authentication, validation, and optimistic updates where appropriate.\n\nTesting should be a crucial part of the development process, even when AI generates tests. Generated tests are not sufficient on their own. Developers must actively run tests, including those for database constraints, services, API endpoints, authentication, permissions, and various user flows and edge cases. A test that is never executed does not protect the application.\n\nLastly, developers must address security and performance considerations before deploying the application. This includes reviewing authentication and authorization, input validation, SQL injection and XSS prevention, rate limiting, secrets management, file upload security, sensitive data exposure, and performance optimization. Developers should measure actual bottlenecks rather than optimizing everything AI suggests.\n\nUltimately, the future of development is not about developers disappearing, but rather becoming better at directing AI. Instead of expecting AI to build entire applications, developers should provide AI with architecture, database schemas, API contracts, coding standards, and constraints. Then, AI can implement specific features, explain changes, and verify tests, leading to better AI-assisted engineering.",
  "summary": "Vibe coding has changed how developers build software. You can describe a feature to an AI coding assistant and get working code in minutes. That is incredibly powerful. But there is a problem: Generating code is easy. Building a scalable application is not. For serious projects, I don't think the best approach is: “Give AI a prompt and let it build everything.” A better approach is to give AI…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}