projects

Research artifacts, prototypes, and studies that make questions concrete. Open a card to inspect the artifact, contribution, and links.

IN-PLACE CARD VIEW
Three-step diagram of a friction point detected in an AI design tool, the utility of asking for a rationale, and the dual-purpose value for product iteration

What Happened and Why?

CHI 2026 Workshop First author

A CHI 2026 workshop position paper about trace-guided micro-episodes and in-flow user explanations for product iteration in AI-supported design tools.

Read project page

What to notice

  • Trace data needs user intent.
  • Micro-episodes capture why in flow.
Reconstructed surfaces and their signed distance fields compared across baselines and HotSpot, with the reference shape at the right

HotSpot

CVPR 2025 Highlight Co-author

A neural SDF optimization framework with a screened Poisson objective for more stable surface reconstruction.

Visit project site

What to notice

  • Screened Poisson objectives stabilize SDF optimization.
  • Surface reconstruction improves under noisy geometry.
Diagram of DesignWeaver connecting a design specification to a tag-based prompt box and an image gallery

DesignWeaver

CHI 2025 First author

A prompt-design workspace that surfaces visual dimensions so novices can make more deliberate product concepts.

Read project page

What to notice

  • Prompts become visible design dimensions.
  • Novices compare and iterate deliberately.
Grid of simulated Physion scenes with objects about to collide, drop, roll, and drape over one another

Physion

NeurIPS Datasets 2021 Co-author

A benchmark for testing whether vision models predict physical scene dynamics the way people do.

Visit project site

What to notice

  • Models predict physical scene dynamics.
  • Human judgments anchor plausibility.
Diagram of a tree-of-thoughts context encoding pipeline routing document passages into a language model beside a phone mockup

Context-Aware Encoding for LLMs

2023 Builder Prototype

A tree-of-thoughts context encoding experiment for improving retrieval and long-document contextual understanding.

Read project page

What to notice

  • Tree structure organizes long context.
  • Retrieval becomes easier to inspect.
Graph neural network architecture diagram with clustered node groups linked by multi-scale edges

GraphHSCN

2023 Undergraduate researcher Research prototype

A graph neural network architecture prototype for modeling long-range interactions in structured data.

Read project page

What to notice

  • Graph structure models long-range interactions.
  • Prototype explores structured-data reasoning.

A CHRONOLOGICAL DESIGN RECORD

Site experiments

I keep these site experiments on record so newer models can re-review the last best pass—and I keep only changes that survive screenshots, accessibility checks, and my own judgment.

A miniature La Jolla with the Design and Innovation Building, Geisel Library, coastal houses, courts, and the Pacific

A little La Jolla

2026 Design and direction

A few places from my everyday orbit, compressed into a coastal miniature.

Read project page

The coast and the lab are both part of my everyday life, but sat outside the story on this site.

I brought them together in a small coastal atlas, using real map geometry beneath a deliberately compressed Blender miniature.

Intended outcome

Turn the coast gently, and follow its light from morning to evening.

P, a white floating companion with two antennae and round optical eyes

P, a Little Company

2026 Designer and character director Living interaction experiment

A floating studio companion that looks, tilts, wanders, and occasionally helps put things back.

Read project page

I wanted the site to feel inhabited, with a little companion that notices visitors without getting in the way of reading.

P grew from a rectangular visor into a floating, lens-eyed character with an articulated Blender model and a shared vocabulary of small gestures.

Intended outcome

A head turn, a pause, and delayed antennae can say more than another face.

Timeline separating the pre-existing Scaffolding for Taste portfolio from four post-cutoff OpenAI Build Week evidence chapters

Scaffolding for Taste — OpenAI Build Week

2026 Designer, researcher, reviewer OpenAI Build Week submission

What I added to an existing research portfolio during OpenAI Build Week, with a clear cutoff, linked commits, and reusable project guides.

Read project page

Most of the portfolio existed before Build Week. I needed to show exactly what changed during the event.

I marked the cutoff on the timeline, then linked each change to the page and commit where it appears.

Intended outcome

Students can inspect which changes survived review and reuse the same screenshot checks on their own pages.

Paper Constellation preview showing accepted papers and anonymous future nodes across the Design, Evaluate, and Situate research threads

Paper Constellation

2026 Designer, writer, reviewer Site experiment

A second way to browse my publications: five accepted papers connected by three recurring research threads, with future work kept anonymous.

Read project page

A year-by-year paper list hid the questions that recur across projects.

I mapped three recurring research questions on desktop; mobile follows the same papers through time instead of shrinking the map.

Intended outcome

Readers can follow one research question across papers instead of reading the bibliography year by year.

