I designed and implemented a Scheme-like programming langauge, optimizing for simplicity.
I made a domain-specific programming language for parsing formal grammars within Swift, hoping to provide a more hands-on way to learn about languages.
I built tools for developers which would allow them to write tests and documentation for their software all in one place, and in the same languages which they use everyday.
I implemented CAD software in Haskell with the goal of making interaction with 3d objects easier.
I designed and built software to help authors generate fully typeset books from regular text documents.
I rethought the graphing calculator, basing its use on a very terse and powerful programming language: APL.
I made an interactive drawer of chemical formulae which can illustrate the structure of any molecule.
I sold a graphing app to thousands of iPad users across the nation. I designed and implemented all functionality.
After talking to a sample of schools, I designed an iPad app to solve the many problems which they had encountered with their existing software and then marketed it to schools across the nation.
I cofounded a tech startup to provide athletes with peer-based learning. I contributed to vision and managed a team of developers
I made a webapp for drag-and-drop file transfer across the internet to allow anyone to bypass the inconveniences of email and flashdrives.
I attempted to derive tactics for solving a Rubik's cube by first analyzing the nature of cube moves and then exploring these interactions through the lens of group theory.
To illustrate the interesting ideas involved in programming languages, I designed and implemented a super simple language in high school algebra and then proved its implementation correct.
I wrote a book exploring computation from first principles, from the formulation of posulates to the simulation, interpretation, and self-hosting of a common programming language.
I started a blog to hold any essays I might write about ideas, aesthetics, or human nature.