<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ayush Dubey</title>
    <description>The latest articles on DEV Community by Ayush Dubey (@ayush_dubey).</description>
    <link>https://dev.to/ayush_dubey</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4011316%2F146aa6db-b764-4235-afa3-3dbbb70c6096.png</url>
      <title>DEV Community: Ayush Dubey</title>
      <link>https://dev.to/ayush_dubey</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayush_dubey"/>
    <language>en</language>
    <item>
      <title>Stop Asking AI to Write Code. Start Asking It to Design Applications.</title>
      <dc:creator>Ayush Dubey</dc:creator>
      <pubDate>Wed, 01 Jul 2026 19:20:32 +0000</pubDate>
      <link>https://dev.to/ayush_dubey/stop-asking-ai-to-write-code-start-asking-it-to-design-applications-1m0g</link>
      <guid>https://dev.to/ayush_dubey/stop-asking-ai-to-write-code-start-asking-it-to-design-applications-1m0g</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work on Trillo AI. This post explains the problem we're trying to solve and how our approach differs from typical AI coding tools; take the framing with that in mind.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;AI coding assistants like Claude Code, GitHub Copilot, Cursor, and Gemini have gotten very good at one thing: turning a prompt into working code. Given a clear spec, they'll generate a function, fix a bug, or scaffold a small app in seconds.&lt;/p&gt;

&lt;p&gt;But if you've built enterprise software, you know that writing code is the &lt;em&gt;easy&lt;/em&gt; part. The hard part happens before the first line is written:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are the business entities and how do they relate?&lt;/li&gt;
&lt;li&gt;What's the application architecture?&lt;/li&gt;
&lt;li&gt;What APIs does this need?&lt;/li&gt;
&lt;li&gt;What's the auth and authorization model?&lt;/li&gt;
&lt;li&gt;Where do AI agents run, and what do they need access to?&lt;/li&gt;
&lt;li&gt;How does this get deployed, monitored, and scaled?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Answering these questions is what actually eats weeks or months on enterprise projects — not typing out functions. And most AI coding tools don't touch this part at all. They wait for you to hand them a fully-formed spec, then generate code against it.&lt;/p&gt;

&lt;p&gt;We think that's backwards. This post is about why, and about &lt;strong&gt;Trillo AI&lt;/strong&gt;, which we built around the opposite order of operations: design first, code second.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottleneck isn't code generation
&lt;/h2&gt;

&lt;p&gt;Every enterprise has a backlog of ideas waiting to become software — a vendor portal, an internal workflow tool, a logistics dashboard, an AI assistant for support tickets. The path from idea to production usually looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Discovery → Architecture review → Data modeling → API contracts
→ Security review → Compliance check → (finally) development
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Even with a great coding assistant, someone still has to do all the steps before "development" — and that's usually where the calendar time actually goes. Speeding up the coding step doesn't move the bottleneck; it just makes you wait faster for the same planning phase.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "blueprint-first" means, concretely
&lt;/h2&gt;

&lt;p&gt;Instead of generating files, Trillo AI generates a structured application blueprint from a natural-language description — the same kind of intermediate artifact an architect would sketch on a whiteboard before anyone opens an IDE.&lt;/p&gt;

&lt;p&gt;For example, given a prompt like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Build a vendor management platform where suppliers register, upload compliance documents, get approved, and message procurement teams. Add an AI agent that validates uploaded documents and flags missing information."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Trillo generates a blueprint that includes entities and relationships, business functions, API surface, and agent definitions — something along these lines (simplified):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;entities&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;Vendor&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;fields&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;taxId&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;contactEmail&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
    &lt;span class="na"&gt;relations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{&lt;/span&gt; &lt;span class="nv"&gt;hasMany&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;ComplianceDocument&lt;/span&gt; &lt;span class="pi"&gt;}&lt;/span&gt;
  &lt;span class="na"&gt;ComplianceDocument&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;fields&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;fileUrl&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;docType&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;uploadedAt&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
    &lt;span class="na"&gt;relations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{&lt;/span&gt; &lt;span class="nv"&gt;belongsTo&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;Vendor&lt;/span&gt; &lt;span class="pi"&gt;}&lt;/span&gt;

&lt;span class="na"&gt;functions&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;submitVendorApplication(vendorInput) -&amp;gt; Vendor&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;uploadComplianceDocument(vendorId, file) -&amp;gt; ComplianceDocument&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;approveVendor(vendorId, reviewerId) -&amp;gt; Vendor&lt;/span&gt;

