Human–Technology Interaction

Behavioral research, interface evaluation, and computational testing

I study how people use technology, how they interpret its outputs, and where its design causes problems. My work draws on behavioral science, experimental design, qualitative and quantitative research, and measurement. I also build research instruments and working prototypes, and I use AI agents, simulation, and automated checks to examine how interfaces behave and where they fail. AI assists with much of the software development and computational implementation. I design the research, specify the tests, evaluate the evidence, and determine what the results support.

Research with people

My academic and applied research has used observation, interviews, usability studies, surveys, behavioral data, and experiments to study behavior, judgment, and decision-making, including work for Meta, Roku, and Iron Light. That experience shapes how I construct tasks, select measures, and design studies that can distinguish competing explanations.

Most of that participant-facing research cannot be shown publicly because of confidentiality and participant privacy. The independent studies below draw instead on public data, existing interfaces, working prototypes, and computational evaluation.

Computational testing

The studies use three kinds of computational test, and each provides evidence about a different property of an interface or a proposed design. Some properties can be tested directly in the software. An automated check can establish that an interface omits a warning, or that a control changes the food log during a task that requires no change. AI agents operating a working interface expose possible interpretations and action sequences. Simulations show what follows when specified behavioral rules, or a proposed study's decision rules, are applied repeatedly under varying assumptions.

None of these methods establishes how often people encounter a problem, how they interpret it, or whether a proposed change improves their performance. Those questions require research with people. Computational testing can identify candidate problems, compare designs, and expose weaknesses in a research protocol before anyone is recruited.

AI agents

A model chooses actions on a working interface.

Tests possible interpretations and task behavior.

How these tests are run

AI agents operating working interfaces

An AI model receives a task and a role, such as a novice student or a hurried user. The testing system presents the current interface as text with numbered controls. The model chooses an action, the system performs it in a browser, and the model receives the resulting screen, until the task is completed, abandoned, or interrupted.

In Org Signal, agents answered questions about fictional organizations whose network structures were known. In MyFitnessPal, agents completed tasks on an instrumented prototype, and their actions could be checked against the resulting food log. The agents are not calibrated stand-ins for users. Their mistakes mark possible problems to investigate, and model refusals can interrupt the procedure itself.

Simulations

Specified behaviors or experiments are repeated with randomness.

Tests consequences of assumptions.

How these tests are run

Repeated simulations under specified assumptions

In the Sleeper study, programmed policies describe different ways a manager might use a waiver-claim interface. One selects the intended control. Another taps the player's name and may follow the prominent Drop action. Each policy interacts with the working prototype thousands of times, and comparing transactions across interface versions shows which error pathways each design permits.

The developer-trust study simulates the proposed experiment itself. It generates hypothetical trials with known treatment effects, applies the release rule, and records how often the study would reach the correct decision, make an error, or remain inconclusive. In both cases the assumptions are explicit and can be changed.

Systematic checks

Scripts inspect interface states and possible actions.

Tests software behavior directly.

How these tests are run

Systematic tests of software behavior

A deterministic test executes a specified interaction sequence, checks whether a warning appears, or searches the routes through an interface. Given the same software and inputs, it produces the same result.

In Org Signal, a regression check finds places where a departed employee appears without a departure warning. In MyFitnessPal, a search measures the actions each prototype design requires, within its exploration limits. In Nextdoor, synthetic posts with planted disclosure concerns and harmless lookalikes compare fixed detection rules with a contextual AI reviewer.

Selected studies

01. Correct network calculations and unsupported interpretations

Org Signal · AI-agent interface evaluation · Known-answer evaluation · Interface revision

Org Signal is a browser-based social-network analysis application I built. Its calculations passed independent numerical checks, but AI agents using the interface drew conclusions the results did not support. They identified a departed employee as a current organizational broker, read a count that included two-way ties twice as the number of distinct contacts, and overlooked how the definition of a relationship changed the network being analyzed.

