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.5.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.5-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: usefly-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 4c39775a4424354b252fb81dd55df9c47d23340cded849f4fd4222a041e7fed8
MD5 b1b92e5e6f1262abc92bf8ee9f9d81a4
BLAKE2b-256 9e6c2e3e063d658f2ac847d380e080e4c3a9a1bd75bed0afa1e170ef8eee81bb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: usefly-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6c33bb3a3bb33f9a343f0165890525645924e69b9f5520d03ab68fcec3c437b9
MD5 d161f4b8c439d742295f40bdbe99ac42
BLAKE2b-256 5c550578e57b5c70624e18a32f2b3f64a8839de083fe649ccc56798f4e788ae6

See more details on using hashes here.

Provenance

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