Skip to content

I work at the intersection of human-computer interaction and AI. AI systems are becoming agents that act on their own initiative, which relocates human effort rather than removing it: someone still has to notice what an agent did, judge whether it matched what they meant, and redirect it before its assumptions spread. I design systems around that cost — when an agent engages you, what of its work it exposes, and where your direction applies — treating human attention and judgment, not compute, as the scarce resource.

News

Sep 2026I am on the job market! I am applying for tenure-track faculty and industry research positions. Please reach out if you have opportunities that fit — my CV has the details.
Sep 2026Co-organizing the Revibing HCI: Agentic Reimplementation as Community Practice workshop at UIST 2026. More details to come!
Jun 2026Excited to spend the summer as a Student Researcher on the PAIR (People + AI Research) team at Google DeepMind ! I'll be in New York City for the next few months, happy to connect!
Apr 2026I am traveling to CHI 2026 in Barcelona, Spain! Looking forward to connecting with folks!
Mar 2026Cocoa has received a 🏆 Best Paper Award (top 1% of submissions)! Congratulations to first author Kevin Feng and all collaborators!
Feb 2026I am visiting Bjoern Hartmann's lab at UC Berkeley from January to May 2026 as a visiting scholar! Looking forward to new collaborations and connections!
Jan 2026One co-authored paper is conditionally accepted to CHI 2026 ! Congrats to Kevin Feng and other collaborators!
Sep 2025Super excited to attend UIST 2025 in Busan! I will be presenting my Meta internship paper on proactive assistant in smart glasses and a co-authored paper on interactive co-design with AI!
Sep 2025It was my pleasure to visit KAIST and give a research talk at the KIXLAB. Thank you for hosting me!
Jul 2025Two papers are conditionally accepted to UIST 2025! Excited to present soon in Busan, South Korea!
May 2025Invited to give a research talk at the VisLab at HKUST. Thank you for hosting me!
Apr 2025Attending CHI 2025 in Yokohama, Japan! I will be presenting two papers on proactive programming tools and interactive research idea development!
Mar 2025Wrapped up my internship at Meta Reality Labs and submitted to UIST 2025. Fingers crossed!
Jan 2025Two papers conditionally accepted to CHI 2025!! See you in Yokohama, Japan!
Oct 2024Started my internship as a Research Scientist intern at Meta Reality Labs in Toronto!
Oct 2024Excited to serve as an SV again at UIST 2024 in Pittsburgh! Xiaohang is going to present our collaborative work VizGroup.
Sep 2024Wrapped up my internship at Ai2 Semantic Scholars and submitted to CHI 2025. Had a great time in Seattle thanks to my mentor Pao Siangliulue and other collaborators!
May 2024Started my internship at Ai2 Semantic Scholars. Excited to spend my summer in Seattle!
May 2024Attending CHI 2024 in Honolulu, Hawaii! One co-authored paper got accepted!
Oct 2023Attending UIST 2023 at San Francisco as a Student Volunteer and presenting DiLogics!
Oct 2022I will be traveling to Bend, Oregon to attend the UIST 2022 conference and present SemanticOn! SemanticOn received the 🏅 Honorable Mention Award at UIST 2022!

Selected Work

When AI should act

Deciding when an AI system should interrupt, and what that costs.

CHI 2025

Kevin Pu, Daniel Lazaro, Ian Arawjo, Haijun Xia, Ziang Xiao, Tovi Grossman, Yan Chen

Live reconstruction — message Cody, edit the code, or move your pointer into Cody’s caret.

  1. A chat panel sits beside a Python editor holding a SchedulingSystemAPI class whose get_sorted_events method is an empty stub.
  2. Cody, the proactive agent, moves its own caret to the stub and selects the two lines that make up its body.
  3. Cody replaces those lines, typing the implementation in as you watch. A provenance band marks the line as AI-authored and fades after five seconds, as it does in the paper.
  4. Cody then opens a breakout conversation anchored to that line, explaining what it wrote and asking whether to continue.
  5. You can send Cody a message from the side chat, and it answers in the breakout beside the code rather than away from it.
  6. Every line of code is editable, and moving your pointer into Cody’s caret makes it move aside.

UIST 2025

Kevin Pu, Ting Zhang, Naveen Sendhilnathan, Sebastian Freitag, Raj Sodhi, Tanya R. Jonker

