clipboard-list-checkHow to Think When Creating a Blueprint

This tutorial walks you through growing a simple grocery list app into something useful with AI Architect.

Introduction

When you open this starter blueprint in AI Architect, you’re looking at something intentionally simple: Two people share a grocery list. One adds items, and the other sees them.

While this works as a basic concept, a blueprint needs more depth to generate high-quality functional code. This tutorial teaches you how to look at a simple blueprint and extend it in a way that improves the data flows, actor responsibilities, and system behaviors. These are the three things AI Architect relies on most when generating applications.

Perspective shift

Before you begin, it is helpful to shift your focus from adding features to identifying the behaviors required by your app's data flows.

What you’ll learn

  • What to consider when thinking about actors, data, and flows

  • How to extend a blueprint in a way that AI Architect can make use of

  • How to identify missing behaviors, not just missing features

Starter blueprint

To get started, go to aiarchitect.atsign.comarrow-up-right. From the home screen, select Start with an Example Blueprint, then choose the Grocery List App blueprint to load the example.

Page 1, is the starting point. Before you change anything, let's take a moment to understand the actors, data, and flows.

1. Start with the people (actors)

At the core of this app are two actors: the creator (who adds items) and the viewer (who sees them).

circle-check
circle-info

Consider

  • Who creates data?

  • Who consumes it?

  • Does each actor have a clear purpose?

comments-question-check

2. Understand the data

The core data objects are the grocery list and the list item. These are the “source of truth” for the entire app.

circle-check
circle-info

Consider

  • What data would exist even without a screen?

  • What data connects actors to each other?

comments-question-check

3. Follow the flow

Right now the flow is linear:

Creator → List item → Grocery list → Viewer

circle-check
circle-info

Consider

  • What happens first, next, and last?

  • Where does the app stop being helpful to the actors?

comments-question-check

4. Make the app more responsive

At this stage, the viewer has to check the app manually to see updates. That’s friction we want to remove.

circle-check
message-check
circle-info

Consider

  • Where is the person doing unnecessary work?

  • What should the app proactively communicate?

comments-question-check

5. Turn observers into participants

The viewer can see the list but can’t interact with it. Let's give them a more active role.

circle-check
message-check
circle-info

Consider

  • What data should this actor be allowed to update?

  • Who, if anyone, should grant them permission to update data?

comments-question-check

6. Introduce intelligence

Once the core flows are solid, you can add intelligence to transform data into something more useful.

circle-check
message-check
circle-info

Consider

  • Is there a pattern in the data?

  • Would a human naturally make suggestions here?

  • What other parts of the app need to feed into this data flow for it to be complete?

comments-question-check

7. Add descriptions

Think of the description section as the node's job description. This is the most critical step for code generation.

circle-check
message-check
circle-info

Consider

  • What data does this node own?

  • Who can read or write it?

  • What else is it used for in the app?

comments-question-check

8. Define connection types

Now, define how the nodes interact to complete the loop.

circle-check
message-check
circle-info

Consider Is this interaction immediate, background, or interruptive? If you are unsure, you can set it to data stream.

comments-question-check

Final Blueprint

That's it! The completed blueprint should represent a full loop of interaction where every component participates in the app's behavior. If you go to page 2 of the Grocery List App blueprint, you will see the final blueprint.

App Prototype

Now that your blueprint is complete, you’re ready to generate your app prototype using an LLM. To do that, follow the instructions on the Getting Started with AI Architectarrow-up-right page, starting from Step 2.

Common Mistakes

chevron-rightAdding actors who don’t actually do anythinghashtag

If an actor has no meaningful actions on the data, the system becomes passive and AI Architect has nothing to generate around them.

chevron-rightSkipping the data layerhashtag

People jump straight to features or agents without defining the core data objects. Without clear data, the entire blueprint becomes unstable.

chevron-rightTreating all data as one blobhashtag

Not separating structures, like a Grocery List vs. List Item, leads to vague flows and confusing behavior.

chevron-rightIgnoring the flow of informationhashtag

If you don’t map out who sends what to whom, the system feels unpredictable. AI Architect needs explicit flows to generate correct behavior.

chevron-rightForgetting to make the system responsivehashtag

If nothing triggers actions, notifications, updates, or background work, the app may feel static and unhelpful and these will have to be added in later.

chevron-rightLeaving observers as observershashtag

When someone only views data, the system stays limited. In some instances this is okay but using the data to extend functionality (like letting the Viewer update item status) unlocks richer behavior

chevron-rightWriting vague or empty noteshashtag

Nodes without notes force AI Architect to guess. Notes define purpose, ownership, and behavior.

chevron-rightNot labeling connection typeshashtag

If you don’t specify sync, async, or notification, the system can’t generate the right timing or behavior. (And yes, if you’re unsure, defaulting to a data stream is perfectly fine.)

chevron-rightOver‑engineering the blueprinthashtag

Too many nodes, too many agents, too many flows. Complexity without purpose makes the system harder to understand and harder for AI Architect to generate.

Last updated