Selected work

Applications, AI agents, evaluation research, and the engineering decisions that connect them to real workflows.

HelpMe

AI feedback inside Canvas

I build parts of HelpMe that connect AI feedback to real course workflows. My work includes Canvas LTI deep linking, structured feedback across services, and configurable course agents for LANTERN.

Read the story

Instructor Choose a question

The real HelpMe picker lists demo questions to insert into Canvas.

Student Receive feedback

A synthetic student response receives a comment and provisional score inside Canvas.
Real Canvas and HelpMe demo. Synthetic course content and responses. Full-size feedback

AiTutor and AI Tutor Harness

Testing tutoring integrity under pressure

I helped build AiTutor and created a harness to test when tutoring models give away answers under repeated student pressure. That work led to two first-author computing-education papers.

Read the story
AI Tutor Harness report showing leakage, supervisor interventions, and comparisons across tutoring configurations.
AI Tutor Harness. A real report from the 900-conversation study.

Config Agent

From onboarding spreadsheet to SaaS configuration

At DxFactor, I built an agent that turned onboarding spreadsheets into dependent API operations, with retrieved documentation, persistent state, validation, and retries.

Read the story
  1. Read the spreadsheet

    Understand the onboarding data.

  2. Load relevant instructions

    Retrieve the API docs for this task.

  3. Run dependent operations

    Use authenticated tools and saved state.

  4. Validate the result

    Retry, resume, or report the failure.

From spreadsheet to a configured system.

EduAI

Architecture and technical leadership

I was a secondary technical lead on EduAI. I handled architectural decisions, reviewed pull requests, ran daily stand-ups, and held review meetings with professors and other stakeholders.

Read the story
EduAIJuly 2026

A role is not course access.

A settings route checked a person's platform role, but not whether they taught the course they were changing.

Review decision

Check access to the target course before reading or changing its settings.

Anonymized decision summary from the course-authorization review.

Tools and smaller projects

Some tools for my own development workflow, and things I built for people close to me.

logcruncher

Streams large macOS logs while keeping memory use bounded.

codex-profiles

Runs isolated Codex desktop profiles with a local dashboard for account and app-instance management.

opencode-ask-user

Lets a coding agent pause for a person's answer and continue with that decision in context.

Hindsight

Finds a previously visited page using local browser history and on-device search.

Here and Now

A website and accessible interactive activities built for a family mental-health practice.

The codex-profiles local dashboard shows separate app profiles, account selection, and launch controls using example identities.
codex-profiles. The macOS dashboard, shown with the repository's example identities.