<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Anil Sharma on Medium]]></title>
        <description><![CDATA[Stories by Anil Sharma on Medium]]></description>
        <link>https://medium.com/@anil789?source=rss-280775e05b28------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*2h-T998y140FVok9Q5GhTg.jpeg</url>
            <title>Stories by Anil Sharma on Medium</title>
            <link>https://medium.com/@anil789?source=rss-280775e05b28------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 13:51:31 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@anil789/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[The GUI Isn’t Dead — It’s Being Reborn]]></title>
            <link>https://anil789.medium.com/the-gui-isnt-dead-it-s-being-reborn-8020cbb7f28a?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/8020cbb7f28a</guid>
            <category><![CDATA[blueprint-driven-ai]]></category>
            <category><![CDATA[gui-dead]]></category>
            <category><![CDATA[agentic-applications]]></category>
            <category><![CDATA[vibe-coding]]></category>
            <category><![CDATA[architected-ai]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Mon, 02 Mar 2026 08:54:49 GMT</pubDate>
            <atom:updated>2026-03-02T09:27:33.922Z</atom:updated>
            <content:encoded><![CDATA[<h4><em>(Why Replacing Structured Interfaces with AI-Generated Documents Is a Step Backward)</em></h4><p>There’s a growing chorus in the tech world declaring the death of the Graphical User Interface. The argument goes something like this: AI agents are so capable now that we don’t need traditional applications anymore. Just talk to an agent, get a markdown file, a chat response, or a generated document — and you’re done.</p><p>I believe this thinking is dangerously backward.</p><p>Not because AI isn’t powerful — it absolutely is. But because the people making this argument are confusing <strong>flexibility in creation</strong> with <strong>consistency in operation</strong>. They’re solving for the first while completely ignoring the second.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Q6HAKYdqbs_D0MxEm3WdEg.jpeg" /><figcaption>Is UI Dead and Replaced by Markdown Files? The image generated using Gemini.</figcaption></figure><h3>A Doctor, a Patient, and a Markdown File</h3><p>Let me make this concrete. A traditional Electronic Health Record system has structured forms, required fields, validation rules, consistent layouts, audit trails, and role-based access. Every patient record follows the same structure. A nurse in one clinic can read a record created by a doctor in another. Regulators can audit it. Insurance companies can process claims against it.</p><p>That’s not an accident of old technology. That’s a <em>requirement</em> of the domain.</p><p>Now imagine replacing that with an AI agent that generates a different markdown file for each patient interaction. The structure shifts depending on how the doctor phrased the prompt. Required fields get omitted because the model didn’t think to include them. Tuesday’s output looks nothing like Thursday’s. One doctor’s records are paragraphs of prose; another’s are bullet points.</p><p>Where is the governance? Where is the consistency? Where is the deterministic output that every downstream system — billing, compliance, analytics, continuity of care — depends on?</p><p>It’s gone. You traded it for the illusion of simplicity.</p><h3>What a GUI Actually Enforces</h3><p>The “GUI is dead” crowd tends to be individual power users — developers exploring codebases, researchers summarizing papers, writers drafting content. For them, free-form AI output is genuinely liberating. You don’t need determinism when you need creativity.</p><p>But enterprise software exists precisely because <strong>most business processes require determinism</strong>. A well-designed interface isn’t just pixels on a screen. It’s a governance system. Consider what it quietly enforces:</p><p><strong>Data integrity.</strong> A dropdown with five options ensures one of five valid values gets stored. An AI might hallucinate a sixth. A required field on a form guarantees completeness. An AI agent might skip it entirely because the prompt didn’t mention it.</p><p><strong>Workflow governance.</strong> A GUI enforces sequence — step 2 happens after step 1, approvals are collected before proceeding, certain roles see certain screens. An AI agent generating free-form output has no inherent concept of “you are not allowed to skip this step.”</p><p><strong>Auditability and compliance.</strong> When a structured application records an action, you know exactly what happened, who did it, and when. When an AI generates a markdown summary, you have a blob of text with no structured metadata behind it. Try running a SOC 2 audit on that.</p><p><strong>Consistency across users and time.</strong> If fifty people use a well-designed application, they all produce comparable, queryable, aggregatable data. If fifty people use an AI agent for the same task, you get fifty different interpretations.</p><p><strong>Trainability at scale.</strong> A consistent interface can be taught, documented, and supported across a 500-person organization. “Talk to the AI and it’ll figure it out” is not a training plan.</p><h3>Where the Narrative Breaks Down</h3><p>The “replace the GUI” argument works in exactly one scenario: <strong>non-repeatable, single-user, low-stakes tasks</strong>. Exploratory analysis. Brainstorming. Ad-hoc research. Creative drafts. One-off queries.</p><p>The moment a task becomes <strong>repeatable, multi-user, regulated, or high-stakes</strong>, you need structure. You need defined fields, enforced workflows, role-based access, and predictable outputs. You need, in other words, an application — whether it’s a traditional GUI, a next-generation conversational interface, or something we haven’t invented yet.</p><p>The format matters less than the principle: <strong>a designed system with defined behavior</strong> will always beat raw AI output for operational work.</p><h3>The Real Future: AI as Architect, Not as Output</h3><p>Here’s what I think the intelligent path forward actually looks like: <strong>AI should design and build the systems, not replace them.</strong></p><p>Instead of an AI agent that generates a different markdown file every time a doctor sees a patient, imagine an AI that <em>designs the entire EHR application</em> — the data models, the required fields, the validation rules, the workflows, the APIs, the UI components — and then generates the code for that system. The doctor then works inside a governed, consistent application that was architected by AI but operates with the determinism the domain demands.</p><p>The AI is the architect. The human operates within a building that has walls, doors, fire exits, and plumbing — not inside an AI-generated essay about what the building might look like.</p><p>This is the approach we’ve taken at Trillo AI. Our platform generates comprehensive software blueprints — specifications, data models, APIs, workflows, UI layouts — before a single line of code is written. The AI does the heavy lifting of design. But the output is a <em>structured, deterministic application</em>, not a different document every time.</p><p>The pitch is simple: <strong>every time you ask an AI agent to generate a report, you get a different report. When you use AI to build the application that generates reports, you get the same governed, auditable, consistent output every time — and the AI did the hard work of designing that system for you.</strong></p><h3>The Two Camps</h3><p>The market is splitting, whether it realizes it or not:</p><p><strong>Camp 1: “Let the AI generate everything on the fly.”</strong> This is the vibe coding, chat-as-interface, markdown-as-output world. It works beautifully for prototypes, personal projects, and demos. It falls apart at scale, in teams, and under governance requirements. It’s where a lot of excitement — and a lot of venture capital — is concentrated right now.</p><p><strong>Camp 2: “AI designs the system; humans operate within a governed system.”</strong> This is harder to demo in a tweet. It’s less flashy. But it’s what actually works when you need fifty people using the same application, compliance officers auditing the output, and downstream systems consuming structured data.</p><p>I’m not anti-AI. I’m pro-AI <em>in the right layer of the stack</em>.</p><p>The GUI isn’t dead. It’s being reborn — designed by AI, built by AI, but operated by humans who need consistency, governance, and trust in the systems they use every day.</p><h3>A Question Worth Asking</h3><p>The next time someone tells you that AI agents will replace traditional applications, ask them one question:</p><p><em>“When fifty different people use your AI agent for the same task, do they all get the same structured, auditable, governed output — or do they get fifty different markdown files?”</em></p><p>The answer will tell you everything about whether they’re building for demos or for the real world.</p><p><em>I am Anil Sharma, CEO and Founder of </em><a href="https://trillo.ai/"><em>Trillo AI</em></a><em>, a Google Cloud Premier Partner company building a blueprint-first platform for AI-powered application generation. This post was developed through a conversation with Claude (Anthropic), which helped refine the arguments and structure. The core thesis — that replacing governed interfaces with free-form AI output sacrifices the determinism that enterprise software exists to provide — is the author’s.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8020cbb7f28a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[We Built a 100K-Line Enterprise App Using AI — Here’s Why Vibe-Coding Couldn’t]]></title>
            <link>https://pub.towardsai.net/we-built-a-100k-line-enterprise-app-using-ai-heres-why-vibe-coding-couldn-t-4f1220d08203?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/4f1220d08203</guid>
            <category><![CDATA[blueprint]]></category>
            <category><![CDATA[calude-code]]></category>
            <category><![CDATA[spec-driven-development]]></category>
            <category><![CDATA[app-generator]]></category>
            <category><![CDATA[gemini]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Fri, 27 Feb 2026 06:00:52 GMT</pubDate>
            <atom:updated>2026-03-09T05:29:13.160Z</atom:updated>
            <content:encoded><![CDATA[<p>We generated an AI-native Aircraft MRO system — 55 entities, 78 API endpoints, 114 UI components, over 100,000 lines of code — in under a week. The blueprint took less than an hour.</p><p>The conventional process to create a blueprint with similar detail would take four months.</p><p>It consists of 44,000 lines of server-side code and 63,000 lines of UI code. Overall, the AI-generated code is 50%–60% of the production application code.</p><p>Our assessment is that the server side has 40%–50% stubbed code that needs to be completed. The incomplete part is algorithmic and related to external systems integration and knowledge graphs.</p><p>The blueprint surfaced the knowledge graph in the specification. By analyzing the artifacts using AI, we were able to deduce what the knowledge is and how to extract it from documents.</p><p><strong>Our approach was to blueprint first. The blueprint was created using Gemini 3.0 and a human-in-the-loop interface.</strong></p><p><strong>Using blueprint artifacts, it took Claude Code 20 hours to generate the code autonomously.</strong></p><p>The following diagram shows the process we followed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/719/1*15KssT92ZxLbzAlw1NDNYg.png" /><figcaption>From Requirements to Production: The Journey of an Enterprise Application using AI</figcaption></figure><h3>Vibe-Coding vs Blueprint for Application Generation</h3><blockquote>The blueprint approach works for generating a large body of code with a textbook structure. It doesn’t mean that vibe-coding is dead or some such claim. We will later see that vibe-coding works well once structure is available.</blockquote><p>Could we have built an application of such complexity using vibe-coding? Definitely not. A developer can’t carry the mental map of a complex application in their head and translate it into code using Claude Code.</p><p><strong>By analogy, you can’t build a thousand-room hotel one room at a time.</strong> Add fifty amenities, optimal use of the land, and city building code to the mix — it becomes a problem you can’t solve by prompting AI (vibe-code style). You need a blueprint of the application.</p><p>Similarly, you can’t build a large enterprise-class application using the bottom-up approach of vibe-coding — prompting AI to generate code incrementally, one feature at a time, without an upfront architectural design. You need a blueprint of the application.</p><p>There is a second problem with vibe-coding: it is developer-centric. It does not involve business experts, analysts, product managers, architects, and other roles in the process.</p><p>The following diagram says it all about vibe-coding vs. blueprint.</p><p>Vibe-coding can’t produce either normative or canonical output at scale, because there’s no single authoritative specification governing the generation.</p><p><strong>The interesting finding is that vibe-coding works well once you generate the structure of the code using a blueprint. </strong>Blueprint does not eliminate AI coding tools. It elevates them by grounding them in a system-level design.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Wf9MF0ClhJ6wGI_GHPmrag.jpeg" /><figcaption>Vibe-coding vs. Blueprint <a href="https://www.linkedin.com/posts/eordax_ai-strategy-business-activity-7409347343285866496-GaPG/">(image courtesy of Eduardo Ordax)</a></figcaption></figure><p><strong>The rest of the blog answers the following questions:</strong></p><ul><li>Is it possible to generate a blueprint of a large application using AI?</li><li>Is the process repeatable?</li><li>Can the blueprint be used to generate code at scale using tools like Claude Code?</li><li>Will the blueprint and generated code be accurate — or will it produce plausible-looking output that is fundamentally wrong?</li><li>How will different roles participate in and verify the output?</li></ul><p><strong>You will find that the answers to the above questions are as follows:</strong></p><ul><li>AI can generate a structured blueprint by orchestrating several smaller steps in a logical order.</li><li>The output is accurate if human actors review and refine it by conversing with AI.</li><li>Human participation leads to convergence.</li><li>That blueprint can drive deterministic, large-scale code generation.</li><li>The resulting system is more coherent, auditable, and understandable across roles.</li></ul><h3>What is a blueprint of a software system?</h3><p>A software blueprint is a collection of structured documents that collectively provide a normative definition of a software system. Externally, to a user, these are presented as readable documents, including visuals, to understand and comprehend. Internally, they may be modeled using JSON/XML schemas, RDFs, or knowledge graphs.</p><blockquote>Blueprint-driven development is a superset of spec-driven development. Rather than focusing on individual specifications, a blueprint unifies them — connecting object models, APIs, workflows, and UI components into a single, cohesive architecture.</blockquote><p><strong>An AI-driven blueprint should fulfill the following requirements.</strong></p><ol><li>AI should generate it from a requirements document, with a human-in-the-loop interface that operates using natural language.</li><li>Internally, it should adhere to a formal schema so an AI system can consume it for code generation.</li><li>Externally, it should be easy to understand so people in different roles can review and validate it.</li><li>Together with human-in-the-loop input, an orchestrator should converge on a desired blueprint.</li></ol><h3>List of blueprint artifacts</h3><p>The following diagram shows a list of AI artifacts. They resemble steps of SDLC (Software Development Life Cycle).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/878/1*WPaoAuVZi25nPfzN4bS1yg.png" /><figcaption>Artifacts of a Structured Blueprint</figcaption></figure><p><strong>Requirements: </strong>This is input to the workflow.</p><p><strong>Requirements Analysis: </strong>This agent analyzes requirements to determine gaps using AI. It prompts the user with questions, providing one or more possible answers. The user can edit or select the right answer.</p><p><strong>Solution Discovery: </strong>This agent proposes solution options based on factors such as cloud services, deployment models, and available out-of-the-box services. The user selects the preferred approach.</p><p><strong>Software Specification: </strong>This agent generates functional and non-functional requirements of the application. It also generates technical specifications for various aspects of the application — object model, user interface scenarios, microservices, workflows, external integration, MCP tools, AI agents, deployment specifications, and cloud services mapping.</p><p><strong>Architecture: </strong>This agent prepares an architecture diagram of the application with a short description of each component.</p><p><strong>The remaining agents generate detailed designs for each layer of the application.</strong></p><blockquote>In the past, a comprehensive specification of artifacts was time-consuming. Therefore software development teams rarely prepared a normative definition of artifacts and often relied on agile methodologies to refine them throughout the development process.</blockquote><blockquote>AI can generate a comprehensive definition of artifacts in minutes and validate them by cross-checking. Due to the enormous speed gain, iterations of agile methodologies take on a different dimension.</blockquote><h3>How AI generates blueprint artifacts</h3><p>Each artifact is generated by one or more AI agents. AI agents produce a normative specification and are deterministic.</p><p>A workflow orchestrates AI agents in the order shown in the diagram. The input to each AI agent depends on the output of one or more previous agents.</p><p>The input to the workflow is a business requirement document.</p><p>Let us examine a few agents — how they work.</p><p>The first AI agent is the “Requirements Analysis” agent. It analyzes the requirements and identifies gaps. It iteratively interviews the user presenting gaps and their possible resolutions. It repeats the process until no more gaps exist.</p><p>The second agent takes the refined requirements from the ‘Requirements Analysis’ step and proposes solution options. Each option is based on factors such as cloud service choices, hybrid on-premise and cloud deployment, or available out-of-the-box services. The user can guide AI in a particular direction or propose solutions based on different criteria. Finally, the user selects one of the options.</p><p>The ‘Software Specification’ agent takes requirements and the user-selected solution approach as input. It generates a functional, non-functional, and technical specification from them.</p><p>‘Software Specification’ leads to an architecture diagram and so on.</p><p>The agents for access control rules, object model, UI, APIs of microservices, workflows, external interfaces, MCP tools, and AI agents generate detailed designs for artifacts. Each of these agents is designed to work with minimal context. Some agents perform validation and cross-validation.</p><p><strong>The process described above has the following characteristics:</strong></p><ol><li>Gradually refine the output of each previous step to arrive at detailed specifications and design.</li><li>The AI does the heavy lifting — generating output, validating, and proposing solutions for gaps.</li><li>The user has control over the direction of artifacts at each step.</li></ol><p>Based on our experience of MRO, the above process produces a detailed blueprint of an application. It is highly accurate (&gt;90% based on tracing to requirements). Based on user input, agents were able to produce accurate results in one to three iterations.</p><p>Requirements Analysis and Software Specification are two important steps where all roles (domain experts, PMs, architects, etc.) can participate. A solution architect participates in all activities. At the design step, architects, senior software engineers, and UI/UX experts participate in the process.</p><p>The output of artifacts was detailed and structured enough that we were able to orchestrate large-scale code generation using Claude Code. It is covered in more detail below.</p><p>To summarize our findings, an accurate blueprint of a large application can be generated if a workflow follows these steps and rules.</p><ol><li>Starting from requirements, it should proceed in steps towards a detailed blueprint.</li><li>Human-in-the-loop is critical for accuracy and governance. Human interaction should be simple and friendly.</li><li>AI output should follow a structure so it can be guided using the best principles of software design.</li><li>Workflow orchestration and agent design should ensure cohesive output. It will require cross-checking outputs of different artifacts.</li><li><strong>You can generate a detailed technical specification and architecture of an application from requirements in less than five minutes. Review, refine, and iterate over it a few times. This process is many times faster than doing it manually. </strong>The coverage and accuracy are higher than in manual processes.</li></ol><h3>Holistic analysis of application</h3><p>A blueprint serves as a detailed knowledge base of the application. Starting from the requirements, AI expands it in a stepwise manner. The steps are logically ordered so they can evolve in a cohesive manner. A user can analyze the output of each step and update it using a conversational, chat-like interface.</p><p>Once the knowledge base of the entire application is available, users can analyze it to gain insight into the application. Based on analysis, users can regenerate the blueprint or develop a future roadmap. They can also use it to generate user documentation, marketing materials, whitepapers, etc.</p><h3>Generating code stepwise</h3><p>We were able to generate a detailed blueprint that served as the foundation for generating large-scale application code (&gt;100,000 lines). We used Claude Code through a carefully crafted orchestrator. You can think of our orchestrator as an outer loop of the Claude Code loop.</p><p>The orchestrator mimics how developers work. Like a development team, it generates code in layers starting with the bottommost layer. For example, it generates object model code first, API code next, and so on. It executes validation and testing loops at every step. After the server code is generated, it tests it using curl and other triggers. The orchestrator follows similar steps to generate UI code. Finally, it does UI and server integration testing.</p><p>If you examine the entire process, we generate structured blueprints using stepwise refinement. Using complementary steps and Opus 4.6 through Claude Code, we then generate application code.</p><h3>Role of Vibe-coding</h3><p>Once code was generated, the server-side code worked well 98% of the time. But the UI had 10%–20% broken links or API calls. We used vibe-coding to fix such issues. It took us about a week.</p><p>Once the structure of the code was in place, we were able to extend modules using vibe-coding.</p><p>Here is an example. A developer encountered a duplicate key error, described it in a prompt, and Claude Code fixed it by analyzing the generated code structure.</p><p><strong>Issue: </strong>Duplicate React Key in Threshold Tuning Form</p><p><strong>Error:</strong></p><pre>Warning: Encountered two children with the same key, `2`. <br>Keys should be unique so that<br>components maintain their identity across updates. <br>Non-unique keys may cause children to<br>be duplicated and/or omitted.<br>  at select (&lt;anonymous&gt;)<br>  at ThresholdTuningForm (threshold-tuning-form.tsx:60:3)</pre><p><strong>Vibe-Code Prompt:</strong></p><pre>The following error is coming under <br>Reliability Engineer -&gt; Hypothesis Testing -&gt; clicking on Threshold Tuning.<br></pre><p><strong>Fix:</strong></p><pre>The `modelOptions` array merges `predictiveModels` and `cvModels` <br>using `String(m.id)` as the key. <br>Both model types use auto-incrementing database IDs, <br>so a PredictiveModel and a ComputerVisionModel can share the same <br>numeric ID (e.g., both have `id: 2`), producing duplicate keys.<br><br>Prefixed each ID with its model class to make keys unique:<br><br>```tsx<br>// Before — duplicate keys when both tables have id=2<br>const modelOptions = [<br>  ...predictiveModels.map((m) =&gt; ({ id: String(m.id), ... })),<br>  ...cvModels.map((m) =&gt; ({ id: String(m.id), ... })),<br>];<br><br>// After — unique keys with model class prefix<br>const modelOptions = [<br>  ...predictiveModels.map((m) =&gt; ({ id: `pm-${m.id}`, ... })),<br>  ...cvModels.map((m) =&gt; ({ id: `cv-${m.id}`, ... })),<br>];<br>```<br><br>Updated the mutation functions to strip the prefix before <br>sending to the API:<br><br>```tsx<br>const numericId = parseInt(data.modelId.replace(/^(pm|cv)-/, &#39;&#39;), 10);<br>```<br><br>**Files Changed:**<br>- `src/components/containers/hypothesis-testing-container.tsx`</pre><blockquote><strong>Well-structured code makes vibe-coding more effective.</strong></blockquote><h3>Conclusion</h3><p>MRO is a real customer application. Once we generated an architectural blueprint in an hour, it created excitement. Someone said, “Beautiful — this is what we imagined a system based on AI agents should look like.” Within a week, we had a POC deployed on the cloud.</p><p>The reason we mention this — the blueprint approach is not merely a research exercise. It works.</p><p>The real breakthrough isn’t that AI writes code — it’s that AI can manufacture structure. That makes App Factories possible. Once structure exists, code generation becomes predictable, scalable, and governable.</p><p>We believe that the future will see many such factories. Some of them will be tailored to a particular domain. Human-in-the-loop will be very important. Factories will provide interfaces that make it easy for humans to interact with AI and comprehend its output.</p><p>It may make you anxious or excited.</p><blockquote>When the wheel was invented, the powerful men of the community, pulling rocks uphill, were concerned. Soon they were wheeling more rocks and building castles.</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4f1220d08203" width="1" height="1" alt=""><hr><p><a href="https://pub.towardsai.net/we-built-a-100k-line-enterprise-app-using-ai-heres-why-vibe-coding-couldn-t-4f1220d08203">We Built a 100K-Line Enterprise App Using AI — Here’s Why Vibe-Coding Couldn’t</a> was originally published in <a href="https://pub.towardsai.net/">Towards AI</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Architecting Cloud Applications with AI]]></title>
            <link>https://anil789.medium.com/architecting-cloud-applications-with-ai-f3936578026e?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/f3936578026e</guid>
            <category><![CDATA[cloud-architecture]]></category>
            <category><![CDATA[ai-powered-sdlc]]></category>
            <category><![CDATA[ai-generated-architecture]]></category>
            <category><![CDATA[ai-application-generation]]></category>
            <category><![CDATA[ai-code-generation]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Thu, 18 Dec 2025 08:46:31 GMT</pubDate>
            <atom:updated>2025-12-21T07:39:42.011Z</atom:updated>
            <content:encoded><![CDATA[<h4>(<em>Generate, review, and refine architecture for AWS, Azure, or GCP)</em></h4><p>In this blog, you’ll learn how to produce high-quality specifications and architecture documents using AI — generating the first draft in minutes, then refining it into a clear blueprint of any application, however complex.</p><p>In the next blog, we go further: generating server and UI code directly from these artifacts using Claude Code. Not scaffolding. <strong>Production-grade code built on best practices</strong> — as good as writing it yourself.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iW_l5CxxpkSc5z-rwIw9lA.png" /><figcaption>Trillo AI Application Generation Process</figcaption></figure><h3>The Problem</h3><p>You have software requirements in informal or formal form — emails, meeting transcripts, notes, partial documents. Historically, you take one of two paths:</p><h4>Path 1: The Blank Page Trap</h4><p>You start with a clean slate and wrestle with blank page syndrome. You spend weeks researching, discovering, and producing a draft specification and architecture.</p><h4>Path 2: Jump Straight to Code</h4><p>Based on past experience, you visualize the application in your mind and skip specification work. You jump straight to prototyping — and <em>you start down a winding road where technical debt accumulates from day one.</em></p><h3><strong>How AI Changes This</strong></h3><p>With AI, you generate a software specification and architecture in minutes. You review, analyze, and refine by conversing with AI over a day or two. At the end, you have genuine comprehension of the system — not a vague sketch, but technical understanding you can articulate and defend.</p><p><strong>The cost:</strong> under $50 for the first draft plus 2–3 revisions using a tool like Trillo AI used for demonstration in this blog.</p><p>Even if you already use modern IDEs with AI code generation, a solid specification and architecture makes you dramatically more effective. You work at the right level of abstraction. You stop solving the wrong problems.</p><h3><strong>Light Bulb Moment</strong></h3><p>Here’s what this looks like in practice. Someone handed me a complex set of requirements. Instead of spending hours reading and parsing it, I put it through Trillo AI. Minutes later, I had the architecture diagram below and a structured specification. I started developing a good understanding of the system instantly. After that, reading the original document and understanding user intent became straightforward.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1I0GL78jcOEcMGfTzO3SAw.png" /><figcaption>Light Bulb Moment — Architecture Diagram of a Complex Application in Minutes</figcaption></figure><h3>What Rest of This Blog Covers</h3><p>As discussed in <a href="https://medium.com/@anil789/ai-the-future-of-software-engineering-93e7b167c816"><em>AI &amp; the Future of Software Engineering</em>,</a> developing with AI will be a critical skill. This blog shows you how in tutorial style. The steps marked with (*) are interesting.</p><ol><li><strong>Collecting Requirements</strong></li><li><strong>Ingesting Requirements</strong></li><li><strong>Generating Software Specifications Draft</strong></li><li><strong>Reviewing Software Specifications by Conversing with AI (*)</strong></li><li><strong>Generating Architecture (*)</strong></li><li><strong>Cloud Services Costs</strong></li><li><strong>Architecture Diagrams for GCP, AWS, Azure</strong></li></ol><h3><strong>Collecting Requirements</strong></h3><p>We’ll use Trillo AI, a tool with features that let us explore AI’s capabilities discussed in this blog. Trillo AI accepts input as a PDF file or through its built-in editor.</p><p>If you have formal requirements, export them as a PDF file. Otherwise, cut and paste informal requirements from multiple sources — emails, call transcripts, notes — directly into the Trillo AI editor. Or consolidate them into a single PDF.</p><p>No need to format or reorder. Let Trillo AI do the heavy lifting.</p><h3>Ingesting Requirements</h3><p>Once your requirements are ready, follow these steps:</p><ol><li>Sign up or log in at <a href="http://trillo.ai/">trillo.ai</a></li><li>From the application dashboard, create a new application by giving it a name and selecting your target cloud (AWS, Azure, or GCP)</li><li>Click on the application title to begin ingesting your requirements</li><li>You’ll land on the following screen</li><li>Drag and drop your PDF, or enter requirements manually</li><li>For this blog, we used a <a href="https://drive.google.com/file/d/1MlPBNcdEPLWuLp1zrOCrK2rI_M4GDaPf/view?usp=sharing">Hospital Management System requirements document.</a> You can view it by clicking on the link.</li><li>Once your file uploads, the system will prompt you to proceed with processing. Confirm.</li></ol><p>Within seconds, Trillo AI extracts your requirements and prepares them for the next step.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*t0_chCEbLWeRAy8M2iIXMA.png" /><figcaption>Upload Application Requirements or Manually Enter</figcaption></figure><h3><strong>Generating Software Specifications Draft</strong></h3><p>Once your document is ingested, Trillo AI takes over. You direct the process by confirming its actions or by conversing with it.</p><p>You’ll see the following screen. Click “Ask AI to Generate Software Specification” and confirm the default values in the dialog box.</p><p>Within a minute, Trillo AI generates a structured specification organized by functional requirements, business entities, user interface, backend workflows, and more.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XIL4GrEg4hDrGTiWu1Pr6w.png" /><figcaption>Ask Trillo AI to Generate Software Specification</figcaption></figure><h3><strong>Reviewing Software Specifications by Conversing with AI</strong></h3><p><strong>This is the most important step for human-in-the-loop review.</strong></p><p>Once the software specification is generated, you’ll land on the screen shown below. Open the conversation sidebar by clicking the Chat icon. Notice the buttons to add, accept, delete, and edit requirements and issues. You can toggle the project phase — MVP, POC, GA — as needed. All changes remain temporary and can be undone until you click “Merge All Changes.”</p><p>Using the sidebar chat, you can converse with AI to analyze the specification. For example:</p><ul><li><em>“What are the most important PHI and PII attributes in the system that I need to protect? List them in two categories: most critical and major.”</em></li><li><em>“Why is GKE needed for deployment? How does it help?”</em></li></ul><p>You can also use the chat to update the document. For example:</p><ul><li>Ask: <em>“What are the compliance requirements to deploy this application in Europe?”</em></li><li>The system responds with a detailed answer.</li><li>Follow up: <em>“Add these requirements to the software specifications.”</em></li><li>The system updates your document accordingly.</li></ul><p>Trillo AI maintains version history, so you can always go back to a prior version and restore it.</p><p><strong>If you diligently review and refine the specification at this stage, every subsequent step — architecture, cost estimation, code generation — will work with higher accuracy.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QcZnHoqrXoT0k6m_qgiWwQ.png" /><figcaption>Reviewing Software Specifications, Analyzing and Updating by Conversing with Trillo AI</figcaption></figure><h3>Generating Architecture</h3><p>Similar to the software specification, you can generate the application architecture with a single click, as shown below.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*60GVZJhCvuo_8OJijYRD1g.png" /><figcaption>Trillo AI Generated Architecture Diagram</figcaption></figure><p>Use the sidebar to analyze the architecture. For example:</p><ul><li><em>“My application UI (for patient, doctor, and admin portals) consists of a React bundle. Can I use Firebase Hosting?”</em></li></ul><p>To update the architecture, regenerate it with comments. In the regeneration dialog, provide instructions like:</p><ul><li><em>“Regenerate architecture by replacing Cloud Run with Firebase Hosting for Patient, Doctor, and Admin portals.”</em></li></ul><p>The system generates a new diagram and updates the description to match. Previous versions are preserved in the version history.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*32-xjDNnFdmEmbKFA6-0FQ.png" /><figcaption>Regenerating Architecture with Comments</figcaption></figure><h3>Cloud Services Costs</h3><p>Similar to the software specification and architecture, cloud service costs can be generated using AI.</p><p>The estimate breaks down costs by service category — compute, database, networking, security, monitoring, and more — giving you a realistic view of operational expenses before you write a line of code.</p><p>The figures are approximate and may not be perfectly accurate, but they provide a useful indication of scale and a solid starting point for budget planning.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CGlMX99uRneYQ_6JwzmKZw.png" /><figcaption>Cloud Service Cost Generated by Trillo AI</figcaption></figure><h3><strong>Architecture Diagrams for GCP, AWS, Azure</strong></h3><p>Trillo AI generates architecture for your target cloud. To demonstrate portability, here is the same Hospital Management System designed for all three major cloud providers.</p><p>Notice how the core layers — Presentation, API, Application Services, Data — remain consistent across clouds, while the specific services adapt to each platform’s strengths:</p><ul><li><strong>GCP:</strong> Firebase Hosting for static content, Cloud Run for containerized services, Cloud SQL and Memorystore for data</li><li><strong>AWS:</strong> S3 and CloudFront for content delivery, ECS for container orchestration, RDS and DynamoDB for data, Step Functions for workflows</li><li><strong>Azure:</strong> App Service for both hosting and microservices, API Management for gateway, SQL Database and Cosmos DB for relational and NoSQL needs</li></ul><p>The architectural decisions — layered design, managed services, separation of concerns — transfer across clouds. Only the implementation details change.</p><h4><strong>Architecture Diagram for GCP</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xaHqcysVRX2x_FjHpaGX4w.png" /><figcaption>Architecture Diagram GCP Generated Using Trillo AI</figcaption></figure><h4>Architecture Diagram for AWS</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7V5Pl1oMlyrIvngQWcnNPQ.png" /><figcaption>Architecture Diagram AWS Generated Using Trillo AI</figcaption></figure><h4>Architecture Diagram for Azure</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dGSxGbvLXnJDkOxA5CeCZw.png" /><figcaption>Architecture Diagram Azure Generated Using Trillo AI</figcaption></figure><h3>Conclusion</h3><p>In this blog, you went from informal requirements to a complete cloud architecture — specification, diagrams, cost estimates — in a fraction of the time it would traditionally take.</p><p>The key insight isn’t just speed. It’s that starting from an AI-generated draft fundamentally changes how you work. You’re no longer staring at a blank page, struggling to structure your thoughts. You’re reviewing, questioning, refining. The system becomes clear faster because you have something concrete to react to.</p><p>For under $50, you get a structured specification, a defensible architecture, and a realistic cost estimate — artifacts that would normally take weeks and cost thousands in consulting time.</p><p><strong>In the next blog</strong>, we take these artifacts further: generating production-grade server and UI code directly from the specification and architecture. Not scaffolding — working code built on best practices.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f3936578026e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AI & the Future of Software Engineering]]></title>
            <link>https://anil789.medium.com/ai-the-future-of-software-engineering-93e7b167c816?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/93e7b167c816</guid>
            <category><![CDATA[ai-powered-sdlc]]></category>
            <category><![CDATA[ai-powered-pdlc]]></category>
            <category><![CDATA[ai-prototyping]]></category>
            <category><![CDATA[ai-software-engineering]]></category>
            <category><![CDATA[ai-generated-architecture]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Tue, 09 Dec 2025 04:12:24 GMT</pubDate>
            <atom:updated>2025-12-21T07:37:40.569Z</atom:updated>
            <content:encoded><![CDATA[<h4><em>(How AI Will Empower Software Professionals, Not Replace Them)</em></h4><p>If you’re an architect, a developer, a product manager, or an engineering lead, you’ve probably felt this. That mix of excitement and dread when you watch AI generate in seconds what used to take you hours. The quiet worry that maybe you’re witnessing your own replacement.</p><p>It is a valid fear. The speed at which AI operates can feel overwhelming. As a software company, we are not immune to this uncertainty; we have faced the same dilemma and asked the same hard questions.</p><p>So let me give you a direct answer: <strong>No. AI will not make you obsolete. But it will change how you work — profoundly. </strong>Those who adopt AI-powered software engineering will innovate faster, deliver higher quality, and explore domains beyond their traditional expertise.</p><p>To understand this change, we must look at history:</p><blockquote>When the wheel was invented, the powerful men of the community, pulling rocks uphill, were concerned. Soon they were wheeling more rocks and building castles.</blockquote><p>We are currently at that “wheel” moment.</p><h3><strong>What Does This Change Look Like?</strong></h3><p>Let’s move from theory to reality. Consider the architecture diagram below.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xaHqcysVRX2x_FjHpaGX4w.png" /><figcaption><em>Fig1: High-level architecture of the Hospital Management Portal — Generated in Seconds</em></figcaption></figure><p>This is the complete, HIPAA-compliant Cloud Architecture generated from a single sentence: “I want to build a hospital management application that is HIPAA compliant”</p><p>In a traditional workflow, reaching this level of clarity — defining the Presentation Layer, API Layer, and Application Services Layer would take a team of experts days or weeks of white boarding. With AI, you can generate this baseline in seconds.</p><p>This delivers immediate gratification. <strong>It eliminates the intimidation of the blank page and lets you start editing immediately.</strong></p><h3><strong>But There’s a Catch</strong></h3><p>The power of AI comes with a dangerous caveat. That architecture diagram above looks perfect, but if generated without rigor, it might just be a pretty hallucination.</p><p>If you feed an AI a massive, undefined request, like “build me a hospital app”, the context becomes too vast. The AI loses the plot. Instead of converging on a workable solution, it diverges, roaming in a zigzag direction.</p><p>Think of it this way: It is the difference between asking an architect to “design a building” versus asking them to “draft the foyer dimensions based on this specific occupancy code.” AI fails at the former (the broad, vague request) but excels at the latter (the specific, constrained task).</p><p>To turn that “pretty diagram” into working, reliable software, we cannot just chat with the bot. We need a process.</p><h3>The Solution: The AI-Powered SDLC</h3><p>Traditional SDLC failed due to a lack of rigor simply because maintaining that rigor was too expensive, time-consuming, and often humanly impossible. We must apply the rigor of a Software Development Life Cycle (SDLC), but one reimagined for the AI age.</p><p>To make AI effective, we must break the problem space into small, managed steps orchestrated by an SDLC workflow. This workflow moves sequentially through distinct phases to lock in the context and prevent drift:</p><ul><li><strong>Requirements:</strong> Integrating ideas and user stories.</li><li><strong>Specifications:</strong> Defining user scenarios and architecture.</li><li><strong>Design:</strong> Creating data models and API definitions.</li><li><strong>Code Generation:</strong> Artifacts produced by AI-Powered SDLC platform (such as Trillo AI) and Claude Code can generate working code of an application. The blog <a href="https://medium.com/@anil789/architecting-cloud-applications-with-ai-f3936578026e">Architecting Cloud Applications with AI</a> covers this topic in detail.</li></ul><p>By breaking the project down, we ensure the AI is never “guessing” about the whole world. It is only solving one specific puzzle at a time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iW_l5CxxpkSc5z-rwIw9lA.png" /><figcaption>Fig 2: AI Powered SDLC Workflow with Human-in-the-Loop at Every Stage</figcaption></figure><p>The rest of this blog walks through a few phases. But first, let’s address the most important question: <strong>Where do <em>you</em> fit in this process?</strong></p><h3><strong>You Are the Architect, Not the Passenger</strong></h3><p>Automation does not mean losing control. In this model, AI is the engine but you are the Chief Architect.</p><p>Your role is to guide the AI toward convergence: reviewing outputs, catching blind spots, enforcing constraints the AI doesn’t know about. The tool’s job is to make that guidance easy, visual, and intuitive.</p><p>We call this the <strong>Human-in-the-Loop</strong> workflow. Let’s see it in action.</p><h3>SDLC Step 1 — Generating the Software Specification with Human-in-the-Loop</h3><p>The SDLC begins with Requirements. These can range from a one-liner to a hundred-page RFP. Your first goal is to convert that raw input into a structured Software Specification.</p><p>Here’s how the Human-in-the-Loop workflow operates at this stage:</p><p><strong>1. Input &amp; Generation</strong> You provide the requirements, and the AI generates a baseline draft. This isn’t just a summary, it’s a comprehensive specification including user personas, functional/non-functional requirements, data entities, workflows, integrations, and Cloud Service requirements.</p><p><strong>2. The Review Loop</strong> This is where you take the wheel. You review the baseline and choose one of four paths:</p><ul><li><strong>Clarify:</strong> Use the sidebar conversation (like Google Docs comments) to ask the AI questions about dense sections. It answers using the specification as its locked context.</li><li><strong>Refine:</strong> Use UI or instruct the AI to adjust, add, or delete content incrementally.</li><li><strong>Regenerate:</strong> If the draft missed the mark, note your constraints and regenerate from scratch.</li><li><strong>Revise Input:</strong> If outputs are consistently off, the source requirements are likely too vague. Revise them and restart.</li></ul><p><strong>The Result: Convergence in Hours, Not Weeks</strong></p><p>Based on our case studies, an architect can reach a highly accurate Software Specification in a few iterations, typically less than a day.</p><p>This offers a strategic advantage: because this step often happens <em>before</em> a project is funded, generating high-fidelity specifications instantly lets you present a mature proposal to stakeholders without weeks of unpaid work.</p><p>The following screenshots show this workflow in practice. Notice the sidebar conversation on the right. This is your cockpit for steering the AI.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2q-MMGNTUVo5McDxiK9beg.png" /><figcaption><em>Fig 3:Generate Software Specification from Requirements in Seconds, Refine using Sidebar Conversation</em></figcaption></figure><h3>SDLC Step 2 — Generate Architecture Diagram using AI</h3><p>With the specification locked in, the next phase is architecture.</p><p>Here, AI uses the Software Specification as context to generate a system architecture diagram. If you’ve refined the specification to high accuracy in the previous step, the generated architecture will reflect that accuracy. But it may not match your vision exactly.</p><p>This is expected. Note your feedback, supply it as input, and regenerate. The AI will adjust.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vC8X8RQ_bhQGh-hkU8Sc6A.png" /><figcaption><em>Fig 4: Generate Architecture in Seconds, then Refine by Regenerating with Comments</em></figcaption></figure><h4>Regenerate Dialog</h4><p>Converging on the architecture typically takes two or three regeneration cycles with comments. During regeneration, you can choose to retain past execution history as context — useful for incremental refinements where you want to preserve earlier decisions.</p><p>In other cases, you may want to start fresh. Uncheck “Retain Past Execution Memory as Reference” to discard prior context and regenerate from a clean slate.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*In5pbIulraCIcJfjlOrLKQ.png" /><figcaption><em>Fig 5: Regenerate Output of any Activity With or Without Comments</em></figcaption></figure><h3>Rest of Activities and Their Organization</h3><p>The diagram below shows all activities in the SDLC pipeline. They appear in the logical order they’re executed, moving from specification through design to prototype. <strong>We will cover them in future blogs.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gGOReLOXHp-0hO2ABDh4WA.png" /><figcaption>Fig 6: The AI-Powered SDLC From Specification to Prototype</figcaption></figure><p>The activities are classified in three categories (progressively including previous perspectives).</p><h4>Specification Perspective Activities</h4><p>This phase transforms raw requirements into structured artifacts: the Software Specification, Architecture, Estimates, and Cloud Service mappings. Each artifact feeds the next, building context as you progress.</p><h4>Design Perspective Activities</h4><p>With specifications locked, the Design phase produces the detailed blueprints: data models, API definitions, UI structures, workflows, and external system integrations. These become the source of truth for code generation.</p><h4>Prototype Perspective Activities</h4><p>This phase generates working software: test data, UI code, and a deployable prototype on cloud infrastructure. What would traditionally take weeks of development happens in hours.</p><h3>Holistic Analysis Feature</h3><p>At any point, you can run a cross-artifact analysis to surface inconsistencies, gaps, or misalignments between phases. Think of it as a built-in reviewer that catches what human eyes might miss.</p><p>In Trillo AI, this feature is accessible via the green ‘Analysis’ button on the top bar.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YWc3b1lha9nvwiCuJGrEuQ.png" /><figcaption><em>Fig 7: Cross-artifact Analysis — A built-in reviewer for consistency</em></figcaption></figure><h3>Concluding Remarks</h3><p>We started with a fear: that AI might make us obsolete. We end it with a realization: AI is the lever that allows us to lift heavier rocks.</p><p>By adopting this AI-powered process, you are stepping up. You are moving away from the fatigue of “blank page syndrome” and the drudgery of manual drafting. You are embracing a role where you innovate faster, deliver higher quality, and explore areas beyond your traditional expertise.</p><p>The future of software engineering isn’t about writing code from scratch. It is about orchestration, judgment, and vision using platforms that support rigors of software engineering.</p><p><strong>It is time to stop pulling rocks and start building castles.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=93e7b167c816" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Can AI Agents Prevent Another Washington?]]></title>
            <link>https://anil789.medium.com/can-ai-agents-prevent-another-washington-c09845ebd9b2?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/c09845ebd9b2</guid>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[agentic-ai]]></category>
            <category><![CDATA[genai]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Sat, 15 Feb 2025 18:36:15 GMT</pubDate>
            <atom:updated>2025-02-15T18:36:15.983Z</atom:updated>
            <content:encoded><![CDATA[<p>We all are saddened by the tragedy that took 67 beautiful lives in Washington. We, as humans, learn from such incidents and start working towards solutions to avoid them in the future. One possible solution is to use an AI agent for aviation safety. Considering all news around AI, it is quite natural to discuss, and debate it. Although our immediate reaction could be — “it is scary, how could we let AI take over the function of air traffic safety”.</p><p>Let us take a deep breath and for the sake of brainstorming, see how such an AI based solution could help in the future. This blog makes an attempt to explain the use of AI agents in air traffic control in simple terms. It is safe to assume that AI agents are not replacing human air traffic controllers in the foreseeable future. Long before that happens, they need to show up on the stage in assistive mode and prove themselves.</p><p>If AI agents are in the assistive mode, it should lessen our concerns. As we speak, a set of software services are assisting air traffic controllers. AI agents are similar to those services with very important distinctions between them. AI agents can collect unstructured data from the environment and make dynamic decisions. Whereas, software services are hardwire logic that may cover several paths but not a new one. It has to be updated to incorporate new rules.</p><p>Imagine if there would have been a Voice AI agent in the control tower, and it heard somebody say<strong>, “OMG that chopper is too high”? “Beep, beep, beep” goes another AI agent with a flashing aircraft trajectory and helicopter trajectory. </strong>In nutshell, an AI agent can draw inference based on available information that was missed in a hardwired software system. It does not need yet another integration to feed the data in structured format, rather it can consume unstructured data in natural language or CSV format.</p><p>For the illustration, this blog uses a high level architecture of a traffic control system. This is much simplified architecture. It may not have any resemblance to the real architecture. The idea is to compare conventional architecture with AI agents.</p><h3>Traditional Aviation Traffic Control Architecture</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/709/0*e7ySyJ4Vk7yWZoE4" /><figcaption>Traditional Aviation Traffic Control Architecture using Micro Services</figcaption></figure><p>The above architecture is based on microservices. Once again, this is a simplified architecture for illustration purposes.</p><p>A set of microservices receive input data from multiple sources and continuously evaluate them against a set of rules. These rules are hard-coded by developers in the microservices’ implementation. Let us assume, if developers forgot to implement the rule<strong><em> “Helicopter’s max height should be 200ft, else issue a high alert”</em></strong>. This could be a problem. Although it may not have happened in case of the Washington tragedy, it illustrates how hardwired logic works.</p><p>Let us examine how an AI agent can dynamically respond to such rules and environmental contexts.</p><h3>AI Agents for Traffic Control</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/804/1*JrQ4a68rng9p0kndNkvByA.png" /><figcaption>AI Agents for Aviation Traffic Control</figcaption></figure><p>In the above diagram, a parallel architecture uses AI agents. We have added two additional agents, 1) a Vision Agent and 2) a Voice Agent to capture additional environmental context. Since agents can consume unstructured input, it is relatively easy to add them.</p><p>AI agents are collaborating processes. They collaborate through an orchestrator. The Rules Agent is fed with data prepared by other agents. It draws inferences by interpreting natural language rules in the context of data. These inferences may lead to actuating an alert. Let us assume that the helicopter height data was not sent by the helicopter. Instead, someone uttered words in the control room, “OMG, that chopper is too high”. These words and the rule that height has a limit, AI can conclude there is something wrong.</p><p><strong>Using this simple illustration, we demonstrated that AI agents can receive unstructured input from the environment. AI agents using the rules described in a natural language can act as an intelligent traffic controller assistant.</strong></p><h3>AI Agent Risks and Mitigation</h3><p><strong>The biggest risk of an AI agent is what if, it infers something that is converse of the desired outcome.</strong> For example, it may push the helicopter to 300ft. Such inferences will be counter productive and even disastrous. The following are some of the mitigations.</p><h3>Grounding of AI Result</h3><p>This could be a cost burden, but a validation system using microservices or another set of AI agents can validate outcomes. Such a system will not be as expensive as the real traffic controller system but incorporate the same rules (implemented differently).</p><h3>Testing and Validation for Several Months</h3><p>It is safe to assume that these AI agents will undergo testing with simulated data and real data. Simulated data can be generated by another set of agents.</p><h3>Use as an Assistant</h3><p>Agents should be used in assistive mode as helpers to a real human.</p><h3>Interesting Use Case of AI Agents</h3><p>Let us say, you are not ready to deploy AI agents in a control tower. Still, there is a very interesting use of them. They can work offline on the same set of data and produce signals. These signals can be compared with the signals generated by the actual system. It will bubble up the signals that are missed by the actual network traffic control system. This way, you can find the gap in the micro services implementation and use this information to improve them.</p><p>This is the case where instead of providing training data to train a model, you are using AI output to make a conventional system more intelligent.</p><h3>Conclusion</h3><p>AI is the future. This article describes how you can incorporate AI in a stepwise manner in a scenario. Let us hope that one day, AI will avoid another Washington.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c09845ebd9b2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Content + AI = Knowledge]]></title>
            <link>https://anil789.medium.com/content-ai-knowledge-4e7f71b57a3a?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/4e7f71b57a3a</guid>
            <category><![CDATA[ragdocument-processing]]></category>
            <category><![CDATA[document-processing]]></category>
            <category><![CDATA[document-search]]></category>
            <category><![CDATA[document-management-ai]]></category>
            <category><![CDATA[intelligentdocumentproces]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Tue, 04 Feb 2025 21:10:02 GMT</pubDate>
            <atom:updated>2025-02-06T19:44:09.607Z</atom:updated>
            <content:encoded><![CDATA[<p>Your content is a source of valuable knowledge. But it is buried because it may not be in a form that users or new AI capabilities can consume or interact with. The digital form of old documents is not convenient to read or search. This problem is clear when looking at documents digitized on Google Books — they’re hard to read and only offer basic text search. However, using AI, this content can be converted into HTML format. HTML content is highly readable (on all types of devices) and can be indexed for semantic search, QA, and reasoning.</p><p>New AI capabilities can easily interpret text based content but struggles with more complex structures such as tables, schematics, jump pages, multi-column layouts, page content containing noisy blocks and even bullet points.<strong>.</strong> <strong>In this article, we would later see that the Trillo Doc AI solves this problem and makes their content available online for browsing, search, Q&amp;A and reasoning using AI.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*yZ7qG02pdaw9h9NT" /><figcaption><a href="https://www.google.com/books/edition/Researches_Into_the_Early_History_of_Man/wJoYAAAAYAAJ?hl=en&amp;gbpv=0">Google Books Page</a> — Hard to read on mobile and only supports basic search</figcaption></figure><p>Your organization likely has tons of these documents: manuals, designs, old magazines, contracts, financial statements, and more. Right now, this information is only accessible to a few who already know where to find it. They waste time searching, sometimes hours, for the right document and page. AI can change this. It turns hidden content into knowledge accessible to any authorized user, allowing them to find what they need in seconds. Users can then interact with the information using AI: summarizing it, extracting key concepts, downloading data, and asking questions. The possibilities are endless.</p><p>This means users can quickly become experts on any topic. Even seasoned experts can discover new insights, like patterns between successful and problematic contracts. Imagine having <em>all</em> the content ever created, by humanity or just your organization, extracted and analyzed by AI. Imagine interacting with it through an AI agent, learning for pleasure or profit.</p><p>Think about that 900-page bill from Congress that is impossible to understand. With AI, you could interactively query it and understand its implications. Or imagine learning from aircraft maintenance manuals, taking notes, and discussing them with an expert, all aided by AI.</p><p>Combining AI with human intelligence allows for powerful learning grounded in reality. It lightens the cognitive load and makes the process more enjoyable. The best part? Platforms are available <em>right now</em> to help you get started in minutes.</p><h3>Example Use Cases</h3><p>Before you jump into a platform, let’s explore a few use cases to spark your imagination.</p><p><strong>Old Magazines and Periodicals:</strong> Imagine you’re a publisher with a treasure trove of content, some of it going back to the 1800s. Much of this valuable material might be gathering dust in physical archives or buried in scanned files. Bringing these issues online would be a huge benefit to your readers. Think of a literary magazine like Kadambini (published in India until 2020) — making its entire archive available online would delight readers, and they would be happy to pay for access.</p><p><strong>Industrial Manuals:</strong> Think about aircraft maintenance manuals, oil rig operation guides, tool specifications, engineering designs, and similar documents. AI can analyze, format, and catalog all of this, making it easily searchable. Users could query these manuals using text, images, charts, or schematics.</p><p><strong>Office Documents:</strong> AI can be incredibly useful for everyday office documents like contracts, resumes, purchase orders, bank statements, mortgages, and marketing materials. It can power advanced document search, extract key data for workflow automation, and perform semantic matching. For example, AI can match job descriptions to resumes or analyze contracts for specific clauses. And, of course, it can search across all these document types.</p><h3>Content Processing Platform or Knowledge Agent</h3><p>So, what platforms can convert your content into usable knowledge?</p><p>We’ll focus on Google Cloud AI platforms and our own platform, Trillo Doc AI. We’re including Trillo Doc AI because we believe its features are particularly useful for complex documents that require customization. While other companies and hyperscalers (like Azure and AWS) offer similar agent builder tools and services, we won’t discuss them here due to our limited knowledge of their specific functionalities.</p><p><strong>Google Cloud NotebookLM:</strong> This platform is incredibly user-friendly. As their website says, “Upload PDFs, websites, YouTube videos, audio files, Google Docs, or Google Slides, and NotebookLM will summarize them and make interesting connections between topics, all powered by Gemini 2.0’s multimodal understanding capabilities.” It’s designed to help you understand complex information by providing a single place for reading, thinking, asking questions, and writing.</p><p><strong>Vertex AI Agent Builder (Google Cloud):</strong> This platform allows you to build AI agents, from no-code solutions to highly customized ones. Think customer service chatbots, employee agents that automate tasks, knowledge agents for search and Q&amp;A, and even voice agents. For extracting knowledge, the knowledge agent is most relevant. The basic idea is similar to NotebookLM: upload documents, process them, and then enable searching and question answering. Vertex AI Agent Builder also offers connectors to enterprise applications for ingesting content and data. Developers can also create custom or specialized agents for additional needs.</p><p><strong>Google AgentSpace:</strong> Google AgentSpace is delivered as a SaaS application (like Google Workspace) and built on the top of Vertex AI Agent Builder. It is simpler to use. It offers a more limited set of developer tools and is fully managed by Google Cloud. Vertex AI Agent Builder, on the other hand, is a more comprehensive platform for building and managing AI agents.</p><p><strong>Trillo Doc AI</strong>: We’ll dedicate the next chapter to Trillo Doc AI, explaining why and how it provides an extended knowledge agent using Gemini and vector databases available on Google Cloud.</p><h3>Trillo Doc AI</h3><p>When you look closely, all knowledge agent platforms essentially do the same thing: they ingest content from various sources, process it using a large language model (like Gemini), and then make it available for searching, Q&amp;A, and reasoning. For many common office documents, the processing pipeline is standard. However, documents with specialized domains, layouts, and content require a custom approach. Think about these examples:</p><ol><li>Old, multi-column magazines with photos, tables, paragraphs, and other elements.</li><li>Engineering documents like operation manuals, designs, and customer service content, which often include tables, schematics, drawings, and charts.</li><li>Academic papers with formulas, tables, charts, and equations.</li></ol><p>Essentially, any document can benefit from a custom processing approach.</p><p>Beyond just processing documents for search, Q&amp;A, and reasoning, Trillo Doc AI also extracts content in a structured format. This means it identifies and extracts headings, paragraphs, bullet points, tables, images, charts, and more. This structured data can then be used to display the document content clearly on any device, ensuring high readability. It’s also crucial for building semantic indexes.</p><p><strong>Trillo Doc AI is a platform for building custom pipelines with no-code or low-code (using prompt engineering and serverless functions). In addition, Trillo Doc AI extracts structured parts of documents for intelligent processing and user friendly rendering.</strong></p><h3><strong>Trillo Doc AI — Example Pipeline for Processing Magazine</strong></h3><p>Here’s an example of a processing pipeline implemented by Trillo Doc AI for magazines (or any bound document, like a book). It follows these steps:</p><ol><li><strong>Extract Content:</strong> Trillo Doc AI extracts the content using OCR or open-source libraries. This pulls out the text and images embedded in the document. It also generates preview images and thumbnails at this stage.</li><li><strong>Clean Content:</strong> Trillo Doc AI then converts the page content into structured content (JSON format)</li><li><strong>Summarize:</strong> Using the cleaned content, Trillo Doc AI creates a summary of the document.</li><li><strong>Image Properties:</strong> Trillo Doc AI extracts image properties using AI Vision and/or Generative AI.</li><li><strong>Extract Tags:</strong> Trillo Doc AI extracts tags to enable filtering and searching by categories.</li><li><strong>Extract TOC:</strong> The table of contents is extracted by Trillo Doc AI.</li><li><strong>Make Chapters:</strong> For easier browsing, Trillo Doc AI constructs chapters.</li><li><strong>Clean Chapters:</strong> When pages are combined into chapters, Trillo Doc AI cleans them up. This might involve things like combining paragraphs that were split across pages.</li><li><strong>Post Processing:</strong> Finally, Trillo Doc AI uses serverless functions to perform any other rule-based processing on the content.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-kg4_sp3H3s2mmkH" /><figcaption>Trillo Doc AI Pipeline to process documents like magazines</figcaption></figure><h3>Trillo Doc AI — Example Pipeline for Extracting Data from Variety of Documents</h3><p>Trillo Doc AI supports creating custom workflows for different needs. For example, if there’s a need to extract common fields (say, for asset management) from a variety of documents, the following workflow can be used:</p><ol><li><strong>Extract Content:</strong> Trillo Doc AI extracts content from the document using OCR or open-source libraries. It extracts text and images embedded in the document and prepares preview images and thumbnails.</li><li><strong>Classify Document:</strong> Trillo Doc AI classifies the document using Generative AI.</li><li><strong>Extract Data:</strong> Trillo Doc AI extracts data using Generative AI, other NLP processors, and proprietary algorithms.</li><li><strong>Post Process:</strong> Trillo Doc AI post-processes the content for validation, storage, and other needs.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*PY2vCU0bo_3xmkNf" /><figcaption>Trillo Doc AI pipeline to process of variety of documents to extract data</figcaption></figure><h3>Conclusion — A Summary of Trillo Doc AI Features</h3><p>In short, Trillo Doc AI offers a powerful set of features crucial for effective content processing.</p><ol><li>Trillo Doc AI leverages the power of Gemini and other Large Language Models. Its API-driven design also allows it to seamlessly integrate with other platforms, like NotebookLM Enterprise, extending their capabilities.</li><li>Trillo Doc AI excels at custom document processing, a critical need for complex, domain-specific documents.</li><li>It extracts content elements — headers, paragraphs, tables, bullet points, charts, images, schematics, graphs, and more — as structured JSON data. This allows for the creation of highly readable content across all devices, dramatically improving user experience.</li><li>Recognizing that AI isn’t always perfect, Trillo Doc AI incorporates tools for manual review and content curation, putting humans in the loop for essential quality control.</li><li>Trillo Doc AI provides access control that is easy to define, audit and performs well at search scale.</li><li>Finally, Trillo Doc AI is built on Trillo Workbench, a robust low-code platform. Trillo Workbench provides a model-driven architecture for data, serverless functions for logic, and a high-level API that abstracts away the complexities of the cloud. This foundation allows us to rapidly add new steps to the processing pipeline without the headaches of security, scalability, compliance, or CI/CD.</li><li>You can find more about Trillo Doc AI <a href="https://trillo.io/trillo-Doc-AI.html">here</a>.</li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4e7f71b57a3a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[F…ing Elevator Pitch and Common Abstraction for all Clouds]]></title>
            <link>https://anil789.medium.com/f-ing-elevator-pitch-and-common-abstraction-for-all-clouds-3d0146dadec7?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/3d0146dadec7</guid>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Wed, 25 Sep 2024 09:56:18 GMT</pubDate>
            <atom:updated>2024-09-25T18:57:39.725Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Elevator Pitch and Common Abstraction for all Clouds</strong></h3><p>Recently, someone asked me for an elevator pitch. I started — “we have invented a theory, I call it the General<strong> Theory of Relativity</strong>. According to it, when light passes by a massive body, it will bend……”. Obviously, the conversation was not going anywhere. <em>I am no Einstein.</em> But having spent months in the basement and discovered a thing, it will need some time and attention to communicate the thought. Or, could I have said, “if we travel with the speed of light, we will not age much when we reach 147th floor.” It may not have changed the outcome.</p><p><strong>There are things that can’t be explained in an elevator. Therefore, I have some disdain for the elevator pitch. </strong>Let us give some ideas a few minutes and a diagram or two. Let us listen.</p><p>If you have come this far then may I request to bear with me and read on.</p><p>Let us say, a programmer writes a file to a cloud bucket. A cloud bucket could be on AWS, Azure, GCP, Oracle, etc. Should it not be as simple as — “write this content to a file in this directory?” But it is not, it is far more complex — acquire token, include cloud specific client toolkit or construct restful request, etc. After all, we write files to a Linux disk without knowing it will be on Ubuntu or RedHat, therefore we have come to expect simpler API on the cloud as well.</p><p>Since a common abstraction of multiple Linux is possible, a common abstraction of all clouds is possible too. But in this case, we can’t rely on cloud providers to build a common abstraction. In fact we should not expect it. Instead we should assume that, i<strong>t is not the responsibility of cloud providers to standardize on common APIs. </strong>Asking them to converge will be counterproductive and will never happen.</p><p>It is the responsibility of a platform provider to abstract all clouds in a common set of APIs and provide its cloud specific implementation transparently. It is shown in the following diagram.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/663/1*XhqW1zUItzORVV4157RFSw.png" /><figcaption>A platform abstracting all clouds and providing common set of APIs, shown in gray box</figcaption></figure><h3>Complexity in providing a common API platform?</h3><p>Our example of writing a file to a bucket is one of the APIs. There are several more such APIs for database, storage, security, AI, etc. They follow the same principles on every cloud therefore they can be abstracted as common APIs. The problem is that implementing them and providing a serverless programming model requires several years of effort. It is a risky proposition. Due to a long time span, it gets boring and teams disintegrate resulting in failure.</p><p>We have built such a platform called <strong>Trillo Workbench</strong>. It is deployed with hundreds of customers. This blog is to create mindshare for the platform. If you are interested in discussing, please send me an email at “anil at trillo dot io”.</p><p>Thank you.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3d0146dadec7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AWS IDP vis-à-vis Trillo Doc AI on GCP for RAG]]></title>
            <link>https://anil789.medium.com/aws-idp-vis-%C3%A0-vis-trillo-doc-ai-on-gcp-for-rag-b67247a7b19f?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/b67247a7b19f</guid>
            <category><![CDATA[aws-idp]]></category>
            <category><![CDATA[document-ai]]></category>
            <category><![CDATA[rags]]></category>
            <category><![CDATA[generative-ai]]></category>
            <category><![CDATA[google-document-ai]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Tue, 28 May 2024 09:55:25 GMT</pubDate>
            <atom:updated>2024-06-03T21:05:16.793Z</atom:updated>
            <content:encoded><![CDATA[<p>Several popular and powerful applications of Generative AI (Gen AI) are through <strong>Retrieval-Augmented Generation (RAG). </strong>RAG based solutions require enterprise content. Not as original files, but in a form that can be used in Gen AI prompts. Unless there is an enterprise strategy, each team builds its own ad hoc pipelines to acquire content in the right format. It is a time consuming and tedious process that stifles innovation. This document discusses and compares two platforms that can accelerate enterprise content strategy for Gen AI.</p><p><strong><em>RAG meaning in nutshell</em></strong><em> — RAG application means a ChatGPT or Gemini like application that uses some of </em>your organization’s content<em> in the context of the prompt.</em></p><p>AWS Intelligent Document Processing (IDP) and Trillo Doc AI are platforms to make fully baked content readily available for generative AI (Gen AI) applications and research.</p><p><strong>AWS IDP is a reference architecture</strong> of document processing with sample open source code. <strong>Trillo Doc AI is a production grade platform </strong>available through the Google Cloud marketplace.</p><p>There is a wide gap between what AWS IDP provides and what a production grade document processing platform would require. The gap is due to the lack of a scalable pipeline to process 100s of millions of documents, security, role / rule / policy based access control, audit logs, business process integration etc. Trillo Doc AI is a production grade platform that bridges this gap.</p><p>Whereas AWS IDP consists of sample code via a public git repo, Trillo Doc AI provides an open metamodel and serverless functions framework. It provides source code of serverless functions and metadata. It uses a core platform called Trillo Workbench for other services — scalability, security, access control, audit logs, and admin UI (source code available on request). Trillo Workbench source code is not available except for the admin UI. But you will never need its source code. It is a zero cost, robust, proven and enterprise grade work horse.</p><p>The rest of this article covers the following topics:</p><ol><li>Why is document processing important for Gen AI?</li><li>A conceptual architecture of document processing.</li><li>Trillo Doc AI architecture on GCP.</li><li>AWS IDP reference architecture.</li><li>A checklist of comparison of AWS IDP and Trillo Doc AI.</li></ol><p>There are other equivalent solutions such as AODoc, FileNet, Box, etc. Some of them stop at the content management (ingestion and providing UI to manage folder hierarchy and file sharing). They do not provide further processing of documents that is needed for RAG applications. Some of them do not provide open architecture like AWS IDP and Trillo Doc AI do. The open architecture or open source is important for the fast pace innovation of Gen AI. Therefore, in this document we will limit ourselves to AWS IDP and Trillo Doc AI.</p><p><em>Disclaimer:</em> <em>Other tools are worthy. It is our opinion that they do not provide an open and convenient programming model for customization. It is a fast changing area therefore this information may not be the latest.</em></p><h3>Why Document Processing is important</h3><p>Every organization is looking to apply Gen AI in business use-cases. There are two primary use-cases’ categories.</p><ol><li><strong>Generate new content using prompts — </strong>such as code generation, image/ video generation, text content such as marketing material generation.</li><li><strong>Generative AI RAG — </strong>there are numerous use-cases of RAG in an enterprise. RAG solutions provide contexts and prompts to generate responses. Each context is generated from the enterprise content.</li></ol><p>RAG based use-cases, innovations and research will require that the enterprise content is made readily available in the right format to the teams of innovators and implementers. <strong>Without it,</strong> <strong>it is like asking teams to build an analytics application without having a data warehouse. </strong>The teams will have to acquire content first. It may take months and be a very inefficient process. By the time you finish acquiring content, your competitions would already have won the battle.</p><p>To conclude, in order to spur innovation using Gen AI, the first step is to make the enterprise content readily available. <strong>The most efficient way to get the content ready is having an enterprise strategy and using proper toolings.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/925/0*5VBTVcgd-1bjHhpV" /></figure><h3>Generic Architecture of Document Processing</h3><p>The following diagram shows the architecture of a generic document processing system.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/945/0*FNmwXeqJ6NFWhkZ1" /></figure><p>A generic document AI processing pipeline consists of the steps below. Trillo Doc AI and AWS-IDP pipelines are specific implementations of it using GCP and AWS services respectively.</p><ol><li><strong>Ingestion: </strong>Content from multiple sources is brought into a cloud storage bucket for processing.</li><li><strong>Processing:</strong> Document processing pipeline processes it using a set of NLP, LLM services, and open source libraries. It runs multiple substeps as follows: <strong>a. Extraction:</strong> Text and images are extracted from each document. The raw text and images are stored in new locations on buckets. <strong>b. Redaction: </strong>Optionally, PHI and PII data is redacted from text and images before storing. <strong>c. Structured Data Extraction:</strong> Text is parsed to extract structured data from documents. The structured data extraction requires a multitude of steps — entity extraction, form fields extraction, and extraction of data in tables.</li><li><strong>Chunking: </strong>Text is chunked into smaller yet complete chunks (i.e. avoiding splitting a chunk such that the central idea of the chunk is not lost, and thus leading to less accurate semantic meaning).</li><li><strong>The above two steps require the ingestion of domain knowledge into the pipeline.</strong></li><li><strong>Storage: </strong>Processed data is stored in a variety of databases — relational DBs, vector DBs, search indexing platforms.</li><li><strong>RBAC: </strong>Sometimes, the source document repositories provide access control information (such as enterprise content management systems). This access control information is stored and applied in the API gateway. The access control information can also be enriched or customized.</li><li><strong>API Gateway:</strong> An API gateway delivers content using HTTPs, or bulk transfer from bucket to bucket. RAG pipelines and domain specific applications are consumer of API gateway.</li><li><strong>Admin UI:</strong> Document processing platform provides an Admin UI for the management, monitoring,</li></ol><h3>Trillo Doc AI on GCP for Document Processing</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/941/0*D4pGS1gjvtS-9q8A" /></figure><p>Trillo Doc AI processing pipeline is a specific implementation of the generic document processing pipeline using GCP services such as Google Vertex AI (which includes Gen AI, LLMs APIs), Google Document AI (NLP based parsers for forms, tables, purchase orders, invoices, etc.), AlloyDB (vector database), Cloud SQL (managed relational database), Google Cloud Storage for buckets.</p><h3>AWS IDP for Document Processing</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*AeOGH6Jcig_5iOOf" /></figure><p>AWS-IDP processing pipeline is a specific implementation of the generic document processing pipeline using AWS services except for 3 pieces that are missing and noted below. The above diagram looks different because it opens up steps that are hidden within Trillo Doc AI diagram. Else, they are equivalent.</p><p><strong>The missing pieces from AWS-IDP are:</strong></p><ol><li><strong>RBAC: </strong>AWS-IDP does not provide a component for role based access control. It is very critical for enterprise applications.</li><li><strong>Folder Hierarchy:</strong> It does not have a mention of folder hierarchy. Upon visual inspection of the code repository, I did not find anything. A logical folder hierarchy is very important for the use of documents in multiple applications.</li><li><strong>Search Engine:</strong> For small phrase embedding, it does not integrate with a search engine (like Solr, Elastic search that uses tf-idf and BM25 algorithms for embedding).</li></ol><p>Out of these 3, 3rd is easy to add to the pipeline. 1 &amp; 2 would require several months of work, if not years.</p><h3>Checklist — a comparative analysis of Trillo Doc AI and AWS IDP</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tdlzHFnl_LTknmf_m4umxA.png" /></figure><h3>When to build your own platform?</h3><p>Document processing as described above is the glue logic. Normally you will not spend millions of dollars building it if you can subscribe to a 3rd party product for thousands.</p><p>You may consider building your own document processing pipeline if it meets all of the following criteria.</p><ol><li>The content processing needs are simple.</li><li>There are few document formats (mostly PDF and docx).</li><li>There is no data extraction needed. Especially since there are no complex tables.</li><li>Your use case does not require access control, governance, or compliance.</li><li>You will build once and do not see much need to change, maintain or enhace it.</li><li>The number of documents to be processed is in thousands.</li><li>You will keep using it for more than 5 years.</li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b67247a7b19f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Startups — Supercharge Go-to-Market using Trillo Workbench]]></title>
            <link>https://anil789.medium.com/startups-supercharge-go-to-market-using-trillo-workbench-dbb88f44d1c5?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/dbb88f44d1c5</guid>
            <category><![CDATA[application-platform]]></category>
            <category><![CDATA[application-server]]></category>
            <category><![CDATA[go-to-market-strategy]]></category>
            <category><![CDATA[statrtup]]></category>
            <category><![CDATA[mvp-development]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Fri, 29 Mar 2024 16:23:06 GMT</pubDate>
            <atom:updated>2024-04-06T17:10:02.509Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Startups — Supercharge Go-to-Market using Trillo Workbench</strong></h3><p>A majority of startups, in technology, need an application server for their products. Even if they are building a product based on algorithms, new AI models, or backend data pipelines, they need application server functionality in some form. An application server is needed for a UI that becomes the face of the product to customers and investors.</p><p>Building a robust application server is a tedious task requiring valuable time and resources.</p><p>Even when the application server is a core part of the startup offering, there is a strong business case for using a platform like Trillo Workbench for MVP. It will let the founders focus on product launch and save money otherwise spent on engineering. Even if they want to build their platform in the long run, launching the product first and learning the exact requirements through the first release is a better strategy. After that, building an application server platform using an open-source stack will be easier and more cost-effective (and only if you have business reasons to build it).</p><p>This article describes how a startup can use a pre-built application server and customize it easily using citizen developers.</p><p>The rest of the article is relevant only if you anticipate that your offering will have an application server.</p><h3>What is an Application Server</h3><p>Let us first define an application server more precisely for the current discussion.</p><p>An application server provides functionality such as data service, file, document management service, user management, authentication, authorization, security, scalability, audit logs, and client APIs. A modern, cloud-based application server also includes APIs to interact with cloud services such as bucket service, AI service, secret and key management service, data redaction service, etc.</p><p>A modern application server incorporates Model-Driven Architecture, i.e., the data model can be specified using metadata. It should let you add application logic using functions ( serverless functions or lambda) without having to go to the cloud console.</p><p>It should not require CI/CD and DevOps. It should not require application developers to learn cloud configuration.Such an application server should run on a cluster such as Kubernetes. It should auto-configure the cloud at the time of deployment.</p><p><strong>Trillo Workbench is such a platform.</strong></p><h3>Process of Building a Platform from Scratch</h3><p>If you are building a platform from scratch, you will select a stack, such as NodeJS, Python, Golang, Java Spring Boot, etc. Next, you will set up a git repository and CI/CD for development. To deploy the server, you will select a public cloud, configure it, and write Terraform templates to create a cluster (likely Kubernetes).</p><p>After that, you will start writing a data model, a service to connect to a database, and code manage DB connection pools efficiently. You will write SQL to create tables. After that, you will write business logic as controllers and services. Every small change will trigger CI/CD.</p><p>You would eventually work on authentication, open ID connect / SAML, authorization, and role-based access control: audit, security, scalability, and high performance. If your application uses cloud services such as bucket, memory store, columnar databases, or AI/ML services, you will integrate them using the client toolkit or restful API. You will need a good design for large workflows processing large amounts of data or content. It will require fail-safe, multi-threaded design, and management of the state of each job.</p><p>Each piece may seem simple. Integrating pieces into a cohesive platform is time-consuming and challenging. Your goal was to build the best analytics platform for healthcare, instead, you will be building an application platform. Soon you will be so invested, there will be no way out of the mess. You will have to keep raising money and investing. Or, you will call it a day.</p><h3>How does Trillo Workbench work?</h3><p>Getting started with Trillo Workbench and building your application’s first set of APIs is a three-step process.</p><ol><li>Deploy Trillo Workbench from the marketplace.</li><li>Create a few tables using Trillo Workbench consoles.</li><li>Write a few functions in Python.</li></ol><h3>Challenges</h3><p>Getting started with a new concept or platform (especially when it is a developer platform) is always a challenge. You normally lean towards building one from scratch using some boilerplate open-source code. It looks easy since you can run it quickly on your machine.</p><p>Signing up for a cloud console, creating a project, deploying Trillo Workbench, and familiarizing with its console may take a few hours. It creates friction.</p><p>Learning APIs is the next step. Although it is simpler than the cloud API, it requires some time. That is another point of friction.</p><h3>Overcoming Challenges</h3><p>Bootstrapping the process is a big challenge. If Trillo or its partner can assist you in a cost- effective way, it may be very smooth. In a day, you will be running on the cloud and in weeks you will be showcasing your UI to users. See the following section for more details.</p><h3>Collaboration with Trillo and its Partners</h3><p>The Trillo team can help you with the following steps. We recommend that you follow these steps — design and then construct. They are the optimal path to an MVP. Trillo Workbench leaves enough scope for iteration therefore you don’t have to have a perfect design.</p><h3>Design Application</h3><p>The key is that an MVP should be simple yet complete. You may not develop rarely used features, but you must complete features that are needed to operate the application. Trillo and its partner team can play more than just the role of a development team; they can also assist you in the right product design <strong>(the role of your assistant product manager)</strong>.</p><ul><li><strong>Design Figma: </strong>You can do it yourself, or the Trillo and its partners team can help you. Our engineers and user experience team have experience with 100s of applications. They understand the minimal UI that end-users will love. For a startup, it is so important that this can decide whether you succeed or not.</li><li><strong>Write Business Process</strong>: Our teams (Trillo and partners), under the guidance of experienced application designers, can write the optimal business process. They can also help you identify overly complicated processes and how to simplify them.</li></ul><h3>Bootstrap Development</h3><p>Once the previous step is completed, Trillo and its partners can help you bootstrap the environment in hours and supercharge development. They can execute the following steps.</p><ul><li>Install Trillo Workbench.</li><li>Identify the UI/UX technology you want to use, such as Angular, React, Flutter, etc.</li><li>Trillo will provide a boilerplate UI for user management, sign-up, and sign-in.</li><li>The Trillo team will set you up with the environment in a few hours, including UI/UX.</li><li>Your team will work with the Trillo team for the rest of the week and another week to co-develop a part of the application.</li></ul><h3>Business Benefits</h3><p>If you follow the above process and make an initial investment of $5-$10K, we promise the following business benefits.</p><ol><li>You will build your application (excluding innovative backend services, algorithms, model training, etc) for 10–20% cost. It may translate into savings of several hundred thousand dollars to millions of dollars.</li><li>You will build the right application.</li><li>You will have more time for selling, marketing, interviewing users, talking to investors, and meeting people.</li></ol><p><strong>If you are convinced, let’s talk, and we can help you figure out how best to build your solution. Otherwise, you will be caught up in JavaScript, Python, GoLang, Java code, CI/CD, and DevOps. It will spiral out of control.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=dbb88f44d1c5" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Doc AI — Problems and Solutions for Unmatched Accuracy]]></title>
            <link>https://medium.com/trillo-platform/doc-ai-problems-and-solutions-for-unmatched-accuracy-9748f98126fe?source=rss-280775e05b28------2</link>
            <guid isPermaLink="false">https://medium.com/p/9748f98126fe</guid>
            <category><![CDATA[doc-management-in-2024]]></category>
            <category><![CDATA[gen-ai-with-rag]]></category>
            <category><![CDATA[aidoc]]></category>
            <category><![CDATA[genai]]></category>
            <dc:creator><![CDATA[Anil Sharma]]></dc:creator>
            <pubDate>Tue, 26 Mar 2024 02:11:04 GMT</pubDate>
            <atom:updated>2024-03-26T08:50:23.296Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Doc AI — Problems and Solutions for Unmatched Accuracy</strong></h3><p>This article sits somewhere between a whitepaper and a cheat sheet. It introduces the concept of using an LLM for your documents along with the associated problems and solutions.</p><p>Doc AI has hype around it and creates a wrong notion that it is simple and easily attainable. But, using Doc AI with high accuracy requires solutions to several problems. Below, we outline some of these challenges and their solutions, and a pathway to solve others.</p><p><strong>Note: The term “document” means text content that can come from any source, a file, an API, email, etc.</strong></p><h3>What is Doc AI</h3><p>For this article, Doc AI is defined as a Large Language Model (LLM) such as ChatGPT or Gemini applied to a set of your documents or content.</p><p>In general, document repositories contain a trove of information that is not easily accessible to users unless they first know which documents to open and then read through the content of each document. With the massive size of most repositories and applicable content, this is not realistic.</p><p>Doc AI, using LLMs along with Natural Language Processing (NLP) revolutionizes finding information within document and content repositories with accuracy in the high 90s percentile.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kigjYwfDNR3Qxo6J0pQseQ.png" /><figcaption>Doc AI — Search and Query Your Document</figcaption></figure><h3>Doc AI Usage Patterns</h3><p>The following Doc AI patterns illustrate how it works.</p><p><strong>1. Extract structured data from unstructured data with very high accuracy:</strong> This works using traditional NLP parsers (for example, Google’s Document AI processors) and schema-driven parsers based on LLMs. The goal of high accuracy makes it a tough problem. Some of these problems are discussed below.</p><p><strong>2. Semantic search: </strong>It means searching a document using an English phrase. Imagine it as, Google Search on your content. It is more complex than just indexing. LLMs are very sensitive to chunking and prompts. <strong>Chunking or partitioning paragraphs or blocks while maintaining the right context is very important.</strong></p><p><strong>3. Question and Answers: </strong>This is more than just a keyword or phrase search. For example, Doc AI using an LLM enables you to ask about context sensitive questions. For example, you could ask “What is the total value of contracts signed in the last year?”.</p><p><strong>4. Summarization: </strong>This provides a concise overview of the document.</p><p><strong>5. Inference: </strong>This is a more advanced use case of LLMs. It is about inferring something from the document — for example, an assessment of malpractice from a medical transcription or a problem that may be causing a symptom such as, “I can’t connect to the internet”. The LLM may return a contextually-relevant answer such as “Can you check if your router has a blinking red light?”.</p><p><strong>6. Hybrid of all: </strong>In general, each use case will be a combination of some or all of the above.</p><h3>Use Cases</h3><p>The use cases for Doc AI are numerous. Below, we divide the use cases into simple and complex. The complex use cases require a Retrieval-Augmented Generation (RAG) approach or model fine-tuning.</p><h3>Simple Use Cases</h3><p><strong>1.</strong> <strong>Parse paper forms</strong>: This use case refers to parsing digitized versions of paper forms such as POs, invoices, medical reports, bank statements, etc. It is a simple use case <strong>but with one complexity where table parsing is still inaccurate. </strong>We discuss the problem and solution in more detail below.</p><p><strong>2, Search and Q&amp;A on Customer Service Portal — </strong>Searching the customer service portal of a bank, cable service provider, or manufacturer can be incredibly frustrating. These search results often return thousands of documents in the results. Finding the needed answer is this sea of results that is often exasperating and fruitless. Using Doc AI with semantic search and Q&amp;A returns immediate succinct answers to the user</p><p><strong>3, Multiple use cases for data extraction and search — </strong>Several use cases require data extraction and semantic search indexing (vectorization). These support user interactions based on a query. These queries require either data look up, search, or Q&amp;A using LLM prompts. Example queries might include:</p><ul><li>“What are risk factors in the contract?”</li><li>“What is the value of the lease?”</li><li>“How many leases will expire in December 2024?”</li><li>“Which customers are likely to cancel the service?”</li></ul><p>Additional use cases can be extrapolated from the above examples.</p><h3>Complex Use Cases</h3><p>More complex use cases of Doc AI deal with reasoning or matching (the cross-product of two documents’ vectors).</p><p><strong>1. Document Matching: </strong>Matching a document against another set of documents to find similarities and differences. A simple example could be, evaluating a newly written document to judge whether it complies with existing corporate policy documents. Another example might be determining the risk factors of a new contract document compared to other contracts written in the past.</p><p><strong>2. Inference: </strong>There are cases when information is inferred based on historical documents. For example, given a set of contracts, infer what risks are missed. Or, given a set of medical record guidelines for ICD/CPT code assignment, infer the ICD/CPT code from a medical transcription.</p><h3>Potential difficulties when using Doc AI and LLMs</h3><p>Several major issues must be solved with Doc AI using LLMs to avoid skepticism and disappointment. Let’s examine</p><h3>Potential Problems</h3><p><strong>1. OCR or native PDF parsing inaccuracies</strong>: Many documents are stored as PDF files (including form-filled and scanned images of existing documents). Existing PDF extraction libraries often generate inaccurate results, including improperly ordering of text content as well as incorrectly interpreting characters and what text line the character is associated with. Starting with bad data leads to faulty and inaccurate results.</p><p><strong>2. Table parsing</strong>: Table parsing is still a hard problem. It is difficult to identify boundaries of columns and rows in a PDF. Even when there are lines, embedded tables, cell merging, etc. make it hard to correlate column labels with cell values. Overflows of content across columns also introduce another dimension.</p><p><strong>3. Chunking changes context: </strong>One chunking strategy does not fit all documents (even if they are the same type).</p><p><strong>4. Prompt sensitivity: </strong>Doc AI uses prompts behind the scenes to extract data. The quality of data extraction changes based on the prompt designs.</p><p><strong>5. LLM model upgrade may break a working system:</strong> While upgrading an LLM model may provide benefits, it may also break features and accuracy that existed with the old model.</p><p><strong>6. Processing millions of documents and yet track failures: </strong>When running millions of documents through a pipeline, there will be several failures that need to be tracked and fixed. It requires a solid foundation platform that can manage a large scale compute farm.</p><p><strong>7. Access control in search, QA, and summarization:</strong> Without a proper authorization system (such as RBAC) in place, millions of documents may be available to unauthorized users. This could result in confidential and private data being viewed by users who do not have the need or authority to view such information</p><p><strong>8. Integration:</strong> Although more of a software engineering problem. Doc AI will likely need to be integrated into the application. The following integration points are needed:</p><ul><li><strong>Data Ingestion: </strong>Not all content may come from a file system. Data may come via APIs, SFTP, enterprise applications, and content management systems.</li><li><strong>Export Results:</strong> Not all resultant data may be consumed by a human actor. Exported data may be collected and pushed to other automated system.</li><li><strong>Enterprise Workflow: </strong>Doc AI may be a part of an enterprise application. For example, an insurance underwriter chooses a policy document and the rest of the Doc AI work happens in the context of the policy.</li></ul><h3>Problem Solutions</h3><p><strong>1. OCR or native PDF parsing inaccuracies</strong>: Use character matrix and configurable line spacing hints to generate content rather than relying on the PDF extraction library’s output.</p><p><strong>2. Table parsing</strong>: The table parsing can be improved by applying a few techniques:</p><ul><li>Extract only required columns (specify minimal set).</li><li>Stretch columns horizontally using character matrices returned by the library and create space between columns. Using the vicinity of characters, assign overlapping content to the nearest character (on left or right).</li><li>Use LLM to associate columns labels and cell values.</li></ul><p><strong>3. Chunking changes context: </strong>Chunk documents in 2–3 ways and use each set for data extraction. Pick the one with the best score.</p><p><strong>4. Prompt sensitivity: </strong>Use multiple prompts and few-shots. Let the system pick the best result.</p><p><strong>5. LLM model upgrade may break a working system: </strong>Track prior documents processing, select a few of these same documents (as many as economically possible) to QA upgrade by generating a report that highlights differences.</p><p><strong>6. Processing millions of documents while tracking failures: </strong>Report failures via a database table and UI (with drill-down of logs of each step).</p><p><strong>7. Access control in natural language queries: </strong>This requires two steps:</p><ul><li><strong>Storing Access Control Matrix</strong>: First off, Doc AI needs to know the permissions available for each user. If the number of users is more than a few 10s, this may require a complex configuration (if manually done prone to error). A good solution is to capture information from the source (where you are getting the content) or use a set of policy documents.</li><li><strong>Applying Access Control Matrix Efficiently: </strong>This gets complex and slow if the access control rules are complex and needs to be applied to millions of documents.</li></ul><p><strong>8. Integration: </strong>Use a platform that makes it very easy to write RESTful connectors.</p><p><strong>9. Use of metadata and admin console: </strong>During POC, domain experts need to try various prompts, chunk sizes, and schemas (data to be extracted). An interface should be provided to enable users to experiment with a limited set of data to find the best metadata. Results should be tracked for each run so users can compare them.</p><p><strong>10. Continuous Quality Assurance (QA): </strong>Collect audit logs and generate reports so a team of experts can QA the system periodically.</p><h3>Trillo Doc AI — An Out of the Box Solution to the Above Problems</h3><p>Trillo Doc AI is a solution built on top of Trillo Workbench that solves the above problems out-of-the-box. It can easily be deployed in your GCP and Azure environments (AWS is coming soon). You can create a POC with a handful of documents in a week or two. If you find the results are great, simply call it a production deployment and start using it.</p><p>Trillo provides implementation services to assist you in the adoption of Doc AI technology (directly and partner-assisted).</p><p>The foundation platform, Trillo Workbench provides extreme agility to customize Trillo Doc AI to your needs.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9748f98126fe" width="1" height="1" alt=""><hr><p><a href="https://medium.com/trillo-platform/doc-ai-problems-and-solutions-for-unmatched-accuracy-9748f98126fe">Doc AI — Problems and Solutions for Unmatched Accuracy</a> was originally published in <a href="https://medium.com/trillo-platform">trillo-platform</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>