projects

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

IN-PLACE CARD VIEW
What Happened and Why?

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.

What to notice

  • Trace data needs user intent.
  • Micro-episodes capture why in flow.
HotSpot

HotSpot

CVPR 2025 Highlight Co-author

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

What to notice

  • Screened Poisson objectives stabilize SDF optimization.
  • Surface reconstruction improves under noisy geometry.
DesignWeaver

DesignWeaver

CHI 2025 First author

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

What to notice

  • Prompts become visible design dimensions.
  • Novices compare and iterate deliberately.
Physion

Physion

NeurIPS Datasets 2021 Co-author

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

What to notice

  • Models predict physical scene dynamics.
  • Human judgments anchor plausibility.
Context-Aware Encoding for LLMs

Context-Aware Encoding for LLMs

2023 Builder Prototype

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

What to notice

  • Tree structure organizes long context.
  • Retrieval becomes easier to inspect.
GraphHSCN

GraphHSCN

2023 Undergraduate researcher Research prototype

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

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.

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.

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.

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.

Two stacked Build Rhythm charts showing cumulative estimated site-build tokens and rounded daily increases

Build Rhythm

2026 Designer, builder, reviewer Site experiment

A page for seeing when I build: personal GitHub days, completed personal agent usage, and this site's separate daily token estimate.

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

A later dashboard mixed unlike numbers. I split it into weekly code changes, daily site-build estimates, and one dated lifetime total.

Intended outcome

Readers can see when work clustered without mistaking GitHub activity, site-build estimates, and lifetime usage for one metric.

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 explorable cliff room without losing the same desk, records, and discoveries.

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.

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.

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.

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.

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.

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.

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.

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.