Hover a memory item to see where it came from, or the message to see why it was said then.

  1. A wearer of smart glasses looks across a dinner table. Their field of view reaches a cup on the left, a plate in the middle, a fork on the right, and a banana further back.
  2. They also overhear someone say “There’s gonna be four of us for dinner”.
  3. Each signal is encoded into a vector and placed in an estimated working memory: four visuospatial items for the objects, one phonological item for what was said. The estimate is built from what the glasses can observe, not from any direct reading of the wearer.
  4. The user picks up the plate and the fork.
  5. Assistance is generated: “You might need more utensils for four guests.”
  6. The moment is then evaluated. The plate, the fork and the overheard guest count are all highly relevant, and the least relevant item in memory is cheap to displace, so the glasses speak now rather than earlier.
  7. The line is spoken aloud, and what was said takes the displaced item’s place in working memory.
  8. Hovering any memory item highlights the object or phrase it came from. Hovering the message draws its reasoning back to the items that justified it, and shows the banana card dropping out to make room.

Manuscript under submission, 2026

Too Long to Watch, Too Short to Leave: Designing for Agent Micro-Waits

Kevin Pu, Anh Truong, Michael Terry, Carrie Cai, Michael Xieyang Liu, Savvas Petridis

Open a decision or a thread, visualise one, or ask the panel for a prompt — the main agent keeps running either way.

  1. A prompt goes to a coding agent: build a potluck dashboard that assigns dishes to guests. The agent starts working, and its trace keeps ticking over — reading files, choosing a strategy, writing code — for as long as the run lasts.
  2. Sidecar floats beside it. While the agent works, it reads the run and fills two stacks: decisions worth reviewing, and threads worth exploring.
  3. Opening the decision — the agent chose random assignment — shows the agent’s own reasoning, the line of code it rests on, and a box to ask why or what instead. It can be marked reviewed, flagged, or dismissed.
  4. Opening the thread to explore — dietary restrictions and allergen tracking — shows what the plan leaves out, with prompts to take it further.
  5. Visualising that thread draws a UI concept in the panel: a dish card that flags an allergen conflict when a dish’s ingredients match a guest’s restriction.
  6. Asking the panel for a prompt drafts one. It is queued rather than sent, because the main agent is still busy, and can be staged into the main agent when it is ready.
  7. Everything here happens in the panel. The main agent is never interrupted, and the run continues throughout.
  8. This is an illustrative reconstruction of the interface. It reports no result from the study.

What it should show you

Making an agent's plans and decisions into things you can edit.

CHI 2025

Kevin Pu, K. J. Kevin Feng, Tovi Grossman, Tom Hope, Bhavana Dalvi Mishra, Matt Latzke, Jonathan Bragg, Joseph Chee Chang, Pao Siangliulue

Select a node and open the tab on its right to drag out a new one, or open a connection to see how well two facets fit.

  1. A canvas holds the facets of one research idea. Two research questions sit on the upper layer: using AI to generate interesting fictional characters, and balancing AI creativity with authorship.
  2. Three proposed designs sit below them: an interactive AI-driven character editor, AI-driven character complexity enhancement, and a multi-modal AI-driven character generator.
  3. One node in each layer carries an AI suggestion grounded in a paper from the collected library, shown with the paper it draws on.
  4. Edges run from each question down to the designs that answer it. Every scripted edge carries an indicator that expands to say how well the two facets fit: strong, partial or weak, and why.
  5. Selecting a node with suggestions reveals a tab on its right edge. Opening it lists two further facets to add.
  6. A suggestion can be dragged onto the canvas to become a new node, or placed with the keyboard. New nodes can then be connected to any other node.
  7. A rail on the left lists the collected papers, with a question box that answers from them.
  8. This is an illustrative reconstruction of the interface. It reports no result from the study.

CHI 2026🏆 Best Paper

K. J. Kevin Feng, Kevin Pu, Matt Latzke, Tal August, Pao Siangliulue, Jonathan Bragg, Daniel S. Weld, Amy X. Zhang, Joseph Chee Chang

Flip a step between the agent and yourself, open one to see its output, or answer the step that is asking for guidance.

  1. A research question — what are new ways for AI agents to interactively elicit human feedback? — is followed by a plan of steps that run like cells in a notebook, with controls to update and run the plan, collapse it, or delete every step.
  2. The first step is assigned to the agent: generate topics relevant to eliciting human feedback. It returns ten topics, and the sidebar shows the topics alongside the papers they are grounded in.
  3. The second step is assigned to the researcher instead. They rewrite it to seed exploration in mixed-initiative systems rather than in interactive feedback generally, and the step is marked as edited.
  4. The third step is assigned to the agent, which hands it back: rather than guess, it turns amber and asks the researcher for guidance.
  5. Every step’s toggle is live: a step can be reassigned between the agent and the researcher at any time. Selecting a step opens its output in the sidebar.
  6. The sidebar is editable. A paper the agent did not find can be searched for and added to the step’s output, then kept or discarded.
  7. The step asking for guidance takes an answer, and records it as its output.
  8. This is an illustrative reconstruction of the interface. It reports no result from the study.

