arrow_backBlog

A problem Vantage UI is solving

A year ago, Vantage UI didn't exist at all. Our effort went into a Rust framework for managing business entities efficiently, one that any engineering team could use. Then the rise of AI revealed a gap, and an opportunity.

Romans Malinovskis

9 min read

Thirty-five years of programming, then one of writing code with AI๐Ÿ”—

AI-generated code doesn't follow this principle, and I think there are two reasons. First, an LLM doesn't see the big picture and doesn't future-proof your app. Second, it's not really in the LLM provider's interest to save you effort, or tokens, in the long run.

Programmers' collective push for efficiency gave us CSS frameworks, MVC frameworks and API standards. How many standards or frameworks has your LLM introduced on its own initiative? It has never happened to me. On the contrary, my codebases end up with four or five parallel implementations of the same mechanism.

What drives me in Vantage is teaching coding agents to follow patterns. My previous post explained how the Vantage framework builds patterns for data sources, business entities and working with data. A unified standard in the data abstraction layer opens a window for generic UI systems, literally. Vantage UI is that window.

If you are building a critical business application, just like me, you would want to feel in control, a feeling LLMs often deprive us of. You want to be sure the underlying implementation is efficient and accountable. While apps like Zed and Cursor race to build new ways to control agents, Vantage UI is a way to see what they've built before it becomes a cog in your enterprise machinery.

Why is generic UI important?๐Ÿ”—

When Claude 4 came out, I decided to rewrite my admin system in React. The first screen was great, and the UI was stunning. I asked to add search and sort, and it looked lovely. But gradually the admin panel became slower. Introducing pagination was a major refactor, search conflicted with sort, and I had to go through those major rewrites on every page.

Somehow I was spending 90% of my time on technical bugs. I would have been better off with a generic CRUD solution, but the ones my agent could find were commercial products, too heavy for a minor use case like mine.

In retrospect, I realise that my admin implementation had to be defined by three things:

My failed admin shuffled all my requirements into the third category. Claude was never brave enough to speak up or suggest changing the API or the data model.

A generic and feature-rich CRUD solution would have saved me weeks!

Vantage UI 0.4: the first UI CRUD๐Ÿ”—

Vantage Admin, 28 April 2026: a light-themed window with Clients pages for SurrealDB and SQLite, JSONPlaceholder REST pages and AWS Log Groups in the sidebar. A Record form edits Doc Brown, with a flip switch for is_paying_client and an Update button.

CRUD stands for create, read, update and delete, the four main operations you would do with your generic data records. A VistaVista A universal handle on one table from any data source. It knows the columns, their types and what the source can do, so a generic grid or form can work with it without knowing your database.Read the docs โ†’ in Vantage carries meta-information about columns, types and capabilities, and can retrieve data, so our first prototype of Vantage UI was capable of doing all four (regardless of whether the backend was SurrealDB, SQLite or an API).

We focused the first builds on converging the diverse types used in various backends into a standard set of UI elements, such as presenting boolean values with a flip switch.

The whole DioramaDiorama A live local copy of part of your data, kept between a Vista and the screen. Reads come from the copy instead of the network, and it can add sorting or search the source itself lacks.Read the docs โ†’ machinery didn't exist yet, and as a result the UI was laggy: a beach ball while a record was loading or paginating was a common thing.

Vantage UI: a real-time desktop app๐Ÿ”—

Building Vantage as an AI-first low-code tool made me look at the market from a new angle. Who is Vantage UI for? An AI agent, with a human watching. So every decision we make and every feature we add has to give that agent more agency, and that human more confidence.

Given that realisation, we wrote down what we owe our users:

Between versions 0.4 and 1.0, Vantage UI saw 38 releases, each focused on strengthening those fundamentals. With them, we plan to redefine the market rules for low-code apps, with:

The skills

25

skills with 127 reference guides, bundled with the app and refreshed when Vantage is upgraded

The controls

8

fully specified YAML schemas, one for each part of an application: pagepage A YAML file describing one screen of the app: the grids, charts, forms and other components on it, and the tables they show., tabletable A YAML file describing one table from a data source: its columns, their types, how it relates to other tables and how to query it. Vantage turns it into a Vista.Read the docs โ†’, actionaction A YAML file describing something a user can do from a grid or a record, such as filling in a form, confirming a change, calling an API or running a command., etc.

The insight

14

MCP tools for inspecting the app, its data structure and logs, and, with your permission, the data

Vantage UI was designed from its first alpha versions to be LLM-first, not just in name but all the way through, and as more and more features are added, that remains true.

Pre-1.0 release history๐Ÿ”—

Vantage UI delivered about two releases a week in 2026:

Features keep coming every week. If you download Vantage, it will update itself.

What's next๐Ÿ”—

Release 1.0 is coming soon. With it, we plan to include a proper solution to my React problem: the same generic UI, able to run on the web. That will let us deliver on our practicality pledge, so what your agent builds with Vantage can reach your whole team, not only the people with the desktop app.

โ† All posts