Applied AI / Software Engineering

Ethan
Callanan

Loading scene

I believe great design is invisible. Today, AI is hyper-present: sold as the product rather than designed in service of one. I pursue the design of systems where the intelligence is invisible. Software that silently learns and improves. To enhance the user, not replace them.

01

About

Profile

Building systems that learn.

I’m interested in intelligence as a property of systems: how software can preserve experience, adapt over time, and coordinate work.

My background is in AI research and software engineering, spanning inference optimization, test-time compute, automated planning, and financial applications of AI.

Currently, I’m an applied researcher and core platform engineer at Evolver, where I build infrastructure for continually learning agents. My work spans memory systems, agent harnesses, and orchestration for large-scale parallel workloads.

Outside work, I tinker with custom tooling around nixos, neovim, and the terminal. I’m drawn to software that rewards deep use: tools that can be shaped and molded around oneself. I also experiment with personal AI systems, and hardware -- bringing software experiments to life.

My computer is an extension of myself.

02

History

Previous Work
MuLab

Automated Planning

Automated-planning research and open-source tooling for model acquisition and propositional-logic encodings.

Close

During a research internship at MuLab, I worked on model acquisition in automated planning—inferring action models from observed plan traces.

That work included MACQ, a Python toolkit and foundational API for model-acquisition research, and Bauhaus, an open-source library for constructing propositional-logic encodings. I designed and authored MACQ and continue to maintain it alongside Christian Muise.

03

Projects

Selected Projects
Brain-computer interface demonstration
01

BCI Game Controller

A brain-computer-interface game controller built with the OpenBCI Ultracortex Mark IV using BrainFlow.

Signal-processing filters and transforms turn raw electrode readings into features for several machine-learning models. Trained Transformers, CNNs, and simpler ML models, with the best achieving 94.4% accuracy.

Demonstrated at CUCAI 2023 by playing Flappy Bird in front of a live audience.

MACQ planning model
02

MACQ

The Python model acquisition toolkit is a standard library for model-acquisition research in automated planning. I designed and authored the library during a research internship at MuLab and continue to maintain it alongside Christian Muise.

MACQ provides foundational APIs for PDDL problems, traces, and planners, plus implementations of model-acquisition algorithms that infer planning models from complete traces and translate inferred action models back to PDDL.

First page of the Entropy-Gated Branching paper
03

Entropy-Gated Branching

Entropy-Gated Branching for Efficient Test-Time Reasoning is a paper I co-authored with Xianzhi Li, Abdellah Ghassel, and Xiaodan Zhu.

It selectively expands reasoning sequences at high-uncertainty steps, avoiding compute spent on low-diversity branches where a model is already confident. The method improves the quality and diversity of candidate reasoning steps while using test-time computation more efficiently.

Published at EACL 2026.

Praxis forecasting interface
04

Praxis Interface

A data-analysis tool built to help data scientists reason about data that evolves over time. It was used internally by Praxis for financial forecasts covering more than $30B in transactional volume.

Virtual assistant attention detection
05

Attention Detection

VAAD combines face tracking and attention detection as an activation mechanism for virtual assistants. Instead of requiring a wake word, the system explores whether a person can address an assistant more like they would address a coworker.

Neural network implementation
06

Neural Networks from Scratch

Implementations of neural networks and their underlying operations in NumPy and PyTorch. Rebuilding familiar architectures from their primitives is a useful exercise for keeping intuitions sharp and understanding the algorithms beneath high-level frameworks.

EVIM Neovim configuration
07

EVIM

A fast, deeply customized Neovim configuration featuring a custom LLM chat plugin and a broad collection of editing and navigation refinements.

Bauhaus logic library
08

Bauhaus

An open-source Python package for constructing propositional-logic encodings through a concise, composable API.

ecal.dev website
09

ecal.dev

The site you are viewing: a FastAPI and HTMX application whose content is authored in Markdown, with interactive Canvas motion studies.