Justin Steinman

jsteinman (at) umass.edu

Hey, I'm Justin!

I am a software engineer at Genesis Therapeutics. I graduated from UMass Amherst in 2025 with degrees in pure math and computer science. Some of my hobbies include watching movies, playing table tennis, and speedcubing.

Publications

Support Graph Preconditioners for Off-Lattice Cell-Based Models

with Andreas Buttenschön. Published on arXiv, 2024.

Abstract: Off-lattice agent-based models (or cell-based models) of multicellular systems are increasingly used to create in-silico models of in-vitro and in-vivo experimental setups of cells and tissues, such as cancer spheroids, neural crest cell migration, and liver lobules. These applications, which simulate thousands to millions of cells, require robust and efficient numerical methods. At their core, these models necessitate the solution of a large friction-dominated equation of motion, resulting in a sparse, symmetric, and positive definite matrix equation. The conjugate gradient method is employed to solve this problem, but this requires a good preconditioner for optimal performance. In this study, we develop a graph-based preconditioning strategy that can be easily implemented in such agent-based models. Our approach centers on extending support graph preconditioners to block-structured matrices. We prove asymptotic bounds on the condition number of these preconditioned friction matrices. We then benchmark the conjugate gradient method with our support graph preconditioners and compare its performance to other common preconditioning strategies.

YouTube Channel — nubDotDev

One of my passions is math and computer science exposition, and I have found that making videos is an excellent outlet. I make videos on whatever topics in math and computer science I believe I can meaningfully explain in around 10–20 minutes. My primary inspiration is 3Blue1Brown, and I use the community edition of his animation library Manim. Perhaps my greatest accolade is this 4-second shoutout. While I wish that I could create more videos, the animation process takes many hours that I do not have.

Math Club

I am the founder and president of the UMass Recreational Math Club (RMC). We host weekly meetings where we solve puzzles and problem sets, do crafts and origami, play games, create animations, and anything else that's even remotely mathematical. The club is open to all students of all majors in the Five College Consortium, so if this sounds like your thing, join our Discord or follow us on Instagram @umass_rmc for updates.

Projects

Poisson Cam

In computer graphics, it is useful to be able to sample random points in space such that no two are within a fixed minimum distance of each other. This is called Poisson disk sampling. There are a number of ways to generate these samples, and I implemented a number of them in my Rust crate faster_poisson. If you vary the minimum distance between points, you can achieve a stippling effect on images like this (they look much better zoomed in).

The third image is the result of generating samples for the red, green, and blue color channels separately and then combining them. So the final image uses only the 8 pure colors. I suppose this could be used as an incredibly lossy form of image compression.

One of the methods for generating Poisson disk samples runs very efficiently on the GPU, which enabled me to stipple webcam footage in realtime on the website linked above. It relies heavily on WebGPU and compute shaders, so it only works on certain browsers with graphics acceleration enabled (tested in Chrome).

Cap Sets in Finite Affine Space

As an avid SET player, it is natural to ask how many cards can be on the table before there has to be a set. If we treat each of the 81 cards as points in \(\mathbb{F}_3^4\), then the question becomes how many points can be taken before 3 of them have to be colinear (i.e., in arithmetic progression). This is the cap set problem, and it is surprisingly difficult to answer. In fact, we do not know the exact solution in dimensions greater than 6. This repository has some of my experiments in generating cap sets. One is a randomized greedy approach, and the other generates all cap sets up to automorphism using an orderly algorithm. With this, I managed to prove that there are no complete cap sets in 4 dimensions of size 19.

Old Sweepy — Minesweeper Solver

One of my favorite games to speedrun is Minesweeper. I made this Chrome extension not only to cheat, but also to teach myself when I have to guess and what the optimal guess is. Minesweeper is actually NP-complete, so the best way to solve it is to reduce the problem to an instance of 0-1 integer programming.

Maze Generator

This website is a big reason for my love of algorithms today. I made it at the end of high school, and it was my first real exposure to graph theory. I was blown away by how many ways there are to generate a maze. I strongly recommend this as a project for anyone who wants a fun and intuitive introduction to graph algorithms.

Transit 105 Font

When I rode the NJ Transit, I was fascinated by a 105-segment display used on the trains. I took some pictures and spent the next few days turning it into a font. Here's a sample:

□□ □□□□□□□
□□□□□ □□□□
■■ ■■■■■■■
■■■■■ ■■■■
NJ TRANSIT
Train 3846

Grade Calculator

Every semester I would find myself doing the same grade calculations in Desmos to figure out what I needed on an exam. So I made a website for it.

Cryptic Crossword Clues

  • Unattractive male trapped in messy hole happy at last. [6]
    Solution Homely
  • Like #3, circle the 4th answer choice twice. [3]
    Solution Odd
  • Ban stripping down around some devout ladies! [6]
    Solution Outlaw
  • First 4 raisins and last apple for hike. [5]
    Solution Raise
  • Almost, though sloppy; it is difficult. [5]
    Solution Tough
  • Practice limitless fun at the bounds of sacrilege. [3]
    Solution Use
  • Uninterested council announcement. [5]
    Solution Bored
  • His headless remains. [2]
    Solution Is
  • Aunties not at odds after air conditioning is 68 degrees. [5]
    Solution Acute
  • Cocktails on tap before french clown theater performance. [9]
    Solution Pantomime
  • In a remixed Cd, a hole replaces a small amount. [7]
    Solution Modicum
  • Force glute on both sides after some obliques. [6]
    Solution Oblige
  • Empty bin housing first two armadillos?! [4]
    Solution Barn