Skip to main content

Agentic UX Analytics - Test your app with AI agents

Project description

Usefly

Find UX friction before your users do.

License: MIT Python 3.12+ CI

AI-powered UX testing platform. Deploy browser agents to simulate real user journeys on your web app and identify friction points, broken flows, and usability issues.

Usefly Logo

What It Does

Usefly uses AI browser agents to test your application like a real user would. Instead of writing manual test scripts, you describe what your app does and Usefly generates realistic user tasks, executes them with AI-controlled browsers, and reports back with detailed analytics on where users struggle.

Key Features

  • Automated Website Analysis - AI crawls your site to understand its structure, navigation, and available features
  • Smart Task Generation - Automatically generates realistic user journey tasks based on your site's capabilities
  • AI Browser Agents - Executes tasks using vision-enabled AI agents that interact with your app like real users
  • Friction Detection - Identifies UX issues, confusing flows, and broken functionality
  • Detailed Reports - View step-by-step agent interactions, screenshots, and success/failure analysis

Installation

Choose the method that works best for you:

Option 1: Docker (Simplest)

No Python or Node.js required. Just Docker.

docker run -p 8080:8080 -v usefly-data:/app/src/data ghcr.io/dudany/usefly

Open http://localhost:8080 in your browser.

Note: The -v usefly-data:/app/src/data flag persists your data between container restarts.

Option 2: Using uv (Recommended)

uv is a fast Python package manager. Requires Python 3.12+.

# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create virtual environment and install (requires Python 3.12+)
uv venv --python 3.12
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install usefly

# Install browser for AI agents
playwright install chromium

# Start the server
usefly

Option 3: Using pip

Requires Python 3.12+.

# Create virtual environment (requires Python 3.12+)
python3.12 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install from PyPI
pip install usefly

# Install browser for AI agents
playwright install chromium

# Start the server
usefly

Open http://localhost:8080 in your browser.

Note for Contributors: If you are installing from source (e.g. cloning the repo), you must build the UI manually. See CONTRIBUTING.md.

First Run Setup

  1. Navigate to Settings in the sidebar
  2. Configure your AI provider:
    • Select a provider (OpenAI, Claude, Groq, or Google)
    • Enter your API key
    • Choose a model (e.g., claude-sonnet-4-20250514, claude-opus-4-20250514, claude-haiku-4-20250514)
  3. Optionally adjust:
    • Max Steps - Maximum actions per task (default: 30)
    • Max Browser Workers - Parallel browser count (default: 3)

Usage

1. Create a Scenario

  • Go to ScenariosNew Scenario
  • Enter your target URL and a description of your application
  • Click Analyze Website to let AI understand your site structure
  • Generate tasks automatically or add custom ones

2. Run Tests

  • Select a scenario and click Run
  • Watch AI agents interact with your app in real-time
  • Each agent executes assigned tasks and records every interaction

3. View Reports

  • Go to Reports to see aggregated results
  • Analyze friction points and failure patterns
  • Review step-by-step screenshots and agent decisions
  • Use Replay to watch recorded sessions

CLI Reference

usefly                    # Start server on default port 8080
usefly --port 3000        # Use custom port
usefly --reload           # Enable auto-reload for development
usefly --help             # Show all options

Supported AI Providers

Provider
OpenAI
Anthropic
Google
Groq

Troubleshooting

Common Issues

Browser agents fail to start

  • Check that your API key is correctly configured in Settings
  • Ensure you have sufficient API credits

UI shows blank page

  • Clear browser cache and refresh

Contributing

Contributions are welcome! See CONTRIBUTING.md for development setup and guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • browser-use - The excellent browser automation library powering our agents
  • LangChain - For seamless LLM integration
  • shadcn/ui - Beautiful UI components

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usefly-0.1.4.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

usefly-0.1.4-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file usefly-0.1.4.tar.gz.

File metadata

  • Download URL: usefly-0.1.4.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for usefly-0.1.4.tar.gz
Algorithm Hash digest
SHA256 993a99e15e6ac578406b519eea6a7175975b77d954a94b0a2c7c828df3908012
MD5 84f4fb960fcc7f51fcba7f7a37a47d4f
BLAKE2b-256 f41702710f9fcd95eedf60faa3eded40910af5fe19570e17e748e9081ed6d5c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for usefly-0.1.4.tar.gz:

Publisher: release.yml on dudany/usefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file usefly-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: usefly-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for usefly-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5589118a16a498c4cebed060b5c979b66afbeb59369e36f88ce5da3ea6ceb544
MD5 d71a4bf0ac5ecdaa91a997edff33e20a
BLAKE2b-256 ef58fe9cbed4a0e1cef00d72ece7f046b7e9251b2ad48d3ea08e7ed027422cf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for usefly-0.1.4-py3-none-any.whl:

Publisher: release.yml on dudany/usefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page