> ## Documentation Index
> Fetch the complete documentation index at: https://docs.constructr.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Iterate

> Learn how to refine and improve your Constructr apps after they're built

## How to Iterate

One of the best things about Constructr is that your apps aren't set in stone. You can iterate, refine, and improve them at any time. Here's how to make the most of iteration.

## The Iteration Process

After your app is built, you can request changes by simply describing what you want to modify. The AI agents will update your app while keeping it running.

### Step 1: Identify What to Change

Think about what could be improved:

* **New features** you want to add
* **UI/UX improvements** for better user experience
* **Bug fixes** or issues you've noticed
* **Performance optimizations**
* **Integration additions** or modifications

### Step 2: Describe Your Changes

Just like when you first built your app, describe what you want to change in plain language. Be specific about:

* **What** needs to change
* **Where** it should change (which page, feature, etc.)
* **Why** you want the change (if helpful context)
* **How** it should work (if you have a specific vision)

### Step 3: Review and Deploy

The AI agents will:

1. Analyze your requested changes
2. Update the relevant parts of your app
3. Test the changes
4. Deploy the updates

Your app stays live during updates, so users aren't interrupted.

## Iteration Best Practices

<AccordionGroup>
  <Accordion title="Start with Small Changes">
    Begin with minor improvements to get comfortable with the iteration process. Small, focused changes are easier to review and validate.
  </Accordion>

  <Accordion title="Be Specific">
    The more specific you are about what to change, the better the results. Instead of "make it better," say "increase the button size and change the color to blue."
  </Accordion>

  <Accordion title="Iterate Incrementally">
    Make changes in logical increments. Don't try to change everything at once—it's easier to review and test smaller updates.
  </Accordion>

  <Accordion title="Test After Changes">
    Always test your app after iterations to ensure everything works as expected. The QA agent helps, but your validation is important too.
  </Accordion>

  <Accordion title="Keep a Change Log">
    Consider keeping track of what you've changed and why. This helps you understand your app's evolution and makes future iterations easier.
  </Accordion>
</AccordionGroup>

## Common Iteration Scenarios

### Adding New Features

**Example:**

> "Add a search bar to the task list page that allows users to search tasks by title or description. The search should filter results in real-time as the user types."

### Improving UI/UX

**Example:**

> "Make the dashboard more visual by adding charts for task completion rates. Use a bar chart for daily completion and a pie chart for task status distribution."

### Fixing Issues

**Example:**

> "The date picker isn't working on mobile devices. Please fix it to work properly on all screen sizes and ensure the calendar popup is touch-friendly."

### Adding Integrations

**Example:**

> "Add Slack integration so that when a task is marked as complete, it sends a notification to the #tasks channel with the task title and who completed it."

### Performance Improvements

**Example:**

> "The task list is loading slowly when there are many tasks. Please add pagination to show 20 tasks per page with a 'Load More' button."

## Iteration Workflow

<Steps>
  <Step title="Use Your App">
    Use your app in real scenarios to identify areas for improvement.
  </Step>

  <Step title="Gather Feedback">
    Collect feedback from users about what works and what doesn't.
  </Step>

  <Step title="Prioritize Changes">
    Decide which changes will have the biggest impact.
  </Step>

  <Step title="Request Updates">
    Describe your changes clearly and submit them for iteration.
  </Step>

  <Step title="Review & Test">
    Review the changes and test them thoroughly.
  </Step>

  <Step title="Deploy">
    Deploy the updated version when you're satisfied.
  </Step>
</Steps>

## Tips for Effective Iteration

* **Be patient**: Complex changes may take a bit longer
* **Communicate clearly**: The better you describe what you want, the better the results
* **Test thoroughly**: Always test changes before deploying to production
* **Document changes**: Keep notes on what you've changed for future reference
* **Iterate regularly**: Regular small improvements are better than occasional large overhauls

## When to Start Fresh

Sometimes, it's better to start fresh rather than iterate extensively:

* When the core concept has changed significantly
* When the app User Experience needs a major overhaul
* When you want to try a completely different approach

Don't hesitate to build a new version if that makes more sense for your needs.

## Next Steps

<CardGroup cols={2}>
  <Card title="Learn About Integrations" icon="plug" href="/working-with-constructr/how-to-use-integrations">
    Discover how to connect your apps to external services.
  </Card>

  <Card title="Prompt Best Practices" icon="star" href="/best-practices/how-to-prompt">
    Learn how to write better prompts for iterations.
  </Card>
</CardGroup>

<Note>
  **Questions about iteration?** Check out our [FAQs](/faqs) or [join our Discord community](https://discord.com/invite/z9xmYcHDGZ) for help.
</Note>
