Andrew Blinn
December 6, 2025
PDF
me andrewblinn.com github.com/disconcision twitter.com/disconcision

Vision

I use semantic theory to design contextual, conversational, and compositional interfaces,
trying to make working with abstraction & complexity more accessible, tangible, and fun.

Focuses

Programming Languages + Liveness + Learning · Human-Computer Interaction

Papers

Syntactic Completions with Material Obligations ·OOPSLA ·
David Moon, Andrew Blinn, Thomas Porter, Cyrus Omar
Statically Contextualizing Large Language Models with Typed Holes ·OOPSLA ·
Andrew Blinn, Kevin Li, June Hyung Kim, Cyrus Omar
Total Type Error Localization and Recovery with Holes ·POPL ·
Eric Zhao, Raef Maroof, Anand Dukkipati, Andrew Blinn, Zoe Pan, Cyrus Omar
Gradual Structure Editing with Obligations ·VL/HCC ·
David Moon, Andrew Blinn, Cyrus Omar
An Integrative Human-Centered Architecture for Interactive Programming Assistants ·VL/HCC ·
Andrew Blinn, David Moon, Eric Griffis, Cyrus Omar (addendum formalizing suggestion sensibility)
Filling Typed Holes with Live GUIs ·PLDI ·
Cyrus Omar, David Moon, Andrew Blinn, Ian Voysey, Nick Collins, Ravi Chugh

Workshop Papers

Toward a Live, Rich, Composable, and Collaborative Planetary Compute Engine ·PROPL ·
Alexander Bandukwala, Andrew Blinn, Cyrus Omar
Tylr - A Tiny Tile-based Structure Editor ·TyDe ·
David Moon, Andrew Blinn, Cyrus Omar

School

University of Michigan / FPLab ·Ph.D Candidate (ABD), Computer Science ·
Researching code context enrichment for humans & LLMs, advised by Cyrus Omar.
Lead engineer on the Hazel IDE, deployed to hundreds of students + external researchers
University of Michigan ·Master's of Science, Computer Science ·
Coursework in PL theory, program synthesis, category theory, HCI, & the psychology of learning
University of Toronto ·H.B.Sc, Mathematics & Computer Science ·
Graduate coursework in abstract algebra, compilers, and computer graphics.
Built Fructure and Containment Patterns as independent study advised by Gary Baumgartner.
Researched variational analysis of SPLs with Marsha Chechik & Ramy Shanin, including SpyShare.

Funding

ARIA Safeguarded AI ·Lead Co-Investigator on Research Grant ·
Researching and prototyping an orchestration layer & computational commons to support
collaboration with autonomous AI researchers on safety-critical cyberphysical applications

Industry

TODAQ Toronto ·Full-stack development in Clojure ·
Designed new front-end interfaces to sharpen the materiality of distributed digital assets.
Implemented core back-end features for a decentralized digital asset management protocol

Speaking

Invited speaker at RacketCon · · ·Recorded Talk ·Slides
Introduced Fructure, a prototype structured interaction engine for edit-time term-rewriting
Accepted speaker at OOPSLA · · ·Recorded Talk ·Slides
Presented work on providing semantic context to language models using typed holes
Accepted speaker at Midwest PL Summit · · ·Slides
Progress report on type-directed prompt construction for LLM-powered code completion
Accepted speaker at VL/HCC · · ·Recorded Talk ·Slides
Presented an integrative human-centered architecture for interactive programming assistants
Guest Lecturer · · ·2023 talk ·2022 talk
Introduction to metaprogramming featuring Racket for EECS490 - Programming Languages

Conferences

Programming Committee Member · 2025 LIVE + HATRA · 2024 LIVE + Onward! + HATRA
Student Volunteer · 2021 SPLASH/OOPSLA
Seat Filler · 2025 ARIA Safeguarded AI Summit x2 + Ink & Switch London Social

Teaching

Course Development · ·
Led engineering on the Hazel software exercises platform; developed assignments for EECS490
Course Development · ·
Designed course materials for CSC324 including mini algebraic stepper + pattern matching language
Teaching Assistantship · ·
2023, 2022, 2021 University of Michigan EECS490: Programming Languages
2019, 2x 2018, 2017 University of Toronto CSC324: Principles of Programming Languages
2018 University of Toronto CSC104: Introduction to Computational Thinking

Mentorship

Russell Rozenbaum & Cyrus Desai — Structured editing for LLMs ·
Enriching agentic AI coding harnesses with contextual semantic editing actions
June (Jacob) Kim — Typed hole filling with LLMs in TypeScript ·
Extracting semantic context for prompt construction using the TypeScript language server
Xiang (Kevin) Li — Type-constrained LLM code completion via token masking ·
Modifying LLM decoding to enforce semantic as well as syntactic invariants
Zachary Eichenberger & Eric Fan — Semantic editing + deep reinforcement learning ·
Typed structured editing for RL using graph neural networks; co-mentorship with Ethan Brooks
Yash Gaitonde — Interfaces for live feedback in teaching IDEs ·
Implementing live test feedback in the Hazel IDE, deployed to a class of 100 undergraduates

Mousefeel Research

Investigations in adding juice and gamefeel to algebraic user interfaces ·
Figuring out how tangibility impacts explorability in math and coding with nool and furl