Introduction to Abee / SynthCrowd
Relevant source files
The following files were used as context for generating this wiki page:
Abee (also referred to as SynthCrowd) is a synthetic user testing and website optimization platform designed to increase revenue by simulating how an Ideal Customer Profile (ICP) interacts with a website. Instead of relying on a small number of real-world testers, Abee generates a diverse population of up to 1,000 AI-driven browser agents that navigate a target URL to identify friction points and measure conversion rates against a specific Call to Action (CTA). Sources: README.md:3-8, plan.md:5-9
Beyond simple testing, the platform features a closed-loop optimization system. It analyzes why specific synthetic personas failed to convert, proposes targeted code changes to fix those friction points, and automatically reruns the tests to verify the efficacy of the fixes. This cycle continues until a conversion threshold—typically 75%—is met. Sources: plan.md:7-12, src/engine/optimizationLoop.ts:250-280
System Architecture
The Abee platform operates through a 5-stage pipeline that transitions from natural language input to actionable technical improvements.
High-Level Data Flow
The following diagram illustrates the flow from user input through the various engine modules to the final analysis and code modification phases.
The pipeline turns plain-English customer descriptions into realistic browsing sessions with measurable outcomes. Sources: README.md:15-28, plan.md:14-60
Core Components
1. Interpreter
The Interpreter uses the Claude LLM to transform raw user input—either a natural language description or a website URL—into a structured PersonaConfig. If a URL is provided, the system fetches the page, strips HTML to text, and summarizes the site's purpose to infer the ideal buyer. Sources: src/engine/interpreter.ts:51-95, README.md:33-47
2. Population Generator
This component takes the center-point PersonaConfig and produces N diverse variants. It uses the Box-Muller transform for Gaussian distribution across numeric traits (0-1 scale) and includes logic for outlier generation, where the bottom 15% of the population receives double the configured variance to surface extreme edge-case friction. Sources: README.md:55-70, plan.md:24-25
3. Prompt Compiler
The Compiler maps the 19 persona traits to specific, deterministic behavioral rules. These rules are hardcoded and cover 13 categories, such as tech literacy, patience, and trust. For example, a persona with tech literacy < 0.2 receives instructions such as "You do NOT understand hamburger menus." Sources: src/engine/promptCompiler.ts:8-40, README.md:76-105
4. Agent Runner
The Runner executes the compiled personas as autonomous browser agents using the Browser Use SDK. Agents run in configurable batches to respect API limits, capturing real-time events like page visits, clicks, confusion, and abandonment. Sources: README.md:112-126, plan.md:32-40
Persona Trait Model
Every synthetic persona is defined by 19 traits across five primary categories. All numeric traits are normalized to a 0-1 range to facilitate Gaussian variation.
| Category | Traits |
|---|---|
| Demographics | age, gender, location, income_bracket, education |
| Digital Behavior | tech_literacy, patience, attention_span, device_preference |
| Domain Context | domain_familiarity, goal_clarity, purchase_intent, price_sensitivity |
| Language | english_proficiency, primary_language |
| Behavioral | decision_style, jargon_tolerance, form_tolerance, trust_baseline |
Sources: README.md:139-178, src/engine/interpreter.ts:13-34
Optimization and Code Modification
A key differentiator of Abee is its ability to not only identify issues but also propose and apply technical fixes.
Failure Analysis
The CodeAnalyzer processes the narratives and friction points from failed personas. It matches these against the website's source code to generate a ProposedChange object.
Implementation Logic
The CodeModifier applies changes using a safety-first approach. It performs a Git commit before any modification, replaces the target string, and verifies if the site still loads correctly. If the site fails to load (e.g., a 200 OK check or missing HTML tags), it automatically performs a git revert. Sources: src/engine/codeModifier.ts:11-55, plan.md:50-58
Technical Stack
| Category | Technology |
|---|---|
| LLM | Anthropic Claude (Sonnet 3.5 / 4) |
| Agent Runtime | Browser Use SDK |
| Database | Convex (Real-time), MongoDB (Persistence) |
| Infrastructure | Daytona (Sandboxing) |
| Tracing | Laminar |
Sources: README.md:214-222, plan.md:113-125
Conclusion
Abee / SynthCrowd provides an automated, end-to-end loop for conversion rate optimization. By combining LLM-based persona generation with autonomous browser agents and automated code modification, the system reduces the friction between identifying UX issues and implementing verified solutions. Sources: plan.md:5-12, README.md:278-295