All Publications

2026

Teaser figure for Cocoa: Co-Planning and Co-Execution with AI Agents

K. J. Kevin Feng, Kevin Pu, Matt Latzke, Tal August, Pao Siangliulue, Jonathan Bragg, Daniel S. Weld, Amy X. Zhang, Joseph Chee Chang

CHI 2026🏆 Best PaperPDFarXivACM DL

2025

Teaser figure for ProMemAssist: Exploring Timely Proactive Assistance Through Working Memory Modeling in Multi-Modal Wearable Devices

Kevin Pu, Ting Zhang, Naveen Sendhilnathan, Sebastian Freitag, Raj Sodhi, Tanya R. Jonker

UIST 2025PDFVideoarXivACM DL

Teaser figure for StoryEnsemble: Enabling Dynamic Exploration & Iteration in the Design Process with AI and Forward-Backward Propagation

Sangho Suh, Michael Lai, Kevin Pu, Steven P. Dow, Tovi Grossman

UIST 2025PDFVideoACM DL

Teaser figure for Assistance or Disruption? Exploring and Evaluating the Design and Trade-offs of Proactive AI Programming Support

Kevin Pu, Daniel Lazaro, Ian Arawjo, Haijun Xia, Ziang Xiao, Tovi Grossman, Yan Chen

CHI 2025PDFVideoarXivACM DL

Teaser figure for IdeaSynth: Iterative Research Idea Development Through Evolving and Composing Idea Facets with Literature-Grounded Feedback

Kevin Pu, K. J. Kevin Feng, Tovi Grossman, Tom Hope, Bhavana Dalvi Mishra, Matt Latzke, Jonathan Bragg, Joseph Chee Chang, Pao Siangliulue

CHI 2025PDFVideoarXivACM DL

2024

Teaser figure for VizGroup: An AI-Assisted Event-Driven System for Real-Time Collaborative Programming Learning Analytics

Xiaohang Tang, Sam Wong, Kevin Pu, Xi Chen, Yalong Yang, Yan Chen

UIST 2024PDFVideoACM DL

Teaser figure for Behind the Pup-ularity Curtain: Understanding the Motivations, Challenges, and Work Performed in Creating and Managing Pet Influencer Accounts

Suhyeon Yoo, Kevin Pu, Khai N. Truong

CHI 2024PDFACM DL

2023

Teaser figure for DiLogics: Creating Web Automation Programs with Diverse Logics

Kevin Pu, Jim Yang, Angel Yuan, Minyi Ma, Rui Dong, Xinyu Wang, Yan Chen, Tovi Grossman

UIST 2023PDFVideoACM DL

2022

Teaser figure for SemanticOn: Specifying Content-Based Semantic Conditions for Web Automation Programs

Kevin Pu, Rainey Fu, Rui Dong, Xinyu Wang, Yan Chen, Tovi Grossman

UIST 2022🥇 Best Paper Honorable MentionPDFVideoACM DL

Workshop Papers

Teaser figure for Revibing HCI: Agentic Reimplementation as Community Practice

Yoonjoo Lee, Tae Soo Kim, Kevin Pu, Mira Dontcheva, Bjoern Hartmann, Toby Jia-Jun Li, Brad A. Myers, Jeffrey Nichols, April Yi Wang, Xuhai Xu, Eytan Adar

UIST 2026 Workshop Proposal: Adjunct Proceedings of the 39th Annual ACM Symposium on User Interface Software and Technology (to appear)PDFWebsite

Teaser figure for LOOM: Personalized Learning Informed by Daily LLM Conversations Toward Long-Term Mastery via a Dynamic Learner Memory Graph

Justin Cui, Kevin Pu, Tovi Grossman

AAAI 2026 Workshop on Personalization in the Era of Large Foundation Models (PerFM)PDF

Manuscripts Under Submission

Too Long to Watch, Too Short to Leave: Designing for Agent Micro-Waits

Kevin Pu, Anh Truong, Michael Terry, Carrie Cai, Michael Xieyang Liu, Savvas Petridis

Manuscript under submission, 2026

Helm: Turning Situated Feedback into Reusable Guidance for Steering Multi-Agent Workflows

Kevin Pu, Sangho Suh, Yan Chen, Tovi Grossman, Bjoern Hartmann

Manuscript under submission, 2026

Who Shapes What Persists? Negotiating Personal Context Across LLM Conversations

Justin Cui, Kevin Pu, Tovi Grossman

Manuscript under submission, 2026