These errors concern the interpretation of network measures rather than their calculation. Whether someone occupies a central position depends on which people and relationships are included. When reciprocal ties are counted separately, a directed-tie count can exceed the number of distinct contacts. And different definitions of a relationship produce different networks, so a conclusion that ignores the definition may describe a network other than the one analyzed. The agents made these errors while using an interface that did not consistently surface the qualifications needed to interpret its results.

Two rounds of agent evaluation, using synthetic profiles that included a consultant, an instructor, and students, produced 253 issue reports. I consolidated them into sixteen design decisions and implemented them across the application. The revisions included explanations attached to network measures, clearer distinctions between observed and inferred groups, and account-status warnings. A subsequent known-answer evaluation, cut short by model refusals, found that the prominent "Who stands out" summary still listed the departed employee first without her deactivated status. A deterministic regression check located two further references missing the warning and provides a repeatable test for the correction.

The evaluations identified specific ways the agents misread the application and the software states in which relevant qualifications were missing. Whether the revisions help people interpret network results more accurately remains to be tested.

Presentation · about 14 minutes

Explore the presentation ↗ · Open Org Signal ↗ · Org Signal in the Networks Lab

02. Repeated-use costs in a redesigned food diary

MyFitnessPal · App-store review analysis · Usability-study design · Instrumented prototype · AI-agent protocol rehearsal

In April 2026, MyFitnessPal replaced its long-standing diary interface with a redesigned Today screen. I examined whether the complaints that followed reflected difficulty learning a new interface or changes that increased the work of routine food logging.

I collected approximately 9,200 public app-store reviews and coded a sample of 950. Part of that sample had been selected for redesign complaints, so the principal comparison over time uses only randomly sampled Google Play reviews. Among complaints identifying a specific source of difficulty, repeated-use design costs predominated both immediately after the redesign and in later periods. Reviewers described opening more screens to inspect meals, losing a compact view of the day, and having difficulty copying or editing entries. These problems differ from difficulty locating an unfamiliar control. A user can learn where an action has moved without reducing the number of steps it requires. The persistence of such complaints is consistent with continuing workflow costs. The reviews come from people who chose to post them and are not repeated observations of the same users, so they cannot establish how common these difficulties were among all users or whether individual users adapted.

The analysis informed a proposed compact day view and a comparative usability study with twelve established food loggers. Before recruiting, I rehearsed the protocol with AI agents on an instrumented prototype. Sixty of eighty planned runs were completed before model refusals stopped the rest. The rehearsal exposed a task that suggested its expected answer, a success criterion that could accept an incorrect action, and an error measure that could not test its intended claim. Together with a separate automated review, it led to ten revisions of the study.

A path search over the two prototypes found that the compact view showed the full day and the correct calories-left figure without a tap and needed fewer actions for several editing and navigation tasks. The reconstructed Today screen offered a shorter path for copying yesterday's breakfast. These comparisons concern the prototypes. The reconstruction still needs to be verified against the current app, and the revised study run with people.

Presentation · about 14 minutes

Explore the review analysis ↗ · Explore the usability-study rehearsal, about 13 minutes ↗ · Open the prototype ↗

03. Immediate player drops during waiver claims

Sleeper · Mode-error analysis · Interactive reconstruction · Behavioral policy simulation

Members of a fantasy-football league I play in have repeatedly dropped players they meant to keep while making waiver claims in Sleeper. A waiver claim can include a conditional drop, which releases the player only if the claim succeeds. In the recorded interaction, tapping a player's name opens a separate page whose prominent Drop action releases the player immediately, independently of the pending claim. The manager can then submit the claim with an open roster spot, and nothing indicates that the earlier drop was unnecessary.

I reconstructed the interaction as a working prototype with three kinds of change. Selection controls keep the user within the claim, the player page names the pending task, and confirmations distinguish conditional drops from immediate releases. Five behavioral policies run against five interface versions produced 25,000 simulated transactions. Under the stipulated name-tapping and row-tapping policies, approximately 81 percent of baseline runs produced immediate drops, and the selection and context changes eliminated them for the claim-based policies. A separate drop-first policy exposed a remaining problem: changes confined to the claim workflow cannot prevent errors that begin before the claim.

