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.

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.1.tar.gz (2.1 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.1-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: usefly-0.1.1.tar.gz
  • Upload date:
  • Size: 2.1 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.1.tar.gz
Algorithm Hash digest
SHA256 3ccd58c0adabd7e3002b2e3b1d4dcccce3284845707e1c3687d2b686104c7a53
MD5 66ea529b702a83538af00886b1bb2713
BLAKE2b-256 b7ff204a93614886bd66a41c7187ef3afc3e40191ea295f8bd5314b850f3b56e

See more details on using hashes here.

Provenance

The following attestation bundles were made for usefly-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: usefly-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9187924d4b31ea8010441d37503d1332a1a1f47ce9e722107ddd1e0428700b3
MD5 c990872a7283007a180a95c70389121a
BLAKE2b-256 df411f313fc05f5fb15ef39ac4247d566335eb3992a979527d18a49fdb9cbe45

See more details on using hashes here.

Provenance

The following attestation bundles were made for usefly-0.1.1-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