Picture ot the author

Zsigmond Máriás

CEO

AI

From Software Design to Rapid Prototyping in the AI Era

Blog Image

Software design was long organized around documents. We described the requirement, refined the specification, drew a few flowcharts, and trusted that the final result would come out the way we imagined it. Then reality arrived: misunderstandings, edge cases discovered too late, and those classic cycles where a critical decision turns out to have been missed during development.

There is an old idea from the philosophy of science that resonates just as clearly in the world of software: the perfect model of anything is the thing itself. Translated into everyday terms, the “perfect specification” is ultimately the finished product. The more detailed and complete a specification you want to write, the closer you move to the point where you should simply be building something that can be looked at and tried out.

Over the past two to three years, precisely that has become suddenly affordable: rapid prototyping. Low-code platforms, low-code AI builder tools, and AI coding solutions together mean that a testable version is no longer a luxury at the end of the software design process, but a tool used during it. The biggest risk in software design and development is that flawed decisions surface too late, and an early prototype addresses exactly that.

When “Looks Good on Paper” Suddenly Wasn’t Enough

During the software design process for Forecastify, a financial project management product, there was a meeting where it became clear very quickly that what looks simple on paper produces quite different problems in actual use.

The client’s request sounded straightforward at first: “We want to change one parameter to the same value across 1,000 products.”

If you break that down in a document, you easily arrive at the classic solution: add a list, add an edit function, done. The developer understands it, it fits in the specification, it fits in the sprint. But when I pulled up a quick, rough screen sketch and asked, “Show me how you would do this,” the conversation shifted completely within two minutes.

We were no longer debating fields; we were debating workflows. The user does not want to edit a thousand rows one by one. They want to filter, select in bulk, see a preview of what will change, and be certain that if something cannot be modified, the process does not collapse. The “looks good on paper” solution would have been expensive in reality: in operator time, in errors, in frustration. UX design was therefore not decoration. It was a business decision.

That was the moment when the thought came back to me again: a specification is useful as long as it helps build a shared understanding. Once it drifts too far from actual use, it creates an illusion.

Good Software Design Tries to Align Three Different Needs

My own experience, and honestly I see this at a great many teams, is that a well-designed feature must simultaneously satisfy three requirements:

  • It must create business value: it should solve a clear problem, deliver measurable benefit, and fit the product strategy.

  • It must be usable: intuitive, understandable, requiring minimal learning. The user should understand the states and the expected outcome.

  • It must be technically sustainable: extensible, capable of handling states and load, consistent with the architecture. If someone calls this scalable system design, that is exactly what it is, just expressed not necessarily in diagrams but in consequences.

The difficulty is that these three considerations used to be reconciled either by spending a great deal of time on upfront design, or by accepting that problems would only emerge during development. Yet a flawed implementation is rarely just a developer problem. If a feature lacks a thought-through workflow, clear states, and business rules, the team will inevitably start working from assumptions. In that situation, it is almost unavoidable that different people understand the same feature differently.

Today the situation is different. Getting a working prototype in front of people has become much cheaper, and as a result, a significant share of the critical design decisions can be validated before development begins.

Textual AI in Software Planning: Rapid Business Exploration

For me, AI-assisted development did not start with code generation; it started with design materials coming together much faster. The first version of a new feature or workflow no longer took hours to structure.

The difference is most immediately felt with standard patterns. Registration, login, password reset, permission management: for these, AI quickly assembles the core logic, the entities, and the typical states. That alone does not make the product better, but it removes a lot of repetitive thinking from the team.

The more important shift starts where AI is doing something other than writing text, specifically helping to break down a problem. It decomposes the operation into processes, collects the states, entities, and fields, and makes visible where a business decision is still missing. At that point the work of the business analyst or consultant also changes, and with it the broader business analysis process: less “I’ll write it,” more “I’ll review it.”

This cannot be taken lightly. AI slop is the most expensive kind of mistake: it sounds convincing, spreads quickly through the team, and it takes a long time to discover that it has no connection to reality. AI can very confidently invent rules, fields, and exceptions that fit a general pattern but simply do not fit your system. I think of textual AI as a very fast, very confident colleague: it delivers a large volume of output in moments, but it is dangerous without review.

