Aha! Builder helps product managers build trusted business applications with AI. Describe what you want, and Elle (the AI assistant in Aha! software) generates the application's front end, back end, and database.
In this article, we will build a real internal application together from scratch. Let's say we are a product manager on an operations team. Our team tracks vendor onboarding today with a tangle of spreadsheets and email threads. New vendors get missed, onboarding tasks fall through the cracks, and leadership cannot see progress without asking. We will use Aha! Builder to build VendorTrack, an internal application where team leads create vendor records, assign onboarding tasks, and watch progress on a dashboard. By the end, we will have a working application we can refine, share with the team, and deploy to production.
If we want to test a design idea with stakeholders before we commit to a full application, we should start with a prototype instead. See this article for more details.
Click any of the following links to skip ahead:
Launch the getting started wizard
To start, navigate to the Applications page and click Create.
Select Build an application. The wizard will walk us through a few short steps that give Elle the context needed to generate something we can use.
Elle introduces itself and explains how the wizard works. Click Let's go to begin.
We will fill in the wizard details later from the AI chat panel. For VendorTrack, we want Elle to make smart decisions about authentication and data structure upfront.
Describe the application
In the Vision step, we describe the application at a high level. A few sentences are enough. We want to focus on the problem we are solving, who the application is for, and what people need to do with it.
For VendorTrack, type:
"I need an internal tool for our operations team to track vendor onboarding. Team leads should be able to create vendor records, assign onboarding tasks to team members, and view a dashboard that shows progress across every vendor — including which tasks are complete, which are blocked, and which vendors are at risk of missing their onboarding deadline."
The wizard works best with short prompts and clear intent. We do not need a full product requirements document. Elle will ask follow-up questions later. Click Next.
Choose a name
In the Name step, Elle reads our vision and suggests three names. From our initial prompt, we might see "VendorTrack," "OnboardOps," and "PartnerPath." We will go with VendorTrack; it is descriptive and easy for team leads to remember.
If none of the suggestions fit, we could select Custom name and type our own. Click Next.
Select the application type
In the Type step, choose the option that best describes how people will use the application. Our selection guides the authentication and data structure Elle builds.
Public: Anyone on the internet can use the application and see all the data. A good fit for public-facing websites and catalogs.
Team: Login is required, and every user sees the same data. A good fit for shared trackers like an asset inventory.
Private: Login is required, and each user sees their own data. A good fit for personal tools like a task manager.
VendorTrack is an internal tool where every team lead and team member should see the same vendor list and progress data, so we will select Team. Click Next.
Describe who we are building for
In the Personas step, we describe who will use the application and what each person needs to accomplish. Aha! Builder uses this context to shape navigation, permissions, and page layouts.
For VendorTrack, we will describe three roles:
Team leads who create vendor records, assign onboarding tasks, and own the relationship with each vendor
Team members who complete the onboarding tasks assigned to them and update task statuses
Operations leaders who review the dashboard, watch progress across vendors, and intervene when an onboarding is at risk
Click Next.
Outline the user experience
In the Capabilities step, we explain the main jobs the application must support. We will start with the core workflows our team needs most.
For VendorTrack, we will list:
Creating a new vendor record with company details, primary contact, and target onboarding date
Assigning onboarding tasks from a standard checklist (legal review, security review, payment setup, kickoff call) to specific team members
Updating task status as work progresses (Not started, In progress, Blocked, Done)
Viewing a dashboard with a card for each vendor showing onboarding progress, blocked tasks, and time to deadline
Aha! Builder turns these descriptions into application features, and we can refine them after the first build. Click Next.
Choose a navigation layout
In the Navigation step, we select the layout that best fits our application:
Horizontal: A top navigation bar suited to applications with a small number of top-level areas
Vertical: A left sidebar suited to applications with deeper navigation or multiple dashboards
VendorTrack has several areas — vendors, tasks, dashboard, and reports — and team leads will likely need quick access to all of them, so we will choose Vertical. Click Next.
Set the visual style
In the Style step, we describe the application's ideal design. We will share our preferences in plain language.
For VendorTrack, we will type:
"Clean and professional, similar to our internal operations tools. Use our brand blue as the primary color with a neutral gray background. Comfortable density — not cramped, but not sparse. Tables and cards should be easy to scan."
We can also give Elle additional visual context:
Upload design inspiration by dragging image files into the upload area. Accepted formats are PNG, JPEG, and SVG.
Include a link to a public design system or brand guidelines directly in the description.
Click Next.
The wizard's style settings are a starting point. On the Aha! Builder Team and Scale plans, you can build a full, reusable design system for your application after the first build — a set of design tokens and customized components that keep every screen on-brand.
Answer Elle's clarifying questions
On the Elle is almost ready to start building screen, Elle reviews everything we have entered and presents up to three follow-up questions. These often cover user roles, required fields, or important workflows.
For VendorTrack, Elle might ask whether the onboarding checklist should be the same for every vendor or vary by vendor type, whether the dashboard should support filtering by team lead, and whether vendors should receive automatic notifications when tasks are assigned.
We will answer each question in one or two sentences. We will say the checklist should be the same for every vendor for now (we can add vendor types later), the dashboard should filter by team lead, and we do not need vendor-facing notifications yet.
If Elle asks something we have not thought through, we could always click Skip. Elle will make a reasonable assumption that we can update later.
We are ready! Click Design my app.
Aha! Builder generates a complete application — a React front end, a TypeScript back end, and a PostgreSQL database. The build takes a few minutes, so we will keep the browser tab open while it runs.
The initial build lands in Preview mode so we can explore VendorTrack as the team would see it. Any data we enter during this phase is stored in the preview database, separate from production.
Refine the application with Elle
When the build finishes, we land in Preview mode looking at the first version of VendorTrack. We can click around, create a sample vendor, and see how the workflows feel. The first build will be close to our vision, but rarely perfect — and that is by design. Each round of refinement gets us closer to something the operations team will actually use.
We will use the Elle panel on the right side of the Preview screen to refine the application with plain-language prompts. If we send another request before the current one finishes, Aha! Builder queues it for us.
Looking at the first build of VendorTrack, there are a few things to change. Here are common ways to refine an application, with the changes we will make to VendorTrack:
I want to... |
Try this |
Our VendorTrack example |
|---|---|---|
Change a page layout or component |
Describe the change in the Elle panel |
"On the dashboard, change the vendor cards from a single column to a three-column grid so we can see more vendors at once" |
Update a specific element |
Click Select elements in the preview toolbar, click the element, then describe the change |
Click Select elements, click the Status column header on the tasks page, and type: "Add a filter to this column so we can show only Blocked tasks" |
Fix an error |
Click Fix with AI, then refresh the page |
When clicking a vendor card returns a 500 error, click Fix with AI and refresh. Elle will resolve it. |
Add a new capability |
Click Make an improvement or type the request directly in the Elle panel |
"Add a 'Time to deadline' indicator on each vendor card that turns red when the deadline is within seven days" |
Each change shows up in our preview within a minute or two. We can keep stacking requests as we think of them — Aha! Builder applies them in order. Every change is tracked in the code history, so we can review what changed at any point or roll back a refinement that did not land the way we wanted.
We will keep refining until VendorTrack matches what our operations team needs.
Configure and deploy
VendorTrack now looks and works the way we want. Before we share it with the operations team, we need to configure it for production use.
Set up authentication: Navigate to Operate -> Configuration -> Authentication and enable the identity providers our team uses to sign in (Password, Google, GitHub, Microsoft, or Aha!). People who use VendorTrack do not need an Aha! account. Our team uses Google for everything, so we will enable Google and turn off the others. Note: Aha! Builder Scale plan customers can also authenticate application users with SAML-based single sign-on.
Connect to external tools: If our application needs to connect to external APIs or services, we can navigate to Operate -> Configuration -> Integrations to store credentials securely, then ask Elle to set up the integration. For VendorTrack, we want to post a message to our team's Slack channel when each onboarding is completed. So we will store our Slack webhook URL here and ask Elle: "When a vendor's onboarding tasks are all complete, post a message to our Slack channel using the
SLACK_WEBHOOK_URLsecret."
Users on the Aha! Builder Team and Scale plans can run virtual user testing before they deploy.
Deploy the application: Navigate to the Production area and click Deploy to publish VendorTrack. By default, the application is available at an Aha! Builder-hosted subdomain. To use a custom domain, click Configure domain and follow the steps to point a CNAME from our domain to Aha! Builder.
Note: File uploads are not supported on applications deployed with a custom CNAME today. If our team needs to attach files to vendor records, we would deploy with the Aha! Builder-hosted subdomain for now.
Once VendorTrack is live, we will share the URL with the operations team and watch the first vendors get onboarded in the real application. As the team uses it, feedback will come in: a column to add, a filter to refine, a report leadership wants. We can head back to the Elle panel, make the change, and redeploy when we are ready.