MoriartyEngineering

About

Moriarty Engineering is one person, me

I'm Chris Moriarty, a scientific software engineer in Boston.

Background

The front matter of my master's thesis reads: “Dedicated to my Mom for letting my Dad buy the Apple IIGS instead of a car.” That decision indisputably shaped my career. Growing up, I was the local IT kid, and my mom would offer my services to fix the neighbors' PCs.

My high school had a pre-law magnet program, which mostly taught me that I didn't want to be a lawyer. AP Physics and Calculus in my senior year pointed the other way, so I chose computer engineering at the University of Central Florida. After that degree, an introductory course in artificial intelligence captivated me, and I was recruited into the master's program in Intelligent Systems. My thesis taught non-player characters in Quake II to behave like the people playing them, by watching those people play.

After graduating, I spent three years writing C and C++ for network test equipment at JDSU, then two at Harmonia leading a Navy SBIR on software that recommended battle-management plans. In 2012 I moved to astronomy, and I've stayed.

At the Space Telescope Science Institute I worked on the proposal tool every Hubble and Webb observing program is written in, then wrote the control software for HiCAT, a coronagraph testbed for imaging Earth-like planets. At the Smithsonian I led software for the Submillimeter Array on Maunakea for three years, then spent three as technical manager of the Minor Planet Center.

In October 2024 I started Moriarty Engineering. Since then: virtualization and a second backup site for a planetary science data center, and the design for automating observing at a radio observatory, from proposal to archive.

Most days I work alongside coding agents, on open-weight models running on hardware I built. What I want to bring back to science is the part that keeps that safe: a spec before any code, checks a machine can run, and a person reviewing every merge.

Chris Moriarty on the summit of Maunakea, with Submillimeter Array antennas behind him
Maunakea, with the Submillimeter Array behind me.
Résumé

The two-page version, with every role and date.

Download résumé (PDF)

Education
M.S. 2007Intelligent Systems, University of Central Florida. Thesis: Learning Human Behavior from Observation for Gaming Applications.
B.S. 2005Computer Engineering, University of Central Florida.
Publications
  • HiCAT 6: software control infrastructure and calibrationMoriarty, C., Brooks, K., Soummer, R., et al. Proc. SPIE 10698, 2018.
  • Learning human behavior from observation for gaming applicationsMoriarty, C., Gonzalez, A. J. Proc. FLAIRS-22, 439–444, 2009.

Further instrumentation papers and abstracts in SPIE and AAS proceedings: ORCID 0000-0002-1757-7573.

Open source
smax-pythonThe Python client for SMA-X, the Submillimeter Array's Redis-based real-time messaging layer. The SMA team still maintains it.
catkitThe Python control library for HiCAT, the Space Telescope Science Institute's coronagraph testbed. I started it in 2017, and the HiCAT team carries the work on in its successor, catkit2.
braidTurns a ticket into a pull request by running a coding agent through a graph of steps, each one checked deterministically instead of taken on the agent's word. OpenSpec and feature branching, with one interface to watch and steer both. MIT, in beta.
trogA self-hosted AI game studio. Give it a one-sentence idea, and a LangGraph state machine takes it through prototypes, milestone builds, alpha, and beta to a playable web game, writing the code and generating the art and music while people watch, steer, and judge. Apache 2.0.
trog-tooTrog rebuilt from scratch on a resident vLLM model (Qwen3.8-27B), and spec-driven from the first commit: every change starts as an OpenSpec proposal and is validated in CI. MIT.
freedokuAn offline-first sudoku app with no account and no server. Every puzzle has a unique solution and never needs a guess. Built with opencode on self-hosted models. MIT.

More of my current work is public on my own Forgejo server.