Projects
A5
A note taking app designed to make you more intentional with your notes by simulating the experience of a physical A5 loose-leaf binder. Instead of menus, toolbars, buttons, or tooltips, A5 uses physical features and interactions as affordances so that working with your notes feels natural and intuitive. The skeuomorphic design creates intentional friction to make you more focused, deliberate, and present while working. The limitations of working with physical media, like uneditable ink, unsearchable paper, and fixed page sizes, all serve to boost creativity, retention, and understanding.
BFF
Your best friend forever, a collection of generic backend services to work with any frontend application. Perfect for when your client-only static webapp needs just a tiny bit of a backend but nothing specific. Includes authentication, user-owned blob and key-value storage, a WebRTC signaling server, a SignalR server, and a reminder service for registering scheduled push notifications.
Draught
An app for drafting blog posts, essays, books, and other long-form writing projects. The blog posts on this website were all drafted in Draught.
XYZ
An experimental family of programming languages. X is a single-threaded procedural language similar to C which provides fine control over memory and performance. Y is a functional language with an expressive type system for describing data. Z is a concurrent actor-based language for orchestrating X and Y programs to build scalable distributed systems.