Textual AI supports business and functional exploration well. Usability, however, does not improve automatically just because the description is detailed and well-written.

AI Design Tools and UX Pilot: When the Software Design Process Gets Tangible

The next wall is usually usability. No matter how detailed the specification, the end result of development is often an interface that works, but gives you the feeling that it was not designed for human beings.

The classic response to this is involving a UX designer. Stakeholder interviews, UX research, and usability testing are central to any serious software development process, and I do not think AI replaces them. The problem is rather that teams are often still searching for the right direction while the time and cost demands of the UX design workflow are already significant.

AI design tools have helped us here. UX Pilot, for example, does not “invent the product for me”; it quickly produces interpretable screens and flows that we can point at. The conversation becomes much more concrete as a result. Instead of debating “should there be a filter,” we discuss where it appears, what the default state is, and what happens when the user enters incorrect data.

The gain is tangible: screen designs for desktop and mobile are produced quickly, developers get concrete visual reference points, and details pulled from the specification can be translated into an immediately understandable form. These rapid visual anchors eliminate many misunderstandings while still in the design phase.

This is the point where prototype design genuinely becomes part of the software design process, rather than a presentation element tacked on at the end of the project.

AI Coding and AI Programming: The Prototype That Responds

A design prototype is useful, but beyond a certain point it remains too static. With complex logic, it is not enough to look at the screens; you need to walk through the prototype and test what happens in the uncomfortable edge cases.

Textual and design AI share a common limitation: they handle continuously shifting context poorly. The output consists of isolated pieces, and during design, ideas emerge that affect earlier decisions. These are worth testing and refining early, because a wrong direction is far cheaper to correct at this stage than during development. It is also easy to run into situations where an idea that seems logical at first only works well on paper and creates new problems in real use.

For me, the most practical solution here has been the quick, working prototype. AI programming serves as a design tool in this context, not a development one. I am not expecting production-ready code; I want to see where the logic breaks.

The user management of Forecastify was a good example of this. It was not just basic data to handle, but also cost rates, work schedules, holiday quotas, permissions, and various combinations of all of these. You can document and diagram that, but it is still hard to feel where the workflow will fall apart or which state will become confusing in use. When I quickly assembled a working skeleton with an AI coding tool, the cracks appeared immediately: a field in the wrong place, a missing feedback message for a state, an unclear course of action in a permission scenario.

This kind of early validation is the most practical approach I know. The question is not whether something looks good, but whether it works and where real use gets stuck. Using AI application development as a tool for prototype validation is precisely about this: discovering sooner where the solution will hurt, if what we want is a genuinely production-ready, long-term maintainable product.

The Boundary Between Software Prototyping and Production

A prototype today can be convincing enough that it is easy to believe it is finished. That belief deserves skepticism.

There is a clear shift between the validation prototype and the production product. At the production level, security, testability, CI/CD, observability, operability, and architectural fit all come into play. Software prototyping does not replace any of these, but it helps the development team start from validated behavior rather than assumptions.

Treating a prototype as a finished product can easily result in costly remediation work later. Low-code platforms and low-code AI builder tools work best where the goal is rapid prototyping or building a simpler internal tool. Problems typically begin when the aim is to force these into serving as a long-term, maintainable production system at all costs. In those cases, the same questions must be asked as with any other technology: how do we version, how do we test, how do we handle operations, and how well does the solution fit the long-term software architecture?

When those questions are answered properly, AI-assisted programming does not perform miracles; it gives back something that has always been expensive in software development: the fast learning cycle.

The Software Prototype as a Decision-Support Tool

The software design process is changing because reaching a working prototype has become much more affordable. Textual AI accelerates the organization of ideas. AI design tools and UX Pilot make usability questions tangible sooner. AI coding reveals earlier where the logic breaks.

The result is more efficient AI development: not because we work less, but because we do less unnecessary work. A more realistic faster time to market follows from the same source: fewer situations requiring late-stage redesign, fewer cases of returning to decisions that could have been made earlier.

The core of the matter is this: the specification is not discarded; the emphasis is shifted. Alongside the “what we want” description, we place the reality of “look at it, try it out.” This is how the software prototype becomes a decision-support tool rather than a prop used to make a demo look better.