I also specified an event-log sequence for finding candidate errors, a procedure for establishing whether recorded drops were contrary to users' intentions, and an experiment to test the selection change. The simulations compare outcomes under specified behavioral policies. The proposed event-log analysis and intention-validation procedure would be needed to determine whether comparable errors occur in actual transactions.

Presentation · about 12 minutes

Explore the presentation ↗ · Open the five-version prototype ↗

04. Separating AI-assisted drafting from neighborhood publication

Nextdoor · Task-flow analysis · Interactive prototype · Research and experiment design

Nextdoor's Ask feature can help someone formulate a local question. In my walkthrough it produced a request for bicycle-mechanic recommendations, but the request could not be carried into the neighborhood posting workflow. Preparing a useful question and deciding what to disclose, to whom, and whether to publish require different judgments.

I designed an Ask-to-Post handoff that carries the prepared question into an editable draft and keeps a separate review stage covering audience, identifying details, named people and businesses, and wording. Claude implemented the working prototype from my specification. Opening the draft publishes nothing, and the review controls prompt reconsideration without certifying that a post is appropriate. I also specified a randomized evaluation whose outcomes include whether users receive useful information and whether the change produces unwanted disclosures, moderation problems, or low-value content.

To test the review stage, I built 160 synthetic drafts containing 164 planted concerns and 149 harmless lookalikes. The prototype's three detection patterns caught 49 items in the categories they support, with 37 false alarms. A contextual AI reviewer produced findings overlapping all 164 planted items, with six false alarms. That comparison favored the reviewer, whose instructions named the categories used to build the cases, so after seeing those results I built a harder set, on which it detected 23 of 24 planted items. These results concern constructed examples. They do not show how the reviewer would perform on actual neighborhood posts or how people would respond to its warnings.

Presentation · about 12 minutes

Explore the presentation ↗ · Open the review test ↗

05. Debugging effort and trust in AI coding tools

Stack Overflow Developer Surveys · Statistical modeling · Segmentation · Experimental design

Among Stack Overflow survey respondents using AI coding tools, the share reporting trust in output accuracy declined from 48 percent in 2023 to 39 percent in 2025. Using approximately 204,000 responses from the three survey years, I examined which reported difficulties distinguished trusting from distrusting users.

The most frequent frustration, suggestions that are almost correct, distinguished trusting from distrusting respondents poorly. Reporting extra time debugging AI-generated code was associated with approximately fifteen percentage points lower trust after adjustment for other measured characteristics. Demographic and professional characteristics barely predicted trusting daily use. Reported experience with AI tools predicted it much better but is unavailable before someone has used the product.

The contrast between almost-correct suggestions and debugging effort suggests that the work of verifying and correcting generated code may matter more for trust than encountering imperfect suggestions. The survey cannot establish that debugging effort lowers trust. Task difficulty, prior expectations, and other differences among users could produce the same association.

I proposed a randomized experiment testing integrated verification support, with outcomes for debugging effort, task completion, code quality, and reported trust, and built a Monte Carlo simulator to examine how the trial's decision rules would perform. Under the initial assumptions, a sample sized to detect a five-percentage-point difference in trust approved a broadly useful verification feature in approximately 38 percent of simulated trials. A feature that raised trust while worsening code quality was rarely approved, but the trial often ended inconclusive rather than rejecting it. A stricter benefit criterion substantially reduced mistaken general rollouts when the gains were confined to initially distrustful developers. The simulation examines how the proposed trial would classify treatment effects under specified assumptions. The experiment itself would test whether verification support reduces debugging effort and improves trust without compromising code accuracy.

Presentation · about 13 minutes

Explore the presentation ↗ · Open the trial simulator ↗

Independent case studies using public data, existing interfaces, and synthetic evaluation. No affiliation with MyFitnessPal, Nextdoor, Stack Overflow, or Sleeper.