I’m a physiologist and software developer in Winnipeg. I did my bachelor’s in physiology at the University of Benin and then an MSc in Physiology & Pathophysiology at the University of Manitoba, where I worked on a 3D-bioprinted airway smooth muscle model for studying airway mechanics in asthma.

During my master’s, I photographed bioprinted airways before and after adding contractile agents, then traced the opening inside each ring by hand to measure how much it narrowed. It was tedious and easy to get wrong, so I started looking into automating it. That led me to programming. I was hooked the first time I opened a terminal, and kept learning until I found my way into full-stack development. These days, I mainly work with Java, Python, R, and JavaScript/TypeScript.

The original idea became BioRing Analyzer, which uses TensorFlow.js and OpenCV.js to detect bioprinted airway rings and measure changes in lumen area in the browser. I’ve since started modelling the same experiment: a mass-spring simulation of the airway wall that shows how tissue stiffness limits how far contracting smooth muscle can narrow the airway. I’ve also built a bio-ink calculator and a stroke prediction app, which was a coursework project with an R and Plumber backend.

Learning how computers work has also given me another way to think about physiology. Cells respond to signals through networks of interacting proteins, and I’m interested in whether we can design those interactions to perform computations of our own choosing. As a first step, I worked out how TOY-8, a small 8-bit teaching processor, could be built from NOR gates alone, and how many gates it would take. I want to understand how individual gates fit together into a working computer, and what would have to change to build similar circuits out of proteins.

I’m planning to go to medical school, and studying for the MCAT has turned into another software project. I kept wanting to work out why things were true, and wasn’t satisfied with traditional prep apps, so I’m building MCAT Aletheia around that curiosity. You work through the derivations and play with interactive models until you can see why the results have to follow. It’s becoming a fairly elaborate way of answering my own questions.

I love logic and philosophy, which sometimes means debating Parmenides versus Kant with Claude at 3 in the morning about what we actually mean by “change”. I also play chess, and I’m a sucker for puzzle games like Portal and The Talos Principle.

Contact

You can reach me by email, on GitHub, or on LinkedIn.