Build Rhythm code history explorer showing total and authored commits per day above added and removed lines

Build Rhythm

2026 Designer, builder, reviewer Site experiment

A page for seeing when I build: daily code activity by source, read for cadence and change rather than as a score.

Read project page

The logs had totals, but they did not show when the work arrived in bursts.

A later dashboard mixed unlike numbers. I split the clocks apart, then retired the token ones and kept daily code changes by source.

Intended outcome

Readers can see when work clustered without mistaking a busy day for a good one.

Research portfolio homepage with its interactive three-dimensional cliff-room desk beside the introduction

The Desk That Learned Depth

2026 Designer, reviewer, world builder Living site experiment

How the homepage's paper collage became an inhabited coastal home while keeping its records, research papers, and discoveries.

Read project page

The flat desk held papers, records, and hidden cards, but visitors could not step inside the room.

I made 2D and 3D views of the same room, so music and discoveries remain when someone switches views.

Intended outcome

Visitors can skim the research in 2D, explore the room in 3D, and switch without losing their music or discoveries.

HCI Spooder-Man remix artwork from the project's downloadable character, scene, and title-card set

HCI Spooder-Man

2026 OG HCI Spooder-Man Remix guide

How two paper rejections became a Steam-style lab meme, a remix gallery, and a downloadable prompt-and-image kit.

Read project page

The same paper was rejected by CHI and UIST, then became a Steam-style image passed around the lab.

A one-off Steam-style meme grew into a small remix kit, with the serious rejection record still one link away.

Intended outcome

The page gives people images and prompts they can actually remix.

DesignWeaver highlighted in Scholar Lens's responsive publication and citation view

Scholar Lens

2026 Designer, builder Site experiment

Filters and linked highlights that help readers follow one paper across my bibliography, citation total, and annual citation bars.

Read project page

A highlighter suggestion made me notice that each paper's bibliography row, citation count, and yearly bars were far apart.

Selecting DesignWeaver now highlights its bibliography row, lifetime citation chip, and yearly bars together.

Intended outcome

Readers can follow one paper from bibliography entry to citation history without hunting across the page.

Wall of Rejection with a selected rejection receipt, event badges, and a Failure XP total that counts each rejection once

Wall of Rejection

2026 Designer, meme archivist Living receipt wall

The Steam-style rejection meme I turned into a small public wall of badges, receipts, and deliberately silly Failure XP.

Read project page

Two conference rejections became a lab meme worth keeping instead of hiding.

The meme became a wall where each rejection gets one dated badge and receipt, without being counted twice in the combo.

Intended outcome

Visitors can see the rejected attempts around accepted work and open the dated receipt behind each badge.

Expanded Paper Constellation project card opening in place while neighboring project cards remain visible

The IKEA Card Experiment

2026 Interaction designer, builder Site experiment

Click a project card, read the full preview in place, then close it without losing your spot in the collection.

Read project page

I wanted project previews to open inside the grid so visitors could keep seeing the other projects and return to the same card.

The first transition scaled the whole card and squeezed its content. The current version moves the card without scaling its contents and cancels cleanly when another card opens.

Intended outcome

Visitors can sample a project and return to the same place in the collection without a navigation detour.

Research-first portfolio homepage with a design-judgment headline, portrait, navigation, and thesis framing

Vibe-Coding a Research Portfolio

2026 Designer, writer, reviewer Living portfolio

How I rebuilt an academic archive so visitors can find the research question, inspect the work, and reuse the design lessons.

Read project page

My old portfolio listed projects and papers, but visitors could not see what I study or where to start.

I reorganized the archive around my research questions, then kept the useful experiments as reusable site rules.

Intended outcome

Visitors can see the research thread without reconstructing it.

Illustrated corgi giving a suspicious, playful sideways glance

Dogtor's Hidden Portal

2026 Puzzle maker, builder Hidden journey

Find the dog by the blog title, choose a fruit, and see whether it lets you through—without exposing what waits behind it.

Read project page

A meme dog in the blog became a small clue for readers curious enough to follow it.

The clue became a short fruit-choice game with an obvious way back and a consent step before precise location.

Intended outcome

The clue is optional, and the way back stays obvious.

Other playful builds

Low-poly driving scene with drivers on a winding suspended road while spectators watch from a cliff

Not A Good Driver

2024 World builder VRChat world

A small VRChat world where one person drives, one rides along, and everyone else watches the chaos.

Read project page

I wanted three people to share one VR joke: one steers badly, one rides along, and one watches from outside.

Intended outcome

Driver, passenger, and spectator get different parts of the same joke.

Interaction note: card opening pattern inspired by IKEA's PS 2026 collection story; adapted here for an academic project browser.