&lt;span class="na"&gt;agents&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;DocumentValidatorAgent&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;trigger&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;on ComplianceDocument.created&lt;/span&gt;
    &lt;span class="na"&gt;action&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;validate document, extract required fields&lt;/span&gt;
    &lt;span class="na"&gt;on_missing_fields&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;notify(Vendor.contactEmail)&lt;/span&gt;

&lt;span class="na"&gt;apis&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;POST /vendors&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;POST /vendors/:id/documents&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;GET /vendors/:id/status&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That blueprint — not raw source code — becomes the shared source of truth for the team. It's editable and reviewable before anyone commits to an implementation, which is a much cheaper place to catch a wrong assumption than three sprints into development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coding assistants still do the coding
&lt;/h2&gt;

&lt;p&gt;The blueprint doesn't replace Claude Code, Copilot, or Cursor — it feeds them. Once entities, relationships, and business logic are defined, your coding assistant has a real spec to implement against instead of having to infer the data model from a vague prompt. In practice this means fewer mismatched assumptions between what you meant and what the assistant generated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Production is where most AI-generated apps stall
&lt;/h2&gt;

&lt;p&gt;A prototype that works on localhost and an application that's actually safe to run in production are very different things. The gap between them is usually:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concern&lt;/th&gt;
&lt;th&gt;Typically requires&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Auth &amp;amp; RBAC&lt;/td&gt;
&lt;td&gt;Custom implementation or a third-party identity provider&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit logging&lt;/td&gt;
&lt;td&gt;Bolted on after the fact, often inconsistently&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API hosting &amp;amp; scaling&lt;/td&gt;
&lt;td&gt;Infra setup, load balancing, deployment pipeline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agent execution&lt;/td&gt;
&lt;td&gt;Sandboxing, rate limits, monitoring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compliance&lt;/td&gt;
&lt;td&gt;Manual review, usually late in the process&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is the part that quietly consumes more engineering time than the original feature ever did. Trillo pairs the blueprint engine with &lt;strong&gt;Trillo AOS&lt;/strong&gt; (Application Operating System) — a runtime that every generated application deploys onto, so auth, RBAC, audit logging, email/SMS, webhooks, event processing, scheduling, serverless APIs, agent execution, and databases (relational, vector, graph) are already there rather than re-integrated per project. Each app runs in its own sandbox but shares the same underlying platform, security model, and observability — API performance, agent execution traces, event logs, and infra health in one place.&lt;/p&gt;

&lt;h2&gt;
  
  
  How this differs from low-code platforms and BaaS tools
&lt;/h2&gt;

&lt;p&gt;If you're thinking "isn't this just Retool / Supabase / Amplify with extra steps" — the honest answer is there's overlap, and it's worth being specific about where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Low-code builders&lt;/strong&gt; (Retool, etc.) are mainly UI-first: you assemble screens against existing data sources. Trillo starts from a data/business model and agent definitions, not a screen builder.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BaaS platforms&lt;/strong&gt; (Supabase, Firebase) give you backend primitives (DB, auth, functions) that you wire together yourself. Trillo's blueprint layer generates the data model, business logic, and agent definitions from a natural-language spec, then deploys onto a platform with those primitives built in — closer to "backend-as-a-service plus the design step" than either alone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI coding assistants&lt;/strong&gt; generate code directly from a prompt with no intermediate architecture artifact. Trillo generates the architecture first and hands the coding assistant a spec to implement against.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these are strictly better or worse — they solve different parts of the stack. Trillo is aimed specifically at the planning-to-production gap for internal/enterprise tools, not at replacing a general-purpose coding assistant or a consumer app builder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this is going
&lt;/h2&gt;

&lt;p&gt;The workflow we think wins over the next few years looks like:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Describe the business problem in plain language.&lt;/li&gt;
&lt;li&gt;Generate an application blueprint (entities, logic, APIs, agents, architecture).&lt;/li&gt;
&lt;li&gt;Use an AI coding assistant to implement against that blueprint.&lt;/li&gt;
&lt;li&gt;Deploy to a platform that already has auth, compliance, and observability built in.&lt;/li&gt;
&lt;li&gt;Monitor and evolve the app from real usage data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Code generation alone speeds up step 3. The bigger unlock is compressing steps 1, 2, 4, and 5 too — because in enterprise software, the blueprint is usually what determines whether the code becomes a working application or a demo that never ships.&lt;/p&gt;




&lt;p&gt;If you want to try the blueprint step on a real prompt, or want to see the AOS deployment side, contact us at &lt;a href="https://trillo.ai/contact" rel="noopener noreferrer"&gt;https://trillo.ai/contact&lt;/a&gt;. Happy to answer questions or dig into specifics in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>systemdesign</category>
    </item>
  </channel>
</rss>
