Kartik Chandra

Kartik Chandra

Kartik Chandra I am a PhD student at MIT CSAIL, advised by Jonathan Ragan-Kelley and Josh Tenenbaum. I study the joyful interface between computer graphics 🫖 and cognitive science 🧠 , because the familiar strangenesses of our perceptual and cognitive faculties—that is, the "commonness" of "common sense"—affirms our shared humanity, sparking connection in a fractured world. Previously, I was an undergrad at Stanford University studying computer science, physics, and English literature — islands I hold to be the lost children of one great continent.

In the past I worked at Facebook, NVIDIA, UW Seattle, and Berkeley. More recently, I spend my time writing (I love words), playing music, juggling with friends, and marveling at the world.

My research is generously supported by a Hertz Foundation Fellowship, the Paul & Daisy Soros Fellowship for New Americans, and the National Science Foundation’s GRFP [press]. If you are currently applying to graduate school, I encourage you to consider these wonderful programs. See also the MIT EECS Graduate Application Assistance Program, which I lead.


My research vision is to engineer powerful new modes of human expression Human-like explanations [CogSci ’24], Creating visual illusions [SIGGRAPH ’22], storytelling and animation [SIGGRAPH ’23, CogSci ’23]
…by probing computational models of the human mind… Human-like explanations [CogSci ’24], Creating visual illusions [SIGGRAPH ’22] and auditory illusions [ACL ’21], predicting ocular microsaccades [BAVRD ’21], inverse planning from single states [NeurIPS ’23]
…using novel compositions of probabilistic, differentiable, and solver-aided programming languages. Recursively nested gradient descent [NeurIPS ’22], differentiable probabilistic programming [SIGGRAPH ’22], low-memory autograd [honors thesis ’21], program synthesis from natural language [NeurIPS ’19], checking typecheckers by symbolic execution [POPL ’18].
(Click on the Marr's Levels of Analyses to open them and see some research highlights. For the rest, see my CV.)

I occasionally take on research assistants. If you are a student interested in working with me, please reach out  by sending me an email and introducing yourself. I would appreciate if you included ① a project idea you would be excited to work on, the more specific the better; ② your relevant background knowledge and skills, which you can demonstrate by listing coursework or links to independent projects; ③ an honest assessment of how much time you expect to spend on research if I took you on; and ④ a writing sample—an essay, a poem, a piece of technical documentation, a recipe, a blog, an op-ed, etc. Note that you do not need prior research experience to experience research—it's my job to get you started!

(He) Frequently Asked Questions

Currently on my mind:

Could you knit a giant sweater with a very long latex balloon? Why do you go wrbwrbwrb instead of shshshsh when imitating a motorboat? Why do poems rhyme? Can one play "Jenga by mail"? What would a Penrose triangle sound like if you hit it with a drumstick?

Previously on my mind:

(The links below are to original pieces, none of which were written or illustrated using generative AI.)

How would you automatically design 7-segment display "fonts"? What about for scripts of languages besides English? Why do I sometimes see faces only when I don't look? What is it about Escher that so captivates people across time and space? What makes a good explanation? Why does building online studies require scientists to become full-stack web developers? How can we train a Transformer "Quine" that autoregressively generates a (potentially lossy) copy of its own weights? Can two people successfully pretend to have a biased coin, without actually having such a coin? Why do you see haloes in trees in the winter? When is a jar of honey most stable? How is a story different from everyday life? And what does it mean to tell a story? How do we infer stories from snapshots? How much should you stir your tofu? But what are the limits of data—statistics—memory—when modeling the human expression of human experience? What drew you to this artwork? How can literature help us navigate graduate school in AI? What can you see through an empty tissue box? Who optimizes a hyperparameter optimizer's hyper-hyperparameters? What color is a shadow? How would Wordle work in languages with different kinds of scripts? [press] Are there other illusions like "The Dress" out there? If neuron activations are indeed like toilet flushes (a common analogy), can we implement deep neural networks using plumbing components? [SIGTBD ’22] What is it about birds (that drives us to contemplate representation)? Where does the factor of "2" in the stochastic coefficient of Langevin sampling come from? Can we get better semantic HTML and CSS by using Generative Adversarial Web Development? What shape is a snowflake? Is it possible to find iterated function systems that produce fractals that look the way we want? How can we prevent vector coordinate-system-mismatch bugs in 3D graphics code? Can literature save the American tech industry? Why won't my tensors flow? Can you tune a guitar just by watching the strings vibrate? Can one hear the fate of a coin? What happens if we throw Sol LeWitt's sculptures into a tank of soapy water? How can we build programs that require both forward- and reverse-mode automatic differentiation? How can we make PyTorch tensors easier to use? What does GPT-3 tell us about the nature of literature from a statistical or information-theoretic perspective? Following a Russian literary theory, can we use Shannon entropy to think about this quantitatively? Can we create controlled moiré patterns by carefully perturbing misaligned grids? Do many hands make light work? Can we atavise Game-of-Life configurations by gradient descent? What's the connection to pufferfish? What can we do with the hundreds of images of Hoover Tower you can find online? Why are PCA-projections of trajectories loopy? Can we optimize axis-aligned kD-trees by gradient descent? Do eucalyptus trees have a “handedness”? If so, why? How much should you wager in a Jeopardy! Daily Double? Does AD-powered gradient descent on Lagrangian action create energy-conserving physics engines? Does gradient descent eliminate the need for solvers in bidirectional programming environments? What is the pattern behind the irregularly-spaced vanishing points of rows of trees in orchards? What does “un-unravelable” really mean, and how? Can we dream ambigrams by gradient descent? Can we learn to walk by gradient descent? What causes the 22° halo around the sun, and how can we efficiently render physically-accurate images of it? Are there more "Laurel/Yanny" illusions out there? How big a buffer do we need to be able to pair up an infinite number of socks coming in over a stream? By how much do windmills slow down the wind? What shapes emerge if we insist that a certain casino is the nearest to everyone in Los Angeles? What is the optimal alphabet layout for the historic 1888 Crown Typewriter? Which directed acyclic graphs can be represented by towers of stacked blocks? Would triangular tesselations make better jigsaw puzzles? Where are the best bathrooms at Stanford? What is the analogue of the Curry-Howard correspondence for narrative theory? What would it mean for a computer to synthesize a story? What is the relationship between monadic I/O and the dataflow/patch programming paradigm? Can we approximate Euler's constant using historic earthquake data? How well do SAT solvers handle the constraints of Western classical music theory? Is there a symmetric cryptographic algorithm for collusion with plausible deniability? Can JavaScript be dynamically scoped... from within JavaScript? How few words do you really need to communicate — and what's the minimal set? Why are there 12 notes in a musical octave, and not, say, 19? Are epicycles just Fourier transforms? How well do voxel approximations to complex surfaces raytrace? Which dimensional analysis problems are solvable? Can poetry be a subtractive, rather than an additive, act? Why is 2^10=1024 so near 10^3=1000, and are there better approximations? How do automated theorem provers work, and what can they prove? Can some sort of temporal RSS proxy help you catch up on old webcomics? How fast can Arthur C. Clarke's famous spacecraft "Rama" accelerate? Why are bubble tea straws pointy, and why is this absolutely fascinating? If you played Scrabble with periodic table element tiles, what's the longest word you could make? Is xkcd's random number generator actually random? Could you play Tetris with true rigid-body physics? Why do Scratch lists have odd performance behavior? What shape is the shadow of a lampshade?