CourseNotes – Educational Note-Taking Apps for iOS & Mac


A note-taking app for iPad, iPhone & Mac with a focus on education, available in the App Store since the day the iPad launched. CourseNotes supports audio and text notes, and keeps notes synced across devices using iCloud.

Studylicious – Assessment Platform for iPads in the Classroom

Screen Shot 2014-06-15 at 7.36.06 AM

A student assessment platform for iOS devices in the classroom. Studylicious lets educators create lessons and see the results of student performance in educational apps.  There’s also an SDK so that educational app developers can add unified assessment and reporting to their own apps, though that never really took off the ground.

breve – Artificial Life Simulation Toolkit


breve is a free, open-source software package which makes it easy to build 3D simulations of multi-agent systems and artificial life. Using Python, or using a simple scripting language called steve, users define the behaviors of agents in a 3D world and observe how they interact. breve includes physical simulation and collision detection so you can simulate realistic creatures, and an OpenGL display engine to visualize simulated worlds.

I wrote and maintained breve over a number of years to support research on artificial life and evolutionary computation, but unfortunately, I’m no longer maintaining this project, and it suffers from considerable bit-rot (and questionable coding practices of a much younger me).

breve.js – Multiagent Simulation in Coffeescript

breve.js is a simple 2d variation of my breve simulation environment that runs in the browser. Simulations are written in Coffeescript and run right in the browser for real-time experimentation with multi-agent systems. breve.js does not support nearly the same feature set as the original, but lays the foundation for multi-agent simulation toolkit in the browser built on modern technologies.

Roadracemapper – Find Road Races Nearby


A simple tool to find road racing events with a map interface, built out of necessity.  Most race listing sites search only by state and list results by city name, making it difficult to search for races in places you don’t know well.  I was traveling to California, needed to find a race, and it ended up being faster to build this site than to wade through page after page of city names I’d never heard of.


A long while ago now I was involved in research in artificial intelligence, evolutionary computation and simulation. Publications on some of the research I worked on are listed here.