A multimodal platform for searching, exploring, and generating variations of Dungeons & Dragons monsters.
Projects
Select research and hobby projects. Open a tile for the full story.

An AI agent skill that takes care of the technical side of bending diffusion models, so artists can stay with the images.
An old dream from my first research paper is finally reality; a browser-based game where you can draw custom maps, define region connectivity for strategic play, and run different game modes on them. Powered by Answer Set Programming for level generation.

A new enhanced version of DesignSense for exploring and narrowing large collections of options, considering their visual and quantiative data.
A studio for training, bending, merging, and composing with small diffusion models trained on your own images.
A ComfyUI extension (2,000+ downloads) that applies transformations (addition, noise, rotation, erosion, custom ops) to the inner workings of diffusion models, pushing them toward new and diverse aesthetics.

A design fiction featuring a promotional website for an AI augmentation product, imagining a future where AI models are traded as commodities. Includes an AI-generated podcast discussing the implications.

A performance-based design tool for creating sustainable building designs with low energy demand and high daylight utilization in the early design stages, built on a surrogate ML model that replaces heavy simulations.

A visualization interface for visual and data-driven exploration of Dungeons & Dragons monsters, balancing serendipitous browsing with attribute filtering for Dungeon Masters.
A visual analytics system for exploring generative design spaces, developed for my Master's thesis at SFU's Computational Design Lab to help designers navigate large numbers of design alternatives.
A design-aid tool that gives architectural designers immediate feedback on the performance of their directly-modelled designs through interactive visualizations and analysis.

A procedural generation system for game spaces that adhere to high- and low-level design constraints, such as which regions must be adjacent, by framing generation as constrained graph partitioning solved with Answer Set Programming.
Semi-automates the exploration of a visual art generator's space by sampling it through Novelty Search, comparing pieces by visual features (Histogram of Oriented Gradients) to find as many distinct points as possible.